Your browser lacks required capabilities. Please upgrade it or switch to another to continue.
Loading…
// Calculates the current time of day and week day
<<set $hour = Math.floor($time / 60)>>
<<set $minute = $time % 60>>
<<set $weekDay = $weekDays[($day - 1) % 7]>>
<<if $hour >= 3 and $hour < 5>>
<<set $timeOfDay = "Early Morning">>
<<elseif $hour >= 5 and $hour < 9>>
<<set $timeOfDay = "Morning">>
<<elseif $hour >= 9 and $hour < 11>>
<<set $timeOfDay = "Late Morning">>
<<elseif $hour >= 11 and $hour < 13>>
<<set $timeOfDay = "Early Afternoon">>
<<elseif $hour >= 13 and $hour < 17>>
<<set $timeOfDay = "Afternoon">>
<<elseif $hour >= 17 and $hour < 19>>
<<set $timeOfDay = "Late Afternoon">>
<<elseif $hour >= 19 and $hour < 21>>
<<set $timeOfDay = "Evening">>
<<elseif $hour >= 21 or $hour < 1>>
<<set $timeOfDay = "Night">>
<<elseif $hour >= 1 and $hour < 3>>
<<set $timeOfDay = "Late Night">>
<</if>>
<<include "SophiaSchedule">>
<<include "ClairSchedule">>
<<include "NicoleSchedule">>
<<include "MazySchedule">>
<<set _energyBarCalc to $energy / $maxEnergy>>
<<set $energyBarPercentage to _energyBarCalc * 100>><<if $weekDay == "Monday" or $weekDay == "Tuesday" or $weekDay == "Wednesday" or $weekDay == "Thursday" or $weekDay == "Friday">>
<<if $time >= 1320 or $time < 360>>
<<set $Clair.location to "ClairRoom">>
<<elseif $time >= 360 and $time < 420>>
<<set $Clair.location to "ClairRoom">>
<<elseif $time >= 420 and $time < 480>>
<<set $Clair.location to "Kitchen">>
<<elseif $time >= 480 and $time < 540>>
<<set $Clair.location to "Bathroom">>
<<elseif $time >= 540 and $time < 600>>
<<set $Clair.location to "ClairRoom">>
<<elseif $time >= 600 and $time < 660>>
<<set $Clair.location to "Livingroom">>
<<elseif $time >= 660 and $time < 720>>
<<set $Clair.location to "ClairRoom">>
<<elseif $time >= 720 and $time < 780>>
<<set $Clair.location to "Unknown">>
<<elseif $time >= 780 and $time < 840>>
<<set $Clair.location to "Unknown">>
<<elseif $time >= 840 and $time < 900>>
<<set $Clair.location to "Unknown">>
<<elseif $time >= 900 and $time < 960>>
<<set $Clair.location to "Livingroom">>
<<elseif $time >= 960 and $time < 1020>>
<<set $Clair.location to "Kitchen">>
<<elseif $time >= 1020 and $time < 1080>>
<<set $Clair.location to "Bathroom">>
<<elseif $time >= 1080 and $time < 1140>>
<<set $Clair.location to "Livingroom">>
<<elseif $time >= 1140 and $time < 1200>>
<<set $Clair.location to "ClairRoom">>
<<elseif $time >= 1200 and $time < 1260>>
<<set $Clair.location to "Kitchen">>
<<elseif $time >= 1260 and $time < 1320>>
<<set $Clair.location to "ClairRoom">>
<</if>>
<<else>>
<<if $time >= 1320 or $time < 360>>
<<set $Clair.location to "ClairRoom">>
<<elseif $time >= 360 and $time < 420>>
<<set $Clair.location to "ClairRoom">>
<<elseif $time >= 420 and $time < 480>>
<<set $Clair.location to "Bathroom">>
<<elseif $time >= 480 and $time < 540>>
<<set $Clair.location to "Kitchen">>
<<elseif $time >= 540 and $time < 600>>
<<set $Clair.location to "Livingroom">>
<<elseif $time >= 600 and $time < 660>>
<<set $Clair.location to "ClairRoom">>
<<elseif $time >= 660 and $time < 720>>
<<set $Clair.location to "ClairRoom">>
<<elseif $time >= 720 and $time < 780>>
<<set $Clair.location to "Unknown">>
<<elseif $time >= 780 and $time < 840>>
<<set $Clair.location to "Livingroom">>
<<elseif $time >= 840 and $time < 900>>
<<set $Clair.location to "Kitchen">>
<<elseif $time >= 900 and $time < 960>>
<<set $Clair.location to "Unknown">>
<<elseif $time >= 960 and $time < 1020>>
<<set $Clair.location to "Bathroom">>
<<elseif $time >= 1020 and $time < 1080>>
<<set $Clair.location to "Kitchen">>
<<elseif $time >= 1080 and $time < 1140>>
<<set $Clair.location to "Livingroom">>
<<elseif $time >= 1140 and $time < 1200>>
<<set $Clair.location to "ClairRoom">>
<<elseif $time >= 1200 and $time < 1260>>
<<set $Clair.location to "ClairRoom">>
<<elseif $time >= 1260 and $time < 1320>>
<<set $Clair.location to "ClairRoom">>
<</if>>
<</if>><<if $weekDay == "Monday" or $weekDay == "Tuesday" or $weekDay == "Wednesday" or $weekDay == "Thursday" or $weekDay == "Friday">>
<<if $time >= 1320 or $time < 360>>
<<set $Mazy.location to "Unknown">>
<<elseif $time >= 360 and $time < 420>>
<<set $Mazy.location to "Unknown">>
<<elseif $time >= 420 and $time < 480>>
<<set $Mazy.location to "Unknown">>
<<elseif $time >= 480 and $time < 540>>
<<set $Mazy.location to "Unknown">>
<<elseif $time >= 540 and $time < 600>>
<<set $Mazy.location to "Unknown">>
<<elseif $time >= 600 and $time < 660>>
<<set $Mazy.location to "Store">>
<<elseif $time >= 660 and $time < 720>>
<<set $Mazy.location to "Store">>
<<elseif $time >= 720 and $time < 780>>
<<set $Mazy.location to "Store">>
<<elseif $time >= 780 and $time < 840>>
<<set $Mazy.location to "Store">>
<<elseif $time >= 840 and $time < 900>>
<<set $Mazy.location to "Store">>
<<elseif $time >= 900 and $time < 960>>
<<set $Mazy.location to "Store">>
<<elseif $time >= 960 and $time < 1020>>
<<set $Mazy.location to "Store">>
<<elseif $time >= 1020 and $time < 1080>>
<<set $Mazy.location to "Store">>
<<elseif $time >= 1080 and $time < 1140>>
<<set $Mazy.location to "Store">>
<<elseif $time >= 1140 and $time < 1200>>
<<set $Mazy.location to "Store">>
<<elseif $time >= 1200 and $time < 1260>>
<<set $Mazy.location to "Store">>
<<elseif $time >= 1260 and $time < 1320>>
<<set $Mazy.location to "Unknown">>
<</if>>
<<else>>
<<if $time >= 1320 or $time < 360>>
<<set $Mazy.location to "Unknown">>
<<elseif $time >= 360 and $time < 420>>
<<set $Mazy.location to "Unknown">>
<<elseif $time >= 420 and $time < 480>>
<<set $Mazy.location to "Unknown">>
<<elseif $time >= 480 and $time < 540>>
<<set $Mazy.location to "Unknown">>
<<elseif $time >= 540 and $time < 600>>
<<set $Mazy.location to "Unknown">>
<<elseif $time >= 600 and $time < 660>>
<<set $Mazy.location to "Store">>
<<elseif $time >= 660 and $time < 720>>
<<set $Mazy.location to "Store">>
<<elseif $time >= 720 and $time < 780>>
<<set $Mazy.location to "Store">>
<<elseif $time >= 780 and $time < 840>>
<<set $Mazy.location to "Store">>
<<elseif $time >= 840 and $time < 900>>
<<set $Mazy.location to "Store">>
<<elseif $time >= 900 and $time < 960>>
<<set $Mazy.location to "Store">>
<<elseif $time >= 960 and $time < 1020>>
<<set $Mazy.location to "Store">>
<<elseif $time >= 1020 and $time < 1080>>
<<set $Mazy.location to "Store">>
<<elseif $time >= 1080 and $time < 1140>>
<<set $Mazy.location to "Store">>
<<elseif $time >= 1140 and $time < 1200>>
<<set $Mazy.location to "Store">>
<<elseif $time >= 1200 and $time < 1260>>
<<set $Mazy.location to "Store">>
<<elseif $time >= 1260 and $time < 1320>>
<<set $Mazy.location to "Unknown">>
<</if>>
<</if>><<if $weekDay == "Monday" or $weekDay == "Tuesday" or $weekDay == "Wednesday" or $weekDay == "Thursday" or $weekDay == "Friday">>
<<if $time >= 1320 or $time < 360>>
<<set $Nicole.location to "NicoleRoom">>
<<elseif $time >= 360 and $time < 420>>
<<set $Nicole.location to "NicoleRoom">>
<<elseif $time >= 420 and $time < 480>>
<<set $Nicole.location to "Livingroom">>
<<elseif $time >= 480 and $time < 540>>
<<set $Nicole.location to "NicoleRoom">>
<<elseif $time >= 540 and $time < 600>>
<<set $Nicole.location to "Bathroom">>
<<elseif $time >= 600 and $time < 660>>
<<set $Nicole.location to "Unknown">>
<<elseif $time >= 660 and $time < 720>>
<<set $Nicole.location to "Kitchen">>
<<elseif $time >= 720 and $time < 780>>
<<set $Nicole.location to "NicoleRoom">>
<<elseif $time >= 780 and $time < 840>>
<<set $Nicole.location to "NicoleRoom">>
<<elseif $time >= 840 and $time < 900>>
<<set $Nicole.location to "Livingroom">>
<<elseif $time >= 900 and $time < 960>>
<<set $Nicole.location to "Unknown">>
<<elseif $time >= 960 and $time < 1020>>
<<set $Nicole.location to "Unknown">>
<<elseif $time >= 1020 and $time < 1080>>
<<set $Nicole.location to "Kitchen">>
<<elseif $time >= 1080 and $time < 1140>>
<<set $Nicole.location to "Bathroom">>
<<elseif $time >= 1140 and $time < 1200>>
<<set $Nicole.location to "Livingroom">>
<<elseif $time >= 1200 and $time < 1260>>
<<set $Nicole.location to "NicoleRoom">>
<<elseif $time >= 1260 and $time < 1320>>
<<set $Nicole.location to "NicoleRoom">>
<</if>>
<<else>>
<<if $time >= 1320 or $time < 360>>
<<set $Nicole.location to "NicoleRoom">>
<<elseif $time >= 360 and $time < 420>>
<<set $Nicole.location to "NicoleRoom">>
<<elseif $time >= 420 and $time < 480>>
<<set $Nicole.location to "Kitchen">>
<<elseif $time >= 480 and $time < 540>>
<<set $Nicole.location to "Livingroom">>
<<elseif $time >= 540 and $time < 600>>
<<set $Nicole.location to "Bathroom">>
<<elseif $time >= 600 and $time < 660>>
<<set $Nicole.location to "NicoleRoom">>
<<elseif $time >= 660 and $time < 720>>
<<set $Nicole.location to "Unknown">>
<<elseif $time >= 720 and $time < 780>>
<<set $Nicole.location to "Unknown">>
<<elseif $time >= 780 and $time < 840>>
<<set $Nicole.location to "Kitchen">>
<<elseif $time >= 840 and $time < 900>>
<<set $Nicole.location to "NicoleRoom">>
<<elseif $time >= 900 and $time < 960>>
<<set $Nicole.location to "Livingroom">>
<<elseif $time >= 960 and $time < 1020>>
<<set $Nicole.location to "Livingroom">>
<<elseif $time >= 1020 and $time < 1080>>
<<set $Nicole.location to "Unknown">>
<<elseif $time >= 1080 and $time < 1140>>
<<set $Nicole.location to "NicoleRoom">>
<<elseif $time >= 1140 and $time < 1200>>
<<set $Nicole.location to "Kitchen">>
<<elseif $time >= 1200 and $time < 1260>>
<<set $Nicole.location to "Bathroom">>
<<elseif $time >= 1260 and $time < 1320>>
<<set $Nicole.location to "NicoleRoom">>
<</if>>
<</if>><<if $weekDay == "Monday" or $weekDay == "Tuesday" or $weekDay == "Wednesday" or $weekDay == "Thursday" or $weekDay == "Friday">>
<<if $time >= 1320 or $time < 360>>
<<set $Sophia.location to "SophiaRoom">>
<<if $CharQuests.sophia.sophiaBreakQuest1.status is "active">>
<<set $Sophia.location to "SophiaOffice">>
<</if>>
<<elseif $time >= 360 and $time < 420>>
<<set $Sophia.location to "SophiaRoom">>
<<elseif $time >= 420 and $time < 480>>
<<set $Sophia.location to "Bathroom">>
<<elseif $time >= 480 and $time < 540>>
<<set $Sophia.location to "Kitchen">>
<<elseif $time >= 540 and $time < 600>>
<<set $Sophia.location to "Livingroom">>
<<elseif $time >= 600 and $time < 660>>
<<set $Sophia.location to "Kitchen">>
<<elseif $time >= 660 and $time < 720>>
<<set $Sophia.location to "SophiaOffice">>
<<elseif $time >= 720 and $time < 780>>
<<set $Sophia.location to "Livingroom">>
<<elseif $time >= 780 and $time < 840>>
<<set $Sophia.location to "SophiaRoom">>
<<elseif $time >= 840 and $time < 900>>
<<set $Sophia.location to "SophiaRoom">>
<<elseif $time >= 900 and $time < 960>>
<<set $Sophia.location to "Kitchen">>
<<elseif $time >= 960 and $time < 1020>>
<<set $Sophia.location to "Bathroom">>
<<elseif $time >= 1020 and $time < 1080>>
<<set $Sophia.location to "SophiaRoom">>
<<elseif $time >= 1080 and $time < 1140>>
<<set $Sophia.location to "Kitchen">>
<<elseif $time >= 1140 and $time < 1200>>
<<set $Sophia.location to "Kitchen">>
<<if $CharQuests.sophia.sophiaBreakQuest1.status is "active">>
<<set $Sophia.location to "SophiaOffice">>
<</if>>
<<elseif $time >= 1200 and $time < 1260>>
<<set $Sophia.location to "Livingroom">>
<<if $CharQuests.sophia.sophiaBreakQuest1.status is "active">>
<<set $Sophia.location to "SophiaOffice">>
<</if>>
<<elseif $time >= 1260 and $time < 1320>>
<<set $Sophia.location to "SophiaRoom">>
<<if $CharQuests.sophia.sophiaBreakQuest1.status is "active">>
<<set $Sophia.location to "SophiaOffice">>
<</if>>
<</if>>
<<else>>
<<if $time >= 1320 or $time < 360>>
<<set $Sophia.location to "SophiaRoom">>
<<elseif $time >= 360 and $time < 420>>
<<set $Sophia.location to "SophiaRoom">>
<<elseif $time >= 420 and $time < 480>>
<<set $Sophia.location to "SophiaRoom">>
<<elseif $time >= 480 and $time < 540>>
<<set $Sophia.location to "Bathroom">>
<<elseif $time >= 540 and $time < 600>>
<<set $Sophia.location to "Kitchen">>
<<elseif $time >= 600 and $time < 660>>
<<set $Sophia.location to "Livingroom">>
<<elseif $time >= 660 and $time < 720>>
<<set $Sophia.location to "Livingroom">>
<<elseif $time >= 720 and $time < 780>>
<<set $Sophia.location to "SophiaRoom">>
<<elseif $time >= 780 and $time < 840>>
<<set $Sophia.location to "SophiaRoom">>
<<elseif $time >= 840 and $time < 900>>
<<set $Sophia.location to "Livingroom">>
<<elseif $time >= 900 and $time < 960>>
<<set $Sophia.location to "Unknown">>
<<elseif $time >= 960 and $time < 1020>>
<<set $Sophia.location to "Kitchen">>
<<elseif $time >= 1020 and $time < 1080>>
<<set $Sophia.location to "Unknown">>
<<elseif $time >= 1080 and $time < 1140>>
<<set $Sophia.location to "Bathroom">>
<<elseif $time >= 1140 and $time < 1200>>
<<set $Sophia.location to "Livingroom">>
<<elseif $time >= 1200 and $time < 1260>>
<<set $Sophia.location to "Kitchen">>
<<elseif $time >= 1260 and $time < 1320>>
<<set $Sophia.location to "SophiaRoom">>
<</if>>
<</if>><div class="mi-wrap">
<div class="mi-section">
<div class="mi-head">The Game</div>
<p class="mi-text"><strong>Twisted City</strong> is a free adult HTML narrative game. It's my personal project that I've been working on for some time. </p>
<p class="mi-text">You play a nobody who stumbles into a deal with a demon, and slowly discovers that the family he lives with — and the city around him — are far more twisted than they first appear.</p>
</div>
<div class="mi-section">
<div class="mi-head">Build Info</div>
<div class="mi-row"><span class="mi-row-key">Version</span><span class="mi-row-val">v0.0.4</span></div>
<div class="mi-row"><span class="mi-row-key">Status</span><span class="mi-row-val">Alpha Build</span></div>
<div class="mi-row"><span class="mi-row-key">Engine</span><span class="mi-row-val">Twine / SugarCube 2.30.0</span></div>
<div class="mi-row"><span class="mi-row-key">Platform</span><span class="mi-row-val">Desktop & Mobile Browsers</span></div>
</div>
<div class="mi-section mi-warn">
<div class="mi-head">Content Warning</div>
<p class="mi-text">This is a work of adult fiction intended for mature audiences only. It contains explicit sexual content, vulgar language, and themes of dominance, submission, and other related fantasy scenarios.</p>
<p class="mi-text">All characters depicted are 21 years of age or older. Everything in this game is fiction and is not intended to reflect, endorse, or encourage real-world behavior.</p>
</div>
<div class="mi-section">
<div class="mi-head">Disclaimer</div>
<p class="mi-text">Saves may not carry over between versions. Many scenes and routes are still unfinished. This is an early build and is subject to change without notice.</p>
</div>
<div class="mi-foot">TWISTED CITY · ALPHA BUILD</div>
</div><div class="cl-wrap">
<details class="cl-ver" open>
<summary class="cl-vhead">
<span class="cl-v">v0.0.4</span>
<span class="cl-name">Alot of new content.</span>
<span class="cl-date">2026-11-11</span>
</summary>
<ul>
<li class="cl-item" data-type="new"><span class="cl-chip">NEW</span>Twisted City now has an official SubscribeStar Adult page: <a href="https://subscribestar.adult/twisted-developer" target="_blank">SubscribeStar</a></li>
<li class="cl-item" data-type="new"><span class="cl-chip">NEW</span>Added Quest Log page for easier tracking.</li>
<li class="cl-item" data-type="new"><span class="cl-chip">NEW</span>1 new Clair quest: The Morales Party.</li>
<li class="cl-item" data-type="new"><span class="cl-chip">NEW</span>3 new Sophia quests: Naked Breakfast; Attic Search; The Missing Jewel.</li>
<li class="cl-item" data-type="new"><span class="cl-chip">NEW</span>1 new Sophia event: Help Cook.</li>
<li class="cl-item" data-type="new"><span class="cl-chip">NEW</span>Sophia Lust Level 3 is unlockable.</li>
<li class="cl-item" data-type="new"><span class="cl-chip">NEW</span>2 new Sophia actions: Handjob & Footjob.</li>
<li class="cl-item" data-type="new"><span class="cl-chip">NEW</span>New Yoga scene with Sophia at Lust Level 3.</li>
<li class="cl-item" data-type="fixed"><span class="cl-chip">FIXED</span>A bug where it says Mazy is in the house (during weekends) is gone.</li>
<li class="cl-item" data-type="fixed"><span class="cl-chip">FIXED</span>Working out unlimited times per day in the gym patched.</li>
<li class="cl-item" data-type="fixed"><span class="cl-chip">FIXED</span>Energy bar percentage now works as it should.</li>
<li class="cl-item" data-type="fixed"><span class="cl-chip">FIXED</span>5 smaller bugs.</li>
<li class="cl-item" data-type="changed"><span class="cl-chip">CHANGED</span>Discord server revamp.</li>
</ul>
</details>
<details class="cl-ver">
<summary class="cl-vhead">
<span class="cl-v">v0.0.3</span>
<span class="cl-name">Sophia & Mazy</span>
<span class="cl-date">2026-10-26</span>
</summary>
<ul>
<li class="cl-item" data-type="new"><span class="cl-chip">NEW</span>Intro Quest to a new character: Mazy, the shop owner's daughter.</li>
<li class="cl-item" data-type="new"><span class="cl-chip">NEW</span>Longer Sophia quest: The Ex Returns -> with a new sex scene. <div class="cl-images"><img src="assets/Screenshots/cl3_img2.webp"/></div></li>
<li class="cl-item" data-type="new"><span class="cl-chip">NEW</span>Added new Sophia repeatable event: Yoga. <div class="cl-images"><img src="assets/Screenshots/cl3_img3.webp"/></div></li>
<li class="cl-item" data-type="fixed"><span class="cl-chip">FIXED</span>4 Smaller bugs.</li>
<li class="cl-item" data-type="known"><span class="cl-chip">KNOWN</span>Max Lust Level is still 2; NEW character quests.</li>
<li class="cl-item" data-type="known"><span class="cl-chip">KNOWN</span>Join Discord server for updates, support and free Cheat Codes!</li>
</ul>
</details>
<details class="cl-ver">
<summary class="cl-vhead">
<span class="cl-v">v0.0.2</span>
<span class="cl-name">Menu overhaul, Cheat Menu, Garden</span>
<span class="cl-date">2026-10-13</span>
</summary>
<ul>
<li class="cl-item" data-type="new"><span class="cl-chip">NEW</span>Added Changelog, About and Support pages.</li>
<li class="cl-item" data-type="new"><span class="cl-chip">NEW</span>New Location: Garden. <div class="cl-images"><img src="assets/Locations/House/garden.webp"/><img src="assets/Screenshots/garden_actions.webp"/></div></li>
<li class="cl-item" data-type="new"><span class="cl-chip">NEW</span>Cheat Menu with better cheats!</li>
<li class="cl-item" data-type="new"><span class="cl-chip">NEW</span>1 new Garden Work random event. <div class="cl-images"><img src="assets/Screenshots/garden_hose_event.webp"/></div></li>
<li class="cl-item" data-type="new"><span class="cl-chip">NEW</span>Bathroom Action: Practice talking and improve charisma!</li>
<li class="cl-item" data-type="new"><span class="cl-chip">NEW</span>1 New Upstairs hallway random event.</li>
<li class="cl-item" data-type="new"><span class="cl-chip">NEW</span>1 New Kitchen random event (triggers between 21:00 and 23:59).</li>
<li class="cl-item" data-type="changed"><span class="cl-chip">CHANGED</span>Redesigned the whole Main Menu.</li>
<li class="cl-item" data-type="changed"><span class="cl-chip">CHANGED</span>Age warning page restyled to match the menu.</li>
<li class="cl-item" data-type="changed"><span class="cl-chip">CHANGED</span>Added clearer instructions and thresholds for some actions.</li>
<li class="cl-item" data-type="fixed"><span class="cl-chip">FIXED</span>1 major bug and 3 smaller ones.</li>
<li class="cl-item" data-type="known"><span class="cl-chip">KNOWN</span>Max Lust Level is still 2; No new character quests.</li>
<li class="cl-item" data-type="known"><span class="cl-chip">KNOWN</span>Join Discord server for updates, support and free Cheat Codes!</li>
</ul>
</details>
<details class="cl-ver">
<summary class="cl-vhead">
<span class="cl-v">v0.0.1</span>
<span class="cl-name">Initial release</span>
<span class="cl-date">2026-09-29</span>
</summary>
<ul>
<li class="cl-item" data-type="known"><span class="cl-chip">KNOWN</span>Max Lust Level is 2.</li>
<li class="cl-item" data-type="known"><span class="cl-chip">KNOWN</span>Saves may not carry over between versions.</li>
<li class="cl-item" data-type="known"><span class="cl-chip">KNOWN</span>Many scenes and routes are unfinished.</li>
</ul>
</details>
</div>
<style>
/* dialog frame */
#ui-dialog:has(.cl-dialog){width:min(640px,94vw);background:rgba(8,14,22,.97);border:1px solid rgba(41,128,185,.35);box-shadow:0 20px 60px rgba(0,0,0,.7)}
#ui-dialog:has(.cl-dialog) #ui-dialog-titlebar{background:transparent;border-bottom:1px solid rgba(41,128,185,.2)}
#ui-dialog:has(.cl-dialog) #ui-dialog-title{font-family:'Rajdhani',sans-serif;font-weight:700;font-size:22px;letter-spacing:8px;text-transform:uppercase;color:#e6f0f5}
#ui-dialog:has(.cl-dialog) #ui-dialog-close{color:#7a9aaa;background:transparent;border:none}
#ui-dialog:has(.cl-dialog) #ui-dialog-close:hover{color:#1abc9c}
#ui-dialog-body.cl-dialog{background:transparent;border:none;scrollbar-width:thin;scrollbar-color:#2980b9 transparent}
/* versions */
.cl-wrap{padding:6px 4px}
.cl-ver{margin-bottom:18px;padding-left:16px;border-left:3px solid rgba(41,128,185,.4)}
.cl-ver[open]{border-left-color:#1abc9c}
.cl-ver:last-child{margin-bottom:0}
/* version header (clickable) */
.cl-vhead{position:relative;display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 14px;padding-right:26px;cursor:pointer;list-style:none;font-family:'Rajdhani',sans-serif}
.cl-vhead::-webkit-details-marker{display:none}
.cl-vhead::after{content:'+';position:absolute;right:0;top:0;font-size:20px;line-height:1;color:#2980b9}
.cl-ver[open] > .cl-vhead::after{content:'–';color:#1abc9c}
.cl-vhead:hover .cl-v{color:#1abc9c}
.cl-v{font-weight:700;font-size:22px;letter-spacing:2px;color:#e6f0f5;transition:color .2s}
.cl-name{font-weight:500;font-size:18px;letter-spacing:1px;color:#8faec2}
.cl-date{margin-left:auto;font-family:'Share Tech Mono',monospace;font-size:14px;color:#5e7a8a}
/* entries */
.cl-ver ul{list-style:none;margin:0;padding:8px 0 0}
.cl-item{display:flex;align-items:flex-start;gap:12px;padding:4px 0;font-family:'Share Tech Mono',monospace;font-size:16px;line-height:1.6;color:#a9c1cf; margin-bottom: 10px;}
.cl-chip{flex:0 0 72px;text-align:center;font-size:10px;letter-spacing:1px;padding:2px 0;margin-top:2px;border:1px solid}
.cl-item[data-type="new"] .cl-chip{color:#1abc9c;border-color:rgba(26,188,156,.5);background:rgba(26,188,156,.08)}
.cl-item[data-type="changed"] .cl-chip{color:#3498db;border-color:rgba(52,152,219,.5);background:rgba(52,152,219,.08)}
.cl-item[data-type="fixed"] .cl-chip{color:#9b59b6;border-color:rgba(155,89,182,.5);background:rgba(155,89,182,.08)}
.cl-item[data-type="known"] .cl-chip{color:#f0b429;border-color:rgba(240,180,41,.5);background:rgba(240,180,41,.08)}
.cl-images{
display:block;
flex-wrap:wrap;
gap:4px;
margin-top:4px;
}
img{
width: 80%;
border: 1px solid rgb(26,188,156);
border-radius: 4px;
}
@media (max-width:600px){.cl-chip{flex-basis:62px}.cl-date{margin-left:0;flex-basis:100%}}
</style><div class="mi-wrap">
<div class="mi-section">
<div class="mi-head">Development</div>
<div class="mi-row"><span class="mi-row-key">Creator</span><span class="mi-row-val">Twisted Developer</span></div>
<div class="mi-row"><span class="mi-row-key">Writing</span><span class="mi-row-val">You</span></div>
<div class="mi-row"><span class="mi-row-key">Design</span><span class="mi-row-val">You</span></div>
<div class="mi-row"><span class="mi-row-key">Programming</span><span class="mi-row-val">You</span></div>
</div>
<div class="mi-section">
<div class="mi-head">Art & Assets</div>
<div class="mi-row"><span class="mi-row-key">Character Art</span><span class="mi-row-val">See in-game asset credits</span></div>
<div class="mi-row"><span class="mi-row-key">Backgrounds</span><span class="mi-row-val">See in-game asset credits</span></div>
<div class="mi-row"><span class="mi-row-key">UI Design</span><span class="mi-row-val">You</span></div>
</div>
<div class="mi-section">
<div class="mi-head">Engine & Tools</div>
<div class="mi-row"><span class="mi-row-key">Engine</span><span class="mi-row-val">Twine / SugarCube 2.30.0</span></div>
<div class="mi-row"><span class="mi-row-key">Fonts</span><span class="mi-row-val">Rajdhani & Share Tech Mono (Google Fonts)</span></div>
</div>
<div class="mi-section">
<div class="mi-head">Special Thanks</div>
<ul class="mi-list">
<li>Everyone in the Discord server for the feedback, bug reports, and unhinged theories.</li>
<li>Early supporters who played through the alpha and kept going anyway.</li>
<li>Anyone who ever reported a typo. You are the real MVPs.</li>
</ul>
</div>
<div class="mi-foot">MADE BY TWISTED DEVELOPER · BUILT ON TWINE</div>
</div><<run UIBar.hide()>>
<div class="mm-bg" style="background-image:url('assets/General/mainmenu_img.webp')"></div>
<div class="mm-shade"></div>
<div class="mm-root">
<div class="mm-left">
<div class="mm-title">
<div class="mm-title-sub">◆ ADULT NARRATIVE ◆</div>
<div class="mm-title-main">TWISTED<br>CITY</div>
<div class="mm-title-line"></div>
</div>
<div class="mm-btns">
<div class="mm-btn mm-primary"><<link "START" "MainMenuP2">><</link>></div>
<div class="mm-btn"><<link "CONTINUE">><<run UI.saves()>><</link>></div>
<div class="mm-btn"><<link "CHANGELOG">><<run Dialog.setup("Changelog", "cl-dialog"); Dialog.wiki(Story.get("Changelog").processText()); Dialog.open();>><</link>></div>
<div class="mm-btn"><<link "ABOUT">><<run Dialog.setup("About", "mi-dialog"); Dialog.wiki(Story.get("About").processText()); Dialog.open();>><</link>></div>
<div class="mm-btn creditsHidden"><<link "CREDITS">><<run Dialog.setup("Credits", "mi-dialog"); Dialog.wiki(Story.get("Credits").processText()); Dialog.open();>><</link>></div>
<div class="mm-btn"><<link "SUPPORT">><<run Dialog.setup("Support", "mi-dialog"); Dialog.wiki(Story.get("Support").processText()); Dialog.open();>><</link>></div>
</div>
</div>
<div class="mm-footer">TWISTED CITY · ALPHA BUILD · SAVES MAY NOT CARRY OVER</div>
</div>
<style>
@import url('https://fonts.googleapis.com/css2?family=Rajdhani:wght@500;600;700&family=Share+Tech+Mono&display=swap');
.mm-bg{position:fixed;inset:0;background-size:cover;background-position:center right;filter:brightness(.7) saturate(.9);z-index:0;animation:mmZoom 30s ease-in-out infinite alternate}
@keyframes mmZoom{from{transform:scale(1)}to{transform:scale(1.07)}}
.mm-shade{position:fixed;inset:0;z-index:1;pointer-events:none;
background:
linear-gradient(90deg,rgba(3,7,12,.97) 0%,rgba(3,7,12,.85) 32%,rgba(3,7,12,.25) 65%,rgba(3,7,12,.1) 100%),
linear-gradient(0deg,rgba(3,7,12,.8) 0%,transparent 25%)}
.mm-root{position:fixed;inset:0;z-index:2;display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden;font-family:'Rajdhani',sans-serif;animation:mmIn .9s ease-out both;scrollbar-width:thin;scrollbar-color:#2980b9 transparent}
@keyframes mmIn{from{opacity:0}to{opacity:1}}
/* left column */
.mm-left{position:relative;margin:auto 0 auto clamp(24px,6vw,100px);padding:56px 0 16px;width:min(340px,80vw);display:flex;flex-direction:column;gap:clamp(18px,4vh,40px)}
.mm-title-sub{font-family:'Share Tech Mono',monospace;font-size:clamp(9px,1.4vh,12px);letter-spacing:4px;color:#2980b9;margin-bottom:8px}
.mm-title-main{font-weight:700;font-size:clamp(40px,10vh,88px);line-height:.9;letter-spacing:6px;color:#e6f0f5;text-shadow:0 0 30px rgba(41,128,185,.5)}
.mm-title-line{width:90px;height:3px;margin-top:14px;background:linear-gradient(90deg,#2980b9,#1abc9c)}
/* buttons */
.mm-btns{display:flex;flex-direction:column;gap:clamp(4px,1vh,8px)}
.mm-btn a{display:block;padding:0 18px;height:clamp(34px,5.8vh,48px);line-height:clamp(34px,5.8vh,48px);
font-size:clamp(14px,2.3vh,19px);font-weight:600;letter-spacing:5px;color:#9fb8c6;text-decoration:none;
background:rgba(10,18,28,.55);border-left:3px solid rgba(41,128,185,.35);
transition:all .2s ease}
.mm-btn a:hover{color:#fff;background:linear-gradient(90deg,rgba(41,128,185,.35),rgba(10,18,28,.4));
border-left-color:#1abc9c;padding-left:28px;letter-spacing:6px}
.mm-primary a{color:#e6f0f5;background:linear-gradient(90deg,rgba(41,128,185,.4),rgba(10,18,28,.5));border-left-color:#1abc9c;font-size:clamp(16px,2.8vh,22px)}
/* badge */
.mm-badge{position:absolute;top:clamp(12px,3vh,26px);right:clamp(12px,3vw,32px)}
.mm-badge a{font-family:'Share Tech Mono',monospace;font-size:11px;letter-spacing:2px;color:#f0b429;text-decoration:none;
padding:7px 14px;border:1px solid rgba(240,180,41,.4);background:rgba(10,18,28,.7);transition:all .2s}
.mm-badge a:hover{background:rgba(240,180,41,.15);border-color:#f0b429}
/* footer */
.mm-footer{position:static;flex-shrink:0;padding:12px 16px 16px;text-align:center;font-family:'Share Tech Mono',monospace;font-size:10px;letter-spacing:3px;color:rgba(122,154,170,.45)}
/* strip default link styling inside menu */
.mm-root a.macro-link{border-bottom:none}
@media (max-width:600px){.mm-left{margin:auto;align-items:stretch}.mm-shade{background:rgba(3,7,12,.82)}}
#ui-dialog:has(.mi-dialog){
width:min(620px,94vw);
background:rgba(8,14,22,.97);
border:1px solid rgba(41,128,185,.35);
box-shadow:0 20px 60px rgba(0,0,0,.75);
}
#ui-dialog:has(.mi-dialog) #ui-dialog-titlebar{background:transparent;border-bottom:1px solid rgba(41,128,185,.2)}
#ui-dialog:has(.mi-dialog) #ui-dialog-title{
font-family:'Rajdhani',sans-serif;font-weight:700;font-size:22px;letter-spacing:8px;
text-transform:uppercase;color:#e6f0f5;
}
#ui-dialog:has(.mi-dialog) #ui-dialog-close{color:#7a9aaa;background:transparent;border:none}
#ui-dialog:has(.mi-dialog) #ui-dialog-close:hover{color:#1abc9c}
#ui-dialog-body.mi-dialog{
background:transparent;border:none;
scrollbar-width:thin;scrollbar-color:#2980b9 transparent;
}
#ui-dialog-body.mi-dialog::-webkit-scrollbar{width:8px}
#ui-dialog-body.mi-dialog::-webkit-scrollbar-track{background:transparent}
#ui-dialog-body.mi-dialog::-webkit-scrollbar-thumb{background:#2980b9}
.mi-wrap{padding:4px 2px;font-family:'Share Tech Mono',monospace;font-size:16px;line-height:1.75;color:#a9c1cf}
.mi-section{margin-bottom:18px;padding-left:16px;border-left:3px solid rgba(41,128,185,.4)}
.mi-section:last-child{margin-bottom:0}
.mi-section.mi-warn{border-left-color:rgba(240,180,41,.55)}
.mi-head{
font-family:'Rajdhani',sans-serif;font-weight:700;font-size:20px;letter-spacing:4px;
text-transform:uppercase;color:#1abc9c;margin-bottom:8px;
}
.mi-warn .mi-head{color:#f0b429}
.mi-text{margin:0 0 8px}
.mi-text:last-child{margin-bottom:0}
.mi-text strong{color:#e6f0f5;font-weight:400}
.mi-list{list-style:none;margin:0;padding:0}
.mi-list li{padding-left:16px;position:relative}
.mi-list li::before{content:'\203A';position:absolute;left:0;color:#2980b9}
.mi-row{display:flex;gap:12px;padding:4px 0;border-bottom:1px solid rgba(41,128,185,.07)}
.mi-row:last-child{border-bottom:none}
.mi-row-key{
flex:0 0 120px;color:#5e7a8a;text-transform:uppercase;font-size:16px;
letter-spacing:2px;padding-top:3px;
}
.mi-row-val{flex:1;color:#a9c1cf}
.mi-tag{
display:inline-block;font-family:'Rajdhani',sans-serif;font-weight:600;
font-size:16px;letter-spacing:2px;padding:2px 8px;margin-right:6px;
border:1px solid rgba(26,188,156,.5);background:rgba(26,188,156,.08);color:#1abc9c;
}
.mi-tag--warn{border-color:rgba(240,180,41,.5);background:rgba(240,180,41,.08);color:#f0b429}
.mi-link{color:#1abc9c;text-decoration:none;border-bottom:1px dotted rgba(26,188,156,.45);transition:color .2s}
.mi-link:hover{color:#48d7b4}
.mi-foot{
margin-top:8px;padding-top:12px;border-top:1px solid rgba(41,128,185,.15);
text-align:center;font-size:10px;letter-spacing:3px;color:rgba(122,154,170,.5);
}
.creditsHidden{
display: none;
}
</style><<run UIBar.hide()>>
<div class="ng-bg" style="background-image:url('assets/General/mainmenu_img.webp')"></div>
<div class="ng-shade"></div>
<div class="ng-root">
<div class="ng-left">
<div class="ng-title">
<div class="ng-title-sub">◆ TWISTED CITY ◆</div>
<div class="ng-title-main">NEW GAME</div>
<div class="ng-title-line"></div>
</div>
<div class="ng-field">
<label class="ng-label" for="ng-name">DISPLAY NAME</label>
<input class="ng-input" id="ng-name" type="text" maxlength="20" placeholder="Enter your name" autocomplete="off">
<div class="ng-hint">Leave blank to be called <strong>John</strong>.</div>
</div>
<div class="ng-btns">
<div class="ng-btn ng-primary"><a id="ng-start">START</a></div>
<div class="ng-btn"><a id="ng-skip-start">SKIP INTRO</a></div>
<div class="ng-btn ng-back"><a data-passage="MainMenu">← BACK</a></div>
</div>
</div>
<div class="ng-footer">TWISTED CITY · ALPHA BUILD</div>
</div>
<style>
@import url('https://fonts.googleapis.com/css2?family=Rajdhani:wght@500;600;700&family=Share+Tech+Mono&display=swap');
.ng-bg{position:fixed;inset:0;background-size:cover;background-position:center right;filter:brightness(.7) saturate(.9);z-index:0}
.ng-shade{position:fixed;inset:0;z-index:1;pointer-events:none;
background:
linear-gradient(90deg,rgba(3,7,12,.97) 0%,rgba(3,7,12,.85) 32%,rgba(3,7,12,.25) 65%,rgba(3,7,12,.1) 100%),
linear-gradient(0deg,rgba(3,7,12,.8) 0%,transparent 25%)}
.ng-root{position:fixed;inset:0;z-index:2;display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden;font-family:'Rajdhani',sans-serif;animation:ngIn .7s ease-out both;scrollbar-width:thin;scrollbar-color:#2980b9 transparent}
@keyframes ngIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
/* left column */
.ng-left{position:relative;margin:auto 0 auto clamp(24px,6vw,100px);padding:24px 0 16px;width:min(340px,80vw);display:flex;flex-direction:column;gap:clamp(16px,3.5vh,32px)}
.ng-title-sub{font-family:'Share Tech Mono',monospace;font-size:clamp(9px,1.4vh,12px);letter-spacing:4px;color:#2980b9;margin-bottom:8px}
.ng-title-main{font-weight:700;font-size:clamp(34px,8vh,64px);line-height:.95;letter-spacing:6px;color:#e6f0f5;text-shadow:0 0 30px rgba(41,128,185,.5)}
.ng-title-line{width:90px;height:3px;margin-top:14px;background:linear-gradient(90deg,#2980b9,#1abc9c)}
/* name field */
.ng-label{display:block;font-family:'Share Tech Mono',monospace;font-size:11px;letter-spacing:4px;color:#2980b9;margin-bottom:8px}
.ng-input{width:100%;box-sizing:border-box;height:46px;padding:0 16px;font-family:'Rajdhani',sans-serif;font-size:19px;font-weight:600;letter-spacing:3px;color:#e6f0f5;
background:rgba(10,18,28,.7);border:1px solid rgba(41,128,185,.3);border-left:3px solid rgba(41,128,185,.5);outline:none;transition:all .2s}
.ng-input::placeholder{color:#5e7a8a;letter-spacing:2px;font-weight:500}
.ng-input:focus{border-color:#1abc9c;background:rgba(10,18,28,.9);box-shadow:0 0 20px rgba(26,188,156,.15)}
.ng-hint{margin-top:8px;font-family:'Share Tech Mono',monospace;font-size:11px;line-height:1.5;color:#5e7a8a}
.ng-hint strong{color:#8faec2;font-weight:400}
/* buttons */
.ng-btns{display:flex;flex-direction:column;gap:clamp(4px,1vh,8px)}
.ng-btn a{display:block;cursor:pointer;padding:0 18px;height:clamp(34px,5.8vh,48px);line-height:clamp(34px,5.8vh,48px);
font-size:clamp(14px,2.3vh,19px);font-weight:600;letter-spacing:5px;color:#9fb8c6;text-decoration:none;border-bottom:none;
background:rgba(10,18,28,.55);border-left:3px solid rgba(41,128,185,.35);transition:all .2s ease}
.ng-btn a:hover{color:#fff;background:linear-gradient(90deg,rgba(41,128,185,.35),rgba(10,18,28,.4));border-left-color:#1abc9c;padding-left:28px;letter-spacing:6px}
.ng-primary a{color:#e6f0f5;background:linear-gradient(90deg,rgba(41,128,185,.4),rgba(10,18,28,.5));border-left-color:#1abc9c;font-size:clamp(16px,2.8vh,22px)}
.ng-back{margin-top:clamp(4px,1.5vh,12px)}
.ng-back a{font-size:clamp(12px,1.9vh,15px);color:#5e7a8a}
.ng-footer{flex-shrink:0;padding:12px 16px 16px;text-align:center;font-family:'Share Tech Mono',monospace;font-size:10px;letter-spacing:3px;color:rgba(122,154,170,.45)}
@media (max-width:600px){.ng-left{margin:auto}.ng-shade{background:rgba(3,7,12,.82)}}
</style>
<<script>>
function ngGo(passage) {
var name = ($('#ng-name').val() || '').trim();
State.variables.playerName = name.length > 0 ? name : "John";
Engine.play(passage);
}
$(document).off('click.ng keydown.ng');
$(document).on('click.ng', '#ng-start', function () { ngGo("IntroHouse"); });
$(document).on('click.ng', '#ng-skip-start', function () { ngGo("IntroDream"); });
$(document).on('keydown.ng', '#ng-name', function (e) {
if (e.key === 'Enter') ngGo("IntroHouse");
});
<</script>><div class="mi-wrap">
<div class="mi-section">
<div class="mi-head">Support the Project</div>
<p class="mi-text">This game is a one-person project and every bit of support is a huge motivation for me. If you want to see where this is going, supporting is the fastest way to get there.</p>
<p class="mi-text"><a class="mi-link" href="https://subscribestar.adult/twisted-developer" target="_blank">SubscribeStar - Twisted Developer</a></p>
</div>
<div class="mi-section">
<div class="mi-head">Join the Community</div>
<p class="mi-text">The Discord is where everything happens — devlogs, polls, cheat codes, early previews...</p>
<p class="mi-text"><a class="mi-link" href="https://discord.gg/4ppPFCVeps" target="_blank">discord.gg/4ppPFCVeps</a></p>
</div>
<div class="mi-section">
<div class="mi-head">Feedback & Bug Reports</div>
<p class="mi-text">Found a bug? Got an idea? Think a scene could be better? Tell me. The game is built on player feedback and I read everything.</p>
<ul class="mi-list">
<li>Report bugs in the Discord #bug-reports channel.</li>
<li>Suggest scenes, characters, or systems in #suggestions.</li>
</ul>
</div>
<div class="mi-section roadmap">
<div class="mi-head">Roadmap Preview</div>
<ul class="mi-list">
<li>Full route for all four main characters.</li>
<li>Expanded city hub with new locations.</li>
<li>Animated scenes for every major encounter.</li>
<li>Save migration between builds.</li>
<li>Mobile-first UI pass.</li>
</ul>
</div>
<div class="mi-foot">TWISTED CITY · THANK YOU FOR PLAYING</div>
</div>
<style>
.roadmap{
display: none;
}
</style><<run UIBar.hide()>>
<div class="sw-bg" style="background-image:url('assets/General/mainmenu_img.webp')"></div>
<div class="sw-shade"></div>
<div class="sw-root">
<div class="sw-card">
<div class="sw-icon">⚠</div>
<div class="sw-title">ADULT CONTENT WARNING</div>
<div class="sw-line"></div>
<p class="sw-text">
This is a work of adult fiction intended for mature audiences only. It contains explicit sexual content, vulgar language, and themes of dominance, submission and other related fantasy scenarios. All characters are 21 years of age or older.
</p>
<ul class="sw-list">
<li>I am at least 18 years old.</li>
<li>I consent to viewing explicit content.</li>
<li>I understand this is fiction only.</li>
</ul>
<div class="sw-btns">
<a class="sw-enter" data-passage="MainMenu">I AGREE · ENTER</a>
<a class="sw-leave" href="https://www.google.com">LEAVE</a>
</div>
</div>
</div>
<style>
@import url('https://fonts.googleapis.com/css2?family=Rajdhani:wght@500;600;700&family=Share+Tech+Mono&display=swap');
.sw-bg{position:fixed;inset:0;background-size:cover;background-position:center;filter:blur(3px) brightness(.35) saturate(.8);transform:scale(1.06);z-index:0}
.sw-shade{position:fixed;inset:0;z-index:1;pointer-events:none;background:radial-gradient(ellipse at 50% 40%,rgba(41,128,185,.15),transparent 60%),rgba(3,7,12,.8)}
.sw-root{position:fixed;inset:0;z-index:2;display:flex;align-items:center;justify-content:center;padding:16px;font-family:'Rajdhani',sans-serif;animation:swIn .8s ease-out both}
@keyframes swIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.sw-card{width:100%;max-width:520px;max-height:94vh;overflow-y:auto;padding:clamp(20px,4vh,36px) clamp(20px,4vw,36px);text-align:center;
background:rgba(8,14,22,.92);border:1px solid rgba(41,128,185,.3);box-shadow:0 20px 60px rgba(0,0,0,.7)}
.sw-icon{font-size:26px;color:#f0b429;text-shadow:0 0 14px rgba(240,180,41,.5)}
.sw-title{font-weight:700;font-size:clamp(18px,3.2vh,24px);letter-spacing:6px;color:#e6f0f5;margin-top:6px}
.sw-line{width:70px;height:3px;margin:12px auto 16px;background:linear-gradient(90deg,#2980b9,#1abc9c)}
.sw-text{font-family:'Share Tech Mono',monospace;font-size:12px;line-height:1.7;color:#8faec2;margin:0 0 14px}
.sw-list{list-style:none;margin:0 0 20px;padding:12px 16px;text-align:left;background:rgba(41,128,185,.05);border-left:3px solid #1abc9c;
font-family:'Share Tech Mono',monospace;font-size:12px;line-height:1.9;color:#a9c1cf}
.sw-list li:before{content:'• ';color:#1abc9c}
.sw-btns{display:flex;flex-direction:column;gap:8px}
.sw-btns a{display:block;height:44px;line-height:44px;font-weight:700;font-size:16px;letter-spacing:5px;text-decoration:none;border:none;transition:all .2s}
.sw-enter{color:#e6f0f5;background:linear-gradient(90deg,rgba(41,128,185,.45),rgba(26,188,156,.25));border-left:3px solid #1abc9c !important;cursor:pointer}
.sw-enter:hover{color:#fff;letter-spacing:6px;background:linear-gradient(90deg,rgba(41,128,185,.7),rgba(26,188,156,.4))}
.sw-leave{height:32px !important;line-height:32px !important;font-size:12px !important;color:#5e7a8a}
.sw-leave:hover{color:#9fb8c6}
</style><div class="hud-panel">
<div class="hud-header">
<div class="hud-header-line"></div>
<span class="hud-header-text">◈ INTERFACE ◈</span>
<div class="hud-header-line"></div>
</div>
<div class="hud-time">
<div class="time-icons">
<span class="ticon" title="placeholder">⬡</span>
<span class="ticon" title="placeholder">⬡</span>
<span class="ticon" title="placeholder">⬡</span>
<span class="ticon" title="placeholder">⬡</span>
</div>
<div class="clock"><<= $hour>>:<<= $minute.toString().padStart(2, "0")>></div>
<div class="epoch">Day <<= $day>> — <<= $weekDay>></div>
<div class="clock-sub"><<= $timeOfDay>></div>
</div>
<div class="hud-coins">
<span class="coins-label">MONEY:</span>
<span class="coins-val"><<print $money>> 💲</span>
</div>
<div class="hud-bars">
<div class="bar energy">
<div class="bar-label">
<span class="bar-text">⚡ ENERGY</span>
<span class="bar-val"><<print $energy>> / <<print $maxEnergy>></span>
</div>
<div class="bar-track">
<div class="bar-fill" @style="'width: ' + $energyBarPercentage + '%'"></div>
<div class="bar-shine"></div>
</div>
</div>
</div>
<div class="hud-divider"><span>ATTRIBUTES</span></div>
<div class="hud-stats">
<div>NAME: <<= $playerName>></div>
<div class="stat-row"><span class="stat-key">STR</span><span class="stat-dots"></span><span class="stat-val"><<print $STR>></span></div>
<div class="stat-row"><span class="stat-key">INT</span><span class="stat-dots"></span><span class="stat-val"><<print $INT>></span></div>
<div class="stat-row"><span class="stat-key">CHA</span><span class="stat-dots"></span><span class="stat-val"><<print $CHA>></span></div>
<div class="stat-row"><span class="stat-key">STH</span><span class="stat-dots"></span><span class="stat-val"><<print $STH>></span></div>
</div>
<div class="hud-divider"><span>ACTIONS</span></div>
<div class="hud-actions">
<<if passage() is not "QuestLog" and passage() is not "Characters">>
<<button "📖 QUEST LOG" "QuestLog">><</button>>
<</if>>
<<if passage() is not "CharacterMenu" and passage() is not "Characters">>
<<button "👥 CHARACTERS" "CharacterMenu">><</button>>
<</if>>
<<if passage() is not "Inventory">>
<<button "🎒 INVENTORY" "Inventory">><</button>>
<</if>>
<<if $cheatCodeActive is false>>
<<button "😈 CHEATS">>
<<set $beforeCheats to passage()>>
<<goto "CheatsDecider">>
<</button>>
<<else>>
<<button "Advance 15 min">>
<<advancetime 15>>
<<run Engine.play(passage())>>
<</button>>
<<button "Advance 60 min">>
<<advancetime 60>>
<<run Engine.play(passage())>>
<</button>>
<<button "Advance Day">>
<<advancetime 1440>>
<<run Engine.play(passage())>>
<</button>>
<<if passage() is not "CheatMenu">>
<<button "Cheat Menu">>
<<set $cheatMenu_returnPassage to passage()>>
<<goto "CheatMenu">>
<</button>>
<</if>>
<</if>>
</div>
<div class="hud-divider"><span>COMMUNITY</span></div>
<a target=_blank href="https://subscribestar.adult/twisted-developer"><img style="width: 150px" src="assets/General/ssalogo.webp"></a>
<a target=_blank href="https://discord.gg/4ppPFCVeps"><img style="width: 100px" src="assets/General/discord.webp"></a>
</div>
<style>
@import url('https://fonts.googleapis.com/css2?family=Share+Tech+Mono&family=Rajdhani:wght@400;600;700&display=swap');
:root {
--ac: #2980b9;
--ac2: #1abc9c;
--aglow: rgba(41, 128, 185, 0.45);
--aglow2: rgba(26, 188, 156, 0.35);
--hi: #dce9f0;
--text: #7a9aaa;
--dim: rgba(122, 154, 170, 0.35);
--border: rgba(41, 128, 185, 0.28);
--border2: rgba(26, 188, 156, 0.22);
--bg: #060b0f;
--bg2: rgba(41, 128, 185, 0.05);
--mono: 'Share Tech Mono', monospace;
--display: 'Rajdhani', sans-serif;
}
#ui-bar {
background:
repeating-linear-gradient(
0deg,
transparent,
transparent 3px,
rgba(0,0,0,0.06) 3px,
rgba(0,0,0,0.06) 4px
),
linear-gradient(180deg, #060b0f 0%, #040810 100%);
border-right: 1px solid var(--border);
box-shadow: 4px 0 40px rgba(0,0,0,0.95), inset -1px 0 0 rgba(41,128,185,0.08);
width: 280px;
}
#ui-bar-title { display: none; }
#ui-bar-body { padding: 18px 16px; }
.hud-panel {
display: flex;
flex-direction: column;
gap: 16px;
font-family: var(--mono);
color: var(--text);
}
/* ── HEADER ── */
.hud-header {
display: flex;
align-items: center;
gap: 8px;
}
.hud-header-line {
flex: 1;
height: 1px;
background: linear-gradient(90deg, transparent, var(--border), transparent);
}
.hud-header-text {
font-family: var(--display);
font-size: 10px;
font-weight: 700;
letter-spacing: 4px;
color: var(--ac);
white-space: nowrap;
text-shadow: 0 0 10px var(--aglow);
animation: flicker 9s infinite;
}
@keyframes flicker {
0%,93%,100% { opacity: 1; }
94% { opacity: 0.7; }
95% { opacity: 1; }
96% { opacity: 0.8; }
}
/* ── TIME ── */
.hud-time {
text-align: center;
display: flex;
flex-direction: column;
align-items: center;
gap: 5px;
}
.time-icons {
display: flex;
gap: 10px;
margin-bottom: 4px;
}
.ticon {
font-size: 18px;
color: var(--dim);
cursor: pointer;
transition: color 0.2s, text-shadow 0.2s;
line-height: 1;
}
.ticon:hover {
color: var(--ac2);
text-shadow: 0 0 8px var(--aglow2);
}
.clock {
font-family: var(--display);
font-size: 42px;
font-weight: 700;
color: var(--hi);
letter-spacing: 5px;
line-height: 1;
text-shadow: 0 0 24px rgba(220,233,240,0.18);
}
.epoch {
font-size: 16px;
letter-spacing: 3px;
color: var(--ac2);
opacity: 0.8;
}
.clock-sub {
font-size: 16px;
letter-spacing: 4px;
color: var(--dim);
text-transform: uppercase;
}
/* ── COINS ── */
.hud-coins {
display: flex;
align-items: center;
justify-content: space-between;
background: var(--bg2);
border: 1px solid var(--border2);
padding: 7px 12px;
}
.coins-label {
font-family: var(--display);
font-size: 16px;
font-weight: 700;
letter-spacing: 3px;
color: var(--text);
}
.coins-val {
font-family: var(--display);
font-size: 20px;
font-weight: 700;
color: var(--ac2);
text-shadow: 0 0 8px var(--aglow2);
}
/* ── ENERGY BAR ── */
.hud-bars { display: flex; flex-direction: column; gap: 8px; }
.bar-label {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 5px;
}
.bar-text {
font-size: 15px;
letter-spacing: 2px;
color: var(--hi);
font-family: var(--display);
font-weight: 600;
}
.bar-val {
font-size: 15px;
color: var(--dim);
}
.bar-track {
position: relative;
height: 6px;
background: rgba(255,255,255,0.04);
border: 1px solid rgba(255,255,255,0.06);
overflow: hidden;
}
.bar-fill {
height: 100%;
position: relative;
transition: width 0.6s ease;
}
.bar.energy .bar-fill {
background: linear-gradient(90deg, #0e5c42, #1abc9c, #48d7b4);
box-shadow: 0 0 10px rgba(26,188,156,0.6);
animation: pulse-en 3s ease-in-out infinite;
}
.bar-shine {
position: absolute;
top: 0; left: 0; right: 0;
height: 50%;
background: linear-gradient(180deg, rgba(255,255,255,0.1), transparent);
pointer-events: none;
}
@keyframes pulse-en {
0%,100% { box-shadow: 0 0 6px rgba(26,188,156,0.5); }
50% { box-shadow: 0 0 14px rgba(26,188,156,0.85); }
}
/* ── DIVIDERS ── */
.hud-divider {
display: flex;
align-items: center;
gap: 8px;
font-family: var(--display);
font-size: 12px;
font-weight: 700;
letter-spacing: 4px;
color: var(--border);
}
.hud-divider::before,
.hud-divider::after {
content: '';
flex: 1;
height: 1px;
background: var(--border);
}
/* ── STATS ── */
.hud-stats {
display: flex;
flex-direction: column;
gap: 5px;
}
.stat-row {
display: flex;
align-items: center;
gap: 0;
padding: 4px 0;
border-bottom: 1px solid rgba(41,128,185,0.07);
transition: background 0.15s;
}
.stat-row:hover {
background: rgba(41,128,185,0.05);
}
.stat-key {
font-family: var(--display);
font-size: 16px;
font-weight: 700;
letter-spacing: 2px;
color: var(--text);
min-width: 38px;
}
.stat-dots {
flex: 1;
border-bottom: 2px dashed rgba(122,154,170,0.15);
margin: 0 8px;
align-self: center;
}
.stat-val {
font-family: var(--display);
font-size: 17px;
font-weight: 700;
color: var(--ac);
text-shadow: 0 0 6px var(--aglow);
min-width: 28px;
text-align: right;
}
/* ── ACTIONS ── */
.hud-actions {
display: flex;
flex-direction: column;
gap: 6px;
}
.hud-btn {
width: 100%;
display: flex;
align-items: center;
gap: 10px;
background: rgba(255,255,255,0.02);
border: 1px solid var(--border);
color: var(--text);
padding: 9px 14px;
font-family: var(--display);
font-size: 12px;
font-weight: 700;
letter-spacing: 2px;
cursor: pointer;
transition: all 0.15s ease;
text-align: left;
}
.btn-icon {
font-family: var(--mono);
font-size: 13px;
color: rgba(41,128,185,0.5);
transition: color 0.15s, text-shadow 0.15s;
line-height: 1;
width: 16px;
flex-shrink: 0;
}
.btn-label {
letter-spacing: 2px;
}
.hud-btn:hover {
border-color: var(--ac);
color: var(--hi);
background: rgba(41,128,185,0.08);
box-shadow: inset 0 0 14px rgba(41,128,185,0.07);
transform: translateX(2px);
}
.hud-btn:hover .btn-icon {
color: var(--ac);
text-shadow: 0 0 6px var(--aglow);
}
.hud-btn:active { transform: translateX(0); }
/* Twine <<button>> wrapper gets same styling */
.hud-actions .macro-button {
width: 100%;
display: flex;
align-items: center;
gap: 10px;
background: rgba(255,255,255,0.02);
border: 1px solid var(--border2);
color: var(--ac2);
padding: 9px 14px;
font-family: var(--display);
font-size: 12px;
font-weight: 700;
letter-spacing: 2px;
cursor: pointer;
transition: all 0.15s ease;
text-align: left;
}
.hud-actions .macro-button:hover {
border-color: var(--ac2);
color: var(--hi);
background: rgba(26,188,156,0.08);
transform: translateX(2px);
}
</style>// Character stats variables
<<set $STR to 0>>
<<set $CHA to 0>>
<<set $INT to 0>>
<<set $STH to 0>>
<<set $money to 0>>
<<set $maxEnergy to 100>>
<<set $energy to 100>>
<<set $energyBarPercentage to 100>>
<<set $playerName to "John">>
<<set $hasGymMembership to false>>
<<set $inventory = {}>>
<<set $beforeCheats = "YourRoom">>
<<set $cheatCodeActive to false>>
// Limits
<<set $lastWorkoutDay to 0>>
<<set $lastNapDay to 0>>
<<set $lastReadDay to 0>>
<<set $lastVideogameDay to 0>>
<<set $lastShowerDay to 0>>
<<set $lastBathroomMasturbationDay to 0>>
<<set $lastSnackDay to 0>>
<<set $lastDishesDay to 0>>
<<set $lastTVDay to 0>>
<<set $lastShiftDay to 0>>
<<set $lastJogDay to 0>>
<<set $lastGymDay to 0>>
<<set $lastGardenSwimDay to 0>>
<<set $lastGardenRelaxDay to 0>>
<<set $lastGardenWorkDay to 0>>
<<set $lastGardenPeekDay to 0>>
<<set $lastPracticeTalkingDay to 0>>
// // Sophia
<<set $sophiaLastHugDay to 0>>
<<set $sophiaKissDay to 0>>
<<set $sophiaSlapDay to 0>>
<<set $lastSophiaTalkDay to 0>>
<<set $lastSophiaMassageDay to 0>>
<<set $lastSophiaGiftDay to 0>>
<<set $lastSophiaYogaDay to 0>>
<<set $sophiaLustBreak to 1>>
<<set $sophiaYogaUnlock to false>>
<<set $SophiaBreakfastUnlock to false>>
<<set $lastSophiaOutercourse3Day to 0>>
// // Clair
<<set $clairPhotoUnlock to false>>
<<set $lastClairPhotoDay to 0>>
<<set $lastClairHugDay to 0>>
<<set $clairKissDay to 0>>
<<set $clairSlapDay to 0>>
<<set $lastClairTalkDay to 0>>
<<set $lastClairMassageDay to 0>>
<<set $lastClairGiftDay to 0>>
<<set $clairLustBreak to 1>>
// // Nicole
<<set $lastNicoleHugDay to 0>>
<<set $nicoleKissDay to 0>>
<<set $nicoleSlapDay to 0>>
<<set $lastNicoleTalkDay to 0>>
<<set $lastNicoleMassageDay to 0>>
<<set $lastNicoleGiftDay to 0>>
<<set $nicoleLustBreak to 1>>
// // Lilith
<<set $lastLilithTalkDay to 0>>
// // Mazy
<<set $lastMazyTalkDay to 0>>
<<set $mazyLustBreak to 1>>
// Cheats
<<set $moneyCheatOpt to 0>>
<<set $strCheatOpt to 0>>
<<set $intCheatOpt to 0>>
<<set $chaCheatOpt to 0>>
<<set $sthCheatOpt to 0>>
<<set $lilithLustCheatOpt to 0>>
<<set $lilithRelCheatOpt to 0>>
<<set $sophiaLustCheatOpt to 0>>
<<set $sophiaRelCheatOpt to 0>>
<<set $clairLustCheatOpt to 0>>
<<set $clairRelCheatOpt to 0>>
<<set $nicoleLustCheatOpt to 0>>
<<set $nicoleRelCheatOpt to 0>>
<<set $cheatMenu_returnPassage to "YourRoom">>
// Character location variables
<<set $Sophia to {
location: "SophiaRoom"
}>>
<<set $Nicole to {
location: "NicoleRoom"
}>>
<<set $Clair to {
location: "ClairRoom"
}>>
<<set $Lilith to {
location: "Attic"
}>>
<<set $Mazy to {
location: "Store"
}>>
// Time and day variables
<<set $time to 420>>
<<set $day to 1>>
<<set $weekDays = ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"]>>
<<set $hour to Math.floor($time / 60)>>
<<set $minute to $time % 60>>
<<set $timeOfDay = "Morning">>
<<set $weekDay = $weekDays[($day - 1) % 7]>>
// Characters
<<set $characters to {
lilith: {
id: "lilith",
name: "Lilith Voss",
color: "#c026d3",
image: "assets/Characters/Lilith/lilith_chat.webp",
relationship: 0,
lust: 0,
level: 1,
},
sophia: {
id: "sophia",
name: "Sophia Kane",
color: "#f43f5e",
image: "assets/Characters/Sophia/sophia_chat.webp",
relationship: 0,
lust: 0,
level: 1,
},
clair: {
id: "clair",
name: "Clair Kane",
color: "#ef4444",
image: "assets/Characters/Clair/clair_chat.webp",
relationship: 0,
lust: 0,
level: 1,
},
nicole: {
id: "nicole",
name: "Nicole Kane",
color: "#a78bfa",
image: "assets/Characters/Nicole/nicole_chat.webp",
relationship: 0,
lust: 0,
level: 1,
},
mazy: {
id: "mazy",
name: "Mazy",
color: "#c89e33",
image: "assets/Characters/Mazy/mazy_chat.webp",
relationship: 0,
lust: 0,
level: 1,
}
}>>
<<set $CharQuests to {
lilith: {
lilithContractQuest: {
name: "Soul Contract",
description: "Sign a demon contract with Lilith.",
requirements: "None.",
status: "active",
step: 0,
steps: [
"Go to the Attic before 12:00."
],
},
lilithAmateursQuest: {
name: "The Summoning Circle",
description: "Some amateurs tried to summon Lilith.",
requirements: "None.",
status: "inactive",
step: 0,
steps: [
"Go to the Attic between 01:00 and 03:00 at night."
],
},
lilithMortalSicknessQuest: {
name: "The Mortal Sickness",
description: "Lilith catches a human cold. She's a terrible patient.",
requirements: "None.",
status: "inactive",
step: 0,
steps: [
"Keep playing videogames and reading books in your room.",
"Go to the store and buy cold medicine and give it to Lilith.",
"Check on Lilith the next day.",
"Check on Lilith the day after."
],
},
lilithFeedQuest: {
name: "Feeding",
description: "Lilith is on a verge of death, and she needs your help.",
requirements: "None.",
status: "inactive",
step: 0,
steps: [
"Go to the Attic and help Lilith.",
"Go to the Nightclub and cum in a woman."
],
},
},
sophia: {
sophiaMainQuest1: {
name: "The Audit & The Bodily Alibi",
description: "Sophia's job is on the line.",
requirements: "None.",
status: "inactive",
step: 0,
steps: ["Go to Your Room."]
},
sophiaEventQuest1: {
name: "Old Photos",
description: "You find out something interesting about Sophia's past.",
requirements: "None.",
status: "inactive",
step: 0,
steps: [
"Go to the Livingroom while Sophia is there.",
"Snoop around Sophia's room.",
]
},
sophiaBreakQuest1: {
name: "The Hypnotic Ledger",
description: "Breakthrough to Lust Level 2",
requirements: "Reach 19 lust points with Sophia.",
status: "inactive",
step: 0,
steps: [
"Reach 19 lust points with Sophia.",
"Check in on Sophia in her office after 19:00.",
"Consult with Lilith in the attic.",
"Use the Hypnotic Ledger in Sophia's office after 22:00."
]
},
sophiaExReturnsQuest: {
name: "The Ex Returns",
description: "Unexpected person suddenly enters the house.",
requirements: "None.",
status: "inactive",
step: 0,
steps: [
"Go to Sophia's room while she's there on the weekend.",
"Go to the Livingroom while noone's there.",
"Meet Jessica at the park."
]
},
sophiaYogaUnlockQuest: {
name: "The Morning Routine",
description: "You find out Sophia's doing Yoga in the livingroom.",
requirements: "None.",
status: "inactive",
step: 0,
steps: [
"Find Sophia in the Livingroom at 09:00.",
]
},
sophiaBreakfastUnlockQuest: {
name: "Naked Breakfast",
description: "Help Sophia with making breakfast.",
requirements: "None.",
status: "inactive",
step: 0,
steps: [
"Find Sophia in the Kitchen before 10:00.",
]
},
sophiaAtticSearchQuest: {
name: "Attic Search",
description: "Sophia is looking for something in the attic. Hide Lilith!",
requirements: "None.",
status: "inactive",
step: 0,
steps: [
"Go to your room after 18:00.",
]
},
sophiaBreakQuest2: {
name: "The Missing Jewel",
description: "Sophia lost something imporant. She's desperate.",
requirements: "Reach 39 lust points with Sophia.",
status: "inactive",
step: 0,
steps: [
"Reach 39 lust points with Sophia.",
"Go to Sophia's room while she's there.",
"Ask Lilith about the missing jewel.",
"Return the locket to Sophia in her room.",
]
},
},
clair: {
clairMainQuest1: {
name: "The Queen's Crown",
description: "Help Clair clear her name.",
requirements: "None.",
status: "active",
step: 0,
steps: [
"Watch porn in your room.",
"Go to the City to meet Stephanie, Clair waits for you.",
"Ask Lilith for help in the attic.",
]
},
clairBikiniQuest: {
name: "The Bikini Shoot",
description: "Clair wants you to take photos of her.",
requirements: "None.",
status: "active",
step: 0,
steps: [
"Watch TV in the Livingroom."
]
},
clairEventQuest1: {
name: "Playing Games",
description: "Clair is bored and wants to play a game with you.",
requirements: "Complete 'The Queen's Crown'",
status: "inactive",
step: 0,
steps: [
"Go to Clair's room while she's there on the weekend.",
"Win against Clair.",
]
},
clairEventQuest2: {
name: "Grocery Run",
description: "Sophia makes you and Clair go to the store.",
requirements: "Complete 'Playing Games'",
status: "inactive",
step: 0,
steps: [
"Go to the Kitchen while Sophia is there.",
"Go to the store.",
]
},
clairBreakQuest1: {
name: "The Enchanted Lens",
description: "Lilith enchants the camera.",
requirements: "Reach 19 lust points with Clair.",
status: "inactive",
step: 0,
steps: [
"Reach 19 lust points with Clair.",
"Talk to Lilith in the attic.",
"Buy the photo camera in the Store and give it to Lilith.",
"Photoshoot Clair."
]
},
clairMoralesPartyQuest: {
name: "The Morales Party",
description: "Isabella is hosting a party. Clair wants you there.",
requirements: "Reach Lust Level 2 with Clair.",
status: "inactive",
step: 0,
steps: [
"Go to Clair's room while she's there.",
"Go to Clair's room Friday after 19:00.",
]
},
},
nicole: {
nicoleMainQuest1: {
name: "The Rescue",
description: "Nicole is in trouble, and you need to help her.",
requirements: "None.",
status: "active",
step: 0,
steps: [
"Go to your room between 23:00 and 00:00."
]
},
nicoleEventQuest1: {
name: "The Morning After",
description: "Nicole is embarrassed.",
requirements: "Complete 'The Rescue'",
status: "inactive",
step: 0,
steps: [
"Go to Nicole's room while she's there."
]
},
nicoleEventQuest2: {
name: "Accidental Peek",
description: "Nicole sees you naked.",
requirements: "Complete 'The Morning After'",
status: "inactive",
step: 0,
steps: [
"Take a shower in the bathroom.",
"Go to Nicole's room while she's there."
]
},
nicoleBreakQuest1: {
name: "Truth or Dare",
description: "Breakthrough to Lust Level 2",
requirements: "Reach 19 lust points with Nicole.",
status: "inactive",
step: 0,
steps: [
"Reach 19 lust points with Nicole.",
"Visit Lilith in the Attic.",
"Go to Nicole's room after 22:00.",
]
},
},
mazy: {
mazyUnlockQuest: {
name: "The Family Business",
description: "Get a job at the store.",
requirements: "None.",
status: "active",
step: 0,
steps: [
"Go to the store for a Job.",
"Survive the interview.",
"Introduce yourself to the back room.",
"Handle the stepmother.",
"Get hired."
]
},
},
}>>
// Quests<div class="location-ui">
<<chat clair "No thanks, $playerName. I don't have time to talk to you again.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="$mm_returnPassage">
<img src="assets/General/blank.webp">
<span>Return</span>
</a>
</div>
</div><div class="location-ui">
<<chat clair "Are you out of your fucking mind!?">>
<<storyImg "assets/Characters/Clair/clair_rejection.webp">>
<<addRel -2 clair>>
<<addLust -1 clair>>
<<text "Get Clair Lust Level to 4.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="$blowjob_returnPassage">
<img src="assets/General/blank.webp">
<span>Return</span>
</a>
</div>
</div><<if $lastClairGiftDay is $day>>
<<goto "GiveGiftClairAlready">>
<<else>>
<<goto "GiveGiftClair">>
<</if>>
<<button "Stuck?" "YourRoom">><</button>><div class="location-ui">
<<text "Clair barely looks up from her phone when you approach, her usual aura of arrogancy.">>
<<playerchat "Hey, Clair. I've got something for you...">>
<<chat clair "A gift? Wow, I didn't know you knew how to buy things.">>
<div class="choice-buttons" id="giftChoices">
<<button "Give Clair a Rose">>
<<if $inventory.rose >= 1>>
<<replace "#giftChoices">>
<<playerchat "Yes, Clair, I do. Here's a rose.">>
<<storyImg "assets/General/Items/rose.webp">>
<<text "The moment she sees the flower, she rolls her eyes so hard she nearly loses her balance.">>
<<chat clair "Ugh, are you serious right now? A rose? What am I supposed to do with this piece of garbage?">>
<<playerchat "What's wrong with roses?">>
<<chat clair "I absolutely detest roses. They’re tacky, they die in three days.">>
<<storyImg "assets/Characters/Clair/clair_annoyed.webp">>
<<addRel -2 clair>>
<<text "She threw your rose away.">>
<<playerchat "You're hard to please, Clair.">>
<<run setup.removeItem("rose")>>
<<set $lastClairGiftDay to $day>>
<<advancetime 40>>
<</replace>>
<<else>>
<<replace "#giftChoices">>
<<playerchat "Yes, Clair, I do. Here's a rose.">>
<<text "You don't have a rose.">>
<<text "She is already preparing her standard harsh rejection, her walls fully up.">>
<<chat clair "A rose? Seriously, how basic can you get—">>
<<text "Clair cuts herself off as you open your empty hands.">>
<<chat clair "Are you kidding me right now? You made me stand here and waste my breath rejecting a stupid flower that you didn't even have?">><<set $lastClairGiftDay to $day>>
<<advancetime 40>>
<<addRel -3 clair>>
<</replace>>
<</if>>
<</button>>
<<button "Give Clair a Lust Mystery Box">>
<<if $inventory.lust_gift >= 1>>
<<replace "#giftChoices">><<nobr>>
<<set _randomNum to random(1, 5)>>
<<if _randomNum is 1>>
<<set _randomToy to "A Small Dildo">>
<<set _passage to "LustGiftClairSmallDildo">>
<<elseif _randomNum is 2>>
<<set _randomToy to "A Big Dildo">>
<<set _passage to "LustGiftClairBigDildo">>
<<elseif _randomNum is 3>>
<<set _randomToy to "A Butt Plug">>
<<set _passage to "LustGiftClairButtPlug">>
<<elseif _randomNum is 4>>
<<set _randomToy to "A Vibrator">>
<<set _passage to "LustGiftClairVibrator">>
<<else>>
<<set _randomToy to "A Cock Ring">>
<<set _passage to "LustGiftClairCockRing">>
<</if>>
<</nobr>>
<<playerchat "Yes, Clair, I do. I bought you the Lust Mystery Box from the store.">>
<<storyImg "assets/General/Items/lust_gift.webp">>
<<chat clair "A 'Lust Box'? Wow, you're getting weirder by the—">>
<<text "Clair stops talking, her eyes fixed on" _randomToy>>
<<chat clair "Y-You perverted psycho! You actually bought me a... " _randomToy>>
<<set $lastClairGiftDay to $day>>
<<advancetime 40>>
<<replace "#returnClair">><</replace>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="_passage">
<img src="assets/General/blank.webp">
<span>Continue</span>
</a>
</div>
<</replace>>
<<else>>
<<replace "#giftChoices">>
<<playerchat "Yes, Clair, I do. I bought you the Lust Mystery Box from the store.">>
<<text "When you announce that you brought a 'Lust Mystery Box,' Clair's breathing hitches.">>
<<chat clair "A Lust Box? Hah! As if you could ever handle buying something like—">>
<<text "You don't have a Lust Mystery Box.">>
<<chat clair "Are you kidding me?! You actually came into my room to lie to my face about that?! You think it's funny to play with my head, you absolute freak?! Get out! Get out right now! You don't get to mock me like this!">>
<<set $lastClairGiftDay to $day>>
<<advancetime 40>>
<<addLust -2 clair>>
<</replace>>
<</if>>
<</button>>
</div>
<div id="returnClair" class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="$giftClair_returnPassage">
<img src="assets/General/blank.webp">
<span>Return</span>
</a>
</div>
</div><div class="location-ui">
<<chat clair "I think that was enoug for today, $playerName.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="$giftClair_returnPassage">
<img src="assets/General/blank.webp">
<span>Return</span>
</a>
</div>
</div><div class="location-ui">
<<chat clair "A Small Dildo? A small one? Who do you think I am? You're showing me your own size or what?">>
<<storyImg "assets/Characters/Clair/clair_annoyed.webp">>
<<addLust -3 clair>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="$giftClair_returnPassage">
<img src="assets/General/blank.webp">
<span>Return</span>
</a>
</div>
</div><div class="location-ui">
<<chat clair "Are you serious, $playerName? A Cock Ring? What do I look like, a man? Buy it for yourself, loser. Unbeliveable.">>
<<storyImg "assets/Characters/Clair/clair_annoyed.webp">>
<<addLust -3 clair>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="$giftClair_returnPassage">
<img src="assets/General/blank.webp">
<span>Return</span>
</a>
</div>
</div><div class="location-ui">
<<chat clair "A new one for my collection, it's getting bigger and bigger. Didn't expect something like this from you. ">>
<<storyImg "assets/Characters/Clair/clair_happy.webp">>
<<addLust 3 clair>>
<<if $characters.clair.level >= 2>>
<<text "Seems like Clair has a mystery reward for you too.">>
<<chat clair "Might aswell show some gratitude.">>
<<set _nakedNum to random(1, 5)>>
<<set _path to "assets/Characters/Clair/GiveGift/naked" + _nakedNum + ".mp4">>
<<storyVideo _path>>
<</if>>
<<if $characters.clair.level >= 3>>
<<chat clair "Or would you like to see me use the gift, $playerName?">>
<<set _dildoNum to random(1, 5)>>
<<set _path to "assets/Characters/Clair/GiveGift/dildo" + _dildoNum + ".mp4">>
<<storyVideo _path>>
<</if>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="$giftClair_returnPassage">
<img src="assets/General/blank.webp">
<span>Return</span>
</a>
</div>
</div><div class="location-ui">
<<chat clair "A new one for my collection, it's getting bigger and bigger. Didn't expect something like this from you. ">>
<<storyImg "assets/Characters/Clair/clair_happy.webp">>
<<addLust 3 clair>>
<<if $characters.clair.level >= 2>>
<<text "Seems like Clair has a mystery reward for you too.">>
<<chat clair "Might aswell show some gratitude.">>
<<set _nakedNum to random(1, 5)>>
<<set _path to "assets/Characters/Clair/GiveGift/naked" + _nakedNum + ".mp4">>
<<storyVideo _path>>
<</if>>
<<if $characters.clair.level >= 3>>
<<chat clair "Or would you like to see me use the gift, $playerName?">>
<<set _plugNum to random(1, 5)>>
<<set _path to "assets/Characters/Clair/GiveGift/plug" + _plugNum + ".mp4">>
<<storyVideo _path>>
<</if>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="$giftClair_returnPassage">
<img src="assets/General/blank.webp">
<span>Return</span>
</a>
</div>
</div><div class="location-ui">
<<chat clair "Thank godness, my old one broke.">>
<<storyImg "assets/Characters/Clair/clair_happy.webp">>
<<addLust 3 clair>>
<<if $characters.clair.level >= 2>>
<<text "Seems like Clair has a mystery reward for you too.">>
<<chat clair "Might aswell show some gratitude.">>
<<set _nakedNum to random(1, 5)>>
<<set _path to "assets/Characters/Clair/GiveGift/naked" + _nakedNum + ".mp4">>
<<storyVideo _path>>
<</if>>
<<if $characters.clair.level >= 3>>
<<chat clair "Or would you like to see me use the gift, $playerName?">>
<<set _vibratorNum to random(1, 3)>>
<<set _path to "assets/Characters/Clair/GiveGift/vibrator" + _vibratorNum + ".mp4">>
<<storyVideo _path>>
<</if>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="$giftClair_returnPassage">
<img src="assets/General/blank.webp">
<span>Return</span>
</a>
</div>
</div><<if $characters.clair.relationship < 30>>
<<goto "ClairHugRejection">>
<<else>>
<<if $lastClairHugDay is $day>>
<<goto "ClairHugAlready">>
<<else>>
<<goto "ClairHugAcceptance">>
<</if>>
<</if>>
<<button "Stuck?" "YourRoom">><</button>><div class="location-ui">
<<text "You step into her personal space and extend your arms for a hug.">>
<<text "Clair's eyes widen in disbelief before she instantly recoils, stepping back and slapping your hands away with absolute hostility.">>
<<chat clair "Ew! Get your hands off me, you absolute creep!">>
<<storyImg "assets/Characters/Clair/clair_rejection.webp">>
<<addRel -1 clair>>
<<addLust -1 clair>>
<<chat clair "What do you think you're doing?! Did I give you permission to touch me?">>
<<text "Get Clair's Relationship over 30.">><<advancetime 5>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="$hug_returnPassage">
<img src="assets/General/blank.webp">
<span>Return</span>
</a>
</div>
</div><div class="location-ui">
<<text "You confidently close the distance and pull Clair tightly against you. Her body goes rigid for a fraction of a second as if she's about to yell, but as your grip tightens, her arrogant facade completely fractures.">>
<<storyVideo "assets/Characters/Clair/hug.mp4">>
<<text "Taking advantage of her compliance, your hands trace firmly down her lower back.">>
<<chat clair "Just... shut up and don't say a word about this to anyone, okay?">>
<<addRel 2 clair>>
<<addLust 1 clair>><<advancetime 30>><<set $lastClairHugDay to $day>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="$hug_returnPassage">
<img src="assets/General/blank.webp">
<span>Return</span>
</a>
</div>
</div><div class="location-ui">
<<text "You go in for a hug.">>
<<chat clair "I can't be hugging you all day, $playerName. Chill.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="$hug_returnPassage">
<img src="assets/General/blank.webp">
<span>Return</span>
</a>
</div>
</div><<if $characters.clair.relationship > 50 or $characters.clair.lust >= 20>>
<<if $clairKissDay is $day>>
<<goto "ClairKissAlready">>
<<else>>
<<goto "ClairKissAcceptance">>
<</if>>
<<else>>
<<goto "ClairKissRejection">>
<</if>>
<<button "Stuck?" "YourRoom">><</button>><div class="location-ui">
<<text "You lean in closer, tracking her lips and attempting to steal a kiss.">>
<<text "The sudden physical forwardness triggers her intense defensive reflex. Her face twists into a mixture of absolute outrage and frantic self-defense as she violently shoves your chest.">>
<<storyImg "assets/Characters/Clair/clair_rejection.webp">>
<<chat clair "Are you completely insane?! Don't you dare ever try that again! Remember your place!">>
<<addRel -3 clair>><<advancetime 20>>
<<text "Get Clair's Relationship over 50 or Lust level over 2.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="$kiss_returnPassage">
<img src="assets/General/blank.webp">
<span>Return</span>
</a>
</div>
</div><div class="location-ui">
<<text "You confidently catch her chin, tilting her face up and driving your lips onto hers before she can voice a complaint.">>
<<chat clair "Mmh... h-ha...">>
<<storyVideo "assets/Characters/Clair/kiss.mp4">>
<<chat clair "Damn it, $playerName... you're so frustratingly forceful... That was... incredibly hot...">>
<<addRel 2 clair>>
<<addLust 1 clair>><<advancetime 60>><<set $clairKissDay to $day>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="$kiss_returnPassage">
<img src="assets/General/blank.webp">
<span>Return</span>
</a>
</div>
</div><div class="location-ui">
<<text "You lean in for a kiss.">>
<<chat clair "You've had enough of my attention for one day. I'm not just here for you to use whenever you get bored. Go find something else to do.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="$kiss_returnPassage">
<img src="assets/General/blank.webp">
<span>Return</span>
</a>
</div>
</div><<if $lastClairPhotoDay is $day>>
<<goto "ClairPhotoshootAlready">>
<<else>>
<<if $characters.clair.level is 1>>
<<goto "ClairPhotoshootScene1">>
<<elseif $characters.clair.level is 2>>
<<goto "ClairPhotoshootScene2">>
<<elseif $characters.clair.level is 3>>
<<goto "ClairPhotoshootScene3">>
<<elseif $characters.clair.level is 4>>
<<goto "DoesntExist">>
<<elseif $characters.clair.level is 5>>
<<goto "DoesntExist">>
<<elseif $characters.clair.level is 6>>
<<goto "DoesntExist">>
<<else>>
<<goto "ClairPhotoshootAlready">>
<</if>>
<</if>>
<<button "Stuck?" "YourRoom">><</button>><div class="location-bg" style="background-image: url('assets/General/blank.webp')"></div>
<div class="location-ui">
<<chat clair "Already posted some content today. You should know, you photographed me, dumbass.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="$clairPhotoshoot_returnPassage">
<img src="assets/General/blank.webp">
<span>Return</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/General/blank.webp')"></div>
<div class="location-ui">
<<chat clair "About time you showed up. I was starting to think you got lost. Or maybe you were too busy jerking off in your room thinking about last time.">>
<<playerchat "You're the one who called me here.">>
<<chat clair "Yeah, because I need new content. My followers are demanding more. And you're the only one available. Don't make it weird.">>
<<text "She turns her back to you and walks over to pose, making sure to sway her hips with every step. Her ass is perfect. Round. Firm. The bikini bottom is basically a thong.">>
<<chat clair "Same rules as before. Take the pictures. Don't get creative. Don't be weird. And don't stare at my ass for too long.">>
<<playerchat "No promises.">>
<<chat clair "Ugh. You're such a pervert.">>
<<set $lastClairPhotoDay to $day>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="ClairPhotoshootScene1P2">
<img src="assets/Quests/Clair/BikiniQuest/camera.webp">
<span>Start taking photos</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/General/blank.webp')"></div>
<div class="location-ui">
<<text "You raise your phone and frame her.">>
<<nobr>>
<<set _randomNum1 to random(1, 23)>>
<<set _path1 to "assets/Characters/Clair/Photoshoot/LustLevel1/bikini" + _randomNum1 + ".webp">>
<<storyImg _path1>>
<</nobr>>
<<text "CLICK.">>
<<chat clair "Let me see.">>
<<text "She walks over and snatches the phone from your hand. She's close. Close enough that you can smell her perfume. Coconut and vanilla. Sweet. It makes your mouth water.">>
<<chat clair "Not bad. Take another one.">>
<<text "She hands the phone back.">>
<<nobr>>
<<set _randomNum2 to random(1, 23)>>
<<set _path2 to "assets/Characters/Clair/Photoshoot/LustLevel1/bikini" + _randomNum2 + ".webp">>
<<storyImg _path2>>
<</nobr>>
<<chat clair "Well? What are you waiting for?">>
<<playerchat "Just admiring the view.">>
<<chat clair "Admire it with the camera. That's what you're here for.">>
<<nobr>>
<<set _randomNum3 to random(1, 23)>>
<<set _path3 to "assets/Characters/Clair/Photoshoot/LustLevel1/bikini" + _randomNum3 + ".webp">>
<<storyImg _path3>>
<</nobr>>
<<text "You take the shot. Then another. She shifts position. Her ass is incredible. Round. Firm. Perfect. Your cock is aching.">>
<<nobr>>
<<set _randomNum4 to random(1, 23)>>
<<set _path4 to "assets/Characters/Clair/Photoshoot/LustLevel1/bikini" + _randomNum4 + ".webp">>
<<storyImg _path4>>
<</nobr>>
<<chat clair "You're staring again.">>
<<playerchat "You're literally posing in a tiny bikini. What do you expect?">>
<<chat clair "I expect you to do your job and not be a creep about it.">>
<<text "But she's smirking. She's enjoying this. She knows exactly what she's doing to you.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="ClairPhotoshootScene1P3">
<img src="assets/Quests/Clair/BikiniQuest/camera.webp">
<span>Keep shooting</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/General/blank.webp')"></div>
<div class="location-ui">
<<nobr>>
<<set _randomNum5 to random(1, 23)>>
<<set _path5 to "assets/Characters/Clair/Photoshoot/LustLevel1/bikini" + _randomNum5 + ".webp">>
<<storyImg _path5>>
<</nobr>>
<<chat clair "Take the picture. And stop staring at my tits.">>
<<playerchat "Your tits are literally the subject of the photo.">>
<<chat clair "Shut up.">>
<<text "You take the shot. She looks incredible.">>
<<nobr>>
<<set _randomNum6 to random(1, 23)>>
<<set _path6 to "assets/Characters/Clair/Photoshoot/LustLevel1/bikini" + _randomNum6 + ".webp">>
<<storyImg _path6>>
<</nobr>>
<<chat clair "Okay. One more. Then we're done.">>
<<chat clair "Make it good. Or I'm not paying you.">>
<<text "You take the photo.">>
<<nobr>>
<<set _randomNum7 to random(1, 23)>>
<<set _path7 to "assets/Characters/Clair/Photoshoot/LustLevel1/bikini" + _randomNum7 + ".webp">>
<<storyImg _path7>>
<</nobr>>
<<chat clair "Okay. That's enough. Give me the phone.">>
<<text "She sits up and reaches for the phone. You hand it over. She scrolls through the photos, nodding slowly.">>
<<chat clair "These are good. Really good. Maybe you're not completely useless after all.">>
<<playerchat "High praise.">>
<<chat clair "Don't get used to it.">>
<<text "She reaches for her purse and pulls out a five-dollar bill, holding it out to you. Her tits are still heaving. Her nipples are still hard. She's still staring at you with that look.">>
<div class="choice-buttons" id="photoshoot_choice">
<<button "Take the money and leave">>
<<replace "#photoshoot_choice">>
<<text "You take the five from her hand. Your fingers brush against hers. She doesn't pull away immediately.">>
<<playerchat "Pleasure doing business.">>
<<chat clair "Yeah, yeah. Now go away. I need to post these.">>
<<text "You start leaving.">>
<<chat clair "Hey.">>
<<text "You look back.">>
<<chat clair "Don't tell anyone about this. Or I'll make your life a living hell.">>
<<playerchat "Wouldn't dream of it.">>
<<text "You leave. Five bucks richer.">>
<<addRel 1 clair>>
<<addLust 1 clair>>
<<addmoney 5>>
<<addenergy -5>>
<<advancetime 60>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="$clairPhotoshoot_returnPassage">
<img src="assets/General/blank.webp">
<span>Leave</span>
</a>
</div>
<</replace>>
<</button>>
<<button "Push her further">>
<<replace "#photoshoot_choice">>
<<playerchat "These are good. But you know what would be even better?">>
<<text "Clair lowers the phone and looks at you. Her eyes narrow.">>
<<chat clair "What are you talking about?">>
<<playerchat "Take the top off. Just for a few shots. No one has to know.">>
<<text "The room goes cold. Clair's expression shifts from smug to furious in half a second. She sits up straight, crossing her arms over her chest.">>
<<chat clair "Are you out of your fucking mind?!">>
<<text "She stands up from the bed, her tits bouncing with the movement. She's glaring at you like you just suggested she kill someone.">>
<<chat clair "You think because I let you take some bikini photos that I'm going to just strip for you? You're fucking delusional. You're a creep. A fucking pervert. I should have known better than to ask you.">>
<<playerchat "It was just a suggestion">>
<<chat clair "Get out.">>
<<playerchat "Clair-">>
<<chat clair "I said GET OUT!">>
<<text "She throws the five-dollar bill at your chest. It bounces off and lands on the floor.">>
<<chat clair "Keep your fucking money. I don't want it. And if you ever suggest something like that again, I'll tell Sophia you tried to assault me. Get the fuck away.">>
<<text "You pick up the five and leave.">>
<<text "Well. That could have gone better.">>
<<addRel -3 clair>>
<<addLust -1 clair>>
<<addenergy -5>>
<<advancetime 60>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="$clairPhotoshoot_returnPassage">
<img src="assets/General/blank.webp">
<span>Leave</span>
</a>
</div>
<</replace>>
<</button>>
<<if $CharQuests.clair.clairBreakQuest1.status is "active" and $CharQuests.clair.clairBreakQuest1.step is 3>>
<<button "Try out the enchanted Camera">>
<<replace "#photoshoot_choice">>
<<playerchat "Hey, before you go-">>
<<chat clair "What do you want? I'm busy.">>
<<playerchat "I bought a new camera. Figured you'd want to try it out.">>
<<text "She eyes the DSLR in your hand. Her expression shifts, just slightly. Curiosity pushing through the annoyance.">>
<<chat clair "A real camera? Not a simple phone?">>
<<playerchat "Professional grade. Better quality. Better shots. More content for your followers.">>
<<text "She crosses her arms, pushing her tits up. She's trying to look disinterested, but you can see the hunger in her eyes. She wants this.">>
<<chat clair "Fine. Five minutes. Don't waste my time.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="ClairBreakQuest1PhotoshootP2">
<img src="assets/Quests/Clair/BreakQuest1/photo_camera.webp">
<span>Start taking photos</span>
</a>
</div>
<</replace>>
<</button>>
<</if>>
</div>
</div><div class="location-bg" style="background-image: url('assets/General/blank.webp')"></div>
<div class="location-ui">
<<chat clair "I like having a photographer who works for cheap.">>
<<set $lastClairPhotoDay to $day>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="ClairPhotoshootScene2P2">
<img src="assets/Quests/Clair/BikiniQuest/camera.webp">
<span>Start taking photos</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/General/blank.webp')"></div>
<div class="location-ui">
<<text "You raise your phone and frame her.">>
<<nobr>>
<<set _randomNum1 to random(1, 23)>>
<<set _path1 to "assets/Characters/Clair/Photoshoot/LustLevel1/bikini" + _randomNum1 + ".webp">>
<<storyImg _path1>>
<</nobr>>
<<text "CLICK.">>
<<chat clair "Let me see.">>
<<text "She sits up and reaches for the phone. You hand it over. She scrolls through the photo, nodding slowly.">>
<<chat clair "Not bad. Take another one.">>
<<playerchat " Wait, Clair. These are good. But you know what would be even better?">>
<<text "Clair lowers the phone and looks at you. Her eyes narrow.">>
<<chat clair "What are you talking about?">>
<<playerchat "Take the bikini off. Just for a few shots. No one has to know.">>
<<text "Clair stares at you. Her expression is unreadable. For a second, you think she's going to throw you out. Then she does something unexpected.">>
<<text "She laughs. A short, sharp laugh.">>
<<chat clair "You're unbelievable. You know that?">>
<<text "She hands the phone back.">>
<<nobr>>
<<set _randomNum2 to random(1, 27)>>
<<set _path2 to "assets/Characters/Clair/Photoshoot/LustLevel2/bikini" + _randomNum2 + ".webp">>
<<storyImg _path2>>
<</nobr>>
<<chat clair "Take the picture, pervert.">>
<<text "You take the shot. Then another. She shifts position.">>
<<nobr>>
<<set _randomNum3 to random(1, 27)>>
<<set _path3 to "assets/Characters/Clair/Photoshoot/LustLevel2/bikini" + _randomNum3 + ".webp">>
<<storyImg _path3>>
<</nobr>>
<<chat clair "You're staring at my ass again.">>
<<playerchat "Yes I am.">>
<<chat clair "You're such a pervert. But fine. A few more. Then you're leaving.">>
<<text "She's enjoying this.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="ClairPhotoshootScene2P3">
<img src="assets/Quests/Clair/BikiniQuest/camera.webp">
<span>Keep shooting</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/General/blank.webp')"></div>
<div class="location-ui">
<<nobr>>
<<set _randomNum4 to random(1, 27)>>
<<set _path4 to "assets/Characters/Clair/Photoshoot/LustLevel2/bikini" + _randomNum4 + ".webp">>
<<storyImg _path4>>
<</nobr>>
<<chat clair "These are good, just take a few more.">>
<<text "She poses for you. Getting naked. Her tits on full display.Every pose is perfect. Every photo is incredible.">>
<<chat clair "Well? What are you waiting for?">>
<<text "You take the shot. Then another. ">>
<<nobr>>
<<set _randomNum5 to random(1, 27)>>
<<set _path5 to "assets/Characters/Clair/Photoshoot/LustLevel2/bikini" + _randomNum5 + ".webp">>
<<storyImg _path5>>
<</nobr>>
<<chat clair "These are good. Really good. You better not show these to anyone.">>
<<playerchat "I wouldn't.">>
<<chat clair "You better not. Or I'll kill you.">>
<<nobr>>
<<set _randomNum6 to random(1, 27)>>
<<set _path6 to "assets/Characters/Clair/Photoshoot/LustLevel2/bikini" + _randomNum6 + ".webp">>
<<storyImg _path6>>
<</nobr>>
<<chat clair "Okay. That's enough. Give me the phone.">>
<<text "She reaches for her purse and pulls out a five-dollar bill, holding it out to you. Her tits are still bare.">>
<<chat clair "Here. Your payment. Now get out before I change my mind.">>
<<text "You take the five from her hand. Your fingers brush against hers. She doesn't pull away. She just stares at you, her tits rising and falling with her breath.">>
<<playerchat "Pleasure doing business.">>
<<chat clair "Yeah, yeah. Go away.">>
<<text "You leave. Five bucks richer.">>
<<addRel 1 clair>>
<<addLust 1 clair>>
<<addmoney 5>>
<<addenergy -5>>
<<advancetime 60>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="$clairPhotoshoot_returnPassage">
<img src="assets/General/blank.webp">
<span>Leave</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/General/blank.webp')"></div>
<div class="location-ui">
<<nobr>>
<<set $lastClairPhotoDay to $day>>
<<set _randomNum1 to random(1, 25)>>
<<set _path1 to "assets/Characters/Clair/Photoshoot/LustLevel3/bikini" + _randomNum1 + ".webp">>
<<storyImg _path1>>
<</nobr>>
<<chat clair "About time. I was starting to get cold.">>
<<playerchat "You're... already naked.">>
<<chat clair "No shit. I figured we'd skip the bullshit bikini this time.">>
<<text "She's not posing like a model. She's posing like a pornstar.">>
<<chat clair "Well?">>
<<nobr>>
<<set _randomNum3 to random(1, 25)>>
<<set _path3 to "assets/Characters/Clair/Photoshoot/LustLevel3/bikini" + _randomNum3 + ".webp">>
<<storyImg _path3>>
<</nobr>>
<<text "You pull out your phone. Your cock is rock hard. She's not even trying to hide that she's enjoying this.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="ClairPhotoshootLevel3P2">
<img src="assets/Quests/Clair/BikiniQuest/camera.webp">
<span>Start shooting</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/General/blank.webp')"></div>
<div class="location-ui">
<<nobr>>
<<set _randomNum4 to random(1, 25)>>
<<set _path4 to "assets/Characters/Clair/Photoshoot/LustLevel3/bikini" + _randomNum4 + ".webp">>
<<storyImg _path4>>
<</nobr>>
<<text "CLICK.">>
<<chat clair "Let me see.">>
<<text "She walks over, completely naked, and takes the phone from your hand. Her bare hip brushes against your arm. Her skin is warm. She studies the photo, nodding slowly.">>
<<chat clair "Good. You're getting really good at this.">>
<<text "You take the shot. Then another.">>
<<nobr>>
<<set _randomNum5 to random(1, 25)>>
<<set _path5 to "assets/Characters/Clair/Photoshoot/LustLevel3/bikini" + _randomNum5 + ".webp">>
<<storyImg _path5>>
<</nobr>>
<<chat clair "You're staring at my pussy.">>
<<playerchat "You're presenting it.">>
<<chat clair "Fair point. Keep shooting.">>
<<nobr>>
<<set _randomNum7 to random(1, 25)>>
<<set _path7 to "assets/Characters/Clair/Photoshoot/LustLevel3/bikini" + _randomNum7 + ".webp">>
<<storyImg _path7>>
<</nobr>>
<<text "She shifts position again, her pussy is right there. Pink. Perfect.">>
<<chat clair "One more. Then we're done.">>
<<nobr>>
<<set _randomNum6 to random(1, 25)>>
<<set _path6 to "assets/Characters/Clair/Photoshoot/LustLevel3/bikini" + _randomNum6 + ".webp">>
<<storyImg _path6>>
<</nobr>>
<<chat clair "Okay. That's enough. Give me the phone.">>
<<text "She takes the phone and scrolls through the photos. She's quiet for a minute. Then she nods.">>
<<chat clair "These are good. Really good.">>
<<playerchat "High praise.">>
<<chat clair "Don't let it go to your head.">>
<<text "She reaches for her purse and pulls out a five-dollar bill. She holds it out to you. Her bare tits are inches from your face.">>
<<chat clair "Here. Your payment. Now get out. I need to... relax.">>
<<text "You take the five. She's already looking at her phone, probably picking which nude photo to post first. You leave her room with a hard cock and five bucks.">>
<<addRel 1 clair>>
<<addLust 1 clair>>
<<addmoney 5>>
<<addenergy -5>>
<<advancetime 60>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="$clairPhotoshoot_returnPassage">
<img src="assets/General/blank.webp">
<span>Leave</span>
</a>
</div>
</div><div class="location-ui">
<<chat clair "Are you out of your fucking mind!?">>
<<storyImg "assets/Characters/Clair/clair_rejection.webp">>
<<addRel -2 clair>>
<<addLust -1 clair>>
<<text "Get Clair Lust Level to 5.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="$sex_returnPassage">
<img src="assets/General/blank.webp">
<span>Return</span>
</a>
</div>
</div><<if $characters.clair.level >= 2>>
<<if $clairSlapDay is $day>>
<<goto "ClairsSlapAlready">>
<<else>>
<<goto "ClairSlapAcceptance">>
<</if>>
<<else>>
<<goto "ClairSlapRejection">>
<</if>>
<<button "Stuck?" "YourRoom">><</button>><div class="location-ui">
<<text "You try to slap Clair's ass, but she turns around just in time. She slaps your hand away with a look of pure fury.">>
<<storyImg "assets/Characters/Clair/clair_rejection.webp">>
<<chat clair "Are you begging for a black eye, loser?! Keep your dirty hands off me - you don't get to touch my body.">>
<<addRel -3 clair>><<advancetime 20>>
<<text "Get Clair's Lust Level to 2.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="$slap_returnPassage">
<img src="assets/General/blank.webp">
<span>Return</span>
</a>
</div>
</div><div class="location-ui">
<<text "You deliver a loud, hard slap straight to Clair's ass. She gasps loudly, her body stiffening up.">>
<<storyVideo "assets/Characters/Clair/slap.mp4">>
<<text "She turns around to insult you, but her arrogant front cracks completely. Her face turns dark red, and she looks up at you with submissive, shaky eyes, loving that you just took control.">>
<<chat clair "Ow! You... you idiot! Who told you you could hit me that hard?! God, you're such a brute... but... don't think this means you own me or anything!">>
<<addRel 1 clair>>
<<addLust 2 clair>><<advancetime 30>><<set $clairSlapDay to $day>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="$slap_returnPassage">
<img src="assets/General/blank.webp">
<span>Return</span>
</a>
</div>
</div><div class="location-ui">
<<text "You try to sneak another slap onto her backside. Clair smacks your hand away before you can touch her, giving you a smug, knowing grin. She wants to act like she's back in charge.">>
<<chat clair "My ass is completely red thanks to you. Go wait in line.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="$slap_returnPassage">
<img src="assets/General/blank.webp">
<span>Return</span>
</a>
</div>
</div><div class="location-ui">
<<chat mazy "I'm busy right now, talk later?">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="$mm_returnPassage">
<img src="assets/General/blank.webp">
<span>Return</span>
</a>
</div>
</div><div class="location-ui">
<<chat nicole "Sorry, $playerName. I don't have time to talk right now. Maybe we can chat later?">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="$mm_returnPassage">
<img src="assets/General/blank.webp">
<span>Return</span>
</a>
</div>
</div><div class="location-ui">
<<chat nicole "Are you out of your fucking mind!?">>
<<storyImg "assets/Characters/Nicole/nicole_rejection.webp">>
<<addRel -2 nicole>>
<<addLust -1 nicole>>
<<text "Get Nicole Lust Level to 4.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="$blowjob_returnPassage">
<img src="assets/General/blank.webp">
<span>Return</span>
</a>
</div>
</div><<if $lastNicoleGiftDay is $day>>
<<goto "GiveGiftNicoleAlready">>
<<else>>
<<goto "GiveGiftNicole">>
<</if>>
<<button "Stuck?" "YourRoom">><</button>><div class="location-ui">
<<playerchat "Hey, Nicole. I've got something for you...">>
<<text "Nicole looks at you surprisingly with a smile on her face.">>
<<chat nicole "//(giggling)// For me!?">>
<div class="choice-buttons" id="giftChoices">
<<button "Give Nicole a Rose">>
<<if $inventory.rose >= 1>>
<<replace "#giftChoices">>
<<playerchat "Yes, Nicole. For you. Here's a rose.">>
<<storyImg "assets/General/Items/rose.webp">>
<<chat nicole "//(shocked)// Woah, $playerName... That's really nice of you, I love roses.">>
<<storyImg "assets/Characters/Nicole/nicole_happy.webp">>
<<addRel 5 nicole>>
<<text "Nicole seems really happy about the rose.">>
<<playerchat "You're not hard to please, Nicole.">>
<<run setup.removeItem("rose")>>
<<set $lastNicoleGiftDay to $day>>
<<advancetime 40>>
<</replace>>
<<else>>
<<replace "#giftChoices">>
<<playerchat "I've got a rose for you, Nicole.">>
<<text "You don't have a rose.">>
<<text "The moment you mention a rose, Nicole’s eyes go completely wide, and a crimson blush explodes across her face.">>
<<chat nicole "A-A rose?! For... for me?!">>
<<text "Looking at your empty hands, she looks left, then right, her face turning a shade of red.">>
<<chat nicole "//(disappointed)// Y-You... you don't have one? You were just... teasing me? Ah! That's so mean!">><<set $lastNicoleGiftDay to $day>><<advancetime 40>>
<<addRel -5 nicole>>
<</replace>>
<</if>>
<</button>>
<<button "Give Nicole a Lust Mystery Box">>
<<if $inventory.lust_gift >= 1>>
<<replace "#giftChoices">>
<<playerchat "Yes, Nicole. For you. Here's a-">>
<<text "Sexual nature of the gift completely shatters her comfort zone.">>
<<chat nicole "This is too much, $playerName. I-I told you I don't like things like this! Please take it back.">>
<<storyImg "assets/Characters/Nicole/nicole_rejection.webp">><<set $lastNicoleGiftDay to $day>><<advancetime 40>>
<<addRel -2 nicole>>
<<addLust -2 nicole>>
<</replace>>
<<else>>
<<replace "#giftChoices">>
<<playerchat "Yes, Nicole. For you. I've got you a lust mystery box from the store.">>
<<text "The mere mention of the word 'Lust' makes Nicole practically jump out of her skin.">>
<<chat nicole "Don't show me! I don't want to see it!">>
<<text "You don't have a Lust Mystery Box.">>
<<chat nicole "Y-You... you don't have it? It was a fake?! Oh, thank goodness...">>
<<set $lastNicoleGiftDay to $day>>
<<advancetime 40>>
<</replace>>
<</if>>
<</button>>
</div>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="$giftNicole_returnPassage">
<img src="assets/General/blank.webp">
<span>Return</span>
</a>
</div>
</div><div class="location-ui">
<<chat nicole "Thank you for trying, but I think I'm good for today, $playerName.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="$giftNicole_returnPassage">
<img src="assets/General/blank.webp">
<span>Return</span>
</a>
</div>
</div><<if $characters.nicole.relationship < 30>>
<<goto "NicoleHugRejection">>
<<else>>
<<if $lastNicoleHugDay is $day>>
<<goto "NicoleHugAlready">>
<<else>>
<<goto "NicoleHugAcceptance">>
<</if>>
<</if>>
<<button "Stuck?" "YourRoom">><</button>><div class="location-ui">
<<text "You reach out to pull Nicole into a warm hug.">>
<<text "The sudden gesture catches her completely off guard, triggering her extreme social anxiety. Her eyes go wide with pure alarm, and she stumbles backward, hiding her face behind her hands">>
<<storyImg "assets/Characters/Nicole/nicole_rejection.webp">>
<<chat nicole "W-W-Wait! Too close... that's way too close!">>
<<text "Get Nicole's Relationship over 30.">>
<<advancetime 5>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="$hug_returnPassage">
<img src="assets/General/blank.webp">
<span>Return</span>
</a>
</div>
</div><div class="location-ui">
<<text "You step forward and gently envelope Nicole in your arms. Instead of panicking, she lets out a soft, trembling breath and leans completely into you">>
<<storyVideo "assets/Characters/Nicole/hug.mp4">>
<<text "Seizing the tender moment, you slowly rub her back and squeeze her close.">>
<<chat nicole "Please... just stay like this for a little longer.">>
<<addRel 2 nicole>>
<<addLust 1 nicole>><<advancetime 30>><<set $lastNicoleHugDay to $day>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="$hug_returnPassage">
<img src="assets/General/blank.webp">
<span>Return</span>
</a>
</div>
</div><div class="location-ui">
<<text "You reach out to pull Nicole into a warm hug.">>
<<chat nicole "We will hug again later, $playerName.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="$hug_returnPassage">
<img src="assets/General/blank.webp">
<span>Return</span>
</a>
</div>
</div><<if $characters.nicole.relationship > 50 or $characters.nicole.lust >= 20>>
<<if $nicoleKissDay is $day>>
<<goto "NicoleKissAlready">>
<<else>>
<<goto "NicoleKissAcceptance">>
<</if>>
<<else>>
<<goto "NicoleKissRejection">>
<</if>>
<<button "Stuck?" "YourRoom">><</button>><div class="location-ui">
<<text "As you close the distance and tilt down toward her lips, Nicole's extreme social anxiety takes complete control. She panics at the sudden romantic escalation, ducking her head away violently">>
<<chat nicole "W-Wait! P-Please, no!">>
<<storyImg "assets/Characters/Nicole/nicole_rejection.webp">>
<<chat nicole "I-I'm sorry! I can't... it's just too much! My head is spinning and I-I'm not ready for this at all...! Please don't look at me right now!">>
<<addRel -3 nicole>><<advancetime 20>>
<<text "Get Nicole's Relationship over 50 or Lust level over 2.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="$kiss_returnPassage">
<img src="assets/General/blank.webp">
<span>Return</span>
</a>
</div>
</div><div class="location-ui">
<<text "You slowly lean down, giving her ample time to realize your intent.">>
<<text "Nicole’s eyes go incredibly wide, but she doesn't pull away.">>
<<chat nicole "O-Oh wow...">>
<<storyVideo "assets/Characters/Nicole/kiss.mp4">>
<<chat nicole "-My knees feel completely like jelly right now... $playerName... that was so unbelievably sweet... I think I'm dreaming...">>
<<addRel 2 nicole>>
<<addLust 1 nicole>><<advancetime 60>><<set $nicoleKissDay to $day>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="$kiss_returnPassage">
<img src="assets/General/blank.webp">
<span>Return</span>
</a>
</div>
</div><div class="location-ui">
<<text "You lean in for a kiss.">>
<<chat nicole "A-Ah! M-More kissing already...I need a little time to calm down.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="$kiss_returnPassage">
<img src="assets/General/blank.webp">
<span>Return</span>
</a>
</div>
</div><div class="location-ui">
<<chat nicole "Are you out of your fucking mind!?">>
<<storyImg "assets/Characters/Nicole/nicole_rejection.webp">>
<<addRel -2 nicole>>
<<addLust -1 nicole>>
<<text "Get Nicole Lust Level to 5.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="$sex_returnPassage">
<img src="assets/General/blank.webp">
<span>Return</span>
</a>
</div>
</div><<if $characters.nicole.level >= 2>>
<<if $nicoleSlapDay is $day>>
<<goto "NicolesSlapAlready">>
<<else>>
<<goto "NicoleSlapAcceptance">>
<</if>>
<<else>>
<<goto "NicoleSlapRejection">>
<</if>>
<<button "Stuck?" "YourRoom">><</button>><div class="location-ui">
<<text "You try to slap Nicole's ass. She notices at the last second, panics, and jumps away from you. She covers her face with her hands, her heart pounding.">>
<<storyImg "assets/Characters/Nicole/nicole_rejection.webp">>
<<chat nicole "W-W-Wait! No! Please don't touch me like that... I'm not ready for things like this!">>
<<addRel -3 nicole>><<advancetime 20>>
<<text "Get Nicole's Lust Level to 2.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="$slap_returnPassage">
<img src="assets/General/blank.webp">
<span>Return</span>
</a>
</div>
</div><div class="location-ui">
<<text "Your hand connects with Nicole's ass with a soft smack.">>
<<storyVideo "assets/Characters/Nicole/slap.mp4">>
<<text "She lets out a high-pitched squeak and covers her face instantly.">>
<<chat nicole "A-Ah! $playerName! You can't just do that out of nowhere... my body feels so tingly now... you are so mean...">>
<<addRel 1 nicole>>
<<addLust 2 nicole>><<advancetime 30>><<set $nicoleSlapDay to $day>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="$slap_returnPassage">
<img src="assets/General/blank.webp">
<span>Return</span>
</a>
</div>
</div><div class="location-ui">
<<text "You move your hand toward her ass again.">>
<<chat nicole "N-No more! My ass is still sore from earlier">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="$slap_returnPassage">
<img src="assets/General/blank.webp">
<span>Return</span>
</a>
</div>
</div><div class="location-ui">
<<chat sophia "Didn't we already talk today, $playerName? I have other things to do.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="$mm_returnPassage">
<img src="assets/General/blank.webp">
<span>Return</span>
</a>
</div>
</div><div class="location-ui">
<<chat sophia "Are you out of your fucking mind!?">>
<<storyImg "assets/Characters/Sophia/sophia_rejection.webp">>
<<addRel -2 sophia>>
<<addLust -1 sophia>><<advancetime 40>>
<<text "Get Sophia Lust Level to 4.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="$blowjob_returnPassage">
<img src="assets/General/blank.webp">
<span>Return</span>
</a>
</div>
</div><<if $characters.sophia.level <= 2>>
<<goto "SophiaFootjobRejection">>
<<else>>
<<if $lastSophiaOutercourse3Day is $day>>
<<if $characters.sophia.level >= 5>>
<<set _randomNum to random(1, 3)>>
<<if _randomNum is 1>>
<<goto "SophiaFootjob1">>
<<elseif _randomNum is 2>>
<<goto "SophiaFootjob2">>
<<else>>
<<goto "SophiaFootjob3">>
<</if>>
<<else>>
<<goto "SophiaFootjobAlready">>
<</if>>
<<else>>
<<set _randomNum to random(1, 3)>>
<<if _randomNum is 1>>
<<goto "SophiaFootjob1">>
<<elseif _randomNum is 2>>
<<goto "SophiaFootjob2">>
<<else>>
<<goto "SophiaFootjob3">>
<</if>>
<</if>>
<</if>>
<<button "Stuck?" "YourRoom">><</button>><div class="location-ui">
<<chat sophia "Are you out of your fucking mind!?">>
<<storyImg "assets/Characters/Sophia/sophia_rejection.webp">>
<<addRel -2 sophia>>
<<addLust -1 sophia>><<advancetime 40>>
<<text "Get Sophia's Lust Level to 3.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="$footjob_returnPassage">
<img src="assets/General/blank.webp">
<span>Return</span>
</a>
</div>
</div><div class="location-ui">
<<chat sophia "We already had our fun today, $playerName.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="$footjob_returnPassage">
<img src="assets/General/blank.webp">
<span>Return</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/Generic/interior.webp')"></div>
<div class="location-ui">
<<chat sophia "You want me to use my feet.">>
<<playerchat "Yeah.">>
<<chat sophia "Nobody was ever so eager to use my feet before.">><<nobr>>
<<set _randomNumVid1 to random(1, 13)>>
<<set _path to "assets/Characters/Sophia/Footjob/fj" + _randomNumVid1 + ".mp4">>
<<storyVideo _path>>
<</nobr>>
<<text "She keeps checking your face. Every few seconds, quick glances, reading you for disappointment. Her toes curl and she pulls them straight again and asks, quietly, whether it's alright.">>
<<playerchat "It's better than alright.">>
<<chat sophia "You'd say that.">>
<<playerchat "I'd say it if it wasn't, too, so you'd stop looking at me like that.">>
<<text "That gets a laugh out of her — short and surprised — and the tension in her shoulders lets go a little.">><<nobr>>
<<set _randomNumVid2 to random(1, 9)>>
<<set _path to "assets/Characters/Sophia/Footjob/randfj" + _randomNumVid2 + ".mp4">>
<<storyVideo _path>>
<</nobr>>
<<text "She starts paying proper attention after that. Brow furrowed, lip between her teeth, working it out like a puzzle she's decided she's going to solve. She's enjoying being good at something new and doing a poor job of hiding it.">>
<<text "You cum. Hard.">><<nobr>>
<<set _randomNumVid3 to random(1, 6)>>
<<set _path to "assets/Characters/Sophia/Footjob/cumfj" + _randomNumVid3 + ".mp4">>
<<storyVideo _path>>
<</nobr>>
<<chat sophia "Alright. I get it now. I see the appeal.">>
<<playerchat "Told you.">>
<<chat sophia "Don't be smug, I've only just started.">>
<<addLust 2 sophia>>
<<addRel 1 sophia>><<advancetime 60>><<set $lastSophiaOutercourse3Day to $day>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="$footjob_returnPassage">
<img src="assets/General/blank.webp">
<span>Return</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/Generic/interior.webp')"></div>
<div class="location-ui">
<<text "She's got the hang of it. There's a look on her face you've seen before — the one she gets when she's about to make something her business.">>
<<chat sophia "Watch. Don't talk, just watch.">><<nobr>>
<<set _randomNumVid1 to random(1, 13)>>
<<set _path to "assets/Characters/Sophia/Footjob/fj" + _randomNumVid1 + ".mp4">>
<<storyVideo _path>>
<</nobr>>
<<text "She's performing. Chin up, eyes on you, entirely too pleased with herself, and she's holding the eye contact long past the point where it's comfortable — daring you to look away first.">>
<<playerchat "You're enjoying this.">>
<<chat sophia "I'm enjoying how easy you are.">>
<<text "She says it flat, without a flicker, and then ruins it by grinning at her own joke.">><<nobr>>
<<set _randomNumVid2 to random(1, 9)>>
<<set _path to "assets/Characters/Sophia/Footjob/randfj" + _randomNumVid2 + ".mp4">>
<<storyVideo _path>>
<</nobr>>
<<text "But it costs her something, and you can see it. Her breath's gone shallow. The confidence is real, but it's got a crack in it now, and she's talking more than she needs to in order to cover the noise.">>
<<chat sophia "You're going to be thinking about this all week. In meetings. In the shower. It's going to be a problem for you.">>
<<playerchat "It's already a problem.">>
<<chat sophia "Good.">><<nobr>>
<<set _randomNumVid3 to random(1, 6)>>
<<set _path to "assets/Characters/Sophia/Footjob/cumfj" + _randomNumVid3 + ".mp4">>
<<storyVideo _path>>
<</nobr>>
<<text "You cum. Hard.">>
<<addLust 2 sophia>>
<<addRel 1 sophia>><<advancetime 60>><<set $lastSophiaOutercourse3Day to $day>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="$footjob_returnPassage">
<img src="assets/General/blank.webp">
<span>Return</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/Generic/interior.webp')"></div>
<div class="location-ui">
<<text "She does it without announcing it. One foot slides into your lap mid-conversation and she carries on talking about the boiler, or the bins, or something, like nothing's happened at all.">>
<<playerchat "You're not going to stop talking.">>
<<chat sophia "Should I?">>
<<playerchat "No. Keep going.">>
<<text "So she does. She tells you about her day in flat, unhurried sentences, and the whole time her foot is working and her eyes are on the middle distance, and she's so convincingly casual that it's almost annoying.">><<nobr>>
<<set _randomNumVid1 to random(1, 13)>>
<<set _path to "assets/Characters/Sophia/Footjob/fj" + _randomNumVid1 + ".mp4">>
<<storyVideo _path>>
<</nobr>>
<<text "It doesn't last. Mid-sentence she stops, loses the thread entirely, and stares at nothing for a second before picking it back up in the wrong place. Then she gives up and just watches you instead.">>
<<chat sophia "What was I saying?">>
<<playerchat "No idea.">>
<<chat sophia "Great. Thanks. Very helpful.">><<nobr>>
<<set _randomNumVid2 to random(1, 9)>>
<<set _path to "assets/Characters/Sophia/Footjob/randfj" + _randomNumVid2 + ".mp4">>
<<storyVideo _path>>
<</nobr>>
<<text "The pretence is gone after that. She's leaning back on her hands, quieter now, and the look she's giving you has gone from idle to interested to something with a bit of heat behind it.">><<nobr>>
<<set _randomNumVid3 to random(1, 6)>>
<<set _path to "assets/Characters/Sophia/Footjob/cumfj" + _randomNumVid3 + ".mp4">>
<<storyVideo _path>>
<</nobr>>
<<text "You cum. Hard">>
<<chat sophia "We should do this more often.">>
<<playerchat "You say that like it was your idea.">>
<<chat sophia "It was, technically. I started it.">>
<<addLust 2 sophia>>
<<addRel 1 sophia>><<advancetime 60>><<set $lastSophiaOutercourse3Day to $day>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="$footjob_returnPassage">
<img src="assets/General/blank.webp">
<span>Return</span>
</a>
</div>
</div><<if $lastSophiaGiftDay is $day>>
<<goto "GiveGiftSophiaAlready">>
<<else>>
<<goto "GiveGiftSophia">>
<</if>>
<<button "Stuck?" "YourRoom">><</button>><div class="location-ui">
<<text "Sophia is in the middle of her of her work.">>
<<playerchat "Hey, Sophia. I've got something for you...">>
<<chat sophia "A gift? For me?">>
<<advancetime 10>>
<div class="choice-buttons" id="giftChoices">
<<button "Give Sophia a Rose">>
<<if $inventory.rose >= 1>>
<<replace "#giftChoices">>
<<playerchat "Yes, Sophia, for you. Here's a rose.">>
<<storyImg "assets/General/Items/rose.webp">>
<<text "Her eyes widen, staring at the perfectly bloomed petals before looking back up at you.">>
<<chat sophia "Oh... it's beautiful. You shouldn't have... truly. A rose is such a... significant gesture. I'll put it in a vase right away.">>
<<storyImg "assets/Characters/Sophia/sophia_happy.webp">>
<<addRel 5 sophia>>
<<run setup.removeItem("rose")>>
<<set $lastSophiaGiftDay to $day>><<advancetime 40>>
<</replace>>
<<else>>
<<replace "#giftChoices">>
<<playerchat "Yes, Sophia, for you. Here's a rose.">>
<<text "You don't have a rose.">>
<<text "Her eyes shining with sudden, deep emotion.">>
<<chat sophia "Oh, that is so incredibly sweet of you... wait. Where is it?">>
<<text "Her eyes search your empty hands, and she realizes you're empty-handed.">>
<<chat sophia "Oh... it was a joke? I... I see. Please don't tease me like that. For a second, I actually thought... well, never mind. It's not nice to play with my feelings.">><<set $lastSophiaGiftDay to $day>><<advancetime 40>>
<<addRel -3 sophia>>
<</replace>>
<</if>>
<</button>>
<<button "Give Sophia a Lust Mystery Box">>
<<if $inventory.lust_gift >= 1>>
<<replace "#giftChoices">><<nobr>>
<<set _randomNum to random(1, 5)>>
<<if _randomNum is 1>>
<<set _randomToy to "A Small Dildo">>
<<set _passage to "LustGiftSophiaSmallDildo">>
<<elseif _randomNum is 2>>
<<set _randomToy to "A Big Dildo">>
<<set _passage to "LustGiftSophiaBigDildo">>
<<elseif _randomNum is 3>>
<<set _randomToy to "A Butt Plug">>
<<set _passage to "LustGiftSophiaButtPlug">>
<<elseif _randomNum is 4>>
<<set _randomToy to "A Vibrator">>
<<set _passage to "LustGiftSophiaVibrator">>
<<else>>
<<set _randomToy to "A Cock Ring">>
<<set _passage to "LustGiftSophiaCockRing">>
<</if>>
<</nobr>>
<<playerchat "Yes, Sophia, for you. I bought you the Lust Mystery Box from the store.">>
<<storyImg "assets/General/Items/lust_gift.webp">>
<<chat sophia "ou... you shouldn't be giving me something like this. This is completely... inappropriate.">>
<<text "Sophia stops talking, her eyes fixed on" _randomToy>>
<<set $lastSophiaGiftDay to $day>><<advancetime 40>>
<<replace "#returnSophia">><</replace>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="_passage">
<img src="assets/General/blank.webp">
<span>Continue</span>
</a>
</div>
<</replace>>
<<else>>
<<replace "#giftChoices">>
<<playerchat "Yes, Sophia, for you. I bought you the Lust Mystery Box from the store.">>
<<text "When you announce that you brought a 'Lust Mystery Box,' Sophia's breathing hitches.">>
<<chat sophia "A... a Lust Box? For me... your stepmother?">>
<<text "You don't have a Lust Mystery Box.">>
<<chat sophia "You... you don't actually have anything? You were just playing a trick? How could you joke about something so incredibly lustful?">>
<<set $lastSophiaGiftDay to $day>><<advancetime 40>>
<<addLust -2 sophia>>
<</replace>>
<</if>>
<</button>>
</div>
<div id="returnSophia" class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="$giftSophia_returnPassage">
<img src="assets/General/blank.webp">
<span>Return</span>
</a>
</div>
</div><div class="location-ui">
<<chat sophia "Some other day, I'm really busy now.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="$giftSophia_returnPassage">
<img src="assets/General/blank.webp">
<span>Return</span>
</a>
</div>
</div><div class="location-ui">
<<chat sophia "Accepting this gift was inappropriate by itself, but A Small Dildo? Really?">>
<<storyImg "assets/Characters/Sophia/sophia_annoyed.webp">>
<<addLust -3 sophia>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="$giftSophia_returnPassage">
<img src="assets/General/blank.webp">
<span>Return</span>
</a>
</div>
</div><div class="location-ui">
<<chat sophia "Are you serious, $playerName? A Cock Ring? What do I look like, a man?">>
<<storyImg "assets/Characters/Sophia/sophia_annoyed.webp">>
<<addLust -3 sophia>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="$giftSophia_returnPassage">
<img src="assets/General/blank.webp">
<span>Return</span>
</a>
</div>
</div><div class="location-ui">
<<chat sophia "Thats a REALLY BIG gift, $playerName.">>
<<storyImg "assets/Characters/Sophia/sophia_happy.webp">>
<<addLust 3 sophia>>
<<if $characters.sophia.level >= 2>>
<<text "Seems like Sophia has a mystery reward for you too.">>
<<chat sophia "Might aswell show some gratitude.">>
<<set _nakedNum to random(1, 5)>>
<<set _path to "assets/Characters/Sophia/GiveGift/naked" + _nakedNum + ".mp4">>
<<storyVideo _path>>
<</if>>
<<if $characters.sophia.level >= 3>>
<<chat sophia "Or would you like to see me use the gift, $playerName?">>
<<set _dildoNum to random(1, 3)>>
<<set _path to "assets/Characters/Sophia/GiveGift/dildo" + _dildoNum + ".mp4">>
<<storyVideo _path>>
<</if>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="$giftSophia_returnPassage">
<img src="assets/General/blank.webp">
<span>Return</span>
</a>
</div>
</div><div class="location-ui">
<<chat sophia "Let this be our little secret: I love using butt plugs.">>
<<storyImg "assets/Characters/Sophia/sophia_happy.webp">>
<<addLust 3 sophia>>
<<if $characters.sophia.level >= 2>>
<<text "Seems like Sophia has a mystery reward for you too.">>
<<chat sophia "Might aswell show some gratitude.">>
<<set _nakedNum to random(1, 5)>>
<<set _path to "assets/Characters/Sophia/GiveGift/naked" + _nakedNum + ".mp4">>
<<storyVideo _path>>
<</if>>
<<if $characters.sophia.level >= 3>>
<<chat sophia "Or would you like to see me use the gift, $playerName?">>
<<set _plugNum to random(1, 5)>>
<<set _path to "assets/Characters/Sophia/GiveGift/plug" + _plugNum + ".mp4">>
<<storyVideo _path>>
<</if>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="$giftSophia_returnPassage">
<img src="assets/General/blank.webp">
<span>Return</span>
</a>
</div>
</div><div class="location-ui">
<<chat sophia "It looks like a fun alone time. Thank you for the vibrator.">>
<<storyImg "assets/Characters/Sophia/sophia_happy.webp">>
<<addLust 3 sophia>>
<<if $characters.sophia.level >= 2>>
<<text "Seems like Sophia has a mystery reward for you too.">>
<<chat sophia "Might aswell show some gratitude.">>
<<set _nakedNum to random(1, 5)>>
<<set _path to "assets/Characters/Sophia/GiveGift/naked" + _nakedNum + ".mp4">>
<<storyVideo _path>>
<</if>>
<<if $characters.sophia.level >= 3>>
<<chat sophia "Or would you like to see me use the gift, $playerName?">>
<<set _vibratorNum to random(1, 4)>>
<<set _path to "assets/Characters/Sophia/GiveGift/vibrator" + _vibratorNum + ".mp4">>
<<storyVideo _path>>
<</if>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="$giftSophia_returnPassage">
<img src="assets/General/blank.webp">
<span>Return</span>
</a>
</div>
</div><<if $characters.sophia.level <= 2>>
<<goto "SophiaHandjobRejection">>
<<else>>
<<if $lastSophiaOutercourse3Day is $day>>
<<if $characters.sophia.level >= 5>>
<<set _randomNum to random(1, 3)>>
<<if _randomNum is 1>>
<<goto "SophiaHandjob1">>
<<elseif _randomNum is 2>>
<<goto "SophiaHandjob2">>
<<else>>
<<goto "SophiaHandjob3">>
<</if>>
<<else>>
<<goto "SophiaHandjobAlready">>
<</if>>
<<else>>
<<set _randomNum to random(1, 3)>>
<<if _randomNum is 1>>
<<goto "SophiaHandjob1">>
<<elseif _randomNum is 2>>
<<goto "SophiaHandjob2">>
<<else>>
<<goto "SophiaHandjob3">>
<</if>>
<</if>>
<</if>>
<<button "Stuck?" "YourRoom">><</button>><div class="location-ui">
<<chat sophia "Are you out of your fucking mind!?">>
<<storyImg "assets/Characters/Sophia/sophia_rejection.webp">>
<<addRel -2 sophia>>
<<addLust -1 sophia>><<advancetime 40>>
<<text "Get Sophia's Lust Level to 3.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="$handjob_returnPassage">
<img src="assets/General/blank.webp">
<span>Return</span>
</a>
</div>
</div><div class="location-ui">
<<chat sophia "We already had our fun today, $playerName.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="$handjob_returnPassage">
<img src="assets/General/blank.webp">
<span>Return</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/Generic/interior.webp')"></div>
<div class="location-ui">
<<playerchat "You've been looking at me all day. Do something about it.">>
<<chat sophia "Have I?">>
<<playerchat "You know you have.">>
<<text "She doesn't deny it. She just looks at you for a second too long, and something in her face gives up the argument before her mouth does.">><<nobr>>
<<set _randomNumVid1 to random(1, 18)>>
<<set _path to "assets/Characters/Sophia/Handjob/hj" + _randomNumVid1 + ".mp4">>
<<storyVideo _path>>
<</nobr>>
<<text "Her eyes stay up on yours the whole time. Not watching what she's doing — watching you. There's a flush creeping up her neck and she's chewing the inside of her cheek like she's concentrating on something difficult.">>
<<chat sophia "You're going to be smug about this.">>
<<playerchat "Probably.">><<nobr>>
<<set _randomNumVid2 to random(1, 18)>>
<<if _randomNumVid2 is _randomNumVid1>>
<<set _randomNumVid2 to random(1, 18)>>
<</if>>
<<set _path to "assets/Characters/Sophia/Handjob/hj" + _randomNumVid2 + ".mp4">>
<<storyVideo _path>>
<</nobr>>
<<text "She leans her weight into you, close enough that you can feel her breathing. Her mouth is slightly open. Whatever she was going to say next, she's forgotten it.">><<nobr>>
<<set _randomNumVid3 to random(1, 9)>>
<<set _path to "assets/Characters/Sophia/Handjob/randhj" + _randomNumVid3 + ".mp4">>
<<storyVideo _path>>
<</nobr>>
<<playerchat "Getting close.">>
<<text "She nods. Just once, quick, like she's pleased with herself and trying to hide it.">><<nobr>>
<<set _randomNumVid4 to random(1, 9)>>
<<set _path to "assets/Characters/Sophia/Handjob/cumhj" + _randomNumVid4 + ".mp4">>
<<storyVideo _path>>
<</nobr>>
<<text "You cum hard, and she laughs — quiet, a bit breathless, at nothing in particular.">>
<<chat sophia "God. Okay. That was not how I expected this conversation to go.">>
<<addLust 2 sophia>>
<<addRel 1 sophia>><<advancetime 60>><<set $lastSophiaOutercourse3Day to $day>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="$handjob_returnPassage">
<img src="assets/General/blank.webp">
<span>Return</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/Generic/interior.webp')"></div>
<div class="location-ui">
<<playerchat "Put that down. I need you for a minute.">>
<<chat sophia "A minute.">>
<<playerchat "Give or take.">>
<<text "She sighs like it's an enormous inconvenience, but she's already moving. That's the thing about her — the performance never lasts.">><<nobr>>
<<set _randomNumVid1 to random(1, 18)>>
<<set _path to "assets/Characters/Sophia/Handjob/hj" + _randomNumVid1 + ".mp4">>
<<storyVideo _path>>
<</nobr>>
<<text "She doesn't bother warming up to it. Straight in, jaw set, treating it like a task. Then her eyes drift down and her expression softens without her permission and the whole pretence falls apart.">>
<<chat sophia "Fine. You have my attention.">>
<<playerchat "Tighter.">>
<<chat sophia "You'll complain.">>
<<playerchat "I won't.">><<nobr>>
<<set _randomNumVid2 to random(1, 18)>>
<<if _randomNumVid2 is _randomNumVid1>>
<<set _randomNumVid2 to random(1, 18)>>
<</if>>
<<set _path to "assets/Characters/Sophia/Handjob/hj" + _randomNumVid2 + ".mp4">>
<<storyVideo _path>>
<</nobr>>
<<text "She's standing too close now. Her hip keeps knocking yours and she's stopped pretending to look anywhere but your face. There's a little crease between her brows, the one she gets when she's actually paying attention.">><<nobr>>
<<set _randomNumVid4 to random(1, 9)>>
<<set _path to "assets/Characters/Sophia/Handjob/randhj" + _randomNumVid4 + ".mp4">>
<<storyVideo _path>>
<</nobr>>
<<chat sophia "Tell me when.">>
<<playerchat "Now. Don't stop.">>
<<text "You cum and she makes a small surprised sound, like she wasn't expecting it to actually happen. Then she's laughing at herself, wiping her palm on your thigh.">><<nobr>>
<<set _randomNumVid4 to random(1, 9)>>
<<set _path to "assets/Characters/Sophia/Handjob/cumhj" + _randomNumVid4 + ".mp4">>
<<storyVideo _path>>
<</nobr>>
<<chat sophia "I've just got the hang of that and now I've got to wash my hands.">>
<<addLust 4 sophia>>
<<addRel 2 sophia>><<advancetime 60>><<set $lastSophiaOutercourse3Day to $day>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="$handjob_returnPassage">
<img src="assets/General/blank.webp">
<span>Return</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/Generic/interior.webp')"></div>
<div class="location-ui">
<<chat sophia "You're staring.">>
<<playerchat "You're worth staring at.">>
<<text "She makes a face — the one that means she's pleased and doesn't want to be seen being pleased.">>
<<chat sophia "Flattery.">>
<<playerchat "Come here and I'll prove it.">>
<<text "She comes.">><<nobr>>
<<set _randomNumVid1 to random(1, 18)>>
<<set _path to "assets/Characters/Sophia/Handjob/hj" + _randomNumVid1 + ".mp4">>
<<storyVideo _path>>
<</nobr>>
<<text "Her eyes are dark and steady and she's got her lip caught between her teeth. She's more focused than she'd ever admit to being, and every so often her gaze drops and her breath catches and she has to start over.">>
<<chat sophia "Don't come on my face. I've got to go out.">>
<<playerchat "Thats for me to decide.">>
<<chat sophia "You're lucky I like you.">><<nobr>>
<<set _randomNumVid2 to random(1, 18)>>
<<if _randomNumVid2 is _randomNumVid1>>
<<set _randomNumVid2 to random(1, 18)>>
<</if>>
<<set _path to "assets/Characters/Sophia/Handjob/hj" + _randomNumVid2 + ".mp4">>
<<storyVideo _path>>
<</nobr>>
<<text "She pulls her top down one-handed without looking away from you, and there's a colour in her cheeks now that has nothing to do with the effort.">><<nobr>>
<<set _randomNumVid4 to random(1, 9)>>
<<set _path to "assets/Characters/Sophia/Handjob/randhj" + _randomNumVid4 + ".mp4">>
<<storyVideo _path>>
<</nobr>>
<<playerchat "Close.">>
<<chat sophia "Good. Go on then.">>
<<text "You cum, hard. She sits back on her heels and looks down at herself — and then up at you, and the smile she's fighting finally wins.">><<nobr>>
<<set _randomNumVid4 to random(1, 9)>>
<<set _path to "assets/Characters/Sophia/Handjob/cumhj" + _randomNumVid4 + ".mp4">>
<<storyVideo _path>>
<</nobr>>
<<chat sophia "Right. Shower.">>
<<addLust 5 sophia>>
<<addRel 2 sophia>><<advancetime 60>><<set $lastSophiaOutercourse3Day to $day>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="$handjob_returnPassage">
<img src="assets/General/blank.webp">
<span>Return</span>
</a>
</div>
</div><<if $characters.sophia.relationship < 30>>
<<goto "SophiaHugRejection">>
<<else>>
<<if $sophiaLastHugDay is $day>>
<<goto "SophiaHugAlready">>
<<else>>
<<goto "SophiaHugAcceptance">>
<</if>>
<</if>>
<<button "Stuck?" "YourRoom">><</button>><div class="location-ui">
<<text "You go in for a hug, but Sophia stiffens up and takes a step back.">>
<<storyImg "assets/Characters/Sophia/hug_rejection.webp">>
<<chat sophia "Uh... No thanks. What are you doing?">>
<<text "Get Sophia's Relationship over 30.">><<advancetime 40>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="$hug_returnPassage">
<img src="assets/General/blank.webp">
<span>Return</span>
</a>
</div>
</div><div class="location-ui">
<<text "You go in for a hug. Sophia relaxes and returns the gesture.">>
<<storyVideo "assets/Characters/Sophia/hug.mp4">>
<<text "You sieze the opportunity to feel her up a little bit, and she doesn't seem to mind.">>
<<chat sophia "Thanks, I needed that.">><<set $sophiaLastHugDay to $day>>
<<addRel 2 sophia>>
<<addLust 1 sophia>><<advancetime 30>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="$hug_returnPassage">
<img src="assets/General/blank.webp">
<span>Return</span>
</a>
</div>
</div><div class="location-ui">
<<text "You go in for a hug.">>
<<chat sophia "Enough hugging for today, $playerName.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="$hug_returnPassage">
<img src="assets/General/blank.webp">
<span>Return</span>
</a>
</div>
</div><<if $characters.sophia.relationship > 50 or $characters.sophia.lust >= 20>>
<<if $sophiaKissDay is $day>>
<<goto "SophiaKissAlready">>
<<else>>
<<goto "SophiaKissAcceptance">>
<</if>>
<<else>>
<<goto "SophiaKissRejection">>
<</if>>
<<button "Stuck?" "YourRoom">><</button>><div class="location-ui">
<<text "You lean in for a kiss.">>
<<text "She steps back, her eyes wide as she tries to rationalize the taboo tension">>
<<chat sophia "What on earth are you doing?!">>
<<storyImg "assets/Characters/Sophia/hug_rejection.webp">>
<<chat sophia "We cannot do this, $playerName! We are family... we are absolutely not like that!">>
<<addRel -3 sophia>><<advancetime 40>>
<<text "Get Sophia's Relationship over 50 or Lust level over 2.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="$kiss_returnPassage">
<img src="assets/General/blank.webp">
<span>Return</span>
</a>
</div>
</div><div class="location-ui">
<<text "You gently but firmly step into her space and close the distance, capturing her lips before her doubts can catch up to her.">>
<<chat sophia "Mmm... oh goodness...">>
<<storyVideo "assets/Characters/Sophia/kiss.mp4">>
<<chat sophia "Fuck $playerName... that was hot...">>
<<addRel 2 sophia>>
<<addLust 1 sophia>><<advancetime 60>><<set $sophiaKissDay to $day>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="$kiss_returnPassage">
<img src="assets/General/blank.webp">
<span>Return</span>
</a>
</div>
</div><div class="location-ui">
<<text "You lean in for a kiss.">>
<<chat sophia "Enough kissing for today, $playerName, I'm busy...">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="$kiss_returnPassage">
<img src="assets/General/blank.webp">
<span>Return</span>
</a>
</div>
</div><div class="location-ui">
<<chat sophia "Are you out of your fucking mind!?">>
<<storyImg "assets/Characters/Sophia/sophia_rejection.webp">>
<<addRel -2 sophia>>
<<addLust -1 sophia>><<advancetime 40>>
<<text "Get Sophia's Lust Level to 5.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="$sex_returnPassage">
<img src="assets/General/blank.webp">
<span>Return</span>
</a>
</div>
</div><<if $characters.sophia.level >= 2>>
<<if $sophiaSlapDay is $day>>
<<goto "SophiasSlapAlready">>
<<else>>
<<goto "SophiaSlapAcceptance">>
<</if>>
<<else>>
<<goto "SophiaSlapRejection">>
<</if>>
<<button "Stuck?" "YourRoom">><</button>><div class="location-ui">
<<text "You attempt to slap Sophia's ass, but she quickly turns around and glares at you.">>
<<storyImg "assets/Characters/Sophia/slap_rejection.webp">>
<<chat sophia "Did you just try to slap my ass? Are you crazy? Attempt that one more time and you're in alot of trouble...">>
<<addRel -3 sophia>><<advancetime 40>>
<<text "Get Sophia's Lust Level to 2.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="$slap_returnPassage">
<img src="assets/General/blank.webp">
<span>Return</span>
</a>
</div>
</div><div class="location-ui">
<<text "You attempt to slap Sophia's ass, and she lets out a surprised yelp.">>
<<storyVideo "assets/Characters/Sophia/slap.mp4">>
<<chat sophia "What was that for, $playerName?">>
<<addRel 1 sophia>>
<<addLust 2 sophia>><<advancetime 30>><<set $sophiaSlapDay to $day>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="$slap_returnPassage">
<img src="assets/General/blank.webp">
<span>Return</span>
</a>
</div>
</div><div class="location-ui">
<<text "You attempt to slap Sophia's ass, but she pulls away.">>
<<chat sophia "Enough slapping my ass for today, $playerName, my ass hurts...">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="$slap_returnPassage">
<img src="assets/General/blank.webp">
<span>Return</span>
</a>
</div>
</div><<if $CharQuests.clair.clairMainQuest1.status is "active" and $CharQuests.clair.clairMainQuest1.step is 1>>
<<goto "ClairMainQuest1P5">>
<<else>>
<<goto "City">>
<</if>>
<<button "Stuck?" "YourRoom">><</button>><div class="location-bg" style="background-image: url('assets/Locations/City/city.webp')"></div>
<div class="location-title">🏢 City
<<storyImg "assets/Locations/City/city.webp">>
</div>
<div class="location-ui">
<<text "City">>
<div class="location-grid">
<a class="loc-btn" data-passage="OutsideDecider">
<img src="assets/Locations/House/house.webp">
<span>Home</span>
</a>
<a class="loc-btn" data-passage="GymDecider">
<img src="assets/Locations/City/gym.webp">
<<charBadges "Gym">>
<span>Gym</span>
</a>
<a class="loc-btn" data-passage="StoreDecider">
<img src="assets/Locations/City/store.webp">
<<charBadges "Store">>
<span>Store</span>
</a>
<a class="loc-btn" data-passage="ParkDecider">
<img src="assets/Locations/City/park.webp">
<<charBadges "Park">>
<span>Park</span>
</a>
<a class="loc-btn" data-passage="NightclubDecider">
<img src="assets/Locations/City/nightclub.webp">
<<charBadges "Nightclub">>
<span>Nightclub</span>
</a>
<a class="loc-btn" data-passage="ComingSoon">
<img src="assets/General/locked.webp">
<<set $cs_returnPassage to "CityDecider">>
<span>Coming Soon</span>
</a>
</div>
</div><<if $hour >= 21 or $hour < 9>>
<<goto "GymClosed">>
<<else>>
<<if $hasGymMembership is false>>
<<goto "GymNoMembershipDecider">>
<<else>>
<<goto "Gym">>
<</if>>
<</if>>
<<button "Stuck?" "YourRoom">><</button>><div class="location-bg" style="background-image: url('assets/Locations/City/city.webp')"></div>
<div class="location-ui">
<<text "The gym is currently closed. It opens at 9:00 AM and closes at 9:00 PM. Please come back during business hours.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="CityDecider">
<img src="assets/Locations/City/city.webp">
<span>City</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/City/gym.webp')"></div>
<div class="location-title">🏢 Gym
<<storyImg "assets/Locations/City/gym.webp">>
</div>
<div class="location-ui">
<<text "You're at the gym. You can work out to improve your stats.">>
<<set _randomNum to random(1, 10)>>
<<if _randomNum <= 5>>
<<set _random to random(1, 12)>>
<<set _path to "assets/Locations/City/Gym/RandomClips/clothed" + _random + ".mp4">>
<<storyVideo _path>>
<<playerchat "//(Woah, these girls are hot... Maybe this gym isn't bad afterall)//">>
<</if>>
<div class="location-grid">
<a class="loc-btn" data-passage="GymTrainAloneDecider">
<<energyGate 25>>
<img src="assets/Locations/City/Gym/train_alone_icon.webp">
<span>Train Alone</span>
</a>
<a class="loc-btn" data-passage="GymTrainCoachDecider">
<<energyGate 25>>
<img src="assets/Locations/City/Gym/train_coach_icon.webp">
<span>Train with Coach</span>
</a>
<a class="loc-btn loc-btn--wide" data-passage="CityDecider">
<img src="assets/Locations/City/city.webp">
<span>City</span>
</a>
</div>
</div><<goto "GymNoMembership">>
<<button "Stuck?" "YourRoom">><</button>><div class="location-bg" style="background-image: url('assets/Locations/City/gym.webp')"></div>
<div class="location-title">🏢 Gym
<<storyImg "assets/Locations/City/gym.webp">>
</div>
<div class="location-ui">
<<text "You try walking into the gym, but a big muscular man stops you.">>
<<rchat "GymOwner" "assets/Locations/City/Gym/gym_owner.webp" "Membership first. Workout second. Punk.">>
<<text "You need a gym membership to work out here.">>
<div class="choice-buttons" id="membership">
<<button "Buy Membership 250$">>
<<if $money < 250>>
<<replace "#membership">>
<<text "You pull out your wallet, but it looks like you don't have enough money.">>
<<rchat "GymOwner" "assets/Locations/City/Gym/gym_owner.webp" "Price is 250$. Read the signs and don't waste my time.">>
<</replace>>
<<else>>
<<replace "#membership">>
<<playerchat "Here's 250$... Can I workout in peace now?">>
<<addmoney -250>>
<<rchat "GymOwner" "assets/Locations/City/Gym/gym_owner.webp" "Money makes us friends.">>
<<text "You have a gym membership now.">>
<<set $hasGymMembership to true>>
<</replace>>
<</if>>
<</button>>
</div>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="CityDecider">
<img src="assets/Locations/City/city.webp">
<span>Return</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/City/gym.webp')"></div>
<div class="location-ui">
<<text "While walking into the gym again, you get stopped by the owner.">>
<<rchat "GymOwner" "assets/Locations/City/Gym/gym_owner.webp" "You know the rules. One workout a day. You can't be coming here 5 times daily. This isn't your house.">>
<<text "You should try coming here tomorrow.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="CityDecider">
<img src="assets/Locations/City/city.webp">
<span>Return</span>
</a>
</div>
</div><<if $lastGymDay is $day>>
<<goto "GymAlreadyWorkout">>
<<else>>
<<set _randomNum to random(1, 100)>>
<<if _randomNum <= 65>>
<<goto "GymTrainAlone">>
<<else>>
<<goto "GymTrainAloneDistracted">>
<</if>>
<</if>>
<<button "Stuck?" "YourRoom">><</button>><div class="location-bg" style="background-image: url('assets/Locations/City/gym.webp')"></div>
<div class="location-ui">
<<text "You decided to train alone at the gym today.">>
<<storyVideo "assets/Locations/City/Gym/alone_workout.mp4">>
<<if $STR < 65>>
<<addSTR 2>>
<<else>>
<<text "You should consider working out with a coach to continue your fitness journey. This is getting too easy.">>
<</if>>
<<addenergy -25>><<set $lastGymDay to $day>><<advancetime 60>>
<<text "You can feel your muscles getting bigger.">>
<<playerchat "//(This was a good workout)//">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="CityDecider">
<img src="assets/Locations/City/city.webp">
<span>Leave</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/City/gym.webp')"></div>
<div class="location-ui">
<<text "You decided to train alone at the gym today.">>
<<playerchat "//(Am I seeing this correctly!?)//">>
<<set _randomNum to random(1, 12)>><<set $lastGymDay to $day>>
<<set _path to "assets/Locations/City/Gym/RandomClips/naked" + _randomNum + ".mp4">>
<<storyVideo _path>>
<<text "You got too distracted by the naked women to continue working out.">><<advancetime 60>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="CityDecider">
<img src="assets/Locations/City/city.webp">
<span>Leave</span>
</a>
</div>
</div><<if $lastGymDay is $day>>
<<goto "GymAlreadyWorkout">>
<<else>>
<<goto "GymTrainCoachCost">>
<</if>>
<<button "Stuck?" "YourRoom">><</button>><div class="location-bg" style="background-image: url('assets/Locations/City/gym.webp')"></div>
<div class="location-ui">
<<playerchat "I would like to train with a coach today.">>
<<rchat "Brenda" "assets/Characters/Brenda/brenda_chat.webp" "It's 25$ a session, but you also get a nice view.">>
<div class="choice-buttons" id="workout">
<<button "Workout with coach Brenda 25$">>
<<if $money < 25>>
<<replace "#workout">>
<<text "You pull out your wallet, but it looks like you don't have enough money.">>
<<rchat "Brenda" "assets/Characters/Brenda/brenda_chat.webp" "That's just not gonna work for me, $playerName.">>
<</replace>>
<<else>>
<<replace "#workout">>
<<playerchat "All right, I'll take it.">>
<<addmoney -25>>
<<text "You and Brenda start working out. She corrects your forms and pushes you to workout harder.">>
<<rchat "Brenda" "assets/Characters/Brenda/brenda_chat.webp" "One more rep if you want that muscle to grow, come on $playerName!">>
<<storyVideo "assets/Locations/City/Gym/alone_workout.mp4">>
<<addSTR 4>>
<<addenergy -25>><<set $lastGymDay to $day>>
<<text "This is the highest quality workout you've hit in a while.">><<set _randomNum to random(1, 6)>><<set _path to "assets/Locations/City/Gym/RandomClips/ass" + _randomNum + ".mp4">>
<<storyVideo _path>>
<<playerchat "//(She really didn't lie about the view...)//">><<advancetime 60>>
<</replace>>
<</if>>
<</button>>
</div>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="CityDecider">
<img src="assets/Locations/City/city.webp">
<span>Leave</span>
</a>
</div>
</div><<if $hour >= 23 or $hour <= 5>>
<<if $CharQuests.lilith.lilithFeedQuest.status is "active" and $CharQuests.lilith.lilithFeedQuest.step is 1>>
<<goto "LilithFeedQuestP2">>
<<else>>
<<goto "Nightclub">>
<</if>>
<<else>>
<<goto "NightclubClosed">>
<</if>>
<<button "Stuck?" "YourRoom">><</button>><div class="location-bg" style="background-image: url('assets/Locations/City/nightclub.webp')"></div>
<div class="location-title">🏢 Nightclub
<<storyImg "assets/Locations/City/nightclub.webp">>
</div>
<div class="location-ui">
<<text "Nothing yet...">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="CityDecider">
<img src="assets/Locations/City/city.webp">
<span>City</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/City/nightclub.webp')"></div>
<div class="location-title">🏢 Nightclub
<<storyImg "assets/Locations/City/nightclub.webp">>
</div>
<div class="location-ui">
<<text "Nightclub opens after 23:00.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="CityDecider">
<img src="assets/Locations/City/city.webp">
<span>Return</span>
</a>
</div>
</div><<set _randomNum to random(1, 100)>>
<<if _randomNum <= 70>>
<<goto "ParkBenchNormal">>
<<else>>
<<goto "ParkBenchWhoreDecider">>
<</if>>
<<button "Stuck?" "YourRoom">><</button>><div class="location-bg" style="background-image: url('assets/Locations/City/park.webp')"></div>
<div class="location-ui">
<<text "You decided to sit on a bench in the park. You enjoy the fresh air and the scenery as you relax.">>
<<storyImg "assets/Locations/City/Park/bench.webp">>
<<addenergy 5>><<advancetime 60>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="ParkDecider">
<img src="assets/Locations/City/park.webp">
<span>Return</span>
</a>
</div>
</div><<advancetime 60>>
<<set _randomNum to random(1, 3)>>
<<if _randomNum is 1>>
<<goto "ParkBenchWhore1">>
<<elseif _randomNum is 2>>
<<goto "ParkBenchWhore2">>
<<else>>
<<goto "ParkBenchWhore3">>
<</if>>
<<button "Stuck?" "YourRoom">><</button>><div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="ParkDecider">
<img src="assets/Locations/City/park.webp">
<span>Return</span>
</a>
</div><div class="location-bg" style="background-image: url('assets/Locations/City/park.webp')"></div>
<div class="location-ui">
<<text "You decided to sit on a bench in the park. You enjoy the fresh air and the scenery as you relax.">>
<<text "All of a sudden, you notice a woman approaching you. She sits down next to you and starts a conversation.">>
<<storyImg "assets/Locations/City/Park/BenchWhore/whore1_full.webp">>
<<rchat "Random Woman" "assets/Locations/City/Park/BenchWhore/whore1.webp" "Hey there, handsome. You look like you could use some company.">>
<div class="choice-buttons" id="whore-choices">
<<button "“No. I'm good...”">>
<<replace "#whore-choices">>
<<playerchat "No. I'm good...">>
<<text "Woman gets up furiously. She can't accept the fact she got rejected by you...">>
<<rchat "Random Woman" "assets/Locations/City/Park/BenchWhore/whore1.webp" "Fuck you. Loser.">>
<<include "ParkBenchLeave">>
<</replace>>
<</button>>
<<button "“From a hot girl like you? Always.”">>
<<replace "#whore-choices">>
<<playerchat "From a hot girl like you? Always.”">>
<<text "Woman smiles flirtatiously.">>
<<rchat "Random Woman" "assets/Locations/City/Park/BenchWhore/whore1.webp" "Oh, you're a charmer. I like that.">>
<<include "ParkBenchWhore1P2">>
<</replace>>
<</button>>
</div>
</div><<rchat "Random Woman" "assets/Locations/City/Park/BenchWhore/whore1.webp" "Here is the deal. I know I'm hot, and I see the way you're looking at me. Choose wisely.">>
<div class="choice-buttons" id="whore-choices2">
<<button "Flash tits 20$">>
<<if $money < 20>>
<<replace "#whore-choices2">>
<<rchat "Random Woman" "assets/Locations/City/Park/BenchWhore/whore1.webp" "You could've just said you're broke. Loser.">>
<<include "ParkBenchLeave">>
<</replace>>
<<else>>
<<replace "#whore-choices2">>
<<playerchat "All right, here's 20$. Let's see...">>
<<addmoney -20>>
<<storyImg "assets/Locations/City/Park/BenchWhore/whore1_tits1.webp">>
<<rchat "Random Woman" "assets/Locations/City/Park/BenchWhore/whore1.webp" "I see you aren't disappointed.">>
<<storyImg "assets/Locations/City/Park/BenchWhore/whore1_tits2.webp">>
<<storyImg "assets/Locations/City/Park/BenchWhore/whore1_tits3.webp">>
<<include "ParkBenchLeave">>
<</replace>>
<</if>>
<</button>>
<<button "Flash pussy 40$">>
<<if $money < 40>>
<<replace "#whore-choices2">>
<<rchat "Random Woman" "assets/Locations/City/Park/BenchWhore/whore1.webp" "You could've just said you're broke. Loser.">>
<<include "ParkBenchLeave">>
<</replace>>
<<else>>
<<replace "#whore-choices2">>
<<playerchat "40$ to see some pussy? Deal.">>
<<addmoney -40>>
<<text "Woman smiles flirtatiously.">>
<<storyImg "assets/Locations/City/Park/BenchWhore/whore1_pussy1.webp">>
<<storyImg "assets/Locations/City/Park/BenchWhore/whore1_pussy2.webp">>
<<rchat "Random Woman" "assets/Locations/City/Park/BenchWhore/whore1.webp" "You like it?">>
<<storyImg "assets/Locations/City/Park/BenchWhore/whore1_pussy3.webp">>
<<storyImg "assets/Locations/City/Park/BenchWhore/whore1_pussy4.webp">>
<<playerchat "Fuck yeah I do...">>
<<storyImg "assets/Locations/City/Park/BenchWhore/whore1_pussy5.webp">>
<<include "ParkBenchLeave">>
<</replace>>
<</if>>
<</button>>
</div><div class="location-bg" style="background-image: url('assets/Locations/City/park.webp')"></div>
<div class="location-ui">
<<text "You decided to sit on a bench in the park. You enjoy the fresh air and the scenery as you relax.">>
<<text "All of a sudden, you notice a woman approaching you. She sits down next to you and starts a conversation.">>
<<storyImg "assets/Locations/City/Park/BenchWhore/whore2_full.webp">>
<<rchat "Random Woman" "assets/Locations/City/Park/BenchWhore/whore2.webp" "Hey there, handsome. You look like you could use some company.">>
<div class="choice-buttons" id="whore-choices">
<<button "“No. I'm good...”">>
<<replace "#whore-choices">>
<<playerchat "No. I'm good...">>
<<text "Woman gets up furiously. She can't accept the fact she got rejected by you...">>
<<rchat "Random Woman" "assets/Locations/City/Park/BenchWhore/whore2.webp" "Fuck you. Loser.">>
<<include "ParkBenchLeave">>
<</replace>>
<</button>>
<<button "“From a hot girl like you? Always.”">>
<<replace "#whore-choices">>
<<playerchat "From a hot girl like you? Always.”">>
<<text "Woman smiles flirtatiously.">>
<<rchat "Random Woman" "assets/Locations/City/Park/BenchWhore/whore2.webp" "Oh, you're a charmer. I like that.">>
<<include "ParkBenchWhore2P2">>
<</replace>>
<</button>>
</div>
</div><<rchat "Random Woman" "assets/Locations/City/Park/BenchWhore/whore2.webp" "Here is the deal. I know I'm hot, and I see the way you're looking at me. Choose wisely.">>
<div class="choice-buttons" id="whore-choices2">
<<button "Flash tits 20$">>
<<if $money < 20>>
<<replace "#whore-choices2">>
<<rchat "Random Woman" "assets/Locations/City/Park/BenchWhore/whore2.webp" "You could've just said you're broke. Loser.">>
<<include "ParkBenchLeave">>
<</replace>>
<<else>>
<<replace "#whore-choices2">>
<<playerchat "All right, here's 20$. Let's see...">>
<<addmoney -20>>
<<storyImg "assets/Locations/City/Park/BenchWhore/whore2_tits1.webp">>
<<storyImg "assets/Locations/City/Park/BenchWhore/whore2_tits2.webp">>
<<rchat "Random Woman" "assets/Locations/City/Park/BenchWhore/whore2.webp" "I see you aren't disappointed.">>
<<storyImg "assets/Locations/City/Park/BenchWhore/whore2_tits3.webp">>
<<storyImg "assets/Locations/City/Park/BenchWhore/whore2_tits4.webp">>
<<include "ParkBenchLeave">>
<</replace>>
<</if>>
<</button>>
<<button "Flash pussy 40$">>
<<if $money < 40>>
<<replace "#whore-choices2">>
<<rchat "Random Woman" "assets/Locations/City/Park/BenchWhore/whore2.webp" "You could've just said you're broke. Loser.">>
<<include "ParkBenchLeave">>
<</replace>>
<<else>>
<<replace "#whore-choices2">>
<<playerchat "40$ to see some pussy? Deal.">>
<<addmoney -40>>
<<text "Woman smiles flirtatiously.">>
<<storyImg "assets/Locations/City/Park/BenchWhore/whore2_pussy1.webp">>
<<storyImg "assets/Locations/City/Park/BenchWhore/whore2_pussy2.webp">>
<<rchat "Random Woman" "assets/Locations/City/Park/BenchWhore/whore2.webp" "You like it?">>
<<storyImg "assets/Locations/City/Park/BenchWhore/whore2_pussy3.webp">>
<<storyImg "assets/Locations/City/Park/BenchWhore/whore2_pussy4.webp">>
<<playerchat "Fuck yeah I do...">>
<<storyImg "assets/Locations/City/Park/BenchWhore/whore2_pussy5.webp">>
<<include "ParkBenchLeave">>
<</replace>>
<</if>>
<</button>>
</div><div class="location-bg" style="background-image: url('assets/Locations/City/park.webp')"></div>
<div class="location-ui">
<<text "You decided to sit on a bench in the park. You enjoy the fresh air and the scenery as you relax.">>
<<text "All of a sudden, you notice a woman approaching you. She sits down next to you and starts a conversation.">>
<<storyImg "assets/Locations/City/Park/BenchWhore/whore3_full.webp">>
<<rchat "Random Woman" "assets/Locations/City/Park/BenchWhore/whore3.webp" "Hey there, handsome. You look like you could use some company.">>
<div class="choice-buttons" id="whore-choices">
<<button "“No. I'm good...”">>
<<replace "#whore-choices">>
<<playerchat "No. I'm good...">>
<<text "Woman gets up furiously. She can't accept the fact she got rejected by you...">>
<<rchat "Random Woman" "assets/Locations/City/Park/BenchWhore/whore3.webp" "Fuck you. Loser.">>
<<include "ParkBenchLeave">>
<</replace>>
<</button>>
<<button "“From a hot girl like you? Always.”">>
<<replace "#whore-choices">>
<<playerchat "From a hot girl like you? Always.”">>
<<text "Woman smiles flirtatiously.">>
<<rchat "Random Woman" "assets/Locations/City/Park/BenchWhore/whore3.webp" "Oh, you're a charmer. I like that.">>
<<include "ParkBenchWhore3P2">>
<</replace>>
<</button>>
</div>
</div><<rchat "Random Woman" "assets/Locations/City/Park/BenchWhore/whore3.webp" "Here is the deal. I know I'm hot, and I see the way you're looking at me. Choose wisely.">>
<div class="choice-buttons" id="whore-choices2">
<<button "Flash tits 20$">>
<<if $money < 20>>
<<replace "#whore-choices2">>
<<rchat "Random Woman" "assets/Locations/City/Park/BenchWhore/whore3.webp" "You could've just said you're broke. Loser.">>
<<include "ParkBenchLeave">>
<</replace>>
<<else>>
<<replace "#whore-choices2">>
<<playerchat "All right, here's 20$. Let's see...">>
<<addmoney -20>>
<<storyImg "assets/Locations/City/Park/BenchWhore/whore3_tits1.webp">>
<<storyImg "assets/Locations/City/Park/BenchWhore/whore3_tits4.webp">>
<<rchat "Random Woman" "assets/Locations/City/Park/BenchWhore/whore3.webp" "I see you aren't disappointed.">>
<<storyImg "assets/Locations/City/Park/BenchWhore/whore3_tits2.webp">>
<<storyImg "assets/Locations/City/Park/BenchWhore/whore3_tits3.webp">>
<<include "ParkBenchLeave">>
<</replace>>
<</if>>
<</button>>
<<button "Flash pussy 40$">>
<<if $money < 40>>
<<replace "#whore-choices2">>
<<rchat "Random Woman" "assets/Locations/City/Park/BenchWhore/whore3.webp" "You could've just said you're broke. Loser.">>
<<include "ParkBenchLeave">>
<</replace>>
<<else>>
<<replace "#whore-choices2">>
<<playerchat "40$ to see some pussy? Deal.">>
<<addmoney -40>>
<<text "Woman smiles flirtatiously.">>
<<storyImg "assets/Locations/City/Park/BenchWhore/whore3_pussy1.webp">>
<<storyImg "assets/Locations/City/Park/BenchWhore/whore3_pussy2.webp">>
<<rchat "Random Woman" "assets/Locations/City/Park/BenchWhore/whore3.webp" "You like it?">>
<<storyImg "assets/Locations/City/Park/BenchWhore/whore3_pussy3.webp">>
<<storyImg "assets/Locations/City/Park/BenchWhore/whore3_pussy4.webp">>
<<playerchat "Fuck yeah I do...">>
<<storyImg "assets/Locations/City/Park/BenchWhore/whore3_pussy5.webp">>
<<include "ParkBenchLeave">>
<</replace>>
<</if>>
<</button>>
</div><<set _randomNum to random(1, 100)>>
<<if _randomNum <= 50>>
<<goto "ParkJogNormal">>
<<elseif _randomNum > 50 and _randomNum <= 90>>
<<goto "ParkJogView">>
<<else>>
<<goto "ParkJogEncounterDecider">>
<</if>>
<<button "Stuck?" "YourRoom">><</button>><div class="location-bg" style="background-image: url('assets/Locations/City/park.webp')"></div>
<div class="location-ui">
<<text "You decided to go for a jog in the park. You enjoy the fresh air and the scenery as you run.">>
<<storyVideo "assets/Locations/City/Park/jog.mp4">>
<<if $lastJogDay is not $day>>
<<addSTR 1>>
<</if>>
<<addenergy -15>><<advancetime 60>><<set $lastJogDay to $day>>
<<text "You can feel your stamina improving with each jog, aslong with a burning sensation in your legs.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="ParkDecider">
<img src="assets/Locations/City/park.webp">
<span>Return</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/City/park.webp')"></div>
<div class="location-ui">
<<text "You decided to go for a jog in the park. You enjoy the fresh air and the scenery as you run.">>
<<if $lastJogDay is not $day>>
<<addSTR 1>>
<</if>>
<<addenergy -15>><<advancetime 60>><<set $lastJogDay to $day>>
<<text "While running, you stumble upon a beautiful view...">>
<<set _randomNum to random(1, 15)>>
<<set _path to "assets/Locations/City/Park/JogView/view" + _randomNum + ".mp4">>
<<storyVideo _path>>
<<playerchat "//(Damn. Like that in public? I'm getting hard...)//">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="ParkDecider">
<img src="assets/Locations/City/park.webp">
<span>Return</span>
</a>
</div>
</div><<goto "ParkJogEncounter1">>
<<button "Stuck?" "YourRoom">><</button>><div class="location-bg" style="background-image: url('assets/Locations/City/park.webp')"></div>
<div class="location-ui">
<<text "You decided to go for a jog, enjoying the air and the scenery as you run.">>
<<text "Leaning against the peeling wooden railing was a woman who was clearly not there for a workout. She stepped directly into your path, forcing you to a halt.">>
<<rchat "Random Woman" "assets/Locations/City/Park/JogEncounter/JogEncounter1/pfp.webp" "You look like you’re burning a lot of energy, handsome.">>
<<text "She crossed her arms underneath her bust, pushing her cleavage up and out.">>
<<rchat "Random Woman" "assets/Locations/City/Park/JogEncounter/JogEncounter1/pfp.webp" "I know a much better way for you to work up a sweat.">>
<<playerchat "Is that right? And what exactly are you offering?">>
<<text "She took a step closer, resting her fingers just above your shorts.">>
<<rchat "Random Woman" "assets/Locations/City/Park/JogEncounter/JogEncounter1/pfp.webp" "Whatever you want. Hundred bucks for a full ride against the back of the pavilion. I'll take care of that tension between your legs until you're completely drained.">>
<<advancetime 60>>
<div class="choice-buttons" id="whore-choices">
<<button "“A hundred. Show me the spot.”">>
<<if $money < 100>>
<<replace "#whore-choices">>
<<rchat "Random Woman" "assets/Locations/City/Park/JogEncounter/JogEncounter1/pfp.webp" "You could've just said you're broke. Loser.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="CityDecider">
<img src="assets/Locations/City/city.webp">
<span>Leave</span>
</a>
</div>
<</replace>>
<<else>>
<<replace "#whore-choices">>
<<playerchat "All right, here's 100$. Let's see...">>
<<addmoney -100>>
<<rchat "Random Woman" "assets/Locations/City/Park/JogEncounter/JogEncounter1/pfp.webp" "You won't regret it, honey. Follow me.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="JogEncounter1Scene">
<img src="assets/Locations/City/park.webp">
<span>Follow her</span>
</a>
</div>
<</replace>>
<</if>>
<</button>>
<<button "“No. I'm good.”">>
<<replace "#whore-choices">>
<<playerchat "No. I'm good.">>
<<rchat "Random Woman" "assets/Locations/City/Park/JogEncounter/JogEncounter1/pfp.webp" "Loser.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="CityDecider">
<img src="assets/Locations/City/city.webp">
<span>Leave</span>
</a>
</div>
<</replace>>
<</button>>
</div><div class="location-bg" style="background-image: url('assets/Locations/City/park.webp')"></div>
<div class="location-ui">
<<storyVideo "assets/Locations/City/Park/JogEncounter/JogEncounter1/clip1.mp4">>
<<text "She immediately got on the ground and removed her pants.">>
<<rchat "Random Woman" "assets/Locations/City/Park/JogEncounter/JogEncounter1/pfp.webp" "Let me show you how much this was worth it.">>
<<text "She gets down on her knees and pulls out your cock.">>
<<storyVideo "assets/Locations/City/Park/JogEncounter/JogEncounter1/clip2.mp4">>
<<rchat "Random Woman" "assets/Locations/City/Park/JogEncounter/JogEncounter1/pfp.webp" "Oh god... Yes...">>
<<storyVideo "assets/Locations/City/Park/JogEncounter/JogEncounter1/clip3.mp4">>
<<playerchat "God damn, you suck so good.">>
<<rchat "Random Woman" "assets/Locations/City/Park/JogEncounter/JogEncounter1/pfp.webp" "Use me. Use me like a whore I am. Please.">>
<<storyVideo "assets/Locations/City/Park/JogEncounter/JogEncounter1/clip4.mp4">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="JogEncounter1SceneP2">
<img src="assets/Locations/City/park.webp">
<span>Continue</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/City/park.webp')"></div>
<div class="location-ui">
<<playerchat "Enough sucking, slut. It's time to fuck you.">>
<<text "You enter her from behind.">>
<<storyVideo "assets/Locations/City/Park/JogEncounter/JogEncounter1/clip5.mp4">>
<<rchat "Random Woman" "assets/Locations/City/Park/JogEncounter/JogEncounter1/pfp.webp" "Oh yes. Fuck me. Fuck me. Fuck me hard.">>
<<text "She's moaning so loud you're shocked nobody hears you fucking her.">>
<<storyVideo "assets/Locations/City/Park/JogEncounter/JogEncounter1/clip6.mp4">>
<<rchat "Random Woman" "assets/Locations/City/Park/JogEncounter/JogEncounter1/pfp.webp" "You're so big I should've charged you more.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="JogEncounter1SceneP3">
<img src="assets/Locations/City/park.webp">
<span>Continue</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/City/park.webp')"></div>
<div class="location-ui">
<<storyVideo "assets/Locations/City/Park/JogEncounter/JogEncounter1/clip7.mp4">>
<<playerchat "You're so tight... I'm getting close.">>
<<rchat "Random Woman" "assets/Locations/City/Park/JogEncounter/JogEncounter1/pfp.webp" "Cum, baby, cum all over me.">>
<<playerchat "I'm cumming- Fuck-k-">>
<<storyVideo "assets/Locations/City/Park/JogEncounter/JogEncounter1/clip8.mp4">>
<<rchat "Random Woman" "assets/Locations/City/Park/JogEncounter/JogEncounter1/pfp.webp" "It has been a pleasure doing business with you, handsome.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="CityDecider">
<img src="assets/Locations/City/city.webp">
<span>Leave</span>
</a>
</div>
</div><<if $hour >= 22 or $hour < 6>>
<<goto "ParkClosedDecider">>
<<elseif $CharQuests.sophia.sophiaExReturnsQuest.status is "active" and $CharQuests.sophia.sophiaExReturnsQuest.step is 2>>
<<goto "SophiaExReturnsQuestP6">>
<<else>>
<<goto "Park">>
<</if>>
<<button "Stuck?" "YourRoom">><</button>><div class="location-bg" style="background-image: url('assets/Locations/City/park.webp')"></div>
<div class="location-title">🏢 Park
<<storyImg "assets/Locations/City/park.webp">>
</div>
<div class="location-ui">
<<text "Park">>
<div class="location-grid">
<a class="loc-btn" data-passage="ParkJogDecider">
<<energyGate 15>>
<img src="assets/Locations/City/Park/jog.webp">
<span>Go Jog</span>
</a>
<a class="loc-btn" data-passage="ParkBenchDecider">
<img src="assets/Locations/City/Park/bench.webp">
<span>Sit on Bench</span>
</a>
<a class="loc-btn loc-btn--wide" data-passage="CityDecider">
<img src="assets/Locations/City/city.webp">
<span>City</span>
</a>
</div>
</div><<goto "ParkClosed">>
<<button "Stuck?" "YourRoom">><</button>><div class="location-bg" style="background-image: url('assets/Locations/City/Park/night_time.webp')"></div>
<div class="location-ui">
<<text "Park is closed at this time.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="CityDecider">
<img src="assets/Locations/City/city.webp">
<span>Go back</span>
</a>
</div>
</div><<goto "Shop">>
<<button "Stuck?" "YourRoom">><</button>><br/>
<div class="location-bg" style="background-image: url('assets/Locations/City/store.webp')"></div>
<div class="location-ui">
<<chat mazy "What will it be today?">>
<br/><br/>
<<set _shopItems to [
{id: "rose", price: 20},
{id: "lust_gift", price: 100},
{id: "cold_medicine", price: 60}
]>>
/* Add Photo Camera if the relevant quest is active AND not already owned */
<<if $CharQuests.clair.clairBreakQuest1.status is "active" and $CharQuests.clair.clairBreakQuest1.step >= 2 and !$inventory.photo_camera>>
<<run _shopItems.push({id: "photo_camera", price: 300})>>
<</if>>
<div class="char-menu-back">
<<button "Talk">>
<<set $selectedChar to "mazy">>
<<set $mm_returnPassage to "StoreDecider">>
<<if $lastMazyTalkDay is $day>>
<<goto "AlreadyTalkedToMazy">>
<<else>>
<<goto "MoodMinigameStart">>
<</if>>
<</button>>
</div>
<div class="char-menu-back"><<button "← Back" "StoreDecider">><</button>></div>
<div class="shop-balance">Balance: <span class="shop-bal-val">💲 <<= $money>></span></div><br/>
<div class="shop-grid">
<<for _i = 0; _i < _shopItems.length; _i++>>
<<set _entry to _shopItems[_i]>>
<<set _item to setup.itemDB[_entry.id]>>
<div class="shop-card <<if $money < _entry.price>>shop-card--broke<</if>>">
<br/>
<img class="shop-img" @src="_item.image" @alt="_item.name">
<div class="shop-name"><<= _item.name>></div>
<div class="shop-desc"><<= _item.description ?? "">><br/><br/></div>
<div class="shop-footer">
<<if $money >= _entry.price>>
<span class="shop-price">💲 <<= _entry.price>></span>
<button class="shop-buy-btn" @data-id="_entry.id">BUY</button>
<<else>>
<span class="shop-price">💲 <<= _entry.price>></span>
<span class="shop-cantbuy">NO FUNDS</span>
<</if>>
</div>
</div>
<</for>>
</div>
</div>
<<script>>
$(document).off('click.shop').on('click.shop', '.shop-buy-btn', function () {
var id = $(this).data('id');
var price = parseInt($(this).closest('.shop-card').find('.shop-price').text().replace(/\D/g, ''), 10);
if (State.variables.money < price) return;
State.variables.money -= price;
setup.addItem(id);
Engine.play(passage());
});
<</script>><<if $hour < 10 or $hour >= 21>>
<<goto "StoreClosed">>
<<else>>
<<if $CharQuests.clair.clairEventQuest2.status is "active" and $CharQuests.clair.clairEventQuest2.step is 1>>
<<goto "ClairEventQuest2P2">>
<<else>>
<<goto "Store">>
<</if>>
<</if>>
<<button "Stuck?" "YourRoom">><</button>><div class="location-bg" style="background-image: url('assets/Locations/City/store.webp')"></div>
<div class="location-title">🏢 Store
<<storyImg "assets/Locations/City/store.webp">>
</div>
<div class="location-ui">
<<text "Store">>
<div class="location-grid">
<a class="loc-btn" data-passage="ShopDecider">
<img src="assets/Locations/City/store.webp">
<span>Shop</span>
</a>
<<if $CharQuests.mazy.mazyUnlockQuest.status is "active">>
<a class="loc-btn" data-passage="MazyUnlockQuestStart">
<img src="assets/Locations/City/Store/work_icon.webp">
<span>Ask for a Job</span>
</a>
<<else>>
<a class="loc-btn" data-passage="StoreWorkDecider">
<img src="assets/Locations/City/Store/work_icon.webp">
<<energyGate 30>>
<span>Work</span>
</a>
<</if>>
<a class="loc-btn loc-btn--wide" data-passage="CityDecider">
<img src="assets/Locations/City/city.webp">
<span>City</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/City/city.webp')"></div>
<div class="location-ui">
<<text "The store is currently closed. It opens at 10:00 AM and closes at 9:00 PM. Please come back during business hours.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="CityDecider">
<img src="assets/Locations/City/city.webp">
<span>City</span>
</a>
</div>
</div><<if $lastShiftDay is $day>>
<<goto "StoreWorkAlreadyWorked">>
<<else>>
<<set $storeRound to 0>>
<<set $storeCorrect to 0>>
<<set $storeWrong to 0>>
<<if $storeLevel is undefined>>
<<set $storeLevel to 3>>
<</if>>
<<if $storePromoPoints is undefined>>
<<set $storePromoPoints to 0>>
<</if>>
<<addenergy -30>>
<<goto "StoreWorkQuestion">>
<</if>>
<<button "Stuck?" "YourRoom">><</button>><div class="location-bg" style="background-image: url('assets/Locations/City/store.webp')"></div>
<div class="location-ui">
<<rchat "Store Owner" "assets/Locations/City/Store/owner.webp" "You already did a shift today man - I can't open a new tab... Come back tomorrow or something.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="StoreDecider">
<img src="assets/Locations/City/store.webp">
<span>Return</span>
</a>
</div>
</div><<advancetime 60>>
<div class="location-bg" style="background-image: url('assets/Locations/City/store.webp')"></div>
<<if Number($storePlayerAnswer) is $storeCurrentAnswer>>
<<set $storeCorrect += 1>>
<<set $money += $storeLevel>>
<<set $storePromoPoints += 1>>
<<else>>
<<set $storeWrong += 1>>
<<set $money -= $storeLevel>>
<<set $storePromoPoints -= 1>>
<</if>>
<<if $storePromoPoints < 0>>
<<set $storePromoPoints to 0>>
<</if>>
<div class="store-game">
<div class="store-status">
<p>Answer submitted.</p>
<p class="dim">You'll see how you did at the end of your shift.</p>
</div>
<div class="store-buttons">
<<if $storeRound >= 8>>
<<button "Continue" "StoreWorkResults">><</button>>
<<elseif $hour >= 20>>
<<button "Continue" "StoreWorkResults">><</button>>
<<else>>
<<button "Continue">>
<<set _roll to random(1, 100)>>
<<if _roll <= 20>>
<<goto "StoreWorkRandomEvent">>
<<else>>
<<goto "StoreWorkQuestion">>
<</if>>
<</button>>
<<button "End Shift" "StoreWorkResults">><</button>>
<</if>>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/City/store.webp')"></div>
<<set $storeRound to $storeRound + 1>>
<<set _op to either("+", "-")>>
<<if _op is "+">>
<<set _a to random(0, 90)>>
<<set _b to random(0, 100 - _a)>>
<<set _answer to _a + _b>>
<<else>>
<<set _a to random(0, 100)>>
<<set _b to random(0, _a)>>
<<set _answer to _a - _b>>
<</if>>
<<set $storeCurrentAnswer to _answer>>
<div class="store-game">
<div class="store-header">
<div class="store-round">Round $storeRound <span class="dim">/ 8</span></div>
<div class="store-pay">$$$storeLevel <span class="dim">per correct</span></div>
</div>
<div class="store-problem">
<span>_a</span>
<span class="store-op">_op</span>
<span>_b</span>
<span class="store-op">=</span>
<span class="store-qmark">?</span>
</div>
<<textbox "_playerAnswer" "">><br>
<div class="store-buttons">
<<button "Submit Answer" "StoreWorkCheckAnswer">>
<<set $storePlayerAnswer to _playerAnswer>>
<</button>>
<<button "End Shift" "StoreWorkResults">><</button>>
</div>
</div><div class="store-game">
<div class="store-event">
<<nobr>>
<<set _randomNum to random(1, 8)>>
<<set _videoPath to "assets/Locations/City/Store/Work/RandomEvent/random" + _randomNum + ".mp4">>
<<storyVideo _videoPath>>
<</nobr>>
</div>
<div class="store-buttons">
<<button "Continue" "StoreWorkQuestion">><</button>>
</div>
</div><<set _promoted to false>>
<<set _promotionsEarned to Math.floor($storePromoPoints / 16)>>
<<if _promotionsEarned > 0 and $storeLevel < 12>>
<<set _actualPromotions to Math.min(_promotionsEarned, 12 - $storeLevel)>>
<<set $storeLevel += _actualPromotions>>
<<set $storePromoPoints -= _actualPromotions * 16>>
<<set _promoted to true>>
<</if>>
<<set _moneyLost to $storeWrong * $storeLevel>>
<<set _moneyEarned to $storeCorrect * $storeLevel>>
<<set $lastShiftDay to $day>>
<div class="store-game">
<h2 class="store-title">Shift Complete</h2>
<div class="store-results">
<div class="store-result-row correct">
<span class="label">Correct</span>
<span class="value">$storeCorrect, +$$_moneyEarned</span>
</div>
<div class="store-result-row wrong">
<span class="label">Wrong</span>
<span class="value">$storeWrong, -$$_moneyLost</span>
</div>
<div class="store-result-row">
<span class="label">Promotion Points</span>
<span class="value">$storePromoPoints <span class="dim">/ 16</span></span>
</div>
<div class="store-result-row money">
<span class="label">Money</span>
<span class="value">$$$money</span>
<span class="label">Per hour</span>
<span class="value">$$$storeLevel</span>
</div>
</div>
<<if _promoted>>
<div class="store-promo-banner">
Promoted! Pay is now $$$storeLevel per round.
</div>
<</if>>
<<if $storeLevel >= 12>>
<div class="store-max-banner">
Maximum pay level reached.
</div>
<</if>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="StoreDecider">
<img src="assets/Locations/City/store.webp">
<span>Return</span>
</a>
</div>
</div><div class="location-ui">
<<text "This feature is coming soon... Well, it might be coming soon depending on your support and feedback. My plans for this games are HUGEEEEEEE! Join the discord to see what I have planned for this game!">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="$cs_returnPassage">
<img src="assets/General/blank.webp">
<span>Return</span>
</a>
</div>
</div>Doesnt Exist
<<button "Home" "YourRoom">><</button>><<if $Sophia.location is "Bathroom">>
<<goto "SophiaBathroomDecider">>
<<elseif $Clair.location is "Bathroom">>
<<goto "ClairBathroomDecider">>
<<elseif $Nicole.location is "Bathroom">>
<<goto "NicoleBathroomDecider">>
<<else>>
<<goto "Bathroom">>
<</if>>
<<button "Stuck?" "YourRoom">><</button>><div class="location-bg" style="background-image: url('assets/Locations/House/bathroom.webp')"></div>
<div class="location-title">🏠 Bathroom
<<storyImg "assets/Locations/House/bathroom.webp">>
</div>
<div class="location-ui">
<<text "You enter the bathroom.">>
<div class="location-grid">
<a class="loc-btn" data-passage="ShowerAloneDecider">
<img src="assets/Locations/House/Bathroom/shower.webp">
<span>Take a shower</span>
</a>
<a class="loc-btn" data-passage="LookInMirrorDecider">
<img src="assets/Locations/House/Bathroom/mirror.webp">
<span>Look in the mirror</span>
</a>
<a class="loc-btn" data-passage="SnoopBathroomDecider">
<<energyGate 5>>
<img src="assets/Locations/House/Bathroom/cabinet.webp">
<span>Snoop around</span>
</a>
<a class="loc-btn" data-passage="MasturbateBathroomDecider">
<<energyGate 10>>
<img src="assets/Locations/House/Bathroom/masturbate.webp">
<span>Masturbate</span>
</a>
<a class="loc-btn loc-btn--wide" data-passage="DownstairsHallwayDecider">
<img src="assets/Locations/House/downstairs_hallway.webp">
<span>Leave</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/downstairs_hallway.webp')"></div>
<div class="location-ui">
<<text "You barge into the bathroom without knocking.">>
<<playerchat "//((Throws the door open))// Hey, I need—">>
<<chat clair "WHAT THE FUCK?! DO YOU WANT TO DIE?!">>
<<storyVideo "assets/Locations/House/Bathroom/caught.mp4">>
<<playerchat "Whoa! My bad, I—">>
<<chat clair "GET OUT OF HERE OR I AM GOING TO EXTINCT YOU, YOU ABSOLUTE CREEP! GET OUT!">>
<<addRel -3 clair>><<advancetime 60>>
<<text "Get Clair Lust Level to 3">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="DownstairsHallwayDecider">
<img src="assets/Locations/House/downstairs_hallway.webp">
<span>Return</span>
</a>
</div>
</div><<if $characters.clair.lust < 40>>
<<goto "ClairBathroomBargeInAngryDecider">>
<<elseif $characters.clair.lust >= 40 and $characters.clair.lust < 80>>
<<goto "ClairBathroomBargeInTeaseDecider">>
<<elseif $characters.clair.lust >= 80>>
<<goto "ClairBathroomBargeInInviteDecider">>
<</if>>
<<button "Stuck?" "YourRoom">><</button>><<goto "ClairBathroomBargeInAngry">>
<<button "Stuck?" "YourRoom">><</button>><<goto "ClairBathroomBargeInTease">>
<<button "Stuck?" "YourRoom">><</button>><<goto "ClairBathroomBargeInInvite">>
<<button "Stuck?" "YourRoom">><</button>><div class="location-bg" style="background-image: url('assets/Locations/House/bathroom.webp')"></div>
<div class="location-ui">
<<playerchat "//(Flings the door open and steps inside)//">>
<<nobr>>
<<set _randomNum to random(1, 3)>>
<<set _videoPath to "assets/Locations/House/Bathroom/Clair/masturbating" + _randomNum + ".mp4">>
<</nobr>>
<<storyVideo _videoPath>>
<<chat clair "$playerName... you... you can't just...">>
<<playerchat "I told you I go where I want, Clair.">>
<<playerchat "Drop the towel, Clair. Hands behind your back.">>
<<chat clair "Y-Yes... okay. Look at me... please. I'm sorry for being a brat...">>
<<advancetime 60>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="DownstairsHallwayDecider">
<img src="assets/Locations/House/downstairs_hallway.webp">
<span>Fuck Clair</span>
</a>
<a class="loc-btn loc-btn--wide" data-passage="DownstairsHallwayDecider">
<img src="assets/Locations/House/downstairs_hallway.webp">
<span>Get out</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/bathroom.webp')"></div>
<div class="location-ui">
<<text "You barge into the bathroom without knocking.">>
<<nobr>>
<<set _randomNum to random(4, 6)>>
<<set _videoPath to "assets/Locations/House/Bathroom/Clair/flash" + _randomNum + ".mp4">>
<</nobr>>
<<storyVideo _videoPath>>
<<chat clair "Are you completely brain-damaged? You don't just kick a girl's door open!">>
<<playerchat "And what are you going to do about it?">>
<<chat clair "You... you think you're real tough, don't you? Standing there staring at me like a pervert.">>
<<advancetime 60>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="DownstairsHallwayDecider">
<img src="assets/Locations/House/downstairs_hallway.webp">
<span>Get out</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/downstairs_hallway.webp')"></div>
<div class="location-ui">
<<text "You knock on the bathroom door.">>
<<playerchat "Hey, Clair? You almost done in there? I really need to use the sink.">>
<<chat clair "//(Scoffs loudly over the rushing water)// Are you completely deaf, or just an idiot? I’m in the shower! Go use the kitchen sink like the dog you are.">>
<<playerchat "Come on, it'll take two seconds—">>
<<chat clair "If you even touch that doorknob, I will personally throw all your clothes onto the front lawn. Back off, loser, or pay me fifty bucks for the privilege of breathing my steam.">>
<<text "You hear her deliberately kick the bottom of the bathroom door from the inside to emphasize her point.">>
<<nobr>>
<<set _randomNum to random(1, 10)>>
<<advancetime 60>>
<</nobr>>
<<if _randomNum <= 3>>
<<text "Clair wasn't in a good mood to begin with, but that was the last straw. You can feel her annoyance radiating through the door.">>
<<addRel -1 clair>>
<</if>>
<<text "Get Clair's Relationship over 30 or Lust level over 3>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="DownstairsHallwayDecider">
<img src="assets/Locations/House/downstairs_hallway.webp">
<span>Return</span>
</a>
</div>
</div><<if $characters.clair.lust < 40>>
<<if $characters.clair.relationship <= 30>>
<<goto "ClairBathroomKnockAnnoyedDecider">>
<</if>>
<<if $characters.clair.relationship > 30>>
<<goto "ClairBathroomKnockFriendlyDecider">>
<</if>>
<<elseif $characters.clair.lust >= 40 and $characters.clair.lust < 80>>
<<goto "ClairBathroomKnockFlirtyDecider">>
<<elseif $characters.clair.lust >= 80>>
<<goto "ClairBathroomKnockNakedDecider">>
<</if>>
<<button "Stuck?" "YourRoom">><</button>><<goto "ClairBathroomKnockAnnoyed">>
<<button "Stuck?" "YourRoom">><</button>><<goto "ClairBathroomKnockFriendly">>
<<button "Stuck?" "YourRoom">><</button>><<goto "ClairBathroomKnockFlirty">>
<<button "Stuck?" "YourRoom">><</button>><<goto "ClairBathroomKnockNaked">>
<<button "Stuck?" "YourRoom">><</button>><div class="location-bg" style="background-image: url('assets/Locations/House/downstairs_hallway.webp')"></div>
<div class="location-ui">
<<text "You knock on the bathroom door.">>
<<playerchat "Clair? You in there?">>
<<chat clair "//(Voice dripping with smug satisfaction)// Oh, look who it is. Come to beg for a peek, loser?">>
<<playerchat "I actually needed to grab my hair gel, but... what are you doing?">>
<<chat clair "Just letting the water run. Come in and get your stupid gel. I dare you. Let’s see if you actually have the guts to look at me.">>
<<advancetime 30>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="ClairBathroomKnockFlirtyP2">
<img src="assets/Locations/House/bathroom.webp">
<span>Bathroom</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/bathroom.webp')"></div>
<div class="location-ui">
<<text "You push the door open. She isn't hiding; she has her chin tilted up, smirking at you, trying to intimidate you with her raw sexuality.">>
<<nobr>>
<<set _randomNum to random(1, 3)>>
<<set _videoPath to "assets/Locations/House/Bathroom/Clair/flash" + _randomNum + ".mp4">>
<</nobr>>
<<storyVideo _videoPath>>
<<chat clair "//(Giggling, biting her lip)// What's the matter? Cat got your tongue?">>
<<advancetime 30>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="DownstairsHallwayDecider">
<img src="assets/Locations/House/downstairs_hallway.webp">
<span>Get out</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/downstairs_hallway.webp')"></div>
<div class="location-ui">
<<text "You knock on the bathroom door.">>
<<playerchat "Hey, Clair? Sorry to bother you, but it's kind of an emergency. Can I slide in real quick just to pee?">>
<<chat clair "Ugh, you are literally the most annoying person alive. Fine! The door is unlocked, but if you look this way, I’m blinding you with my body wash.">>
<<playerchat "Deal. Keeping my eyes strictly to myself.">>
<<chat clair "You better. Don't make a mess either, or you're cleaning the entire bathroom with a toothbrush.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="ClairBathroomKnockFriendlyP2">
<img src="assets/Locations/House/bathroom.webp">
<span>Bathroom</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/bathroom.webp')"></div>
<div class="location-ui">
<<text "You step into the warm, lavender-scented steam. Clair is behind a thick, dark shower curtain, which she has pulled entirely shut.">>
<<storyVideo "assets/Locations/House/Bathroom/Clair/showering.mp4">>
<<advancetime 60>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="DownstairsHallwayDecider">
<img src="assets/Locations/House/Bathroom/piss.webp">
<span>Piss and get out</span>
</a>
<a class="loc-btn loc-btn--wide" data-passage="ClairBathroomKnockFriendlyPeekDecider">
<img src="assets/Locations/House/Bathroom/Clair/peek.webp">
<span>Peek (risky)</span>
</a>
</div>
</div><<set _randomNum to random(1, 10)>>
<<if _randomNum <= 4>>
<<goto "ClairBathroomFriendlyPeekSuccess">>
<<else>>
<<goto "ClairBathroomFriendlyPeekFail">>
<</if>>
<<button "Stuck?" "YourRoom">><</button>><div class="location-bg" style="background-image: url('assets/Locations/House/bathroom.webp')"></div>
<div class="location-ui">
<<text "You were caught.">>
<<text "As you peek through the curtain, you accidentally tug on it a little too hard, causing it to swing open just enough for Clair to catch a glimpse of you.">>
<<storyVideo "assets/Locations/House/Bathroom/caught.mp4">>
<<chat clair "WHAT THE ACTUAL FUCK ARE YOU DOING!? GET THE FUCK OUT!">>
<<addRel -5 clair>>
<<advancetime 15>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="DownstairsHallwayDecider">
<img src="assets/Locations/House/downstairs_hallway.webp">
<span>Get out</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/bathroom.webp')"></div>
<div class="location-ui">
<<text "You peek through the curtain, catching a glimpse of Clair.">>
<<nobr>>
<<set _randomNum to random(1, 3)>>
<<set _videoPath to "assets/Locations/House/Bathroom/Clair/masturbating" + _randomNum + ".mp4">>
<</nobr>>
<<storyVideo _videoPath>>
<<playerchat "//(She's masturbating...)//">>
<<advancetime 15>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="DownstairsHallwayDecider">
<img src="assets/Locations/House/downstairs_hallway.webp">
<span>Get out</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/downstairs_hallway.webp')"></div>
<div class="location-ui">
<<text "You knock on the bathroom door.">>
<<playerchat "Clair? Can I come in?">>
<<chat clair "Why are you even asking? You know you can come in whenever you want.">>
<<advancetime 30>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="ClairBathroomKnockNakedP2">
<img src="assets/Locations/House/bathroom.webp">
<span>Bathroom</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/bathroom.webp')"></div>
<div class="location-ui">
<<text "You step inside, expecting her to be showering...">>
<<chat clair "//(Looking at you up and down with a confident smile)//">>
<<playerchat "You're really going at it...">>
<<advancetime 30>>
<<nobr>>
<<set _randomNum to random(4, 6)>>
<<set _videoPath to "assets/Locations/House/Bathroom/Clair/masturbating" + _randomNum + ".mp4">>
<</nobr>>
<<storyVideo _videoPath>>
<<chat clair "All for you to see, $playerName.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="DownstairsHallwayDecider">
<img src="assets/Locations/House/downstairs_hallway.webp">
<span>Get out</span>
</a>
</div>
</div><<if $characters.clair.lust < 40>>
<<set _randomNum to random(1, 10)>>
<<if _randomNum <= 5>>
<<goto "ClairBathroomPeekInsideFail">>
<<else>>
<<goto "ClairBathroomPeekInsideSuccess">>
<</if>>
<<else>>
<<goto "ClairBathroomPeekInsideSuccess">>
<</if>>
<<button "Stuck?" "YourRoom">><</button>><div class="location-bg" style="background-image: url('assets/Locations/House/bathroom.webp')"></div>
<div class="location-ui">
<<text "You peek inside the bathroom and see Clair taking a shower">>
<<nobr>>
<<set _randomNum to random(1, 3)>>
<<set _videoPath to "assets/Locations/House/Bathroom/Clair/peek" + _randomNum + ".mp4">>
<</nobr>>
<<storyVideo _videoPath>>
<<advancetime 60>>
<<playerchat "She is so hot...">>
<<addSTH 2>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="DownstairsHallwayDecider">
<img src="assets/Locations/House/downstairs_hallway.webp">
<span>Get out</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/bathroom.webp')"></div>
<div class="location-ui">
<<text "You got caught peeking inside the bathroom.">>
<<chat clair "WHAT ARE YOU DOING!? GET OUT OF HERE!">>
<<advancetime 60>>
<<addRel -5 clair>>
<<text "Get Clair Lust Level to 3">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="DownstairsHallwayDecider">
<img src="assets/Locations/House/downstairs_hallway.webp">
<span>Get out</span>
</a>
</div>
</div><<goto "ClairBathroom">>
<<button "Stuck?" "YourRoom">><</button>><div class="location-bg" style="background-image: url('assets/Locations/House/downstairs_hallway.webp')"></div>
<div class="location-ui"><<nobr>>
<<if $characters.clair.lust < 40>>
<<storyImg "assets/Locations/House/Bathroom/Clair/clair_lust1.webp">>
<<elseif $characters.clair.lust >= 40 and $characters.clair.lust < 80>>
<<storyImg "assets/Locations/House/Bathroom/Clair/clair_lust2.webp">>
<<elseif $characters.clair.lust >= 80>>
<<storyImg "assets/Locations/House/Bathroom/Clair/clair_lust3.webp">>
<</if>><</nobr>>
<<text "Bathroom door is closed, looks like Clair's taking a shower.">>
<div class="location-grid">
<a class="loc-btn" data-passage="ClairBathroomKnockDecider">
<img src="assets/Locations/House/Bathroom/occupied.webp">
<span>Knock</span>
</a>
<a class="loc-btn" data-passage="ClairBathroomPeekInsideDecider">
<img src="assets/Locations/House/Bathroom/peek.webp">
<span>Peek inside</span>
</a>
<a class="loc-btn" data-passage="ClairBathroomBargeInDecider">
<img src="assets/Locations/House/bathroom.webp">
<img src="assets/Locations/House/bathroom.webp">
<span>Barge in</span>
</a>
<a class="loc-btn loc-btn--wide" data-passage="DownstairsHallwayDecider">
<img src="assets/Locations/House/downstairs_hallway.webp">
<span>Return</span>
</a>
</div>
</div><<goto "LookInMirror">>
<<button "Stuck?" "YourRoom">><</button>><div class="location-bg" style="background-image: url('assets/Locations/House/Bathroom/mirror.webp')"></div>
<div class="location-ui">
<<text "You stand in front of the mirror, taking in your reflection.">>
<<if $STR < 25>>
<<storyImg "assets/Locations/House/Bathroom/chubby.webp">>
<<text "You have an under average physique.">>
<<elseif $STR >= 25 and $STR < 55>>
<<storyImg "assets/Locations/House/Bathroom/normal.webp">>
<<text "You have an average physique.">>
<<else>>
<<storyImg "assets/Locations/House/Bathroom/fit.webp">>
<<text "You have an above average physique.">>
<</if>>
<div class="location-grid">
<a class="loc-btn" data-passage="PracticeTalkingDecider">
<img src="assets/Locations/House/Bathroom/practice_talking.webp">
<span>Practice talking</span>
</a>
<a class="loc-btn loc-btn--wide" data-passage="BathroomDecider">
<img src="assets/Locations/House/bathroom.webp">
<span>Return</span>
</a>
</div>
</div><<if $lastBathroomMasturbationDay is $day>>
<<goto "AlreadyMasturbatedBathroom">>
<<else>>
<<goto "MasturbateBathroom">>
<</if>>
<<button "Stuck?" "YourRoom">><</button>><div class="location-bg" style="background-image: url('assets/Locations/House/bathroom.webp')"></div>
<div class="location-ui">
<<text "You decide to blow-off some steam and masturbate in the bathroom.">>
<<storyVideo "assets/Locations/House/Bathroom/masturbate.mp4">>
<<advancetime 60>><<addenergy -10>> <<set $lastBathroomMasturbationDay to $day>>
<<text "You feel much better now.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="DownstairsHallwayDecider">
<img src="assets/Locations/House/downstairs_hallway.webp">
<span>Finish</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/bathroom.webp')"></div>
<div class="location-ui">
<<text "You already had your dose of pleasure today.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="BathroomDecider">
<img src="assets/Locations/House/bathroom.webp">
<span>Return</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/downstairs_hallway.webp')"></div>
<div class="location-ui">
<<text "You barge into the bathroom without knocking.">>
<<playerchat "//((Throws the door open))// Hey, I need—">>
<<chat nicole "EEK!! N-NO! Close it! Close the door! Please!">>
<<storyVideo "assets/Locations/House/Bathroom/caught.mp4">>
<<playerchat "Oh, shoot! Sorry!">>
<<chat nicole "Go away! Why didn't you knock?! Please get out!">>
<<addRel -3 nicole>><<advancetime 60>>
<<text "Get Nicole Lust Level to 2">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="DownstairsHallwayDecider">
<img src="assets/Locations/House/downstairs_hallway.webp">
<span>Return</span>
</a>
</div>
</div><<if $characters.nicole.lust < 20>>
<<goto "NicoleBathroomBargeInAngryDecider">>
<<elseif $characters.nicole.lust >= 20 and $characters.nicole.lust < 60>>
<<goto "NicoleBathroomBargeInTeaseDecider">>
<<elseif $characters.nicole.lust >= 60>>
<<goto "NicoleBathroomBargeInInviteDecider">>
<</if>>
<<button "Stuck?" "YourRoom">><</button>><<goto "NicoleBathroomBargeInAngry">>
<<button "Stuck?" "YourRoom">><</button>><<goto "NicoleBathroomBargeInFlustered">>
<<button "Stuck?" "YourRoom">><</button>><<goto "NicoleBathroomBargeInInvite">>
<<button "Stuck?" "YourRoom">><</button>><div class="location-bg" style="background-image: url('assets/Locations/House/bathroom.webp')"></div>
<div class="location-ui">
<<text "You barge into the bathroom without knocking.">>
<<playerchat "//((Throws the door open))// Hey, have you seen my—">>
<<nobr>>
<<set _randomNum to random(4, 6)>>
<<set _videoPath to "assets/Locations/House/Bathroom/Nicole/flash" + _randomNum + ".mp4">>
<</nobr>>
<<storyVideo _videoPath>>
<<playerchat "Uh... wow. Sorry.">>
<<chat nicole "A-Ah! $playerName!">>
<<playerchat "Oh... sorry. I didn't know you were out of the shower.">>
<<chat nicole "D-Don't look! I mean—you're looking! Turn around! O-Oh my gosh, my heart is going to explode...">>
<<advancetime 60>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="DownstairsHallwayDecider">
<img src="assets/Locations/House/downstairs_hallway.webp">
<span>Get out</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/bathroom.webp')"></div>
<div class="location-ui">
<<playerchat "//(Flings the door open and steps inside)//">>
<<chat nicole "$playerName... you... you just walked right in...">>
<<playerchat "I did.">>
<<advancetime 60>>
<<nobr>>
<<set _randomNum to random(1, 3)>>
<<set _videoPath to "assets/Locations/House/Bathroom/Nicole/masturbating" + _randomNum + ".mp4">>
<</nobr>>
<<storyVideo _videoPath>>
<<playerchat "And I don't think I'm going to leave.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="DownstairsHallwayDecider">
<img src="assets/Locations/House/downstairs_hallway.webp">
<span>Get out</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/downstairs_hallway.webp')"></div>
<div class="location-ui">
<<text "You knock on the bathroom door.">>
<<playerchat "Hey, Nicole? You almost done in there? I really need to piss.">>
<<chat nicole "//(Gasping, her voice high-pitched and panicked over the rushing water)// W-What?! No! I—I just got in! Please don't come in!">>
<<playerchat "I just need to piss, it'll take two seconds—">>
<<chat nicole "No, no, no! Please wait downstairs! I-I'll be as fast as I can, I promise! Just... please leave the hallway!">>
<<text "You hear a sudden, frantic scuffle inside—the sound of her slipping slightly on the wet tile, followed by the frantic click of the door lock being twisted violently to ensure it's secure. She sounds utterly mortified that you're even standing outside the door while she's vulnerable.">>
<<nobr>>
<<set _randomNum to random(1, 10)>>
<<advancetime 60>>
<</nobr>>
<<if _randomNum <= 3>>
<<text "Nicole got scared.">>
<<addRel -1 nicole>>
<</if>>
<<text "Get Nicole's Relationship over 30 or Lust level over 3>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="DownstairsHallwayDecider">
<img src="assets/Locations/House/downstairs_hallway.webp">
<span>Return</span>
</a>
</div>
</div><<if $characters.nicole.lust < 40>>
<<if $characters.nicole.relationship <= 30>>
<<goto "NicoleBathroomKnockAnnoyedDecider">>
<</if>>
<<if $characters.nicole.relationship > 30>>
<<goto "NicoleBathroomKnockFriendlyDecider">>
<</if>>
<<elseif $characters.nicole.lust >= 40 and $characters.nicole.lust < 80>>
<<goto "NicoleBathroomKnockFlirtyDecider">>
<<elseif $characters.nicole.lust >= 80>>
<<goto "NicoleBathroomKnockNakedDecider">>
<</if>>
<<button "Stuck?" "YourRoom">><</button>><<goto "NicoleBathroomKnockAnnoyed">>
<<button "Stuck?" "YourRoom">><</button>><<goto "NicoleBathroomKnockFriendly">>
<<button "Stuck?" "YourRoom">><</button>><<goto "NicoleBathroomKnockFlirty">>
<<button "Stuck?" "YourRoom">><</button>><<goto "NicoleBathroomKnockNaked">>
<<button "Stuck?" "YourRoom">><</button>><div class="location-bg" style="background-image: url('assets/Locations/House/downstairs_hallway.webp')"></div>
<div class="location-ui">
<<text "You knock on the bathroom door.">>
<<playerchat "Nicole? You in there?">>
<<chat nicole "//(Voice trembling slightly)// O-Oh! Um, yes. You can grab it... I'm behind the curtain, so it's safe.">>
<<playerchat "Thanks, I'll be quick.">>
<<advancetime 30>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="NicoleBathroomKnockFlirtyP2">
<img src="assets/Locations/House/bathroom.webp">
<span>Bathroom</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/bathroom.webp')"></div>
<div class="location-ui">
<<text "You step into the steam. Nicole peeks out...">>
<<nobr>>
<<set _randomNum to random(1, 3)>>
<<set _videoPath to "assets/Locations/House/Bathroom/Nicole/flash" + _randomNum + ".mp4">>
<</nobr>>
<<storyVideo _videoPath>>
<<chat nicole "Aaaah! O-Oh my gosh! I'm so sorry! That's too far...">>
<<advancetime 30>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="DownstairsHallwayDecider">
<img src="assets/Locations/House/downstairs_hallway.webp">
<span>Get out</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/downstairs_hallway.webp')"></div>
<div class="location-ui">
<<text "You knock on the bathroom door.">>
<<playerchat "Hey, Nicole? Sorry to bother you, but it's kind of an emergency. Can I slide in real quick just to pee?">>
<<chat nicole "//(A long pause, followed by a squeak)// U-Um... right now? While I'm... like this?">>
<<playerchat "I promise I'll look at the floor the entire time.">>
<<chat nicole "O-Okay... the door is unlocked. But you have to promise! Triple promise! Turn your back completely!">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="NicoleBathroomKnockFriendlyP2">
<img src="assets/Locations/House/bathroom.webp">
<span>Bathroom</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/bathroom.webp')"></div>
<div class="location-ui">
<<text "You gently push the door open. The room is filled with a soft, sweet strawberry-scented steam. Nicole has pulled the heavy, opaque shower curtain so tight against the wall that not a single millimeter of a gap remains.">>
<<storyVideo "assets/Locations/House/Bathroom/Nicole/showering.mp4">>
<<advancetime 60>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="DownstairsHallwayDecider">
<img src="assets/Locations/House/Bathroom/piss.webp">
<span>Piss and get out</span>
</a>
<a class="loc-btn loc-btn--wide" data-passage="NicoleBathroomKnockFriendlyPeekDecider">
<img src="assets/Locations/House/Bathroom/Nicole/peek.webp">
<span>Peek (risky)</span>
</a>
</div>
</div><<set _randomNum to random(1, 10)>>
<<if _randomNum <= 4>>
<<goto "NicoleBathroomFriendlyPeekSuccess">>
<<else>>
<<goto "NicoleBathroomFriendlyPeekFail">>
<</if>>
<<button "Stuck?" "YourRoom">><</button>><div class="location-bg" style="background-image: url('assets/Locations/House/bathroom.webp')"></div>
<div class="location-ui">
<<text "You were caught.">>
<<text "As you peek through the curtain, you accidentally tug on it a little too hard, causing it to swing open just enough for Nicole to catch a glimpse of you.">>
<<storyVideo "assets/Locations/House/Bathroom/caught.mp4">>
<<chat nicole "Why would you do that? I thought I made it clear that I didn't want that... Get out.">>
<<addRel -5 nicole>>
<<advancetime 15>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="DownstairsHallwayDecider">
<img src="assets/Locations/House/downstairs_hallway.webp">
<span>Get out</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/bathroom.webp')"></div>
<div class="location-ui">
<<text "You peek through the curtain, catching a glimpse of Nicole.">>
<<nobr>>
<<set _randomNum to random(1, 3)>>
<<set _videoPath to "assets/Locations/House/Bathroom/Nicole/masturbating" + _randomNum + ".mp4">>
<</nobr>>
<<storyVideo _videoPath>>
<<playerchat "//(She's masturbating...)//">>
<<advancetime 15>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="DownstairsHallwayDecider">
<img src="assets/Locations/House/downstairs_hallway.webp">
<span>Get out</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/downstairs_hallway.webp')"></div>
<div class="location-ui">
<<text "You knock on the bathroom door.">>
<<playerchat "Niocole? Can I come in?">>
<<chat nicole "//(Voice quiet, barely a whisper over the fading sound of the water)// Y-Yes. You can come in.">>
<<advancetime 30>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="NicoleBathroomKnockNakedP2">
<img src="assets/Locations/House/bathroom.webp">
<span>Bathroom</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/bathroom.webp')"></div>
<div class="location-ui">
<<chat nicole "I... I wanted you to see me. Is... is it okay? Am I... pretty to you?">>
<<playerchat "Nicole... you're beautiful.">>
<<advancetime 30>>
<<nobr>>
<<set _randomNum to random(4, 6)>>
<<set _videoPath to "assets/Locations/House/Bathroom/Nicole/masturbating" + _randomNum + ".mp4">>
<</nobr>>
<<storyVideo _videoPath>>
<<chat nicole "O-Okay... I'm glad. My heart is beating so fast right now...">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="DownstairsHallwayDecider">
<img src="assets/Locations/House/downstairs_hallway.webp">
<span>Get out</span>
</a>
</div>
</div><<if $characters.nicole.lust < 40>>
<<set _randomNum to random(1, 10)>>
<<if _randomNum <= 5>>
<<goto "NicoleBathroomPeekInsideFail">>
<<else>>
<<goto "NicoleBathroomPeekInsideSuccess">>
<</if>>
<<else>>
<<goto "NicoleBathroomPeekInsideSuccess">>
<</if>>
<<button "Stuck?" "YourRoom">><</button>><div class="location-bg" style="background-image: url('assets/Locations/House/bathroom.webp')"></div>
<div class="location-ui">
<<text "You got caught peeking inside the bathroom.">>
<<chat nicole "$playerName, what are you doing? Are you spying on me? Get out of here!">>
<<advancetime 60>>
<<addRel -5 nicole>>
<<text "Get Nicole Lust Level to 3">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="DownstairsHallwayDecider">
<img src="assets/Locations/House/downstairs_hallway.webp">
<span>Get out</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/bathroom.webp')"></div>
<div class="location-ui">
<<text "You peek inside the bathroom and see Nicole taking a shower">>
<<nobr>>
<<set _randomNum to random(1, 3)>>
<<set _videoPath to "assets/Locations/House/Bathroom/Nicole/peek" + _randomNum + ".mp4">>
<</nobr>>
<<storyVideo _videoPath>>
<<advancetime 60>>
<<playerchat "She is so hot...">>
<<addSTH 2>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="DownstairsHallwayDecider">
<img src="assets/Locations/House/downstairs_hallway.webp">
<span>Get out</span>
</a>
</div>
</div><<goto "NicoleBathroom">>
<<button "Stuck?" "YourRoom">><</button>><div class="location-bg" style="background-image: url('assets/Locations/House/downstairs_hallway.webp')"></div>
<div class="location-ui"><<nobr>>
<<if $characters.nicole.lust < 40>>
<<storyImg "assets/Locations/House/Bathroom/Nicole/nicole_lust1.webp">>
<<elseif $characters.nicole.lust >= 40 and $characters.nicole.lust < 80>>
<<storyImg "assets/Locations/House/Bathroom/Nicole/nicole_lust2.webp">>
<<elseif $characters.nicole.lust >= 80>>
<<storyImg "assets/Locations/House/Bathroom/Nicole/nicole_lust3.webp">>
<</if>><</nobr>>
<<text "Bathroom door is closed, looks like Nicole's taking a shower.">>
<div class="location-grid">
<a class="loc-btn" data-passage="NicoleBathroomKnockDecider">
<img src="assets/Locations/House/Bathroom/occupied.webp">
<span>Knock</span>
</a>
<a class="loc-btn" data-passage="NicoleBathroomPeekInsideDecider">
<img src="assets/Locations/House/Bathroom/peek.webp">
<span>Peek inside</span>
</a>
<a class="loc-btn" data-passage="NicoleBathroomBargeInDecider">
<img src="assets/Locations/House/bathroom.webp">
<span>Barge in</span>
</a>
<a class="loc-btn loc-btn--wide" data-passage="DownstairsHallwayDecider">
<img src="assets/Locations/House/downstairs_hallway.webp">
<span>Return</span>
</a>
</div>
</div><<if $lastPracticeTalkingDay is $day>>
<<goto "AlreadyPracticedTalking">>
<<else>>
<<goto "PracticeTalking">>
<</if>><div class="location-bg" style="background-image: url('assets/Locations/House/bathroom.webp')"></div>
<div class="location-ui">
<<text "You have already practiced talking today. Quality over quantity, right?">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="Bathroom">
<img src="assets/Locations/House/bathroom.webp">
<span>Finish</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/bathroom.webp')"></div>
<div class="location-ui">
<<text "You practice talking to yourself in the mirror, trying to improve your communication skills.">>
<<storyVideo "assets/Locations/House/Bathroom/practice_talking.mp4">>
<<addCHA 1>><<advancetime 60>><<set $lastPracticeTalkingDay to $day>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="Bathroom">
<img src="assets/Locations/House/bathroom.webp">
<span>Finish</span>
</a>
</div>
</div><<if $lastShowerDay is $day>>
<<goto "AlreadyShowered">>
<<else>>
<<if $CharQuests.nicole.nicoleEventQuest2.status is "active" and $CharQuests.nicole.nicoleEventQuest2.step is 0>>
<<goto "NicoleEventQuest2Start">>
<<else>>
<<goto "ShowerAlone">>
<</if>>
<</if>>
<<button "Stuck?" "YourRoom">><</button>><div class="location-bg" style="background-image: url('assets/Locations/House/Bathroom/shower.webp')"></div>
<div class="location-ui">
<<text "You turn the water to maximum heat and step in, immediately leaning one hand against the wall while letting the water hit your face like a dramatic protagonist in a movie trailer. You are 100% visualizing a slow-motion montage of yourself.">>
<<storyVideo "assets/Locations/House/Bathroom/shower.mp4">>
<<advancetime 60>><<addenergy 20>><<set $lastShowerDay to $day>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="DownstairsHallwayDecider">
<img src="assets/Locations/House/downstairs_hallway.webp">
<span>Finish</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/Bathroom/shower.webp')"></div>
<div class="location-ui">
<<text "You've already taken a shower today. You can't risk being too clean...">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="BathroomDecider">
<img src="assets/Locations/House/bathroom.webp">
<span>Return</span>
</a>
</div><<goto "SnoopBathroom">>
<<button "Stuck?" "YourRoom">><</button>><div class="location-bg" style="background-image: url('assets/Locations/House/bathroom.webp')"></div>
<div class="location-ui">
<<storyVideo "assets/Locations/House/Bathroom/snoop.mp4">>
<<text "You snoop around but find nothing...">>
<<addenergy -5>><<advancetime 15>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="BathroomDecider">
<img src="assets/Locations/House/bathroom.webp">
<span>Finish</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/downstairs_hallway.webp')"></div>
<div class="location-ui">
<<text "You barge into the bathroom without knocking.">>
<<playerchat "//((Throws the door open))// Hey, I need—">>
<<chat sophia "WHAT THE HELL?! GET OUT! GET OUT OF HERE!">>
<<storyVideo "assets/Locations/House/Bathroom/caught.mp4">>
<<playerchat "Wait, sorry, I didn't think—">>
<<chat sophia "I don't care! Close the door! Turn around! You are a disgusting creep!">>
<<addRel -3 sophia>><<advancetime 60>>
<<text "Get Sophia Lust Level to 3">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="DownstairsHallwayDecider">
<img src="assets/Locations/House/downstairs_hallway.webp">
<span>Return</span>
</a>
</div>
</div><<if $characters.sophia.lust < 40>>
<<goto "SophiaBathroomBargeInAngryDecider">>
<<elseif $characters.sophia.lust >= 40 and $characters.sophia.lust < 80>>
<<goto "SophiaBathroomBargeInTeaseDecider">>
<<elseif $characters.sophia.lust >= 80>>
<<goto "SophiaBathroomBargeInInviteDecider">>
<</if>>
<<button "Stuck?" "YourRoom">><</button>><<goto "SophiaBathroomBargeInAngry">>
<<button "Stuck?" "YourRoom">><</button>><<goto "SophiaBathroomBargeInTease">>
<<button "Stuck?" "YourRoom">><</button>><<goto "SophiaBathroomBargeInInvite">>
<<button "Stuck?" "YourRoom">><</button>><div class="location-bg" style="background-image: url('assets/Locations/House/bathroom.webp')"></div>
<div class="location-ui">
<<playerchat "//(Flings the door open and steps inside)//">>
<<chat sophia "//(Doesn't flinch; smiles warmly under the running water)// Well, took you long enough. I was wondering when you’d lose your patience.">>
<<playerchat "You knew I'd come in?">>
<<chat sophia "I left the lock loose on purpose, didn't I? Now shut the door behind you and enjoy the show.">>
<<advancetime 60>>
<<nobr>>
<<set _randomNum to random(1, 3)>>
<<set _videoPath to "assets/Locations/House/Bathroom/Sophia/masturbating" + _randomNum + ".mp4">>
<</nobr>>
<<storyVideo _videoPath>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="DownstairsHallwayDecider">
<img src="assets/Locations/House/downstairs_hallway.webp">
<span>Get out</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/bathroom.webp')"></div>
<div class="location-ui">
<<text "You barge into the bathroom without knocking.">>
<<playerchat "//((Throws the door open))// Hey, I need—">>
<<nobr>>
<<set _randomNum to random(4, 6)>>
<<set _videoPath to "assets/Locations/House/Bathroom/Sophia/flash" + _randomNum + ".mp4">>
<</nobr>>
<<storyVideo _videoPath>>
<<playerchat "Uh... wow. Sorry.">>
<<chat sophia "//(Smirking through her blush)// You 'accidental' walkers-in are all the same. You've got five seconds to look your fill before I throw this wet towel at your face.">>
<<advancetime 60>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="DownstairsHallwayDecider">
<img src="assets/Locations/House/downstairs_hallway.webp">
<span>Get out</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/downstairs_hallway.webp')"></div>
<div class="location-ui">
<<text "You knock on the bathroom door.">>
<<playerchat "Hey, Sophia? You almost done in there? I really need to piss.">>
<<chat sophia "//(Sharp, yelling over the rush of the water.)// Are you serious? I just stepped in! Go use the kitchen sink or wait like thirty minutes!">>
<<playerchat "Come on, it'll take two seconds—">>
<<chat sophia "The answer is no! Leave me alone and let me take a shower in peace!">>
<<text "You hear the heavy, definitive click of the deadbolt being double-checked from the inside, followed by an aggressive squeak of the faucet turning the water up higher to drown you out. There is absolutely no entry here; her patience with you is already razor-thin.">>
<<nobr>>
<<set _randomNum to random(1, 10)>>
<<advancetime 60>>
<</nobr>>
<<if _randomNum <= 3>>
<<text "Sophia wasn't in a good mood to begin with, but that was the last straw. You can feel her annoyance radiating through the door.">>
<<addRel -1 sophia>>
<</if>>
<<text "Get Sophia's Relationship over 30 or Lust level over 3">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="DownstairsHallwayDecider">
<img src="assets/Locations/House/downstairs_hallway.webp">
<span>Return</span>
</a>
</div>
</div><<if $characters.sophia.lust < 40>>
<<if $characters.sophia.relationship <= 30>>
<<goto "SophiaBathroomKnockAnnoyedDecider">>
<</if>>
<<if $characters.sophia.relationship > 30>>
<<goto "SophiaBathroomKnockFriendlyDecider">>
<</if>>
<<elseif $characters.sophia.lust >= 40 and $characters.sophia.lust < 80>>
<<goto "SophiaBathroomKnockFlirtyDecider">>
<<elseif $characters.sophia.lust >= 80>>
<<goto "SophiaBathroomKnockNakedDecider">>
<</if>>
<<button "Stuck?" "YourRoom">><</button>><<goto "SophiaBathroomKnockAnnoyed">>
<<button "Stuck?" "YourRoom">><</button>><<goto "SophiaBathroomKnockFriendly">>
<<button "Stuck?" "YourRoom">><</button>><<goto "SophiaBathroomKnockFlirty">>
<<button "Stuck?" "YourRoom">><</button>><<goto "SophiaBathroomKnockNaked">>
<<button "Stuck?" "YourRoom">><</button>><div class="location-bg" style="background-image: url('assets/Locations/House/downstairs_hallway.webp')"></div>
<div class="location-ui">
<<text "You knock on the bathroom door.">>
<<playerchat "Sophia? You in there?">>
<<chat sophia "//(Voice dropping to a softer, sweeter tone)// Mmhmm... Why? Missing me already?">>
<<playerchat "I actually needed to grab my hair gel, but... what are you doing?">>
<<chat sophia "Just rinsing off. You can come grab it... if you think you can handle it.">>
<<advancetime 30>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="SophiaBathroomKnockFlirtyP2">
<img src="assets/Locations/House/bathroom.webp">
<span>Bathroom</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/bathroom.webp')"></div>
<div class="location-ui">
<<text "You turn the knob and push the door open. The steam curls out into the hallway. As you step inside, Sophia deliberately flashes you.">>
<<nobr>>
<<set _randomNum to random(1, 3)>>
<<set _videoPath to "assets/Locations/House/Bathroom/Sophia/flash" + _randomNum + ".mp4">>
<</nobr>>
<<storyVideo _videoPath>>
<<chat sophia "//(Giggling, biting her lip)// Oops... close your eyes, silly. Grab your stuff and go before I get mad.">>
<<advancetime 30>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="DownstairsHallwayDecider">
<img src="assets/Locations/House/downstairs_hallway.webp">
<span>Get out</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/downstairs_hallway.webp')"></div>
<div class="location-ui">
<<text "You knock on the bathroom door.">>
<<playerchat "Hey, Sophia? Sorry to bother you, but it's kind of an emergency. Can I slide in real quick just to pee?">>
<<chat sophia "Ugh, gross! Fine, the door is unlocked. But you better keep your eyes glued to the wall, or you’re buying me dinner for a week!">>
<<playerchat "Deal. Eyes forward, I promise.">>
<<chat sophia "//(From behind the curtain)// I mean it! Just do your business and get out!">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="SophiaBathroomKnockFriendlyP2">
<img src="assets/Locations/House/bathroom.webp">
<span>Bathroom</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/bathroom.webp')"></div>
<div class="location-ui">
<<text "You step into a room thick with warm, jasmine-scented steam. True to your word, you keep your gaze fixed strictly on the porcelain. Behind the opaque, frosted shower curtain, Sophia’s blurry silhouette shifts as she reaches for her shampoo, completely safe in the knowledge that you respect her space.">>
<<storyVideo "assets/Locations/House/Bathroom/Sophia/showering.mp4">>
<<advancetime 60>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="DownstairsHallwayDecider">
<img src="assets/Locations/House/Bathroom/piss.webp">
<span>Piss and get out</span>
</a>
<a class="loc-btn loc-btn--wide" data-passage="SophiaBathroomKnockFriendlyPeekDecider">
<img src="assets/Locations/House/Bathroom/Sophia/peek.webp">
<span>Peek (risky)</span>
</a>
</div>
</div><<set _randomNum to random(1, 10)>>
<<if _randomNum <= 5>>
<<goto "SophiaBathroomFriendlyPeekSuccess">>
<<else>>
<<goto "SophiaBathroomFriendlyPeekFail">>
<</if>>
<<button "Stuck?" "YourRoom">><</button>><div class="location-bg" style="background-image: url('assets/Locations/House/bathroom.webp')"></div>
<div class="location-ui">
<<text "You were caught.">>
<<text "As you peek through the curtain, you accidentally tug on it a little too hard, causing it to swing open just enough for Sophia to catch a glimpse of you.">>
<<storyVideo "assets/Locations/House/Bathroom/caught.mp4">>
<<chat sophia "WHAT THE ACTUAL FUCK ARE YOU DOING!? GET THE FUCK OUT!">>
<<addRel -5 sophia>>
<<advancetime 15>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="DownstairsHallwayDecider">
<img src="assets/Locations/House/downstairs_hallway.webp">
<span>Get out</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/bathroom.webp')"></div>
<div class="location-ui">
<<text "You peek through the curtain, catching a glimpse of Sophia.">>
<<nobr>>
<<set _randomNum to random(1, 3)>>
<<set _videoPath to "assets/Locations/House/Bathroom/Sophia/masturbating" + _randomNum + ".mp4">>
<</nobr>>
<<storyVideo _videoPath>>
<<playerchat "//(She's masturbating...)//">>
<<advancetime 15>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="DownstairsHallwayDecider">
<img src="assets/Locations/House/downstairs_hallway.webp">
<span>Get out</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/downstairs_hallway.webp')"></div>
<div class="location-ui">
<<text "You knock on the bathroom door.">>
<<playerchat "Sophia? Can I come in?">>
<<chat sophia "It's open. You can always come in.">>
<<advancetime 30>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="SophiaBathroomKnockNakedP2">
<img src="assets/Locations/House/bathroom.webp">
<span>Bathroom</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/bathroom.webp')"></div>
<div class="location-ui">
<<text "You step inside, expecting her to be hidden away. Instead, she was waiting for you to close the door.">>
<<chat sophia "//(Looking at you up and down with a confident smile)// Like what you see? You're staring quite a bit.">>
<<playerchat "It's... hard not to.">>
<<advancetime 30>>
<<nobr>>
<<set _randomNum to random(4, 6)>>
<<set _videoPath to "assets/Locations/House/Bathroom/Sophia/masturbating" + _randomNum + ".mp4">>
<</nobr>>
<<storyVideo _videoPath>>
<<chat sophia "Good. I like it when you look at me like that.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="DownstairsHallwayDecider">
<img src="assets/Locations/House/downstairs_hallway.webp">
<span>Get out</span>
</a>
</div>
</div><<if $characters.sophia.lust < 40>>
<<set _randomNum to random(1, 10)>>
<<if _randomNum <= 5>>
<<goto "SophiaBathroomPeekInsideFail">>
<<else>>
<<goto "SophiaBathroomPeekInsideSuccess">>
<</if>>
<<else>>
<<goto "SophiaBathroomPeekInsideSuccess">>
<</if>>
<<button "Stuck?" "YourRoom">><</button>><div class="location-bg" style="background-image: url('assets/Locations/House/bathroom.webp')"></div>
<div class="location-ui">
<<text "You got caught peeking inside the bathroom.">>
<<chat sophia "WHAT ARE YOU DOING!? GET OUT OF HERE!">>
<<advancetime 60>>
<<addRel -5 sophia>>
<<text "Get Sophia Lust Level to 3">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="DownstairsHallwayDecider">
<img src="assets/Locations/House/downstairs_hallway.webp">
<span>Get out</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/bathroom.webp')"></div>
<div class="location-ui">
<<text "You peek inside the bathroom and see Sophia taking a shower">>
<<nobr>>
<<set _randomNum to random(1, 3)>>
<<set _videoPath to "assets/Locations/House/Bathroom/Sophia/peek" + _randomNum + ".mp4">>
<</nobr>>
<<storyVideo _videoPath>>
<<advancetime 60>>
<<playerchat "She is so hot...">>
<<addSTH 2>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="DownstairsHallwayDecider">
<img src="assets/Locations/House/downstairs_hallway.webp">
<span>Get out</span>
</a>
</div>
</div><<goto "SophiaBathroom">>
<<button "Stuck?" "YourRoom">><</button>><div class="location-bg" style="background-image: url('assets/Locations/House/downstairs_hallway.webp')"></div>
<div class="location-ui"><<nobr>>
<<if $characters.sophia.lust < 40>>
<<storyImg "assets/Locations/House/Bathroom/Sophia/sophia_lust1.webp">>
<<elseif $characters.sophia.lust >= 40 and $characters.sophia.lust < 80>>
<<storyImg "assets/Locations/House/Bathroom/Sophia/sophia_lust2.webp">>
<<elseif $characters.sophia.lust >= 80>>
<<storyImg "assets/Locations/House/Bathroom/Sophia/sophia_lust3.webp">>
<</if>><</nobr>>
<<text "Bathroom door is closed, looks like Sophia's taking a shower.">>
<div class="location-grid">
<a class="loc-btn" data-passage="SophiaBathroomKnockDecider">
<img src="assets/Locations/House/Bathroom/occupied.webp">
<span>Knock</span>
</a>
<a class="loc-btn" data-passage="SophiaBathroomPeekInsideDecider">
<img src="assets/Locations/House/Bathroom/peek.webp">
<span>Peek inside</span>
</a>
<a class="loc-btn" data-passage="SophiaBathroomBargeInDecider">
<img src="assets/Locations/House/bathroom.webp">
<span>Barge in</span>
</a>
<a class="loc-btn loc-btn--wide" data-passage="DownstairsHallwayDecider">
<img src="assets/Locations/House/downstairs_hallway.webp">
<span>Return</span>
</a>
</div>
</div><<goto "DownstairsHallway">>
<<button "Stuck?" "YourRoom">><</button>><div class="location-bg" style="background-image: url('assets/Locations/House/downstairs_hallway.webp')"></div>
<div class="location-title">🏠 Downstairs Hallway
<<storyImg "assets/Locations/House/downstairs_hallway.webp">>
</div>
<div class="location-ui">
<<text "Downstairs Hallway">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="UpstairsHallwayDecider">
<img src="assets/Locations/House/upstairs_hallway.webp">
<span>Upstairs Hallway</span>
</a>
<a class="loc-btn" data-passage="LivingroomDecider">
<img src="assets/Locations/House/livingroom.webp">
<<charBadges "Livingroom">>
<span>Living room</span>
</a>
<a class="loc-btn" data-passage="KitchenDecider">
<img src="assets/Locations/House/kitchen.webp">
<<charBadges "Kitchen">>
<span>Kitchen</span>
</a>
<a class="loc-btn" data-passage="BathroomDecider">
<img src="assets/Locations/House/bathroom.webp">
<<charBadges "Bathroom">>
<span>Bathroom</span>
</a>
<a class="loc-btn loc-btn--wide" data-passage="OutsideDecider">
<img src="assets/Locations/House/house.webp">
<span>Outside</span>
</a>
</div>
</div><<goto "ClairHelpClean">>
<<button "Stuck?" "YourRoom">><</button>><div class="location-bg" style="background-image: url('assets/Locations/House/kitchen.webp')"></div>
<div class="location-ui">
<<text "You decide to help Clair clean the kitchen.">><<advancetime 60>>
<<if $characters.clair.level < 2>>
<<set _randomNum to random(1, 2)>>
<<chat clair "About time you made yourself useful. Grab a sponge and start scrubbing.">>
<<set _path to "assets/Locations/House/Kitchen/Clair/clair_cleaning" + _randomNum + ".mp4">>
<<storyVideo _path>>
<<playerchat "I'm only here because you look exceptionally good while cleaning.">>
<<text "Clair scoffs loudly, rolling her eyes, but her ears turn bright pink as she turns away.">>
<<addRel 1 clair>>
<<addLust 1 clair>>
<<elseif $characters.clair.level >= 2>><<set _randomNum to random(1, 3)>>
<<chat clair "What's wrong, loser? Never seen a girl clean without her clothes before? Do your job.">>
<<set _path to "assets/Locations/House/Kitchen/Clair/clair_naked" + _randomNum + ".mp4">>
<<storyVideo _path>>
<<text "You get hard looking at Clair. She smirks, but as she locks eyes with you, her breathing turns shallow and submissive.">>
<<addRel 1 clair>>
<<addLust 1 clair>>
<</if>>
<<addenergy -10>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="DownstairsHallwayDecider">
<img src="assets/Locations/House/downstairs_hallway.webp">
<span>Downstairs Hallway</span>
</a>
</div>
</div><<goto "ClairKitchen">>
<<button "Stuck?" "YourRoom">><</button>><div class="location-bg" style="background-image: url('assets/Locations/House/kitchen.webp')"></div>
<div class="location-title">🏠 Kitchen</div>
<div class="location-ui"><<nobr>>
<<text "Looks like Clair is here.">>
<<set _path to "assets/Locations/House/Kitchen/Clair/clair_lust" + $characters.clair.level + ".webp">>
<<storyImg _path>>
<div class="interaction-btns">
<<button "Talk">>
<<set $selectedChar to "clair">>
<<set $mm_returnPassage to "KitchenDecider">>
<<if $lastClairTalkDay is $day>>
<<goto "AlreadyTalkedToClair">>
<<else>>
<<goto "MoodMinigameStart">>
<</if>>
<</button>>
<<button "Give Gift">>
<<set $giftClair_returnPassage to "KitchenDecider">>
<<goto "GiveGiftClairDecider">>
<</button>>
<<button "Hug">>
<<set $hug_returnPassage to "KitchenDecider">>
<<goto "ClairHugDecider">>
<</button>>
<<button "Kiss">>
<<set $kiss_returnPassage to "KitchenDecider">>
<<goto "ClairKissDecider">>
<</button>>
<<button "Slap Ass">>
<<set $slap_returnPassage to "KitchenDecider">>
<<goto "ClairSlapDecider">>
<</button>>
<<button "Blowjob">>
<<set $blowjob_returnPassage to "KitchenDecider">>
<<goto "ClairBlowjobDecider">>
<</button>>
<<button "Sex">>
<<set $sex_returnPassage to "KitchenDecider">>
<<goto "ClairSexDecider">>
<</button>>
</div><</nobr>>
<div class="location-grid">
<a class="loc-btn" data-passage="ClairHelpCleanDecider">
<img src="assets/Locations/House/Kitchen/girl_cleaning.webp">
<span>Help Clean</span>
<<energyGate 10>>
</a>
<a class="loc-btn loc-btn--wide" data-passage="DownstairsHallwayDecider">
<img src="assets/Locations/House/downstairs_hallway.webp">
<span>Downstairs Hallway</span>
</a>
</div>
</div><<if $lastDishesDay is $day>>
<<goto "AlreadyDidDishes">>
<<else>>
<<goto "DoTheDishes">>
<</if>>
<<button "Stuck?" "YourRoom">><</button>><div class="location-bg" style="background-image: url('assets/Locations/House/kitchen.webp')"></div>
<div class="location-ui">
<<text "Dishes are gross, but they need to be done. You spend some time washing the dishes and tidying up the kitchen.">>
<<storyVideo "assets/Locations/House/Kitchen/dishes.mp4">>
<<addenergy -5>><<advancetime 60>><<set $lastDishesDay to $day>>
<<text "Sophia will be happy.">>
<<addRel 2 sophia>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="KitchenDecider">
<img src="assets/Locations/House/kitchen.webp">
<span>Return</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/kitchen.webp')"></div>
<div class="location-ui">
<<text "There are no dishes to do right now. You already did the dishes today.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="KitchenDecider">
<img src="assets/Locations/House/kitchen.webp">
<span>Return</span>
</a>
</div>
</div><<if $lastSnackDay is $day>>
<<goto "AlreadyHadSnack">>
<<else>>
<<goto "GrabASnack">>
<</if>>
<<button "Stuck?" "YourRoom">><</button>><div class="location-bg" style="background-image: url('assets/Locations/House/kitchen.webp')"></div>
<div class="location-ui">
<<text "You decided to grab a snack.">>
<<storyVideo "assets/Locations/House/Kitchen/eating.mp4">>
<<addenergy 10>><<advancetime 60>><<set $lastSnackDay to $day>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="KitchenDecider">
<img src="assets/Locations/House/kitchen.webp">
<span>Return</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/kitchen.webp')"></div>
<div class="location-ui">
<<text "You already grabbed a snack today. You should wait until tomorrow to grab another one.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="KitchenDecider">
<img src="assets/Locations/House/kitchen.webp">
<span>Return</span>
</a>
</div>
</div><<set _kitchenEventRoll to random(1, 100)>>
<<if $Sophia.location is "Kitchen">>
<<if $CharQuests.clair.clairEventQuest2.status is "active" and $CharQuests.clair.clairEventQuest2.step is 0>>
<<goto "ClairEventQuest2Start">>
<<else>>
<<goto "SophiaKitchenDecider">>
<</if>>
<<elseif $Clair.location is "Kitchen">>
<<goto "ClairKitchenDecider">>
<<elseif $Nicole.location is "Kitchen">>
<<goto "NicoleKitchenDecider">>
<<else>>
<<if $hour >= 21 and _kitchenEventRoll <= 30>>
<<goto "HouseEventSnack">>
<<else>>
<<goto "Kitchen">>
<</if>>
<</if>>
<<button "Stuck?" "YourRoom">><</button>><div class="location-bg" style="background-image: url('assets/Locations/House/kitchen.webp')"></div>
<div class="location-title">🏠 Kitchen
<<storyImg "assets/Locations/House/kitchen.webp">>
</div>
<div class="location-ui">
<<text "You're alone in the kitchen. You can grab a snack, do the dishes, or snoop around to see if you can find anything interesting.">>
<div class="location-grid">
<a class="loc-btn" data-passage="GrabASnackDecider">
<img src="assets/Locations/House/Kitchen/snack.webp">
<span>Grab a Snack</span>
</a>
<a class="loc-btn" data-passage="DoTheDishesDecider">
<<energyGate 5>>
<img src="assets/Locations/House/Kitchen/dishes.webp">
<span>Do the Dishes</span>
</a>
<a class="loc-btn" data-passage="SnoopAroundDecider">
<<energyGate 5>>
<img src="assets/Locations/House/Kitchen/trash.webp">
<span>Snoop Around</span>
</a>
<a class="loc-btn loc-btn--wide" data-passage="DownstairsHallwayDecider">
<img src="assets/Locations/House/downstairs_hallway.webp">
<span>Downstairs Hallway</span>
</a>
</div>
</div><<goto "NicoleHelpClean">>
<<button "Stuck?" "YourRoom">><</button>><div class="location-bg" style="background-image: url('assets/Locations/House/kitchen.webp')"></div>
<div class="location-ui">
<<text "You decide to help Nicole clean the kitchen.">><<advancetime 60>>
<<if $characters.nicole.level < 2>>
<<set _randomNum to random(1, 2)>>
<<chat nicole "O-Oh, thank you... I was starting to struggle with the heavy pots.">>
<<set _path to "assets/Locations/House/Kitchen/Nicole/nicole_cleaning" + _randomNum + ".mp4">>
<<storyVideo _path>>
<<playerchat "Any time. Besides, I get a perfect view of you while we work.">>
<<text "Nicole squeaks softly, her face turning an instant crimson as she looks down.">>
<<addRel 1 nicole>>
<<addLust 1 nicole>>
<<elseif $characters.nicole.level >= 2>><<set _randomNum to random(1, 3)>>
<<chat nicole "Y-You're staring again... Am I doing a bad job cleaning, $playerName?">>
<<set _path to "assets/Locations/House/Kitchen/Nicole/nicole_naked" + _randomNum + ".mp4">>
<<storyVideo _path>>
<<text "You get hard looking at Nicole. Her eyes dart down, and she gasps softly, her entire body flushing pink.">>
<<chat nicole "O-Oh my... I guess... I guess you really do like looking at me...">>
<<addRel 1 nicole>>
<<addLust 1 nicole>>
<</if>>
<<addenergy -10>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="DownstairsHallwayDecider">
<img src="assets/Locations/House/downstairs_hallway.webp">
<span>Downstairs Hallway</span>
</a>
</div>
</div><<goto "NicoleKitchen">>
<<button "Stuck?" "YourRoom">><</button>><div class="location-bg" style="background-image: url('assets/Locations/House/kitchen.webp')"></div>
<div class="location-title">🏠 Kitchen</div>
<div class="location-ui"><<nobr>>
<<text "Looks like Nicole is here.">>
<<set _path to "assets/Locations/House/Kitchen/Nicole/nicole_lust" + $characters.nicole.level + ".webp">>
<<storyImg _path>>
<div class="interaction-btns">
<<button "Talk">>
<<set $selectedChar to "nicole">>
<<set $mm_returnPassage to "KitchenDecider">>
<<if $lastNicoleTalkDay is $day>>
<<goto "AlreadyTalkedToNicole">>
<<else>>
<<goto "MoodMinigameStart">>
<</if>>
<</button>>
<<button "Give Gift">>
<<set $giftNicole_returnPassage to "KitchenDecider">>
<<goto "GiveGiftNicoleDecider">>
<</button>>
<<button "Hug">>
<<set $hug_returnPassage to "KitchenDecider">>
<<goto "NicoleHugDecider">>
<</button>>
<<button "Kiss">>
<<set $kiss_returnPassage to "KitchenDecider">>
<<goto "NicoleKissDecider">>
<</button>>
<<button "Slap Ass">>
<<set $slap_returnPassage to "KitchenDecider">>
<<goto "NicoleSlapDecider">>
<</button>>
<<button "Blowjob">>
<<set $blowjob_returnPassage to "KitchenDecider">>
<<goto "NicoleBlowjobDecider">>
<</button>>
<<button "Sex">>
<<set $sex_returnPassage to "KitchenDecider">>
<<goto "NicoleSexDecider">>
<</button>>
</div><</nobr>>
<div class="location-grid">
<a class="loc-btn" data-passage="NicoleHelpCleanDecider">
<img src="assets/Locations/House/Kitchen/girl_cleaning.webp">
<span>Help Clean</span>
<<energyGate 10>>
</a>
<a class="loc-btn loc-btn--wide" data-passage="DownstairsHallwayDecider">
<img src="assets/Locations/House/downstairs_hallway.webp">
<span>Downstairs Hallway</span>
</a>
</div>
</div><<nobr>>
<<advancetime 60>>
<<set _charRoll to random(1, 2)>>
<<if _charRoll is 1>>
<<set _char to "clair">>
<<set _charName to "Clair">>
<<set _img to "assets/Locations/House/RandomEvents/Kitchen/SnackEvent/clair.webp">>
<<else>>
<<set _char to "nicole">>
<<set _charName to "Nicole">>
<<set _img to "assets/Locations/House/RandomEvents/Kitchen/SnackEvent/nicole.webp">>
<</if>>
<</nobr>>
<div class="location-bg" style="background-image: url('assets/Locations/House/kitchen.webp')"></div>
<div class="location-ui">
<<text "You come into the kitchen at this hour and stop dead. _charName is standing at the counter in an oversized t-shirt and nothing else, a tub of ice cream open in front of her, spoon hanging out of her mouth.">>
<<storyImg _img>>
<<text "She freezes when she sees you. The spoon clatters to the counter.">>
<<if _char is "clair">>
<<chat clair "Don't you dare say anything. I will end you.">>
<<else>>
<<chat nicole "Eep! I... I didn't think anyone else was awake...">>
<</if>>
<div class="choice-buttons" id="snack_choices">
<<button "Tease her">>
<<replace "#snack_choices">>
<<playerchat "Late-night ice cream in your underwear. That's a vibe.">>
<<text "She glares at you, but a smile fights its way through.">>
<<if _char is "clair">>
<<chat clair "Shut up. Sit down. You're not getting any, though.">>
<<playerchat "You said that, but you're already grabbing a second spoon.">>
<<storyImg "assets/Locations/House/RandomEvents/Kitchen/SnackEvent/clair_boob.webp">>
<<else>>
<<chat nicole "It's not a vibe, it's a... a coping mechanism. Don't laugh!">>
<<playerchat "I'm not laughing. I'm joining.">>
<<storyImg "assets/Locations/House/RandomEvents/Kitchen/SnackEvent/nicole_bent.webp">>
<</if>>
<<addCHA 1>>
<<addRel 1 _char>>
<<addLust 1 _char>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="Kitchen">
<img src="assets/Locations/House/kitchen.webp">
<span>Continue</span>
</a>
</div>
<</replace>>
<</button>>
<<button "Comfort her">>
<<replace "#snack_choices">>
<<playerchat "Couldn't sleep either, huh? Scoot over.">>
<<text "You pull up the stool next to her. She hesitates, then slides the tub toward you and hands you a clean spoon.">>
<<if _char is "clair">>
<<chat clair "Don't think this makes us friends. We're just two people eating ice cream at the same time. Nothing else.">>
<<storyImg "assets/Locations/House/RandomEvents/Kitchen/SnackEvent/clair_ass.webp">>
<<else>>
<<chat nicole "I always feel weird being up this late... but it's also kind of nice. Quiet.">>
<<storyImg "assets/Locations/House/RandomEvents/Kitchen/SnackEvent/nicole_quiet.webp">>
<</if>>
<<text "You sit together in the dark, eating ice cream, saying very little. It's the most relaxed you've ever seen her.">>
<<addRel 3 _char>>
<<addLust 1 _char>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="Kitchen">
<img src="assets/Locations/House/kitchen.webp">
<span>Continue</span>
</a>
</div>
<</replace>>
<</button>>
<<button "Leave without a word">>
<<replace "#snack_choices">>
<<text "You turn around and walk out. Behind you, you hear her exhale — half relief, half something else.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="Kitchen">
<img src="assets/Locations/House/kitchen.webp">
<span>Continue</span>
</a>
</div>
<</replace>>
<</button>>
</div>
</div><<goto "SnoopAroundKitchen">>
<<button "Stuck?" "YourRoom">><</button>><div class="location-bg" style="background-image: url('assets/Locations/House/kitchen.webp')"></div>
<div class="location-ui">
<<text "You look around but don't find anything interesting.">>
<<addenergy -5>><<advancetime 15>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="KitchenDecider">
<img src="assets/Locations/House/kitchen.webp">
<span>Return</span>
</a>
</div>
</div><<goto "SophiaHelpClean">>
<<button "Stuck?" "YourRoom">><</button>><div class="location-bg" style="background-image: url('assets/Locations/House/kitchen.webp')"></div>
<div class="location-ui">
<<text "You decide to help Sophia clean the kitchen.">><<advancetime 60>>
<<if $characters.sophia.level < 2>>
<<set _randomNum to random(1, 2)>>
<<chat sophia "You could've done this instead of me, you know...">>
<<set _path to "assets/Locations/House/Kitchen/Sophia/sophia_cleaning" + _randomNum + ".mp4">>
<<storyVideo _path>>
<<playerchat "Then I couldn't look at you while you're cleaning.">>
<<text "Sophia blushes a little.">>
<<addRel 1 sophia>>
<<addLust 1 sophia>>
<<elseif $characters.sophia.level >= 2>><<set _randomNum to random(1, 3)>>
<<chat sophia "Came here to help me clean or just to look at me, $playerName?">>
<<set _path to "assets/Locations/House/Kitchen/Sophia/sophia_naked" + _randomNum + ".mp4">>
<<storyVideo _path>>
<<text "You get hard looking at Sophia. She notices.">>
<<chat sophia "There's my answer.">>
<<addRel 1 sophia>>
<<addLust 1 sophia>>
<</if>>
<<addenergy -10>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="DownstairsHallwayDecider">
<img src="assets/Locations/House/downstairs_hallway.webp">
<span>Downstairs Hallway</span>
</a>
</div>
</div><<goto "SophiaHelpCook">>
<<button "Stuck?" "YourRoom">><</button>><div class="location-bg" style="background-image: url('assets/Locations/House/kitchen.webp')"></div>
<div class="location-ui">
<<text "Sophia is at the stove, naked except for a thin apron tied at her waist. Her ass is bare. She glances back at you and smirks.">>
<<chat sophia "You're up. Come here and make yourself useful.">>
<<text "You step up beside her. Her bare hip brushes your arm. She reaches past you for the salt, her tits pressing against your shoulder, nipples hard through the apron.">>
<<storyImg "assets/Locations/House/Kitchen/Sophia/Breakfast/sophia_standing.webp">>
<<chat sophia "Eggs need flipping. Toast needs buttering. Don't burn anything.">>
<<advancetime 60>>
<<addenergy -15>>
<div class="choice-buttons" id="cook_choices">
<<button "Slap her ass">>
<<replace "#cook_choices">>
<<text "You smack her bare ass. She yelps, hips jolting, then looks back at you with a flushed, hungry smile.">>
<<storyVideo "assets/Locations/House/Kitchen/Sophia/breakfast_slap.mp4">>
<<chat sophia "Fuck. You're lucky I'm holding a spatula.">>
<<addLust 1 sophia>>
<<addRel 1 sophia>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="SophiaCookBreakfastEnd">
<img src="assets/Locations/House/Kitchen/Sophia/cooking.webp">
<span>Continue</span>
</a>
</div>
<</replace>>
<</button>>
<<button "Keep cooking">>
<<replace "#cook_choices">>
<<text "You keep your eyes on the pan and your hands to yourself. Sophia glances at you a few times, waiting for something that doesn't come. Eventually she sighs.">>
<<chat sophia "Boring. But at least the eggs are perfect.">>
<<addRel 1 sophia>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="SophiaCookBreakfastEnd">
<img src="assets/Locations/House/Kitchen/Sophia/cooking.webp">
<span>Continue</span>
</a>
</div>
<</replace>>
<</button>>
<<button "Start jerking off behind her">>
<<if $characters.sophia.level <= 2>>
<<set _randomNum to random(1, 100)>>
<<if _randomNum <= 70>>
<<goto "SophiaCookBreakfastJerk">>
<<else>>
<<goto "SophiaCookBreakfastJerkFail">>
<</if>>
<<else>>
<<set _randomNum to random(1, 100)>>
<<if _randomNum <= 70>>
<<goto "SophiaCookBreakfastJerk">>
<<else>>
<<if $characters.sophia.level >= 3>>
<<goto "SophiaCookBreakfastJerkHandjob">>
<</if>>
<</if>>
<</if>>
<</button>>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/kitchen.webp')"></div>
<div class="location-ui">
<<text "You step back a little and unzip your jeans. She's still at the stove, humming, her bare ass swaying with every motion. You pull your cock out and start stroking, slow, watching her.">>
<<text "You're getting close. Your wrist twists, your eyes fixed on the sway of her ass, and you don't hear the pan come off the burner.">>
<<text "She turns around.">>
<<storyImg "assets/Locations/House/Kitchen/Sophia/Breakfast/sophia_angry.webp">>
<<text "Her eyes go wide, then straight down. To your hand. To your cock. She just stares for a second, and you can see the exact moment it lands.">>
<<chat sophia "Oh my god. Were you— the whole time? Right behind me?">>
<<playerchat "Sophia, I—">>
<<chat sophia "Don't. Don't explain. Just— hold on, put that away.">>
<<text "She flaps a hand at you like she's shooing a fly. You tuck yourself in, fumbling, and she turns back to the stove too fast, slapping the pan down harder than she needs to.">>
<<chat sophia "Fuck's sake. I'm standing right there with my ass out, and you just— start going at yourself like a teenager.">>
<<text "She's ranting, but her ears are pink and she keeps shifting her weight. She presses her thighs together and takes a breath she doesn't let out.">>
<<chat sophia "And now I'm all— never mind. It's fine. It's fine!">>
<<text "She turns again, jabs the spatula at you, and her voice comes out flat and clipped.">>
<<chat sophia "Out. Go on. Go sit down and let me finish. And keep your hands to yourself for five minutes, that's all I ask.">>
<<text "You back out of the kitchen. She doesn't watch you go. She's staring at the pan like it insulted her, jaw tight, breathing hard.">>
<<addRel -1 sophia>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="DownstairsHallway">
<img src="assets/Locations/House/downstairs_hallway.webp">
<span>Leave</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/kitchen.webp')"></div>
<div class="location-ui">
<<storyVideo "assets/Locations/House/Kitchen/Sophia/Breakfast/apron.mp4">>
<<text "You step back a little and unzip your jeans. She's still at the stove, humming, her bare ass swaying with every motion. You pull your cock out and start stroking, slow, watching her.">>
<<text "You keep stroking, faster now, eyes locked on her ass. Your breathing gets heavier. This is a dangerous game. She could turn around any second.">>
<<storyVideo "assets/Locations/House/Kitchen/Sophia/Breakfast/jerking1.mp4">>
<div class="choice-buttons" id="jerk_choices">
<<button "Keep going">>
<<if $characters.sophia.level <= 3>>
<<goto "SophiaCookBreakfastJerkAccidentMad">>
<<else>>
<<goto "SophiaCookBreakfastJerkAccidentHappy">>
<</if>>
<</button>>
<<button "Stop before she notices">>
<<replace "#jerk_choices">>
<<text "You tuck yourself away and zip up, heart pounding. She turns around a second later with the pan, oblivious.">>
<<chat sophia "Toast is getting cold. Eat.">>
<<addRel 1 sophia>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="SophiaCookBreakfastEnd">
<img src="assets/Locations/House/Kitchen/Sophia/cooking.webp">
<span>Continue</span>
</a>
</div>
<</replace>>
<</button>>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/kitchen.webp')"></div>
<div class="location-ui">
<<text "You're too far gone. Your hand speeds up without you telling it to. Your breath hitches. You try to stop, try to aim, but it's too late.">>
<<storyVideo "assets/Locations/House/Kitchen/Sophia/Breakfast/jerking2.mp4">>
<<text "You cum. Hard. Rope after rope, and it lands exactly where you were looking — across her bare ass and the backs of her thighs.">>
<<text "She freezes.">>
<<storyVideo "assets/Locations/House/Kitchen/Sophia/Breakfast/cum_on_ass.mp4">>
<<chat sophia "Did you just—">>
<<text "She turns around slowly. Her eyes drop to your still-hard cock in your hand, then to her own ass. Her face goes red. Her chest heaves. She's furious. But her nipples are rock hard and her thighs are pressed together.">>
<<chat sophia "Are you out of your fucking mind?! You couldn't wait ten minutes?! You had to jerk off onto me while I was cooking?!">>
<<storyImg "assets/Locations/House/Kitchen/Sophia/Breakfast/sophia_angry.webp">>
<<playerchat "Sophia, I—">>
<<chat sophia "Get out. Get the fuck out of my kitchen. Right now.">>
<<text "She grabs a dish towel and wipes her ass with it, glaring at you the whole time. Her hands are shaking. Her voice is ice.">>
<<chat sophia "It's so warm. And sticky...">>
<<text "You see Sophia wipe some off her ass and then lick her fingers. She looks at you, furious and flustered all at once.">>
<<chat sophia "And yummy. That's what saves you now. Get out.">>
<<text "You zip up and back out of the kitchen. The last thing you see is her standing there, towel in hand, breathing hard, furious and flustered all at once.">>
<<addLust 2 sophia>>
<<addRel -1 sophia>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="DownstairsHallway">
<img src="assets/Locations/House/downstairs_hallway.webp">
<span>Leave</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/kitchen.webp')"></div>
<div class="location-ui">
<<text "You're too far gone. Your hand speeds up without you telling it to. Your breath hitches. You try to stop, try to aim, but it's too late.">>
<<storyVideo "assets/Locations/House/Kitchen/Sophia/Breakfast/jerking2.mp4">>
<<text "You cum. Hard. Rope after rope, and it lands across her bare ass and the backs of her thighs.">>
<<text "She freezes. Then, slowly, she sets the spatula down and turns around.">>
<<storyVideo "assets/Locations/House/Kitchen/Sophia/Breakfast/cum_on_ass.mp4">>
<<text "Her eyes drop to your cock, still hard in your hand, then drag back up to your face. Her mouth curves. She doesn't look angry. She looks like she just found money in a coat pocket.">>
<<chat sophia "Well, well. Look at you.">>
<<text "She reaches back and drags two fingers through the mess on her ass, then holds them up, inspecting them like she's grading you.">>
<<chat sophia "You made a real mess of me. In my own kitchen. While I was cooking your breakfast.">>
<<playerchat "I couldn't help it. The apron.">>
<<chat sophia "Mm. The apron.">>
<<text "She licks her fingers clean, unhurried, watching you the whole time. Then she steps in close, takes your still-wet cock in her hand and gives it a slow, lazy stroke that makes your knees dip.">>
<<chat sophia "Clean yourself up. Then eat. You're going to need the energy.">>
<<text "She lets go, wipes her hands on the towel, and turns back to the stove.">>
<<addLust 2 sophia>>
<<addRel 1 sophia>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="DownstairsHallway">
<img src="assets/Locations/House/downstairs_hallway.webp">
<span>Leave</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/kitchen.webp')"></div>
<div class="location-ui">
<<text "You step back a little and unzip your jeans. She's still at the stove, humming, her bare ass swaying with every motion. You pull your cock out and start stroking, slow, watching her.">>
<<text "You're not being careful. Your breath is loud, your hand is quick, and you don't notice the pan come off the burner.">>
<<text "She turns around.">>
<<storyImg "assets/Locations/House/Kitchen/Sophia/Breakfast/sophia_naked.webp">>
<<text "Her eyes drop. Her eyebrows go up. She doesn't flinch, doesn't gasp — she just looks at your cock in your hand like she's sizing up a job.">>
<<chat sophia "Huh.">>
<<text "She sets the spatula down, wipes her hands on the towel, and crosses the kitchen. You go still. She stops right in front of you, close enough that her apron brushes your knuckles.">>
<<chat sophia "Let me help you with that.">>
<<text "Her hand closes over yours, then replaces it. Warm. Sure. Her grip is nothing like yours — she knows exactly what she's doing.">>
<<storyVideo "assets/Locations/House/Kitchen/Sophia/Breakfast/handjob.mp4">>
<<text "She works you slow at first, thumb dragging over the head on every upstroke, watching your face instead of her hand. When your hips twitch she smirks and goes faster.">>
<<chat sophia "There it is. Look at you. Ten minutes into the day and you're already falling apart on me.">>
<<text "You grab the counter. She leans in, tits against your arm, mouth at your ear, and her hand is a blur now.">>
<<chat sophia "Don't you dare make a mess on my floor.">>
<<text "You don't last. You never had a chance. You cum with a choked sound and she angles you toward the towel in her other hand, catching most of it, working you through it until you're twitching and hissing.">>
<<storyVideo "assets/Locations/House/Kitchen/Sophia/Breakfast/handjob_cum.mp4">>
<<text "She holds you a second longer than she needs to, then lets go and examines the towel with a small, satisfied nod.">>
<<chat sophia "Most of it. That's a pass.">>
<<text "She tosses the towel in the sink and goes back to the stove like nothing happened, hips rolling, humming again.">>
<<chat sophia "Now sit. Breakfast is nearly ready, and you look like you need to lie down.">>
<<addLust 2 sophia>>
<<addRel 1 sophia>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="SophiaCookBreakfastEnd">
<img src="assets/Locations/House/Kitchen/Sophia/cooking.webp">
<span>Continue</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/kitchen.webp')"></div>
<div class="location-ui">
<<text "Breakfast is done. Sophia plates it and sets it on the counter, then turns to you, apron still barely covering her.">>
<<chat sophia "You were... helpful. In your own way.">>
<<addRel 1 sophia>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="DownstairsHallway">
<img src="assets/Locations/House/downstairs_hallway.webp">
<span>Finish breakfast</span>
</a>
</div>
</div><<if $CharQuests.sophia.sophiaBreakfastUnlockQuest.status is "active" and $hour < 10>>
<<goto "SophiaBreakfastUnlockQuestStart">>
<<else>>
<<goto "SophiaKitchen">>
<</if>>
<<button "Stuck?" "YourRoom">><</button>><div class="location-bg" style="background-image: url('assets/Locations/House/kitchen.webp')"></div>
<div class="location-title">🏠 Kitchen</div>
<div class="location-ui"><<nobr>>
<<text "Looks like Sophia is here.">>
<<set _path to "assets/Locations/House/Kitchen/Sophia/sophia_lust" + $characters.sophia.level + ".webp">>
<<storyImg _path>>
<div class="interaction-btns">
<<button "Talk">>
<<set $selectedChar to "sophia">>
<<set $mm_returnPassage to "KitchenDecider">>
<<if $lastSophiaTalkDay is $day>>
<<goto "AlreadyTalkedToSophia">>
<<else>>
<<goto "MoodMinigameStart">>
<</if>>
<</button>>
<<button "Give Gift">>
<<set $giftSophia_returnPassage to "KitchenDecider">>
<<goto "GiveGiftSophiaDecider">>
<</button>>
<<button "Hug">>
<<set $hug_returnPassage to "KitchenDecider">>
<<goto "SophiaHugDecider">>
<</button>>
<<button "Kiss">>
<<set $kiss_returnPassage to "KitchenDecider">>
<<goto "SophiaKissDecider">>
<</button>>
<<button "Slap Ass">>
<<set $slap_returnPassage to "KitchenDecider">>
<<goto "SophiaSlapDecider">>
<</button>>
<<button "Handjob">>
<<set $handjob_returnPassage to "KitchenDecider">>
<<goto "SophiaHandjobDecider">>
<</button>>
<<button "Footjob">>
<<set $footjob_returnPassage to "KitchenDecider">>
<<goto "SophiaFootjobDecider">>
<</button>>
<<button "Blowjob">>
<<set $blowjob_returnPassage to "KitchenDecider">>
<<goto "SophiaBlowjobDecider">>
<</button>>
<<button "Sex">>
<<set $sex_returnPassage to "KitchenDecider">>
<<goto "SophiaSexDecider">>
<</button>>
</div><</nobr>>
<div class="location-grid">
<a class="loc-btn" data-passage="SophiaHelpCleanDecider">
<img src="assets/Locations/House/Kitchen/girl_cleaning.webp">
<span>Help Clean</span>
<<energyGate 10>>
</a>
<<if $SophiaBreakfastUnlock is true and $hour <= 11>>
<a class="loc-btn" data-passage="SophiaHelpCookDecider">
<img src="assets/Locations/House/Kitchen/Sophia/cooking.webp">
<span>Help Cook</span>
<<energyGate 15>>
</a>
<</if>>
<a class="loc-btn loc-btn--wide" data-passage="DownstairsHallwayDecider">
<img src="assets/Locations/House/downstairs_hallway.webp">
<span>Downstairs Hallway</span>
</a>
</div>
</div><<set _normalShow to random(1, 5)>>
<<if _normalShow == 1>>
<<goto "ClairTVNormalDrama">>
<<elseif _normalShow == 2>>
<<goto "ClairTVNormalHorror">>
<<elseif _normalShow == 3>>
<<goto "ClairTVNormalAction">>
<<elseif _normalShow == 4>>
<<goto "ClairTVNormalBoring">>
<<else>>
<<goto "ClairTVNormalDocumentary">>
<</if>>
<<button "Stuck?" "YourRoom">><</button>><div class="location-bg" style="background-image: url('assets/Locations/House/livingroom.webp')"></div>
<div class="location-ui">
<<text "You flip the channel over to an incredibly toxic celebrity reality show filled with screaming arguments.">><<advancetime 45>>
<<chat clair "Ugh, look at these total losers. Though... honestly? That girl totally deserved to get her drink thrown at her. Leave it on, I want to watch her cry.">>
<<storyImg "assets/Characters/Clair/clair_happy.webp">>
<<addRel 1 clair>>
<<text "Clair crosses her arms and acts superior, but she is completely invested in the trashy drama, occasionally leaning closer to you to spit out a nasty insult about the contestants.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="DownstairsHallwayDecider">
<img src="assets/Locations/House/downstairs_hallway.webp">
<span>Leave her to watch</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/livingroom.webp')"></div>
<div class="location-ui">
<<text "You put on a brutal, gory thriller movie. A sudden, disturbing monster jump-scare flashes on the screen.">><<advancetime 45>>
<<chat clair "H-Hey! Turn that trash off! I'm not scared at all, okay?! I just... I just don't like the cinematography!">>
<<text "Clair flinches violently and tries to play it cool, but her hand immediately shoots out and white-knuckles your forearm. She is trembling, using your body as a literal shield while acting like she's doing you a favor.">>
<<storyImg "assets/Characters/Clair/clair_happy.webp">>
<<addRel 2 clair>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="DownstairsHallwayDecider">
<img src="assets/Locations/House/downstairs_hallway.webp">
<span>Leave</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/livingroom.webp')"></div>
<div class="location-ui">
<<text "You switch the station over to a high-octane, explosion-heavy summer blockbuster action movie.">><<advancetime 45>>
<<chat clair "Woah... alright, fine, this movie actually kicks ass. Just don't think this means you get to choose what we watch next time, peasant.">>
<<storyImg "assets/Characters/Clair/clair_happy.webp">>
<<addRel 2 clair>>
<<text "Caught up in the hype of the film, Clair completely forgets to keep up her hostile attitude. She relaxes into the couch cushions, bouncing her knee in excitement right next to yours.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="DownstairsHallwayDecider">
<img src="assets/Locations/House/downstairs_hallway.webp">
<span>Leave</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/livingroom.webp')"></div>
<div class="location-ui">
<<text "You intentionally change the channel to a dreadfully dry stock market review show full of moving charts.">><<advancetime 45>>
<<chat clair "Are you literally trying to bore me to death? If I wanted to watch rich old men talk about percentages, I'd go to a stripclub. Change it back before I kick you off this couch.">>
<<storyImg "assets/Characters/Clair/clair_annoyed.webp">>
<<addRel -2 clair>>
<<text "Clair crosses her legs tightly, aggressively shoving her shoulder away from you. She is completely miserable and takes her frustration straight out on you.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="DownstairsHallwayDecider">
<img src="assets/Locations/House/downstairs_hallway.webp">
<span>Leave</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/livingroom.webp')"></div>
<div class="location-ui">
<<text "You flick the remote onto a slow-paced nature documentary about the migration habits of deep-sea snails.">><<advancetime 45>>
<<chat clair "Give me that, you idiot! You have the absolute worst taste in the entire world. I'm not sitting here wasting my afternoon on this!">>
<<storyImg "assets/Characters/Clair/clair_annoyed.webp">>
<<addRel -3 clair>>
<<text "Clair snaps, lunging right across your lap to aggressively tear the remote out of your hands. She shoves you back roughly, creating a sharp, bitter mood in the room.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="DownstairsHallwayDecider">
<img src="assets/Locations/House/downstairs_hallway.webp">
<span>Leave the couch to her</span>
</a>
</div>
</div><<goto "ClairWatchTV">>
<<button "Stuck?" "YourRoom">><</button>><div class="location-bg" style="background-image: url('assets/Locations/House/livingroom.webp')"></div>
<div class="location-ui">
<<text "You sit down on the couch ready to watch TV with Clair.">>
<<storyImg "assets/Locations/House/Livingroom/watchTV.webp">><<advancetime 60>>
<<chat clair "Don't touch the remote. I'm watching this, and you're just decoration.">>
<div class="location-grid">
<a class="loc-btn" data-passage="ClairTVSitCloserDecider">
<img src="assets/Locations/House/Livingroom/tv_together.webp">
<span>Sit closer</span>
</a>
<a class="loc-btn loc-btn--wide" data-passage="LivingroomDecider">
<img src="assets/Locations/House/livingroom.webp">
<span>Return</span>
</a>
</div>
</div><<if $characters.clair.relationship <= 15>>
<<goto "ClairTVSitCloserFail">>
<<else>>
<<goto "ClairTVSitCloser">>
<</if>>
<<button "Stuck?" "YourRoom">><</button>><div class="location-bg" style="background-image: url('assets/Locations/House/livingroom.webp')"></div>
<div class="location-ui">
<<text "You try to sit closer to Clair, but she aggressively moves over.">>
<<storyImg "assets/Characters/Clair/clair_rejection.webp">>
<<chat clair "What do you think you're doing? Back off, loser, you're crowding me.">>
<<addRel -1 clair>>
<<text "Get Clair's Relationship over 15.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="LivingroomDecider">
<img src="assets/Locations/House/livingroom.webp">
<span>Return</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/livingroom.webp')"></div>
<div class="location-ui">
<<text "You confidently slide directly next to Clair on the couch.">>
<<chat clair "H-Hey! Who said you could just slide in here like you own the place?">>
<<storyVideo "assets/Locations/House/Livingroom/sit_closer.mp4">>
<<addRel 1 clair>>
<<text "Clair glares and tries to act annoyed, but she huffs, crosses her arms, and stays locked right against your side without moving away.">>
<div class="location-grid">
<a class="loc-btn" data-passage="ClairTVCuddleUpDecider">
<img src="assets/Locations/House/Livingroom/tv_together.webp">
<span>Cuddle up</span>
</a>
<a class="loc-btn loc-btn--wide" data-passage="LivingroomDecider">
<img src="assets/Locations/House/livingroom.webp">
<span>Return</span>
</a>
</div>
</div><<if $characters.clair.relationship <= 30>>
<<goto "ClairTVCuddleUpFail">>
<<else>>
<<goto "ClairTVCuddleUp">>
<</if>>
<<button "Stuck?" "YourRoom">><</button>><div class="location-bg" style="background-image: url('assets/Locations/House/livingroom.webp')"></div>
<div class="location-ui">
<<text "You try to pull Clair in for a cuddle, but she shoves your arm off aggressively and slaps your chest away.">>
<<chat clair "Get your hands off me, creep! I didn't give you permission to touch me.">>
<<storyImg "assets/Characters/Clair/clair_rejection.webp">>
<<addRel -2 clair>>
<<text "Get Clair's Relationship over 30.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="LivingroomDecider">
<img src="assets/Locations/House/livingroom.webp">
<span>Return</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/livingroom.webp')"></div>
<div class="location-ui">
<<text "You firmly grab Clair by the waist and pull her tight against your side, refusing to let her drift away.">>
<<chat clair "H-Hey! Quiet down, $playerName... If you're going to use me as an armrest, you better hold me tightly so I don't move.">>
<<storyVideo "assets/Locations/House/Livingroom/cuddle_up.mp4">>
<<addRel 2 clair>>
<div class="location-grid">
<a class="loc-btn" data-passage="ClairTVMakeoutDecider">
<img src="assets/Locations/House/Livingroom/tv_together.webp">
<span>Push things further</span>
</a>
<a class="loc-btn loc-btn--wide" data-passage="LivingroomDecider">
<img src="assets/Locations/House/livingroom.webp">
<span>Return</span>
</a>
</div>
</div><<if $characters.clair.relationship > 50 or $characters.clair.lust >= 20>>
<<goto "ClairTVMakeoutAcceptance">>
<<else>>
<<goto "ClairTVMakeoutRejection">>
<</if>>
<<button "Stuck?" "YourRoom">><</button>><div class="location-bg" style="background-image: url('assets/Locations/House/livingroom.webp')"></div>
<div class="location-ui">
<<text "You move in for a kiss, but Clair aggressively slaps your hand away and glares at you.">>
<<storyImg "assets/Characters/Clair/clair_rejection.webp">>
<<chat clair "Are you totally out of your mind? You don't just get to kiss me whenever you want, loser! Back off!">>
<<addRel -4 clair>>
<<addLust -2 clair>>
<<text "Get Clair's Relationship over 50 or Lust level over 2.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="LivingroomDecider">
<img src="assets/Locations/House/livingroom.webp">
<span>Return</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/livingroom.webp')"></div>
<div class="location-ui">
<<text "You forcefully grab Clair by the waist, pull her flush against you, and capture her lips before she can speak.">>
<<chat clair "H-Hmmph?! ...Mm, fine... You really are an aggressive idiot, aren't you? Keep going... shut me up properly.">>
<<storyVideo "assets/Locations/House/Livingroom/tv_makeout.mp4">>
<<addRel 3 clair>>
<<addLust 2 clair>>
<<text "Clair tries to pull away for half a second to maintain her stubborn pride, but she whimpers softly and fully gives in, letting you dominate the kiss.">>
<div class="location-grid">
<a class="loc-btn" data-passage="ClairTVHandjobDecider">
<img src="assets/Locations/House/Livingroom/tv_together.webp">
<span>Push things further</span>
</a>
<a class="loc-btn loc-btn--wide" data-passage="LivingroomDecider">
<img src="assets/Locations/House/livingroom.webp">
<span>Return</span>
</a>
</div>
</div><<if $characters.clair.level >= 3>>
<<goto "ClairTVHandjobAcceptance">>
<<else>>
<<goto "ClairTVHandjobRejection">>
<</if>>
<<button "Stuck?" "YourRoom">><</button>><div class="location-bg" style="background-image: url('assets/Locations/House/livingroom.webp')"></div>
<div class="location-ui">
<<text "You try to pull Clair's hand onto your crotch.">>
<<storyImg "assets/Characters/Clair/clair_rejection.webp">>
<<chat clair "Hey! Keep your hands to yourself, idiot! You think you can just force me to touch you like that? You're delusional!">>
<<addRel -8 clair>>
<<addLust -4 clair>>
<<text "Get Clair's Lust Level to 3.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="LivingroomDecider">
<img src="assets/Locations/House/livingroom.webp">
<span>Return</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/livingroom.webp')"></div>
<div class="location-ui">
<<text "You firmly command Clair, taking her hand and forcing it onto your cock. She shivers, completely surrendering her attitude as she begins to rhythmically stroke you.">>
<<chat clair "S-Shut up... Look how hard you are just from me touching it... Fine, I'll make you feel good, just don't expect me to be gentle.">><<set _randomNum to random(1, 3)>>
<<set _path to "assets/Locations/House/Livingroom/Clair/WatchTV/handjob" + _randomNum + ".mp4">>
<<storyVideo _path>>
<div class="location-grid">
<a class="loc-btn" data-passage="ClairTVFootjobAcceptance">
<img src="assets/Locations/House/Livingroom/footjob_icon.webp">
<span>Footjob</span>
</a>
<a class="loc-btn" data-passage="ClairTVBlowjobDecider">
<img src="assets/Locations/House/Livingroom/blowjob_icon.webp">
<span>Push things further</span>
</a>
<a class="loc-btn loc-btn--wide" data-passage="LivingroomDecider">
<img src="assets/Locations/House/livingroom.webp">
<span>Return</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/livingroom.webp')"></div>
<div class="location-ui"><<set _randomNum to random(1, 3)>>
<<set _path to "assets/Locations/House/Livingroom/Clair/WatchTV/footjob" + _randomNum + ".mp4">>
<<storyVideo _path>>
<<chat clair "You like being under my feet, don't you, $playerName?">>
<div class="location-grid">
<a class="loc-btn" data-passage="ClairTVHandjobAcceptance">
<img src="assets/Locations/House/Livingroom/handjob_icon.webp">
<span>Handjob</span>
</a>
<a class="loc-btn" data-passage="ClairTVBlowjobDecider">
<img src="assets/Locations/House/Livingroom/blowjob_icon.webp">
<span>Push things further</span>
</a>
<a class="loc-btn loc-btn--wide" data-passage="LivingroomDecider">
<img src="assets/Locations/House/livingroom.webp">
<span>Return</span>
</a>
</div>
</div><<goto "ClairTVBlowjobRejection">>
<<button "Stuck?" "YourRoom">><</button>><div class="location-bg" style="background-image: url('assets/Locations/House/livingroom.webp')"></div>
<div class="location-ui">
<<chat clair "Stop it, $playerName! You think you can just ravage me like that on the couch? No way!">>
<<storyImg "assets/Characters/Clair/clair_rejection.webp">>
<<addRel -8 clair>>
<<addLust -4 clair>>
<<text "Get Clair Lust level to 4.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="LivingroomDecider">
<img src="assets/Locations/House/livingroom.webp">
<span>Return</span>
</a>
</div>
</div><<goto "ClairLivingroom">>
<<button "Stuck?" "YourRoom">><</button>><div class="location-bg" style="background-image: url('assets/Locations/House/livingroom.webp')"></div>
<div class="location-title">🏠 Livingroom</div>
<div class="location-ui"><<nobr>>
<<text "Looks like Clair is here.">>
<<set _path to "assets/Locations/House/Livingroom/Clair/clair_lust" + $characters.clair.level + ".webp">>
<<storyImg _path>>
<div class="interaction-btns">
<<button "Talk">>
<<set $selectedChar to "clair">>
<<set $mm_returnPassage to "LivingroomDecider">>
<<if $lastClairTalkDay is $day>>
<<goto "AlreadyTalkedToClair">>
<<else>>
<<goto "MoodMinigameStart">>
<</if>>
<</button>>
<<button "Give Gift">>
<<set $giftClair_returnPassage to "LivingroomDecider">>
<<goto "GiveGiftClairDecider">>
<</button>>
<<button "Hug">>
<<set $hug_returnPassage to "LivingroomDecider">>
<<goto "ClairHugDecider">>
<</button>>
<<button "Kiss">>
<<set $kiss_returnPassage to "LivingroomDecider">>
<<goto "ClairKissDecider">>
<</button>>
<<button "Slap Ass">>
<<set $slap_returnPassage to "LivingroomDecider">>
<<goto "ClairSlapDecider">>
<</button>>
<<button "Blowjob">>
<<set $blowjob_returnPassage to "LivingroomDecider">>
<<goto "ClairBlowjobDecider">>
<</button>>
<<button "Sex">>
<<set $sex_returnPassage to "LivingroomDecider">>
<<goto "ClairSexDecider">>
<</button>>
</div><</nobr>>
<div class="location-grid">
<a class="loc-btn" data-passage="ClairWatchTVDecider">
<img src="assets/Locations/House/Livingroom/tv_together.webp">
<span>Watch TV Together</span>
</a>
<a class="loc-btn" data-passage="ClairChangeChannelDecider">
<img src="assets/Locations/House/Livingroom/remote.webp">
<span>Change the Channel</span>
</a>
<a class="loc-btn loc-btn--wide" data-passage="DownstairsHallwayDecider">
<img src="assets/Locations/House/downstairs_hallway.webp">
<span>Downstairs Hallway</span>
</a>
</div>
</div><<if $Sophia.location is "Livingroom">>
<<if $CharQuests.sophia.sophiaEventQuest1.status is "active" and $CharQuests.sophia.sophiaEventQuest1.step is 0>>
<<goto "SophiaEventQuest1Start">>
<<else>>
<<goto "SophiaLivingroomDecider">>
<</if>>
<<elseif $Clair.location is "Livingroom">>
<<goto "ClairLivingroomDecider">>
<<elseif $Nicole.location is "Livingroom">>
<<goto "NicoleLivingroomDecider">>
<<elseif $CharQuests.sophia.sophiaExReturnsQuest.status is "active" and $CharQuests.sophia.sophiaExReturnsQuest.step is 1>>
<<goto "SophiaExReturnsQuestP4">>
<<else>>
<<goto "Livingroom">>
<</if>>
<<button "Stuck?" "YourRoom">><</button>><div class="location-bg" style="background-image: url('assets/Locations/House/livingroom.webp')"></div>
<div class="location-title">🏠 Living room
<<storyImg "assets/Locations/House/livingroom.webp">>
</div>
<div class="location-ui">
<<text "Livingroom">>
<div class="location-grid">
<a class="loc-btn" data-passage="WatchTVDecider">
<img src="assets/Locations/House/Livingroom/watchTV.webp">
<span>Watch TV</span>
</a>
<a class="loc-btn loc-btn--wide" data-passage="DownstairsHallwayDecider">
<img src="assets/Locations/House/downstairs_hallway.webp">
<span>Downstairs Hallway</span>
</a>
</div>
</div><<set _normalShow to random(1, 5)>>
<<if _normalShow == 1>>
<<goto "NicoleTVNormalRomCom">>
<<elseif _normalShow == 2>>
<<goto "NicoleTVNormalHorror">>
<<elseif _normalShow == 3>>
<<goto "NicoleTVNormalAnime">>
<<elseif _normalShow == 4>>
<<goto "NicoleTVNormalBoring">>
<<else>>
<<goto "NicoleTVNormalSports">>
<</if>>
<<button "Stuck?" "YourRoom">><</button>><div class="location-bg" style="background-image: url('assets/Locations/House/livingroom.webp')"></div>
<div class="location-ui">
<<text "You flip the channel over to a classic, overly dramatic romantic comedy right during a heavy confession scene.">><<advancetime 45>>
<<chat nicole "W-Wait, a romance movie? Um... it's a little cliché, isn't it? But... I guess we can watch it if you want to...">>
<<addRel 1 nicole>>
<<text "Nicole fixes her eyes on the screen, blushing intensely as the movie characters hug. She sneaks a quiet, nervous glance your way, wondering if you're thinking the same thing she is.">>
<<storyImg "assets/Characters/Nicole/nicole_happy.webp">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="DownstairsHallwayDecider">
<img src="assets/Locations/House/downstairs_hallway.webp">
<span>Leave her to watch</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/livingroom.webp')"></div>
<div class="location-ui">
<<text "You put on a tense, atmospheric horror flick. Suddenly, a screeching jump scare plays through the speakers.">><<advancetime 45>>
<<chat nicole "Kyaaa! $playerName, turn it off! Please, it's too scary! I won't be able to sleep tonight!">>
<<addRel 2 nicole>>
<<text "Nicole squeals and immediately buries her entire face directly into your shoulder, clutching your shirt tightly with both hands. Even though she's scared, she's happy to be watching a movie with you.">>
<<storyImg "assets/Characters/Nicole/nicole_happy.webp">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="DownstairsHallwayDecider">
<img src="assets/Locations/House/downstairs_hallway.webp">
<span>Leave</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/livingroom.webp')"></div>
<div class="location-ui">
<<text "You switch over to a popular animated action series that Nicole secretly loves.">><<advancetime 45>>
<<chat nicole "Oh! You actually like this show too? I've been following the manga for months! Look, this battle coming up is amazing!">>
<<storyImg "assets/Characters/Nicole/nicole_happy.webp">>
<<addRel 2 nicole>>
<<text "Nicole immediately brightens up, losing all of her usual shyness as she sits right next to you, happily nerding out and explaining the lore.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="DownstairsHallwayDecider">
<img src="assets/Locations/House/downstairs_hallway.webp">
<span>Leave</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/livingroom.webp')"></div>
<div class="location-ui">
<<text "You flip the channel to a slow, dry political debate panel.">><<advancetime 45>>
<<chat nicole "Um... $playerName? This is a little... heavy, don't you think? Everyone is just arguing...">>
<<storyImg "assets/Characters/Nicole/nicole_annoyed.webp">>
<<addRel -1 nicole>>
<<text "Nicole slumps against the pillows, completely drained by the boring show. The lively atmosphere evaporates into a stiff, quiet boredom on the couch.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="DownstairsHallwayDecider">
<img src="assets/Locations/House/downstairs_hallway.webp">
<span>Leave her alone</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/livingroom.webp')"></div>
<div class="location-ui">
<<text "You change the station to a chaotic, blaring sports match with announcers screaming over roaring stadium crowds.">><<advancetime 45>>
<<chat nicole "Ah! It's way too loud! Can you please give me the remote? I... I really don't like all this shouting...">>
<<storyImg "assets/Characters/Nicole/nicole_annoyed.webp">>
<<addRel -2 nicole>>
<<text "The explosive noise completely startles Nicole. She gets visually overwhelmed, rubbing her temples and shrinking away from you to the edge of the couch.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="DownstairsHallwayDecider">
<img src="assets/Locations/House/downstairs_hallway.webp">
<span>Leave</span>
</a>
</div>
</div><<goto "NicoleWatchTV">>
<<button "Stuck?" "YourRoom">><</button>><div class="location-bg" style="background-image: url('assets/Locations/House/livingroom.webp')"></div>
<div class="location-ui">
<<text "You sit down on the couch ready to watch TV with Nicole.">>
<<storyImg "assets/Locations/House/Livingroom/watchTV.webp">><<advancetime 60>>
<<chat nicole "U-Um... it's a really nice show... I watch it sometimes.">>
<div class="location-grid">
<a class="loc-btn" data-passage="NicoleTVSitCloserDecider">
<img src="assets/Locations/House/Livingroom/tv_together.webp">
<span>Sit closer</span>
</a>
<a class="loc-btn loc-btn--wide" data-passage="LivingroomDecider">
<img src="assets/Locations/House/livingroom.webp">
<span>Return</span>
</a>
</div>
</div><<if $characters.nicole.relationship <= 15>>
<<goto "NicoleTVSitCloserFail">>
<<else>>
<<goto "NicoleTVSitCloser">>
<</if>>
<<button "Stuck?" "YourRoom">><</button>><div class="location-bg" style="background-image: url('assets/Locations/House/livingroom.webp')"></div>
<div class="location-ui">
<<text "You try to sit closer to Nicole, but she immediately shrinks back.">>
<<storyImg "assets/Characters/Nicole/nicole_rejection.webp">>
<<chat nicole "A-Ah! S-Sorry... you startled me. I... I need some room.">>
<<addRel -1 nicole>>
<<text "Get Nicole's Relationship over 15.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="LivingroomDecider">
<img src="assets/Locations/House/livingroom.webp">
<span>Return</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/livingroom.webp')"></div>
<div class="location-ui">
<<text "You try to sit closer to Nicole.">>
<<chat nicole "O-Oh... um... is the couch too small? Y-You're really close...">>
<<storyVideo "assets/Locations/House/Livingroom/sit_closer.mp4">>
<<addRel 1 nicole>>
<<text "Nicole blushes a deep crimson, nervously clutching a couch pillow, but she pulls it closer to herself rather than moving away.">>
<div class="location-grid">
<a class="loc-btn" data-passage="NicoleTVCuddleUpDecider">
<img src="assets/Locations/House/Livingroom/tv_together.webp">
<span>Cuddle up</span>
</a>
<a class="loc-btn loc-btn--wide" data-passage="LivingroomDecider">
<img src="assets/Locations/House/livingroom.webp">
<span>Return</span>
</a>
</div>
</div><<if $characters.nicole.relationship <= 30>>
<<goto "NicoleTVCuddleUpFail">>
<<else>>
<<goto "NicoleTVCuddleUp">>
<</if>>
<<button "Stuck?" "YourRoom">><</button>><div class="location-bg" style="background-image: url('assets/Locations/House/livingroom.webp')"></div>
<div class="location-ui">
<<text "You wrap an arm around Nicole, but she completely freezes up and nervously slips away to the other side of the couch.">>
<<chat nicole "U-Um... please don't... my heart is beating too fast, I—I can't concentrate.">>
<<storyImg "assets/Characters/Nicole/nicole_rejection.webp">>
<<addRel -2 nicole>>
<<text "Get Nicole's Relationship over 30.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="LivingroomDecider">
<img src="assets/Locations/House/livingroom.webp">
<span>Return</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/livingroom.webp')"></div>
<div class="location-ui">
<<text "You gently pull Nicole close to your side.">>
<<chat nicole "A-Ah... you're so warm, $playerName... I'm a little embarrassed, but... please keep holding me.">>
<<storyVideo "assets/Locations/House/Livingroom/cuddle_up.mp4">>
<<addRel 2 nicole>>
<<text "Nicole softly leans her head against your shoulder, hiding her blushing face against your chest as you hold her close on the couch.">>
<div class="location-grid">
<a class="loc-btn" data-passage="NicoleTVMakeoutDecider">
<img src="assets/Locations/House/Livingroom/tv_together.webp">
<span>Push things further</span>
</a>
<a class="loc-btn loc-btn--wide" data-passage="LivingroomDecider">
<img src="assets/Locations/House/livingroom.webp">
<span>Return</span>
</a>
</div>
</div><<if $characters.nicole.relationship > 50 or $characters.nicole.lust >= 20>>
<<goto "NicoleTVMakeoutAcceptance">>
<<else>>
<<goto "NicoleTVMakeoutRejection">>
<</if>>
<<button "Stuck?" "YourRoom">><</button>><div class="location-bg" style="background-image: url('assets/Locations/House/livingroom.webp')"></div>
<div class="location-ui">
<<text "You lean in to kiss Nicole, but she gasps and quickly buries her face behind a pillow.">>
<<storyImg "assets/Characters/Nicole/nicole_rejection.webp">>
<<chat nicole "A-Ah! Please, don't look at me like that! I... I'm not ready for something so fast!">>
<<addRel -4 nicole>>
<<addLust -2 nicole>>
<<text "Get Nicole's Relationship over 50 or Lust level over 2.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="LivingroomDecider">
<img src="assets/Locations/House/livingroom.webp">
<span>Return</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/livingroom.webp')"></div>
<div class="location-ui">
<<text "You gently tilt Nicole's chin up and lean in. She trembles, closing her eyes tightly.">>
<<chat nicole "Mmm... m-my heart feels like it's going to drop out of my chest... b-but please be gentle with me...">>
<<storyVideo "assets/Locations/House/Livingroom/tv_makeout.mp4">>
<<addRel 3 nicole>>
<<addLust 2 nicole>>
<<text "Nicole melts completely into your arms, softly wrapping her hands around your neck as you make out on the couch.">>
<div class="location-grid">
<a class="loc-btn" data-passage="NicoleTVHandjobDecider">
<img src="assets/Locations/House/Livingroom/tv_together.webp">
<span>Push things further</span>
</a>
<a class="loc-btn loc-btn--wide" data-passage="LivingroomDecider">
<img src="assets/Locations/House/livingroom.webp">
<span>Return</span>
</a>
</div>
</div><<if $characters.nicole.level >= 3>>
<<goto "NicoleTVHandjobAcceptance">>
<<else>>
<<goto "NicoleTVHandjobRejection">>
<</if>>
<<button "Stuck?" "YourRoom">><</button>><div class="location-bg" style="background-image: url('assets/Locations/House/livingroom.webp')"></div>
<div class="location-ui">
<<text "You take Nicole's trembling hand and start guiding it down toward your cock.">>
<<storyImg "assets/Characters/Nicole/nicole_rejection.webp">>
<<chat nicole "$playerName! W-What are you doing?! We are supposed to be step siblings! This... this is way too lewd! I can't!">>
<<addRel -8 nicole>>
<<addLust -4 nicole>>
<<text "Get Nicole Lust Level to 3">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="LivingroomDecider">
<img src="assets/Locations/House/livingroom.webp">
<span>Return</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/livingroom.webp')"></div>
<div class="location-ui">
<<text "You slide Nicole's hand onto your cock. She gasps softly but immediately wraps her warm fingers around it, blushing furiously as she starts to stroke you.">>
<<chat nicole "I... I can't believe I'm doing this right on the couch... My hands are shaking so much... Does it feel nice?">><<set _randomNum to random(1, 3)>>
<<set _path to "assets/Locations/House/Livingroom/Nicole/WatchTV/handjob" + _randomNum + ".mp4">>
<<storyVideo _path>>
<div class="location-grid">
<a class="loc-btn" data-passage="NicoleTVFootjobAcceptance">
<img src="assets/Locations/House/Livingroom/footjob_icon.webp">
<span>Footjob</span>
</a>
<a class="loc-btn" data-passage="NicoleTVBlowjobDecider">
<img src="assets/Locations/House/Livingroom/blowjob_icon.webp">
<span>Push things further</span>
</a>
<a class="loc-btn loc-btn--wide" data-passage="LivingroomDecider">
<img src="assets/Locations/House/livingroom.webp">
<span>Return</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/livingroom.webp')"></div>
<div class="location-ui"><<set _randomNum to random(1, 3)>>
<<set _path to "assets/Locations/House/Livingroom/Nicole/WatchTV/footjob" + _randomNum + ".mp4">>
<<storyVideo _path>>
<<chat nicole "I-Is this okay, $playerName? My feet aren't too cold, are they?">>
<div class="location-grid">
<a class="loc-btn" data-passage="NicoleTVHandjobAcceptance">
<img src="assets/Locations/House/Livingroom/handjob_icon.webp">
<span>Handjob</span>
</a>
<a class="loc-btn" data-passage="NicoleTVBlowjobDecider">
<img src="assets/Locations/House/Livingroom/blowjob_icon.webp">
<span>Push things further</span>
</a>
<a class="loc-btn loc-btn--wide" data-passage="LivingroomDecider">
<img src="assets/Locations/House/livingroom.webp">
<span>Return</span>
</a>
</div>
</div><<goto "NicoleTVBlowjobRejection">>
<<button "Stuck?" "YourRoom">><</button>><div class="location-bg" style="background-image: url('assets/Locations/House/livingroom.webp')"></div>
<div class="location-ui">
<<chat nicole "W-Wait, $playerName! Pushing me down onto the-... that's way too much! I-I'm too scared!">>
<<storyImg "assets/Characters/Nicole/nicole_rejection.webp">>
<<addRel -8 nicole>>
<<addLust -4 nicole>>
<<text "Get Nicole Lust Level to 4.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="LivingroomDecider">
<img src="assets/Locations/House/livingroom.webp">
<span>Return</span>
</a>
</div>
</div><<goto "NicoleLivingroom">>
<<button "Stuck?" "YourRoom">><</button>><div class="location-bg" style="background-image: url('assets/Locations/House/livingroom.webp')"></div>
<div class="location-title">🏠 Livingroom</div>
<div class="location-ui"><<nobr>>
<<text "Looks like Nicole is here.">>
<<set _path to "assets/Locations/House/Livingroom/Nicole/nicole_lust" + $characters.nicole.level + ".webp">>
<<storyImg _path>>
<div class="interaction-btns">
<<button "Talk">>
<<set $selectedChar to "nicole">>
<<set $mm_returnPassage to "LivingroomDecider">>
<<if $lastNicoleTalkDay is $day>>
<<goto "AlreadyTalkedToNicole">>
<<else>>
<<goto "MoodMinigameStart">>
<</if>>
<</button>>
<<button "Give Gift">>
<<set $giftNicole_returnPassage to "LivingroomDecider">>
<<goto "GiveGiftNicoleDecider">>
<</button>>
<<button "Hug">>
<<set $hug_returnPassage to "LivingroomDecider">>
<<goto "NicoleHugDecider">>
<</button>>
<<button "Kiss">>
<<set $kiss_returnPassage to "LivingroomDecider">>
<<goto "NicoleKissDecider">>
<</button>>
<<button "Slap Ass">>
<<set $slap_returnPassage to "LivingroomDecider">>
<<goto "NicoleSlapDecider">>
<</button>>
<<button "Blowjob">>
<<set $blowjob_returnPassage to "LivingroomDecider">>
<<goto "NicoleBlowjobDecider">>
<</button>>
<<button "Sex">>
<<set $sex_returnPassage to "LivingroomDecider">>
<<goto "NicoleSexDecider">>
<</button>>
</div><</nobr>>
<div class="location-grid">
<a class="loc-btn" data-passage="NicoleWatchTVDecider">
<img src="assets/Locations/House/Livingroom/tv_together.webp">
<span>Watch TV Together</span>
</a>
<a class="loc-btn" data-passage="NicoleChangeChannelDecider">
<img src="assets/Locations/House/Livingroom/remote.webp">
<span>Change the Channel</span>
</a>
<a class="loc-btn loc-btn--wide" data-passage="DownstairsHallwayDecider">
<img src="assets/Locations/House/downstairs_hallway.webp">
<span>Downstairs Hallway</span>
</a>
</div>
</div><<set _randomNum to random(1, 5)>>
<<if _randomNum is 1>>
<<goto "SophiaTVNormalReality">>
<<elseif _randomNum == 2>>
<<goto "SophiaTVNormalHorror">>
<<elseif _randomNum == 3>>
<<goto "SophiaTVNormalDrama">>
<<elseif _randomNum == 4>>
<<goto "SophiaTVNormalBoring">>
<<else>>
<<goto "SophiaTVNormalShopping">>
<</if>>
<<button "Stuck?" "YourRoom">><</button>><div class="location-bg" style="background-image: url('assets/Locations/House/livingroom.webp')"></div>
<div class="location-ui">
<<text "You flip the channel to a trashy reality dating game show.">><<advancetime 45>>
<<chat sophia "Oh turn it up! I know it's completely staged, but look at what she's wearing to a beach date! People have no shame these days.">>
<<storyImg "assets/Characters/Sophia/sophia_happy.webp">>
<<addRel 1 sophia>>
<<text "The two of you sit close, laughing together and making fun of the ridiculous contestants on screen. It's a comfortable, easygoing moment.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="DownstairsHallwayDecider">
<img src="assets/Locations/House/downstairs_hallway.webp">
<span>Leave</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/livingroom.webp')"></div>
<div class="location-ui">
<<text "You put on a tense, atmospheric horror movie. The living room audio system suddenly jumps with a loud, terrifying screech.">><<advancetime 45>>
<<chat sophia "Eek! $playerName! Why would you put this on? You know I absolutely hate jump scares!">>
<<addRel 2 sophia>>
<<text "Despite her loud complaints, Sophia grips your arm tightly, pulling her body flush against your side to hide her eyes from the screen.">>
<<storyImg "assets/Characters/Sophia/sophia_happy.webp">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="DownstairsHallwayDecider">
<img src="assets/Locations/House/downstairs_hallway.webp">
<span>Leave</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/livingroom.webp')"></div>
<div class="location-ui">
<<text "You switch over to a gritty, high-production crime thriller.">><<advancetime 45>>
<<chat sophia "Shh! Be quiet, I've been meaning to start this series. Sit down and don't make a sound, the mystery is starting.">>
<<addRel 1 sophia>>
<<text "Sophia leans forward, intensely focused on the plot, completely oblivious to how close the two of you are sitting on the cushions.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="DownstairsHallwayDecider">
<img src="assets/Locations/House/downstairs_hallway.webp">
<span>Leave</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/livingroom.webp')"></div>
<div class="location-ui">
<<text "You flip the channel over to a dry, aggressive political debate panel.">><<advancetime 45>>
<<chat sophia "Ugh, seriously? I get enough stress during the day, $playerName. I don't want to look at these people screaming at each other.">>
<<storyImg "assets/Characters/Sophia/sophia_annoyed.webp">>
<<addRel -2 sophia>>
<<text "Sophia sighs heavily, visibly annoyed that you ruined her relaxing afternoon with something so frustrating. She turns away from you.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="DownstairsHallwayDecider">
<img src="assets/Locations/House/downstairs_hallway.webp">
<span>Leave her alone</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/livingroom.webp')"></div>
<div class="location-ui">
<<text "You mindlessly flip the remote onto a boring, endless home shopping infomercial selling cheap jewelry.">><<advancetime 45>>
<<chat sophia "Are you just trying to annoy me? I was in the middle of a really good segment, and you change it to this junk? Give me that remote.">>
<<storyImg "assets/Characters/Sophia/sophia_annoyed.webp">>
<<addRel -3 sophia>>
<<text "Sophia snaps at you for your thoughtlessness. She snatches the remote back, leaving an awkward, frosty tension on the couch.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="DownstairsHallwayDecider">
<img src="assets/Locations/House/downstairs_hallway.webp">
<span>Get up and leave</span>
</a>
</div>
</div><<goto "SophiaWatchTV">>
<<button "Stuck?" "YourRoom">><</button>><div class="location-bg" style="background-image: url('assets/Locations/House/livingroom.webp')"></div>
<div class="location-ui">
<<text "You sit down on the couch ready to watch TV with Sophia.">>
<<storyImg "assets/Locations/House/Livingroom/watchTV.webp">><<advancetime 60>>
<<chat sophia "It's an okay show, I guess.">>
<div class="location-grid">
<a class="loc-btn" data-passage="SophiaTVSitCloserDecider">
<img src="assets/Locations/House/Livingroom/tv_together.webp">
<span>Sit closer</span>
</a>
<a class="loc-btn loc-btn--wide" data-passage="LivingroomDecider">
<img src="assets/Locations/House/livingroom.webp">
<span>Return</span>
</a>
</div>
</div><<if $characters.sophia.relationship <= 15>>
<<goto "SophiaTVSitCloserFail">>
<<else>>
<<goto "SophiaTVSitCloser">>
<</if>>
<<button "Stuck?" "YourRoom">><</button>><div class="location-bg" style="background-image: url('assets/Locations/House/livingroom.webp')"></div>
<div class="location-ui">
<<text "You try to sit closer to Sophia, but she scoots away.">>
<<storyImg "assets/Characters/Sophia/sophia_rejection.webp">>
<<chat sophia "Hey! Personal space!">>
<<addRel -1 sophia>>
<<text "Get Sophia's Relationship over 15.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="LivingroomDecider">
<img src="assets/Locations/House/livingroom.webp">
<span>Return</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/livingroom.webp')"></div>
<div class="location-ui">
<<text "You try to sit closer to Sophia.">>
<<chat sophia "I don't bite, $playerName.">>
<<storyVideo "assets/Locations/House/Livingroom/sit_closer.mp4">>
<<addRel 1 sophia>>
<<text "You and Sophia sit closer together on the couch, enjoying each other's company while watching TV.">>
<div class="location-grid">
<a class="loc-btn" data-passage="SophiaTVCuddleUpDecider">
<img src="assets/Locations/House/Livingroom/tv_together.webp">
<span>Cuddle up</span>
</a>
<a class="loc-btn loc-btn--wide" data-passage="LivingroomDecider">
<img src="assets/Locations/House/livingroom.webp">
<span>Return</span>
</a>
</div>
</div><<if $characters.sophia.relationship <= 30>>
<<goto "SophiaTVCuddleUpFail">>
<<else>>
<<goto "SophiaTVCuddleUp">>
<</if>>
<<button "Stuck?" "YourRoom">><</button>><div class="location-bg" style="background-image: url('assets/Locations/House/livingroom.webp')"></div>
<div class="location-ui">
<<text "You try to cuddle up to Sophia, but she scoots away. She seems uncomfortable with the physical contact.">>
<<chat sophia "Hey, I think we should just watch the show.">>
<<storyImg "assets/Characters/Sophia/sophia_rejection.webp">>
<<addRel -2 sophia>>
<<text "Get Sophia's Relationship over 30.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="LivingroomDecider">
<img src="assets/Locations/House/livingroom.webp">
<span>Return</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/livingroom.webp')"></div>
<div class="location-ui">
<<text "You try to cuddle up to Sophia.">>
<<chat sophia "That's nice, $playerName. I like being cuddled up.">>
<<storyVideo "assets/Locations/House/Livingroom/cuddle_up.mp4">>
<<addRel 2 sophia>>
<<text "You and Sophia cuddle up together on the couch, enjoying each other's company while watching TV.">>
<div class="location-grid">
<a class="loc-btn" data-passage="SophiaTVMakeoutDecider">
<img src="assets/Locations/House/Livingroom/tv_together.webp">
<span>Push things further</span>
</a>
<a class="loc-btn loc-btn--wide" data-passage="LivingroomDecider">
<img src="assets/Locations/House/livingroom.webp">
<span>Return</span>
</a>
</div>
</div><<if $characters.sophia.relationship > 50 or $characters.sophia.lust >= 20>>
<<goto "SophiaTVMakeoutAcceptance">>
<<else>>
<<goto "SophiaTVMakeoutRejection">>
<</if>>
<<button "Stuck?" "YourRoom">><</button>><div class="location-bg" style="background-image: url('assets/Locations/House/livingroom.webp')"></div>
<div class="location-ui">
<<text "You start to make a move, but Sophia pulls away.">>
<<storyImg "assets/Characters/Sophia/sophia_rejection.webp">>
<<chat sophia "What are you doing? We are just watching TV! We are not like that!">>
<<addRel -4 sophia>>
<<addLust -2 sophia>>
<<text "Get Sophia's Relationship over 50 or Lust level over 2.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="LivingroomDecider">
<img src="assets/Locations/House/livingroom.webp">
<span>Return</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/livingroom.webp')"></div>
<div class="location-ui">
<<text "You make a move on Sophia. She is startled, but...">>
<<chat sophia "I guess we can do this...">>
<<storyVideo "assets/Locations/House/Livingroom/tv_makeout.mp4">>
<<addRel 3 sophia>>
<<addLust 2 sophia>>
<<text "You and Sophia start making out on the couch.">>
<div class="location-grid">
<a class="loc-btn" data-passage="SophiaTVHandjobDecider">
<img src="assets/Locations/House/Livingroom/tv_together.webp">
<span>Push things further</span>
</a>
<a class="loc-btn loc-btn--wide" data-passage="LivingroomDecider">
<img src="assets/Locations/House/livingroom.webp">
<span>Return</span>
</a>
</div>
</div><<if $characters.sophia.level >= 3>>
<<goto "SophiaTVHandjobAcceptance">>
<<else>>
<<goto "SophiaTVHandjobRejection">>
<</if>>
<<button "Stuck?" "YourRoom">><</button>><div class="location-bg" style="background-image: url('assets/Locations/House/livingroom.webp')"></div>
<div class="location-ui">
<<text "You start putting Sophia's hand on your cock.">>
<<storyImg "assets/Characters/Sophia/sophia_rejection.webp">>
<<chat sophia "$playerName! I am your stepmother! Kissing itself is too much, and now you expect a handjob!?">>
<<addRel -8 sophia>>
<<addLust -4 sophia>>
<<text "Get Sophia Lust Level to 3.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="LivingroomDecider">
<img src="assets/Locations/House/livingroom.webp">
<span>Return</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/livingroom.webp')"></div>
<div class="location-ui">
<<text "You start putting Sophia's hand on your cock. She happily starts stroking it.">>
<<chat sophia "This is so wrong... but it feels so good.">><<set _randomNum to random(1, 3)>>
<<set _path to "assets/Locations/House/Livingroom/Sophia/WatchTV/handjob" + _randomNum + ".mp4">>
<<storyVideo _path>>
<div class="location-grid">
<a class="loc-btn" data-passage="SophiaTVFootjobAcceptance">
<img src="assets/Locations/House/Livingroom/footjob_icon.webp">
<span>Footjob</span>
</a>
<a class="loc-btn" data-passage="SophiaTVBlowjobDecider">
<img src="assets/Locations/House/Livingroom/blowjob_icon.webp">
<span>Push things further</span>
</a>
<a class="loc-btn loc-btn--wide" data-passage="LivingroomDecider">
<img src="assets/Locations/House/livingroom.webp">
<span>Return</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/livingroom.webp')"></div>
<div class="location-ui"><<set _randomNum to random(1, 3)>>
<<set _path to "assets/Locations/House/Livingroom/Sophia/WatchTV/footjob" + _randomNum + ".mp4">>
<<storyVideo _path>>
<<chat sophia "You like that, $playerName?">>
<div class="location-grid">
<a class="loc-btn" data-passage="SophiaTVHandjobAcceptance">
<img src="assets/Locations/House/Livingroom/handjob_icon.webp">
<span>Handjob</span>
</a>
<a class="loc-btn" data-passage="SophiaTVBlowjobDecider">
<img src="assets/Locations/House/Livingroom/blowjob_icon.webp">
<span>Push things further</span>
</a>
<a class="loc-btn loc-btn--wide" data-passage="LivingroomDecider">
<img src="assets/Locations/House/livingroom.webp">
<span>Return</span>
</a>
</div>
</div><<goto "SophiaTVBlowjobRejection">>
<<button "Stuck?" "YourRoom">><</button>><div class="location-bg" style="background-image: url('assets/Locations/House/livingroom.webp')"></div>
<div class="location-ui">
<<chat sophia "What are you doing, $playerName? You think I would allow that? That's too much!">>
<<storyImg "assets/Characters/Sophia/sophia_rejection.webp">>
<<addRel -8 sophia>>
<<addLust -4 sophia>>
<<text "Get Sophia Lust Level to 4.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="LivingroomDecider">
<img src="assets/Locations/House/livingroom.webp">
<span>Return</span>
</a>
</div>
</div><<if $lastSophiaYogaDay is $day>>
<<goto "SophiaYogaAlready">>
<<else>>
<<goto "SophiaYogaStart">>
<</if>>
<<button "Stuck?" "YourRoom">><</button>><div class="location-bg" style="background-image: url('assets/Locations/House/livingroom.webp')"></div>
<div class="location-ui">
<<text "Sophia is already on the mat when you come down, mid-stretch. She hears you and doesn't bother turning around.">>
<<chat sophia "You're on time. I'm almost impressed.">>
<<storyImg "assets/Locations/House/Livingroom/Sophia/Yoga/sophia_yogapose.webp">>
<<chat sophia "Mat's out. Don't make me wait.">>
<<if $characters.sophia.level < 3>>
<<set _goTo to "SophiaYogaLevel2">>
<<else>>
<<set _goTo to "SophiaYogaLevel3">>
<</if>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="_goTo">
<img src="assets/Locations/House/livingroom.webp">
<span>Continue</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/livingroom.webp')"></div>
<div class="location-ui">
<<storyVideo "assets/Locations/House/Livingroom/Sophia/Yoga/ll2_clip1.mp4">>
<<text "Every movement is controlled, deliberate, and the blue set she's wearing does absolutely nothing to hide how her body moves beneath it.">>
<<storyVideo "assets/Locations/House/Livingroom/Sophia/Yoga/ll2_clip2.mp4">>
<<playerchat "//(She really knows what she's doing.)//">>
<<text "She holds the pose at the bottom, perfectly still, and you realize your mouth has gone a little dry.">>
<<storyVideo "assets/Locations/House/Livingroom/Sophia/Yoga/ll2_clip3.mp4">>
<<playerchat "//(Okay. That's... that's a lot.)//">>
<<text "She stays in the pose longer than she needs to. Almost like she knows.">>
<<storyVideo "assets/Locations/House/Livingroom/Sophia/Yoga/ll2_clip4.mp4">>
<<text "You realize you've stopped breathing. You also realize you've shifted your weight to relieve some pressure in your jeans. It doesn't help.">>
<<text "She lowers herself onto the mat, knees apart, and folds forward between them — a stretch that shouldn't be as distracting as it is. Her breathing is heavy now, her chest rising and falling with effort, her face flushed.">>
<<storyVideo "assets/Locations/House/Livingroom/Sophia/Yoga/ll2_clip5.mp4">>
<<chat sophia "Are you going to keep gawking, or are you going to keep the workout going??">>
<<text "Sophia stands up.">>
<<chat sophia "Finishing stretches, let's go.">>
<<storyVideo "assets/Locations/House/Livingroom/Sophia/Yoga/ll2_clip6.mp4">>
<<playerchat "(//That fucking ass...//)">>
<<storyVideo "assets/Locations/House/Livingroom/Sophia/Yoga/ll2_clip7.mp4">>
<<addRel 1 sophia>>
<<addLust 1 sophia>><<nobr>>
<<if $STR < 35>>
<<addSTR 1>>
<</if>><</nobr>>
<<addenergy -25>>
<<set $lastSophiaYogaDay to $day>>
<<advancetime 60>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="LivingroomDecider">
<img src="assets/Locations/House/livingroom.webp">
<span>Return</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/livingroom.webp')"></div>
<div class="location-ui">
<<storyVideo "assets/Locations/House/Livingroom/Sophia/Yoga/ll3_clip1.mp4">>
<<text "She's into the routine and it's going well until she hits the part that needs a second person — a twist she can't get deep enough on her own — and she waves you over without looking up.">>
<<storyVideo "assets/Locations/House/Livingroom/Sophia/Yoga/ll3_clip2.mp4">>
<<chat sophia "Come here. Hand on my hips, push back against it. Not hard.">>
<<storyVideo "assets/Locations/House/Livingroom/Sophia/Yoga/ll3_clip3.mp4">>
<<text "You put a hand where she said and she leans into it and something in her back gives with a soft click. She exhales the whole way through it and goes quiet and loose in a way you don't often see.">>
<<chat sophia "God. There. Right there.">>
<<playerchat "You should do this more.">>
<<chat sophia "I do it every day.">>
<<playerchat "With someone.">>
<<text "She's quiet for a second. Then she sits up on the sofa and gives you next set of instructions.">>
<<storyVideo "assets/Locations/House/Livingroom/Sophia/Yoga/ll3_clip4.mp4">>
<<chat sophia "You're not doing it right, $playerName. I don't feel it.">>
<<playerchat "Your clothes are in the way. If you removed them, you'd feel it.">>
<<chat sophia "Clothes just get in the way huh.">>
<<playerchat "Obviously.">>
<<storyVideo "assets/Locations/House/Livingroom/Sophia/Yoga/ll3_clip5.mp4">>
<<playerchat "Just so we're clear, this is normal now?">>
<<chat sophia "It's practical. Come on. Same again.">>
<<storyVideo "assets/Locations/House/Livingroom/Sophia/Yoga/ll3_clip6.mp4">>
<<text "It is not the same again. There's a lot more to see and she knows there's a lot more to see, and her instructions get shorter and more clipped the longer you take about it.">>
<<chat sophia "Lower. Hips. Push from the hip, not the shoulder.">>
<<text "You put both hands on her hips and she folds forward under them and then she's bent over in front of you, and her voice has gone a bit thin around the edges.">>
<<chat sophia "Maybe it's your clothes that's the problem...">>
<<playerchat "Touche. Let me take them off.">>
<<chat sophia "I was joking-">>
<<text "Too late, you already removed your pants entirely, your cock rock hard.">>
<<chat sophia "Alright... Now hold. Don't let me up.">>
<<storyVideo "assets/Locations/House/Livingroom/Sophia/Yoga/ll3_clip7.mp4">>
<<playerchat "You're shaking.">>
<<chat sophia "I'm stretching.">>
<<playerchat "You're shaking.">>
<<chat sophia "You're distracting me.">>
<<text "You slide a hand round the front and between her legs and she stops talking entirely. Her knees dip. Her whole weight shifts back onto your hands and she's holding her breath.">>
<<storyVideo "assets/Locations/House/Livingroom/Sophia/Yoga/ll3_fingers_in_pussy.mp4">>
<<chat sophia "Oh — okay. Right. Yes.">>
<<playerchat "Keep stretching.">>
<<chat sophia "How am I supposed to—">>
<<text "She tries. She genuinely tries to hold the position, and it lasts about ten seconds before her form goes to hell and she gives up and drops her forehead toward the mat.">>
<<chat sophia "Fine. Fine. I'm done pretending.">>
<<storyVideo "assets/Locations/House/Livingroom/Sophia/Yoga/ll3_fingering2.mp4">>
<<text "She rocks back into your hand instead, and her breathing gets loud and unmanaged, and she's making small noises she's clearly not aware of. The instructor voice is completely gone.">>
<<playerchat "Close?">>
<<chat sophia "Don't ask me questions. Just—">>
<<storyVideo "assets/Locations/House/Livingroom/Sophia/Yoga/ll3_fingers_cum.mp4">>
<<text "She cums like that, and then she hangs there for a moment getting her breath back before she turns round.">>
<<text "Her face is pink and her hair's a mess and she looks at you like this is all your fault.">>
<<chat sophia "Right. Your turn. Sit down.">>
<<text "You don't sit down so much as get sat down. She's got something to prove now — and her hand closes round you and she sets to it with a sort of grim determination.">>
<<storyVideo "assets/Locations/House/Livingroom/Sophia/Yoga/ll3_handjob.mp4">>
<<chat sophia "See how you like being interrupted.">>
<<playerchat "That's not the same thing—">>
<<chat sophia "It's exactly the same thing.">>
<<text "She leans in over you while she does it, close enough that her hair falls across your face, and watches you cum with visible satisfaction. It doesn't take long. She's good, and she knows she's good.">>
<<storyVideo "assets/Locations/House/Livingroom/Sophia/Yoga/ll3_handjob_cum.mp4">>
<<text "When you're done she sits back and wipes her hand on her own thigh and nods, once, like a session finished on time.">>
<<chat sophia "Good. Now actually stretch.">>
<<addRel 2 sophia>>
<<addLust 2 sophia>><<nobr>>
<<if $STR < 35>>
<<addSTR 1>>
<</if>><</nobr>>
<<addenergy -25>>
<<set $lastSophiaYogaDay to $day>>
<<advancetime 60>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="LivingroomDecider">
<img src="assets/Locations/House/livingroom.webp">
<span>Return</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/livingroom.webp')"></div>
<div class="location-ui">
<<chat sophia "We already did this today. Pace yourself — it's not a competition.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="LivingroomDecider">
<img src="assets/Locations/House/livingroom.webp">
<span>Return</span>
</a>
</div>
</div><<if $CharQuests.sophia.sophiaYogaUnlockQuest.status is "active" and $hour < 12>>
<<goto "SophiaYogaUnlockQuestStart">>
<<else>>
<<goto "SophiaLivingroom">>
<</if>>
<<button "Stuck?" "YourRoom">><</button>><div class="location-bg" style="background-image: url('assets/Locations/House/livingroom.webp')"></div>
<div class="location-title">🏠 Livingroom</div>
<div class="location-ui"><<nobr>>
<<text "Looks like Sophia is here.">>
<<set _path to "assets/Locations/House/Livingroom/Sophia/sophia_lust" + $characters.sophia.level + ".webp">>
<<storyImg _path>>
<div class="interaction-btns">
<<button "Talk">>
<<set $selectedChar to "sophia">>
<<set $mm_returnPassage to "LivingroomDecider">>
<<if $lastSophiaTalkDay is $day>>
<<goto "AlreadyTalkedToSophia">>
<<else>>
<<goto "MoodMinigameStart">>
<</if>>
<</button>>
<<button "Give Gift">>
<<set $giftSophia_returnPassage to "LivingroomDecider">>
<<goto "GiveGiftSophiaDecider">>
<</button>>
<<button "Hug">>
<<set $hug_returnPassage to "LivingroomDecider">>
<<goto "SophiaHugDecider">>
<</button>>
<<button "Kiss">>
<<set $kiss_returnPassage to "LivingroomDecider">>
<<goto "SophiaKissDecider">>
<</button>>
<<button "Slap Ass">>
<<set $slap_returnPassage to "LivingroomDecider">>
<<goto "SophiaSlapDecider">>
<</button>>
<<button "Handjob">>
<<set $handjob_returnPassage to "LivingroomDecider">>
<<goto "SophiaHandjobDecider">>
<</button>>
<<button "Footjob">>
<<set $footjob_returnPassage to "LivingroomDecider">>
<<goto "SophiaFootjobDecider">>
<</button>>
<<button "Blowjob">>
<<set $blowjob_returnPassage to "LivingroomDecider">>
<<goto "SophiaBlowjobDecider">>
<</button>>
<<button "Sex">>
<<set $sex_returnPassage to "LivingroomDecider">>
<<goto "SophiaSexDecider">>
<</button>>
</div><</nobr>>
<div class="location-grid">
<a class="loc-btn" data-passage="SophiaWatchTVDecider">
<img src="assets/Locations/House/Livingroom/tv_together.webp">
<span>Watch TV Together</span>
</a>
<a class="loc-btn" data-passage="SophiaChangeChannelDecider">
<img src="assets/Locations/House/Livingroom/remote.webp">
<span>Change the Channel</span>
</a>
<<if $sophiaYogaUnlock is true and $hour <= 12>>
<a class="loc-btn" data-passage="SophiaYogaDecider">
<img src="assets/Quests/Sophia/YogaUnlockQuest/sophiaYogaIcon.webp">
<span>Yoga with Sophia</span>
<<energyGate 25>>
</a>
<</if>>
<a class="loc-btn loc-btn--wide" data-passage="DownstairsHallwayDecider">
<img src="assets/Locations/House/downstairs_hallway.webp">
<span>Downstairs Hallway</span>
</a>
</div>
</div><<if $lastTVDay is $day>>
<<goto "AlreadyWatchedTV">>
<<else>>
<<if $CharQuests.clair.clairBikiniQuest.status is "active">>
<<goto "ClairBikiniQuestStart">>
<<else>>
<<goto "WatchTV">>
<</if>>
<</if>>
<<button "Stuck?" "YourRoom">><</button>><div class="location-bg" style="background-image: url('assets/Locations/House/livingroom.webp')"></div>
<div class="location-ui">
<<text "You decide to watch TV in the living room.">><<advancetime 60>><<set $lastTVDay to $day>>
<<storyImg "assets/Locations/House/Livingroom/watchTV.webp">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="LivingroomDecider">
<img src="assets/Locations/House/livingroom.webp">
<span>Return</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/livingroom.webp')"></div>
<div class="location-ui">
<<text "Already did that today... you should find something better to do.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="LivingroomDecider">
<img src="assets/Locations/House/livingroom.webp">
<span>Return</span>
</a>
</div>
</div><<goto "Garden">>
<<button "Stuck?" "YourRoom">><</button>><div class="location-bg" style="background-image: url('assets/Locations/House/garden.webp')"></div>
<div class="location-title">🏡 Garden
<<storyImg "assets/Locations/House/garden.webp">>
</div>
<div class="location-ui">
<<text "The backyard is modest but well-kept. A rectangular pool glints in the sun, surrounded by a stone patio and a few lounge chairs. Flower beds line the fence, and a tall wooden privacy fence separates you from the neighbours.">>
<div class="location-grid">
<a class="loc-btn" data-passage="GardenSwimDecider">
<<energyGate 20>>
<img src="assets/Locations/House/Garden/swim.webp">
<span>Swim</span>
</a>
<a class="loc-btn" data-passage="GardenPeekFenceDecider">
<<energyGate 5>>
<img src="assets/Locations/House/Garden/fence.webp">
<span>Peek Fence</span>
</a>
<a class="loc-btn" data-passage="GardenWorkDecider">
<<energyGate 15>>
<img src="assets/Locations/House/Garden/work.webp">
<span>Garden Work</span>
</a>
<a class="loc-btn" data-passage="GardenRelaxDecider">
<img src="assets/Locations/House/Garden/chair.webp">
<span>Relax</span>
</a>
<a class="loc-btn loc-btn--wide" data-passage="OutsideDecider">
<img src="assets/Locations/House/house.webp">
<span>Outside</span>
</a>
</div>
</div><<if $lastGardenPeekDay is $day>>
<<goto "GardenPeekAlready">>
<<else>>
<<goto "GardenPeekScene">>
<</if>>
<<button "Stuck?" "YourRoom">><</button>><div class="location-bg" style="background-image: url('assets/Locations/House/Garden/fence.webp')"></div>
<div class="location-ui">
<<text "You've already had your fill of peeking through the fence today. Pace yourself.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="Garden">
<img src="assets/Locations/House/garden.webp">
<span>Return</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/Garden/fence.webp')"></div>
<div class="location-ui">
<<set _roll to random(1, 3)>>
<<if _roll is 1>>
<<goto "GardenPeekA">>
<<elseif _roll is 2>>
<<goto "GardenPeekB">>
<<else>>
<<goto "GardenPeekC">>
<</if>>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/Garden/fence.webp')"></div>
<div class="location-ui">
<<text "You sidle up to the fence and press your eye to the knothole. The neighbour's yard is laid out just like yours, but the privacy is a joke.">>
<<text "On a towel by her pool lies a woman. Brunette. Caressing her ass.">>
<<storyVideo "assets/Locations/House/Garden/Peek/peek_a.mp4">>
<<playerchat "//(Holy shit...)//">>
<<addSTH 1>><<set $lastGardenPeekDay to $day>><<advancetime 60>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="Garden">
<img src="assets/Locations/House/garden.webp">
<span>Return</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/Garden/fence.webp')"></div>
<div class="location-ui">
<<text "You crouch at the fence and peer through a gap in the planks. The neighbour's pool is steaming. A woman is climbing out.">>
<<storyVideo "assets/Locations/House/Garden/Peek/peek_b.mp4">>
<<text "For a brief, glorious moment, you see everything.">>
<<addSTH 1>><<set $lastGardenPeekDay to $day>><<advancetime 60>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="Garden">
<img src="assets/Locations/House/garden.webp">
<span>Return</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/Garden/fence.webp')"></div>
<div class="location-ui">
<<text "You press your eye to the knothole and freeze. The neighbour is already facing the fence. Watching you.">>
<<text "She's sitting down, tits out, smirking like she knew you'd be looking">>
<<storyVideo "assets/Locations/House/Garden/Peek/peek_c.mp4">>
<<playerchat "//(She... she knows...)//">>
<<addSTH 1>><<set $lastGardenPeekDay to $day>><<advancetime 60>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="Garden">
<img src="assets/Locations/House/garden.webp">
<span>Return</span>
</a>
</div>
</div><<nobr>>
<<set _charRoll to random(1, 3)>>
<<if _charRoll is 1>>
<<set _char to "sophia">>
<<set _img to "assets/Locations/House/Garden/RandomEvents/HoseEvent/sophia.webp">>
<<elseif _charRoll is 2>>
<<set _char to "clair">>
<<set _img to "assets/Locations/House/Garden/RandomEvents/HoseEvent/clair.webp">>
<<else>>
<<set _char to "nicole">>
<<set _img to "assets/Locations/House/Garden/RandomEvents/HoseEvent/nicole.webp">>
<</if>>
<</nobr>>
<div class="location-bg" style="background-image: url('assets/Locations/House/garden.webp')"></div>
<div class="location-ui">
<<text "You're midway through watering the beds when a floorboard creaks behind you. You turn.">>
<<storyImg _img>>
<<text "It's $characters[_char].name. She's just stepped out in a thin white top and shorts, clearly not expecting to get wet.">>
<<text "You go to shut the hose off. Your thumb slips. The nozzle twists. A jet of cold water arcs up and catches her square in the chest.">>
<<storyVideo "assets/Locations/House/Garden/RandomEvents/HoseEvent/spray.mp4">>
<<if _char is "sophia">>
<<chat sophia "What the hell was that?! Oh my god, you did that on purpose, didn't you?">>
<<elseif _char is "clair">>
<<chat clair "Are you fucking kidding me?! This top cost more than your entire wardrobe!">>
<<else>>
<<chat nicole "Eeek! $playerName! It's freezing!">>
<</if>>
<<text "The water has done its work. Her top is plastered to her skin. Every curve is visible. Her nipples are hard.">>
<div class="choice-buttons" id="hose_choices">
<<button "Apologize and help her dry off">>
<<replace "#hose_choices">>
<<playerchat "I'm so sorry. Here, let me help.">>
<<text "You grab a towel from the patio and step in close. She stiffens, then lets you press the towel to her chest. Her breath catches as your hands move.">>
<<if _char is "sophia">>
<<chat sophia "This is wildly inappropriate... and yet you're not stopping.">>
<<elseif _char is "clair">>
<<chat clair "You're enjoying this way too much. Don't think I can't tell.">>
<<else>>
<<chat nicole "I-I can do it myself... but... thank you.">>
<</if>>
<<addRel 1 _char>>
<<addLust 1 _char>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="Garden">
<img src="assets/Locations/House/garden.webp">
<span>Continue</span>
</a>
</div>
<</replace>>
<</button>>
<<button "Laugh">>
<<replace "#hose_choices">>
<<playerchat "Pffft... hahahaha, your face!">>
<<text "She stares at you. The temperature in the yard drops ten degrees.">>
<<if _char is "sophia">>
<<chat sophia "It's so fucking cold!">>
<<storyVideo "assets/Locations/House/Garden/RandomEvents/HoseEvent/undress.mp4">>
<<chat sophia "You think that's funny? I'll remember this, and I won't be forgiving.">>
<<elseif _char is "clair">>
<<chat clair "It's so fucking cold!">>
<<storyVideo "assets/Locations/House/Garden/RandomEvents/HoseEvent/undress.mp4">>
<<chat clair "You're a fucking child. I'm going inside. Don't talk to me for the rest of the day.">>
<<else>>
<<chat nicole "It's so cold, $playerName!">>
<<storyVideo "assets/Locations/House/Garden/RandomEvents/HoseEvent/undress.mp4">>
<<chat nicole "I-I thought it was kind of funny... but also mean...">>
<</if>>
<<addRel -2 _char>>
<<addLust 1 _char>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="Garden">
<img src="assets/Locations/House/garden.webp">
<span>Continue</span>
</a>
</div>
<</replace>>
<</button>>
<<button "Stare">>
<<replace "#hose_choices">>
<<text "You don't say anything. You just look. Her top clings to her chest like it's not even there. She notices you noticing.">>
<<if _char is "sophia">>
<<storyVideo "assets/Locations/House/Garden/RandomEvents/HoseEvent/cover.mp4">>
<<chat sophia "And now you're staring. Of course you are. At least have the decency to pretend.">>
<<elseif _char is "clair">>
<<chat clair "Take a picture, it'll last longer. Actually, don't. You'd probably sell it.">>
<<storyVideo "assets/Locations/House/Garden/RandomEvents/HoseEvent/cover.mp4">>
<<else>>
<<storyVideo "assets/Locations/House/Garden/RandomEvents/HoseEvent/cover.mp4">>
<<chat nicole "S-Stop looking at me like that... it's embarrassing...">>
<</if>>
<<text "She crosses her arms over her chest, but she doesn't actually leave. Her eyes flick to yours, and away.">>
<<addLust 1 _char>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="Garden">
<img src="assets/Locations/House/garden.webp">
<span>Continue</span>
</a>
</div>
<</replace>>
<</button>>
</div>
</div><<if $lastGardenRelaxDay is $day>>
<<goto "GardenRelaxAlready">>
<<else>>
<<goto "GardenRelax">>
<</if>>
<<button "Stuck?" "YourRoom">><</button>><div class="location-bg" style="background-image: url('assets/Locations/House/garden.webp')"></div>
<div class="location-ui">
<<text "You've already relaxed out here today. Time to do something useful.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="Garden">
<img src="assets/Locations/House/garden.webp">
<span>Return</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/garden.webp')"></div>
<div class="location-ui">
<<text "You collapse into one of the lounge chairs, close your eyes, and let the afternoon sun soak into your skin. No thoughts. No quests. No step-anything. Just warmth.">>
<<storyVideo "assets/Locations/House/Garden/Relax/relax-sunbathing.mp4">>
<<text "You feel human again. Almost.">>
<<addenergy 10>><<set $lastGardenRelaxDay to $day>><<advancetime 60>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="Garden">
<img src="assets/Locations/House/garden.webp">
<span>Return</span>
</a>
</div>
</div><<if $lastGardenSwimDay is $day>>
<<goto "GardenSwimAlready">>
<<else>>
<<goto "GardenSwim">>
<</if>>
<<button "Stuck?" "YourRoom">><</button>><div class="location-bg" style="background-image: url('assets/Locations/House/garden.webp')"></div>
<div class="location-ui">
<<text "You already went for a swim today. The water's still there tomorrow.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="Garden">
<img src="assets/Locations/House/garden.webp">
<span>Return</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/garden.webp')"></div>
<div class="location-ui">
<<text "You strip down to your boxers and dive in.">>
<<storyVideo "assets/Locations/House/Garden/garden_swim.mp4">>
<<text "You climb out, dripping wet, feeling cleaner than you have in days.">>
<<addenergy -20>>
<<addSTR 1>><<set $lastGardenSwimDay to $day>><<advancetime 60>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="Garden">
<img src="assets/Locations/House/garden.webp">
<span>Return</span>
</a>
</div>
</div><<if $lastGardenWorkDay is $day>>
<<goto "GardenWorkAlready">>
<<else>>
<<set _roll to random(1, 100)>>
<<if _roll <= 70>>
<<goto "GardenWork">>
<<else>>
<<goto "GardenHoseEvent">>
<</if>>
<</if>>
<<button "Stuck?" "YourRoom">><</button>><div class="location-bg" style="background-image: url('assets/Locations/House/garden.webp')"></div>
<div class="location-ui">
<<text "You've already done your share of garden work today. The flowers can wait.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="Garden">
<img src="assets/Locations/House/garden.webp">
<span>Return</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/Garden/work.webp')"></div>
<div class="location-ui">
<<text "You grab a pair of gloves and get to work. Weeding, trimming, watering. It's sweaty, boring labour, but it needs doing.">>
<<storyVideo "assets/Locations/House/Garden/Work/work.mp4">>
<<if $Sophia.location is "Garden">>
<<text "Sophia steps out to check on you. She watches for a moment, arms crossed, that cool appraising look on her face.">>
<<text "She kneels down next to you and works the other bed. The two of you fall into a rhythm.">>
<<nobr>>
<<set _randomWorkNum to random(1,2)>>
<<if _randomWorkNum is 1>>
<<storyVideo "assets/Locations/House/Garden/Work/sophia_working_clothed.mp4">>
<<else>>
<<storyVideo "assets/Locations/House/Garden/Work/sophia_working_clothed2.mp4">>
<</if>>
<</nobr>>
<<chat sophia "You're actually doing it. I'm impressed. Don't let it go to your head, but... thank you.">>
<<addRel 2 sophia>>
<<addLust 1 sophia>>
<<else>>
<<text "You work alone. Nobody comes out to check on you. The garden looks better for it, at least.">>
<<addRel 1 sophia>>
<<addLust 1 sophia>>
<</if>>
<<addenergy -15>><<set $lastGardenWorkDay to $day>><<advancetime 60>>
<<text "You brush the dirt off your hands and stand back to admire your work. The garden looks sharper than it has in weeks.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="Garden">
<img src="assets/Locations/House/garden.webp">
<span>Return</span>
</a>
</div>
</div><<goto "Outside">>
<<button "Stuck?" "YourRoom">><</button>><div class="location-bg" style="background-image: url('assets/Locations/House/house.webp')"></div>
<div class="location-title">🏠 Outside
<<storyImg "assets/Locations/House/house.webp">>
</div>
<div class="location-ui">
<<text "outside">>
<div class="location-grid">
<a class="loc-btn" data-passage="DownstairsHallwayDecider">
<img src="assets/Locations/House/downstairs_hallway.webp">
<span>Your house</span>
</a>
<a class="loc-btn" data-passage="GardenDecider">
<img src="assets/Locations/House/garden.webp">
<<charBadges "Garden">>
<span>Garden</span>
</a>
<a class="loc-btn loc-btn--wide" data-passage="CityDecider">
<img src="assets/Locations/City/city.webp">
<span>City</span>
</a>
</div>
</div><<if $characters.clair.relationship < 25>>
<<goto "ClairMassageDecline">>
<<elseif $lastClairMassageDay is $day>>
<<goto "ClairMassageAlready">>
<<else>>
<<goto "ClairShoulderMassage">>
<</if>>
<<button "Stuck?" "YourRoom">><</button>><div class="location-bg" style="background-image: url('assets/Locations/House/clair_bedroom.webp')"></div>
<div class="location-ui">
<<playerchat "Would you like a massage, Clair?">>
<<chat clair "Are you obsessed with touching me or something? I already let you do that today. Buzz off.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="UpstairsHallwayDecider">
<img src="assets/Locations/House/upstairs_hallway.webp">
<span>Leave</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/clair_bedroom.webp')"></div>
<div class="location-ui">
<<playerchat "Would you like a massage, Clair?">>
<<text "You decide to offer Clair a massage, but she looks at you with absolute disgust.">>
<<chat clair "Ew, you want to rub your greasy hands all over me? In your dreams, creep. Get out of my room.">>
<<text "Get Clair's relationship over 25.">>
<<advancetime 5>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="UpstairsHallwayDecider">
<img src="assets/Locations/House/upstairs_hallway.webp">
<span>Leave</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/clair_bedroom.webp')"></div>
<div class="location-ui">
<<playerchat "Would you like a massage, Clair?">>
<<text "You decide to offer Clair a massage. She rolls her eyes dramatically, but sighs and shrugs her shoulders.">>
<<chat clair "Ugh, fine. My neck has been killing me from carrying our entire group project. You better actually be good at this.">>
<<storyVideo "assets/Locations/House/ClairRoom/Massage/shoulder_massage.mp4">>
<<addRel 2 clair>><<advancetime 60>><<set $lastClairMassageDay to $day>><<addenergy -10>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="ClairMassageNakedDecider">
<img src="assets/General/massage.webp">
<span>Proceed</span>
</a>
<a class="loc-btn loc-btn--wide" data-passage="UpstairsHallwayDecider">
<img src="assets/Locations/House/upstairs_hallway.webp">
<span>Leave</span>
</a>
</div>
</div><<if $characters.clair.level is 1>>
<<goto "ClairMassageNakedDecline">>
<<else>>
<<goto "ClairMassageNaked">>
<</if>>
<<button "Stuck?" "YourRoom">><</button>><div class="location-bg" style="background-image: url('assets/Locations/House/clair_bedroom.webp')"></div>
<div class="location-ui">
<<playerchat "You know, Clair, I think a massage would be even better if you were more comfortable. You should take you clothes off.">>
<<chat clair "Take my clothes off?! Are you totally out of your mind? You're lucky I even let you sit on my bed!">>
<<playerchat "I give really good massages, Clair. I promise you'll feel amazing.">>
<<chat clair "I don't care how good your hands are, I'm not stripping for a loser like you. Keep working on my shoulders or get out.">>
<<text "Clair glares at you, fiercely guarding her pride and refusing to undress.">>
<<addRel -3 clair>>
<<text "Get Clair's Lust Level to 2.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="UpstairsHallwayDecider">
<img src="assets/Locations/House/upstairs_hallway.webp">
<span>Leave</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/clair_bedroom.webp')"></div>
<div class="location-ui">
<<playerchat "You know, Clair, I think a massage would be even better if you were more comfortable. You should take you clothes off.">>
<<chat clair "Take my clothes off..? You really have a lot of nerve...">>
<<playerchat "I give really good massages, Clair. I promise you'll feel amazing.">>
<<chat clair "Fine! If it stops your whining. But if you stare too hard, I'm kicking your teeth in.">>
<<text "Clair slowly strips off her clothing, exposing her gorgeous naked body. She huffs defensively and quickly lays flat on the bed.">>
<<storyVideo "assets/Locations/House/ClairRoom/Massage/naked_massage1.mp4">>
<<chat clair "Mmm... H-Hey, don't press so hard... Ah, actually, right there... keep doing that.">>
<<storyVideo "assets/Locations/House/ClairRoom/Massage/naked_massage2.mp4">>
<<addRel 3 clair>>
<<addLust 2 clair>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="ClairMassageFingeringDecider">
<img src="assets/General/massage.webp">
<span>Finger her</span>
</a>
<a class="loc-btn loc-btn--wide" data-passage="UpstairsHallwayDecider">
<img src="assets/Locations/House/upstairs_hallway.webp">
<span>Leave</span>
</a>
</div>
</div><<if $characters.clair.level <= 2>>
<<goto "ClairMassageFingeringDecline">>
<<else>>
<<goto "ClairMassageFingering">>
<</if>>
<<button "Stuck?" "YourRoom">><</button>><div class="location-bg" style="background-image: url('assets/Locations/House/clair_bedroom.webp')"></div>
<div class="location-ui">
<<text "Seeing Clair fully naked and completely vulnerable under your hands makes you want to push your luck.">>
<<playerchat "There are ways to make you feel even more relaxed, Clair...">>
<<text "You start touching her pussy.">>
<<chat clair "What the hell do you think you're touching, idiot?! Hands off! I allowed a back rub, nothing else!">>
<<storyImg "assets/Characters/Clair/clair_rejection.webp">>
<<addRel -5 clair>>
<<addLust 1 clair>>
<<text "Get Clair's Lust Level to 3.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="UpstairsHallwayDecider">
<img src="assets/Locations/House/upstairs_hallway.webp">
<span>Leave</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/clair_bedroom.webp')"></div>
<div class="location-ui">
<<text "Seeing Clair fully naked and completely vulnerable under your hands makes you want to push your luck.">>
<<playerchat "There are ways to make you feel even more relaxed, Clair...">>
<<text "You start touching her pussy.">>
<<set _randomNum to random(1, 3)>>
<<set _path to "assets/Locations/House/ClairRoom/Massage/fingering" + _randomNum + ".mp4">>
<<storyVideo _path>>
<<chat clair "A-Ahhh... $playerName... Stop... wait, don't stop... oh god, your hands feel so dominant...">>
<<addLust 4 clair>>
<<addRel 4 clair>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="UpstairsHallwayDecider">
<img src="assets/Locations/House/upstairs_hallway.webp">
<span>Leave</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/clair_bedroom.webp')"></div>
<div class="location-ui">
<<text "You open the door to Clair's room. Looks like she's here.">>
<<chat clair "What are you doing here? This is my room, you know...">>
<<set _path to "assets/Locations/House/ClairRoom/clair_lust" + $characters.clair.level + ".webp">><<nobr>>
<<storyImg _path>>
<div class="interaction-btns">
<<button "Talk">>
<<set $selectedChar to "clair">>
<<set $mm_returnPassage to "ClairRoomDecider">>
<<if $lastClairTalkDay is $day>>
<<goto "AlreadyTalkedToClair">>
<<else>>
<<goto "MoodMinigameStart">>
<</if>>
<</button>>
<<button "Give Gift">>
<<set $giftClair_returnPassage to "ClairRoomDecider">>
<<goto "GiveGiftClairDecider">>
<</button>>
<<button "Hug">>
<<set $hug_returnPassage to "ClairRoomDecider">>
<<goto "ClairHugDecider">>
<</button>>
<<button "Kiss">>
<<set $kiss_returnPassage to "ClairRoomDecider">>
<<goto "ClairKissDecider">>
<</button>>
<<button "Slap Ass">>
<<set $slap_returnPassage to "ClairRoomDecider">>
<<goto "ClairSlapDecider">>
<</button>>
<<button "Blowjob">>
<<set $blowjob_returnPassage to "ClairRoomDecider">>
<<goto "ClairBlowjobDecider">>
<</button>>
<<button "Sex">>
<<set $sex_returnPassage to "ClairRoomDecider">>
<<goto "ClairSexDecider">>
<</button>>
</div><</nobr>>
<div class="location-grid">
<a class="loc-btn" data-passage="ClairMassageDecider">
<img src="assets/General/massage.webp">
<<energyGate 10>>
<span>Offer a Massage</span>
</a>
<<if $clairPhotoUnlock is true>><<set $clairPhotoshoot_returnPassage to "ClairRoomClair">><a class="loc-btn" data-passage="ClairPhotoshootDecider">
<img src="assets/Characters/Clair/Photoshoot/photoshoot_icon.webp">
<<energyGate 5>>
<span>Photoshoot</span>
</a><</if>>
<a class="loc-btn loc-btn--wide" data-passage="UpstairsHallwayDecider">
<img src="assets/Locations/House/upstairs_hallway.webp">
<span>Leave</span>
</a>
</div>
</div><<if $hour >= 22 and $hour < 7>>
<<goto "ClairRoomNightDecider">>
<<else>>
<<goto "ClairRoomClair">>
<</if>>
<<button "Stuck?" "YourRoom">><</button>><<set _randomNum to random(1, 4)>>
<<if _randomNum >= 3>>
<<goto "ClairSleeping">>
<<else>>
<<goto "ClairSleepingLocked">>
<</if>>
<<button "Stuck?" "YourRoom">><</button>><div class="location-bg" style="background-image: url('assets/Locations/House/clair_bedroom.webp')"></div>
<div class="location-ui">
<<text "As you open the door to Clair's room, you find her curled up on her bed, fast asleep.">>
<<storyImg "assets/Locations/House/ClairRoom/clair_sleeping.webp">>
<<playerchat "//(Holy shit, she's naked...)//">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="UpstairsHallwayDecider">
<img src="assets/Locations/House/upstairs_hallway.webp">
<span>Leave</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/clair_bedroom.webp')"></div>
<div class="location-ui">
<<text "You try opening Clair's door, but it's locked. She is sleeping.">>
<<storyImg "assets/General/locked.webp">>
<<playerchat "//(Of course...)//">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="UpstairsHallwayDecider">
<img src="assets/Locations/House/upstairs_hallway.webp">
<span>Leave</span>
</a>
</div>
</div><<if $Clair.location is "ClairRoom">>
<<if $CharQuests.clair.clairEventQuest1.status is "active" and $CharQuests.clair.clairEventQuest1.step is 0 >>
<<if $weekDay is "Saturday" or $weekDay is "Sunday">>
<<goto "ClairEventQuest1Start">>
<<else>>
<<goto "ClairRoomClairDecider">>
<</if>>
<<elseif $CharQuests.clair.clairMoralesPartyQuest.status is "active" and $CharQuests.clair.clairMoralesPartyQuest.step is 0>>
<<goto "ClairMoralesPartyStart">>
<<elseif $CharQuests.clair.clairMoralesPartyQuest.status is "active" and $CharQuests.clair.clairMoralesPartyQuest.step is 1 and $hour >= 19 and $weekDay is "Friday">>
<<goto "ClairMoralesPartyP2">>
<<else>>
<<goto "ClairRoomClairDecider">>
<</if>>
<<else>>
<<goto "ClairRoom">>
<</if>>
<<button "Stuck?" "YourRoom">><</button>><div class="location-bg" style="background-image: url('assets/Locations/House/clair_bedroom.webp')"></div>
<div class="location-title">🏠 Clair's room
<<storyImg "assets/Locations/House/clair_bedroom.webp">>
</div>
<div class="location-ui">
<<text "It looks like Clair isn't here...">>
<div class="location-grid">
<a class="loc-btn" data-passage="ClairSnoopDresserDecider">
<img src="assets/Locations/House/ClairRoom/snoop_dresser.webp">
<span>Snoop Dresser</span>
</a>
<a class="loc-btn loc-btn--wide" data-passage="UpstairsHallwayDecider">
<img src="assets/Locations/House/upstairs_hallway.webp">
<span>Upstairs Hallway</span>
</a>
</div>
</div><<goto "ClairSnoopDresser">>
<<button "Stuck?" "YourRoom">><</button>><div class="location-bg" style="background-image: url('assets/Locations/House/clair_bedroom.webp')"></div>
<div class="location-ui">
<<text "The coast is clear. You dive into the dresser, searching for clues to her mysterious life. You find a floral pair. Then a black pair. Then a pair with little cats on them. You realize you’ve been 'investigating' Clair's panties">>
<<advancetime 5>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="ClairRoomDecider">
<img src="assets/Locations/House/clair_bedroom.webp">
<span>Abort</span>
</a>
</div>
</div><<if $characters.nicole.relationship < 25>>
<<goto "NicoleMassageDecline">>
<<elseif $lastNicoleMassageDay is $day>>
<<goto "NicoleMassageAlready">>
<<else>>
<<goto "NicoleShoulderMassage">>
<</if>>
<<button "Stuck?" "YourRoom">><</button>><div class="location-bg" style="background-image: url('assets/Locations/House/nicole_bedroom.webp')"></div>
<div class="location-ui">
<<playerchat "Would you like a massage, Nicole?">>
<<chat nicole "I appreciate the offer, but I think I've had enough massages for today. Maybe some other time...">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="UpstairsHallwayDecider">
<img src="assets/Locations/House/upstairs_hallway.webp">
<span>Leave</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/nicole_bedroom.webp')"></div>
<div class="location-ui">
<<playerchat "Would you like a massage, Nicole?">>
<<text "You decided to offer Nicole a massage, but she looks at you with a hint of discomfort.">>
<<chat nicole "Uh... I appreciate the offer, but I think I'll pass. Maybe some other time...">>
<<advancetime 5>>
<<text "Get your relationship points with Nicole over 25.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="UpstairsHallwayDecider">
<img src="assets/Locations/House/upstairs_hallway.webp">
<span>Leave</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/nicole_bedroom.webp')"></div>
<div class="location-ui">
<<playerchat "Would you like a massage, Nicole?">>
<<text "You decided to offer Nicole a massage. She thinks about it for a moment, then nods and smiles.">>
<<chat nicole "I am feeling a bit tense in my shoulders... A massage would be nice. Thank you.">>
<<storyVideo "assets/Locations/House/NicoleRoom/Massage/shoulder_massage.mp4">>
<<addRel 2 nicole>><<advancetime 60>><<set $lastNicoleMassageDay to $day>>
<<addenergy -10>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="NicoleMassageNakedDecider">
<img src="assets/General/massage.webp">
<span>Proceed</span>
</a>
<a class="loc-btn loc-btn--wide" data-passage="UpstairsHallwayDecider">
<img src="assets/Locations/House/upstairs_hallway.webp">
<span>Leave</span>
</a>
</div>
</div><<if $characters.nicole.level is 1>>
<<goto "NicoleMassageNakedDecline">>
<<else>>
<<goto "NicoleMassageNaked">>
<</if>>
<<button "Stuck?" "YourRoom">><</button>><div class="location-bg" style="background-image: url('assets/Locations/House/nicole_bedroom.webp')"></div>
<div class="location-ui">
<<playerchat "You know, Nicole, I think a massage would be even better if you were more comfortable. You should take you clothes off.">>
<<chat nicole "Take my clothes off? I don't know... I mean, I trust you, but that seems a bit too much for me right now.">>
<<playerchat "I give really good massages, Nicole. I promise you'll feel amazing.">>
<<chat nicole "I... I appreciate your offer, but I think I'll stick to the clothes-on massage for now. Maybe some other time...">>
<<text "Nicole seems uncomfortable with the idea of taking her clothes off for a massage.">>
<<addRel -3 nicole>>
<<text "Get Nicole Lust Level to 2">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="UpstairsHallwayDecider">
<img src="assets/Locations/House/upstairs_hallway.webp">
<span>Leave</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/nicole_bedroom.webp')"></div>
<div class="location-ui">
<<playerchat "You know, Nicole, I think a massage would be even better if you were more comfortable. You should take you clothes off.">>
<<chat nicole "Take my clothes off?">>
<<playerchat "I give really good massages, Nicole. I promise you'll feel amazing.">>
<<chat nicole "Well, my body is a bit tense last couple of days... I guess I can trust you.">>
<<storyVideo "assets/Locations/House/NicoleRoom/Massage/naked_massage1.mp4">>
<<text "Nicole takes off her clothes, revealing her naked body. She lies down on the bed, ready for the massage.">>
<<storyVideo "assets/Locations/House/NicoleRoom/Massage/naked_massage2.mp4">>
<<chat nicole "Mmm... that feels amazing, $playerName. Your hands are magic.">>
<<storyVideo "assets/Locations/House/NicoleRoom/Massage/naked_massage3.mp4">>
<<addRel 3 nicole>>
<<addLust 2 nicole>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="NicoleMassageFingeringDecider">
<img src="assets/General/massage.webp">
<span>Finger her</span>
</a>
<a class="loc-btn loc-btn--wide" data-passage="UpstairsHallwayDecider">
<img src="assets/Locations/House/upstairs_hallway.webp">
<span>Leave</span>
</a>
</div>
</div><<if $characters.nicole.level <= 2>>
<<goto "NicoleMassageFingeringDecline">>
<<else>>
<<goto "NicoleMassageFingering">>
<</if>>
<<button "Stuck?" "YourRoom">><</button>><div class="location-bg" style="background-image: url('assets/Locations/House/nicole_bedroom.webp')"></div>
<div class="location-ui">
<<text "Having Nicole naked in front of you is making you feel a bit frisky. You decide to offer her a little more than just a massage.">>
<<playerchat "There are ways to make you feel even better, Nicole...">>
<<text "You start touching her pussy.">>
<<chat nicole "$playerName, what!? Please no... A massage, that's it.">>
<<storyImg "assets/Characters/Nicole/nicole_rejection.webp">>
<<addRel -5 nicole>>
<<addLust 1 nicole>>
<<text "Get Nicole Lust Level to 3.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="UpstairsHallwayDecider">
<img src="assets/Locations/House/upstairs_hallway.webp">
<span>Leave</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/nicole_bedroom.webp')"></div>
<div class="location-ui">
<<text "Having Nicole naked in front of you is making you feel a bit frisky. You decide to offer her a little more than just a massage.">>
<<playerchat "There are ways to make you feel even better, Nicole...">>
<<text "You start touching her pussy.">>
<<storyVideo "assets/Locations/House/NicoleRoom/Massage/fingering1.mp4">>
<<chat nicole "Ahh, $playerName... that feels so good... I didn't know you were this good at... massages...">>
<<storyVideo "assets/Locations/House/NicoleRoom/Massage/fingering2.mp4">>
<<text "You continue to eat her out and finger her, making her moan and squirm in pleasure.">>
<<storyVideo "assets/Locations/House/NicoleRoom/Massage/fingering3.mp4">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="NicoleMassageFingeringCum">
<img src="assets/General/massage.webp">
<span>Cum</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/nicole_bedroom.webp')"></div>
<div class="location-ui">
<<playerchat "You taste so good, Nicole.">>
<<chat nicole "Yes, $playerName, yes... I can't hold it anymore... I'm cumming...">>
<<storyVideo "assets/Locations/House/NicoleRoom/Massage/fingering4.mp4">>
<<chat nicole "I can't believe how good that felt... Thank you, $playerName.">>
<<addLust 4 nicole>>
<<addRel 4 nicole>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="UpstairsHallwayDecider">
<img src="assets/Locations/House/upstairs_hallway.webp">
<span>Leave</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/nicole_bedroom.webp')"></div>
<div class="location-ui">
<<text "You open the door to Nicole's room. Looks like she's here.">>
<<chat nicole "Oh... hey... I didn't expect you to come in.">>
<<set _path to "assets/Locations/House/NicoleRoom/nicole_lust" + $characters.nicole.level + ".webp">><<nobr>>
<<storyImg _path>>
<div class="interaction-btns">
<<button "Talk">>
<<set $selectedChar to "nicole">>
<<set $mm_returnPassage to "NicoleRoomDecider">>
<<if $lastNicoleTalkDay is $day>>
<<goto "AlreadyTalkedToNicole">>
<<else>>
<<goto "MoodMinigameStart">>
<</if>>
<</button>>
<<button "Give Gift">>
<<set $giftNicole_returnPassage to "NicoleRoomDecider">>
<<goto "GiveGiftNicoleDecider">>
<</button>>
<<button "Hug">>
<<set $hug_returnPassage to "NicoleRoomDecider">>
<<goto "NicoleHugDecider">>
<</button>>
<<button "Kiss">>
<<set $kiss_returnPassage to "NicoleRoomDecider">>
<<goto "NicoleKissDecider">>
<</button>>
<<button "Slap Ass">>
<<set $slap_returnPassage to "NicoleRoomDecider">>
<<goto "NicoleSlapDecider">>
<</button>>
<<button "Blowjob">>
<<set $blowjob_returnPassage to "NicoleRoomDecider">>
<<goto "NicoleBlowjobDecider">>
<</button>>
<<button "Sex">>
<<set $sex_returnPassage to "NicoleRoomDecider">>
<<goto "NicoleSexDecider">>
<</button>>
</div><</nobr>>
<div class="location-grid">
<a class="loc-btn" data-passage="NicoleMassageDecider">
<img src="assets/General/massage.webp">
<<energyGate 10>>
<span>Offer a Massage</span>
</a>
<a class="loc-btn loc-btn--wide" data-passage="UpstairsHallwayDecider">
<img src="assets/Locations/House/upstairs_hallway.webp">
<span>Leave</span>
</a>
</div>
</div><<if $hour >= 22 and $hour < 7>>
<<goto "NicoleRoomNightDecider">>
<<else>>
<<goto "NicoleRoomNicole">>
<</if>>
<<button "Stuck?" "YourRoom">><</button>><<set _randomNum to random(1, 5)>>
<<if _randomNum >= 2>>
<<goto "NicoleSleeping">>
<<else>>
<<goto "NicoleSleepingLocked">>
<</if>>
<<button "Stuck?" "YourRoom">><</button>><div class="location-bg" style="background-image: url('assets/Locations/House/nicole_bedroom.webp')"></div>
<div class="location-ui">
<<text "As you open the door to Nicole's room, you find her curled up on her bed, fast asleep.">>
<<storyImg "assets/Locations/House/NicoleRoom/nicole_sleeping.webp">>
<<playerchat "//(Holy shit, she's naked...)//">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="UpstairsHallwayDecider">
<img src="assets/Locations/House/upstairs_hallway.webp">
<span>Leave</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/nicole_bedroom.webp')"></div>
<div class="location-ui">
<<text "You try opening Nicole's door, but it's locked. She is sleeping.">>
<<storyImg "assets/General/locked.webp">>
<<playerchat "//(Why would she lock the door?)//">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="UpstairsHallwayDecider">
<img src="assets/Locations/House/upstairs_hallway.webp">
<span>Leave</span>
</a>
</div>
</div><<goto "NicoleReadDiaryLocked">>
<<button "Stuck?" "YourRoom">><</button>><div class="location-bg" style="background-image: url('assets/Locations/House/nicole_bedroom.webp')"></div>
<div class="location-ui">
<<text "It's locked. The glittery kitten on the cover seems to be mocking your lack of lock-picking skills.">>
<<storyImg "assets/General/locked.webp">>
<<text "You need a key.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="NicoleRoomDecider">
<img src="assets/Locations/House/nicole_bedroom.webp">
<span>Abort</span>
</a>
</div>
</div><<if $Nicole.location is "NicoleRoom">>
<<if $CharQuests.nicole.nicoleEventQuest1.status is "active">>
<<goto "NicoleEventQuest1Start">>
<<elseif $CharQuests.nicole.nicoleEventQuest2.status is "active" and $CharQuests.nicole.nicoleEventQuest2.step is 1>>
<<goto "NicoleEventQuest2P2">>
<<elseif $CharQuests.nicole.nicoleBreakQuest1.status is "active" and $CharQuests.nicole.nicoleBreakQuest1.step is 2 and $hour >= 22>>
<<goto "NicoleBreakQuest1Start2">>
<<else>>
<<goto "NicoleRoomNicoleDecider">>
<</if>>
<<else>>
<<goto "NicoleRoom">>
<</if>>
<<button "Stuck?" "YourRoom">><</button>><div class="location-bg" style="background-image: url('assets/Locations/House/nicole_bedroom.webp')"></div>
<div class="location-title">🏠 Nicole's room
<<storyImg "assets/Locations/House/nicole_bedroom.webp">>
</div>
<div class="location-ui">
<<text "It looks like Nicole isn't here... What are you planning on doing?">>
<div class="location-grid">
<a class="loc-btn" data-passage="NicoleSnoopDresserDecider">
<img src="assets/Locations/House/NicoleRoom/snoop_dresser.webp">
<span>Snoop Dresser</span>
</a>
<a class="loc-btn" data-passage="NicoleReadDiaryDecider">
<img src="assets/Locations/House/NicoleRoom/read_diary.webp">
<span>Read Diary</span>
</a>
<a class="loc-btn loc-btn--wide" data-passage="UpstairsHallwayDecider">
<img src="assets/Locations/House/upstairs_hallway.webp">
<span>Leave</span>
</a>
</div>
</div><<goto "NicoleSnoopDresser">>
<<button "Stuck?" "YourRoom">><</button>><div class="location-bg" style="background-image: url('assets/Locations/House/nicole_bedroom.webp')"></div>
<div class="location-ui">
<<text "The coast is clear. You dive into the dresser, searching for clues to her mysterious life. You find a floral pair. Then a black pair. Then a pair with little cats on them. You realize you’ve been 'investigating' Nicole's panties">>
<<advancetime 5>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="NicoleRoomDecider">
<img src="assets/Locations/House/nicole_bedroom.webp">
<span>Abort</span>
</a>
</div>
</div><<nobr>>
<<advancetime 15>>
<<set _charRoll to random(1, 3)>>
<<if _charRoll is 1>>
<<set _char to "sophia">>
<<set _charName to "Sophia">>
<<set _img to "assets/Locations/House/RandomEvents/UpstairsHallway/ZipperEvent/sophia.webp">>
<<elseif _charRoll is 2>>
<<set _char to "clair">>
<<set _charName to "Clair">>
<<set _img to "assets/Locations/House/RandomEvents/UpstairsHallway/ZipperEvent/clair.webp">>
<<else>>
<<set _char to "nicole">>
<<set _charName to "Nicole">>
<<set _img to "assets/Locations/House/RandomEvents/UpstairsHallway/ZipperEvent/nicole.webp">>
<</if>>
<</nobr>>
<div class="location-bg" style="background-image: url('assets/Locations/House/upstairs_hallway.webp')"></div>
<div class="location-ui">
<<text "You come up the stairs and find _charName standing outside her door, twisted at the waist, one arm behind her back, fighting with the zipper on her dress.">>
<<storyImg _img>>
<<if _char is "sophia">>
<<chat sophia "Don't just stand there. Help me with this thing before I rip it.">>
<<elseif _char is "clair">>
<<chat clair "Stop staring and come unstick this. And don't make it weird.">>
<<else>>
<<chat nicole "Oh! Um... could you... could you help? I can't reach...">>
<</if>>
<div class="choice-buttons" id="zipper_choices">
<<button "Help her (Strength)">>
<<replace "#zipper_choices">>
<<if $STR >= 12>>
<<text "You step behind her.">>
<<if _char is "sophia">>
<<text "The zipper is jammed near the top. You steady her shoulder with one hand, grip the tab with the other, and work it free in a slow, decisive pull.">>
<<playerchat "I can fix it, but you need to take it off.">>
<<text "She steps out of the dress, leaving it in your hands. She turns to you, wearing only her bra and panties.">>
<<storyImg "assets/Locations/House/RandomEvents/UpstairsHallway/ZipperEvent/sophia_off.webp">>
<<text "She looks at you, a little embarrassed, but also a little pleased. You successfully fixed the zipper.">>
<<chat sophia "That's... thank you. I was about to give up and wear it like this.">>
<<text "Before putting the dress back on, you manage to get a glance of her naked boobs. You're not sure if she did that on purpose or not, but you don't mind.">>
<<storyImg "assets/Locations/House/RandomEvents/UpstairsHallway/ZipperEvent/sophia_reward.webp">>
<<elseif _char is "clair">>
<<text "The zipper is jammed near the top. You steady her shoulder with one hand, grip the tab with the other, and work it free in a slow, decisive pull.">>
<<playerchat "I can fix it, but you need to take it off.">>
<<chat clair "What? I don't have a bra on under this!">>
<<playerchat "Do you want the dress fixed or not?">>
<<text "She steps out of the dress, leaving it in your hands.">>
<<storyImg "assets/Locations/House/RandomEvents/UpstairsHallway/ZipperEvent/clair_off.webp">>
<<text "She looks at you, a little embarrassed, but also a little pleased. You successfully fixed the zipper.">>
<<storyImg "assets/Locations/House/RandomEvents/UpstairsHallway/ZipperEvent/clair_3.webp">>
<<chat clair "Finally. Took you long enough. You can let go of me now.">>
<<text "As you were giving the dress back to her, it fell down. Clair bent over to pick it up, giving you a good view of her ass. You don't think she noticed.">>
<<storyImg "assets/Locations/House/RandomEvents/UpstairsHallway/ZipperEvent/clair_reward.webp">>
<<else>>
<<text "The zipper is jammed near the top. You steady her shoulder with one hand, grip the tab with the other, and work it free in a slow, decisive pull.">>
<<playerchat "I can fix it, but you need to take it off.">>
<<chat nicole "What? $playerName, I can't just take it off in front of you! It's embarrassing! And... I don't have a bra on under this!">>
<<playerchat "You are going to have to take it off if you want me to fix it, Nicole.">>
<<text "She steps out of the dress, leaving it in your hands.">>
<<storyImg "assets/Locations/House/RandomEvents/UpstairsHallway/ZipperEvent/nicole_off.webp">>
<<text "She looks at you, a little embarrassed, but also a little pleased. You successfully fixed the zipper.">>
<<storyImg "assets/Locations/House/RandomEvents/UpstairsHallway/ZipperEvent/nicole_reward.webp">>
<<chat nicole "You're really good at that... thank you, $playerName.">>
<</if>>
<<text "She puts the dress back on.">>
<<addRel 2 _char>>
<<addLust 2 _char>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="UpstairsHallway">
<img src="assets/Locations/House/upstairs_hallway.webp">
<span>Continue</span>
</a>
</div>
<<else>>
<<text "You grip the tab and pull. The zipper doesn't budge. You pull harder. It snaps.">>
<<if _char is "sophia">>
<<chat sophia "You broke it. You actually broke it. Of course you did.">>
<<elseif _char is "clair">>
<<chat clair "You're useless. Completely and utterly useless.">>
<<else>>
<<chat nicole "It's... it's okay... I have another one... don't feel bad...">>
<</if>>
<<addRel -1 _char>>
<<text "Get your strength over 12.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="UpstairsHallway">
<img src="assets/Locations/House/upstairs_hallway.webp">
<span>Continue</span>
</a>
</div>
<</if>>
<</replace>>
<</button>>
<<button "Refuse">>
<<replace "#zipper_choices">>
<<playerchat "Handle it yourself. I'm not your maid.">>
<<if _char is "sophia">>
<<chat sophia "Excuse me? I asked you for one thing.">>
<<elseif _char is "clair">>
<<chat clair "Wow. Even for you, that's pathetic.">>
<<else>>
<<chat nicole "Oh... okay... I'm sorry for asking...">>
<</if>>
<<text "She turns and storms into her room. The door clicks shut behind her.">>
<<addRel -1 _char>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="UpstairsHallway">
<img src="assets/Locations/House/upstairs_hallway.webp">
<span>Continue</span>
</a>
</div>
<</replace>>
<</button>>
</div>
</div><<if $CharQuests.sophia.sophiaBreakQuest1.status is "active">>
<<if $Sophia.location is "SophiaOffice" and $CharQuests.sophia.sophiaBreakQuest1.step is 1>>
<<if $hour >= 19 or $hour <= 3>>
<<goto "SophiaBreakQuest1Start">>
<<else>>
<<goto "SophiaOfficeLocked">>
<</if>>
<<elseif $Sophia.location is "SophiaOffice" and $CharQuests.sophia.sophiaBreakQuest1.step is 3>>
<<if $hour >= 22 or $hour <= 3>>
<<goto "SophiaBreakQuest1P3">>
<<else>>
<<goto "SophiaOfficeLocked">>
<</if>>
<<else>>
<<goto "SophiaOfficeLocked">>
<</if>>
<<else>>
<<goto "SophiaOfficeLocked">>
<</if>>
<<button "Stuck?" "YourRoom">><</button>><div class="location-bg" style="background-image: url('assets/Locations/House/sophia_office.webp')"></div>
<div class="location-ui">
<<storyImg "assets/General/locked.webp">>
<<text "It's locked...">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="UpstairsHallwayDecider">
<img src="assets/Locations/House/upstairs_hallway.webp">
<span>Upstairs Hallway</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/sophia_office.webp')"></div>
<div class="location-title">🏠 Sophia's office
<<storyImg "assets/Locations/House/sophia_office.webp">>
</div>
<div class="location-ui">
<<text "Sophia's office">>
<div class="location-grid">
<a class="loc-btn" data-passage="YourRoomDecider">
<img src="assets/Locations/House/your_room.webp">
<span>Placeholder</span>
</a>
<a class="loc-btn loc-btn--wide" data-passage="UpstairsHallwayDecider">
<img src="assets/Locations/House/upstairs_hallway.webp">
<span>Upstairs Hallway</span>
</a>
</div>
</div><<if $characters.sophia.relationship < 25>>
<<goto "SophiaMassageDecline">>
<<elseif $lastSophiaMassageDay is $day>>
<<goto "SophiaMassageAlready">>
<<else>>
<<goto "SophiaShoulderMassage">>
<</if>>
<<button "Stuck?" "YourRoom">><</button>><div class="location-bg" style="background-image: url('assets/Locations/House/sophia_bedroom.webp')"></div>
<div class="location-ui">
<<playerchat "Would you like a massage, Sophia?">>
<<chat sophia "I appreciate it, dear, but one massage today is more than enough. I don't want to spoil myself too much. Maybe tomorrow.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="UpstairsHallwayDecider">
<img src="assets/Locations/House/upstairs_hallway.webp">
<span>Leave</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/sophia_bedroom.webp')"></div>
<div class="location-ui">
<<playerchat "Would you like a massage, Sophia?">>
<<text "You decide to offer Sophia a massage, but she looks at you with a troubled, defensive expression.">>
<<chat sophia "Oh... that's very kind of you, $playerName, but it wouldn't really be appropriate. I'll just manage with some heating pads.">>
<<advancetime 5>>
<<text "Get your relationship points with Sophia over 25.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="UpstairsHallwayDecider">
<img src="assets/Locations/House/upstairs_hallway.webp">
<span>Leave</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/sophia_bedroom.webp')"></div>
<div class="location-ui">
<<playerchat "Would you like a massage, Sophia?">>
<<text "You decide to offer Sophia a massage. She hesitates for a brief moment, rubbing her neck, then offers a warm smile.">>
<<chat sophia "You know... my shoulders actually have been in knots all week from those desk hours. If you don't mind helping your stepmom out, I'd really appreciate it.">>
<<storyVideo "assets/Locations/House/SophiaRoom/Massage/shoulder_massage.mp4">>
<<addRel 2 sophia>><<advancetime 60>><<set $lastSophiaMassageDay to $day>>
<<addenergy -10>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="SophiaMassageNakedDecider">
<img src="assets/General/massage.webp">
<span>Proceed</span>
</a>
<a class="loc-btn loc-btn--wide" data-passage="UpstairsHallwayDecider">
<img src="assets/Locations/House/upstairs_hallway.webp">
<span>Leave</span>
</a>
</div>
</div><<if $characters.sophia.level is 1>>
<<goto "SophiaMassageNakedDecline">>
<<else>>
<<goto "SophiaMassageNaked">>
<</if>>
<<button "Stuck?" "YourRoom">><</button>><div class="location-bg" style="background-image: url('assets/Locations/House/sophia_bedroom.webp')"></div>
<div class="location-ui">
<<playerchat "You know, Sophia, I think a massage would be even better if you were more comfortable. You should take you clothes off.">>
<<chat sophia "Take my clothes off?! $playerName... absolutely not. We are family, and there are boundaries we need to keep.">>
<<playerchat "I give really good massages, Sophia. I promise you'll feel amazing.">>
<<chat sophia "No, honey. A simple shoulder rub over my clothes is one thing, but this is crossing a line. Let's just stop here for today.">>
<<text "Sophia looks deeply flustered and uncomfortable with how intimate the request became.">>
<<addRel -3 sophia>>
<<text "Get Sophia Lust Level to 2.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="UpstairsHallwayDecider">
<img src="assets/Locations/House/upstairs_hallway.webp">
<span>Leave</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/sophia_bedroom.webp')"></div>
<div class="location-ui">
<<playerchat "You know, Sophia, I think a massage would be even better if you were more comfortable. You should take you clothes off.">>
<<chat sophia "Take my clothes off..? Oh, sweetie... I don't know if that's a good idea...">>
<<playerchat "I give really good massages, Sophia. I promise you'll feel amazing.">>
<<chat sophia "Well... I suppose it is much easier to get the tension out without fabric in the way. Just... promise me we keep this strictly therapeutic, okay?">>
<<text "Sophia slowly removes her clothes, exposing her mature, breathtaking body. She settles onto the mattress, biting her lip nervously.">>
<<storyVideo "assets/Locations/House/SophiaRoom/Massage/naked_massage1.mp4">>
<<chat sophia "Mmm... oh my goodness... you really do have strong hands, $playerName...">>
<<storyVideo "assets/Locations/House/SophiaRoom/Massage/naked_massage2.mp4">>
<<addRel 3 sophia>>
<<addLust 2 sophia>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="SophiaMassageFingeringDecider">
<img src="assets/General/massage.webp">
<span>Finger her</span>
</a>
<a class="loc-btn loc-btn--wide" data-passage="UpstairsHallwayDecider">
<img src="assets/Locations/House/upstairs_hallway.webp">
<span>Leave</span>
</a>
</div>
</div><<if $characters.sophia.level <= 2>>
<<goto "SophiaMassageFingeringDecline">>
<<else>>
<<goto "SophiaMassageFingering">>
<</if>>
<<button "Stuck?" "YourRoom">><</button>><div class="location-bg" style="background-image: url('assets/Locations/House/sophia_bedroom.webp')"></div>
<div class="location-ui">
<<text "Having your stepmother completely naked and yielding beneath your touch sends a jolt of adrenaline through you. You decide to push past the final boundary.">>
<<playerchat "There are ways to make you feel even better, Sophia...">>
<<text "You start touching her pussy.">>
<<chat sophia "What are you doing?! Heavens, $playerName, stop right now! This is completely wrong! Out, get out of my room!">>
<<storyImg "assets/Characters/Sophia/sophia_rejection.webp">>
<<addRel -5 sophia>>
<<addLust 1 sophia>>
<<text "Get Sophia Lust Level to 3.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="UpstairsHallwayDecider">
<img src="assets/Locations/House/upstairs_hallway.webp">
<span>Leave</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/sophia_bedroom.webp')"></div>
<div class="location-ui">
<<text "Having your stepmother completely naked and yielding beneath your touch sends a jolt of adrenaline through you. You decide to push past the final boundary.">>
<<playerchat "There are ways to make you feel even better, Sophia...">>
<<text "You start touching her pussy.">>
<<set _randomNum to random(1, 3)>>
<<set _path to "assets/Locations/House/SophiaRoom/Massage/fingering" + _randomNum + ".mp4">>
<<storyVideo _path>>
<<chat sophia "A-Ahhh... heavens... $playerName, we shouldn't... but it feels so incredibly good... please... don't stop...">>
<<addLust 4 sophia>>
<<addRel 4 sophia>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="UpstairsHallwayDecider">
<img src="assets/Locations/House/upstairs_hallway.webp">
<span>Leave</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/sophia_bedroom.webp')"></div>
<div class="location-ui">
<<text "As you open the door to Sophia's room, you find her curled up on her bed, fast asleep.">>
<<storyImg "assets/Locations/House/SophiaRoom/sophia_sleeping.webp">>
<<playerchat "//(Holy shit, she's naked...)//">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="UpstairsHallwayDecider">
<img src="assets/Locations/House/upstairs_hallway.webp">
<span>Leave</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/sophia_bedroom.webp')"></div>
<div class="location-ui">
<<text "You try opening Sophia's door, but it's locked. She is sleeping.">>
<<storyImg "assets/General/locked.webp">>
<<playerchat "//(Of course...)//">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="UpstairsHallwayDecider">
<img src="assets/Locations/House/upstairs_hallway.webp">
<span>Leave</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/sophia_bedroom.webp')"></div>
<div class="location-ui">
<<text "You open the door to Sophia's room. Looks like she's here.">>
<<chat sophia "What is it, $playerName?">>
<<set _path to "assets/Locations/House/SophiaRoom/sophia_lust" + $characters.sophia.level + ".webp">><<nobr>>
<<storyImg _path>>
<div class="interaction-btns">
<<button "Talk">>
<<set $selectedChar to "sophia">>
<<set $mm_returnPassage to "SophiaRoomDecider">>
<<if $lastSophiaTalkDay is $day>>
<<goto "AlreadyTalkedToSophia">>
<<else>>
<<goto "MoodMinigameStart">>
<</if>>
<</button>>
<<button "Give Gift">>
<<set $giftSophia_returnPassage to "SophiaRoomDecider">>
<<goto "GiveGiftSophiaDecider">>
<</button>>
<<button "Hug">>
<<set $hug_returnPassage to "SophiaRoomDecider">>
<<goto "SophiaHugDecider">>
<</button>>
<<button "Kiss">>
<<set $kiss_returnPassage to "SophiaRoomDecider">>
<<goto "SophiaKissDecider">>
<</button>>
<<button "Slap Ass">>
<<set $slap_returnPassage to "SophiaRoomDecider">>
<<goto "SophiaSlapDecider">>
<</button>>
<<button "Handjob">>
<<set $handjob_returnPassage to "SophiaRoomDecider">>
<<goto "SophiaHandjobDecider">>
<</button>>
<<button "Footjob">>
<<set $footjob_returnPassage to "SophiaRoomDecider">>
<<goto "SophiaFootjobDecider">>
<</button>>
<<button "Blowjob">>
<<set $blowjob_returnPassage to "SophiaRoomDecider">>
<<goto "SophiaBlowjobDecider">>
<</button>>
<<button "Sex">>
<<set $sex_returnPassage to "SophiaRoomDecider">>
<<goto "SophiaSexDecider">>
<</button>>
</div><</nobr>>
<div class="location-grid">
<a class="loc-btn" data-passage="SophiaMassageDecider">
<img src="assets/General/massage.webp">
<<energyGate 10>>
<span>Offer a Massage</span>
</a>
<a class="loc-btn loc-btn--wide" data-passage="UpstairsHallwayDecider">
<img src="assets/Locations/House/upstairs_hallway.webp">
<span>Leave</span>
</a>
</div>
</div><<if $CharQuests.sophia.sophiaExReturnsQuest.status is "active" and $CharQuests.sophia.sophiaExReturnsQuest.step is 0>>
<<if $weekDay is "Saturday" or $weekDay is "Sunday">>
<<goto "SophiaExReturnsQuestStart">>
<<else>>
<<goto "SophiaRoomSophia">>
<</if>>
<<elseif $CharQuests.sophia.sophiaBreakQuest2.status is "active" and $CharQuests.sophia.sophiaBreakQuest2.step is 1>>
<<goto "SophiaBreakQuest2Start">>
<<elseif $CharQuests.sophia.sophiaBreakQuest2.status is "active" and $CharQuests.sophia.sophiaBreakQuest2.step is 3>>
<<goto "SophiaBreakQuest2P4">>
<<elseif $hour >= 22 and $hour < 7>>
<<goto "SophiaRoomNightDecider">>
<<else>>
<<goto "SophiaRoomSophia">>
<</if>>
<<button "Stuck?" "YourRoom">><</button>><<set _randomNum to random(1, 4)>>
<<if _randomNum >= 3>>
<<goto "SophiaSleeping">>
<<else>>
<<goto "SophiaSleepingLocked">>
<</if>>
<<button "Stuck?" "YourRoom">><</button>><<if $Sophia.location is "SophiaRoom">>
<<goto "SophiaRoomSophiaDecider">>
<<else>>
<<goto "SophiaRoom">>
<</if>>
<<button "Stuck?" "YourRoom">><</button>><div class="location-bg" style="background-image: url('assets/Locations/House/sophia_bedroom.webp')"></div>
<div class="location-title">🏠 Sophia's room
<<storyImg "assets/Locations/House/sophia_bedroom.webp">>
</div>
<div class="location-ui">
<<text "It looks like Sophia isn't here...">>
<div class="location-grid">
<a class="loc-btn" data-passage="SophiaSnoopDresserDecider">
<img src="assets/Locations/House/SophiaRoom/snoop_dresser.webp">
<span>Snoop Dresser</span>
</a>
<a class="loc-btn loc-btn--wide" data-passage="UpstairsHallwayDecider">
<img src="assets/Locations/House/upstairs_hallway.webp">
<span>Upstairs Hallway</span>
</a>
</div>
</div><<if $CharQuests.sophia.sophiaEventQuest1.status is "active" and $CharQuests.sophia.sophiaEventQuest1.step is 1>>
<<goto "SophiaEventQuest1P3">>
<<else>>
<<goto "SophiaSnoopDresser">>
<</if>>
<<button "Stuck?" "YourRoom">><</button>><div class="location-bg" style="background-image: url('assets/Locations/House/sophia_bedroom.webp')"></div>
<div class="location-ui">
<<text "The coast is clear. You dive into the dresser, searching for clues to her mysterious life. You find a floral pair. Then a black pair. Then a pair with little cats on them. You realize you’ve been 'investigating' Sophia's panties">>
<<advancetime 5>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="SophiaRoomDecider">
<img src="assets/Locations/House/sophia_bedroom.webp">
<span>Abort</span>
</a>
</div>
</div><<set _randomEventRoll to random(1, 100)>>
<<if _randomEventRoll <= 15>>
<<goto "HouseEventZipper">>
<<else>>
<<goto "UpstairsHallway">>
<</if>>
<<button "Stuck?" "YourRoom">><</button>><div class="location-bg" style="background-image: url('assets/Locations/House/upstairs_hallway.webp')"></div>
<div class="location-title">🏠 Upstairs Hallway
<<storyImg "assets/Locations/House/upstairs_hallway.webp">>
</div>
<div class="location-ui">
<<text "Upstairs Hallway">>
<div class="location-grid">
<a class="loc-btn" data-passage="YourRoomDecider">
<img src="assets/Locations/House/your_room.webp">
<<charBadges "YourRoom">><<charBadges "Attic">>
<span>Your room</span>
</a>
<a class="loc-btn" data-passage="NicoleRoomDecider">
<img src="assets/Locations/House/nicole_bedroom.webp">
<<charBadges "NicoleRoom">>
<span>Nicole's room</span>
</a>
<a class="loc-btn" data-passage="ClairRoomDecider">
<img src="assets/Locations/House/clair_bedroom.webp">
<<charBadges "ClairRoom">>
<span>Clair's room</span>
</a>
<a class="loc-btn" data-passage="SophiaRoomDecider">
<img src="assets/Locations/House/sophia_bedroom.webp">
<<charBadges "SophiaRoom">>
<span>Sophia's room</span>
</a>
<a class="loc-btn" data-passage="SophiaOfficeDecider">
<img src="assets/Locations/House/sophia_office.webp">
<<charBadges "SophiaOffice">>
<span>Sophia's office</span>
</a>
<a class="loc-btn loc-btn--wide" data-passage="DownstairsHallwayDecider">
<img src="assets/Locations/House/downstairs_hallway.webp">
<span>Downstairs Hallway</span>
</a>
</div>
</div><<if $CharQuests.sophia.sophiaBreakQuest1.status is "active" and $CharQuests.sophia.sophiaBreakQuest1.step is 2>>
<<goto "SophiaBreakQuest1P2">>
<<elseif $CharQuests.clair.clairMainQuest1.status is "active" and $CharQuests.clair.clairMainQuest1.step is 2>>
<<goto "ClairMainQuest1P10">>
<<elseif $CharQuests.nicole.nicoleBreakQuest1.status is "active" and $CharQuests.nicole.nicoleBreakQuest1.step is 1>>
<<goto "NicoleBreakQuest1Start">>
<<elseif $CharQuests.lilith.lilithContractQuest.status is "active" and $CharQuests.lilith.lilithContractQuest.step is 0 and $hour < 12>>
<<goto "LilithContractQuestStart">>
<<elseif $CharQuests.lilith.lilithAmateursQuest.status is "active" and $CharQuests.lilith.lilithAmateursQuest.step is 0>>
<<if $hour >= 1 and $hour <= 3>>
<<goto "LilithAmateursQuestStart">>
<<else>>
<<if $Lilith.location is "Attic">>
<<goto "LilithAttic">>
<<else>>
<<goto "Attic">>
<</if>>
<</if>>
<<elseif $CharQuests.lilith.lilithMortalSicknessQuest.status is "active">>
<<if $CharQuests.lilith.lilithMortalSicknessQuest.step is 1>>
<<if $inventory.cold_medicine >= 1>>
<<goto "LilithMortalSicknessP3">>
<<else>>
<<goto "LilithMortalSicknessWaitingForMedicine">>
<</if>>
<<elseif $CharQuests.lilith.lilithMortalSicknessQuest.step is 2>>
<<if $lilithMortalSicknessCheckDay is $day>>
<<goto "LilithMortalSicknessAlreadyChecked">>
<<else>>
<<goto "LilithMortalSicknessDay2">>
<</if>>
<<elseif $CharQuests.lilith.lilithMortalSicknessQuest.step is 3>>
<<if $lilithMortalSicknessCheckDay is $day>>
<<goto "LilithMortalSicknessAlreadyChecked">>
<<else>>
<<goto "LilithMortalSicknessDay3">>
<</if>>
<</if>>
<<else>>
<<if $Lilith.location is "Attic">>
<<goto "LilithAttic">>
<<else>>
<<goto "Attic">>
<</if>>
<</if>>
<<button "Stuck?" "YourRoom">><</button>><div class="location-bg" style="background-image: url('assets/Locations/House/attic.webp')"></div>
<div class="location-title">🏠 Attic
<<nobr>>
<<set _randomNum to random(1, 10)>>
<<set _path to "assets/Locations/House/YourRoom/Attic/Lilith/lilith" + _randomNum + ".webp">>
<<storyImg _path>>
<</nobr>>
</div>
<div class="location-ui">
<<text "Lilith is in the Attic - naked, as usual.">>
<div class="location-grid">
<a class="loc-btn" data-passage="TalkLilithDecider">
<img src="assets/Locations/House/YourRoom/Attic/talk_to_lilith.webp">
<span>Talk</span>
</a>
<<if $CharQuests.lilith.lilithFeedQuest.status is "active">>
<a class="loc-btn" data-passage="LilithFeedQuestDecider">
<img src="assets/Quests/Lilith/FeedQuest/pfp.webp">
<span>Help Lilith</span>
</a>
<</if>>
<<if $CharQuests.clair.clairBreakQuest1.status is "active" and $CharQuests.clair.clairBreakQuest1.step is 2>>
<a class="loc-btn" data-passage="ClairBreakQuest1LilithGiveCameraDecider">
<img src="assets/Quests/Clair/BreakQuest1/photo_camera.webp">
<span>Give Camera</span>
</a>
<</if>>
<<if $CharQuests.sophia.sophiaBreakQuest2.status is "active" and $CharQuests.sophia.sophiaBreakQuest2.step is 2>>
<a class="loc-btn" data-passage="SophiaBreakQuest2P3">
<img src="assets/Quests/Sophia/BreakQuest2/lilith_talk_icon.webp">
<span>Interrogate</span>
</a>
<</if>>
<a class="loc-btn loc-btn--wide" data-passage="YourRoomDecider">
<img src="assets/Locations/House/your_room.webp">
<span>Your room</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/attic.webp')"></div>
<div class="location-title">🏠 Attic
<<storyImg "assets/Locations/House/attic.webp">>
</div>
<div class="location-ui">
<<text "Attic">>
<div class="location-grid">
<a class="loc-btn" data-passage="YourRoomDecider">
<img src="assets/Locations/House/your_room.webp">
<span>Placeholder</span>
</a>
<a class="loc-btn loc-btn--wide" data-passage="YourRoomDecider">
<img src="assets/Locations/House/your_room.webp">
<span>Your room</span>
</a>
</div>
</div><<if $CharQuests.clair.clairBreakQuest1.status is "active" and $CharQuests.clair.clairBreakQuest1.step is 1>>
<<goto "ClairBreakQuest1Start">>
<<else>>
<<if $lastLilithTalkDay is $day>>
<<goto "AlreadyTalkedToLilith">>
<<else>>
<<goto "TalkWithLilith">>
<</if>>
<</if>>
<<button "Stuck?" "YourRoom">><</button>><div class="location-ui">
<<chat lilith "We already talked today. Go do something useful and come back tomorrow.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="LilithAttic">
<img src="assets/General/blank.webp">
<span>Return</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/attic.webp')"></div>
<div class="location-ui">
<<nobr>>
<<set _randomNum to random(1, 10)>>
<<set _path to "assets/Locations/House/YourRoom/Attic/Lilith/lilith" + _randomNum + ".webp">>
<<storyImg _path>>
<</nobr>>
<<advancetime 60>>
<<text "You sit down across from Lilith. She's naked, sprawled across her cushions, watching you with lazy interest.">>
<<chat lilith "Well? You came all the way up here. Say something.">>
<div class="choice-buttons" id="lilith_talk">
<<button "Talk about her past">>
<<replace "#lilith_talk">><<include "LilithTalkPast">><</replace>>
<</button>>
<<button "Talk about her powers">>
<<replace "#lilith_talk">><<include "LilithTalkPowers">><</replace>>
<</button>>
<<button "Talk about the contract">>
<<replace "#lilith_talk">><<include "LilithTalkContract">><</replace>>
<</button>>
<<button "Talk about the other girls">>
<<replace "#lilith_talk">><<include "LilithTalkGirls">><</replace>>
<</button>>
<<button "Talk about what she wants from you">>
<<replace "#lilith_talk">><<include "LilithTalkWants">><</replace>>
<</button>>
<<button "Talk about the mortal realm">>
<<replace "#lilith_talk">><<include "LilithTalkRealm">><</replace>>
<</button>>
<<button "Talk about her body">>
<<replace "#lilith_talk">><<include "LilithTalkBody">><</replace>>
<</button>>
<<button "Ask her something personal">>
<<replace "#lilith_talk">><<include "LilithTalkPersonal">><</replace>>
<</button>>
<<button "Talk about yourself">>
<<replace "#lilith_talk">><<include "LilithTalkSelf">><</replace>>
<</button>>
<<button "Just sit with her in silence">>
<<replace "#lilith_talk">><<include "LilithTalkSilence">><</replace>>
<</button>>
</div>
</div><div class="location-ui">
<<playerchat "Tell me about where you come from. Before here.">>
<<text "Lilith's smile fades. She rolls onto her back, staring at the rafters.">>
<<chat lilith "Before here. That's a long story. And most of it isn't pretty.">>
<<text "She's quiet for a moment. Then she speaks.">>
<<storyImg "assets/Locations/House/YourRoom/Attic/Lilith/lilith_laying.webp">>
<<chat lilith "I was born in the deep places. Not hell — that's a mortal word for something you can't understand. I was made there. Forged, really. The same way a blade is forged. I had a purpose once. I served a court you've never heard of, in a palace that doesn't exist in any dimension you could point to on a map.">>
<<playerchat "What happened?">>
<<chat lilith "I got ambitious. I wanted more than my station. And the ones above me didn't appreciate that.">>
<<text "She turns her head to look at you, and there's something raw in her expression.">>
<<chat lilith "I had to run... And I ran. I landed here. This realm is my hiding spot. And I've been sitting in it, getting weaker, for longer than you've been alive.">>
<<addRel 3 lilith>>
<<addLust 1 lilith>>
<<include "LilithTalkEnd">>
</div><div class="location-ui">
<<playerchat "What can you actually do? Besides looking good and being dramatic.">>
<<text "Lilith snorts.">>
<<chat lilith "Dramatic. That's cute. I could have your spine bent backwards before you finished blinking. At full strength.">>
<<playerchat "And now?">>
<<chat lilith "Now I'm a shell. A whisper of what I was. But I'm not useless.">>
<<text "She lifts a hand. Purple light flickers between her fingers, weak and unstable.">>
<<storyImg "assets/Locations/House/YourRoom/Attic/Lilith/lilith_flame.webp">>
<<chat lilith "I can read minds — surface thoughts only, and only if I'm touching the person. I can plant suggestions. I can make a woman wet with a word, or make a man forget his own name. I can smell desire from across a room. I can sense when someone's lying.">>
<<playerchat "Can you fight?">>
<<chat lilith "Not the way I used to. But I can move faster than you'd expect. I can hide in shadows. I can make myself look like someone else for a few minutes at a time.">>
<<text "She drops her hand, tired from the small display.">>
<<chat lilith "And I can feed. On lust. On blood. On fear. Fear's the strongest, but it doesn't last. Lust is easier, slower, sweeter. That's why I need you and your little harem.">>
<<addRel 2 lilith>>
<<addLust 1 lilith>>
<<include "LilithTalkEnd">>
</div><div class="location-ui">
<<playerchat "What exactly does the contract mean? What do I get? What do I give up?">>
<<text "Lilith sits up straighter, crossing her legs. Business posture.">>
<<storyImg "assets/Locations/House/YourRoom/Attic/Lilith/lilith_business.webp">>
<<chat lilith "You give me blood. You give me part of your soul. A small piece — enough to bind us — not enough to change you. You don't lose your memories. You don't lose your personality. You lose a bit of your mortality. You'll age slower. Heal faster. Feel more.">>
<<playerchat "And you?">>
<<chat lilith "I get a permanent anchor. A foothold in this realm that nobody can take away. I get a partner. Someone to feed me. Someone to grow with. And in return, I feed you power. I mark the women you want. I break them open for you.">>
<<playerchat "What's the catch?">>
<<chat lilith "The catch is that you belong to me. Not as a slave. Not as property. But when I call, you come. When I need, you provide. And if you ever betray me...">>
<<text "Her eyes flash purple.">>
<<storyImg "assets/Locations/House/YourRoom/Attic/Lilith/lilith_purple_eyes.webp">>
<<chat lilith "The mark I put on your chest will burn you alive from the inside. Slow. I don't do second chances.">>
<<addRel 2 lilith>>
<<addLust 2 lilith>>
<<include "LilithTalkEnd">>
</div><div class="location-ui">
<<playerchat "What do you actually think of them? Sophia, Clair, Nicole.">>
<<text "Lilith grins — a real one this time.">>
<<chat lilith "Sophia is a fortress. All walls and moats and professional distance. But those are the best ones to break. When a woman like that cracks, she cracks hard. She'll do things for you she'd never admit to anyone.">>
<<storyImg "assets/Locations/House/YourRoom/Attic/Lilith/lilith_1.webp">>
<<chat lilith "Clair is a child wearing a crown. All bark. The second someone actually takes the throne from her, she'll melt. That one wants to be owned and she doesn't even know it yet.">>
<<chat lilith "And Nicole...">>
<<text "She pauses. There's something almost fond in her voice.">>
<<chat lilith "Nicole is a lamb pretending to be a wolf pretending to be a lamb. She's shy, but she's not innocent. She knows what she wants and she's terrified of it. She'll break the easiest. But she'll also be the most loyal once she does.">>
<<playerchat "You sound like you're fond of her.">>
<<chat lilith "I'm fond of anyone I can shape. She's clay. And I like clay.">>
<<addRel 2 lilith>>
<<addLust 2 lilith>>
<<include "LilithTalkEnd">>
</div><div class="location-ui">
<<playerchat "Why me? Why'd you pick me out of everyone on the street that night?">>
<<text "Lilith tilts her head, considering the question carefully.">>
<<chat lilith "You were the only one to hear me that day. Also, you looked at me like im a human. You looked at me like I was a woman standing on a street corner and you were worried about me.">>
<<playerchat "That's it?">>
<<storyImg "assets/Locations/House/YourRoom/Attic/Lilith/lilith_stomach.webp">>
<<chat lilith "That's everything. Do you know how rare that is? I've been alive for ten thousand years, some sum of it here on earth. You're the first person who looked at me like I was human.">>
<<text "She looks away, almost embarrassed.">>
<<chat lilith "I don't need love. I don't need affection. But I do need someone who doesn't flinch when I show them what I am. Someone who looks at the monster and stays anyway.">>
<<playerchat "And that's me?">>
<<chat lilith "That's you. So far.">>
<<text "She glances back at you, smirk returning.">>
<<chat lilith "Don't make me regret it.">>
<<addRel 4 lilith>>
<<addLust 2 lilith>>
<<include "LilithTalkEnd">>
</div><div class="location-ui">
<<playerchat "What do you think of this world? This city, this house, this life?">>
<<text "Lilith stretches, considering.">>
<<chat lilith "It's small. Loud. Smelly. There are too many people and everything is designed to make you tired. There is also something seriously twisted about it, but I can't figure out what.">>
<<storyImg "assets/Locations/House/YourRoom/Attic/Lilith/lilith_2.webp">>
<<playerchat "So you hate it?">>
<<chat lilith "I didn't say that.">>
<<text "She reaches out and picks up a scrap of fabric from her cushion, playing with it.">>
<<chat lilith "The water is clean here. The food is fresh. The beds are soft. Nobody has tried to kill me today. That's a first in ten thousand years.">>
<<chat lilith "And the mortals... you're interesting. You feel everything so deeply. Every small joy. Every stupid heartbreak. You care about things that won't matter in a hundred years. It's adorable.">>
<<playerchat "Adorable?">>
<<chat lilith "In the way a puppy chasing its own tail is adorable. Endearing. Pointless. And somehow the most entertaining thing in the room.">>
<<addRel 2 lilith>>
<<addLust 1 lilith>>
<<include "LilithTalkEnd">>
</div><div class="location-ui">
<<playerchat "Does it bother you? Being naked all the time?">>
<<text "Lilith laughs.">>
<<chat lilith "Bother me? Darling, I was born without clothes. Clothes are a mortal invention. Shame is a mortal invention. I've spent thousands of years being worshipped, desired, feared, and envied — and never once was I told to cover up.">>
<<playerchat "So you like it.">>
<<chat lilith "I love it. I love the way your eyes keep drifting down. I love the way you can't help yourself. I love knowing that every time you look at me, your cock twitches.">>
<<text "She spreads her legs slightly, just enough for you to notice.">>
<<storyImg "assets/Locations/House/YourRoom/Attic/Lilith/lilith_pussy.webp">>
<<chat lilith "The body is a weapon. A tool. A gift. I use mine to remind you who you're dealing with. And to remind you what you're working for.">>
<<addLust 4 lilith>>
<<addRel 1 lilith>>
<<include "LilithTalkEnd">>
</div><div class="location-ui">
<<playerchat "Can I ask you something personal?">>
<<text "Lilith raises an eyebrow.">>
<<chat lilith "You can ask. I might not answer.">>
<<playerchat "Have you ever been in love?">>
<<text "The question hangs in the air. Lilith is silent for a long moment.">>
<<chat lilith "Once. A long time ago. Before the cage. Before the void.">>
<<playerchat "What happened to him?">>
<<chat lilith "He... changed. Or I did? I don't know.">>
<<text "She turns her head away.">>
<<chat lilith "I never loved anyone again. I decided it wasn't worth the ache. And I've kept that promise to myself for ten thousand years.">>
<<playerchat "Why tell me?">>
<<chat lilith "Because you asked. And because I'm starting to think you're the kind of person who would actually care.">>
<<addRel 5 lilith>>
<<addLust 1 lilith>>
<<include "LilithTalkEnd">>
</div><div class="location-ui">
<<playerchat "Can I tell you something about me?">>
<<chat lilith "I'm listening.">>
<<text "You take a breath.">>
<<playerchat "I've spent most of my life feeling invisible. Like I was a background character in everyone else's story. My family, my stepfamily, everyone at school. Nobody looked at me twice.">>
<<playerchat "And then you showed up. And you looked at me like I mattered. Like I was the only person on that street. I've never felt that before.">>
<<text "Lilith studies you for a long moment. Then she reaches out and touches your knee. Her hand is cool.">>
<<chat lilith "You're not invisible anymore. Not to me. Not to them.">>
<<storyImg "assets/Locations/House/YourRoom/Attic/Lilith/lilith_bent.webp">>
<<playerchat "What if I mess this up?">>
<<chat lilith "Then you mess it up. You're mortal. That's what you do.">>
<<addRel 5 lilith>>
<<addLust 2 lilith>>
<<include "LilithTalkEnd">>
</div><div class="location-ui">
<<text "You don't say anything. You just sit down across from her, close enough that your knees almost touch.">>
<<text "Lilith watches you for a moment. Then she relaxes, settling back onto her cushions.">>
<<chat lilith "...Not much of a talker today, are you?">>
<<text "You shake your head.">>
<<chat lilith "Fine. I can work with that.">>
<<text "The two of you sit there, saying nothing, for a long time. She closes her eyes. Her breathing slows. She almost looks peaceful.">>
<<text "After a while, she reaches out and rests her hand on your knee. She doesn't open her eyes.">>
<<chat lilith "You can stay a little longer.">>
<<addRel 3 lilith>>
<<addLust 1 lilith>>
<<include "LilithTalkEnd">>
</div><<set $lastLilithTalkDay to $day>>
<<advancetime 60>>
<div class="location-ui">
<<text "The conversation lulls. Lilith stretches, yawns, and curls back into her cushions.">>
<<chat lilith "That's enough talking for today. Come back tomorrow if you want more.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="YourRoomDecider">
<img src="assets/Locations/House/your_room.webp">
<span>Go back to your room</span>
</a>
</div>
</div><<goto "Computer">>
<<button "Stuck?" "YourRoom">><</button>><div class="location-bg" style="background-image: url('assets/Locations/House/YourRoom/computer.webp')"></div>
<div class="location-title">💻 Computer
<<storyImg "assets/Locations/House/YourRoom/computer.webp">>
</div>
<div class="location-ui">
<<text "Computer">>
<div class="location-grid">
<a class="loc-btn" data-passage="WatchPornDecider">
<img src="assets/Locations/House/YourRoom/Computer/porn.webp">
<span>Watch Porn</span>
</a>
<a class="loc-btn" data-passage="PlayVideogamesDecider">
<img src="assets/Locations/House/YourRoom/Computer/videogames.webp">
<span>Play videogames</span>
</a>
<a class="loc-btn loc-btn--wide" data-passage="YourRoomDecider">
<img src="assets/Locations/House/your_room.webp">
<span>Your room</span>
</a>
</div>
</div><<if $lastVideogameDay is $day>>
<<goto "AlreadyPlayVideogames">>
<<else>>
<<if $CharQuests.lilith.lilithMortalSicknessQuest.status is "active" and $CharQuests.lilith.lilithMortalSicknessQuest.step is 0>>
<<set _randomNum to random (1, 100)>>
<<if _randomNum <= 16>>
<<goto "LilithMortalSicknessQuestIntro">>
<<else>>
<<goto "PlayVideogames">>
<</if>>
<<else>>
<<goto "PlayVideogames">>
<</if>>
<</if>>
<<button "Stuck?" "YourRoom">><</button>><div class="location-bg" style="background-image: url('assets/Locations/House/YourRoom/computer.webp')"></div>
<div class="location-ui">
<<text "Leveling up your character because leveling up yourself in real life requires moving your legs. Efficient.">>
<<storyVideo "assets/Locations/House/YourRoom/Computer/videogames.mp4">>
<<nobr>><<addenergy 5>><<set $lastVideogameDay to $day>><<advancetime 60>><</nobr>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="ComputerDecider">
<img src="assets/Locations/House/YourRoom/computer.webp">
<span>Your room</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/YourRoom/computer.webp')"></div>
<div class="location-ui">
<<text "Achievement Unlocked: Touch Grass. (Requirement: Turn off the console immediately.)">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="ComputerDecider">
<img src="assets/Locations/House/YourRoom/computer.webp">
<span>Computer</span>
</a>
</div>
</div><<if $CharQuests.clair.clairMainQuest1.status is "active" and $CharQuests.clair.clairMainQuest1.step is 0>>
<<goto "ClairMainQuest1Start">>
<<else>>
<<if $lastWatchPornDay is $day>>
<<goto "WatchedPornAlready">>
<<else>>
<<goto "WatchPorn">>
<</if>>
<</if>>
<<button "Stuck?" "YourRoom">><</button>><div class="location-bg" style="background-image: url('assets/Locations/House/YourRoom/computer.webp')"></div>
<div class="location-ui">
<<text "You've decided to blow off some steam and watch some porn.">>
<<set _randomNum to random(1, 20)>>
<<set _videoPath to "assets/Locations/House/YourRoom/Computer/RandomPorn/RandomPorn" + _randomNum + ".mp4">>
<<storyVideo _videoPath>>
<<set $lastWatchPornDay to $day>>
<<advancetime 60>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="ComputerDecider">
<img src="assets/Locations/House/YourRoom/computer.webp">
<span>Computer</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/YourRoom/computer.webp')"></div>
<div class="location-ui">
<<text "You already watched porn today. Go find some pussy in real life.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="ComputerDecider">
<img src="assets/Locations/House/YourRoom/computer.webp">
<span>Back</span>
</a>
</div>
</div><<if $lastWorkoutDay is $day>>
<<goto "AlreadyHomeWorkout">>
<<else>>
<<goto "HomeWorkout">>
<</if>>
<<button "Stuck?" "YourRoom">><</button>><div class="location-bg" style="background-image: url('assets/Locations/House/your_room.webp')"></div>
<div class="location-ui">
<<text "You remind yourself that 'diamonds are made under pressure.' Unfortunately, you currently feel less like a diamond and more like a tube of toothpaste being stepped on by a giant.">>
<<storyVideo "assets/Locations/House/YourRoom/HomeWorkout/home_workout.mp4">>
<<if $STR <= 30>>
<<addSTR 1>>
<<else>>
<<text "You hit a good workout, but it's getting too easy for you. Consider going to the gym to continue your fitness journey.">>
<</if>>
<<nobr>><<addenergy -25>><<set $lastWorkoutDay to $day>><<advancetime 60>><</nobr>>
<<text "You check the mirror. No six-pack yet. The system is rigged.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="YourRoomDecider">
<img src="assets/Locations/House/your_room.webp">
<span>Your room</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/your_room.webp')"></div>
<div class="location-ui">
<<text "You get back into position, visualizing the adoring crowds. Unfortunately, your triceps feel like two overcooked noodles trying to hold up a bowling ball. You’re not working out; you’re just vibrating aggressively against the floor.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="YourRoomDecider">
<img src="assets/Locations/House/your_room.webp">
<span>Your room</span>
</a>
</div>
</div><<if $lastReadDay is $day>>
<<goto "AlreadyReadABook">>
<<else>>
<<if $CharQuests.lilith.lilithMortalSicknessQuest.status is "active" and $CharQuests.lilith.lilithMortalSicknessQuest.step is 0>>
<<set _randomNum to random (1, 100)>>
<<if _randomNum <= 16>>
<<goto "LilithMortalSicknessQuestIntro">>
<<else>>
<<goto "ReadABook">>
<</if>>
<<else>>
<<goto "ReadABook">>
<</if>>
<</if>>
<<button "Stuck?" "YourRoom">><</button>><div class="location-bg" style="background-image: url('assets/Locations/House/your_room.webp')"></div>
<div class="location-ui">
<<text "You’re reading for 'depth.' You aren’t sure what the book is actually about, but the cover looks smart, and that’s a crucial part of the mission. You’re one step closer to being the total package.">>
<<storyVideo "assets/Locations/House/YourRoom/ReadABook/read.mp4">>
<<nobr>><<addenergy -10>><<set $lastReadDay to $day>><<addINT 1>><<advancetime 60>><</nobr>>
<<text "You’ve completed a chapter. You feel your IQ rising, though it’s struggling to keep up with your ego.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="YourRoomDecider">
<img src="assets/Locations/House/your_room.webp">
<span>Your room</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/your_room.webp')"></div>
<div class="location-ui">
<<text "One book per day is your limit. You don't want to get 'too' smart. You still need to be able to relate to common mortals.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="YourRoomDecider">
<img src="assets/Locations/House/your_room.webp">
<span>Your room</span>
</a>
</div>
</div><<set _randomNum to random(1, 10)>>
<<if _randomNum < 4>>
<<goto "SleepNoDream">>
<<else>>
<<goto "Sleep">>
<</if>>
<<button "Stuck?" "YourRoom">><</button>><div class="location-bg" style="background-image: url('assets/Locations/House/YourRoom/sleep.webp')"></div>
<div class="location-ui">
<<text "Your brain just gave you a preview of the life you're working for. It was glorious. It was steamy.">>
<<nobr>>
<<set $day += 1>>
<<set $time to 420>>
<<set $energy to $maxEnergy>>
<<set _randomNum to random(1, 15)>>
<<set _videoPath to "assets/Locations/House/YourRoom/Dream/RandomDream" + _randomNum + ".mp4">>
<</nobr>>
<<storyVideo _videoPath>>
<<text "It was... interrupted by your alarm clock. Cruel.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="YourRoomDecider">
<img src="assets/Locations/House/your_room.webp">
<span>Your room</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/YourRoom/sleep.webp')"></div>
<div class="location-ui">
<<text "Your brain skipped the cutscenes and went straight back to the gameplay. Time to wake up.">>
<<set $day += 1>>
<<set $time to 420>>
<<set $energy to $maxEnergy>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="YourRoomDecider">
<img src="assets/Locations/House/your_room.webp">
<span>Your room</span>
</a>
</div>
</div><<if $lastNapDay is $day>>
<<goto "AlreadyTakeANap">>
<<else>>
<<goto "TakeANap">>
<</if>>
<<button "Stuck?" "YourRoom">><</button>><div class="location-bg" style="background-image: url('assets/Locations/House/your_room.webp')"></div>
<div class="location-ui">
<<text "Rest is for the wicked, but naps are for the shredded. You drift off, confident that when you wake up, your metabolism will have done all the hard work for you. That’s how biology works, right?">>
<<storyVideo "assets/Locations/House/YourRoom/TakeANap/nap.mp4">>
<<nobr>><<addenergy 20>><<set $lastNapDay to $day>><<advancetime 75>><</nobr>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="YourRoomDecider">
<img src="assets/Locations/House/your_room.webp">
<span>Your room</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/your_room.webp')"></div>
<div class="location-ui">
<<text "If you sleep again, you’ll wake up in a different century. Stay in the game.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="YourRoomDecider">
<img src="assets/Locations/House/your_room.webp">
<span>Your room</span>
</a>
</div>
</div><<if $CharQuests.sophia.sophiaMainQuest1.status is "active">>
<<goto "SophiaMainQuest1Start">>
<<elseif $CharQuests.nicole.nicoleMainQuest1.status is "active" and $hour >= 23>>
<<goto "NicoleMainQuest1Start">>
<<elseif $CharQuests.sophia.sophiaAtticSearchQuest.status is "active" and $hour >= 18>>
<<goto "SophiaAtticSearchStart">>
<<else>>
<<goto "YourRoom">>
<</if>>
<<button "Stuck?" "YourRoom">><</button>><div class="location-bg" style="background-image: url('assets/Locations/House/your_room.webp')"></div>
<div class="location-title">🏠 Your Room
<<storyImg "assets/Locations/House/your_room.webp">>
</div>
<div class="location-ui">
<<text "Your room">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="AtticDecider">
<<charBadges "Attic">>
<img src="assets/Locations/House/attic.webp">
<span>Attic</span>
</a>
<a class="loc-btn" data-passage="ComputerDecider">
<img src="assets/Locations/House/YourRoom/computer.webp">
<span>Computer</span>
</a>
<a class="loc-btn" data-passage="TakeANapDecider">
<img src="assets/Locations/House/YourRoom/nap.webp">
<span>Take a nap</span>
</a>
<a class="loc-btn" data-passage="HomeWorkoutDecider">
<<energyGate 25>>
<img src="assets/Locations/House/YourRoom/workout.webp">
<span>Workout</span>
</a>
<a class="loc-btn" data-passage="ReadABookDecider">
<<energyGate 10>>
<img src="assets/Locations/House/YourRoom/read.webp">
<span>Read a book</span>
</a>
<<if $timeOfDay is "Evening" or $timeOfDay is "Night" or $timeOfDay is "Late Night" or $timeOfDay is "Early Morning">>
<a class="loc-btn loc-btn--wide" data-passage="SleepDecider">
<img src="assets/Locations/House/YourRoom/sleep.webp">
<span>Sleep</span>
</a>
<</if>>
<a class="loc-btn loc-btn--wide" data-passage="UpstairsHallwayDecider">
<img src="assets/Locations/House/upstairs_hallway.webp">
<span>Upstairs Hallway</span>
</a>
</div>
</div><<run UIBar.hide()>>
<div class="location-bg" style="background-image: url('assets/Intro/alleyway.webp')"></div>
<div class="location-ui">
<<text "You leave the house around 7:40 PM. The GPS says the Morales estate is only a thirty minutes walk. You take a shortcut through the old industrial district to save time.">>
<<text "Fifteen minutes later everything changes.">>
<<text "The streetlights vanish completely. Thick fog rolls in. The road narrows into cracked asphalt lined with abandoned warehouses. Your phone signal drops to nothing. The GPS freezes.">>
<<text "You keep walking, but nothing looks familiar. The buildings are dark shells. Barely any lights. An uneasy feeling settles in your stomach.">>
<<text "The air is cold and damp. Your footsteps echo loudly. That’s when you hear it. A female voice.">>
<<chat lilith "Hey there. Can you hear me? Hello?">>
<<text "You follow the voice to a dimly lit alleyway. There, you find a young woman huddled against the wall. Naked.">>
<<storyImg "assets/Intro/lilith_begging1.webp">>
<<text "Curves on her body make you get a boner instantly">>
<<chat lilith "I didn't expect you could actually hear me...">>
<<chat lilith "Hey there, handsome.">>
<<storyImg "assets/Intro/lilith_begging2.webp">>
<<text "You blinked, surprised, glancing around to make sure a woman that hot was actually talking to you.">>
<<playerchat "J- Just heading home. Are you talking to me? Why are you naked?">>
<<text "You replied cautiously, sizing her up from head, to boobs, to ass, to toes. There was something unusual about her.">>
<<chat lilith "Sorry about that. I completely forgot I was naked.">>
<<text "Right as she was saying that, you blinked. Next thing you know... She had clothes on!?">>
<<storyImg "assets/Intro/lilith_clothed1.webp">>
<<text "You stared in disbelief, your mind struggling to process what you were seeing.">>
<<playerchat "How did you-?">>
<<chat lilith "That wasn't a good idea... now I'm even more exhausted...">>
<<text "The woman pauses, taking a moment to catch a breath like just came back from a marathon.">>
<<chat lilith "Anyways, more importantly - Where are you off to in such a hurry?">>
<<playerchat "I was just heading to this party but got lost. Honestly I have no idea where I am...">>
<<chat lilith "Mind if I walk with you? Not exactly the best area to be wandering alone, you know.">>
<<text "You shrugged, uneasy but intrigued.">>
<<playerchat "Sure, I guess.">>
<<storyVideo "assets/Intro/lilith_walking.mp4">>
<<text "As you walked, she was always a little infront of you. Your eyes never left her revealing bouncing ass that made your cock feel hard like never before. Finally, she spoke, her tone casual but edged with something darker.">>
<<chat lilith "What would you say if I told you I wasn’t from around here?">>
<<text "You chuckled, unsure if she was joking. You know something is off by the stunt she pulled with clothes earlier.">>
<<playerchat "Yeah? Where are you from, then?">>
<<chat lilith "Oh, a place a little more… exciting than this. But I’m stuck here for now. Weak. Drained... had a bit of a run-in with people who didn’t appreciate my talents.">>
<<playerchat "Talents? You mean getting dressed out of nowhere?">>
<<chat lilith "Talents. Abilities. Powers, if you like. Used to be stronger, used to be feared. Now… I’m just another person walking the streets alone. But, it won’t be like that for long, if I have anything to do with it.">>
<<text "You couldn’t tell if she was serious or just strange, but her words tugged at something inside you, a curiosity you couldn’t ignore.">>
<<playerchat "So, what happened?">>
<<chat lilith "I was… inconvenienced. Some people didn’t like the way I did things, so they took my strength. Now, I’m stuck here, powerless and homeless... but you could help me, you know.">>
<<playerchat "Help you? Me? How?">>
<<chat lilith "Well, I’d need a place to stay for a while, somewhere out of sight.">>
<<text "She started touching and reveling her boobs. You couldn’t help but stare, your mind racing with a mix of arousal and confusion.">>
<<storyImg "assets/Intro/lilith_teasing_boobs.webp">>
<<chat lilith "If you let me stay with you, somewhere hidden, I could give you something… in return. Maybe a little of my strength. It’s not much right now, but it’s more than what you have. For now, anyway.">>
<<text "As your cock twitched harder, words barely escaped your mouth.">>
<<playerchat "A-a-and what would that b-be?">>
<<text "Immediately after those word left your mouth, the woman came so close to you her boobs were touching your torso.">>
<<storyVideo "assets/Intro/lilith_touching_cock.mp4">>
<<chat lilith "Oh baby, you maybe get a bit lucky with me, maybe you get stronger. Things could start... falling into place for you. What’s there to lose?">>
<<text "You considered it, glancing back in the direction of your house. It wasn’t like you had much going for yourself, and this strange woman seemed more interesting than anything else in your life lately. You knew you had an attic you could hide her in, but you also knew that your stepsisters and Sophia cannot know about her. Thankfully, noone visited the attic in years, and its entrance is in your room.">>
<<playerchat "Alright. I have an attic. Nobody really goes up there.">>
<<text "Her face lit up, her grin wider than you expected as she leaned in for a kiss.">>
<<storyVideo "assets/Intro/lilith_kissing.mp4">>
<<chat lilith "Perfect. Lead the way then.">>
<<text "As you walked to your house, you could feel her presence beside you, almost humming with energy, even if it was faint. It was both exciting and unnerving. It made your cock hard. You had no idea what you are getting yourself into, but as she followed you up the staris to the attic.">>
<<chat lilith "Tomorrow...">>
<<text "She said softly, a cryptic smile on her lips.">>
<<chat lilith "You’ll feel it. A hint of what’s to come. Just a taste.">>
<<text "As you left the attic, closing the door quietly, you felt a surge of something new—a blend of fear, excitement, and the faintest touch of power.">>
<<text "As you closed the basement door softly, you realized she hadn’t even told you her name.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="IntroAttic">
<img src="assets/Locations/House/attic.webp">
<span>Go back to the attic</span>
</a>
</div>
</div><<run UIBar.hide()>>
<div class="location-bg" style="background-image: url('assets/Locations/House/attic.webp')"></div>
<div class="location-ui">
<<text "As you get back to the door, you fully open them without thinking.">>
<<storyImg "assets/Intro/lilith_attic1.webp">>
<<playerchat "WOAH I'M SORRY I DIDN'T KNOW-">>
<<text "You panicked while quickly covering your eyes with you hands.">>
<<chat lilith "Couldn’t stay away, could you? There's no need to be sorry darling I've seen the way you were looking at me. I knew you'll be back.">>
<<text "You opened your eyes just to see that she took her bra off.">>
<<storyImg "assets/Intro/lilith_attic2.webp">>
<<playerchat "Well thats a nice view... Are you planning on getting magically dressed again or?">>
<<text "As you finished that question, she started taking her panties off.">>
<<storyImg "assets/Intro/lilith_attic3.webp">>
<<chat lilith "I know I'm hot baby but do you have any questions, or are you just here to stare? I'm fine with both.">>
<<playerchat "Yeah, actually...">>
<<text "You replied, putting your hand on your cock and slightly starting to stroke it.">>
<<playerchat "For one, what’s your name?">>
<<chat lilith "Ah, right. Names are such a bore, but I suppose you want something to call me while moaning.">>
<<text "Your imagination started working a 100 miles per hour. All the poses you would put her in. Your cock burried deep inside her throat. You cannot help yourself, your cock is hard as a rock.">>
<<chat lilith "Call me Lilith, Lilith Voss. Is it just me or is it so hot in here?">>
<<storyImg "assets/Intro/lilith_attic4.webp">>
<<text "Lilith pulled her panties down even more.">>
<<playerchat "So, Lilith where exactly are you from?">>
<<chat lilith "Far from here. Let’s just say I’ve seen places you couldn’t even imagine. Cities built into cliffs, markets where you could buy bottled dreams… and people, like you, who could only dream of the power they’ll never have. I used to be… quite something.">>
<<playerchat "You mentioned powers, but what kind?">>
<<chat lilith "Little things. Enough to get what I wanted. Let’s just say people used to do what I asked, willingly or… otherwise.">>
<<storyImg "assets/Intro/lilith_attic5.webp">>
<<chat lilith "But I got sloppy, trusting the wrong people. The next thing I knew, I was trapped, weakened, and then… here.">>
<<text "You are trying to listen to her, but her pussy was now in full view. You can't stop looking at it. Somehow, words come out of your mouth.">>
<<playerchat "You said you were weakened. What happened?">>
<<chat lilith "Some of us are born with powers; some take them. I was in the second group. It requires a certain… ruthlessness. I was gathering power, bit by bit. But others took notice, people who didn’t appreciate competition. They cursed me, siphoned off my strength, and bound me to this miserable place until I’m strong enough to break free.">>
<<playerchat "Sounds like you didn’t exactly make a lot of friends.">>
<<chat lilith "Oh, trust me, I’ve made all sorts of friends—and enemies. Tell me, why’d you agree to this? You don’t seem the type to jump at danger.">>
<<playerchat "Guess I’m tired of feeling powerless. Felt like maybe… you could help with that.">>
<<chat lilith "I can help you with alot of things.">>
<<text "She says, while spreading her legs. You think you know what she means and your hard cock twitches once again.">>
<<chat lilith "Let’s get one thing straight—you’re helping me. That doesn’t mean I’m here to play house. I don’t do... roommates.">>
<<playerchat "Don’t worry. No one ever comes up here. You’ll be fine.">>
<<chat lilith "Good. But if you do get… curious, you can come back and talk. I don’t mind a little company.">>
<<text "Lilith notices the buldge in your pants and comes closer. She pushes you down to the sitting position and gets on her knees.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="IntroSexScene">
<img src="assets/Intro/lilith_handjob1_icon.webp">
<span>Handjob</span>
</a>
</div>
</div><<run UIBar.hide()>>
<<text "As you went to sleep that night, you started dreaming a familiar person.">>
<<storyImg "assets/Intro/lilith_dream1.webp">>
<<playerchat "(//Woah who is that? And why is she naked? But damn she's hot...//)">>
<<chat lilith "What is it silly, already forgot me? It's me, Lilith.">>
<<playerchat "Did you posses me? Why are you now also in my dreams?">>
<<storyImg "assets/Intro/lilith_dream2.webp">>
<<chat lilith "Yeah you could call it a dream. Not quite but close enough.">>
<<playerchat "What is it if it's not a dream?!">>
<<chat lilith "You wouldn't understand, and it's not important. I came into your so called 'dream' to discuss the taste of power I promised. I'm a woman of my words. You helped me, I'll help you. If you continue helping me, I'll continue helping you. That was the deal.">>
<<playerchat "Well you didn't even tell me what your exact powers are. How am I supposed to know what what that 'taste of power' is?">>
<<storyImg "assets/Intro/lilith_dream3.webp">>
<<chat lilith "Like I told you, I'm weak right now so I can't give much. You'll feel a light hypnosis right away. This is also what I have to offer:">>
<div class="choice-buttons" id="lilith-options">
<<button "Get stronger: +6 Strength, +3 Charisma, +1 Stealth">>
<<replace "#lilith-options">>
<<nobr>><<addSTR 6>><<addCHA 3>><<addSTH 1>><</nobr>>
<<include "IntroEnd">>
<</replace>>
<</button>>
<<button "Get smarter: +7 Intelligence, +3 Charisma">>
<<replace "#lilith-options">>
<<nobr>><<addINT 7>><<addCHA 3>><</nobr>>
<<include "IntroEnd">>
<</replace>>
<</button>>
<<button "Get stealthy: +6 Stealth, +3 Intelligence, +1 Strength">>
<<replace "#lilith-options">>
<<nobr>><<addSTH 6>><<addINT 3>><<addSTR 1>><</nobr>>
<<include "IntroEnd">>
<</replace>>
<</button>>
<<button "Get rich: +600 $">>
<<replace "#lilith-options">>
<<addmoney 600>>
<<include "IntroEnd">>
<</replace>>
<</button>>
</div><<run UIBar.hide()>>
<<chat lilith "I can offer so much more. You just need to keep feeding me...">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="BeginDecider">
<img src="assets/Locations/House/your_room.webp">
<span>Wake up</span>
</a>
</div><<set $time to 450>>
<<set $day to 1>>
<<set $CharQuests.sophia.sophiaMainQuest1.status to "active">>
<<run UIBar.show()>>
<<goto "YourRoom">><<run UIBar.hide()>>
<div class="location-bg" style="background-image: url('assets/Locations/House/your_room.webp')"></div>
<div class="location-ui">
<div class="location-title">🏠 Your Room
<<storyImg "assets/Locations/House/your_room.webp">>
</div>
<<text "You wake up to the familiar sound of high heels clicking across the hardwood floor downstairs. Morning light filters through the blinds of your bedroom. Another ordinary day in the Kane household… or so you think.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="IntroKitchen">
<img src="assets/Locations/House/kitchen.webp">
<span>Head to the kitchen</span>
</a>
</div>
</div><<run UIBar.hide()>>
<div class="location-bg" style="background-image: url('assets/Locations/House/kitchen.webp')"></div>
<div class="location-ui">
<div class="location-title">🏠 Kitchen
<<storyImg "assets/Locations/House/kitchen.webp">>
</div>
<<text "You head downstairs. The smell of fresh coffee fills the air.">>
<<storyImg "assets/Intro/sophie_intro1.webp">>
<<text "In the kitchen, Sophia Kane — your elegant step-mother — stands at the counter in a crisp dark blue blouse and skirt, her long blonde hair cascading over her shoulders. She is checking emails on her tablet while sipping coffee.">>
<<chat sophia "//(without looking up, voice cool and professional)// Good morning. Try not to make too much noise today. I have two clients coming for meetings at ten and eleven.">>
<div class="choice-buttons" id="sophia-choices">
<<button "“Morning, Sophia. You look nice today.”">>
<<replace "#sophia-choices">>
<<playerchat "Morning, Sophia. You look nice today.">>
<<text "Sophia pauses, her pen hovering over the ledger. She finally looks up, her gaze sweeping over you with a cool, practiced appraisal.">>
<<chat sophia "Flattery before breakfast? Either you're looking for an allowance increase, or a pardon for the “I don't have a job yet” situation.">>
<<text "A faint, sharp smirk touches her lips before she looks back down.">>
<<chat sophia "But thank you sweetie. Now, see to it that the kitchen is spotless before my ten o'clock arrives.">><<nobr>>
<<addCHA 1>><</nobr>>
<<include "IntroKitchenP2">>
<</replace>>
<</button>>
<<button "“Yeah, whatever.”">>
<<replace "#sophia-choices">>
<<playerchat "Yeah, whatever.">>
<<text "Sophia's eyes snap up to meet yours, a flash of irritation crossing her face.">>
<<chat sophia "Well, aren't we just a ray of sunshine this morning? I suggest you check your attitude at the door if you want to stay in this house.">>
<<text "She takes a long sip of her coffee, clearly not interested in engaging further.">><<nobr>>
<<addCHA -1>><</nobr>>
<<include "IntroKitchenP2">>
<</replace>>
<</button>>
<<button "Stay silent and just grab some juice.">>
<<replace "#sophia-choices">>
<<include "IntroKitchenP2">>
<</replace>>
<</button>>
</div>
</div><<run UIBar.hide()>>
<<text "You hear footsteps on the stairs.">>
<<storyImg "assets/Intro/clair_intro.webp">>
<<text "Clair Kane — your popular sophomore step-sister — she’s the queen of campus and she knows it. She barely tolerates you.">>
<<chat clair "//(rolling her eyes the moment she sees you)// Ugh, you're still here? I thought you were supposed to be out looking for a job or something.">>
<div class="choice-buttons" id="clair-choices">
<<button "“Morning to you too, Clair.”">>
<<replace "#clair-choices">>
<<playerchat "Morning to you too, Clair.">>
<<text "Clair scoffs, leaning against the counter.">>
<<chat clair "Don't get bright with me. That 'nice guy' routine isn't going to pay the rent.">>
<<include "IntroKitchenP3">>
<</replace>>
<</button>>
<<button "“At least I’m not fake like you.”">>
<<replace "#clair-choices">>
<<playerchat "At least I'm not fake like you.">>
<<text "She stops mid-stride, letting out a sharp, mocking laugh that doesn't reach her eyes.">>
<<chat clair "Fake? It’s called 'effort,' honey. You should try it sometime; maybe then someone would actually hire you.">>
<<include "IntroKitchenP3">>
<</replace>>
<</button>>
<<button "Ignore her completely.">>
<<replace "#clair-choices">>
<<playerchat "I'm just going to ignore you, Clair.">>
<<text "Clair's eyes narrow, but she says nothing. She turns and walks away, her heels clicking against the floor.">>
<<include "IntroKitchenP3">>
<</replace>>
<</button>>
</div><<run UIBar.hide()>>
<<storyImg "assets/Intro/nicole_intro.webp">>
<<text "Nicole Kane — your shy step-sister — quietly enters the kitchen last.">>
<<chat nicole "//(softly, almost whispering)// G-good morning...">>
<div class="choice-buttons" id="nicole-choices">
<<button "“Morning, Nicole. How are you?”">>
<<replace "#nicole-choices">>
<<playerchat "Morning, Nicole. How are you?">>
<<text "Nicole looks up, her cheeks flushing pink.">>
<<chat nicole "I'm... I'm fine. Thank you for asking.">><<nobr>>
<<addRel 2 nicole>>
<<addCHA 1>><</nobr>>
<<include "IntroKitchenP4">>
<</replace>>
<</button>>
<<button "“Hey Nicole.”">>
<<replace "#nicole-choices">>
<<playerchat "Hey, Nicole.">>
<<text "Nicole looks up at you, but she doesn't say anything. She just nods slightly, her cheeks a little pink.">><<nobr>>
<<addRel 1 nicole>><</nobr>>
<<include "IntroKitchenP4">>
<</replace>>
<</button>>
<<button "“Whatever.”">>
<<replace "#nicole-choices">>
<<playerchat "Whatever...">>
<<text "Nicole looks hurt by your dismissive tone.">><<nobr>>
<<addRel -1 nicole>><</nobr>>
<<include "IntroKitchenP4">>
<</replace>>
<</button>>
</div><<run UIBar.hide()>>
<<text "Suddenly, Clair interrupts the greetings.">>
<<chat clair "Before we all run off — there’s a birthday party tonight at the Morales estate. Isabella Morales invited a bunch of people from our university circle.">>
<<text "Clair looks at you, her eyes gleaming with a mix of challenge and amusement.">>
<<chat clair "Even you were apparently added to the guest list.">>
<<text "You decide to go.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="IntroAlleyway">
<img src="assets/Intro/alleyway.webp">
<span>Continue</span>
</a>
</div><<run UIBar.hide()>>
<div class="location-bg" style="background-image: url('assets/Locations/House/attic.webp')"></div>
<div class="location-ui">
<<storyVideo "assets/Intro/lilith_handjob000.mp4">>
<<chat lilith "Let me show you what I can do.">>
<<storyVideo "assets/Intro/lilith_handjob001.mp4">>
<div class="location-grid">
<a class="loc-btn" data-passage="IntroSexSceneBlowjob1">
<img src="assets/Intro/lilith_blowjob1_icon.webp">
<span>Blowjob 1</span>
</a>
<a class="loc-btn" data-passage="IntroSexSceneBlowjob2">
<img src="assets/Intro/lilith_blowjob2_icon.webp">
<span>Blowjob 2</span>
</a>
<a class="loc-btn" data-passage="IntroSexSceneSuckBalls">
<img src="assets/Intro/lilith_suckballs_icon.webp">
<span>Suck balls</span>
</a>
<a class="loc-btn loc-btn--wide" data-passage="IntroSexSceneCum">
<img src="assets/Intro/lilith_cum_icon.webp">
<span>Cum</span>
</a>
</div>
</div><<run UIBar.hide()>>
<div class="location-bg" style="background-image: url('assets/Locations/House/attic.webp')"></div>
<div class="location-ui">
<<storyVideo "assets/Intro/lilith_blowjob1000.mp4">>
<<chat lilith "I haven't sucked a dick in so long... Oh my fucking god...">>
<<storyVideo "assets/Intro/lilith_blowjob1001.mp4">>
<<playerchat "It feels so fucking good, Lilith...">>
<<storyVideo "assets/Intro/lilith_blowjob1003.mp4">>
<div class="location-grid">
<a class="loc-btn" data-passage="IntroSexScene">
<img src="assets/Intro/lilith_handjob1_icon.webp">
<span>Hand job</span>
</a>
<a class="loc-btn" data-passage="IntroSexSceneBlowjob2">
<img src="assets/Intro/lilith_blowjob2_icon.webp">
<span>Blowjob 2</span>
</a>
<a class="loc-btn" data-passage="IntroSexSceneSuckBalls">
<img src="assets/Intro/lilith_suckballs_icon.webp">
<span>Suck balls</span>
</a>
<a class="loc-btn loc-btn--wide" data-passage="IntroSexSceneCum">
<img src="assets/Intro/lilith_cum_icon.webp">
<span>Cum</span>
</a>
</div>
</div><<run UIBar.hide()>>
<div class="location-bg" style="background-image: url('assets/Locations/House/attic.webp')"></div>
<div class="location-ui">
<<storyVideo "assets/Intro/lilith_blowjob2000.mp4">>
<<text "By the way she's doing it, its clear she's very experienced.">>
<<storyVideo "assets/Intro/lilith_blowjob2001.mp4">>
<<chat lilith "I waited for this so long...">>
<<storyVideo "assets/Intro/lilith_blowjob2004.mp4">>
<div class="location-grid">
<a class="loc-btn" data-passage="IntroSexScene">
<img src="assets/Intro/lilith_handjob1_icon.webp">
<span>Hand job</span>
</a>
<a class="loc-btn" data-passage="IntroSexSceneBlowjob1">
<img src="assets/Intro/lilith_blowjob1_icon.webp">
<span>Blowjob 1</span>
</a>
<a class="loc-btn" data-passage="IntroSexSceneSuckBalls">
<img src="assets/Intro/lilith_suckballs_icon.webp">
<span>Suck balls</span>
</a>
<a class="loc-btn loc-btn--wide" data-passage="IntroSexSceneCum">
<img src="assets/Intro/lilith_cum_icon.webp">
<span>Cum</span>
</a>
</div>
</div><<run UIBar.hide()>>
<div class="location-bg" style="background-image: url('assets/Locations/House/attic.webp')"></div>
<div class="location-ui">
<<storyVideo "assets/Intro/lilith_balls001.mp4">>
<<playerchat "(//I never knew it feels so good to get your balls sucked.//)">>
<<storyVideo "assets/Intro/lilith_balls002.mp4">>
<div class="location-grid">
<a class="loc-btn" data-passage="IntroSexScene">
<img src="assets/Intro/lilith_handjob1_icon.webp">
<span>Hand job</span>
</a>
<a class="loc-btn" data-passage="IntroSexSceneBlowjob1">
<img src="assets/Intro/lilith_blowjob1_icon.webp">
<span>Blowjob 1</span>
</a>
<a class="loc-btn" data-passage="IntroSexSceneBlowjob2">
<img src="assets/Intro/lilith_blowjob2_icon.webp">
<span>Blowjob 2</span>
</a>
<a class="loc-btn loc-btn--wide" data-passage="IntroSexSceneCum">
<img src="assets/Intro/lilith_cum_icon.webp">
<span>Cum</span>
</a>
</div>
</div><<run UIBar.hide()>>
<div class="location-bg" style="background-image: url('assets/Locations/House/attic.webp')"></div>
<div class="location-ui">
<<playerchat "I'm so close, Lilith, i can't take it anymore...">>
<<storyVideo "assets/Intro/lilith_cum000.mp4">>
<<chat lilith "Oh yes. Feed me. Feed me your cum baby.">>
<<playerchat "I'm cumming-">>
<<storyVideo "assets/Intro/lilith_cum001.mp4">>
<<chat lilith "OH FUCK YESS. Thank you. I needed that.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="IntroDream">
<img src="assets/Locations/House/your_room.webp">
<span>Go to sleep</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/livingroom.webp')"></div>
<div class="location-title">The Bikini Shoot</div>
<div class="location-ui">
<<text "You're chilling on the couch watching TV, when all of a sudden the door swings open. Clair is standing there in a tiny white bikini top that barely contains her tits and leaves nothing to the imagination. Her skin is glistening with oil. She's holding her phone.">>
<<storyImg "assets/Quests/Clair/BikiniQuest/clair_bikini1.webp">>
<<chat clair "There you are. I need you.">>
<<text "Clair needing you? That's new.">>
<<playerchat "You need me? For what?">>
<<chat clair "I need new photos for my socials. My usual photographer bailed. You're going to take them for me.">>
<<text "She doesn't ask. She commands. Her tits are practically spilling out of that tiny top, and her nipples are poking through the fabric. She crosses her arms, pushing them up even more.">>
<<playerchat "Why would I do that?">>
<<chat clair "Because I'm asking. And because you don't have anything better to do. I've seen your schedule. It's pathetic.">>
<<text "She smirks, that arrogant look back on her face. But there's something underneath it. She actually wants this.">>
<<playerchat "What do I get out of it?">>
<<text "Clair rolls her eyes so hard you can practically hear it.">>
<<chat clair "Ugh. Of course you want something. Fine. Five bucks.">>
<<playerchat "Five bucks? That's it?">>
<<chat clair "Five bucks for five minutes of your time. That's more than you're worth. Now come with me. Don't make me ask twice.">>
<<text "She turns and walks away. Her ass sways in that tiny bikini bottom. Your cock is aching. You follow her.">>
<<advancetime 10>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="ClairBikiniQuestP2">
<img src="assets/Locations/House/house.webp">
<span>Follow her</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/house.webp')"></div>
<div class="location-ui">
<<chat clair "Okay. Here's how this works. I pose. You take the picture. Don't get creative. Don't get weird. Just point and shoot.">>
<<text "She turns around to face you. Her tits bounce with the movement. The bikini top is doing its absolute best, but it's losing the battle. Her nipples are hard, clearly visible through the thin fabric.">>
<<playerchat "Where do you want to do this?">>
<<chat clair "Here. By the window. The lighting is good.">>
<<text "She walks over to the window and leans against the frame. Her body is silhouetted by the afternoon sun. Her ass looks incredible in that bikini bottom. She arches her back, pushing her tits forward.">>
<<chat clair "Well? Start taking pictures, loser. And make them good. If they're ugly, I'm not paying you.">>
<<text "You pull out your phone and open the camera. Your hands are slightly unsteady. Not because you're nervous. Because your cock is straining against your jeans and all you can think about is bending her over.">>
<<playerchat "Ready when you are.">>
<<advancetime 5>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="ClairBikiniQuestP3">
<img src="assets/Quests/Clair/BikiniQuest/camera.webp">
<span>Take the first photo</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/house.webp')"></div>
<div class="location-ui">
<<text "You raise your phone and frame Clair in the shot. She's leaning against the window, one hand on her hip. Her skin is glowing in the sunlight.">>
<<storyImg "assets/Quests/Clair/BikiniQuest/photo1.webp">>
<<text "CLICK.">>
<<chat clair "Let me see.">>
<<text "She walks over and snatches the phone from your hand. She looks at the photo, tilting her head. Her bare shoulder brushes against your arm. She smells like coconut oil and something sweet.">>
<<chat clair "Not bad. For a beginner. But my eyes are half-closed. Take another one.">>
<<text "She hands the phone back and returns to the window.">>
<<chat clair "What are you waiting for? An invitation?">>
<<playerchat "Just admiring the view.">>
<<chat clair "Admire it with the camera. That's what I'm paying you for.">>
<<text "She says it like an insult, but her ears are slightly pink. She's enjoying this.">>
<<advancetime 5>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="ClairBikiniQuestP4">
<img src="assets/Quests/Clair/BikiniQuest/camera.webp">
<span>Take the shot</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/house.webp')"></div>
<div class="location-ui">
<<text "You take the photo. This time, you get her good. The sunlight catches her curves perfectly. Her tits are practically spilling out of the bikini top. Her ass looks like it was sculpted by a pervert with a god complex.">>
<<storyImg "assets/Quests/Clair/BikiniQuest/photo3.webp">>
<<chat clair "Let me see.">>
<<text "She walks over again, slower this time. She leans in close to look at the screen, her tits pressing against your arm. You can feel her hard nipples through the fabric.">>
<<chat clair "Better. You're actually not terrible at this. Don't let it go to your head.">>
<<playerchat "I'm a man of many talents.">>
<<chat clair "Sure you are. Now let's do a few more.">>
<<text "Clair poses.">>
<<chat clair "Well? Take the picture. And don't stare too hard. You might hurt yourself.">>
<<advancetime 5>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="ClairBikiniQuestP5">
<img src="assets/Quests/Clair/BikiniQuest/camera.webp">
<span>Take the shot</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/house.webp')"></div>
<div class="location-ui">
<<text "You take the photo. Then another. Clair shifts position. Her ass is a perfect round heart shape in that tiny bikini. She glances back at you over her shoulder.">>
<<storyImg "assets/Quests/Clair/BikiniQuest/photo2.webp">>
<<chat clair "You're getting hard.">>
<<playerchat "No shit. You're practically naked.">>
<<chat clair "It's a bikini. It's not my fault you can't control yourself.">>
<<chat clair "One more. Then we're done.">>
<<text "You take the shot. She's smirking at you like she knows exactly what she's doing to you.">>
<<storyImg "assets/Quests/Clair/BikiniQuest/photo4.webp">>
<<chat clair "Okay. That's enough. Give me the phone.">>
<<text "She takes the phone from your hand and scrolls through the photos. She's quiet for a minute. Then she nods.">>
<<chat clair "These are actually good. You did well.">>
<<playerchat "Was that a compliment?">>
<<chat clair "Don't get used to it.">>
<<advancetime 5>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="ClairBikiniQuestP6">
<img src="assets/Locations/House/clair_bedroom.webp">
<span>Wait for payment</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/clair_bedroom.webp')"></div>
<div class="location-ui">
<<text "You walk back to Clair's room. She sits up on the bed and reaches for her purse on the nightstand. She pulls out a crumpled five-dollar bill and holds it out to you. Her bikini top is slightly askew, one nipple almost slipping out.">>
<<chat clair "Here. Your payment. Don't spend it all in one place.">>
<<text "You take the five from her hand. Your fingers brush against hers. She doesn't pull away immediately.">>
<<addmoney 5>>
<<playerchat "Pleasure doing business with you.">>
<<chat clair "Yeah, yeah. Now get out. I need to post these before I change my mind.">>
<<text "You turn to leave. She stops you before you reach the door.">>
<<chat clair "Hey.">>
<<text "You look back. She's still sitting on the bed, her legs slightly spread, her tits still spilling out of that tiny bikini.">>
<<chat clair "If you tell anyone about this, I'll tell Sophia you were perving on me. And I'll make it convincing.">>
<<playerchat "Wouldn't dream of it.">>
<<chat clair "Good. Now get lost.">>
<<text "You walk out of her room and close the door - five bucks richer.">>
<<addRel 3 clair>>
<<addLust 3 clair>>
<<set $CharQuests.clair.clairBikiniQuest.status to "completed">>
<<set $clairPhotoUnlock to true>>
<<advancetime 5>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="UpstairsHallway">
<img src="assets/Locations/House/upstairs_hallway.webp">
<span>Leave</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/attic.webp')"></div>
<div class="location-title">The Enchanted Lens</div>
<div class="location-ui">
<<text "You climb into the attic.">>
<<storyImg "assets/Quests/Clair/BreakQuest1/lilith1.webp">>
<<chat lilith "There he is. My favorite human.">>
<<text "She stretches, arching her back, pushing her tits up.">>
<<playerchat "I can't seem to push Clair to undress during our photoshoots.">>
<<text "Lilith's smile widens. She sits up slowly, her tits swaying with the movement. She reaches into a small wooden box beside her cushions and pulls out a tiny, black velvet pouch.">>
<<chat lilith "I've been watching. The little brat wants to submit, but her pride won't let her. She needs a push. A... lens... through which she can see herself differently.">>
<<text "She shakes the pouch. Something small and hard rattles inside.">>
<<playerchat "What is that?">>
<<chat lilith "A charm. Not for you. For a camera. You have a real one? Not that phone you've been using?">>
<<playerchat "No. Just my phone.">>
<<chat lilith "Then go buy one. A proper one. Bring it here when you have it, and I'll make sure it sees more than just her face.">>
<<chat lilith "Now get out. I need to... recharge. And you have shopping to do.">>
<<text "You have to buy a photo camera from the Store.">>
<<set $CharQuests.clair.clairBreakQuest1.step to 2>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="YourRoom">
<img src="assets/Locations/House/your_room.webp">
<span>Leave</span>
</a>
</div><<if $inventory.photo_camera is not 1>>
<<goto "ClairBreakQuest1LilithGiveCameraNoCamera">>
<<else>>
<<goto "ClairBreakQuest1LilithEnchant">>
<</if>>
<<button "Stuck?" "YourRoom">><</button>><div class="location-bg" style="background-image: url('assets/Locations/House/attic.webp')"></div>
<div class="location-ui">
<<text "You don't have a photo camera.">>
<<chat lilith "Where's the camera, $playerName?">>
<<playerchat "Uhhhhh- in the store?">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="YourRoom">
<img src="assets/Locations/House/your_room.webp">
<span>Leave</span>
</a>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/attic.webp')"></div>
<div class="location-ui">
<<text "The camera box is tucked under your arm. Lilith is exactly where you left her, still naked, still watching you with those hungry purple eyes. She hasn't moved an inch.">>
<<storyImg "assets/Quests/Clair/BreakQuest1/lilith1.webp">>
<<chat lilith "That was fast. Did you buy the whole store, or just the camera?">>
<<text "You set the box down on the floor and open it, pulling out the brand new DSLR. It's sleek. Black. Professional. The lens is wide and clear, reflecting the candlelight.">>
<<playerchat "This is it. Now what?">>
<<text "Lilith slides off her cushions and crawls toward you, her tits swaying, her ass moving hypnotically. She stops right in front of you.">>
<<chat lilith "Give it here.">>
<<text "She opens the velvet pouch and tips it over her palm. A small, jagged purple crystal tumbles out, no bigger than a fingernail. It glows faintly, pulsing like a heartbeat.">>
<<storyImg "assets/Quests/Clair/BreakQuest1/crystal.webp">>
<<chat lilith "This is old magic. The crystal is hungry.">>
<<playerchat "Hungry for what?">>
<<chat lilith "For truth. For the things people hide. The things they want but won't admit. When you look through this lens, the truth comes pouring out.">>
<<text "She takes the camera from your hands. Her fingers brush yours, cold and smooth. She holds the crystal over the lens, whispering words in a language you don't recognize. The crystal pulses once. Twice. Then it sinks into the glass, dissolving like sugar in water.">>
<<text "The lens flickers purple for a single moment, then goes dark again. It looks normal now. Completely normal.">>
<<chat lilith "It's done. The camera is enchanted. It won't look any different to anyone else. But when you point it at someone, and they look at themselves in the display, the truth will hit them. Whatever they're hiding. Whatever they want. It'll come out.">>
<<playerchat "And Clair?">>
<<text "Lilith's smile returns, wider than before.">>
<<chat lilith "Clair hides behind her pride. She's built walls around herself so thick she can't even see the truth anymore. The camera will make her see it. Every time you snap a photo, she'll feel it more. The walls will crumble. And when they do...">>
<<text "She hands the camera back to you. Her fingers linger on yours.">>
<<chat lilith "She'll strip herself bare for you. Not because you asked. Because she can't stop herself.">>
<<playerchat "Just by taking photos?">>
<<chat lilith "Just by taking photos. But you have to push her. Don't be gentle. Don't be sweet. Make her look at the pictures. Make her see what the lens sees. And when she starts to unravel... don't stop. Let it happen.">>
<<text "She leans in close, her lips brushing your ear, her breath hot on your neck.">>
<<chat lilith "Now go. Your princess is waiting. And she has no idea what's about to happen to her.">>
<<set $CharQuests.clair.clairBreakQuest1.step to 3>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="YourRoom">
<img src="assets/Locations/House/your_room.webp">
<span>Leave</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/clair_bedroom.webp')"></div>
<div class="location-ui">
<<text "You raise the camera and frame her. The viewfinder is crisp. Every detail of her face, her body, her skin is captured in perfect clarity.">>
<<storyImg "assets/Quests/Clair/BreakQuest1/photo1.webp">>
<<text "CLICK.">>
<<chat clair "Let me see.">>
<<text "She snatches the camera from your hands. The moment her eyes land on the photo, something flickers across her face. Her lips part. Her breathing hitches.">>
<<chat clair "This... this looks...">>
<<playerchat "Good, right?">>
<<chat clair "Shut up.">>
<<text "She hands the camera back, but her hand is trembling. She's staring at you differently now. Less hostile. More... confused.">>
<<playerchat "Let's take another one. Different angle.">>
<<text "She doesn't argue. You raise the camera again.">>
<<storyImg "assets/Quests/Clair/BreakQuest1/photo2.webp">>
<<text "CLICK.">>
<<chat clair "Let me see that one too.">>
<<text "She grabs the camera faster this time. She studies the photo. Her tongue darts out and wets her lips.">>
<<chat clair "Why... why does it look like that?">>
<<playerchat "Like what?">>
<<chat clair "Like I'm... I don't know. Never mind.">>
<<text "She shoves the camera back into your hands. Her cheeks are pink. Her nipples are straining against her top. She's getting turned on and she doesn't know why.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="ClairBreakQuest1PhotoshootP3">
<img src="assets/Quests/Clair/BreakQuest1/photo_camera.webp">
<span>Push further</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/clair_bedroom.webp')"></div>
<div class="location-ui">
<<text "You lower the camera and look at her. She's sitting on the edge of her bed, thighs pressed together, breathing shallow. The room is thick with tension.">>
<<playerchat "You know what would make these photos even better?">>
<<chat clair "What?">>
<<text "You don't answer. You just raise the camera again. She doesn't complain. She doesn't tell you to stop. She just watches you through the lens, her eyes wide, her lips parted.">>
<<storyImg "assets/Quests/Clair/BreakQuest1/photo3.webp">>
<<text "CLICK.">>
<<storyImg "assets/Quests/Clair/BreakQuest1/photo4.webp">>
<<text "CLICK.">>
<<text "You lower the camera and hold it out to her.">>
<<playerchat "Look at yourself, Clair. Really look.">>
<<text "She takes the camera. Her hands are shaking. She stares at the photo. Then another. Then another. She's scrolling through the shots, her breath getting faster, her thighs squeezing tighter.">>
<<chat clair "I don't... what's happening to me?">>
<<playerchat "Nothing's happening.">>
<<text "She looks up at you. Her eyes are glossy. She looks back at the camera. Back at you. Back at the camera.">>
<<chat clair "I feel... hot. Really hot. Like I need to... I don't know what I need.">>
<<playerchat "Then take it off.">>
<<text "She freezes. She stares at you. Her fingers twitch on the camera. She opens her mouth to say something, probably to tell you to fuck off, but nothing comes out.">>
<<chat clair "What?">>
<<playerchat "Take it off, Clair. You want to. I can see it. The camera can see it. Take it off.">>
<<text "She shakes her head. But her hands move anyway.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="ClairBreakQuest1Strip">
<img src="assets/Quests/Clair/BreakQuest1/photo3.webp">
<span>Watch her</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/clair_bedroom.webp')"></div>
<div class="location-ui">
<<text "Her hands move to the hem of her top. She's fighting it. You can see the war in her eyes. Pride versus desire. She wants to stop. She knows she should stop. But she can't.">>
<<chat clair "I don't... this isn't... why can't I stop?">>
<<text "She pulls the top away. Her tits spill out. Perfect. Round. Her nipples are hard, pointing straight at you.">>
<<storyImg "assets/Quests/Clair/BreakQuest1/strip1.webp">>
<<chat clair "Oh god... I'm really doing this...">>
<<text "Her hands move to the waistband of her yoga pants. She hooks her thumbs under the fabric. She pauses. Her eyes meet yours. She's pleading with you to stop her. But you don't. You just watch.">>
<<playerchat "Keep going.">>
<<text "She peels the bottoms down her thighs. Then her knees. Then her ankles. She kicks them off. She's completely naked now. Tits out, pussy exposed.">>
<<storyImg "assets/Quests/Clair/BreakQuest1/strip2.webp">>
<<chat clair "I don't know why I... I didn't want to... but I couldn't...">>
<<text "She's trembling. Her whole body is shaking. But she's not covering up. She's not running. She's just there, naked, waiting.">>
<<storyImg "assets/Quests/Clair/BreakQuest1/strip3.webp">>
<<chat clair "What... what do you want me to do now?">>
<<text "You pick up the camera. She watches you raise it. She doesn't stop you.">>
<<storyImg "assets/Quests/Clair/BreakQuest1/photo5.webp">>
<<text "CLICK.">>
<<text "She gasps. Not from embarrassment. From pleasure. Every click of the shutter sends a shiver through her body.">>
<<chat clair "Every time you... I feel it... inside me...">>
<<playerchat "That's the camera, Clair.">>
<<text "You take another photo. She arches her back, pushing her tits out, spreading her legs wider. She's not fighting anymore. She's posing.">>
<<storyImg "assets/Quests/Clair/BreakQuest1/photo6.webp">>
<<text "CLICK.">>
<<chat clair "More... take more... I need...">>
<<text "You lower the camera. She's panting now. Her pussy is glistening. Her eyes are locked on you with a hunger you've never seen before.">>
<<playerchat "You want more?">>
<<chat clair "Yes... please... I don't know what's happening to me but I need... I need you to keep going...">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="ClairBreakQuest1End">
<img src="assets/Quests/Clair/BreakQuest1/photo_camera.webp">
<span>Continue</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/clair_bedroom.webp')"></div>
<div class="location-ui">
<<text "You take a few more photos. Each click makes her moan. Each flash makes her body arch. By the time you're done, she's completely undone, touching herself without even realizing it.">>
<<storyImg "assets/Quests/Clair/BreakQuest1/photo7.webp">>
<<chat clair "$playerName... please... I can't... I need...">>
<<text "You set the camera down and step closer. She looks up at you, eyes pleading, body trembling.">>
<<playerchat "Need what, Clair?">>
<<chat clair "I don't know... I just... every time you take a picture I feel like I'm going to explode... please...">>
<<text "You reach down and brush a strand of hair from her face. She flinches, then leans into your touch. She's like putty in your hands. The camera changed something. The walls are gone.">>
<<chat clair "This is so fucked up... I don't do this... I don't...">>
<<playerchat "You do now.">>
<<storyImg "assets/Quests/Clair/BreakQuest1/photo8.webp">>
<<text "She stares at you. Then she nods. Slowly.">>
<<chat clair "Just... just don't tell anyone.">>
<<storyImg "assets/Quests/Clair/BreakQuest1/photo9.webp">>
<<text "She kisses you. Hard. Her tits press against your chest. Her hand finds your cock through your jeans. She moans into your mouth.">>
<<storyVideo "assets/Quests/Clair/BreakQuest1/kissing.mp4">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="ClairBreakQuest1Complete">
<img src="assets/Locations/House/clair_bedroom.webp">
<span>Finish</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/clair_bedroom.webp')"></div>
<div class="location-ui">
<<text "You pull back. She's breathless, flushed, completely wrecked. She doesn't cover herself. She doesn't run. She just lies there, naked, looking up at you with new eyes.">>
<<chat clair "What... what did you do to me?">>
<<playerchat "Nothing you didn't want.">>
<<text "She should argue. She should slap you. She should tell you to get out. She doesn't. She just reaches down and touches herself, looking at you.">>
<<chat clair "I can still feel it. The camera. Every time I close my eyes I see the flash.">>
<<playerchat "Good. That means it worked.">>
<<chat clair "What worked? What are you talking about?">>
<<text "You close the door behind you. Through the wood, you can hear her soft moans as she finishes what you started. The camera feels warm in your hands. The enchantment worked perfectly.">>
<<text "Clair has changed. And you have the photos to prove it.">>
<<set $CharQuests.clair.clairBreakQuest1.status to "completed">>
<<set $clairLustBreak to 2>>
<<set $CharQuests.clair.clairMoralesPartyQuest.status to "active">>
<<addLust 3 clair>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="UpstairsHallway">
<img src="assets/Locations/House/upstairs_hallway.webp">
<span>Leave</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/clair_bedroom.webp')"></div>
<div class="location-title">Playing Games</div>
<div class="location-ui">
<<text "You're walking past Clair's room when her door swings open. She's standing there in what might as well be underwear. Her nipples are poking through the thin fabric. Her bare legs are on full display.">>
<<storyImg "assets/Quests/Clair/EventQuest1/clair.webp">>
<<chat clair "Oh, it's you. Perfect timing. I'm bored as fuck and there's nothing to do in this house.">>
<<text "She leans against the doorframe, crossing her arms under her tits, pushing them up even more. Your cock twitches in your pants.">>
<<playerchat "What do you want, Clair?">>
<<chat clair "I want to play a game. You and me. Winner gets to punish the loser however they want.">>
<<text "She smirks, her eyes trailing down your body.">>
<<chat clair "You scared, loser? Or are you going to man up and take the challenge?">>
<<set $CharQuests.clair.clairEventQuest1.step to 1>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="ClairEventQuest1P2">
<img src="assets/Locations/House/clair_bedroom.webp">
<span>Enter her room</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/clair_bedroom.webp')"></div>
<div class="location-ui">
<<text "You step into her room. It smells like her perfume and sweat. Clothes are scattered everywhere. Her bed is unmade. The window is cracked open, letting in the afternoon heat.">>
<<storyImg "assets/Quests/Clair/EventQuest1/sitting.webp">>
<<text "Clair plops down on the edge of her bed, spreading her legs just enough for you to see the outline of her pussy through her tiny shorts. She pats the mattress next to her.">>
<<chat clair "Sit. Let's talk terms first.">>
<<text "You sit down. She leans in close, her tits almost brushing your arm.">>
<<chat clair "If I win... I get to hit you in the balls. As hard as I want.">>
<<text "Your stomach drops. You know she's not bluffing. You don't want to be on the receiving end of that.">>
<<playerchat "And if I win?">>
<<text "She shrugs, a wicked grin spreading across her face.">>
<<chat clair "Whatever you want. Within reason. I'm not letting you do anything too crazy.">>
<<text "You think for a moment. Then the idea hits you. You lean in close, your lips almost touching her ear.">>
<<playerchat "If I win... I get to piss on you.">>
<<text "Clair freezes. Her eyes go wide. Her mouth opens, then closes. She pulls back, staring at you.">>
<<chat clair "What?! Are you fucking insane?!">>
<<playerchat "You said 'whatever I want.' You're the one who offered the challenge. Unless you're scared.">>
<<text "She glares at you. You can see the war going on behind her eyes. Pride vs disgust. Her ego won't let her back down.">>
<<chat clair "Fine. Fine! But if I win, I'm kicking you so hard your balls end up in your throat.">>
<<playerchat "Deal.">>
<<chat clair "Good. Rock paper scissors. Best of seven. First to four wins.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="ClairEventQuest1RoundStart">
<img src="assets/General/blank.webp">
<span>Start Round 1</span>
</a>
</div>
</div><<set $clairRPSPlayerWins to 0>>
<<set $clairRPSClairWins to 0>>
<<set $clairRPSRound to 1>>
<<set $clairRPSPlayerChoice to "">>
<<set $clairRPSClairChoice to "">>
<<set $clairRPSResult to "">>
<<goto "ClairEventQuest1Round">><div class="location-bg" style="background-image: url('assets/Locations/House/clair_bedroom.webp')"></div>
<div class="location-ui">
<<text "You: <<= $clairRPSPlayerWins>> | Clair: <<= $clairRPSClairWins>>">>
<<text "Round <<= $clairRPSRound>> of 7. First to 4 wins.">>
<<if $clairRPSResult neq "">>
<<text "//Last round: <<= $clairRPSResult>>//">>
<</if>>
<<if $clairRPSPlayerWins >= 4>>
<<goto "ClairEventQuest1Result">>
<<elseif $clairRPSClairWins >= 4>>
<<goto "ClairEventQuest1Result">>
<</if>>
<<text "Clair holds her fist out, ready. She's staring at you with pure determination.">>
<<chat clair "Ready? Rock... paper... scissors...">>
<div class="choice-buttons" id="rps_choice">
<<button "Rock">>
<<set $clairRPSPlayerChoice to "rock">>
<<goto "ClairEventQuest1Resolve">>
<</button>>
<<button "Paper">>
<<set $clairRPSPlayerChoice to "paper">>
<<goto "ClairEventQuest1Resolve">>
<</button>>
<<button "Scissors">>
<<set $clairRPSPlayerChoice to "scissors">>
<<goto "ClairEventQuest1Resolve">>
<</button>>
</div>
</div><<set $clairRPSClairChoice to ["rock","paper","scissors"][random(0, 2)]>>
<<if $clairRPSPlayerChoice is "rock" and $clairRPSClairChoice is "scissors">>
<<set $clairRPSPlayerWins to $clairRPSPlayerWins + 1>>
<<set $clairRPSResult to "You win. Rock crushes scissors.">>
<<elseif $clairRPSPlayerChoice is "paper" and $clairRPSClairChoice is "rock">>
<<set $clairRPSPlayerWins to $clairRPSPlayerWins + 1>>
<<set $clairRPSResult to "You win. Paper covers rock.">>
<<elseif $clairRPSPlayerChoice is "scissors" and $clairRPSClairChoice is "paper">>
<<set $clairRPSPlayerWins to $clairRPSPlayerWins + 1>>
<<set $clairRPSResult to "You win. Scissors cut paper.">>
<<elseif $clairRPSPlayerChoice is $clairRPSClairChoice>>
<<set $clairRPSResult to "It's a tie. Nobody scores.">>
<<else>>
<<set $clairRPSClairWins to $clairRPSClairWins + 1>>
<<set $clairRPSResult to "Clair wins.">>
<</if>>
<<set $clairRPSRound to $clairRPSRound + 1>>
<<goto "ClairEventQuest1RoundResult">><div class="location-bg" style="background-image: url('assets/Locations/House/clair_bedroom.webp')"></div>
<div class="location-ui">
<<text "You threw <<= $clairRPSPlayerChoice>>. Clair threw <<= $clairRPSClairChoice>>.">>
<<if $clairRPSResult is "It's a tie. Nobody scores.">>
<<chat clair "A tie? Are you fucking kidding me? Go again.">>
<<elseif $clairRPSPlayerWins > $clairRPSClairWins and $clairRPSResult neq "Clair wins.">>
<<chat clair "What?! No! That's not fair! You're cheating!">>
<<else>>
<<chat clair "HA! Yes! Fuck you, loser!">>
<</if>>
<<text "You: <<= $clairRPSPlayerWins>> | Clair: <<= $clairRPSClairWins>>">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="ClairEventQuest1Round">
<img src="assets/General/blank.webp">
<span>Next Round</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/clair_bedroom.webp')"></div>
<div class="location-ui">
<<text "Final Score — You: <<= $clairRPSPlayerWins>> | Clair: <<= $clairRPSClairWins>>">>
<<if $clairRPSPlayerWins >= 4>>
<<chat clair "No... no no no no no. This isn't happening. You cheated. You have to have cheated!">>
<<text "You won. Clair lost. She's staring at you with wide eyes, her face pale. Her tits are heaving under her tank top.">>
<<chat clair "You... you actually won...">>
<<text "She swallows hard. She knows what's coming.">>
<<playerchat "You know the rules, Clair.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="ClairEventQuest1Win">
<img src="assets/Quests/Clair/EventQuest1/piss1.webp">
<span>Claim your prize</span>
</a>
</div>
<<else>>
<<chat clair "YES! YES! FUCK YES! I WIN! I FUCKING WIN!">>
<<text "Clair jumps up from the bed, her tits bouncing. She's grinning ear to ear.">>
<<chat clair "Get on the floor, loser. It's time for your punishment.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="ClairEventQuest1Lose">
<img src="assets/General/blank.webp">
<span>Take your punishment</span>
</a>
</div>
<</if>>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/clair_bedroom.webp')"></div>
<div class="location-ui">
<<chat clair "You're really going to do this? You're actually going to piss on me?">>
<<storyVideo "assets/Quests/Clair/EventQuest1/clip1.mp4">>
<<playerchat "You agreed to the rules, Clair.">>
<<text "You unzip your pants and pull out your cock. ">>
<<playerchat "You ready?">>
<<chat clair "No!">>
<<text "You aim your cock at her and let go.">>
<<storyVideo "assets/Quests/Clair/EventQuest1/clip2.mp4">>
<<text "Hot piss sprays across her.">>
<<chat clair "Fuck... it's so warm...">>
<<text "You keep going, aiming lower, soaking her tits. She gasps as the piss runs down her chest.">>
<<playerchat "You like that, Clair? You like being my little piss slut?">>
<<chat clair "Shut the fuck up...">>
<<storyVideo "assets/Quests/Clair/EventQuest1/clip3.mp4">>
<<text "When you're done, you shake the last few drops onto her cheek. She wipes her face with the back of her hand, glaring up at you.">>
<<storyImg "assets/Quests/Clair/EventQuest1/piss1.webp">>
<<chat clair "You're such a fucking asshole. You know that?">>
<<playerchat "I know. But you loved it.">>
<<storyImg "assets/Quests/Clair/EventQuest1/piss2.webp">>
<<text "She doesn't answer. She just storms past you into the bathroom, slamming the door. You hear the shower turn on.">>
<<text "You zip up and leave, a smug grin on your face.">>
<<set $CharQuests.clair.clairEventQuest1.status to "completed">>
<<set $CharQuests.clair.clairEventQuest2.status to "active">>
<<addRel 1 clair>>
<<addLust 4 clair>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="UpstairsHallway">
<img src="assets/Locations/House/upstairs_hallway.webp">
<span>Leave her room</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/clair_bedroom.webp')"></div>
<div class="location-ui">
<<text "Clair points at the floor between her feet.">>
<<chat clair "On your knees, loser. You know the rules.">>
<<text "You hesitate. She grabs you and yanks you down. Your knees hit the hardwood. She stands over you, her legs spread.">>
<<chat clair "You agreed to this. You're not backing out now.">>
<<text "She pulls her foot back.">>
<<playerchat "Clair, wait!">>
<<text "She doesn't wait.">>
<<storyVideo "assets/Quests/Clair/EventQuest1/ball_hitting1.mp4">>
<<text "Her foot connects with your balls. The pain is instant and blinding. You double over, gasping, your vision going white.">>
<<chat clair "One.">>
<<text "She kicks you again. Harder this time. You feel your stomach lurch. You're pretty sure you're going to throw up.">>
<<storyVideo "assets/Quests/Clair/EventQuest1/ball_hitting2.mp4">>
<<chat clair "Two.">>
<<playerchat "S-Stop... please...">>
<<chat clair "You said 'as hard as I want.' Remember?">>
<<text "She kicks you a third time. You collapse onto your side, curling into a ball. The pain is radiating through your entire body.">>
<<storyVideo "assets/Quests/Clair/EventQuest1/ball_hitting3.mp4">>
<<chat clair "Three. Hm. You took it better than I thought you would.">>
<<text "She squats down next to you, her face inches from yours. She's smiling.">>
<<chat clair "You're not going to cry, are you? That would be embarrassing.">>
<<text "She pats your cheek, stands up, and walks over to her bed. She sits down and crosses her legs, watching you writhe on the floor.">>
<<chat clair "You can leave whenever you can walk again. Which might be a while.">>
<<set $CharQuests.clair.clairEventQuest1.step to 0>>
<<addRel 2 clair>>
<<addLust 5 clair>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="ClairEventQuest1Sleep">
<img src="assets/Locations/House/upstairs_hallway.webp">
<span>Leave her room</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/clair_bedroom.webp')"></div>
<div class="location-ui">
<<text "You couldn't handle the pain, so you passed out on your bed.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="SleepDecider">
<img src="assets/Locations/House/YourRoom/sleep.webp">
<span>Sleep</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/kitchen.webp')"></div>
<div class="location-title">Grocery Run</div>
<div class="location-ui">
<<text "You walk into the kitchen. Sophia is standing at the counter, staring into the fridge with her arms crossed. She's wearing a tight pencil skirt and a thin white blouse, her tits straining against the fabric. Her ass looks incredible in that skirt. Your cock twitches.">>
<<chat sophia "There's nothing in this house. No milk. No eggs. No bread. How am I supposed to run a household when nobody helps?">>
<<text "She slams the fridge door shut, making her tits bounce.">>
<<chat sophia "You're going to the store.">>
<<playerchat "I am?">>
<<storyImg "assets/Quests/Clair/EventQuest2/sophia_explaining.webp">>
<<chat sophia "Yes. You are. And you're not going alone.">>
<<text "She walks past you, her perfume filling your nose. She stops at the bottom of the stairs and yells up.">>
<<chat sophia "CLAIR! Get down here! Now!">>
<<text "A few seconds later, Clair appears. She looks pissed.">>
<<storyImg "assets/Quests/Clair/EventQuest2/clair_kitchen.webp">>
<<chat clair "What?! I'm busy!">>
<<chat sophia "You're going to the store with your stepbrother. I want you two to bond. You never spend time together.">>
<<text "Clair's face twists in disgust.">>
<<chat clair "Bond? With HIM? Are you kidding me?">>
<<chat sophia "I don't care. Get your shoes on. Here's the list and the money.">>
<<text "Sophia shoves a crumpled list and a wad of cash into your hand. She pushes both of you toward the front door.">>
<<chat clair "I hate this. I hate you. I hate this house.">>
<<chat sophia "You'll live. Now go.">>
<<text "The door slams shut behind you. Clair is standing on the porch with her arms crossed, glaring at you.">>
<<chat clair "Don't talk to me. Don't look at me. Just go to the store...">>
<<set $CharQuests.clair.clairEventQuest2.step to 1>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="DownstairsHallway">
<img src="assets/Locations/House/downstairs_hallway.webp">
<span>Return</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/City/city.webp')"></div>
<div class="location-ui">
<<text "You and Clair walk down the street in silence. She's a few steps ahead of you, which gives you a perfect view of her ass. Your cock is getting hard just watching her.">>
<<storyVideo "assets/Quests/Clair/EventQuest2/clair_walking.mp4">>
<<chat clair "Stop looking at my ass, pervert.">>
<<playerchat "I wasn't looking.">>
<<chat clair "You were. I can feel it. You're lucky we're in public, or I'd slap the shit out of you.">>
<<text "She speeds up to get further away from you. You catch up and walk beside her.">>
<<chat clair "Why are you walking next to me? Go walk in traffic.">>
<<playerchat "Sophia said we should bond.">>
<<chat clair "Sophia can go fuck herself. And so can you.">>
<<text "You reach the store. Clair pushes through the door without holding it for you. It nearly hits you in the face.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="ClairEventQuest2P3">
<img src="assets/Locations/City/store.webp">
<span>Enter the store</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/City/store.webp')"></div>
<div class="location-ui">
<<text "The store is half empty. A few shoppers wander the aisles. Clair grabs a cart and shoves it toward you.">>
<<chat clair "You push. I'll read the list. Try not to break anything.">>
<<text "You grab the cart. Clair walks ahead of you down the first aisle, reading the list. Her skirt goes up when she bends over. You can see the outline of her pussy when she bends over to grab something.">>
<<storyImg "assets/Quests/Clair/EventQuest2/clair_shopping.webp">>
<<chat clair "Stop staring. Grab the milk.">>
<<text "You grab the milk. She tosses a box of cereal into the cart. It misses and hits the floor.">>
<<chat clair "Pick it up. God, you're useless.">>
<<playerchat "You're the one who missed.">>
<<chat clair "Shut up.">>
<<text "You pick up the cereal. She keeps walking. You follow. This goes on for a few aisles — her barking orders, you following, her tits bouncing every time she moves. Your cock is aching in your pants.">>
<div class="choice-buttons" id="store_choices">
<<button "Confront her about the attitude">>
<<replace "#store_choices">>
<<playerchat "Why are you being such a cunt? I'm just trying to help.">>
<<text "Clair stops and turns around. Her eyes narrow.">>
<<chat clair "Because I don't want to be here. I don't want to be with YOU. And I don't want to pretend like we're some happy little family. So do your job and shut up.">>
<<text "She turns and keeps walking. You follow.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="ClairEventQuest2P4">
<img src="assets/Locations/City/store.webp">
<span>Continue</span>
</a>
</div>
<</replace>>
<</button>>
<<button "Just stay quiet and do your job">>
<<replace "#store_choices">>
<<text "You decide it's not worth the fight. You shut up and push the cart. Clair glances back at you, almost disappointed you didn't take the bait.">>
<<chat clair "That's what I thought.">>
<<text "You keep shopping in silence.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="ClairEventQuest2P4">
<img src="assets/Locations/City/store.webp">
<span>Continue</span>
</a>
</div>
<</replace>>
<</button>>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/City/store.webp')"></div>
<div class="location-ui">
<<text "You're halfway done with the list when it happens. Clair is reaching up to grab a box of pasta from the top shelf. Her crop top is riding up, exposing her bare stomach. Her tits are straining against the fabric.">>
<<text "Two guys walk around the corner. One is tall with a beard. The other is shorter, stockier. They spot Clair and stop dead in their tracks. They look her up and down like she's a piece of meat.">>
<<storyImg "assets/Quests/Clair/EventQuest2/guys.webp">>
<<rchat "Guy 1" "assets/Quests/Clair/EventQuest2/guy1.webp" "Damn, girl. You're way too hot to be shopping for cereal. Let me take you somewhere better.">>
<<text "Clair doesn't even look at them.">>
<<chat clair "Not interested.">>
<<rchat "Guy 2" "assets/Quests/Clair/EventQuest2/guy2.webp" "Come on, don't be like that. We're just being friendly. What's your name, beautiful?">>
<<text "Clair finally turns around. She's annoyed.">>
<<chat clair "I said I'm not interested. Get lost.">>
<<text "The two guys exchange a look. They don't move. The taller one steps closer, his eyes dropping to her tits.">>
<<rchat "Guy 1" "assets/Quests/Clair/EventQuest2/guy1.webp" "Don't be a bitch. We're just trying to talk to you. You here alone?">>
<<text "Clair glances at you. You can see her jaw tighten. She doesn't want to ask for help, but the guys aren't backing off. She takes a breath. Then she walks over to you, grabs your arm, and pulls herself against your side.">>
<<storyImg "assets/Quests/Clair/EventQuest2/clair_grabs_arm.webp">>
<<chat clair "He's with me.">>
<<text "Her tits press against your bicep. Her hand is squeezing your arm. She's staring at the two guys with a look that says 'fuck off.' Your cock hardens instantly.">>
<<text "The two guys look at you. Then back at her. Then at you again. The shorter one smirks.">>
<<rchat "Guy 2" "assets/Quests/Clair/EventQuest2/guy2.webp" "Him? Seriously? You two don't look like a couple. You look like you hate each other.">>
<<text "Clair's grip on your arm tightens. She glares at them.">>
<<chat clair "We're a couple. Now fuck off.">>
<<rchat "Guy 1" "assets/Quests/Clair/EventQuest2/guy1.webp" "Prove it. Kiss him.">>
<<text "Clair freezes. Her face goes red. Not from embarrassment — from rage.">>
<<chat clair "Excuse me?">>
<<rchat "Guy 1" "assets/Quests/Clair/EventQuest2/guy1.webp" "If you're a couple, kiss him. Right here. Otherwise, stop lying and come have a drink with us.">>
<<text "Clair looks at you. You can see the war going on behind her eyes. She doesn't want to kiss you. But she also doesn't want to deal with these guys anymore. She grits her teeth.">>
<<chat clair "Fine.">>
<<text "She grabs the front of your shirt, pulls you down, and presses her lips against yours. It's quick. Barely a second. But her lips are soft and she tastes like mint. Her tits press against your chest. Then she shoves you back.">>
<<storyImg "assets/Quests/Clair/EventQuest2/clair_kiss.webp">>
<<chat clair "There. Happy? Now get the fuck out of our way.">>
<<text "The two guys stare for a second. Then they mutter something under their breath and walk off, disappearing around the corner.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="ClairEventQuest2P5">
<img src="assets/Locations/City/store.webp">
<span>Continue shopping</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/City/store.webp')"></div>
<div class="location-ui">
<<text "Clair immediately lets go of your arm and steps away from you. She wipes her mouth with the back of her hand like she just kissed a disease.">>
<<chat clair "Don't say a word. Don't even think about it. That was nothing.">>
<<text "She grabs the cart and keeps walking. You follow. Your lips are still tingling. Your cock is still hard.">>
<<playerchat "You kissed me.">>
<<chat clair "I kissed you to get rid of those creeps. That's it. It didn't mean anything.">>
<<playerchat "You didn't have to do it.">>
<<chat clair "Yeah, well, I did. So drop it.">>
<<text "She finishes the list in record time. She's not talking to you. She's not looking at you. She's moving fast, grabbing things and throwing them in the cart. You follow in silence.">>
<<text "When you reach the checkout, she's still not looking at you. But you notice her ears are pink. And she keeps biting her lip. Just a little.">>
<<text "You pay. She grabs the bags. You grab the rest. She walks out of the store without waiting for you.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="ClairEventQuest2P6">
<img src="assets/Locations/City/store.webp">
<span>Follow her outside</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/City/store.webp')"></div>
<div class="location-ui">
<<text "You catch up to Clair outside the store. She's standing on the sidewalk, holding the grocery bags, waiting for you. She doesn't look happy about it.">>
<<chat clair "Took you long enough. Hurry up. I want to get home.">>
<<text "You walk back to the house in silence. Clair is a few steps ahead of you again. Her ass is still bouncing in those tiny shorts. Your cock is still hard.">>
<<text "You're halfway home when she stops and turns around. She's holding a small bag she grabbed at the last second. She shoves it into your chest.">>
<<chat clair "Here. This is for you. A little reminder of today.">>
<<text "You open the bag. Inside are two things: a pack of condoms and a small bottle of lube. You look up at her. She's smirking.">>
<<storyImg "assets/Quests/Clair/EventQuest2/condoms.webp">>
<<chat clair "What? You think I didn't notice your hard-on the entire time? Pathetic. Maybe this'll help you next time you're alone in your room thinking about me. Not that you'd ever have a chance.">>
<<text "She turns and keeps walking. You're left standing there with the bag in your hand and your cock straining against your jeans.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="ClairEventQuest2P7">
<img src="assets/Locations/House/house.webp">
<span>Walk home</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/downstairs_hallway.webp')"></div>
<div class="location-ui">
<<text "You and Clair walk into the house. Sophia is in the living room, working on her laptop. She looks up when you come in.">>
<<chat sophia "You're back. Did you get everything?">>
<<chat clair "Yes. Everything on the list. Can I go now?">>
<<chat sophia "Did you two bond?">>
<<text "Clair scoffs. You don't answer. Sophia sighs.">>
<<chat sophia "I'll take that as a no. Fine. Put the groceries away and go.">>
<<text "Clair dumps her bags on the counter and heads upstairs without another word. You start putting things away. Sophia watches you for a second, then goes back to her laptop.">>
<<set $CharQuests.clair.clairEventQuest2.status to "completed">>
<<set $CharQuests.clair.clairBreakQuest1.status to "active">>
<<addRel 3 clair>>
<<addLust 2 clair>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="DownstairsHallway">
<img src="assets/Locations/House/downstairs_hallway.webp">
<span>Leave</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/your_room.webp')"></div>
<div class="location-title">The Queen's Crown</div>
<div class="location-ui">
<<nobr>><<set _randomNum to random(1, 20)>>
<<set _videoPath to "assets/Locations/House/YourRoom/Computer/RandomPorn/RandomPorn" + _randomNum + ".mp4">>
<<storyVideo _videoPath>><</nobr>>
<<text "You're lying on your bed, dick in hand, scrolling through your phone when a shrill, furious scream echoes up from downstairs. It's Clair, and she sounds like she's about to fucking murder someone.">>
<<text "Your cock instantly goes soft as you sit up, ears perked. You've never heard her this pissed before. She's always a bitch, but this is different. This is pure fucking panic.">>
<<text "You pull your pants up and head for the door. Whatever's happening, it's gonna be good.">>
<<advancetime 20>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="ClairMainQuest1P2">
<img src="assets/Locations/House/downstairs_hallway.webp">
<span>Investigate the screaming</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/upstairs_hallway.webp')"></div>
<div class="location-ui">
<<text "You creep down the stairs and peek into the living room. Clair's pacing back and forth, phone pressed to her ear, her voice cracking with rage. She's wearing nothing but a tiny white crop top that barely covers her tits and a pair of black yoga pants so tight you can see the outline of her pussy lips.">>
<<storyImg "assets/Quests/Clair/MainQuest1/clair_angry_phone.webp">>
<<chat clair "I don't give a fuck what you heard! That screenshot is FAKE! I would NEVER call Isabella a fucking cunt to her face! I have more class than that!">>
<<text "She pauses, listening. Her face goes pale.">>
<<chat clair "What do you mean 'everyone's seen it'? Who fucking posted it?! ... Hello?! HELLO?!">>
<<text "She screams and hurls her phone at the couch. It bounces off and lands on the floor. She's breathing hard, her tits heaving under that tiny top.">>
<<text "She hasn't noticed you standing in the doorway yet. You can see her hands shaking. Her perfect little world is crumbling.">>
<div class="choice-buttons" id="clair_choices">
<<button "Step into the room">>
<<replace "#clair_choices">>
<<playerchat "Fuck, Clair. What's going on? You look like you're about to have a breakdown.">>
<<text "She whips around, eyes wide with panic. For half a second, she looks terrified. Then the arrogance slams back down.">>
<<chat clair "None of your goddamn business, loser. Get the fuck out.">>
<<text "But her voice cracks. Her tits are still heaving. She's barely holding it together.">>
<<text "Your eyes drift down to her tits straining against that tiny top. Fuck, she's hot when she's angry.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="ClairMainQuest1P3">
<img src="assets/Locations/House/livingroom.webp">
<span>Press her for answers</span>
</a>
</div>
<</replace>>
<</button>>
<<button "Stay in the doorway">>
<<replace "#clair_choices">>
<<text "You lean against the doorframe, arms crossed, watching her.">>
<<text "She picks up her phone, scrolling frantically. Her breathing gets faster. Her face goes white.">>
<<chat clair "Fuck. Fuck. FUCK.">>
<<text "She collapses onto the couch, burying her face in her hands. A choked sob escapes her.">>
<<text "You've never seen her like this. The queen of the school, completely broken. Her tits pressed against her knees as she curls up.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="ClairMainQuest1P3">
<img src="assets/Locations/House/livingroom.webp">
<span>Step in anyway</span>
</a>
</div>
<</replace>>
<</button>>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/livingroom.webp')"></div>
<div class="location-ui">
<<text "You walk over and sit down on the couch next to her. She looks up at you, eyes red-rimmed, makeup smudged. Even like this, she's fucking hot.">>
<<storyImg "assets/Quests/Clair/MainQuest1/clair_vulnerable.webp">>
<<playerchat "Tell me what happened, Clair. I can't help you if you keep pushing me away.">>
<<text "She stares at you for a long moment. Then, slowly, she speaks.">>
<<chat clair "Someone posted a fake screenshot of me online. It looks like I called Isabella Morales a 'fucking cunt' in a group chat. Now everyone thinks I said it.">>
<<text "She wipes her eyes, but more tears come.">>
<<chat clair "I'm getting death threats. People are calling me a bully. Her dad is the dean of school, and she is a fucking crybaby.">>
<<text "She looks at you, and for the first time, there's no sneer on her face. Just desperation.">>
<<chat clair "I didn't fucking say it. You have to believe me. I wouldn't do it so bluntly.">>
<<text "Your eyes drop to her tits again. They're pressed together, her cleavage on full display. Your cock twitches in your pants.">>
<<advancetime 10>>
<div class="choice-buttons" id="clair_trust">
<<button "I believe you, Clair.">>
<<replace "#clair_trust">>
<<playerchat "I believe you. You're a bitch, but you're not dumb enough to say that shit in writing.">>
<<text "She almost laughs. A small, broken smile crosses her face.">>
<<chat clair "Fuck. That's the nicest thing anyone's said to me all day.">>
<<text "She reaches out and grabs your hand. Her fingers are warm.">>
<<chat clair "Will you help me figure this out? Please? I don't have anyone else.">>
<<addRel 6 clair>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="ClairMainQuest1P4">
<img src="assets/Locations/House/livingroom.webp">
<span>Follow her</span>
</a>
</div>
<</replace>>
<</button>>
<<button "Why should I help you?">>
<<replace "#clair_trust">>
<<playerchat "Why should I help you? You've been a fucking cunt to me since I moved in.">>
<<text "Her face crumbles. She pulls her hand back.">>
<<chat clair "Yeah. I guess I deserve that.">>
<<text "She stands up, walking toward the stairs. Her tight yoga pants cling to her ass, and you can't help but watch.">>
<<chat clair "If you change your mind... I could use someone on my side.">>
<<addRel 2 clair>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="ClairMainQuest1P4">
<img src="assets/Locations/House/livingroom.webp">
<span>Follow her</span>
</a>
</div>
<</replace>>
<</button>>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/upstairs_hallway.webp')"></div>
<div class="location-ui">
<<text "You follow Clair upstairs. She stops outside her bedroom door and turns to face you. Her eyes are still red, but she's calmer now.">>
<<chat clair "There's one person who might know who did it. My ex-best friend, Stephanie. She was the only other person who knew about that conversation.">>
<<playerchat "And you trust her?">>
<<text "Clair laughs bitterly.">>
<<chat clair "I don't trust anyone. But she's my only lead. If I can prove the screenshot is doctored, I can clear my name.">>
<<text "She bites her lip, looking at you with those big, desperate eyes.">>
<<chat clair "Will you come with me? To talk to her?" >>
<<text "You can see how much it costs her to ask. Clair Kane, the queen of the school, begging for help. And fuck, she looks hot when she's vulnerable.">>
<<advancetime 10>>
<div class="choice-buttons" id="clair_help">
<<button "Yeah, I'll come.">>
<<replace "#clair_help">>
<<playerchat "Yeah, I'll come. Let's go.">>
<<text "She lets out a breath she didn't realize she was holding. A real smile spreads across her face.">>
<<chat clair "Thank you. Fuck, I mean it. I won't forget this.">>
<<text "She steps forward and gives you a quick hug. Her tits press against your chest, and your cock immediately hardens. She pulls back, not noticing.">>
<<addRel 2 clair>>
<<chat clair "We should head out to the city, we'll go when you're ready.">>
<<set $CharQuests.clair.clairMainQuest1.step to 1>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="UpstairsHallway">
<img src="assets/Locations/House/upstairs_hallway.webp">
<span>Return</span>
</a>
</div>
<</replace>>
<</button>>
<<button "Not my problem.">>
<<replace "#clair_help">>
<<playerchat "Not my problem, Clair. Figure it out yourself.">>
<<text "Her face falls. The hope drains out of her eyes.">>
<<chat clair "Right. Of course. I don't know why I thought anyone would help me.">>
<<text "She slams her door in your face. You hear a muffled sob from the other side.">>
<<addRel -3 clair>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="ClairMainQuest1Question">
<img src="assets/Locations/House/your_room.webp">
<span>Go back to your room</span>
</a>
</div>
<</replace>>
<</button>>
</div>
</div><div class="location-ui">
<<text "By returning to your room, you are skipping this quest entirely. You have a chance now to redo your option, or return to your room.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="ClairMainQuest1Quit">
<img src="assets/Locations/House/your_room.webp">
<span>Go back to your room</span>
</a>
<a class="loc-btn loc-btn--wide" data-passage="ClairMainQuest1P4">
<img src="assets/General/blank.webp">
<span>Return</span>
</a>
</div>
</div><<set $CharQuests.clair.clairMainQuest1.status to "completed">>
<<set $CharQuests.clair.clairEventQuest1.status to "active">>
<<goto "YourRoom">><div class="location-bg" style="background-image: url('assets/Locations/City/city.webp')"></div>
<div class="location-ui">
<<text "You and Clair walk through the city. She's wearing a tight black hoodie and shorts, trying to blend in. But the shorts are way to revealing.">>
<<storyImg "assets/Quests/Clair/MainQuest1/clair_walking.webp">>
<<text "She's quiet, her usual bravado gone. You find yourself staring at her ass as she walks. Those shorts are so tight you can see everything.">>
<<playerchat "So what's the deal with Stephanie?">>
<<text "Clair sighs.">>
<<chat clair "We were best friends sophomore year. Then Isabella came along, and I got jealous. I called Stephanie a pathetic loser, and she took it personally.">>
<<text "She looks at you with guilt in her eyes.">>
<<chat clair "I was a cunt to her. I deserved her hating me. But I didn't say what's on that screenshot. She's taking it too fucking far.">>
<<text "You reach Stephanie's apartment building. Clair stops, her hands shaking.">>
<<playerchat "You okay?">>
<<text "She nods, but you can see she's terrified.">>
<<chat clair "I hate this. I hate feeling weak.">>
<<text "You put a hand on her shoulder. She flinches, then relaxes.">>
<<advancetime 10>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="ClairMainQuest1P6">
<img src="assets/Locations/City/apartment.webp">
<span>Walk up to the apartment</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/City/apartment.webp')"></div>
<div class="location-ui">
<<text "You stand outside Stephanie's apartment door. Clair's hands are trembling.">>
<<advancetime 5>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="ClairMainQuest1P7">
<img src="assets/Locations/City/apartment.webp">
<span>Knock on the door</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/City/apartment.webp')"></div>
<div class="location-ui">
<<text "The door swings open. Stephanie stands there, arms crossed. She's wearing a loose tank top with no bra, and her nipples are clearly visible through the thin fabric. Her shorts are tiny, showing off her legs.">>
<<storyImg "assets/Quests/Clair/MainQuest1/stephanie_standing.webp">>
<<rchat "Stephanie" "assets/Quests/Clair/MainQuest1/stephanie_pfp.webp" "Well, well. The queen herself. And she brought a bodyguard.">>
<<text "Clair bristles.">>
<<chat clair "Stephanie, I just want to talk.">>
<<rchat "Stephanie" "assets/Quests/Clair/MainQuest1/stephanie_pfp.webp" "I don't have anything to say to you, you stuck-up cunt.">>
<<text "She starts to close the door.">>
<div class="choice-buttons" id="stephanie_talk">
<<button "Block the door with your foot">>
<<replace "#stephanie_talk">>
<<text "You step forward, wedging your foot in the door. Stephanie's eyes widen.">>
<<playerchat "We're not leaving until you tell us who doctored that screenshot.">>
<<text "Stephanie laughs, but it's brittle.">>
<<rchat "Stephanie" "assets/Quests/Clair/MainQuest1/stephanie_pfp.webp" "Doctored? That screenshot is real. I took it myself.">>
<<text "Clair's face goes white.">>
<<chat clair "What? No. I never said that.">>
<<rchat "Stephanie" "assets/Quests/Clair/MainQuest1/stephanie_pfp.webp" "You said it. Maybe not exactly those words, but the sentiment was there. I just made it... a little more colorful.">>
<<text "Stephanie smirks, her eyes flicking down to your crotch.">>
<<rchat "Stephanie" "assets/Quests/Clair/MainQuest1/stephanie_pfp.webp" "Nice bulge, by the way. Too bad you're with this bitch.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="ClairMainQuest1P8">
<img src="assets/Locations/House/livingroom.webp">
<span>Continue</span>
</a>
</div>
<</replace>>
<</button>>
<<button "Let her close it">>
<<replace "#stephanie_talk">>
<<text "The door slams in your face.">>
<<text "Clair turns to you, tears streaming down her face.">>
<<chat clair "I'm fucking ruined. My life is over.">>
<<addRel -2 clair>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="ClairMainQuest1P8">
<img src="assets/Locations/House/livingroom.webp">
<span>Continue</span>
</a>
</div>
<</replace>>
<</button>>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/City/apartment.webp')"></div>
<div class="location-ui">
<<text "Clair backs away from the door, her back hitting the wall. She's shaking, tears streaming down her face.">>
<<chat clair "She's lying. She has to be lying. I remember that conversation.">>
<<text "You move closer, putting your hand on her shoulder. She looks up at you, completely broken.">>
<<playerchat "You didn't say it. I believe you.">>
<<text "She stares at you for a long moment. Then, without warning, she grabs the front of your shirt and pulls you close.">>
<<storyImg "assets/Quests/Clair/MainQuest1/clair_shirt.webp">>
<<chat clair "Why are you helping me? Why do you actually give a fuck?">>
<<text "Her tits are pressing against your chest. You can feel her warmth through her clothing. Your cock is already getting hard.">>
<<playerchat "Because I know there's more to you than this bitchy act. And honestly? You're fucking hot when you're vulnerable.">>
<<text "She blinks, caught off guard.">>
<<chat clair "Did you just call me hot while I'm having a breakdown?">>
<<text "You shrug.">>
<<playerchat "I call it like I see it.">>
<<text "She laughs — a real, surprised laugh.">>
<<chat clair "You're such a fucking weirdo.">>
<<advancetime 10>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="ClairMainQuest1P9">
<img src="assets/Locations/House/livingroom.webp">
<span>Head back home</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/livingroom.webp')"></div>
<div class="location-ui">
<<text "Back at the house. Clair is sitting on the couch, staring at her phone. The notifications are piling up — all hate comments.">>
<<chat clair "The dean sent me an email. He's threatening to expel me if I don't apologize to Isabella.">>
<<text "She looks up at you, eyes red.">>
<<chat clair "I don't want to be fucking expelled. I can't go to college like this. I can't.">>
<<text "She reaches out and grabs your hand, squeezing it.">>
<<text "Her tits are pressed together in her tight hoodie. You can't stop staring.">>
<div class="choice-buttons" id="clair_solution">
<<button "I have a plan.">>
<<replace "#clair_solution">>
<<playerchat "I have a plan.">>
<<text "She looks at you, suspicious but hopeful.">>
<<chat clair "You do? What is it?">>
<<playerchat "Nevermind, actually. //(I can't tell her about Lilith... Maybe she has a solution, or a plan...)//">>
<<set $CharQuests.clair.clairMainQuest1.step to 2>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="DownstairsHallway">
<img src="assets/Locations/House/downstairs_hallway.webp">
<span>Leave the room</span>
</a>
</div>
<</replace>>
<</button>>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/attic.webp')"></div>
<div class="location-ui">
<<text "You climb up into the attic. Lilith is lounging on her cushions, wearing... nothing but fishnets.">>
<<storyImg "assets/Quests/Clair/MainQuest1/lilith10.webp">>
<<chat lilith "Well, well. Look who's come. And with such delicious frustration on his face.">>
<<text "You explain Clair's situation. Lilith listens, her smile growing.">>
<<chat lilith "You want to save the little princess? How noble. And how predictable.">>
<<chat lilith "I can help you. But it's going to cost you.">>
<<playerchat "What do you want?">>
<<text "She glides over to you, pressing her body against yours.">>
<<chat lilith "For now? Just a taste of your... enthusiasm.">>
<<text "She reaches down and grabs your cock through your pants. You fucking gasp.">>
<<chat lilith "Mmm. Nice. I'll take a rain check on the full payment.">>
<<text "She pulls out a small vial of glowing purple liquid.">>
<<chat lilith "Give this to her. It'll give her clarity of mind. She'll see the watermark in the screenshot — proof it was edited. She takes it from there.">>
<<text "She presses the vial into your palm, her fingers lingering.">>
<<chat lilith "Now go, save your little princess.">>
<<advancetime 5>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="ClairMainQuest1P11">
<img src="assets/Locations/House/clair_bedroom.webp">
<span>Go to Clair</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/clair_bedroom.webp')"></div>
<div class="location-ui">
<<text "You knock on Clair's door. She opens it, eyes puffy. She's changed into a loose tank top and tiny shorts. Her nipples are clearly visible through the thin fabric.">>
<<storyImg "assets/Quests/Clair/MainQuest1/clair_crying_door.webp">>
<<chat clair "What do you want?">>
<<playerchat "I got you some water. Drink it.">>
<<text "She eyes the glass of purple liquid you're holding.">>
<<chat clair "Why the fuck is it purple? ">>
<<playerchat "I've put purple dye in it, so I cheer you up a little bit... ">>
<<text "She stares at you for a long moment. Then she takes the glass.">>
<<chat clair "If this is poison, I'm fucking haunting you forever.">>
<<text "She downs it in one gulp. You watch her throat move as she swallows. Fuck, that's hot.">>
<<advancetime 5>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="ClairMainQuest1P12">
<img src="assets/Locations/House/clair_bedroom.webp">
<span>Wait</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/clair_bedroom.webp')"></div>
<div class="location-ui">
<<text "For a moment, nothing happens. Then Clair blinks, looking at her phone.">>
<<chat clair "Wait... I never noticed this before.">>
<<text "She brings the phone closer to her face.">>
<<chat clair "There's a watermark here. It's from a photo editing app. It's not the same as the original.">>
<<text "She looks up at you, eyes wide.">>
<<chat clair "I can prove it's fake. I can fucking prove it!" >>
<<text "She starts laughing, tears of relief streaming down her face.">>
<<chat clair "I can't fucking believe it.">>
<<text "She throws herself at you, wrapping her arms around your neck, pressing her tits against your chest. You can feel her nipples through her tank top.">>
<<text "Your cock is rock hard, pressing against her thigh. She doesn't pull away.">>
<<advancetime 10>>
<<addRel 6 clair>>
<<addLust 3 clair>>
<<set $CharQuests.clair.clairMainQuest1.status to "completed">>
<<set $CharQuests.clair.clairEventQuest1.status to "active">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="UpstairsHallway">
<img src="assets/Locations/House/upstairs_hallway.webp">
<span>Leave</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Quests/Clair/MoralesParty/office.webp')"></div>
<div class="location-ui">
<<text "Three strokes. Then you pull out, drag her ass to the edge of the desk and drop to your knees.">>
<<storyVideo "assets/Quests/Clair/MoralesParty/eating1.mp4">>
<<text "Her spine comes off the wood. Both hands grab the back of your head. The sound she makes is closer to a sob than a moan, and she claps a hand over her own mouth.">>
<<playerchat "Don't cover it. I want to hear how bad you don't want this.">>
<<storyVideo "assets/Quests/Clair/MoralesParty/eating2.mp4">>
<<text "She tries to close her knees on your ears. You shove them apart with your forearms and hold them">>
<<playerchat "Wider. You keep closing on me, bitch. You're not winning this.">>
<<rchat "Isabella" "assets/Quests/Clair/MoralesParty/isabella.webp" "I'm n-not—">>
<<text "You seal your mouth over her clit and suck.">>
<<storyVideo "assets/Quests/Clair/MoralesParty/eating3.mp4">>
<<text "She goes stiff. Heels drumming, head back, mouth wide, no sound at all — then all of it at once, a broken wail she tries to bite into her own wrist.">>
<<rchat "Isabella" "assets/Quests/Clair/MoralesParty/isabella.webp" "I hate you.">>
<<playerchat "Sure you do.">>
<<text "You come up with your chin wet.">>
<<playerchat "Say thank you.">>
<<rchat "Isabella" "assets/Quests/Clair/MoralesParty/isabella.webp" "Thank — thank you—">>
<<playerchat "Louder, bitch.">>
<<rchat "Isabella" "assets/Quests/Clair/MoralesParty/isabella.webp" "Thank you!">>
<div class="location-grid">
<a class="loc-btn" data-passage="IsabellaMoralesPartyBlowjob1">
<img src="assets/Quests/Clair/MoralesParty/bj1_icon.webp">
<span>Blowjob 1</span>
</a>
<a class="loc-btn" data-passage="IsabellaMoralesPartyBlowjob2">
<img src="assets/Quests/Clair/MoralesParty/bj2_icon.webp">
<span>Blowjob 2</span>
</a>
<a class="loc-btn" data-passage="IsabellaMoralesPartyBlowjob69">
<img src="assets/Quests/Clair/MoralesParty/69_icon.webp">
<span>69</span>
</a>
<a class="loc-btn" data-passage="IsabellaMoralesPartyDeepthroat">
<img src="assets/Quests/Clair/MoralesParty/deepbj_icon.webp">
<span>Deepthroat</span>
</a>
<a class="loc-btn" data-passage="IsabellaMoralesPartyMission">
<img src="assets/Quests/Clair/MoralesParty/mission_icon.webp">
<span>Missionary</span>
</a>
<a class="loc-btn" data-passage="IsabellaMoralesPartySideways">
<img src="assets/Quests/Clair/MoralesParty/sideways_icon.webp">
<span>Sideways</span>
</a>
<a class="loc-btn" data-passage="IsabellaMoralesPartyCow">
<img src="assets/Quests/Clair/MoralesParty/cow_icon.webp">
<span>Cowgirl</span>
</a>
<a class="loc-btn" data-passage="IsabellaMoralesPartyProne">
<img src="assets/Quests/Clair/MoralesParty/prone_icon.webp">
<span>Jackhammer</span>
</a>
<a class="loc-btn loc-btn--wide" data-passage="IsabellaMoralesPartyCum">
<img src="assets/Quests/Clair/MoralesParty/cum_icon.webp">
<span>Cum</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Quests/Clair/MoralesParty/office.webp')"></div>
<div class="location-ui">
<<storyVideo "assets/Quests/Clair/MoralesParty/bj1.mp4">>
<<text "You push at her mouth. She opens like she's doing you a favour.">>
<<playerchat "Take it. All the way, don't be shy now.">>
<<storyVideo "assets/Quests/Clair/MoralesParty/bj2.mp4">>
<<text "Halfway and she gags, pulls off. Spit on her chin, eyes streaming — and then she goes back down on her own before you can make her.">>
<<rchat "Isabella" "assets/Quests/Clair/MoralesParty/isabella.webp" "It's too — mmh — I can't fit it—">>
<<playerchat "You can. You've done this before, don't pretend.">>
<<rchat "Isabella" "assets/Quests/Clair/MoralesParty/isabella.webp" "Mmh— I said it's too—">>
<<storyVideo "assets/Quests/Clair/MoralesParty/bj3.mp4">>
<<text "You hold the back of her head and push until her nose is in your pubes. She gags, hands scrabbling at your hips. You count out loud, slow.">>
<<playerchat "One. Two. Three. Breathe through your nose, bitch. There you go. See? Easy.">>
<<text "She does. And her throat works around you and she moans down the length of it, low, and it vibrates.">>
<<rchat "Isabella" "assets/Quests/Clair/MoralesParty/isabella.webp" "Mmmmh—">>
<<playerchat "That's it. Moan on it. You like it, don't lie to me.">>
<<storyVideo "assets/Quests/Clair/MoralesParty/bj7.mp4">>
<<text "You let go. She rips off gasping, a string of spit swinging from her lip to your cock, and she's already complaining.">>
<<rchat "Isabella" "assets/Quests/Clair/MoralesParty/isabella.webp" "You're doing it too hard — ah — and you don't warn me—">>
<<playerchat "Then get better at it.">>
<<text "You push back in.">>
<<playerchat "Eyes up. I want to watch you cry on it.">>
<<text "She does. Her eyes fill and stay up, and about three strokes in her hips shift and she does a little involuntary 'mmh' every time she takes it deep, and she knows you can hear it.">>
<<rchat "Isabella" "assets/Quests/Clair/MoralesParty/isabella.webp" "Mmh— mmh— god—">>
<div class="location-grid">
<a class="loc-btn" data-passage="IsabellaMoralesPartyEating">
<img src="assets/Quests/Clair/MoralesParty/eating_icon.webp">
<span>Eat out</span>
</a>
<a class="loc-btn" data-passage="IsabellaMoralesPartyBlowjob2">
<img src="assets/Quests/Clair/MoralesParty/bj2_icon.webp">
<span>Blowjob 2</span>
</a>
<a class="loc-btn" data-passage="IsabellaMoralesPartyBlowjob69">
<img src="assets/Quests/Clair/MoralesParty/69_icon.webp">
<span>69</span>
</a>
<a class="loc-btn" data-passage="IsabellaMoralesPartyDeepthroat">
<img src="assets/Quests/Clair/MoralesParty/deepbj_icon.webp">
<span>Deepthroat</span>
</a>
<a class="loc-btn" data-passage="IsabellaMoralesPartyMission">
<img src="assets/Quests/Clair/MoralesParty/mission_icon.webp">
<span>Missionary</span>
</a>
<a class="loc-btn" data-passage="IsabellaMoralesPartySideways">
<img src="assets/Quests/Clair/MoralesParty/sideways_icon.webp">
<span>Sideways</span>
</a>
<a class="loc-btn" data-passage="IsabellaMoralesPartyCow">
<img src="assets/Quests/Clair/MoralesParty/cow_icon.webp">
<span>Cowgirl</span>
</a>
<a class="loc-btn" data-passage="IsabellaMoralesPartyProne">
<img src="assets/Quests/Clair/MoralesParty/prone_icon.webp">
<span>Jackhammer</span>
</a>
<a class="loc-btn loc-btn--wide" data-passage="IsabellaMoralesPartyCum">
<img src="assets/Quests/Clair/MoralesParty/cum_icon.webp">
<span>Cum</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Quests/Clair/MoralesParty/office.webp')"></div>
<div class="location-ui">
<<storyVideo "assets/Quests/Clair/MoralesParty/bj4.mp4">>
<<text "You reach down and push two fingers into her while she's working.">>
<<text "Her mouth stalls. Her eyes go wide and wet and she makes a noise around your cock like she's been punched.">>
<<rchat "Isabella" "assets/Quests/Clair/MoralesParty/isabella.webp" "Mmfh—!">>
<<playerchat "There she is. Keep sucking. Don't stop because of that.">>
<<storyVideo "assets/Quests/Clair/MoralesParty/bj5.mp4">>
<<text "She tries and she can't. Sloppy, drooling, too shallow, losing the seal every time your fingers curl. Her hips are rolling into your hand without her permission.">>
<<playerchat "You're not even sucking anymore. You're just holding it in your mouth and leaking. Listen to yourself.">>
<<rchat "Isabella" "assets/Quests/Clair/MoralesParty/isabella.webp" "Mm— mmh — I can't when you — mmh—">>
<<playerchat "You can. You're just being a lazy little fuck about it.">>
<<text "You curl up hard. She comes off completely, forehead on your thigh, hips pushing back onto your fingers, and she's loud about it.">>
<<rchat "Isabella" "assets/Quests/Clair/MoralesParty/isabella.webp" "Ah — ohh — ohh, right there, don't—">>
<<playerchat "Don't what?">>
<<rchat "Isabella" "assets/Quests/Clair/MoralesParty/isabella.webp" "Don't stop — ah — don't stop doing that—">>
<<playerchat "Say please.">>
<<rchat "Isabella" "assets/Quests/Clair/MoralesParty/isabella.webp" "Please—">>
<<text "You take her hair again.">>
<<playerchat "Open.">>
<<storyVideo "assets/Quests/Clair/MoralesParty/bj6.mp4">>
<div class="location-grid">
<a class="loc-btn" data-passage="IsabellaMoralesPartyEating">
<img src="assets/Quests/Clair/MoralesParty/eating_icon.webp">
<span>Eat out</span>
</a>
<a class="loc-btn" data-passage="IsabellaMoralesPartyBlowjob1">
<img src="assets/Quests/Clair/MoralesParty/bj1_icon.webp">
<span>Blowjob 1</span>
</a>
<a class="loc-btn" data-passage="IsabellaMoralesPartyBlowjob69">
<img src="assets/Quests/Clair/MoralesParty/69_icon.webp">
<span>69</span>
</a>
<a class="loc-btn" data-passage="IsabellaMoralesPartyDeepthroat">
<img src="assets/Quests/Clair/MoralesParty/deepbj_icon.webp">
<span>Deepthroat</span>
</a>
<a class="loc-btn" data-passage="IsabellaMoralesPartyMission">
<img src="assets/Quests/Clair/MoralesParty/mission_icon.webp">
<span>Missionary</span>
</a>
<a class="loc-btn" data-passage="IsabellaMoralesPartySideways">
<img src="assets/Quests/Clair/MoralesParty/sideways_icon.webp">
<span>Sideways</span>
</a>
<a class="loc-btn" data-passage="IsabellaMoralesPartyCow">
<img src="assets/Quests/Clair/MoralesParty/cow_icon.webp">
<span>Cowgirl</span>
</a>
<a class="loc-btn" data-passage="IsabellaMoralesPartyProne">
<img src="assets/Quests/Clair/MoralesParty/prone_icon.webp">
<span>Jackhammer</span>
</a>
<a class="loc-btn loc-btn--wide" data-passage="IsabellaMoralesPartyCum">
<img src="assets/Quests/Clair/MoralesParty/cum_icon.webp">
<span>Cum</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Quests/Clair/MoralesParty/office.webp')"></div>
<div class="location-ui">
<<storyVideo "assets/Quests/Clair/MoralesParty/691.mp4">>
<<text "You haul her up by the arm, turn her, and lift. She shrieks as her feet leave the floor.">>
<<rchat "Isabella" "assets/Quests/Clair/MoralesParty/isabella.webp" "Oh god — put me down— you're going to drop me— ah!">>
<<playerchat "Then hold on and get to work. You know what this is.">>
<<storyVideo "assets/Quests/Clair/MoralesParty/692.mp4">>
<<text "She fumbles for your cock and sucks at a bad angle, clumsy and panicky, while you lick up into her. She's making muffled little sounds the whole time she's got her mouth full.">>
<<rchat "Isabella" "assets/Quests/Clair/MoralesParty/isabella.webp" "Mmh— mmfh—">>
<<playerchat "Slower. You're rushing because you're scared. Slower.">>
<<storyVideo "assets/Quests/Clair/MoralesParty/693.mp4">>
<<text "She slows. She's trembling everywhere. Every time you suck her clit her body sags lower, her mouth stalls, her thighs clamp on your head.">>
<<rchat "Isabella" "assets/Quests/Clair/MoralesParty/isabella.webp" "Ohh— ohh god-">>
<<playerchat "You're dripping on my chin. Say it. Say what a mess you are.">>
<<rchat "Isabella" "assets/Quests/Clair/MoralesParty/isabella.webp" "I'm a— ah— I'm a mess—">>
<<playerchat "A mess, what?">>
<<rchat "Isabella" "assets/Quests/Clair/MoralesParty/isabella.webp" "I'm a mess, okay? I'm a mess — ohh — don't bounce me—">>
<<storyVideo "assets/Quests/Clair/MoralesParty/694.mp4">>
<<text "You bounce her hard, just to make her squeal.">>
<div class="location-grid">
<a class="loc-btn" data-passage="IsabellaMoralesPartyEating">
<img src="assets/Quests/Clair/MoralesParty/eating_icon.webp">
<span>Eat out</span>
</a>
<a class="loc-btn" data-passage="IsabellaMoralesPartyBlowjob1">
<img src="assets/Quests/Clair/MoralesParty/bj1_icon.webp">
<span>Blowjob 1</span>
</a>
<a class="loc-btn" data-passage="IsabellaMoralesPartyBlowjob2">
<img src="assets/Quests/Clair/MoralesParty/bj2_icon.webp">
<span>Blowjob 2</span>
</a>
<a class="loc-btn" data-passage="IsabellaMoralesPartyDeepthroat">
<img src="assets/Quests/Clair/MoralesParty/deepbj_icon.webp">
<span>Deepthroat</span>
</a>
<a class="loc-btn" data-passage="IsabellaMoralesPartyMission">
<img src="assets/Quests/Clair/MoralesParty/mission_icon.webp">
<span>Missionary</span>
</a>
<a class="loc-btn" data-passage="IsabellaMoralesPartySideways">
<img src="assets/Quests/Clair/MoralesParty/sideways_icon.webp">
<span>Sideways</span>
</a>
<a class="loc-btn" data-passage="IsabellaMoralesPartyCow">
<img src="assets/Quests/Clair/MoralesParty/cow_icon.webp">
<span>Cowgirl</span>
</a>
<a class="loc-btn" data-passage="IsabellaMoralesPartyProne">
<img src="assets/Quests/Clair/MoralesParty/prone_icon.webp">
<span>Jackhammer</span>
</a>
<a class="loc-btn loc-btn--wide" data-passage="IsabellaMoralesPartyCum">
<img src="assets/Quests/Clair/MoralesParty/cum_icon.webp">
<span>Cum</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Quests/Clair/MoralesParty/office.webp')"></div>
<div class="location-ui">
<<storyVideo "assets/Quests/Clair/MoralesParty/deepbj1.mp4">>
<<text "You lay her flat and pull her until her head hangs off the far edge, hair spilling. She has to tip her chin back to see you. Tears already running into her hairline.">>
<<rchat "Isabella" "assets/Quests/Clair/MoralesParty/isabella.webp" "Not like this, I can't breathe like—">>
<<playerchat "You'll breathe when I let you.">>
<<text "You push into her throat.">>
<<storyVideo "assets/Quests/Clair/MoralesParty/deepbj2.mp4">>
<<text "The angle is obscene. Her neck bulges. Her hands grip the desk edge behind her head, knuckles white, eyes watering over.">>
<<playerchat "Look at that. Straight down. You're a hole, Isabella. That's all you are right now.">>
<<rchat "Isabella" "assets/Quests/Clair/MoralesParty/isabella.webp" "Glk— mmh— glk—">>
<<storyVideo "assets/Quests/Clair/MoralesParty/deepbj3.mp4">>
<<text "You set a rhythm. She gurgles. Every third stroke her throat clicks and she sounds like she's drowning — and between them, when you pull back far enough, she gets a moan out.">>
<<rchat "Isabella" "assets/Quests/Clair/MoralesParty/isabella.webp" "Hah— mmh — hah—">>
<<playerchat "Good girl.">>
<<storyVideo "assets/Quests/Clair/MoralesParty/deepbj4.mp4">>
<<text "You pull out. She rolls onto her side coughing, spit off her chin, dragging air in ragged gulps.">>
<<rchat "Isabella" "assets/Quests/Clair/MoralesParty/isabella.webp" "I hate — I hate you so much — ohh, my throat—">>
<<playerchat "You keep saying that like it's news.">>
<<rchat "Isabella" "assets/Quests/Clair/MoralesParty/isabella.webp" "Because it's true — ah — it's true—">>
<div class="location-grid">
<a class="loc-btn" data-passage="IsabellaMoralesPartyEating">
<img src="assets/Quests/Clair/MoralesParty/eating_icon.webp">
<span>Eat out</span>
</a>
<a class="loc-btn" data-passage="IsabellaMoralesPartyBlowjob1">
<img src="assets/Quests/Clair/MoralesParty/bj1_icon.webp">
<span>Blowjob 1</span>
</a>
<a class="loc-btn" data-passage="IsabellaMoralesPartyBlowjob2">
<img src="assets/Quests/Clair/MoralesParty/bj2_icon.webp">
<span>Blowjob 2</span>
</a>
<a class="loc-btn" data-passage="IsabellaMoralesPartyBlowjob69">
<img src="assets/Quests/Clair/MoralesParty/69_icon.webp">
<span>69</span>
</a>
<a class="loc-btn" data-passage="IsabellaMoralesPartyMission">
<img src="assets/Quests/Clair/MoralesParty/mission_icon.webp">
<span>Missionary</span>
</a>
<a class="loc-btn" data-passage="IsabellaMoralesPartySideways">
<img src="assets/Quests/Clair/MoralesParty/sideways_icon.webp">
<span>Sideways</span>
</a>
<a class="loc-btn" data-passage="IsabellaMoralesPartyCow">
<img src="assets/Quests/Clair/MoralesParty/cow_icon.webp">
<span>Cowgirl</span>
</a>
<a class="loc-btn" data-passage="IsabellaMoralesPartyProne">
<img src="assets/Quests/Clair/MoralesParty/prone_icon.webp">
<span>Jackhammer</span>
</a>
<a class="loc-btn loc-btn--wide" data-passage="IsabellaMoralesPartyCum">
<img src="assets/Quests/Clair/MoralesParty/cum_icon.webp">
<span>Cum</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Quests/Clair/MoralesParty/office.webp')"></div>
<div class="location-ui">
<<storyVideo "assets/Quests/Clair/MoralesParty/mission1.mp4">>
<<text "You turn her over, get between her legs, and put it in her properly. She arches.">>
<<rchat "Isabella" "assets/Quests/Clair/MoralesParty/isabella.webp" "Ohh — ohh god — ohh—">>
<<playerchat "There it is. That's the face vou've been waiting for.">>
<<rchat "Isabella" "assets/Quests/Clair/MoralesParty/isabella.webp" "Shut up— ah—">>
<<playerchat "You've been waiting for it and now you're getting it whether you like it or not.">>
<<storyVideo "assets/Quests/Clair/MoralesParty/mission2.mp4">>
<<text "Slow and deep, bottoming out every stroke. Her hips start tipping up to meet you. Her heels hook the small of your back.">>
<<rchat "Isabella" "assets/Quests/Clair/MoralesParty/isabella.webp" "Mmh — mmh — ohh that's—">>
<<playerchat "Look at your legs. You're pulling me in. Not even on purpose, are you?">>
<<rchat "Isabella" "assets/Quests/Clair/MoralesParty/isabella.webp" "I— it's just— ah— it's a reflex—">>
<<playerchat "It's a reflex. Sure. Say what it really is.">>
<<rchat "Isabella" "assets/Quests/Clair/MoralesParty/isabella.webp" "It's— mmh—">>
<<playerchat "Say it. You're a bitch who likes being fucked.">>
<<rchat "Isabella" "assets/Quests/Clair/MoralesParty/isabella.webp" "I'm a bitch who likes being fucked— ohh, there, right there—">>
<<storyVideo "assets/Quests/Clair/MoralesParty/mission3.mp4">>
<<text "You put your mouth on her neck. She tips her head for you, then catches herself, and swears at the ceiling.">>
<<rchat "Isabella" "assets/Quests/Clair/MoralesParty/isabella.webp" "God — damn it — mmh—">>
<<playerchat "You can't help it. That's what's killing you.">>
<div class="location-grid">
<a class="loc-btn" data-passage="IsabellaMoralesPartyEating">
<img src="assets/Quests/Clair/MoralesParty/eating_icon.webp">
<span>Eat out</span>
</a>
<a class="loc-btn" data-passage="IsabellaMoralesPartyBlowjob1">
<img src="assets/Quests/Clair/MoralesParty/bj1_icon.webp">
<span>Blowjob 1</span>
</a>
<a class="loc-btn" data-passage="IsabellaMoralesPartyBlowjob2">
<img src="assets/Quests/Clair/MoralesParty/bj2_icon.webp">
<span>Blowjob 2</span>
</a>
<a class="loc-btn" data-passage="IsabellaMoralesPartyBlowjob69">
<img src="assets/Quests/Clair/MoralesParty/69_icon.webp">
<span>69</span>
</a>
<a class="loc-btn" data-passage="IsabellaMoralesPartyDeepthroat">
<img src="assets/Quests/Clair/MoralesParty/deepbj_icon.webp">
<span>Deepthroat</span>
</a>
<a class="loc-btn" data-passage="IsabellaMoralesPartySideways">
<img src="assets/Quests/Clair/MoralesParty/sideways_icon.webp">
<span>Sideways</span>
</a>
<a class="loc-btn" data-passage="IsabellaMoralesPartyCow">
<img src="assets/Quests/Clair/MoralesParty/cow_icon.webp">
<span>Cowgirl</span>
</a>
<a class="loc-btn" data-passage="IsabellaMoralesPartyProne">
<img src="assets/Quests/Clair/MoralesParty/prone_icon.webp">
<span>Jackhammer</span>
</a>
<a class="loc-btn loc-btn--wide" data-passage="IsabellaMoralesPartyCum">
<img src="assets/Quests/Clair/MoralesParty/cum_icon.webp">
<span>Cum</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Quests/Clair/MoralesParty/office.webp')"></div>
<div class="location-ui">
<<storyVideo "assets/Quests/Clair/MoralesParty/sideways1.mp4">>
<<text "You pull out, roll her onto her side. She wasn't ready. She yelps.">>
<<rchat "Isabella" "assets/Quests/Clair/MoralesParty/isabella.webp" "Ah—! Ohh — ohh god, that's deep—">>
<<playerchat "Look at that. Best angle in the house and you can't hide from it. Can't close, can't turn over, can't do anything but take it.">>
<<storyVideo "assets/Quests/Clair/MoralesParty/sideways2.mp4">>
<<text "She gets a hand down to push at you, to slow it.">>
<<rchat "Isabella" "assets/Quests/Clair/MoralesParty/isabella.webp" "Let go— let me— ah—">>
<<playerchat "No. Feel it.">>
<<storyVideo "assets/Quests/Clair/MoralesParty/sideways3.mp4">>
<<text "It's written all over her. Her mouth keeps opening on words she doesn't finish.">>
<<rchat "Isabella" "assets/Quests/Clair/MoralesParty/isabella.webp" "Mmh — mmh — ohh, ohh don't—">>
<<playerchat "Don't what?">>
<<rchat "Isabella" "assets/Quests/Clair/MoralesParty/isabella.webp" "Don't make me— ah— I'm going to—">>
<<playerchat "You're going to come. I can feel it, you're squeezing me.">>
<<rchat "Isabella" "assets/Quests/Clair/MoralesParty/isabella.webp" "I can't — I can't— mmh!">>
<<playerchat "You can. It's not up to you. That's the whole point, bitch.">>
<<storyVideo "assets/Quests/Clair/MoralesParty/sideways4.mp4">>
<<text "You lean into the leg on your shoulder. It goes right through her.">>
<<rchat "Isabella" "assets/Quests/Clair/MoralesParty/isabella.webp" "Ahh — ahh — ohh fuck, ohh fuck—">>
<<text "She breaks with a sound like she's being hurt, high and thin, heel drumming your chest, and she keeps saying it while she comes.">>
<<rchat "Isabella" "assets/Quests/Clair/MoralesParty/isabella.webp" "Ohh — ohh — ohhh—">>
<<playerchat "I guess that's my sign to go faster.">>
<<rchat "Isabella" "assets/Quests/Clair/MoralesParty/isabella.webp" "Ahhh! No!">>
<<storyVideo "assets/Quests/Clair/MoralesParty/sideways5.mp4">>
<<text "Afterwards she's limp. Mouth open, spit running sideways down her cheek.">>
<<rchat "Isabella" "assets/Quests/Clair/MoralesParty/isabella.webp" "Please. Please, just — a minute. Please.">>
<<playerchat "You've got a minute. Use it well, you're not getting another one.">>
<<rchat "Isabella" "assets/Quests/Clair/MoralesParty/isabella.webp" "Okay— okay—">>
<div class="location-grid">
<a class="loc-btn" data-passage="IsabellaMoralesPartyEating">
<img src="assets/Quests/Clair/MoralesParty/eating_icon.webp">
<span>Eat out</span>
</a>
<a class="loc-btn" data-passage="IsabellaMoralesPartyBlowjob1">
<img src="assets/Quests/Clair/MoralesParty/bj1_icon.webp">
<span>Blowjob 1</span>
</a>
<a class="loc-btn" data-passage="IsabellaMoralesPartyBlowjob2">
<img src="assets/Quests/Clair/MoralesParty/bj2_icon.webp">
<span>Blowjob 2</span>
</a>
<a class="loc-btn" data-passage="IsabellaMoralesPartyBlowjob69">
<img src="assets/Quests/Clair/MoralesParty/69_icon.webp">
<span>69</span>
</a>
<a class="loc-btn" data-passage="IsabellaMoralesPartyDeepthroat">
<img src="assets/Quests/Clair/MoralesParty/deepbj_icon.webp">
<span>Deepthroat</span>
</a>
<a class="loc-btn" data-passage="IsabellaMoralesPartyMission">
<img src="assets/Quests/Clair/MoralesParty/mission_icon.webp">
<span>Missionary</span>
</a>
<a class="loc-btn" data-passage="IsabellaMoralesPartyCow">
<img src="assets/Quests/Clair/MoralesParty/cow_icon.webp">
<span>Cowgirl</span>
</a>
<a class="loc-btn" data-passage="IsabellaMoralesPartyProne">
<img src="assets/Quests/Clair/MoralesParty/prone_icon.webp">
<span>Jackhammer</span>
</a>
<a class="loc-btn loc-btn--wide" data-passage="IsabellaMoralesPartyCum">
<img src="assets/Quests/Clair/MoralesParty/cum_icon.webp">
<span>Cum</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Quests/Clair/MoralesParty/office.webp')"></div>
<div class="location-ui">
<<text "You sit on the leather sofa, cock still wet, and point at your lap.">>
<<playerchat "Up. You're riding.">>
<<rchat "Isabella" "assets/Quests/Clair/MoralesParty/isabella.webp" "My legs are shaking—">>
<<playerchat "Then fall off. Up.">>
<<text "Her knees nearly go on the way over. She grabs your shoulder and lowers herself down with her eyes screwed shut — and moans the whole way down, long and unguarded, before she can catch it.">>
<<rchat "Isabella" "assets/Quests/Clair/MoralesParty/isabella.webp" "Ohhhhh—">>
<<storyVideo "assets/Quests/Clair/MoralesParty/cow1.mp4">>
<<text "She finds a rhythm, hands braced on your chest, chin up like she's in charge.">>
<<playerchat "Look at you. All that mouth and this is all it takes to shut you up. Bouncing on it like it's your job.">>
<<rchat "Isabella" "assets/Quests/Clair/MoralesParty/isabella.webp" "It's — mmh — I'm controlling it—">>
<<storyVideo "assets/Quests/Clair/MoralesParty/cow2.mp4">>
<<playerchat "You're not controlling anything. You're moving because if you stop it's worse.">>
<<rchat "Isabella" "assets/Quests/Clair/MoralesParty/isabella.webp" "That's not— ah— that's not true—">>
<<storyVideo "assets/Quests/Clair/MoralesParty/cow3.mp4">>
<<text "Her rhythm falters. She drops too hard and the sound is a sob more than a moan. She tries to slow down and her hips won't let her.">>
<<rchat "Isabella" "assets/Quests/Clair/MoralesParty/isabella.webp" "Oh god — oh god, it's — mmh — it's so—">>
<<playerchat "Say it. Say you're my bitch.">>
<<rchat "Isabella" "assets/Quests/Clair/MoralesParty/isabella.webp" "I'm your — ah — I'm your bitch—">>
<<playerchat "Again.">>
<<rchat "Isabella" "assets/Quests/Clair/MoralesParty/isabella.webp" "I'm your bitch, I'm your bitch — ohh—">>
<div class="location-grid">
<a class="loc-btn" data-passage="IsabellaMoralesPartyEating">
<img src="assets/Quests/Clair/MoralesParty/eating_icon.webp">
<span>Eat out</span>
</a>
<a class="loc-btn" data-passage="IsabellaMoralesPartyBlowjob1">
<img src="assets/Quests/Clair/MoralesParty/bj1_icon.webp">
<span>Blowjob 1</span>
</a>
<a class="loc-btn" data-passage="IsabellaMoralesPartyBlowjob2">
<img src="assets/Quests/Clair/MoralesParty/bj2_icon.webp">
<span>Blowjob 2</span>
</a>
<a class="loc-btn" data-passage="IsabellaMoralesPartyBlowjob69">
<img src="assets/Quests/Clair/MoralesParty/69_icon.webp">
<span>69</span>
</a>
<a class="loc-btn" data-passage="IsabellaMoralesPartyDeepthroat">
<img src="assets/Quests/Clair/MoralesParty/deepbj_icon.webp">
<span>Deepthroat</span>
</a>
<a class="loc-btn" data-passage="IsabellaMoralesPartyMission">
<img src="assets/Quests/Clair/MoralesParty/mission_icon.webp">
<span>Missionary</span>
</a>
<a class="loc-btn" data-passage="IsabellaMoralesPartySideways">
<img src="assets/Quests/Clair/MoralesParty/sideways_icon.webp">
<span>Sideways</span>
</a>
<a class="loc-btn" data-passage="IsabellaMoralesPartyProne">
<img src="assets/Quests/Clair/MoralesParty/prone_icon.webp">
<span>Jackhammer</span>
</a>
<a class="loc-btn loc-btn--wide" data-passage="IsabellaMoralesPartyCum">
<img src="assets/Quests/Clair/MoralesParty/cum_icon.webp">
<span>Cum</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Quests/Clair/MoralesParty/office.webp')"></div>
<div class="location-ui">
<<storyVideo "assets/Quests/Clair/MoralesParty/prone1.mp4">>
<<text "You get both hands on her hips, pin her down, and hammer up into her. Her eyes go out of focus.">>
<<rchat "Isabella" "assets/Quests/Clair/MoralesParty/isabella.webp" "Ah— ah— ah— ohh—">>
<<playerchat "There. Now you're not doing anything. Now you're just a thing I'm using.">>
<<storyVideo "assets/Quests/Clair/MoralesParty/prone2.mp4">>
<<text "Her legs give out completely. Dead weight. You drive her whole body up with every stroke. No words, just noise.">>
<<rchat "Isabella" "assets/Quests/Clair/MoralesParty/isabella.webp" "Ah— ahh — mmh — ahh—">>
<<playerchat "You've stopped talking. That's how I know it's good. Say something, bitch. Try.">>
<<rchat "Isabella" "assets/Quests/Clair/MoralesParty/isabella.webp" "P-please—">>
<<playerchat "Please what?">>
<<rchat "Isabella" "assets/Quests/Clair/MoralesParty/isabella.webp" "Please — I don't — mmh — I don't know—">>
<<storyVideo "assets/Quests/Clair/MoralesParty/prone3.mp4">>
<<playerchat "There it is. Your tight cunt getting used. Count how many times I've thrusted inside you so you can tell your daddy later.">>
<<rchat "Isabella" "assets/Quests/Clair/MoralesParty/isabella.webp" "Mmh— don't — don't talk about my father—">>
<div class="location-grid">
<a class="loc-btn" data-passage="IsabellaMoralesPartyEating">
<img src="assets/Quests/Clair/MoralesParty/eating_icon.webp">
<span>Eat out</span>
</a>
<a class="loc-btn" data-passage="IsabellaMoralesPartyBlowjob1">
<img src="assets/Quests/Clair/MoralesParty/bj1_icon.webp">
<span>Blowjob 1</span>
</a>
<a class="loc-btn" data-passage="IsabellaMoralesPartyBlowjob2">
<img src="assets/Quests/Clair/MoralesParty/bj2_icon.webp">
<span>Blowjob 2</span>
</a>
<a class="loc-btn" data-passage="IsabellaMoralesPartyBlowjob69">
<img src="assets/Quests/Clair/MoralesParty/69_icon.webp">
<span>69</span>
</a>
<a class="loc-btn" data-passage="IsabellaMoralesPartyDeepthroat">
<img src="assets/Quests/Clair/MoralesParty/deepbj_icon.webp">
<span>Deepthroat</span>
</a>
<a class="loc-btn" data-passage="IsabellaMoralesPartyMission">
<img src="assets/Quests/Clair/MoralesParty/mission_icon.webp">
<span>Missionary</span>
</a>
<a class="loc-btn" data-passage="IsabellaMoralesPartySideways">
<img src="assets/Quests/Clair/MoralesParty/sideways_icon.webp">
<span>Sideways</span>
</a>
<a class="loc-btn" data-passage="IsabellaMoralesPartyCow">
<img src="assets/Quests/Clair/MoralesParty/cow_icon.webp">
<span>Cowgirl</span>
</a>
<a class="loc-btn loc-btn--wide" data-passage="IsabellaMoralesPartyCum">
<img src="assets/Quests/Clair/MoralesParty/cum_icon.webp">
<span>Cum</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Quests/Clair/MoralesParty/office.webp')"></div>
<div class="location-ui">
<<text "You stand with her still on you, dump her forward over the glass table, and get behind her.">>
<<playerchat "Last one. Then I'm done with you.">>
<<rchat "Isabella" "assets/Quests/Clair/MoralesParty/isabella.webp" "Mmh—">>
<<playerchat "Not even a word. Look at the state of you.">>
<<storyVideo "assets/Quests/Clair/MoralesParty/cum1.mp4">>
<<text "You fuck her. The desk complains against the floor. ">>
<<text "You don't warn her. You bottom out, hold, and come inside her. She feels it. Her whole body shivers and her voice goes up.">>
<<rchat "Isabella" "assets/Quests/Clair/MoralesParty/isabella.webp" "Not inside me! No!">>
<<playerchat "Oh yes.">>
<<rchat "Isabella" "assets/Quests/Clair/MoralesParty/isabella.webp" "You're— mmh — you're still—">>
<<text "You pull out slow. It comes after you, landing on the glass underneath with a wet tap she can hear.">>
<<storyVideo "assets/Quests/Clair/MoralesParty/cum2.mp4">>
<<rchat "Isabella" "assets/Quests/Clair/MoralesParty/isabella.webp" "Ohh — ohh, that's—">>
<<text "She hasn't moved. You take her hair, lift her head, and point her at it.">>
<<playerchat "Down there. You made that mess. Clean it up.">>
<<rchat "Isabella" "assets/Quests/Clair/MoralesParty/isabella.webp" "With my—">>
<<playerchat "With your mouth. Off the glass. Go on.">>
<<text "She slides off onto her knees, still crying, looks at the smear, and bends down.">>
<<rchat "Isabella" "assets/Quests/Clair/MoralesParty/isabella.webp" "Mmh—">>
<<playerchat "All of it. Don't leave a streak.">>
<<storyVideo "assets/Quests/Clair/MoralesParty/cum3.mp4">>
<<text "You lean in close. Your eyes lock onto hers. The power pulses behind your eyes, and her breath hitches. Her pupils dilate.">>
<<playerchat "You're going to go downstairs. You're going to find Clair. And you're going to apologize to her. In front of everyone.">>
<<rchat "Isabella" "assets/Quests/Clair/MoralesParty/isabella.webp" "I... I can't... I don't...">>
<<playerchat "You WILL. Understand?">>
<<text "She's trembling now. Tears are streaming down her face. She nods.">>
<<rchat "Isabella" "assets/Quests/Clair/MoralesParty/isabella.webp" "Okay... okay... I'll do it.">>
<<text "You turn and walk out of the office. You can hear her sobbing behind you.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="ClairMoralesPartyP11">
<img src="assets/Quests/Clair/MoralesParty/mansion.webp">
<span>Find Clair</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/clair_bedroom.webp')"></div>
<div class="location-title">The Morales Party</div>
<div class="location-ui">
<<text "You push open Clair's door without knocking. She's sitting cross-legged on her bed, scrolling through her phone, wearing a crop top that barely covers her tits and nothing below the waistline.">>
<<storyImg "assets/Quests/Clair/MoralesParty/clair_on_bed.webp">>
<<chat clair "Ever heard of knocking, you fucking creep?">>
<<text "She doesn't look up. Her tits shift as she shifts position, and you can't stop staring.">>
<<playerchat "You left the door open.">>
<<chat clair "And you left your manners in the gutter. What do you want?">>
<<text "She finally looks up. Her eyes narrow.">>
<<chat clair "Actually, good timing. There's a party Friday night. Isabella Morales is hosting it at her parents' mansion. They're out of town, so she's got the whole place to herself.">>
<<playerchat "Isabella? As in the girl who almost got you expelled?">>
<<text "Clair's jaw tightens. Her tits heave as she takes a breath.">>
<<chat clair "The same cunt. But if I don't show up, everyone's going to think I'm scared of her. That I'm hiding. And I'm not hiding from that fake-ass bitch.">>
<<text "She sets her phone down and leans forward, and the crop top rides up, exposing her belly and the underside of her tits. Your cock is rock hard.">>
<<chat clair "You're coming with me.">>
<<playerchat "Me? Why the fuck would I want to go to a party full of people who hate you?">>
<<chat clair "Because everyone's invited. Even you. And because...">>
<<text "She hesitates. Her face goes pink. She looks away.">>
<<chat clair "Because I'm not walking into that house alone. Got it? Don't make it weird.">>
<<text "You smirk. She's actually asking for help.">>
<<playerchat "Fine. I'll go. But you owe me.">>
<<chat clair "Yeah, yeah. Whatever. Friday night. Be in my room. And wear something that doesn't look like you dressed yourself in the dark.">>
<<set $CharQuests.clair.clairMoralesPartyQuest.step to 1>>
<<advancetime 10>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="UpstairsHallwayDecider">
<img src="assets/Locations/House/upstairs_hallway.webp">
<span>Leave</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/clair_bedroom.webp')"></div>
<div class="location-title">Friday Night</div>
<div class="location-ui">
<<text "Friday night. You knock on Clair's door, and a second later it swings open. Your mouth goes dry. Your cock gets hard instantly.">>
<<text "Clair is already down to her underwear when you get to the door. She doesn't stop, doesn't turn around, just keeps talking at the wall while she digs through the rail.">>
<<storyImg "assets/Quests/Clair/MoralesParty/undressing1.webp">>
<<chat clair "You're staring, pervert.">>
<<playerchat "You look... wow.">>
<<chat clair "Wow? That's the best you could come up with?">>
<<chat clair "Get in. I need to finish getting ready. And don't touch anything.">>
<<text "She pulls something out, looks at it, and drops it straight back on the rail. Then she pulls out a black corset and a leather jacket, and holds them both up to herself in the mirror.">>
<<text "The corset goes on. She hooks it from the bottom up without rushing, one hand braced on the dresser, and pulls the laces tight enough that it changes her whole shape.">>
<<text "Then the jacket, over the top, open.">>
<<storyImg "assets/Quests/Clair/MoralesParty/undressing2.webp">>
<<text "You come in and sit on the arm of the chair. She gets up and turns, slow, checking the line of the jacket from the side.">>
<<storyImg "assets/Quests/Clair/MoralesParty/undressing3.webp">>
<<chat clair "Are you going to sit there gawking all night, or are you going to say something useful?">>
<<playerchat "I'm enjoying the view.">>
<<chat clair "Of course you are.">>
<<text "She shrugs the jacket off one shoulder and looks at that, then both shoulders, letting it hang off her elbows.">>
<<storyImg "assets/Quests/Clair/MoralesParty/undressing4.webp">>
<<chat clair "No. It's too much. I look like I'm trying.">>
<<playerchat "You are trying.">>
<<chat clair "Yes, but you're not supposed to be able to tell.">>
<<text "She gets up and stands in front of the mirror with her hands on her hips and just... looks. Long enough that it stops being vanity and starts being a calculation.">>
<<storyImg "assets/Quests/Clair/MoralesParty/undressing5.webp">>
<<text "Then she pulls the front of the corset down, out of the way, and lets her tits sit over the top of it — just to see.">>
<<storyImg "assets/Quests/Clair/MoralesParty/undressing6.webp">>
<<chat clair "You actually don't look terrible. For you. What's that, a borrowed shirt?">>
<<playerchat "I own clothes, Clair.">>
<<chat clair "Could've fooled me.">>
<<text "She steps closer. Her perfume is sweet and sharp, and her tits are right there, inches from your face. Her nipples are hard under the dress.">>
<<text "She keeps looking in the mirror. For about ninety seconds.">>
<<text "Then she catches her own reflection again and her mouth goes flat.">>
<<chat clair "No. The corset's wrong. It's the wrong black, it's going to look cheap under the lights, and I'll be pulling at it all night.">>
<<text "She gets the jacket off and drops it on the bed, then starts unhooking the corset from the top down, and she doesn't turn around to do it.">>
<<storyImg "assets/Quests/Clair/MoralesParty/undressing8.webp">>
<<text "It comes off. She's stood there in just her knickers and the heels and she does not so much as glance at you.">>
<<storyImg "assets/Quests/Clair/MoralesParty/undressing9.webp">>
<<playerchat "You're going to be late.">>
<<chat clair "Then I'll be late looking right.">>
<<chat clair "One more thing. Tonight, you do what I say. You don't wander off. You don't talk to people I don't tell you to talk to. And if Isabella starts something, you keep your mouth shut and let me handle it. Understood?">>
<<playerchat "Why would I let you handle it?">>
<<chat clair "Because she's my nemesis, not yours. And because if you start running your mouth, we both end up looking like idiots.">>
<<text "She holds your gaze. Her tits rise and fall. There's something underneath the arrogance. Fear. She's scared of seeing Isabella again.">>
<<playerchat "Fine. I'll follow your lead.">>
<<text "She blinks. She didn't expect that.">>
<<chat clair "Good. Then let's go.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="ClairMoralesPartyP3">
<img src="assets/Quests/Clair/MoralesParty/mansion.webp">
<span>Head to the party</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Quests/Clair/MoralesParty/mansion.webp')"></div>
<div class="location-title">Isabella's Mansion</div>
<div class="location-ui">
<<text "The Morales estate is less of a house and more of a palace. Columns line the front entrance, and the driveway is packed with cars worth more than you'll make in a lifetime. Bass thumps from inside, and the windows glow with pulsing light. You feel out of place before you've even reached the door.">>
<<text "Clair walks beside you, her heels clicking on the marble walkway. She's quiet. Tense. Her tits are heaving slightly.">>
<<playerchat "You okay?">>
<<chat clair "I'm fine. Just... stay close. And try not to embarrass me.">>
<<text "The front door is open, and a crush of people spills out onto the lawn. Girls in tiny dresses with their tits spilling out, guys in designer clothes looking smug. Everyone's holding a drink. Everyone's laughing. It's the kind of party you only see in movies.">>
<<storyVideo "assets/Quests/Clair/MoralesParty/dance3.mp4">>
<<text "You step inside. The mansion is enormous. Marble floors, a sweeping staircase, chandeliers hanging from vaulted ceilings. The bass rattles your teeth. Bodies grind together in the living room like animals in heat. Your cock is already half-hard from the atmosphere alone.">>
<<storyVideo "assets/Quests/Clair/MoralesParty/dance1.mp4">>
<<chat clair "Let's get a drink. I need one.">>
<<text "You follow her to the bar, a literal bar, staffed by a guy in a vest and bow tie. Clair orders something pink and fruity, and you grab a beer. She downs half her drink in one go and exhales.">>
<<chat clair "God, I hate these people.">>
<<playerchat "Then why are we here?">>
<<chat clair "Because if I let them see me running, they'll never stop talking. I'd rather die than give Isabella that satisfaction.">>
<<text "You nod.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="ClairMoralesPartyP4">
<img src="assets/Quests/Clair/MoralesParty/rachel.webp">
<span>Mingle</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Quests/Clair/MoralesParty/mansion.webp')"></div>
<div class="location-ui">
<<text "An hour passes. You and Clair drift through the party together, and she introduces you to people. Most of them are exactly what you expected: rich, bored, and fake as hell. But a few aren't terrible.">>
<<storyImg "assets/Quests/Clair/MoralesParty/rachel.webp">>
<<text "A girl named Rachel with big tits and a bright smile starts talking to you. She's wearing a dress so low-cut you can see her bra and most of her cleavage. She's tipsy and keeps touching your arm.">>
<<rchat "Rachel" "assets/Quests/Clair/MoralesParty/rachel.webp" "So how do you know Clair?">>
<<playerchat "I'm her stepbrother.">>
<<rchat "Rachel" "assets/Quests/Clair/MoralesParty/rachel.webp" "Stepbrother? Oh my god, that's so hot. Do you two... you know...">>
<<text "She waggles her eyebrows. Clair appears at your side, sliding her arm through yours. Her tits press against your bicep, and her fingers dig into your forearm.">>
<<chat clair "No, we don't 'you know.' And he's not interested, Rachel. Go find someone else to drool on.">>
<<text "Rachel pouts and wanders off. Clair doesn't let go of your arm.">>
<<playerchat "Jealous?">>
<<chat clair "Don't flatter yourself. I just don't want you embarrassing me by sleeping with the first girl who touches your arm.">>
<<text "But she doesn't let go. Her tits are still pressed against you. Her face is pink.">>
<<advancetime 20>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="ClairMoralesPartyP5">
<img src="assets/Quests/Clair/MoralesParty/clair_icon.webp">
<span>Keep going</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Quests/Clair/MoralesParty/mansion.webp')"></div>
<div class="location-ui">
<<text "And then you see her.">>
<<storyVideo "assets/Quests/Clair/MoralesParty/isabella_walking.mp4">>
<<text "Isabella Morales descends the staircase like she owns the place, and she does. She's tall, brunette, and built like a porn star, with tits that defy gravity in a tight dress that leaves nothing to the imagination. Her ass sways with every step. Her smile is sharp enough to cut glass.">>
<<storyImg "assets/Quests/Clair/MoralesParty/isabella.webp">>
<<text "She spots Clair immediately. Her smile widens. It's not a friendly smile.">>
<<rchat "Isabella" "assets/Quests/Clair/MoralesParty/isabella.webp" "Clair! You actually came! I'm shocked. I thought you'd be too embarrassed to show your face after that little... incident.">>
<<text "The crowd around them quiets. People are watching. Clair's grip on your arm tightens.">>
<<chat clair "I have nothing to be embarrassed about. The screenshot was doctored, and everyone knows it.">>
<<rchat "Isabella" "assets/Quests/Clair/MoralesParty/isabella.webp" "Do they? Because I heard a rumor that you paid someone off to make that go away. That's so pathetic. But then again, you've always been pathetic, haven't you?">>
<<text "Isabella takes a step closer. Her tits brush against Clair's shoulder. She's loving this.">>
<<rchat "Isabella" "assets/Quests/Clair/MoralesParty/isabella.webp" "You know what I remember? I remember you crying in the bathroom after prom because no one wanted to dance with you. You were so desperate you tried to kiss Derek, and he pushed you away. Everyone saw. It was humiliating.">>
<<text "Clair flinches. Her face goes pale. Her nails dig into your arm hard enough to hurt.">>
<<rchat "Isabella" "assets/Quests/Clair/MoralesParty/isabella.webp" "And then you tried to blame me. You always blame me. But the truth is, Clair, you're just a sad, lonely little girl who's never been good enough for anyone. Not for your dad. Not for your stepmom. And definitely not for anyone here.">>
<<text "The crowd is laughing now. Quietly. Cruelly. Clair's eyes are glistening.">>
<<rchat "Isabella" "assets/Quests/Clair/MoralesParty/isabella.webp" "And you brought your stepbrother. How sweet. Is he your bodyguard? Your emotional support animal? Or is he just the only person pathetic enough to spend time with you?">>
<<text "She turns to you. Her eyes sweep down your body and back up, and her lip curls.">>
<<rchat "Isabella" "assets/Quests/Clair/MoralesParty/isabella.webp" "You. I don't know who you are, and I don't care. You're ugly, you're poor, and you're clearly only here because Clair couldn't find anyone else to drag along. So why don't you do us all a favor and fuck off back to whatever trailer park you crawled out of? This party is for people who matter. You don't.">>
<<text "She turns away. The crowd is still laughing. Clair is shaking beside you.">>
<<rchat "Isabella" "assets/Quests/Clair/MoralesParty/isabella.webp" "Now get out of my house. Both of you.">>
<<advancetime 15>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="ClairMoralesPartyP6">
<img src="assets/Locations/City/city.webp">
<span>Leave</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Quests/Clair/MoralesParty/mansion.webp')"></div>
<div class="location-ui">
<<text "Clair grabs your arm and pulls you toward the door. Her face is white. Her eyes are red. She's not crying, but she's close.">>
<<chat clair "We're leaving. Now.">>
<<text "You open your mouth to answer, but a sudden wave of dizziness hits you like a truck. Your vision swims. Your stomach lurches. You stumble, grabbing the wall for support.">>
<<storyVideo "assets/Quests/Clair/MoralesParty/nausea.mp4">>
<<playerchat "I... I need a minute.">>
<<chat clair "What? What's wrong?">>
<<playerchat "I don't know. I think... I think I'm gonna puke.">>
<<text "You push off the wall and stumble toward the bathroom, one hand over your mouth. The room is spinning. Your vision is blurring at the edges. You barely make it through the bathroom door before your knees buckle.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="ClairMoralesPartyP7">
<img src="assets/Quests/Clair/MoralesParty/bathroom.webp">
<span>Bathroom</span>
</a>
</div>
</div><div class="location-ui">
<<text "Your head hits the tile. The world goes dark.">>
<<text "And then... you're somewhere else.">>
<<storyImg "assets/Quests/Clair/MoralesParty/lilith_dream.webp">>
<<text "Lilith is standing in front of you, her eyes glowing purple. She's smiling.">>
<<chat lilith "Are you really gonna let her off like that? That was too evil even for my sake.">>
<<playerchat "Lilith? How are you...? You were back at the attic...">>
<<chat lilith "I replenished enough energy to reach you. You're welcome, by the way.">>
<<text "She walks toward you, her hips swaying. Her tits bounce with every step. Your cock is rock hard.">>
<<chat lilith "I saw what that bitch did. I felt it through you. The humiliation. The shame. The way she made you feel small.">>
<<playerchat "It's not a big deal.">>
<<chat lilith "It IS a big deal. You're mine now. My contract. My blood. And no one humiliates what's mine.">>
<<text "She stops inches from you. Her hand cups your cheek, cold and smooth.">>
<<chat lilith "We're going to punish her. And you're going to like it.">>
<<playerchat "How?">>
<<chat lilith "She's weak. I can feel it. She's been drinking all night, and her mind is soft. Vulnerable. So vulnerable you're gonna have alot of fun with her.">>
<<playerchat "You're serious?">>
<<chat lilith "Deadly. Go to her. Find her alone. And make her pay.">>
<<text "She leans in close, her lips brushing your ear, her breath hot on your neck.">>
<<chat lilith "And don't go easy on her. She doesn't deserve easy.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="ClairMoralesPartyP8">
<img src="assets/Quests/Clair/MoralesParty/bathroom.webp">
<span>Wake up</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Quests/Clair/MoralesParty/mansion.webp')"></div>
<div class="location-ui">
<<text "You wake up on the bathroom floor. Your head is pounding, but the dizziness is gone. You push yourself up and look in the mirror. You look like shit, but you're alive.">>
<<storyVideo "assets/Quests/Clair/MoralesParty/dance2.mp4">>
<<text "You open the bathroom door and step back into the party. The music is still thumping. The crowd is still laughing. But you're not the same person who walked in here an hour ago. You can feel something new. Something dark. Lilith's gift.">>
<<text "You scan the room for Clair, but she's not in the crowd. And then you see her.">>
<<text "Isabella.">>
<<text "She's walking toward the staircase, a glass of champagne in her hand. She's alone. Her dress is clinging to her ass, her tits bouncing with every step. She stumbles slightly on the first step, her face flushed. She's drunk.">>
<<storyImg "assets/Quests/Clair/MoralesParty/stairs.webp">>
<<text "She heads upstairs, and the sign on the banister reads 'NO GUESTS.'">>
<<text "You follow her.">>
<<advancetime 10>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="ClairMoralesPartyP9">
<img src="assets/Quests/Clair/MoralesParty/stairs.webp">
<span>Follow her</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Quests/Clair/MoralesParty/office.webp')"></div>
<div class="location-title">The Office</div>
<div class="location-ui">
<<text "You follow Isabella into her father's office. It's huge. A mahogany desk, floor-to-ceiling bookshelves, a window that looks out over the entire city. She doesn't hear you come in.">>
<<text "She stumbles to the desk and sits on the edge of it, her tits spilling out of her dress as she leans back. She's panting. Her face is pale.">>
<<rchat "Isabella" "assets/Quests/Clair/MoralesParty/isabella.webp" "Oh god... I don't feel good...">>
<<text "She sets her champagne down and presses a hand to her forehead. Her eyes are glassy. She's sweating.">>
<<playerchat "You look like shit, Isabella.">>
<<text "She whips her head up. Her eyes widen. She's shocked to see you.">>
<<rchat "Isabella" "assets/Quests/Clair/MoralesParty/isabella.webp" "What the fuck are you doing up here?! You're not supposed to be up here! Get out!">>
<<playerchat "No.">>
<<text "You step closer. She tries to stand, but her legs give out. She slumps back onto the desk, her tits bouncing with the impact. Her dress rides up her thighs.">>
<<rchat "Isabella" "assets/Quests/Clair/MoralesParty/isabella.webp" "I said get out! I'll scream!">>
<<playerchat "You'll scream? You can barely stand. What's wrong, Isabella? Too much champagne?">>
<<text "She glares at you, but there's fear in her eyes now. She knows she's in trouble.">>
<<rchat "Isabella" "assets/Quests/Clair/MoralesParty/isabella.webp" "I'm fine. I just... I just drank too much. It's none of your concern. Get out before I call security.">>
<<playerchat "Okay, okay...">>
<<text "You walk back to the door...">>
<<text "You turn the lock on the door. It's a good, heavy, expensive sound.">>
<<rchat "Isabella" "assets/Quests/Clair/MoralesParty/isabella.webp" "What are you doing?">>
<<playerchat "Soundproof, is it?">>
<<text "She looks up. Then she hears it — or rather, she doesn't. No bass through the wall, no shouting, nothing.">>
<<rchat "Isabella" "assets/Quests/Clair/MoralesParty/isabella.webp" "...Yes.">>
<<playerchat "Good.">>
<<playerchat "You're going to do something for me, Isabella. And you're not going to argue.">>
<<rchat "Isabella" "assets/Quests/Clair/MoralesParty/isabella.webp" "What? You're crazy. Get away from me.">>
<<text "You lean in close.">>
<<text "You stand over her. She looks up at you and something in her face changes — she's still a bitch, she's just a bitch who's losing.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="ClairMoralesPartyP10">
<img src="assets/Quests/Clair/MoralesParty/office.webp">
<span>Make her beg.</span>
</a>
</div><div class="location-bg" style="background-image: url('assets/Quests/Clair/MoralesParty/office.webp')"></div>
<div class="location-ui">
<<playerchat "Get on the table.">>
<<text "Isabella looks at the table in the middle of the room, then back at you, and her mouth opens and closes once before anything comes out of it.">>
<<rchat "Isabella" "assets/Quests/Clair/MoralesParty/isabella.webp" "On the— why? What the fuck are we doing?">>
<<playerchat "Get on the table, Isabella.">>
<<rchat "Isabella" "assets/Quests/Clair/MoralesParty/isabella.webp" "I heard you. I'm asking why.">>
<<playerchat "Because I said so.">>
<<rchat "Isabella" "assets/Quests/Clair/MoralesParty/isabella.webp" "That's not a fucking reason, that's a—">>
<<playerchat "It's the only reason you're getting.">>
<<text "She stares at you, decides she's above it, and gets up anyway. Her legs are still bad and she has to hold the edge of the desk on the way past, and she hoists herself up onto the table and sits with her hands in her lap like she's waiting for a bus.">>
<<storyImg "assets/Quests/Clair/MoralesParty/office_table1.webp">>
<<text "Then she realises she's done it, and it makes her furious.">>
<<rchat "Isabella" "assets/Quests/Clair/MoralesParty/isabella.webp" "No. No, hang on. I sat down. You didn't even finish asking. Why the fuck did I just sit down?">>
<<playerchat "Because I told you to.">>
<<rchat "Isabella" "assets/Quests/Clair/MoralesParty/isabella.webp" "That's what I'm FUCKING saying. I don't sit down when people tell me to. I'm not a dog. Ask anyone in this house.">>
<<playerchat "Spread your legs.">>
<<rchat "Isabella" "assets/Quests/Clair/MoralesParty/isabella.webp" "Are you out of your mind? Look at this dress. It's silk, it's got a slit up the—">>
<<playerchat "Spread.">>
<<rchat "Isabella" "assets/Quests/Clair/MoralesParty/isabella.webp" "FINE. Fucking— fine.">>
<<text "She spreads. Slowly, grudgingly, jaw set, glaring at you over the top of it — and then she looks down at herself and her face twists with annoyance at her own body.">>
<<storyImg "assets/Quests/Clair/MoralesParty/office_table2.webp">>
<<rchat "Isabella" "assets/Quests/Clair/MoralesParty/isabella.webp" "There. Right. Now tell me what the plan is, because I've got eighty people downstairs, everyone waiting for me.">>
<<playerchat "None of them are up here.">>
<<rchat "Isabella" "assets/Quests/Clair/MoralesParty/isabella.webp" "I'm aware none of them are up here, that's the entire fucking problem. Do you know who my father is? Do you know whose office you're standing in?">>
<<playerchat "Yes.">>
<<rchat "Isabella" "assets/Quests/Clair/MoralesParty/isabella.webp" "Then you know he's going to hear about this. He's going to hear that some boy in a shirt dragged his daughter onto his own table and— and you're going to be finished in this city, do you understand me? You'll be finished.">>
<<playerchat "Push your panties aside.">>
<<rchat "Isabella" "assets/Quests/Clair/MoralesParty/isabella.webp" "Oh, we're doing that now, are we? No dinner, no drink, no 'how do you do', just straight to—">>
<<playerchat "You've done the first two. You know how this works.">>
<<rchat "Isabella" "assets/Quests/Clair/MoralesParty/isabella.webp" "You are genuinely, actually unbelievable.">>
<<text "She reaches down. Her hand hesitates for a second.">>
<<text "She pulls them to one side and holds them there. She avoids looking at you while she does it.">>
<<rchat "Isabella" "assets/Quests/Clair/MoralesParty/isabella.webp" "There. Satisfied?">>
<<playerchat "Look at it.">>
<<rchat "Isabella" "assets/Quests/Clair/MoralesParty/isabella.webp" "I know what it looks like, I've had it my entire life, moron.">>
<<playerchat "You've never had it looked at like this. Look.">>
<<text "She looks down.">>
<<playerchat "You're soaked.">>
<<rchat "Isabella" "assets/Quests/Clair/MoralesParty/isabella.webp" "I'm not soaked.">>
<<playerchat "Isabella.">>
<<text "She looks again. She looks for longer than she wants to.">>
<<rchat "Isabella" "assets/Quests/Clair/MoralesParty/isabella.webp" "...Fine. Alright. I'm soaked. Happy now? That's not me, by the way. Something's wrong with me. Two drinks. TWO. I've been like this since the stairs and I don't know why and I want it on record that this is not normal.">>
<<playerchat "Say thank you.">>
<<rchat "Isabella" "assets/Quests/Clair/MoralesParty/isabella.webp" "For what?">>
<<playerchat "For the fact that you're soaked. Because of me.">>
<<text "She glares at you for a good three seconds.">>
<<rchat "Isabella" "assets/Quests/Clair/MoralesParty/isabella.webp" "Thank you.">>
<<playerchat "Was that hard?">>
<<rchat "Isabella" "assets/Quests/Clair/MoralesParty/isabella.webp" "You have no idea how hard that was.">>
<<playerchat "Good.">>
<<text "You go down on Isabella.">>
<<storyVideo "assets/Quests/Clair/MoralesParty/intro_clip1.mp4">>
<<text "The noise she makes isn't a moan, it's a complaint that carries on and turns into one halfway through. Both hands come off the table and grab your hair, then let go again like she's remembered she isn't allowed.">>
<<rchat "Isabella" "assets/Quests/Clair/MoralesParty/isabella.webp" "Oh — oh fuck — no. No no no, hang on, hang on—">>
<<playerchat "Hold my head. You're allowed to hold my head.">>
<<text "She holds it. She holds it too hard.">>
<<storyVideo "assets/Quests/Clair/MoralesParty/intro_clip3.mp4">>
<<rchat "Isabella" "assets/Quests/Clair/MoralesParty/isabella.webp" "I'm going to have you thrown out. I mean it. I'm having you thrown out of this house tonight, and you'll never be allowed back... Oh God-">>
<<rchat "Isabella" "assets/Quests/Clair/MoralesParty/isabella.webp" "—why are you not stopping, I'm TALKING to you—">>
<<playerchat "I can hear you.">>
<<rchat "Isabella" "assets/Quests/Clair/MoralesParty/isabella.webp" "Then ANSWER— ohh, fuck—">>
<<storyVideo "assets/Quests/Clair/MoralesParty/intro_clip2.mp4">>
<<rchat "Isabella" "assets/Quests/Clair/MoralesParty/isabella.webp" "Stop. Stop a second. I want to say something—">>
<<text "You come up. She sags, and then her head snaps up.">>
<<rchat "Isabella" "assets/Quests/Clair/MoralesParty/isabella.webp" "Right. Here's what's going to happen. You're going to finish this, and then you're going to get off me, and then we're going to pretend it never—">>
<<playerchat "Say it again.">>
<<rchat "Isabella" "assets/Quests/Clair/MoralesParty/isabella.webp" "Say what again?">>
<<playerchat "Thank you.">>
<<text "She closes her eyes like it's costing her money.">>
<<rchat "Isabella" "assets/Quests/Clair/MoralesParty/isabella.webp" "Thank you.">>
<<playerchat "Please what?">>
<<rchat "Isabella" "assets/Quests/Clair/MoralesParty/isabella.webp" "Please don't stop. There. Happy? Please don't stop, I'll do anything you want, just don't—">>
<<text "She hears herself. Her face screws up at the sound of it.">>
<<rchat "Isabella" "assets/Quests/Clair/MoralesParty/isabella.webp" "God, listen to me. I sound pathetic. I sound like a—">>
<<playerchat "A bitch who's losing.">>
<<rchat "Isabella" "assets/Quests/Clair/MoralesParty/isabella.webp" "I'm not losing, I'm—">>
<<playerchat "You're on your back on your father's table with your panties pulled to one side. You're losing.">>
<<rchat "Isabella" "assets/Quests/Clair/MoralesParty/isabella.webp" "Fine. FINE. Then get back down there and finish it, and then get out of my office, and then I'm having you thrown out—">>
<<playerchat "No.">>
<<rchat "Isabella" "assets/Quests/Clair/MoralesParty/isabella.webp" "What do you mean, no?">>
<<playerchat "You've had your turn. Now say it back.">>
<<rchat "Isabella" "assets/Quests/Clair/MoralesParty/isabella.webp" "Say what back?">>
<<playerchat "That you're a bitch.">>
<<text "She stares at the ceiling and doesn't do it.">>
<<playerchat "Isabella.">>
<<rchat "Isabella" "assets/Quests/Clair/MoralesParty/isabella.webp" "...I'm a bitch.">>
<<playerchat "And everyone downstairs knows it.">>
<<rchat "Isabella" "assets/Quests/Clair/MoralesParty/isabella.webp" "And everyone downstairs knows it.">>
<<playerchat "And you've been a bitch to Clair for years and a bitch to me for an hour and a half, and now look at you.">>
<<rchat "Isabella" "assets/Quests/Clair/MoralesParty/isabella.webp" "And I've been a bitch to her for weeks—">>
<<playerchat "You're worth nothing up here.">>
<<text "She stops. Her throat works. She's been the most important person in the building all night and now she's reciting her own demotion at the ceiling.">>
<<rchat "Isabella" "assets/Quests/Clair/MoralesParty/isabella.webp" "I'm worth nothing up here.">>
<<playerchat "You've got a whole house full of people and not one of them knows where you are.">>
<<rchat "Isabella" "assets/Quests/Clair/MoralesParty/isabella.webp" "Nobody knows where I am.">>
<<playerchat "Nobody's coming.">>
<<rchat "Isabella" "assets/Quests/Clair/MoralesParty/isabella.webp" "Nobody's coming.">>
<<playerchat "So beg me for mercy. And mean it. Or I won't go easy on you. I will fuck you so hard you won't be able to walk for days.">>
<<text "That lands. You can see it land. Her hand shoots out and grabs the edge of the table.">>
<<rchat "Isabella" "assets/Quests/Clair/MoralesParty/isabella.webp" "You wouldn't. You wouldn't just—">>
<<playerchat "Try me.">>
<<text "She looks at the door. Then at you. Then she does it, and she's furious the whole way through it.">>
<<rchat "Isabella" "assets/Quests/Clair/MoralesParty/isabella.webp" "Please — please have mercy on me, alright? I'm sorry. I'll be good, I'll be so fucking good, please—">>
<<text "Her voice has gone thin and her eyes are wet, begging you, out loud, in her father's office, in a room with his name on the door.">>
<<playerchat "There she is.">>
<<text "You pull your dick out.">>
<<rchat "Isabella" "assets/Quests/Clair/MoralesParty/isabella.webp" "Wait — wait, that's not going to fit, that is genuinely not going to—">>
<<playerchat "What is it? Experienced only with small cocks? It will fit.">>
<<playerchat "And when it's in, you're mine. Not for the party. Not for tonight. From the second it goes in, you're mine to use.">>
<<rchat "Isabella" "assets/Quests/Clair/MoralesParty/isabella.webp" "You arrogant little bastard—">>
<<text "You take her by the hip and pull her to the edge.">>
<<rchat "Isabella" "assets/Quests/Clair/MoralesParty/isabella.webp" "Oh God—">>
<<text "You push in.">>
<<storyVideo "assets/Quests/Clair/MoralesParty/put_in.mp4">>
<div class="location-grid">
<a class="loc-btn" data-passage="IsabellaMoralesPartyEating">
<img src="assets/Quests/Clair/MoralesParty/eating_icon.webp">
<span>Eat out</span>
</a>
<a class="loc-btn" data-passage="IsabellaMoralesPartyBlowjob1">
<img src="assets/Quests/Clair/MoralesParty/bj1_icon.webp">
<span>Blowjob 1</span>
</a>
<a class="loc-btn" data-passage="IsabellaMoralesPartyBlowjob2">
<img src="assets/Quests/Clair/MoralesParty/bj2_icon.webp">
<span>Blowjob 2</span>
</a>
<a class="loc-btn" data-passage="IsabellaMoralesPartyBlowjob69">
<img src="assets/Quests/Clair/MoralesParty/69_icon.webp">
<span>69</span>
</a>
<a class="loc-btn" data-passage="IsabellaMoralesPartyDeepthroat">
<img src="assets/Quests/Clair/MoralesParty/deepbj_icon.webp">
<span>Deepthroat</span>
</a>
<a class="loc-btn" data-passage="IsabellaMoralesPartyMission">
<img src="assets/Quests/Clair/MoralesParty/mission_icon.webp">
<span>Missionary</span>
</a>
<a class="loc-btn" data-passage="IsabellaMoralesPartySideways">
<img src="assets/Quests/Clair/MoralesParty/sideways_icon.webp">
<span>Sideways</span>
</a>
<a class="loc-btn" data-passage="IsabellaMoralesPartyCow">
<img src="assets/Quests/Clair/MoralesParty/cow_icon.webp">
<span>Cowgirl</span>
</a>
<a class="loc-btn" data-passage="IsabellaMoralesPartyProne">
<img src="assets/Quests/Clair/MoralesParty/prone_icon.webp">
<span>Jackhammer</span>
</a>
<a class="loc-btn loc-btn--wide" data-passage="IsabellaMoralesPartyCum">
<img src="assets/Quests/Clair/MoralesParty/cum_icon.webp">
<span>Cum</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Quests/Clair/MoralesParty/mansion.webp')"></div>
<div class="location-ui">
<<text "You find Clair by the front door, her arms crossed, her face tear-streaked. She's waiting for you.">>
<<storyImg "assets/Quests/Clair/MoralesParty/clair_angry.webp">>
<<chat clair "Where the fuck have you been?! I've been looking everywhere for you! I thought you left!">>
<<playerchat "You'll see.">>
<<chat clair "You'll see? What the fuck does that mean? $playerName, what did you do?">>
<<text "Before you can answer, the music cuts out. The crowd goes silent. You turn, and there she is.">>
<<text "Isabella stands at the top of the staircase, her face pale, her dress wrinkled, her makeup ruined from crying. Her hands are shaking. She looks like she's seen a ghost.">>
<<rchat "Isabella" "assets/Quests/Clair/MoralesParty/isabella.webp" "I... I have something to say.">>
<<text "The crowd is staring. No one knows what's happening. Clair is frozen beside you.">>
<<rchat "Isabella" "assets/Quests/Clair/MoralesParty/isabella.webp" "I... I lied. About Clair. About the screenshot. I made it up. I edited it. I wanted to ruin her because I was jealous of her. Because she's stronger than me. Because she's better than me. And I... I'm sorry.">>
<<text "The silence is deafening. Then the whispers start. Isabella stumbles down the stairs, her heels clicking on the marble, and the crowd parts for her like she's contagious. She doesn't stop until she reaches Clair.">>
<<rchat "Isabella" "assets/Quests/Clair/MoralesParty/isabella.webp" "I'm sorry, Clair. I'm so sorry. I'll tell everyone the truth. I'll fix it. I'll do anything.">>
<<text "Clair stares at her. Her mouth is hanging open. She doesn't understand what's happening. But she's not stupid. She knows you had something to do with this.">>
<<advancetime 20>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="ClairMoralesPartyP12">
<img src="assets/Locations/City/city.webp">
<span>Leave</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/City/city.webp')"></div>
<div class="location-ui">
<<text "The taxi is quiet. Clair sits beside you, her dress hiked up over her thighs, her tits still heaving from the adrenaline of the last half hour. She hasn't said a word since you left the party. But she keeps looking at you. Like she's seeing you for the first time.">>
<<chat clair "Okay. I need to know. What the fuck happened back there?">>
<<playerchat "What do you mean?">>
<<chat clair "Don't play dumb. Isabella was about to ruin my life. And then she just... she just broke. She confessed to everything. She apologized. To ME. In front of everyone. That doesn't happen. That's not how she works.">>
<<text "She turns to face you fully. Her knee brushes against yours. Her dress slips a little lower, exposing more of her tits.">>
<<chat clair "What did you do to her?">>
<<text "You look at her. At her big, angry, beautiful eyes. At the way her chest rises and falls. At the way she's leaning toward you, like she can't get close enough.">>
<<playerchat "You're never gonna know...">>
<<text "Her mouth drops open. She stares at you. Then she laughs. A real laugh. The first one you've ever heard from her.">>
<<set $CharQuests.clair.clairMoralesPartyQuest.status to "completed">>
<<addRel 8 clair>>
<<addLust 3 clair>>
<<advancetime 60>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="SleepDecider">
<img src="assets/Locations/House/YourRoom/sleep.webp">
<span>Sleep</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/attic.webp')"></div>
<div class="location-title">Amateur Hour</div>
<div class="location-ui">
<<text "You climb into the attic. Lilith is already waiting for you, perched on her velvet cushions, legs crossed.">>
<<storyImg "assets/Quests/Lilith/AmateursQuest/lilith_waiting.webp">>
<<chat lilith "There you are. I was starting to get bored.">>
<<text "She uncrosses her legs and leans forward, giving you a clear view of her entire body. Her tits hang heavy, nipples pointing straight at you.">>
<<chat lilith "Something interesting is happening tonight. I felt it three hours ago. A little ripple in the air. Some amateurs in the park are trying to summon a demon. Better said, they are trying to summon me.">>
<<playerchat "Wait, for real?">>
<<chat lilith "For real. And they're fucking terrible at it. Their circle is crooked, their chant is mispronounced, and they're using a dollar-store candle. It's insulting.">>
<<text "She stands up.">>
<<chat lilith "I want to go mess with them. Stretch my legs. Have some fun.">>
<<playerchat "Everyone is asleep, I guess you can go. But not for too long, Lilith.">>
<<chat lilith "For a few hours. And you're coming with me. Consider it a field trip.">>
<<text "She walks past you, her hip brushing your arm. She smells like incense and something darker. Your cock is already straining against your jeans.">>
<<playerchat "What's the plan?">>
<<chat lilith "We watch. We wait until they're deep in their little ritual. And then... we ruin their night.">>
<<advancetime 5>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="LilithAmateursQuestP2">
<img src="assets/Locations/City/park.webp">
<span>Follow Lilith to the park</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/City/park.webp')"></div>
<div class="location-ui">
<<text "The park at night is a completely different place. The streetlights are off. The trees are black shapes against a dark sky. The only sound is the wind and something... rhythmic. Chanting.">>
<<text "Lilith walks ahead of you, her heels clicking softly on the path. She's put on a coat. A long black coat, but you know she's naked underneath. Your cock has been hard the entire walk.">>
<<storyImg "assets/Quests/Lilith/AmateursQuest/lilith_coat.webp">>
<<chat lilith "They're in the old gazebo. The one nobody uses because it's always damp and covered in bird shit. Perfect for a summoning. Idiots.">>
<<text "You move closer. Through the trees, you can see them. A circle of candles. A group of people in dark robes. Actual robes. You count maybe nine or ten of them.">>
<<storyImg "assets/Quests/Lilith/AmateursQuest/cultists_far.webp">>
<<playerchat "They really dressed up for this.">>
<<chat lilith "The one in the middle is the leader. The tall one. He's the only one who actually believes this is going to work. The rest are just here because they're bored or lonely or both.">>
<<text "Lilith stops at the edge of the tree line. She shrugs off the coat. It pools at her feet. She's completely naked. Her tits, her ass, her pussy. All on display. The candlelight from the gazebo flickers across her skin.">>
<<playerchat "What if someone sees you?">>
<<chat lilith "The only people here are the cultists. And they're about to be very, very distracted.">>
<<advancetime 10>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="LilithAmateursQuestP3">
<img src="assets/Locations/City/park.webp">
<span>Move closer</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/City/park.webp')"></div>
<div class="location-ui">
<<text "You and Lilith creep through the trees until you're close enough to hear them clearly. The chanting is a mess. They're saying 'Li Lith' with an extra syllable. Lilith rolls her eyes.">>
<<rchat "Cultist Leader" "assets/Quests/Lilith/AmateursQuest/leader.webp" "By the power of the dark lord, we summon thee! Come forth! Show yourself!">>
<<text "Nothing happens. The candles flicker. One of them goes out. The leader looks nervous.">>
<<rchat "Cultist Leader" "assets/Quests/Lilith/AmateursQuest/leader.webp" "Again! Focus! We almost had it!">>
<<text "Lilith steps out of the treeline and walks directly into the circle. Completely naked. The cultists don't notice at first. They're too busy chanting. Then the woman closest to her turns.">>
<<storyImg "assets/Quests/Lilith/AmateursQuest/sasha.webp">>
<<rchat "Sasha" "assets/Quests/Lilith/AmateursQuest/sasha.webp" "What the... who the fuck are you?!">>
<<text "The chanting stops. Every single cultist turns. And every single one of them stares at Lilith's tits. The men. The women. All of them. Your cock is rock hard.">>
<<chat lilith "You summoned a demon, didn't you? Here I am.">>
<<rchat "Cultist Leader" "assets/Quests/Lilith/AmateursQuest/leader.webp" "This is... this isn't real. This is a prank. Who are you?">>
<<chat lilith "I'm the real thing, you worthless little worm. And you interrupted my evening with your incompetence. Your circle is crooked. Your chant is wrong. And your robe looks like a Halloween costume from a discount bin.">>
<<text "She raises one hand. Purple light crackles between her fingers. The cultists stumble backward, but they can't move. Their feet are glued to the ground.">>
<<chat lilith "You wanted a demon? You're getting one.">>
<<set $CharQuests.lilith.lilithAmateursQuest.step to 3>>
<<advancetime 5>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="LilithAmateursQuestP4">
<img src="assets/Locations/City/park.webp">
<span>Watch</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/City/park.webp')"></div>
<div class="location-ui">
<<text "Lilith flicks her wrist. The robes fly off the cultists. Every single one of them. The fabric disintegrates into dust, leaving ten people standing in the gazebo in nothing but their underwear. Some of them don't even have that.">>
<<storyImg "assets/Quests/Lilith/AmateursQuest/kneeling1.webp">>
<<rchat "Sasha" "assets/Quests/Lilith/AmateursQuest/sasha.webp" "WHAT THE FUCK?!">>
<<storyImg "assets/Quests/Lilith/AmateursQuest/kneeling3.webp">>
<<rchat "Cultist Leader" "assets/Quests/Lilith/AmateursQuest/leader.webp" "This isn't happening! This isn't real!">>
<<chat lilith "Oh, it's real. And it's about to get worse.">>
<<storyImg "assets/Quests/Lilith/AmateursQuest/kneeling2.webp">>
<<text "She walks through the group, trailing her fingers over bare shoulders and backs. The cultists shudder. Some of them moan. One of the men, a fat guy in tighty-whities, is already hard.">>
<<chat lilith "You wanted to worship a demon? Fine. Worship meo n your knees.">>
<<text "One by one, they drop. Not because they want to. Because they have to. Lilith's power presses down on them like a physical weight. Ten people, kneeling in their underwear, heads bowed.">>
<<text "Sasha is the only one still standing. She's shaking. Her tits are heaving. She's wearing a white lace bra that barely contains her, and matching panties. Her body is incredible.">>
<<storyImg "assets/Quests/Lilith/AmateursQuest/sasha_standing.webp">>
<<chat lilith "You. You're the one who organized this little party, aren't you?">>
<<rchat "Sasha" "assets/Quests/Lilith/AmateursQuest/sasha.webp" "I... I just... the leader, he said...">>
<<chat lilith "You're the brains. He's just the mouth. I can smell it on you.">>
<<text "Lilith steps close to Sasha and grabs her chin, tilting her head up. Sasha whimpers.">>
<<chat lilith "You're going to help me teach these idiots a lesson.">>
<<set $CharQuests.lilith.lilithAmateursQuest.step to 4>>
<<advancetime 10>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="LilithAmateursQuestP5">
<img src="assets/Locations/City/park.webp">
<span>Continue</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/City/park.webp')"></div>
<div class="location-ui">
<<text "Lilith pulls a marker out of thin air, black, permanent. She tosses it to you.">>
<<chat lilith "Make yourself useful. Write on them. Whatever you want. They're canvas now.">>
<<text "You catch the marker. The cultists are still on their knees, trembling. None of them move. None of them can.">>
<<text "You start with the leader. You crouch behind him and write 'PATHETIC LOSER' across his back in big, blocky letters. He flinches but doesn't say a word.">>
<<storyImg "assets/Quests/Lilith/AmateursQuest/shame1.webp">>
<<text "Lilith is doing her own work. She's drawn a pentagram on the chest of one of the female cultists, then written 'DEMON SLAVE' across her stomach. The woman is crying. Lilith is smiling.">>
<<storyImg "assets/Quests/Lilith/AmateursQuest/shame3.webp">>
<<chat lilith "See? This is fun. I haven't done this in centuries. You forget how satisfying it is to put mortals in their place.">>
<<text "You move to another cultist — a young guy with a scrawny chest. You write 'SMALL DICK' on his forehead. Lilith laughs.">>
<<chat lilith "Nice one.">>
<<text "You and Lilith work your way through the group. By the time you're done, every single one of them is covered in degrading words. 'SLUT.' 'WORTHLESS.' 'CUM DUMPSTER.' 'PROPERTY OF LILITH.' 'FREE USE.'">>
<<storyImg "assets/Quests/Lilith/AmateursQuest/shame4.webp">>
<<text "Sasha is last. Lilith handles her personally. She writes 'BROKEN BITCH' across Sasha's tits in bold, black letters, then draws a collar and leash around her neck.">>
<<chat lilith "There. Now you look the part.">>
<<advancetime 10>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="LilithAmateursQuestP6">
<img src="assets/Locations/City/park.webp">
<span>Continue</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/City/park.webp')"></div>
<div class="location-ui">
<<text "Lilith snaps her fingers. Cardboard signs appear in the cultists' hands. They're forced to lift them above their heads. The signs say things like 'I TRIED TO SUMMON A DEMON AND ALL I GOT WAS THIS STUPID SIGN,' 'I'M A FAILURE,' and 'MY PARENTS WERE RIGHT ABOUT ME.'">>
<<storyImg "assets/Quests/Lilith/AmateursQuest/sign1.webp">>
<<chat lilith "Now you're going to stand here until the sun comes up. Holding those signs. In your underwear. And if any of you ever tries to summon anything again, I'll come back. And I won't be this nice.">>
<<storyImg "assets/Quests/Lilith/AmateursQuest/sign2.webp">>
<<rchat "Cultist Leader" "assets/Quests/Lilith/AmateursQuest/leader.webp" "Please... let us go... we learned our lesson...">>
<<chat lilith "Did you? I don't think you did. But you will.">>
<<text "She turns to you. Her eyes are glowing faintly purple. Her body is still completely on display.">>
<<chat lilith "Now. I believe I promised you a reward.">>
<<text "She gestures at Sasha, who is still kneeling, still trembling. The words 'BROKEN BITCH' are written across her tits. Her panties are soaked through.">>
<<chat lilith "This one. She's the ringleader. She's the one who came up with this stupid plan. She deserves a real punishment.">>
<<playerchat "What kind of punishment?">>
<<chat lilith "Whatever you want. She's yours for the next hour. Use her. Humiliate her. Fuck her. She won't resist. She can't.">>
<<text "Sasha looks up at you. Her eyes are wet. Her lips are parted. She's terrified and turned on at the same time.">>
<div class="choice-buttons" id="sasha_choice">
<<button "Use her">>
<<replace "#sasha_choice">>
<<text "You start groping Sasha's ass">>
<<storyVideo "assets/Quests/Lilith/AmateursQuest/clip1.mp4">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="LilithAmateursQuestP7">
<img src="assets/Locations/City/park.webp">
<span>Punish Sasha</span>
</a>
</div>
<</replace>>
<</button>>
<<button "Rob them instead">>
<<replace "#sasha_choice">>
<<playerchat "Actually, I've got a better idea. Let's take their shit.">>
<<chat lilith "Ooh. Practical. I like it.">>
<<text "You and Lilith go through the cultists' discarded robes and bags. You find wallets, phones, a few grams of weed, and a surprising amount of cash. You pocket everything.">>
<<addmoney 400>>
<<text "You take $400 total. Lilith watches you with a smirk.">>
<<chat lilith "Not what I had in mind, but I respect the hustle.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="LilithAmateursQuestEnd">
<img src="assets/Locations/House/house.webp">
<span>Leave</span>
</a>
</div>
<</replace>>
<</button>>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/City/park.webp')"></div>
<div class="location-ui">
<<text "You yank Sasha on her knees and sit her down in front of your dick. Her ass is perfect, round, tight, barely covered by her soaked panties.">>
<<storyVideo "assets/Quests/Lilith/AmateursQuest/clip2.mp4">>
<<playerchat "You wanted to summon a demon? You got one. And now you're going to pay for it.">>
<<storyVideo "assets/Quests/Lilith/AmateursQuest/clip3.mp4">>
<<rchat "Sasha" "assets/Quests/Lilith/AmateursQuest/sasha.webp" "Please... I'm sorry... I didn't know...">>
<<storyVideo "assets/Quests/Lilith/AmateursQuest/clip4.mp4">>
<<text "You yank her panties down. They're completely soaked. Her pussy is wet, pink, and dripping.">>
<<rchat "Sasha" "assets/Quests/Lilith/AmateursQuest/sasha.webp" "Please, don't!">>
<<playerchat "Shut up.">>
<<text "You unzip your pants and pull out your cock. It's rock hard. You press the head against her entrance and push in. She's tight. She gasps. Her whole body shudders.">>
<<storyVideo "assets/Quests/Lilith/AmateursQuest/clip5.mp4">>
<<chat lilith "That's it. Fuck her. Make her feel it.">>
<<text "Lilith is standing to the side, watching, one hand between her own thighs. Her tits are still out. She's getting off on this.">>
<<storyVideo "assets/Quests/Lilith/AmateursQuest/clip6.mp4">>
<<rchat "Sasha" "assets/Quests/Lilith/AmateursQuest/sasha.webp" "Oh god... oh fuck... it's too big...">>
<<playerchat "You're going to take it. And you're going to thank me for it.">>
<<storyVideo "assets/Quests/Lilith/AmateursQuest/clip7.mp4">>
<<text "You fuck her harder. The gazebo creaks. The other cultists are still kneeling, still holding their signs, forced to watch. Some of them are hard. Some of them are crying.">>
<<storyVideo "assets/Quests/Lilith/AmateursQuest/clip8.mp4">>
<<text "You grab her hips and pound into her. She's moaning now. Loud. She's not pretending anymore. She's loving it.">>
<<playerchat "Thank me, Sasha. Thank me for giving you this awesome experience.">>
<<storyVideo "assets/Quests/Lilith/AmateursQuest/clip9.mp4">>
<<rchat "Sasha" "assets/Quests/Lilith/AmateursQuest/sasha.webp" "Thank you... thank you for punishing me... I'm sorry... I'll never do it again...">>
<<playerchat "Hell yeah, you won't. Tell me how much you like it.">>
<<rchat "Sasha" "assets/Quests/Lilith/AmateursQuest/sasha.webp" "Please stop. It hurts- Please!">>
<<playerchat "No mercy for you, bitch.">>
<<storyVideo "assets/Quests/Lilith/AmateursQuest/clip10.mp4">>
<<playerchat "Worship me how you worshipped Lilith!">>
<<rchat "Sasha" "assets/Quests/Lilith/AmateursQuest/sasha.webp" "Thank you, thank you for fucking me! I love being punished by you. Thank you.">>
<<storyVideo "assets/Quests/Lilith/AmateursQuest/clip11.mp4">>
<<text "You feel yourself getting close. You pull out and cum all over her ass.">>
<<storyVideo "assets/Quests/Lilith/AmateursQuest/cum.mp4">>
<<chat lilith "Good boy. Now let's go home.">>
<<addSTH 3>>
<<addLust 5 lilith>>
<<addRel 3 lilith>>
<<advancetime 25>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="LilithAmateursQuestEnd">
<img src="assets/Locations/House/house.webp">
<span>Leave the park</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/attic.webp')"></div>
<div class="location-ui">
<<text "You and Lilith walk back to the house in silence. She's put her coat back on, but she hasn't buttoned it. Every few steps you catch a glimpse of her tits or her pussy.">>
<<text "You climb into the attic together. Lilith collapses onto her cushions, stretching out like a satisfied cat.">>
<<chat lilith "That was fun. We should do it again sometime.">>
<<playerchat "You mean mess with cultists?">>
<<chat lilith "I mean mess with anyone who annoys me. Which, in this city, is a lot of people.">>
<<text "She yawns, showing her fangs.">>
<<chat lilith "Now get out. I need to recharge. And you need to go to bed. You've got a family to ignore tomorrow.">>
<<text "You head for the attic hatch. Lilith's voice stops you before you climb down.">>
<<chat lilith "Hey. $playerName.">>
<<text "You turn. She's watching you with those glowing purple eyes.">>
<<chat lilith "That was a good night. I don't say that often. Don't let it go to your head.">>
<<text "You nod. You climb down. And you close the hatch behind you.">>
<<addSTH 1>>
<<addLust 1 lilith>>
<<addRel 1 lilith>>
<<set $CharQuests.lilith.lilithAmateursQuest.status to "completed">>
<<set $CharQuests.lilith.lilithMortalSicknessQuest.status to "active">>
<<advancetime 5>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="YourRoom">
<img src="assets/Locations/House/your_room.webp">
<span>Go to your room</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/attic.webp')"></div>
<div class="location-title">The Contract</div>
<div class="location-ui">
<<text "You climb into the attic. Something feels different. The air is thicker, heavier. The candles Lilith usually keeps lit are all extinguished, leaving the room bathed in cold moonlight from the cracked window.">>
<<text "Lilith is kneeling in the center of the room. She's just... waiting.">>
<<storyVideo "assets/Quests/Lilith/ContractQuest/candle.mp4">>
<<chat lilith "I was wondering when you'd come up here.">>
<<text "Her voice is softer than usual. Less predatory. More... tired.">>
<<playerchat "What's going on? You look... different.">>
<<chat lilith "I've been thinking. About our arrangement.">>
<<text "She starts sipping on a potion.">>
<<storyVideo "assets/Quests/Lilith/ContractQuest/drink.mp4">>
<<chat lilith "I want to make it permanent.">>
<<playerchat "Permanent?">>
<<chat lilith "A contract. A binding. You give me something. I give you something. And neither of us ever has to worry about the other disappearing.">>
<<advancetime 15>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="LilithContractQuestP2">
<img src="assets/Locations/House/attic.webp">
<span>Ask for details</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/attic.webp')"></div>
<div class="location-ui">
<<text "Lilith turns away from you and walks to the far corner of the attic. You watch her ass move. She bends over — giving you a perfect view of her ass. She pulls out a heavy iron-bound chest.">>
<<storyVideo "assets/Quests/Lilith/ContractQuest/ass.mp4">>
<<text "She carries it back to you and sets it on the floor. The metal groans against the wood. She kneels and opens it. Inside is a single roll of ancient parchment and a thin silver dagger.">>
<<chat lilith "A soul contract. Old magic. Blood magic. The most binding kind there is.">>
<<text "She unfurls the scroll. It's covered in demonic script you can't read. At the bottom is a blank space — waiting for a signature.">>
<<playerchat "What's the price?">>
<<chat lilith "Your soul. Blood. And a piece of your humanity.">>
<<storyVideo "assets/Quests/Lilith/ContractQuest/flash.mp4">>
<<text "She picks up the dagger and turns it in her fingers.">>
<<chat lilith "You sign with your blood. I sign with mine. Our souls bind together. You become mine, in this life and whatever comes after. You give me a piece of what makes you mortal. In return, I give you power. I give you protection. And I will keep feeding on the women around you — corrupting them, breaking them open for you. For my gain, yes. But also yours.">>
<<playerchat "And if I refuse?">>
<<text "She looks at you. For a moment, there's something vulnerable in her eyes. Something almost human.">>
<<chat lilith "Then I'll be... disappointed. But I won't force you.">>
<<text "She sets the dagger down and stands up. Her tits are inches from your face. She smells like incense and something older.">>
<<chat lilith "But before you decide, let me show you what you'd be giving up. And what you'd be gaining.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="LilithContractQuestP3">
<img src="assets/Locations/House/attic.webp">
<span>Let her show you</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/attic.webp')"></div>
<div class="location-ui">
<<text "Lilith sinks to her knees in front of you. She looks up with those glowing purple eyes. Her hands rest on your thighs. She doesn't move them. She doesn't touch your cock. She just waits.">>
<<storyVideo "assets/Quests/Lilith/ContractQuest/kneel.mp4">>
<<chat lilith "This is what I offer. Not because I have to. Not because I'm hungry. Because I want to. Because you're the first person in three centuries who looked at me like I was a person. Not a monster. Not a tool. A person.">>
<<text "She leans forward. Her breath is hot on your cock. She still doesn't touch it.">>
<<chat lilith "But the price is steep. You'll belong to me. You'll carry my mark. A piece of your humanity will be gone forever. You'll still be you. Mostly. But you'll be... different. And you can never, ever undo it. Once the contract is sealed, it's sealed. No escape clauses. No going back. No second chances.">>
<<playerchat "And if I refuse?">>
<<text "She smiles. It doesn't reach her eyes.">>
<<chat lilith "Then I'll accept your answer. ">>
<<text "She leans back. She doesn't dress you. She doesn't cover herself. She just sits there on her knees, looking up at you, waiting.">>
<<chat lilith "So. What's it going to be?">>
<div class="choice-buttons" id="contract_choice">
<<button "Refuse">>
<<replace "#contract_choice">>
<<playerchat "No. I can't. I'm sorry, Lilith.">>
<<text "She doesn't flinch. She doesn't scream. She doesn't curse you. She just... looks at you. For a long, painful moment.">>
<<chat lilith "I see.">>
<<text "She stands up slowly. Her tits bounce. Her expression is cold.">>
<<chat lilith "Then we're done here. You can go.">>
<<playerchat "Lilith—">>
<<chat lilith "Go.">>
<<text "You take a step back. And then you feel it. A sudden, crushing weight on your chest. You can't breathe. You can't move. Your body isn't obeying you anymore.">>
<<storyImg "assets/Quests/Lilith/ContractQuest/lilith_eyes_glow.webp">>
<<text "Lilith's eyes are burning purple. Her voice is layered, demonic, coming from everywhere at once.">>
<<chat lilith "You were never going to leave. I've been too weak to do this. But you've been feeding me well, little thief. Well enough.">>
<<playerchat "What... what are you doing?!">>
<<chat lilith "The contract doesn't require your consent. Not from me. Only the blood. And the blood is already mine. You gave it to me the first night. When you let me feed on you. When you let me touch you. I've been collecting it. Waiting.">>
<<text "She picks up the dagger. She walks toward you. You can't move. You can't run. You can't scream.">>
<<chat lilith "I'm sorry. I truly am. But I'm not going to be alone again. Not ever again.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="LilithContractQuestP4">
<img src="assets/General/blank.webp">
<span>...</span>
</a>
</div>
<</replace>>
<</button>>
<<button "Sign the contract">>
<<replace "#contract_choice">>
<<playerchat "Give me the dagger.">>
<<text "She doesn't smile. She doesn't gloat. She just nods, like she expected it. She hands you the silver blade.">>
<<chat lilith "Cut your palm. Press it to the parchment. Say your name. Mean it. The contract will do the rest.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="LilithContractQuestP4">
<img src="assets/General/blank.webp">
<span>Cut your palm</span>
</a>
</div>
<</replace>>
<</button>>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/attic.webp')"></div>
<div class="location-ui">
<<text "The script on the scroll ignites. Purple fire spreads across the paper, burning but not consuming. The room fills with a low, vibrating hum that rattles your teeth.">>
<<text "She holds out the dagger to you. Her blood drips onto the floorboards.">>
<<chat lilith "Your turn.">>
<<text "You take the dagger. You press the blade to your palm. You cut.">>
<<text "The pain is sharp, immediate. Blood wells up — red, human, mortal. You press your hand to the parchment. Your blood mingles with hers.">>
<<text "The fire consumes the scroll. It burns itself out in seconds, leaving nothing behind but ash and a mark — a glowing sigil burned into the floorboards beneath you both.">>
<<text "And then it starts.">>
<<text "Lilith's eyes go wide. She gasps. Her body arches backward. The sigil on the floor pulses with power, and you feel it — a tug at your core, like someone's hooking into your chest and pulling.">>
<<storyVideo "assets/Quests/Lilith/ContractQuest/bj1.mp4">>
<<text "She's draining you. Not your blood — something deeper. Something colder. You feel a piece of yourself tear away. You hear her moan — long, satisfied, like she's tasting something incredible.">>
<<storyVideo "assets/Quests/Lilith/ContractQuest/bj2.mp4">>
<<text "The mark burns itself into your skin. A circle of purple, twisted script etched over your heart. It hurts. It hurts so much you can barely breathe. And then, as suddenly as it began, it stops.">>
<<text "You collapse onto your back. Lilith is kneeling over you, breathing hard.">>
<<storyVideo "assets/Quests/Lilith/ContractQuest/bj3.mp4">>
<<chat lilith "It's done. You're mine.">>
<<storyVideo "assets/Quests/Lilith/ContractQuest/bj4.mp4">>
<<text "She leans down and presses her lips to yours. The kiss is different. Deeper. She's not just kissing you — she's claiming you. Her tongue slides into your mouth. Her hand presses against the mark on your chest. It doesn't hurt anymore. It feels... right.">>
<<chat lilith "Get used to it. You'll feel it every time I touch you. Every time I feed. Every time I take another woman for you.">>
<<text "She pulls back. Her tits are pressed against your chest. Her hand is still on the mark.">>
<<chat lilith "Now get out. You have a family waiting for you downstairs. Go be a good stepbrother.">>
<<addSTR 5>>
<<addINT 5>>
<<addCHA 5>>
<<addSTH 5>>
<<advancetime 45>>
<<set $CharQuests.lilith.lilithContractQuest.status to "completed">>
<<set $CharQuests.lilith.lilithAmateursQuest.status to "active">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="YourRoom">
<img src="assets/Locations/House/your_room.webp">
<span>Leave the attic</span>
</a>
</div>
</div><<if $CharQuests.lilith.lilithFeedQuest.step is 0>>
<<goto "LilithFeedQuestStart">>
<<else>>
<<if $LilithFeedQuestCummedInASlut is false>>
<<goto "LilithFeedQuestEmptyHanded">>
<<elseif $LilithFeedQuestCummedInASlut is true>>
<<goto "LilithFeedQuestP6">>
<<else>>
<<goto "YourRoom">>
<</if>>
<</if>>
<<button "Stuck?" "YourRoom">><</button>><div class="location-bg" style="background-image: url('assets/Locations/House/attic.webp')"></div>
<div class="location-title">Feeding Time</div>
<div class="location-ui">
<<text "The air is cold and stale. Something feels wrong.">>
<<storyImg "assets/Quests/Lilith/FeedQuest/pfp.webp">>
<<text "Lilith is lying on her velvet cushions. But she doesn't look like herself. Her skin is pale. Almost grey. Her eyes are dull. Her tits are still out, but they're not perky like before. She's shivering.">>
<<playerchat "Lilith? What the fuck happened to you? I thought you were better from the cold!?">>
<<chat lilith "//(weakly)// Finally. Took you long enough, you worthless little thief.">>
<<text "She tries to sit up. She can't. She falls back against the cushions, gasping. Her tits jiggle with the impact.">>
<<chat lilith "I'm... running on empty. That's all I've had. I need more. Much more. I'm fucking starving.">>
<<playerchat "What do you need me to do?">>
<<chat lilith "Sexual energy. It's how I feed. It's how I regain my strength. I need you to go out there and find a woman. Fuck her. Cum inside her. Then bring all that delicious energy back to me.">>
<<text "She looks at you. Her eyes flicker with something. Desperation. Need. Hunger. She reaches out and grabs your wrist. Her grip is cold. Weak.">>
<<chat lilith "But I'm too weak to hunt. I can't leave the attic. I need you to do it for me. Go to the nightclub. Find a slut. Seduce her. Get her alone. And then fuck her so hard she forgets her own name.">>
<<playerchat "And then what?">>
<<chat lilith "Come back to me. I'll take the energy from you. In the way I know best.">>
<<text "She lets go. She sinks back into the cushions, shivering. All you have to figure out now is how to seduce a woman in a Nightclub.">>
<<set $CharQuests.lilith.lilithFeedQuest.step to 1>>
<<set $LilithFeedQuestCummedInASlut to false>><<advancetime 5>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="YourRoom">
<img src="assets/Locations/House/your_room.webp">
<span>Return</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/attic.webp')"></div>
<div class="location-title">Feeding Time</div>
<div class="location-ui">
<<text "You climb into the attic. The air is cold and stale.">>
<<storyImg "assets/Quests/Lilith/FeedQuest/pfp.webp">>
<<chat lilith "//(weakly)// Did you bring the sexual energy, $playerName? I'm... dying...">>
<<playerchat "Fuck... I'll be back, Lilith.">>
<<text "You have to cum in a woman. Go to the Nightclub.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="YourRoom">
<img src="assets/Locations/House/your_room.webp">
<span>Return</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/City/nightclub.webp')"></div>
<div class="location-title">Nightclub - Hunting Grounds</div>
<div class="location-ui">
<<text "You push through the doors of the nightclub. The bass is thumping. Bodies are grinding. The air is thick with sweat, perfume, and cheap alcohol. Your cock is already half-hard just from the atmosphere.">>
<<storyVideo "assets/Quests/Lilith/FeedQuest/nightclub_crowd.mp4">>
<<text "You scan the room. Women everywhere. Tits bouncing. Asses grinding. Your cock twitches. This shouldn't be hard. But you're not here for just anyone. You need someone alone. Someone vulnerable. Someone you can seduce and get out of here quickly.">>
<<text "You spot a woman at the bar. She's sitting alone, sipping a drink. Long dark hair. Her tits are incredible. Her legs are crossed. She looks bored.">>
<<storyImg "assets/Quests/Lilith/FeedQuest/target_1.webp">>
<<text "You walk up to the bar and take the stool next to her. She glances at you. Then goes back to her drink.">><<nobr>>
<<set $feedApproach to "">>
<<set $feedStage to 1>>
<<set $feedGirl to "Jessica">><</nobr>>
<div class="choice-buttons" id="feed_approach">
<<button "Buy her a drink">>
<<replace "#feed_approach">>
<<playerchat "Let me get you another one. What are you drinking?">>
<<text "She looks at you.">>
<<rchat "Jessica" "assets/Quests/Lilith/FeedQuest/target_1.webp" "Vodka cranberry. And you can sit, but I'm not promising anything else.">>
<<text "You signal the bartender. Two vodka cranberries. She takes hers and sips it, watching you over the rim.">>
<<rchat "Jessica" "assets/Quests/Lilith/FeedQuest/target_1.webp" "So. Do you have a name? Or are you just going to stare at my tits all night?">>
<<playerchat "Both. But the name first.">>
<<storyImg "assets/Quests/Lilith/FeedQuest/jessica_laugh1.webp">>
<<text "She laughs. A real laugh. Good.">>
<<set $feedApproach to "drink">>
<<advancetime 15>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="LilithFeedQuestP3">
<img src="assets/Locations/City/nightclub.webp">
<span>Continue</span>
</a>
</div>
<</replace>>
<</button>>
<<button "Compliment her directly">>
<<replace "#feed_approach">>
<<playerchat "You look way too good to be sitting here alone.">>
<<text "She turns. She looks you up and down. She's not impressed. Not yet.">>
<<rchat "Jessica" "assets/Quests/Lilith/FeedQuest/target_1.webp" "That line work on a lot of girls?">>
<<playerchat "No. But I'm hoping it works on you.">>
<<text "She smirks. She doesn't tell you to leave. That's a start.">>
<<rchat "Jessica" "assets/Quests/Lilith/FeedQuest/target_1.webp" "Sit down. You've got one drink to prove you're not boring.">>
<<storyImg "assets/Quests/Lilith/FeedQuest/jessica_laugh1.webp">>
<<set $feedApproach to "compliment">>
<<advancetime 15>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="LilithFeedQuestP3">
<img src="assets/Locations/City/nightclub.webp">
<span>Continue</span>
</a>
</div>
<</replace>>
<</button>>
<<button "Grab her ass">>
<<replace "#feed_approach">>
<<storyVideo "assets/Quests/Lilith/FeedQuest/ass_grab.mp4">>
<<text "You reach out and grab her ass. She spins around and slaps you hard across the face.">>
<<rchat "Jessica" "assets/Quests/Lilith/FeedQuest/target_1.webp" "What the fuck is wrong with you?!">>
<<storyVideo "assets/Quests/Lilith/FeedQuest/slap.mp4">>
<<text "She grabs her drink and walks away, disappearing into the crowd. Gone.">>
<<text "You rub your cheek. Fuck. That was stupid.">>
<<text "You try a few more women. They all shoot you down. You go home empty-handed.">>
<<advancetime 15>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="LilithFeedQuestFail">
<img src="assets/Locations/City/nightclub.webp">
<span>Continue</span>
</a>
</div>
<</replace>>
<</button>>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/City/nightclub.webp')"></div>
<div class="location-ui">
<<advancetime 10>>
<<text "You've been talking for twenty minutes. Her name is Jessica. She's a paralegal. She hates her boss. She loves tequila. She's here because her friends ditched her.">>
<<storyImg "assets/Quests/Lilith/FeedQuest/jessica_tipsy.webp">>
<<text "She's tipsy. She's laughing at your jokes. Her hand keeps brushing your arm. Her tits are leaning against the bar. You can see her nipples through the dress.">>
<<rchat "Jessica" "assets/Quests/Lilith/FeedQuest/target_1.webp" "So what's your deal? You're not from around here, are you?">>
<<playerchat "What makes you say that?">>
<<rchat "Jessica" "assets/Quests/Lilith/FeedQuest/target_1.webp" "You've got this... look. Like you're up to something.">>
<<text "She bites her lip. She's flirting. She's ready. You need to close this.">>
<<set $feedStage to 2>>
<div class="choice-buttons" id="feed_close">
<<button "Suggest going somewhere quieter">>
<<replace "#feed_close">>
<<playerchat "It's too loud in here. Let's go somewhere we can actually talk.">>
<<text "She looks at you. She knows what that means. She smiles.">>
<<rchat "Jessica" "assets/Quests/Lilith/FeedQuest/target_1.webp" "My place is just around the corner. My roommate's out of town.">>
<<storyImg "assets/Quests/Lilith/FeedQuest/jessica_flirt.webp">>
<<playerchat "Perfect.">>
<<text "She finishes her drink. She grabs your hand. She pulls you toward the exit.">>
<<advancetime 10>>
<<set $feedApproach to "quiet">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="LilithFeedQuestP4">
<img src="assets/Locations/City/nightclub.webp">
<span>Continue</span>
</a>
</div>
<</replace>>
<</button>>
<<button "Try to kiss her">>
<<replace "#feed_close">>
<<text "You lean in to kiss her. She pulls back.">>
<<rchat "Jessica" "assets/Quests/Lilith/FeedQuest/target_1.webp" "Whoa. Slow down, tiger. I don't kiss on the first night. You want me? You've gotta work for it.">>
<<advancetime 5>>
<div class="choice-buttons" id="feed_close2">
<<button "Back off and suggest dancing">>
<<replace "#feed_close2">>
<<playerchat "Fair enough. Let's dance instead.">>
<<text "She grins. She pulls you onto the dance floor. The moment is saved. Her body presses against yours. Her ass grinds against your crotch.">>
<<storyVideo "assets/Quests/Lilith/FeedQuest/dance_clip.mp4">>
<<rchat "Jessica" "assets/Quests/Lilith/FeedQuest/target_1.webp" "You're a good dancer. And you're hard. I can feel it.">>
<<playerchat "You're not exactly hiding what you want either.">>
<<text "She leans in and whispers in your ear.">>
<<rchat "Jessica" "assets/Quests/Lilith/FeedQuest/target_1.webp" "Let's get out of here.">><<advancetime 5>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="LilithFeedQuestP4">
<img src="assets/Locations/City/nightclub.webp">
<span>Continue</span>
</a>
</div>
<</replace>>
<</button>>
<<button "Push harder">>
<<replace "#feed_close2">>
<<text "You try again. You grab her waist and pull her close. She shoves you back.">>
<<rchat "Jessica" "assets/Quests/Lilith/FeedQuest/target_1.webp" "I said no. What the fuck is wrong with you?">>
<<storyVideo "assets/Quests/Lilith/FeedQuest/slap.mp4">>
<<text "She grabs her purse and storms off. Gone. You've lost her.">><<advancetime 5>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="LilithFeedQuestFail">
<img src="assets/Locations/City/nightclub.webp">
<span>Continue</span>
</a>
</div>
<</replace>>
<</button>>
</div>
<</replace>>
<</button>>
<<button "Ask her to dance first">>
<<replace "#feed_close">>
<<playerchat "Let's dance. Then we'll talk about what I'm up to.">>
<<text "She grins. She grabs your hand and pulls you onto the dance floor. Her body presses against yours. Her tits are against your chest. Her ass is against your crotch. She's grinding. Your cock is rock hard.">>
<<storyVideo "assets/Quests/Lilith/FeedQuest/dance_clip.mp4">>
<<rchat "Jessica" "assets/Quests/Lilith/FeedQuest/target_1.webp" "You're a good dancer. And you're hard. I can feel it.">>
<<playerchat "You're not exactly hiding what you want either.">>
<<text "She leans in and whispers in your ear.">>
<<rchat "Jessica" "assets/Quests/Lilith/FeedQuest/target_1.webp" "Let's get out of here.">>
<<set $feedApproach to "dance">><<advancetime 10>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="LilithFeedQuestP4">
<img src="assets/Locations/City/nightclub.webp">
<span>Continue</span>
</a>
</div>
<</replace>>
<</button>>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/City/apartment.webp')"></div>
<div class="location-ui">
<<text "You're in Jessica's apartment. It's small. Messy. Clothes everywhere. A half-empty bottle of wine on the counter. She locks the door behind you and turns around.">>
<<storyImg "assets/Quests/Lilith/FeedQuest/apartment.webp">>
<<rchat "Jessica" "assets/Quests/Lilith/FeedQuest/target_1.webp" "So. Here we are.">>
<<text "She steps closer. Her tits are right there. Her dress is tight. Her nipples are hard.">>
<<rchat "Jessica" "assets/Quests/Lilith/FeedQuest/target_1.webp" "I don't do this usually. You know that, right? I'm not a slut.">>
<<playerchat "I know.">>
<<rchat "Jessica" "assets/Quests/Lilith/FeedQuest/target_1.webp" "Good">>
<<text "She kisses you. Hard. Her hands are on your chest. She's pulling at your shirt. She wants this. She's ready. You've got her.">>
<<text "But you need to finish the job. You need to cum inside her. And she hasn't agreed to that yet.">>
<<advancetime 15>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="LilithFeedQuestP5">
<img src="assets/Quests/Lilith/FeedQuest/apartment.webp">
<span>Take her to the bedroom</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Quests/Lilith/FeedQuest/apartment.webp')"></div>
<div class="location-ui">
<<storyVideo "assets/Quests/Lilith/FeedQuest/undressing.mp4">>
<<rchat "Jessica" "assets/Quests/Lilith/FeedQuest/target_1.webp" "Fuck me. I need it.">>
<<storyVideo "assets/Quests/Lilith/FeedQuest/bj1.mp4">>
<<text "She pulls your cock out. She strokes it. She's about to put it in her mouth.">>
<<rchat "Jessica" "assets/Quests/Lilith/FeedQuest/target_1.webp" "Oh my fucking god! It's so big.">>
<<text "Jessica, amazed by your size, starts sucking your cock.">>
<<storyVideo "assets/Quests/Lilith/FeedQuest/bj2.mp4">>
<<playerchat "Ahh yes! Suck it good.">>
<<text "You can see Jessica's eyes rolling backwards.">>
<<playerchat "//(She's really going at it.)//">>
<<storyVideo "assets/Quests/Lilith/FeedQuest/bj3.mp4">>
<<playerchat "That's enough. Let me fuck you. I'm gonna cum inside you.">>
<<text "She freezes. She looks at you. Her eyes narrow.">>
<<rchat "Jessica" "assets/Quests/Lilith/FeedQuest/target_1.webp" "No. I'm not on the pill. Pull out. Or use a condom.">>
<<playerchat "I don't have a condom.">>
<<rchat "Jessica" "assets/Quests/Lilith/FeedQuest/target_1.webp" "Then don't fucking cum inside me, it's that simple.">>
<<text "You don't have a condom. And you can't pull out. Lilith needs the energy. You have to cum inside her. But she's not going to let you easily.">>
<<advancetime 15>>
<div class="choice-buttons" id="feed_finish">
<<button "Force it (Strength)">>
<<replace "#feed_finish">>
<<if $STR >= 30>>
<<set $feedOutcome to "force">>
<<goto "LilithFeedQuestForce">>
<<else>>
<<text "You try to force her. She's stronger than she looks. She knees you in the balls. You double over.">>
<<rchat "Jessica" "assets/Quests/Lilith/FeedQuest/target_1.webp" "Get the fuck out of my apartment before I call the cops!">>
<<text "You grab your clothes and run. You go home empty-handed.">>
<<text "Get your Strength over 30 before trying that again, or try another way.">><<advancetime 5>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="LilithFeedQuestFail">
<img src="assets/General/blank.webp">
<span>Leave</span>
</a>
</div>
<</if>>
<</replace>>
<</button>>
<<button "Talk her through it (Charisma)">>
<<replace "#feed_finish">>
<<if $CHA >= 30>>
<<set $feedOutcome to "talk">>
<<goto "LilithFeedQuestTalk">>
<<else>>
<<text "You try to talk her into it. She's not buying it.">>
<<rchat "Jessica" "assets/Quests/Lilith/FeedQuest/target_1.webp" "Are you actually trying to convince me to let you cum inside me? What is wrong with you?">>
<<text "She pushes you off and grabs her clothes. The moment is gone. She kicks you out. You go home empty-handed.">>
<<text "Get your Charisma over 30 before trying that again, or try another way.">><<advancetime 5>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="LilithFeedQuestFail">
<img src="assets/General/blank.webp">
<span>Leave</span>
</a>
</div>
<</if>>
<</replace>>
<</button>>
<<button "Outsmart her (Intelligence)">>
<<replace "#feed_finish">>
<<if $INT >= 30>>
<<set $feedOutcome to "smart">>
<<goto "LilithFeedQuestSmart">>
<<else>>
<<text "You try to think of a way to convince her. But you can't. She's not stupid.">>
<<rchat "Jessica" "assets/Quests/Lilith/FeedQuest/target_1.webp" "You're weird. Get out.">>
<<text "She pushes you off and kicks you out. You go home empty-handed.">>
<<text "Get your Intelligence over 30 before trying that again, or try another way.">><<advancetime 5>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="LilithFeedQuestFail">
<img src="assets/General/blank.webp">
<span>Leave</span>
</a>
</div>
<</if>>
<</replace>>
<</button>>
</div>
</div><div class="location-bg" style="background-image: url('assets/Quests/Lilith/FeedQuest/apartment.webp')"></div>
<div class="location-ui">
<<text "You bend her over. She screams. She struggles. But you're stronger. You're stronger than she is. You position yourself between her legs.">>
<<rchat "Jessica" "assets/Quests/Lilith/FeedQuest/target_1.webp" "Get off me! Stop! What the fuck are you doing?!">>
<<storyVideo "assets/Quests/Lilith/FeedQuest/clip1.mp4">>
<<text "You ignore her. You thrust inside her. She's tight. Wet. She's still fighting. But her body is responding. She's moaning despite herself.">>
<<rchat "Jessica" "assets/Quests/Lilith/FeedQuest/target_1.webp" "Fuck... you... ah... fuck... get off... ah...">>
<<storyVideo "assets/Quests/Lilith/FeedQuest/clip2.mp4">>
<<text "You fuck her hard. Fast. You put her on top of yourself.">>
<<rchat "Jessica" "assets/Quests/Lilith/FeedQuest/target_1.webp" "You fucking bastard... ah... fuck... why does it feel so good...">>
<<storyVideo "assets/Quests/Lilith/FeedQuest/clip3.mp4">>
<<playerchat "You're going to take every drop.">>
<<rchat "Jessica" "assets/Quests/Lilith/FeedQuest/target_1.webp" "No... don't... please...">>
<<storyVideo "assets/Quests/Lilith/FeedQuest/clip4.mp4">>
<<playerchat "You fucking slut... You're telling me you dont usually do this? Huh?">>
<<rchat "Jessica" "assets/Quests/Lilith/FeedQuest/target_1.webp" "I'm not a slut, please!">>
<<storyVideo "assets/Quests/Lilith/FeedQuest/clip5.mp4">>
<<playerchat "Oh yes you are. I've seen how you sucked my cock. You've seen plenty.">>
<<text "You see Jessica shaking her head 'no'.">>
<<text "You start fucking her harder.">>
<<playerchat "You're a slut, Jessica. Admit it.">>
<<rchat "Jessica" "assets/Quests/Lilith/FeedQuest/target_1.webp" "Yes, yes, I'm a slut. Just please let me go, don't cum inside me.">>
<<storyVideo "assets/Quests/Lilith/FeedQuest/clip6.mp4">>
<<playerchat "Don't worry, I'll cum so deep inside you, your pussy won't even feel it.">>
<<text "You cum inside her. Deep. She gasps. Her body shudders. She cums too. You can feel her pussy clenching around you.">>
<<storyVideo "assets/Quests/Lilith/FeedQuest/cum.mp4">>
<<rchat "Jessica" "assets/Quests/Lilith/FeedQuest/target_1.webp" "You... you came inside me... you fucking asshole...">>
<<text "You pull out. She's lying there, breathless, confused, satisfied. Her cunt is dripping with your cum.">>
<<storyVideo "assets/Quests/Lilith/FeedQuest/creampie.mp4">>
<<rchat "Jessica" "assets/Quests/Lilith/FeedQuest/target_1.webp" "What the fuck... just happened...">>
<<text "You get dressed and leave without a word. The energy is inside you. It's time to bring it back to Lilith.">>
<<set $LilithFeedQuestCummedInASlut to true>>
<<advancetime 30>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="City">
<img src="assets/Locations/City/city.webp">
<span>Leave</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Quests/Lilith/FeedQuest/bedroom.webp')"></div>
<div class="location-ui">
<<playerchat "Jessica. Look at me. I know you want this. I can feel how wet you are. You're not on the pill, but you want me inside you. You want to feel every inch of me.">>
<<rchat "Jessica" "assets/Quests/Lilith/FeedQuest/target_1.webp" "I... I don't know...">>
<<text "She's breathing hard. She's listening.">>
<<playerchat "I'll pull out. I promise. But first I want to feel you. All of you. I want to fuck you rough.">>
<<text "She bites her lip. She's fighting herself. Then she nods.">>
<<rchat "Jessica" "assets/Quests/Lilith/FeedQuest/target_1.webp" "Fine. But you pull out. You promise?">>
<<playerchat "I promise.">>
<<storyVideo "assets/Quests/Lilith/FeedQuest/clip1.mp4">>
<<text "You thrust inside her. She gasps. Her eyes roll back. You fuck her hard. Deep. She's moaning your name.">>
<<rchat "Jessica" "assets/Quests/Lilith/FeedQuest/target_1.webp" "Fuck... oh fuck... don't stop...">>
<<storyVideo "assets/Quests/Lilith/FeedQuest/clip2.mp4">>
<<text "You keep fucking her, fast and deep. She's getting wetter. Her pussy is gripping you like a vice. She's close.">>
<<storyVideo "assets/Quests/Lilith/FeedQuest/clip3.mp4">>
<<playerchat "You feel that? You feel how good this is? You want me to cum inside you, don't you?">>
<<rchat "Jessica" "assets/Quests/Lilith/FeedQuest/target_1.webp" "No... I... ah... I can't...">>
<<storyVideo "assets/Quests/Lilith/FeedQuest/clip4.mp4">>
<<playerchat "Yes you can. You want it. I can feel it. Just let go. Let me fill you up.">>
<<text "She's shaking her head, but her hips are moving in ryhtam with your thrusts.">>
<<storyVideo "assets/Quests/Lilith/FeedQuest/clip5.mp4">>
<<rchat "Jessica" "assets/Quests/Lilith/FeedQuest/target_1.webp" "Fuck... okay... okay... just... fuck me...">>
<<playerchat "You're going to take every drop.">>
<<storyVideo "assets/Quests/Lilith/FeedQuest/clip6.mp4">>
<<text "You fuck her faster. Harder. She's too far gone to notice. You cum inside her. Deep. She gasps. Her body shudders. She cums too. Her pussy milks you dry.">>
<<storyVideo "assets/Quests/Lilith/FeedQuest/cum.mp4">>
<<rchat "Jessica" "assets/Quests/Lilith/FeedQuest/target_1.webp" "You didn't... you said you'd pull out...">>
<<storyVideo "assets/Quests/Lilith/FeedQuest/creampie.mp4">>
<<playerchat "I lied.">>
<<text "You get dressed and leave. She's too stunned to say anything. The energy is inside you. It's time to bring it back to Lilith.">>
<<set $LilithFeedQuestCummedInASlut to true>>
<<advancetime 30>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="City">
<img src="assets/Locations/City/city.webp">
<span>Leave</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Quests/Lilith/FeedQuest/apartment.webp')"></div>
<div class="location-ui">
<<text "You reach into your pocket and pull out your wallet. You flash a few bills.">>
<<playerchat "I've got two hundred dollars. For you. If you let me finish inside you.">>
<<text "She stares at the money. She's hesitating. You can see the gears turning in her head.">>
<<rchat "Jessica" "assets/Quests/Lilith/FeedQuest/target_1.webp" "Two hundred? Cash?">>
<<playerchat "Two hundred. Just let me finish. That's all.">>
<<text "She takes the money. She stuffs it in her purse. Then she bends over and spreads her legs.">>
<<rchat "Jessica" "assets/Quests/Lilith/FeedQuest/target_1.webp" "Fine. But you better be quick.">>
<<storyVideo "assets/Quests/Lilith/FeedQuest/clip1.mp4">>
<<text "You fuck her. Hard. Fast. She's not into it anymore, but she's letting you. That's all that matters.">>
<<storyVideo "assets/Quests/Lilith/FeedQuest/clip2.mp4">>
<<rchat "Jessica" "assets/Quests/Lilith/FeedQuest/target_1.webp" "//(moaning)// Aghh! Just hurry up... I don't have all night...">>
<<storyVideo "assets/Quests/Lilith/FeedQuest/clip3.mp4">>
<<playerchat "You're going to take every drop.">>
<<storyVideo "assets/Quests/Lilith/FeedQuest/clip4.mp4">>
<<playerchat "You feel that? You feel how good this is? You want me to cum inside you, don't you?">>
<<rchat "Jessica" "assets/Quests/Lilith/FeedQuest/target_1.webp" "No... I... ah... The money...">>
<<storyVideo "assets/Quests/Lilith/FeedQuest/clip5.mp4">>
<<rchat "Jessica" "assets/Quests/Lilith/FeedQuest/target_1.webp" "Fuck... you're so fucking rough!">>
<<storyVideo "assets/Quests/Lilith/FeedQuest/clip6.mp4">>
<<text "You cum inside her. Deep. She doesn't cum. She doesn't care. She just wants you gone.">>
<<storyVideo "assets/Quests/Lilith/FeedQuest/cum.mp4">>
<<rchat "Jessica" "assets/Quests/Lilith/FeedQuest/target_1.webp" "Hope you're happy. Now give me my fucking money and get out!">>
<<playerchat "I thought you weren't that type of girl? What changed?">>
<<rchat "Jessica" "assets/Quests/Lilith/FeedQuest/target_1.webp" "I'm not, give me my money.">>
<<playerchat "Not before you admit you're nothing more but a slut. A whore.">>
<<rchat "Jessica" "assets/Quests/Lilith/FeedQuest/target_1.webp" "I fucking hate you.">>
<<playerchat "Come on.">>
<<rchat "Jessica" "assets/Quests/Lilith/FeedQuest/target_1.webp" "I'm a slut, $playerName. Happy?">>
<<playerchat "Yes you are.">>
<<rchat "Jessica" "assets/Quests/Lilith/FeedQuest/target_1.webp" "Give me the money.">>
<<playerchat "I'm not giving you shit.">>
<<text "Jessica starts yelling at you, but she can't move.">>
<<playerchat "Fucked so hard you can't even walk.">>
<<text "You get dressed and leave. She's already on her phone, presumably calling the cops. She doesn't even look at you. The energy is inside you. It's time to bring it back to Lilith.">>
<<set $LilithFeedQuestCummedInASlut to true>>
<<advancetime 30>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="City">
<img src="assets/Locations/City/city.webp">
<span>Leave</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/attic.webp')"></div>
<div class="location-ui">
<<text "Lilith is still on her cushions. She's still pale. But she looks up when she sees you. She sniffs the air. Her eyes light up.">>
<<storyImg "assets/Quests/Lilith/FeedQuest/pfp.webp">>
<<chat lilith "You came back. I can smell it on you. You actually went through with it.">>
<<text "She forces herself up. She's shaky. But she's hungry. She crawls over to you. Her tits are hanging down. Her eyes are locked on your crotch.">>
<<chat lilith "Give it to me. I need it. Now.">>
<<text "She unzips your pants. She pulls your cock out. She doesn't wait. She takes it in her mouth.">>
<<storyVideo "assets/Quests/Lilith/FeedQuest/lilith_bj1.mp4">>
<<chat lilith "Mmm... fuck... you're already hard for me...">>
<<text "She sucks you. Tasting. Her tongue runs along the underside. She looks up at you while she does it.">>
<<storyVideo "assets/Quests/Lilith/FeedQuest/lilith_bj2.mp4">>
<<chat lilith "I've been waiting for this. You have no idea how long.">>
<<text "She takes you deeper. Her hand wraps around the base. She's not teasing anymore. She's working for it.">>
<<storyVideo "assets/Quests/Lilith/FeedQuest/lilith_bj3.mp4">>
<<chat lilith "So good... fuck my mouth...">>
<<text "She bobs her head faster. Her cheeks hollow. Spit runs down her chin. She doesn't stop to wipe it.">>
<<storyVideo "assets/Quests/Lilith/FeedQuest/lilith_bj4.mp4">>
<<chat lilith "//(muffled)// More... I want more...">>
<<text "She deep throats you. Her nose presses against your pelvis. Her throat works around you. You grab her hair — she moans around your cock when you do.">>
<<storyVideo "assets/Quests/Lilith/FeedQuest/lilith_bj5.mp4">>
<<playerchat "You want this? You want all of it?">>
<<chat lilith "//(muffled)// Yes... yes... give it to me...">>
<<text "She pulls back just enough to breathe, then takes you again. Faster. Messier. She's chasing it now.">>
<<storyVideo "assets/Quests/Lilith/FeedQuest/lilith_bj6.mp4">>
<<chat lilith "Don't hold back. I want to taste it.">>
<<text "She works you right to the edge. You feel it build. She feels it too — she pulls off, strokes you fast, and looks up.">>
<<storyVideo "assets/Quests/Lilith/FeedQuest/lilith_bj7.mp4">>
<<playerchat "On your knees. Face up.">>
<<text "She drops back onto her heels, chin tilted up, mouth open, eyes on you. You finish across her face. She doesn't flinch. She just breathes.">>
<<storyVideo "assets/Quests/Lilith/FeedQuest/lilith_cum.mp4">>
<<text "She pulls back. She licks her lips. Her skin is already starting to return to normal. Her eyes are brighter. She's stronger.">>
<<chat lilith "Fuck yes. That was exactly what I needed.">>
<<text "She stands up. She's still shaky, but she's better. Much better.">>
<<chat lilith "You did good. Really good.">>
<<set $CharQuests.lilith.lilithFeedQuest.status to "completed">>
<<advancetime 5>>
<div class="choice-buttons" id="feed_reward">
<<button "Leave">>
<<replace "#feed_reward">>
<<playerchat "Just glad I could help.">>
<<text "You turn to leave. Lilith watches you go. She's smiling. That predatory smile you're starting to recognize.">>
<<chat lilith "Come back soon. I'll need more. Much more.">><<advancetime 5>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="YourRoomDecider">
<img src="assets/Locations/House/your_room.webp">
<span>Leave the attic</span>
</a>
</div>
<</replace>>
<</button>>
<<button "Ask for a reward">>
<<replace "#feed_reward">>
<<playerchat "So... do I get anything out of this? Or is feeding you the only reward?">>
<<text "She laughs. A real laugh.">>
<<chat lilith "You just got it, didn't you? You fucked a beautiful woman. You came inside her. Then I sucked your cock dry. What more do you want?">>
<<text "She touches your cheek. Her hand is warm now. Not cold like before.">><<advancetime 5>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="YourRoom">
<img src="assets/Locations/House/your_room.webp">
<span>Your Room</span>
</a>
</div>
<</replace>>
<</button>>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/City/nightclub.webp')"></div>
<div class="location-ui">
<<text "You struck out tonight. Every woman you approached either ignored you, rejected you, or slapped you. You're going home alone.">>
<<text "Lilith is going to be pissed. But there's nothing you can do about it now. You need to sleep and try again tomorrow.">><<advancetime 5>>
<<set $CharQuests.lilith.lilithFeedQuest.step to 1>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="SleepDecider">
<img src="assets/Locations/House/YourRoom/sleep.webp">
<span>Go home and sleep</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/your_room.webp')"></div>
<div class="location-ui">
<<text "While you were getting ready to do stuff in your room, all of a sudden you hear loud, messy, and completely undignified. It's coming from the attic.">>
<<playerchat "//(What the fuck, Lilith... Someone is gonna hear you.)//">>
<<text "Go tell her to stop whatever she's doing.">>
<<advancetime 5>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="LilithMortalSicknessStart">
<img src="assets/Locations/House/attic.webp">
<span>Attic</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/attic.webp')"></div>
<div class="location-title">The Mortal Sickness</div>
<div class="location-ui">
<<text "You climb into the attic and immediately know something is wrong. The air is stale. The candles are unlit. And Lilith is curled up on her velvet cushions, wrapped in every scrap of fabric she owns, shivering like a stray cat in a thunderstorm.">>
<<chat lilith "//(voice nasally, muffled by blankets)// Don't look at me. I'm fine. Get out.">>
<<playerchat "You look like death warmed over, Lilith.">>
<<text "She throws a pillow at you. It bounces weakly off your chest and lands on the floor. She doesn't even have the strength to throw it properly. That's when you know something is seriously wrong.">>
<<chat lilith "I said I'm FINE. It's just... a minor irritation. A temporary inconvenience. Nothing a demon of my caliber can't handle.">>
<<text "She sneezes. It's loud, messy, and completely undignified. She wipes her nose on her sleeve and glares at you like you caused it.">>
<<chat lilith "Don't. Say. A word.">>
<<playerchat "You're sick.">>
<<chat lilith "I am NOT sick! I'm a fucking succubus! I've devoured souls! I've brought kings to their knees! I don't get... whatever this is!">>
<<text "She sneezes again. This time it's followed by a wet cough that rattles her entire body. She groans and buries her face in the cushions.">>
<<chat lilith "Fuck. Fuck this. Fuck this entire mortal realm and its stupid, fragile biology.">>
<<playerchat "You caught a cold.">>
<<chat lilith "I caught NOTHING. I'm just... temporarily incapacitated. It'll pass. It has to pass. I refuse to accept this.">>
<<text "She tries to sit up, presumably to prove her point. She makes it about three inches before collapsing back onto the cushions with a pathetic whimper.">>
<<chat lilith "...Don't look at me like that.">>
<<playerchat "Like what?">>
<<chat lilith "Like you feel sorry for me. I hate pity. I'd rather you just... I don't know. Go away and come back when I'm better. Or don't come back. I don't care.">>
<<text "She's shivering violently now, her teeth chattering. Her usual commanding presence is completely gone. She's just a woman—a very beautiful, very naked woman—wrapped in blankets and miserable.">>
<<advancetime 5>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="LilithMortalSicknessP2">
<img src="assets/General/blank.webp">
<span>Take charge</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/attic.webp')"></div>
<div class="location-ui">
<<playerchat "You're going to shut up and let me take care of you. That's not a request.">>
<<chat lilith "Excuse me?! You don't get to order me around, mortal! I am a being of untold power and—">>
<<text "She starts coughing again, a deep, hacking cough that cuts off her protest. She clutches her chest and groans.">>
<<chat lilith "...I hate you.">>
<<playerchat "I know. Now stay put. I'm going to the store.">>
<<chat lilith "The store? For what?">>
<<playerchat "Medicine. You need cold medicine.">>
<<chat lilith "Medicine? That's for weak humans. I don't need—">>
<<playerchat "You need it. What are your symptoms?">>
<<chat lilith "I don't have symptoms. I have... a minor respiratory event.">>
<<playerchat "Lilith.">>
<<text "She glares at you. Then sneezes. Then glares again.">>
<<chat lilith "Fine. My head feels like someone's driving a nail into it. My throat feels like I swallowed broken glass. My nose is running and I can't stop it. And I'm freezing. And everything hurts. Are you happy now?">>
<<playerchat "Very. Stay in bed. I'll be back soon.">>
<<chat lilith "I'm not staying in bed. I have things to do.">>
<<playerchat "What things?">>
<<chat lilith "...I'll think of something.">>
<<text "She's already curling back into the cushions, her eyes fluttering closed. You pull one of the heavier blankets over her bare body. She flinches at the contact, then sighs.">>
<<chat lilith "If you tell anyone about this, I'll kill you.">>
<<playerchat "Wouldn't dream of it.">>
<<chat lilith "I mean it. I'll make it slow and painful. I'll—">>
<<nobr>><<set _randomNum to random(1, 5)>>
<<set _path to "assets/Quests/Lilith/MortalSicknessQuest/lilith_sleeping" + _randomNum + ".webp">>
<<storyImg _path>><</nobr>>
<<text "She's asleep before she finishes the threat. You climb down the attic ladder and head downstairs. You need to go buy the cold medicine.">>
<<set $CharQuests.lilith.lilithMortalSicknessQuest.step to 1>>
<<advancetime 10>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="YourRoom">
<img src="assets/Locations/House/your_room.webp">
<span>Your Room</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/attic.webp')"></div>
<div class="location-ui">
<<text "You find Lilith sleeping.">>
<<nobr>><<set _randomNum to random(1, 5)>>
<<set _path to "assets/Quests/Lilith/MortalSicknessQuest/lilith_sleeping" + _randomNum + ".webp">>
<<storyImg _path>><</nobr>>
<<playerchat "//(Fuck, I forgot the medicine.)//">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="YourRoom">
<img src="assets/Locations/House/your_room.webp">
<span>Go to your room</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/attic.webp')"></div>
<div class="location-ui">
<<text "You climb back into the attic, arms full of supplies. Lilith is exactly where you left her, still wrapped in blankets, still looking miserable. She cracks one eye open when she hears you.">>
<<chat lilith "You came back.">>
<<text "She tries to sit up, but gives up halfway and slumps back down. You kneel beside her and start unpacking the supplies.">>
<<chat lilith "What is all that?">>
<<playerchat "Medicine. Soup. Water. Tissues.">>
<<chat lilith "I don't need tissues. I have sleeves.">>
<<playerchat "You're not wiping your nose on your sleeve like a child. Here.">>
<<text "You pull out a tissue and hold it to her nose. She stares at you like you've just offered her poison.">>
<<chat lilith "What are you doing?">>
<<playerchat "Blow.">>
<<chat lilith "I'm not blowing my nose in front of you.">>
<<playerchat "You're a literal demon who's seen more dicks than a urinal. Blow your fucking nose.">>
<<text "She glares at you for a long moment. Then she sneezes, and the decision is made for her. You wipe her nose with the tissue while she stares at the ceiling, humiliated.">>
<<chat lilith "I hate you so much right now.">>
<<playerchat "Open your mouth.">>
<<chat lilith "Why?">>
<<playerchat "Medicine.">>
<<text "You hold up two pills and a glass of water. She eyes them suspiciously.">>
<<chat lilith "What is that?">>
<<playerchat "Cold and flu tablets. They'll help with the fever and the aches.">>
<<chat lilith "I don't have a fever.">>
<<text "You press the back of your hand to her forehead. She flinches, but doesn't pull away. Her skin is burning hot.">>
<<playerchat "You're literally on fire.">>
<<chat lilith "I'm always hot. I'm a succubus.">>
<<playerchat "This is different. Take the pills.">>
<<chat lilith "What if they don't work? What if they make it worse? What if—">>
<<playerchat "Lilith. Take the pills.">>
<<text "She groans, but she takes them. She swallows them dry, grimacing.">>
<<chat lilith "There. Happy?">>
<<playerchat "Now the soup.">>
<<chat lilith "I'm not hungry.">>
<<playerchat "You need to eat.">>
<<chat lilith "I don't eat mortal food. I feed on energy. Souls. Lust. You know, the good stuff.">>
<<playerchat "And you're currently too weak to feed. So you're eating soup.">>
<<text "She opens her mouth to argue, but no words come out. She closes it. Then she sighs.">>
<<chat lilith "...Fine. But I'm not going to enjoy it.">>
<<text "You heat up the instant soup using a small camping stove you found in the attic. You hand her the cup. She takes a sip. Her eyes widen slightly.">>
<<chat lilith "...It's not terrible.">>
<<playerchat "High praise. Sophia made it for me.">>
<<text "She drinks the whole cup in silence. When she's done, she hands it back to you and curls into the blankets.">>
<<chat lilith "Don't leave yet.">>
<<playerchat "I wasn't planning on it.">>
<<chat lilith "Good. Because if I die, I'm haunting you. And I'll make your life a living hell.">>
<<playerchat "You already do that.">>
<<chat lilith "Shut up.">>
<<text "She closes her eyes. After a few minutes, her breathing evens out. She's asleep. You stay with her until the candles burn low, then quietly climb down the attic ladder.">>
<<nobr>><<set _randomNum to random(1, 5)>>
<<set _path to "assets/Quests/Lilith/MortalSicknessQuest/lilith_sleeping" + _randomNum + ".webp">>
<<storyImg _path>><</nobr>>
<<playerchat "//(I'll have to wait until tomorrow to check up on her.)//">>
<<set $CharQuests.lilith.lilithMortalSicknessQuest.step to 2>>
<<set $lilithMortalSicknessCheckDay to $day>>
<<run setup.removeItem("cold_medicine")>>
<<advancetime 20>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="YourRoomDecider">
<img src="assets/Locations/House/your_room.webp">
<span>Go to your room</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/attic.webp')"></div>
<div class="location-ui">
<<text "You find Lilith sleeping.">>
<<nobr>><<set _randomNum to random(1, 5)>>
<<set _path to "assets/Quests/Lilith/MortalSicknessQuest/lilith_sleeping" + _randomNum + ".webp">>
<<storyImg _path>><</nobr>>
<<playerchat "//(I already checked up on her today. I'll have to wait until tomorrow.)//">>
<<advancetime 5>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="YourRoom">
<img src="assets/Locations/House/your_room.webp">
<span>Go to your room</span>
</a>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/attic.webp')"></div>
<div class="location-ui">
<<text "The next day, you climb back into the attic. The smell of stale air and sweat hits you immediately. Lilith is in the same spot, but she's thrown off most of the blankets. Her skin is glistening with sweat, her dark hair plastered to her forehead.">>
<<chat lilith "//(voice weak, but still irritated)// You again? Don't you have friends?">>
<<playerchat "How are you feeling?">>
<<chat lilith "Like I've been run over by a carriage. Twice. And then set on fire.">>
<<text "You press your hand to her forehead again. She's still burning up.">>
<<playerchat "Did you take the medicine?">>
<<chat lilith "I took the damn medicine. It's not working. Your mortal potions are useless.">>
<<playerchat "It takes time. You need to rest.">>
<<chat lilith "I've been resting! All I've done is rest! I'm bored out of my mind! I've counted the cobwebs on the ceiling twelve times! There are forty-seven of them!">>
<<playerchat "You counted the cobwebs?">>
<<chat lilith "I had nothing else to do! This is torture! I'd rather be back in the void than stuck in this dusty attic with nothing but my own thoughts!">>
<<text "She sneezes. Then coughs. Then groans and rolls onto her side, facing away from you.">>
<<chat lilith "Just leave me here to die.">>
<<playerchat "You're not dying. You have a cold.">>
<<chat lilith "Same thing.">>
<<text "You sit down beside her. She doesn't move. You can see her bare shoulder trembling.">>
<<playerchat "Do you want me to stay?">>
<<chat lilith "...I don't care what you do.">>
<<playerchat "That's not what I asked.">>
<<text "A long pause. Then, so quiet you almost miss it:">>
<<chat lilith "...Stay.">>
<<text "You sit with her. She doesn't talk. Neither do you. After a while, she shifts, pressing her back against your leg. She's still shaking.">>
<<playerchat "You're freezing again.">>
<<chat lilith "No shit. Your mortal realm is cold.">>
<<playerchat "You're naked and you threw off all your blankets. Of course you're cold.">>
<<chat lilith "I was hot! Then I was cold! My body doesn't know what it's doing! This is your fault! All of it!">>
<<playerchat "How is this my fault?">>
<<chat lilith "Because you're the one who brought me here! If I was still in hell, I wouldn't be dealing with this!">>
<<playerchat "You'd also still be powerless and alone.">>
<<text "She goes quiet. For a moment, you think you've pushed too far. Then she sighs.">>
<<chat lilith "...I hate that you're right.">>
<<text "You pull the blankets back over her. She doesn't fight it this time. She just closes her eyes.">>
<<chat lilith "Thank you.">>
<<playerchat "What was that?">>
<<chat lilith "I said nothing. Shut up.">>
<<text "You stay with her until she falls asleep again.">>
<<nobr>><<set _randomNum to random(1, 5)>>
<<set _path to "assets/Quests/Lilith/MortalSicknessQuest/lilith_sleeping" + _randomNum + ".webp">>
<<storyImg _path>><</nobr>>
<<playerchat "//(I'll have to wait until tomorrow to check up on her.)//">>
<<set $CharQuests.lilith.lilithMortalSicknessQuest.step to 3>>
<<set $lilithMortalSicknessCheckDay to $day>>
<<advancetime 60>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="YourRoomDecider">
<img src="assets/Locations/House/your_room.webp">
<span>Leave</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/attic.webp')"></div>
<div class="location-ui">
<<text "On the third day, you climb into the attic expecting the worst. But when you open the hatch, you're greeted by the smell of fresh candles.">>
<<storyImg "assets/Quests/Lilith/MortalSicknessQuest/lilith_recovered.webp">>
<<chat lilith "About time you showed up.">>
<<playerchat "You look better.">>
<<chat lilith "I look amazing. I always look amazing. But yes, I no longer feel like death.">>
<<text "You walk over and press your hand to her forehead. She doesn't flinch this time. Her skin is cool.">>
<<playerchat "Your fever broke.">>
<<chat lilith "Of course it did. I told you it was temporary.">>
<<playerchat "You also told me you were fine and that you didn't need help.">>
<<chat lilith "I was lying. I'm allowed to lie. I'm a demon.">>
<<text "A long pause.">>
<<chat lilith "Thank you.">>
<<playerchat "For what?">>
<<chat lilith "For not leaving me to rot. For bringing me medicine. For staying.">>
<<playerchat "You would have done the same for me.">>
<<text "She turns around, her dark eyes meeting yours.">>
<<chat lilith "No. I wouldn't. I'm a demon. I don't do... caretaking. But you did. And I won't forget it.">>
<<playerchat "Is that a threat or a promise?">>
<<chat lilith "Both.">>
<<set $CharQuests.lilith.lilithMortalSicknessQuest.status to "completed">>
<<set $CharQuests.lilith.lilithFeedQuest.status to "active">>
<<addRel 5 lilith>>
<<addLust 2 lilith>>
<<advancetime 60>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="YourRoomDecider">
<img src="assets/Locations/House/your_room.webp">
<span>Return to your room</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/City/store.webp')"></div>
<div class="location-title">🏪 The Family Business</div>
<div class="location-ui">
<<text "You walk up to the counter and ask about the 'Help Wanted' sign taped to the register. The man behind the counter doesn't look up from counting bills. When he finally does, his eyes crawl over you like you're something stuck to his shoe.">>
<<rchat "Store Owner" "assets/Locations/City/Store/owner.webp" "A job. You want a job.">>
<<text "He sets the bills down, very deliberately, and folds his hands.">>
<<rchat "Store Owner" "assets/Locations/City/Store/owner.webp" "Let me explain something to you, because clearly nobody ever has. This store is mine. Everything in it is mine. The shelves, the stock, the floor you're standing on. And the people in it are mine too. You understand what I'm saying?">>
<<playerchat "Not really.">>
<<rchat "Store Owner" "assets/Locations/City/Store/owner.webp" "Then let me be plainer. You work here, you do exactly what I say, when I say it, and you don't breathe a word I don't like. You screw up once, you're gone. You look at something that isn't yours, you're gone. You so much as think about my daughter, and I'll have you thrown out on your back in the street. Am I clear?">>
<<text "He doesn't raise his voice. That's what makes it worse.">>
<<text "Before you can answer, the back curtain rattles and a girl pushes through.">>
<<storyImg "assets/Quests/Mazy/UnlockQuest/mazy_intro.webp">>
<<chat mazy "Oh, hey! Someone actually answered the ad. I'm Mazy. This is my dad's store. Don't let him scare you off, he's like this with everyone.">>
<<rchat "Store Owner" "assets/Locations/City/Store/owner.webp" "Mazy. Back room. Now.">>
<<chat mazy "Dad—">>
<<rchat "Store Owner" "assets/Locations/City/Store/owner.webp" "NOW.">>
<<text "She flinches. Not much. Just a little. Then she gives you a strained smile and disappears behind the curtain. The owner turns back to you, and his voice drops low.">>
<<rchat "Store Owner" "assets/Locations/City/Store/owner.webp" "She's my daughter. She's all I've got. And I'll burn this place to the ground before I let a nobody like you get ideas about her. Now. You still want the job, or are you going to waste my time?">>
<div class="choice-buttons" id="mazy_hires_choice">
<<button "“I want the job. I'm a hard worker.”">>
<<replace "#mazy_hires_choice">>
<<playerchat "I want the job. I'm a hard worker.">>
<<text "He grunts, disgusted you'd even bother answering.">>
<<rchat "Store Owner" "assets/Locations/City/Store/owner.webp" "Everyone says that. Most of them are liars. We'll find out which one you are.">>
<<addRel 1 mazy>>
<<set $CharQuests.mazy.mazyUnlockQuest.step to 1>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="MazyHireQuestP2">
<img src="assets/Locations/City/store.webp">
<span>Continue</span>
</a>
</div>
<</replace>>
<</button>>
<<button "“Gawk? No. But I'd work twice as hard with her around.”">>
<<replace "#mazy_hires_choice">>
<<playerchat "Gawk? No. But I'd work twice as hard with her around.">>
<<text "His face goes from sour to dangerous. He leans across the counter, close enough that you can smell the stale coffee on his breath.">>
<<rchat "Store Owner" "assets/Locations/City/Store/owner.webp" "Say that again. Go on. Say it again so I have it on record when I throw you out of here by the collar.">>
<<text "He's dead serious. There's not a flicker of humor in him.">>
<<addLust 1 mazy>>
<<set $CharQuests.mazy.mazyUnlockQuest.step to 1>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="MazyHireQuestP2">
<img src="assets/Locations/City/store.webp">
<span>Continue</span>
</a>
</div>
<</replace>>
<</button>>
<<button "Say nothing. Just hand over your ID and look reliable.">>
<<replace "#mazy_hires_choice">>
<<text "You slide your ID across the counter without a word. He picks it up, reads it top to bottom like he's looking for a reason to reject it.">>
<<rchat "Store Owner" "assets/Locations/City/Store/owner.webp" "Silent type. Good. I don't like talkers. Talkers think they're clever. You think you're clever?">>
<<playerchat "No.">>
<<rchat "Store Owner" "assets/Locations/City/Store/owner.webp" "We'll see. Smart mouths don't last long in my store.">>
<<addRel 1 mazy>>
<<set $CharQuests.mazy.mazyUnlockQuest.step to 1>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="MazyHireQuestP2">
<img src="assets/Locations/City/store.webp">
<span>Continue</span>
</a>
</div>
<</replace>>
<</button>>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/City/store.webp')"></div>
<div class="location-ui">
<<text "Before the owner can say another word, the storeroom door bangs open and a woman sweeps in — tall heels, a designer dress, manicured fingers dripping with rings. She looks around the tired little store like it personally insulted her.">>
<<storyImg "assets/Quests/Mazy/UnlockQuest/the_wife.webp">>
<<rchat "The Wife" "assets/Quests/Mazy/UnlockQuest/wife_pfp.webp" "Darling. Darling. Are you done playing shopkeeper? The car needs servicing and the neighbor's garden party is Saturday and I refuse to wear the same dress twice, so—">>
<<text "She stops. She's noticed you. Her eyes slide over you, up and down, like she's pricing a new handbag.">>
<<rchat "The Wife" "assets/Quests/Mazy/UnlockQuest/wife_pfp.webp" "Who's this? He's young. You're not hiring him. We can't afford a new employee, we can barely afford the last two.">>
<<rchat "Store Owner" "assets/Locations/City/Store/owner.webp" "We need the help.">>
<<rchat "The Wife" "assets/Quests/Mazy/UnlockQuest/wife_pfp.webp" "We need a new kitchen, darling. Not staff.">>
<<rchat "Store Owner" "assets/Locations/City/Store/owner.webp" "You'll get the kitchen, go do the work.">>
<<storyImg "assets/Quests/Mazy/UnlockQuest/wife_back.webp">>
<<text "She clicks off toward the back office without another word. The owner watches her go.">>
<<rchat "Store Owner" "assets/Locations/City/Store/owner.webp" "What are you still standing here for? You want this job or not? I'm not paying you to stand around. And I already warned you once about my daughter. I won't warn you twice.">>
<div class="choice-buttons" id="mazy_hires_choice2">
<<button "“Understood. I'm here to work.”">>
<<replace "#mazy_hires_choice2">>
<<playerchat "Understood. I'm here to work.">>
<<rchat "Store Owner" "assets/Locations/City/Store/owner.webp" "Then work. Mazy will show you the back. Don't make me regret this.">>
<<addRel 1 mazy>>
<<set $CharQuests.mazy.mazyUnlockQuest.step to 2>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="MazyHireQuestP3">
<img src="assets/Locations/City/store.webp">
<span>Continue</span>
</a>
</div>
<</replace>>
<</button>>
<<button "“You don't have to worry about me.”">>
<<replace "#mazy_hires_choice2">>
<<playerchat "You don't have to worry about me.">>
<<text "He barks a laugh — short, ugly, humorless.">>
<<rchat "Store Owner" "assets/Locations/City/Store/owner.webp" "Everyone's a saint until the moment they're not. I've buried better men than you who said the same thing. Get in the back. Mazy will show you around.">>
<<addRel 1 mazy>>
<<set $CharQuests.mazy.mazyUnlockQuest.step to 2>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="MazyHireQuestP3">
<img src="assets/Locations/City/store.webp">
<span>Continue</span>
</a>
</div>
<</replace>>
<</button>>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/City/store.webp')"></div>
<div class="location-ui">
<<text "Mazy leads you into the back room — shelves of boxes, a rolling ladder, a little staff table, and a door marked 'Stock.' She bends over to pick up some trash from the floor.">>
<<storyImg "assets/Quests/Mazy/UnlockQuest/bent_over.webp">>
<<playerchat "//(Damn.)//">>
<<chat mazy "Sorry. About him. He's like that sometimes.">>
<<playerchat "What about your mom?">>
<<chat mazy "She's an okay person, but she is spoiled as fuck. She spends. She spends and she spends, and he pays.">>
<<text "Mazy stretches her hands above her head, revealing bare skin underneath.">>
<<storyVideo "assets/Quests/Mazy/UnlockQuest/underboob.mp4">>
<<set $CharQuests.mazy.mazyUnlockQuest.step to 3>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="MazyHireQuestP4">
<img src="assets/Locations/City/store.webp">
<span>Continue</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/City/store.webp')"></div>
<div class="location-ui">
<<text "The stock room door behind you creaks. You both turn.">>
<<rchat "The Wife" "assets/Quests/Mazy/UnlockQuest/wife_pfp.webp" "Am I interrupting?">>
<<chat mazy "No. He's new. Dad hired him.">>
<<rchat "The Wife" "assets/Quests/Mazy/UnlockQuest/wife_pfp.webp" "I heard.">>
<<text "She turns to you fully and shakes your hand.">>
<<rchat "The Wife" "assets/Quests/Mazy/UnlockQuest/wife_pfp.webp" "I do the books. Im the stores accountant.">>
<<playerchat "Nice to meet you, ma'am.">>
<<text "She blushes at the word ma'am.">>
<<rchat "The Wife" "assets/Quests/Mazy/UnlockQuest/wife_pfp.webp" "I'm not that old, darling, don't call me ma'am.">>
<<text "She turns around and walks away.">>
<<storyVideo "assets/Quests/Mazy/UnlockQuest/shorts.mp4">>
<<chat mazy "Are you checking out my mother!? Don't do that bro!?">>
<div class="choice-buttons" id="mazy_hires_choice4">
<<button "“Wasn't planning on it, just caught my eye. I'm here for the job.”">>
<<replace "#mazy_hires_choice4">>
<<playerchat "Wasn't planning on it, just caught my eye. I'm here for the job.">>
<<text "Mazy looks at you suspiciously.">>
<<chat mazy "Hmm, okay.">>
<<set $CharQuests.mazy.mazyUnlockQuest.step to 4>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="MazyHireQuestP5">
<img src="assets/Locations/City/store.webp">
<span>Continue</span>
</a>
</div>
<</replace>>
<</button>>
<<button "Say nothing. Smile, and let her decide what you meant.">>
<<replace "#mazy_hires_choice4">>
<<text "You just smile. Mazy points at you, deadpan.">>
<<chat mazy "I'm watching you, new guy. Starting now.">>
<<addLust 1 mazy>>
<<addRel 1 mazy>>
<<set $CharQuests.mazy.mazyUnlockQuest.step to 4>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="MazyHireQuestP5">
<img src="assets/Locations/City/store.webp">
<span>Continue</span>
</a>
</div>
<</replace>>
<</button>>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/City/store.webp')"></div>
<div class="location-ui">
<<text "You find the owner at the register, tallying receipts.">>
<<rchat "Store Owner" "assets/Locations/City/Store/owner.webp" "You better check in on time everyday, understand?">>
<<playerchat "Yes.">>
<<rchat "Store Owner" "assets/Locations/City/Store/owner.webp" "Good. Then put this on and start on the shelves. The boxes don't unload themselves, and I'm not paying you to stand there looking at me.">>
<<set $CharQuests.mazy.mazyUnlockQuest.status to "completed">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="StoreWorkDecider">
<img src="assets/Locations/City/Store/work_icon.webp">
<span>Clock in and start work</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/attic.webp')"></div>
<div class="location-title">Truth or Dare</div>
<div class="location-ui">
<<text "You climb up into the attic. Lilith is lying on her velvet cushions, completely naked, one hand between her thighs. She doesn't bother covering up when she sees you.">>
<<storyImg "assets/Quests/Nicole/BreakQuest1/lilith_naked.webp">>
<<chat lilith "Back so soon? Are you ready to corrupt the shy slut?">>
<<playerchat "Yes.">>
<<text "Lilith sits up, interested. Her tits bounce. She pulls up a small glass vial filled with shimmering pink liquid.">>
<<storyImg "assets/Quests/Nicole/BreakQuest1/vial.webp">>
<<chat lilith "This will help. Pour it into anything she drinks. It won't make her do anything she doesn't already want to do. It just... lowers the walls. Just enough.">>
<<playerchat "So what do I do?">>
<<chat lilith "Play a game with her. Truth or dare. Start innocent. Build her up slowly. But be careful, $playerName. Push too hard and she'll shut down. If she backs out, you're done. You'll have to start over.">>
<<text "She tosses you the vial. You catch it. The liquid feels warm in your palm.">>
<<chat lilith "And don't fuck this up. Making those vials consumes alot of me.">>
<<set $CharQuests.nicole.nicoleBreakQuest1.step to 2>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="YourRoom">
<img src="assets/Locations/House/your_room.webp">
<span>Leave</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/nicole_bedroom.webp')"></div>
<div class="location-ui">
<<text "You knock on Nicole's door. She opens it in a hot top and tiny shorts. Her nipples are poking through.">>
<<chat nicole "Oh. Hey?">>
<<playerchat "I brought you a drink. Thought we could hang out. Play a game or something.">>
<<text "She eyes the glass suspiciously.">>
<<chat nicole "A game? What kind of game?">>
<<storyImg "assets/Quests/Nicole/BreakQuest1/nicole.webp">>
<<playerchat "Truth or dare.">>
<<text "Her face goes pink.">>
<<chat nicole "I don't know... that sounds kind of... I mean, I'm not really good at those games.">>
<<playerchat "Come on. It's just us. Nothing crazy. I promise.">>
<<text "She hesitates. Then she takes the glass and sips it. A faint pink shimmer crosses her eyes before it fades. She doesn't notice.">>
<<chat nicole "Okay... fine. But just so you know, I'm probably going to pick truth every time.">>
<<text "She sits on the edge of her bed, knees pressed together, arms still crossed. She's nervous.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="NicoleBreakQuest1Dare1">
<img src="assets/Locations/House/nicole_bedroom.webp">
<span>Start the game</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/nicole_bedroom.webp')"></div>
<div class="location-ui">
<<playerchat "Okay. Nicole. Truth or dare?">>
<<text "She pulls her knees up to her chest, wrapping her arms around them like a shield.">>
<<chat nicole "Um... t-truth. I guess.">>
<<playerchat "What's the most embarrassing thing you've ever thought about me?">>
<<text "Her face goes bright red instantly. She buries her face against her knees.">>
<<chat nicole "W-What?! N-No, I can't... I can't answer that! That's not fair!">>
<<playerchat "You picked truth. That's the rule, Nicole.">>
<<text "She peeks up at you over her knees, then immediately looks away. Her fingers are twisting together so hard her knuckles are white.">>
<<chat nicole "I... I mean, it's just... it's really stupid, okay? You'll think I'm weird.">>
<<playerchat "I won't.">>
<<text "She takes a shaky breath. She's chewing on her lip. She opens her mouth, closes it, opens it again.">>
<<chat nicole "I... once I... I thought about...">>
<<text "She stops. Her whole face is on fire.">>
<<chat nicole "Never mind. I can't.">>
<<playerchat "Nicole.">>
<<text "She groans and hides her face again, her voice muffled against her knees.">>
<<chat nicole "Ithoughtaboutwhatitwouldbeliketokissyou.">>
<<playerchat "Say that again. Slower.">>
<<text "She whimpers, actually whimpers, and lifts her head just enough to glare at you weakly.">>
<<chat nicole "I thought about... what it would be like to... kiss you. Okay? There. Are you happy now? That's so embarrassing, I want to die.">>
<<text "She's breathing fast. She won't look at you. She's pulled her knees up so tight she's practically a ball.">>
<<addLust 2 nicole>>
<<addRel 1 nicole>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="NicoleBreakQuest1Dare2">
<img src="assets/Locations/House/nicole_bedroom.webp">
<span>Next round</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/nicole_bedroom.webp')"></div>
<div class="location-ui">
<<playerchat "Alright then, again: Truth or dare?">>
<<chat nicole "T-Truth.">>
<<playerchat "Have you ever touched yourself thinking about me?">>
<<text "She makes a small, strangled sound. Her hands fly up to cover her face.">>
<<chat nicole "Oh my god. Oh my god, $playerName, you can't ask me that!">>
<<playerchat "It's truth or dare. You picked truth.">>
<<text "She's silent. She's rocking slightly. Her hands are still over her face.">>
<<chat nicole "I... I really don't want to answer that.">>
<<playerchat "That's not how the game works.">>
<<text "A long pause. Then, so quiet you almost don't hear it:">>
<<chat nicole "...yes.">>
<<playerchat "What was that?">>
<<text "She drops her hands and glares at you, eyes wet, face crimson.">>
<<chat nicole "YES! Okay?! Yes, I have! More than once! Are you happy?! I hate you so much right now!">>
<<text "She grabs her pillow and hugs it against her chest, like she's trying to hide behind it. She's trembling. Her thighs are pressed together so tight.">>
<<playerchat "Good girl.">>
<<text "She shivers. A tiny, barely-audible breath escapes her. She squeezes the pillow harder.">>
<<addLust 3 nicole>>
<<addRel 1 nicole>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="NicoleBreakQuest1Dare3">
<img src="assets/Locations/House/nicole_bedroom.webp">
<span>Next round</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/nicole_bedroom.webp')"></div>
<div class="location-ui">
<<playerchat "Your turn again. Truth or dare?">>
<<text "She hesitates. The vial is working. She's curious.">>
<<chat nicole "...Dare.">>
<<playerchat "Hold my hand for five minutes.">>
<<text "She blinks.">>
<<chat nicole "That's it?">>
<<playerchat "That's it.">>
<<text "She slowly reaches out and slides her small hand into yours. Her palm is warm and a little sweaty. She's trembling slightly.">>
<<storyImg "assets/Quests/Nicole/BreakQuest1/holding_hands.webp">>
<<text "You sit there in silence. Her fingers fidget against yours. After a minute, she stops fidgeting. After three, her breathing evens out. She's still blushing, but she's not pulling away.">>
<<chat nicole "This is... okay. I guess.">>
<<addLust 3 nicole>>
<<addRel 1 nicole>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="NicoleBreakQuest1Dare4">
<img src="assets/Locations/House/nicole_bedroom.webp">
<span>Next round</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/nicole_bedroom.webp')"></div>
<div class="location-ui">
<<playerchat "Let me go again. Truth or dare?">>
<<chat nicole "Dare. I guess.">>
<<playerchat "Sit on my lap. Facing me.">>
<<text "Her eyes go wide. She shakes her head immediately.">>
<<chat nicole "No. No, I can't do that. That's too... that's too much.">>
<div class="choice-buttons" id="nicole_choice1">
<<button "Back off and pick something easier">>
<<replace "#nicole_choice1">>
<<playerchat "Okay. New dare. Sit next to me. Shoulder to shoulder. Nothing else.">>
<<text "She exhales, relieved. She moves to sit beside you, her thigh pressing against yours. It's small. But it's progress.">>
<<chat nicole "This is... manageable.">>
<<addLust 2 nicole>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="NicoleBreakQuest1Dare5">
<img src="assets/Locations/House/nicole_bedroom.webp">
<span>Next round</span>
</a>
</div>
<</replace>>
<</button>>
<<button "Push her to do it">>
<<replace "#nicole_choice1">>
<<playerchat "Nicole. You picked dare. You can't back out now.">>
<<text "She stares at you. Her eyes are wet. She's overwhelmed.">>
<<chat nicole "I can't. I'm sorry. I can't do this. I need you to leave.">>
<<text "She pulls away from you, wraps her arms around herself, and turns toward the wall.">>
<<chat nicole "Please. Just go.">>
<<text "Quest failed. You pushed too hard. She's closed off again. You'll have to start over from the beginning.">>
<<addRel -5 nicole>>
<<addLust -3 nicole>>
<<set $CharQuests.nicole.nicoleBreakQuest1.step to 0>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="UpstairsHallway">
<img src="assets/Locations/House/upstairs_hallway.webp">
<span>Leave her room</span>
</a>
</div>
<</replace>>
<</button>>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/nicole_bedroom.webp')"></div>
<div class="location-ui">
<<text "After a few minutes of sitting shoulder to shoulder, she starts to relax again. The vial's warmth is still working on her.">>
<<playerchat "Truth or dare?">>
<<chat nicole "...Dare.">>
<<playerchat "Let me play with your hair.">>
<<text "She looks at you sideways, suspicious.">>
<<chat nicole "That's it? No tricks?">>
<<playerchat "No tricks.">>
<<text "She nods slowly. You turn her gently so her back is against your chest. She's stiff at first. You run your fingers through her soft brown hair, slow and easy. Her shoulders drop. Her head tilts back against your shoulder. A tiny sigh escapes her lips.">>
<<storyVideo "assets/Quests/Nicole/BreakQuest1/hair.mp4">>
<<chat nicole "That's... actually really nice...">>
<<text "Her thighs squeeze together. Her breathing gets a little faster. She's not pulling away.">>
<<addLust 5 nicole>>
<<addRel 2 nicole>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="NicoleBreakQuest1Dare6">
<img src="assets/Locations/House/nicole_bedroom.webp">
<span>Next round</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/nicole_bedroom.webp')"></div>
<div class="location-ui">
<<playerchat "Truth or dare?">>
<<text "She's quiet for a long moment. She's comfortable now. Curious.">>
<<chat nicole "Dare.">>
<<playerchat "Take off your top.">>
<<text "She freezes. Her whole body goes rigid.">>
<<chat nicole "What?! No! I can't—I can't do that, $playerName. That's too far.">>
<<text "This is the moment. If she refuses, she'll shut down. You need to read her.">>
<div class="choice-buttons" id="nicole_choice2">
<<button "Reassure her and give her control">>
<<replace "#nicole_choice2">>
<<playerchat "Nicole. Look at me. Just your top. Nothing else. You can cover up with your hands if you want. And if you really want to stop, we stop. But I think you trust me.">>
<<text "She stares at you. Her hands are trembling. She's fighting herself.">>
<<chat nicole "You promise? Just the top?">>
<<playerchat "I promise.">>
<<text "Slowly, she reaches down and pulls her tank top over her head. She drops it on the floor. Her tits are bare. Round. Her nipples are hard. She wraps her arms across her chest.">>
<<storyImg "assets/Quests/Nicole/BreakQuest1/cover.webp">>
<<chat nicole "There... happy?">>
<<text "Her voice is shaking, but she's not running. She's not crying. She's embarrassed, but she's doing it.">>
<<addLust 8 nicole>>
<<addRel 1 nicole>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="NicoleBreakQuest1Dare7">
<img src="assets/Locations/House/nicole_bedroom.webp">
<span>Next round</span>
</a>
</div>
<</replace>>
<</button>>
<<button "Pressure her to do it">>
<<replace "#nicole_choice2">>
<<playerchat "You picked dare, Nicole. You can't back out now. Take it off.">>
<<text "Her eyes fill with tears. She shakes her head violently.">>
<<chat nicole "No! I said no! Why won't you listen to me?! I don't want to do this anymore! Get out! Get out of my room!">>
<<text "She grabs her pillow and hugs it to her chest, backing away from you. She's crying now.">>
<<chat nicole "I trusted you and you just... you just pushed and pushed... I can't do this. Please leave.">>
<<text "Quest failed. You pushed too hard. She's closed off again.">>
<<addRel -8 nicole>>
<<addLust -5 nicole>>
<<set $CharQuests.nicole.nicoleBreakQuest1.step to 0>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="UpstairsHallway">
<img src="assets/Locations/House/upstairs_hallway.webp">
<span>Leave her room</span>
</a>
</div>
<</replace>>
<</button>>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/nicole_bedroom.webp')"></div>
<div class="location-ui">
<<text "She's sitting there, half-naked, arms still crossed over her tits. Her breathing is shallow. She's waiting for your next move.">>
<<playerchat "Truth or dare?">>
<<text "She doesn't answer right away. She's looking at you. Really looking at you. Her arms slowly drop to her sides. Her tits are fully exposed now. She's not hiding them anymore.">>
<<storyImg "assets/Quests/Nicole/BreakQuest1/tits.webp">>
<<chat nicole "...Dare.">>
<<playerchat "Kiss me.">>
<<text "Silence. She's staring at you. Her nipples are hard. Her lips are parted. She's terrified because she wants it.">>
<<chat nicole "A kiss? A real one?">>
<<playerchat "A real one. Not a peck. Kiss me like you mean it.">>
<<text "She swallows hard. She leans in. Slowly. Her bare tits press against your chest as she closes the gap. Her lips touch yours. Soft. Uncertain. Then she presses in harder. Her hand comes up to your cheek. She moans into your mouth.">>
<<storyVideo "assets/Quests/Nicole/BreakQuest1/kiss.mp4">>
<<chat nicole "That was... I didn't know it would feel like that.">>
<<text "She pulls back, breathless. Her arms are no longer covering her tits. She forgot about them. She's just sitting there, half-naked, looking at you like she's seeing you for the first time.">>
<<chat nicole "I'm not uncomfortable. I thought I would be. But I'm not.">>
<<addLust 10 nicole>>
<<addRel 3 nicole>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="NicoleBreakQuest1Dare8">
<img src="assets/Locations/House/nicole_bedroom.webp">
<span>Final dare</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/nicole_bedroom.webp')"></div>
<div class="location-ui">
<<playerchat "Truth or dare?">>
<<text "She doesn't answer right away. She's still fazed by the kiss. Her eyes are wide. Her lips are parted. She looks at you like she's seeing you for the first time.">>
<<chat nicole "Dare.">>
<<playerchat "Last dare. Give me a strip show. Take off your clothes">>
<<text "This time, Nicole doesn't hesitate. She stands up, slowly, letting you watch her body move.">>
<<storyImg "assets/Quests/Nicole/BreakQuest1/strip1.webp">>
<<storyImg "assets/Quests/Nicole/BreakQuest1/strip2.webp">>
<<text "With her shorts off, Nicole started to arch her back, letting you see her curves.">>
<<chat nicole "You like it, $playerName?">>
<<storyImg "assets/Quests/Nicole/BreakQuest1/strip3.webp">>
<<storyImg "assets/Quests/Nicole/BreakQuest1/strip4.webp">>
<<text "She reveals her naked pussy. Her eyes are bright. Her lips are parted. She's smiling. She looks at you like she's daring you to look away.">>
<<playerchat "Nicole... Your pussy is- Perfect.">>
<<storyImg "assets/Quests/Nicole/BreakQuest1/strip5.webp">>
<<storyImg "assets/Quests/Nicole/BreakQuest1/strip6.webp">>
<<playerchat "Show off that body, Nicole. Release your full potential. Around me. Around the house. Show yourself off.">>
<<storyImg "assets/Quests/Nicole/BreakQuest1/strip7.webp">>
<<storyImg "assets/Quests/Nicole/BreakQuest1/strip8.webp">>
<<chat nicole "I will, $playerName. Just for you.">>
<<set $CharQuests.nicole.nicoleBreakQuest1.status to "completed">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="NicoleBreakQuest1End">
<img src="assets/Locations/House/nicole_bedroom.webp">
<span>End</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/nicole_bedroom.webp')"></div>
<div class="location-ui">
<<text "Nicole doesn't put her clothes back on. She just sits there, tits out, pussy out, looking at you with new eyes. She's still blushing. But she's smiling.">>
<<chat nicole "So... are we going to keep playing?">>
<<playerchat "It's getting late...">>
<<text "She doesn't move. Doesn't cover up. Doesn't ask you to leave.">>
<<chat nicole "Maybe we can play again sometime. Tomorrow.">>
<<text "You nod. She finally stands up, slowly, letting you watch her body move. She pulls on a tank top—but not the one she was wearing before. A smaller one. Her nipples still poke through. She doesn't seem to care anymore.">>
<<text "You're ready to leave, but not without a kiss.">>
<<storyVideo "assets/Quests/Nicole/BreakQuest1/kiss2.mp4">>
<<chat nicole "Goodnight, $playerName. Thanks for the game.">>
<<set $nicoleLustBreak to 2>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="SleepDecider">
<img src="assets/Locations/House/YourRoom/sleep.webp">
<span>Go to sleep</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/nicole_bedroom.webp')"></div>
<div class="location-title">The Morning After</div>
<div class="location-ui">
<<chat nicole "Hey, $playerName. I remember everything. I got naked. I threw myself at you. Fuck.">>
<<text "She looks genuinely embarrassed.">>
<<chat nicole "I'm so fucking embarrassed. I was drunk and pathetic. I'm sorry. That was so fucking weird. I'm usually not like that... It's the alcohol. I don't know what came over me.">>
<<text "She can't look at you. Her hands are shaking.">>
<div class="choice-buttons" id="nicole_apology">
<<button "Comfort her">>
<<replace "#nicole_apology">>
<<text "You step closer and put your hand on her hip. She flinches, then relaxes.">>
<<playerchat "You were drunk. You were scared. It's fine. And honestly? You looked hot as fuck.">>
<<text "She looks up, surprised.">>
<<chat nicole "You're not weirded out?">>
<<playerchat "Nicole, I had a boner for half the night. I'm not complaining.">>
<<text "She laughs.">>
<<chat nicole "You're such a pervert. But thanks.">>
<<addRel 4 nicole>>
<<addLust 2 nicole>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="NicoleEventQuest1End">
<img src="assets/Locations/House/nicole_bedroom.webp">
<span>Continue</span>
</a>
</div>
<</replace>>
<</button>>
<<button "Tease her">>
<<replace "#nicole_apology">>
<<text "You lean against the doorframe, smirking.">>
<<playerchat "You mean the way you stripped naked and showed me your pussy? Yeah, I remember. It was hot.">>
<<text "Her face goes bright red.">>
<<chat nicole "You- I'm- I was vulnerable!">>
<<playerchat "And you were fucking hot. Own it, Nicole.">>
<<text "She throws a pillow at you, but she's smiling.">>
<<addRel -1 nicole>>
<<addLust 3 nicole>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="NicoleEventQuest1End">
<img src="assets/Locations/House/nicole_bedroom.webp">
<span>Continue</span>
</a>
</div>
<</replace>>
<</button>>
<<button "Ignore her">>
<<replace "#nicole_apology">>
<<text "You shrug and walk away.">>
<<playerchat "Whatever, Nicole.">>
<<text "Her voice follows you down the hall.">>
<<chat nicole "$playerName! Wait! Please don't be mad! I'm sorry!">>
<<text "You hear her start crying.">>
<<addRel -4 nicole>>
<<addLust -2 nicole>>
<<set $CharQuests.nicole.nicoleEventQuest1.status to "completed">>
<<set $CharQuests.nicole.nicoleEventQuest2.status to "active">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="UpstairsHallway">
<img src="assets/Locations/House/upstairs_hallway.webp">
<span>Leave</span>
</a>
</div>
<</replace>>
<</button>>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/nicole_bedroom.webp')"></div>
<div class="location-ui">
<<text "Nicole pulls back, wiping her eyes.">>
<<chat nicole "Thanks, $playerName. For not being a creep about it. I mean, you ARE a creep. But you're a good creep.">>
<<text "She smiles.">>
<<playerchat "Anytime, Nicole. And if you ever want to get naked again, you know where to find me.">>
<<text "She blushes, shoving your shoulder.">>
<<chat nicole "Stop, $playerName. I'm not that kind of girl.">>
<<text "She's still smiling as you leave.">>
<<set $CharQuests.nicole.nicoleEventQuest1.status to "completed">>
<<set $CharQuests.nicole.nicoleEventQuest2.status to "active">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="UpstairsHallway">
<img src="assets/Locations/House/upstairs_hallway.webp">
<span>Leave her room</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/bathroom.webp')"></div>
<div class="location-title">Accidental Peek</div>
<div class="location-ui">
<<text "You're in the shower, hot water running down your body. Your cock is half-hard, just hanging there. You hear the bathroom door creak open.">>
<<text "Nicole steps in, eyes on her phone, completely oblivious.">>
<<chat nicole "I just need to grab my hairdryer real qui—">>
<<text "She looks up. Her eyes lock onto your naked body. Onto your cock. Her mouth drops open.">>
<<storyImg "assets/Quests/Nicole/EventQuest2/dick.webp">>
<<chat nicole "It's... it's so big...">>
<<text "The words slip out before she can stop them. Her face goes bright red. She slaps both hands over her mouth.">>
<<chat nicole "OH MY GOD! I'M SO SORRY! I DIDN'T MEAN TO SAY THAT! I DIDN'T MEAN TO LOOK! I'M SO FUCKING SORRY!">>
<<storyImg "assets/Quests/Nicole/EventQuest2/shocked.webp">>
<<text "She stumbles backward, tripping over the doorframe.">>
<<chat nicole "I'm such a fucking pervert! I didn't see anything! I mean I DID see everything! FUCK! I'm so sorry!">>
<<text "She's panicking, her hands flailing. Her face is beet red.">>
<div class="choice-buttons" id="nicole_peek">
<<button "Tease her">>
<<replace "#nicole_peek">>
<<text "You grin, letting the water run down your chest. Your cock twitches.">>
<<playerchat "It's okay, Nicole. You can look. I don't mind.">>
<<text "Her eyes go wide.">>
<<chat nicole "WHAT?! NO! I'M NOT LOOKING! I'M LEAVING! RIGHT NOW!">>
<<text "She tries to leave but smacks her shoulder into the doorframe.">>
<<chat nicole "OW! FUCK!">>
<<text "She stumbles out, slamming the door behind her. You can hear her panicked voice through the wood.">>
<<chat nicole "I DIDN'T SEE ANYTHING! I'M BLIND NOW! TOTALLY BLIND!">>
<<addLust 3 nicole>>
<<addRel 1 nicole>>
<<set $CharQuests.nicole.nicoleEventQuest2.step to 1>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="Bathroom">
<img src="assets/Locations/House/bathroom.webp">
<span>Continue shower</span>
</a>
</div>
<</replace>>
<</button>>
<<button "Be chill about it">>
<<replace "#nicole_peek">>
<<text "You grab a towel, wrapping it around your waist. Your cock is still visibly hard through the fabric.">>
<<playerchat "Relax, Nicole. It's not a big deal. You caught me naked. Happens.">>
<<text "She peeks up at you, eyes darting down to the bulge in your towel.">>
<<chat nicole "I literally just called your dick big and walked in on you naked! That's a huge deal!">>
<<playerchat "I mean, you're not wrong. It IS big.">>
<<text "She sputters, face somehow getting redder.">>
<<chat nicole "YOU'RE SO EMBARRASSING! I'M LEAVING!">>
<<text "She bolts out the door, slamming it behind her.">>
<<addLust 2 nicole>>
<<set $CharQuests.nicole.nicoleEventQuest2.step to 1>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="Bathroom">
<img src="assets/Locations/House/bathroom.webp">
<span>Continue shower</span>
</a>
</div>
<</replace>>
<</button>>
<<button "Be assertive">>
<<replace "#nicole_peek">>
<<text "You step out of the shower, water dripping down your body. Your cock is fully hard now. You don't cover it.">>
<<playerchat "You said it's big, Nicole. You like what you see?">>
<<text "Her eyes lock onto your cock. She can't look away. Her mouth opens and closes like a fish.">>
<<chat nicole "I... I... I wasn't... I didn't...">>
<<text "You take a step closer. She backs up against the wall.">>
<<playerchat "You were staring pretty hard for someone who's 'so sorry.'">>
<<chat nicole "I'M SORRY! I'M SO FUCKING SORRY! PLEASE DON'T HATE ME! I'M SUCH A PERVERT!">>
<<text "She screams, spins around, and runs out of the bathroom. You hear her trip and crash into the wall in the hallway.">>
<<chat nicole "OW! FUCK! I'M OKAY! I'M LEAVING!">>
<<addLust 4 nicole>>
<<addRel -2 nicole>>
<<set $CharQuests.nicole.nicoleEventQuest2.step to 1>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="Bathroom">
<img src="assets/Locations/House/bathroom.webp">
<span>Continue shower</span>
</a>
</div>
<</replace>>
<</button>>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/upstairs_hallway.webp')"></div>
<div class="location-ui">
<<text "As you walk past Nicole's door, you hear her muffled voice.">>
<<chat nicole "I didn't see anything. I didn't see anything. His dick was just... hanging there... so fucking big...">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="NicoleEventQuest2P4">
<img src="assets/Locations/House/Bathroom/peek.webp">
<span>Peek</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/nicole_bedroom.webp')"></div>
<div class="location-ui">
<<text "Through the gap, you can see her. Nicole is on her bed, completely naked. Her legs are spread wide.">>
<<storyVideo "assets/Quests/Nicole/EventQuest2/clip1.mp4">>
<<text "You freeze. Your cock twitches. You shouldn't look. You know you shouldn't.">>
<<text "You look anyway.">>
<<chat nicole "//(whispering)// Oh god... $playerName...">>
<<storyVideo "assets/Quests/Nicole/EventQuest2/clip2.mp4">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="NicoleEventQuest2P5">
<img src="assets/Locations/House/Bathroom/peek.webp">
<span>Keep watching</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/nicole_bedroom.webp')"></div>
<div class="location-ui">
<<chat nicole "Fuck... fuck... $playerName... your cock... how is it so big...">>
<<storyVideo "assets/Quests/Nicole/EventQuest2/clip3.mp4">>
<<chat nicole "Ah! Ah! Fuck! It's not enough! I need more!">>
<<storyVideo "assets/Quests/Nicole/EventQuest2/clip4.mp4">>
<<text "She pulls her fingers out, frustrated. Her hand is soaked. She reaches over to her nightstand and grabs a bottle of lube.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="NicoleEventQuest2P6">
<img src="assets/Locations/House/Bathroom/peek.webp">
<span>Keep watching</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/nicole_bedroom.webp')"></div>
<div class="location-ui">
<<playerchat "//(I can't believe this is Nicole... That shy little girl...)//">>
<<storyVideo "assets/Quests/Nicole/EventQuest2/lube.mp4">>
<<text "She squirts a generous amount of lube, then spreads it all over her cunt. It's shiny, dripping. She bites her lip and looks down at her own pussy.">>
<<chat nicole "I can do it... I've done it before... just... slowly...">>
<<storyVideo "assets/Quests/Nicole/EventQuest2/clip5.mp4">>
<<text "She curls her fingers into a fist. Slowly, she presses her fist against her wet opening. Her face twists in concentration and pleasure. Her cunt stretches around her knuckles.">>
<<chat nicole "Oh fuck... oh fuck... it's so tight... but it feels... so good...">>
<<playerchat "//(Oh my fucking god... this is incredible... she can take it so well...)//">>
<<text "Your own cock is throbbing painfully in your jeans. You unzip your pants, pulling it out, stroking it slowly as you watch.">>
<<storyVideo "assets/Quests/Nicole/EventQuest2/stroking2.mp4">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="NicoleEventQuest2P7">
<img src="assets/Locations/House/Bathroom/peek.webp">
<span>Keep watching</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/nicole_bedroom.webp')"></div>
<div class="location-ui">
<<storyVideo "assets/Quests/Nicole/EventQuest2/clip6.mp4">>
<<text "With her fist still buried in her cunt, she reaches over with her free hand and grabs a vibrator from her nightstand. She turns it on, the loud buzz filling the room. She presses it against her clit.">>
<<chat nicole "OH GOD! YES! FUCK!">>
<<storyVideo "assets/Quests/Nicole/EventQuest2/clip7.mp4">>
<<chat nicole "Yes! Yes! Only his big cock could stretch me like this! Fuck!">>
<<text "The vibrator is still buzzing against her clit. She's a mess of sweat, lube, and pleasure.">>
<<storyVideo "assets/Quests/Nicole/EventQuest2/clip8.mp4">>
<<text "You're stroking your cock faster now, precum dripping down your shaft. You can't believe what you're seeing. You're about to cum right there in the hallway.">>
<<storyVideo "assets/Quests/Nicole/EventQuest2/stroking.mp4">>
<<text "And then you feel it. A cold hand on your shoulder.">>
<<storyVideo "assets/Quests/Nicole/EventQuest2/shoulder.mp4">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="NicoleEventQuest2P8">
<img src="assets/Locations/House/upstairs_hallway.webp">
<span>Continue</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/nicole_bedroom.webp')"></div>
<div class="location-ui">
<<text "You spin around, cock in hand, heart pounding.">>
<<text "Lilith is standing right there. Completely naked. Her tits are perfect, her nipples hard, , inches from your cock.">>
<<storyImg "assets/Quests/Nicole/EventQuest2/lilith.webp">>
<<text "The sight of her—the smell of her, the heat of her body—hits you like a truck. You were already on the edge. Your cock twitches violently.">>
<<storyVideo "assets/Quests/Nicole/EventQuest2/stroking.mp4">>
<<text "You cum. Hard.">>
<<storyVideo "assets/Quests/Nicole/EventQuest2/cum.mp4">>
<<text "Rope after rope of hot cum shoots out of your cock. It splatters across Lilith's stomach. Her tits. Her neck. A thick glob lands right on her chin. Your cum drips down her perfect body.">>
<<text "Lilith doesn't flinch. She just looks down at the mess you made on her, then back up at your face. A slow, wicked smile spreads across her lips.">>
<<storyImg "assets/Quests/Nicole/EventQuest2/lilith_cum.webp">>
<<chat lilith "Mmm. That was a lot. Been saving that up, have you?">>
<<playerchat "WHAT THE FUCK ARE YOU DOING HERE?! YOU CAN'T LEAVE THE ATTIC! WE TALKED ABOUT THIS!">>
<<text "You're still breathing hard, your cock still twitching, cum dripping from the tip. Lilith wipes a finger across her chest, collecting a thick string of your seed. She brings it to her mouth and sucks it clean.">>
<<chat lilith "I got bored. And I wanted to see what all the noise was about. You were so focused on the little slut in there, you didn't even notice me standing behind you for five minutes.">>
<<playerchat "That's not the point! You can't just walk around the house! Sophia or Clair could have seen you!">>
<<text "Lilith takes a step closer, her cum-covered tits pressing against your chest. Her hand wraps around your softening cock, squeezing the last few drops onto her fingers.">>
<<chat lilith "Relax, $playerName. I was careful. Besides...">>
<<text "She lifts her cum-soaked fingers to her lips and licks them clean, staring into your eyes the whole time.">>
<<chat lilith "I think we're even now. I left the attic without permission. You came all over my body without permission. Let's call it a draw, shall we?">>
<<playerchat "That's not... that's not how that works!">>
<<chat lilith "You came all over my body, I thinks that's how its going to work.">>
<<text "She pats your cheek, her palm sticky with your own cum, and saunters back toward your room, her perfect ass swaying with every step. She halts, then turns around.">>
<<chat lilith "Oh, and by the way... I think we are ready to corrupt that slut.">>
<<playerchat "She's too innocent for that.">>
<<chat lilith "You just watched her fist herself moaning your name - and you're calling her innocent? She's shy, sure, but definetly not innocent.">>
<<playerchat "//(She has a point...)//">>
<<chat lilith "Besides, a good slut can recognize another good slut.">>
<<text "Says Lilith smiling.">>
<<chat lilith "Come to me when you're ready, we'll come up with a plan. Try to make her lust even more in the meantime.">>
<<text "She disappears through your door, leaving you standing in the hallway with your cock out and Nicole still moaning behind her door.">>
<<set $CharQuests.nicole.nicoleEventQuest2.status to "completed">>
<<set $CharQuests.nicole.nicoleBreakQuest1.status to "active">>
<<set $CharQuests.nicole.nicoleBreakQuest1.step to 0>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="UpstairsHallway">
<img src="assets/Locations/House/upstairs_hallway.webp">
<span>Continue</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/your_room.webp')"></div>
<div class="location-title">The Rescue</div>
<div class="location-ui">
<<text "You're lying on your bed, dick in hand, scrolling through your phone when it suddenly buzzes violently. Nicole's name flashes on the screen. It's almost midnight.">>
<<text "You answer, and the second the call connects, you hear her voice—cracked, trembling, barely holding back tears.">>
<<chat nicole "$playerName?! Oh god, please tell me you can hear me! Please! I need help!">>
<<text "You sit up straight.">>
<<playerchat "Nicole?! What's wrong? Where are you?">>
<<chat nicole "I-I'm at the nightclub! Some girls from my class said they were coming and I thought... I thought I could finally make some friends, but they left me and these two guys won't leave me alone and one of them keeps touching me and I don't know what to do and I'm so scared and I've been drinking and I can't think straight and please please please come get me I'm so fucking scared!">>
<<text "Her voice breaks into a choked sob. You can hear loud, thumping bass music in the background, and somewhere closer, a deep male voice laughing.">>
<<playerchat "Stay on the line, Nicole. I'm coming right now. Don't hang up. Where exactly are you in the club?">>
<<chat nicole "I'm... I'm by the bar! Near the back corner! Please hurry, $playerName! He's... he's grabbing my pussy under the table... please...">>
<<text "Your blood runs hot. You're already out of your room, grabbing your jacket, your cock twitching with rage.">>
<<playerchat "I'm on my way. Just keep talking to me.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="NicoleMainQuest1P2">
<img src="assets/Locations/City/nightclub.webp">
<span>Go to the Nightclub</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/City/nightclub.webp')"></div>
<div class="location-ui">
<<text "You burst through the entrance of the nightclub. The place is packed with bodies grinding against each other under flickering strobe lights. Women in tiny skirts and low-cut tops press against each other, their tits bouncing to the beat. Your eyes scan the crowd, your jaw clenched.">>
<<storyVideo "assets/Quests/Nicole/MainQuest1/nightclub_clip.mp4">>
<<text "There she is. Nicole. Pressed against the wall like a trapped animal. Her tiny outfit is so short you can see every curve of her ass cheeks.">>
<<storyImg "assets/Quests/Nicole/MainQuest1/nicole_corner.webp">>
<<text "Two guys are looming over her. One of them—a big, muscular fucker with a shaved head—has his hand shoved between her thighs. His thick fingers are pressing against her cunt through her soaked panties. You can see her trembling, trying to push his hand away. The other guy—tall, wiry, with a scarred face—is leaning in close, his mouth at her ear.">>
<<text "Your fists clench so hard your knuckles crack. Your cock is rock hard, a mix of rage and pure animal instinct.">>
<<playerchat "GET THE FUCK AWAY FROM HER.">>
<<text "Your voice cuts through the bass like a blade. The two guys turn around.">>
<<rchat "Guy 1" "assets/Quests/Nicole/MainQuest1/thug1.webp" "The fuck you say, little man?">>
<<playerchat "I said get your fucking hands off her cunt before I break your fucking arm.">>
<<rchat "Guy 2" "assets/Quests/Nicole/MainQuest1/thug2.webp" "She's fine. She was just about to leave with us anyway. Weren't you, sweetheart?">>
<<storyImg "assets/Quests/Nicole/MainQuest1/nicole_ass.webp">>
<<text "He grabs Nicole's ass again, squeezing it hard. Nicole whimpers, her face twisting with disgust and fear.">>
<<chat nicole "I don't want to go with them, $playerName! Please, I want to go home! He keeps... he keeps touching my pussy and I can't make him stop!">>
<<text "You step closer, your eyes locked on the first guy's hand. Your cock is throbbing against your jeans.">>
<<playerchat "You heard her. Back the fuck off.">>
<div class="choice-buttons" id="nicole_choices">
<<button "Grab Nicole and leave">>
<<replace "#nicole_choices">>
<<text "You reach past the two guys, grabbing Nicole's wrist and yanking her toward you. She stumbles into your chest, her tits smashing against your body, her nipples hard through the thin fabric.">>
<<playerchat "We're leaving. Now.">>
<<rchat "Guy 1" "assets/Quests/Nicole/MainQuest1/thug1.webp" "You think you can just walk in here and take our girl?">>
<<text "The two guys step forward, blocking your path to the exit. The crowd around you starts to notice, a circle forming. A girl in a white crop top, her tits barely covered, presses against a guy nearby, watching.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="NicoleMainQuest1FightStart">
<img src="assets/Locations/City/nightclub.webp">
<span>Confront them</span>
</a>
</div>
<</replace>>
<</button>>
<<button "Push the guy off her">>
<<replace "#nicole_choices">>
<<text "You shove the first guy's hand off Nicole's thigh.">>
<<rchat "Guy 1" "assets/Quests/Nicole/MainQuest1/thug1.webp" "Oh, you're fucking dead.">>
<<text "Nicole whimpers, grabbing your arm, her nails digging into your skin. Her tits are pressed against your bicep, her hard nipples digging into your flesh.">>
<<chat nicole "$playerName, please don't fight them! Let's just go! I can feel my dress tearing...">>
<<text "The two guys step forward, cracking their knuckles. The crowd around you starts to notice, a circle forming. A blonde in a tiny leather skirt licks her lips, watching you.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="NicoleMainQuest1FightStart">
<img src="assets/Locations/City/nightclub.webp">
<span>Fight them</span>
</a>
</div>
<</replace>>
<</button>>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/City/nightclub.webp')"></div>
<div class="location-ui">
<<text "Nicole clings to your arm, her tits pressed against your bicep, her soaked cunt grinding against your thigh as she trembles. The two guys close in.">>
<<rchat "Guy 1" "assets/Quests/Nicole/MainQuest1/thug1.webp" "You got two choices, pretty boy. Walk away and leave the girl, or get your face caved in.">>
<<text "You can feel Nicole's body shaking against you. Her hard nipples are digging into your arm. Your cock is rock fucking hard.">>
<<playerchat "I'm not leaving her with you pieces of shit. I'm gonna fucking kill you.">>
<<rchat "Guy 2" "assets/Quests/Nicole/MainQuest1/thug2.webp" "Then you made your choice.">>
<div class="choice-buttons" id="fight_choices">
<<button "Fight them">>
<<replace "#fight_choices">>
<<if $STR >= 20>>
<<goto "NicoleMainQuest1FightWin">>
<<else>>
<<goto "NicoleMainQuest1FightLose">>
<</if>>
<</replace>>
<</button>>
<<button "Outsmart them">>
<<replace "#fight_choices">>
<<if $INT >= 20>>
<<goto "NicoleMainQuest1Escape">>
<<else>>
<<goto "NicoleMainQuest1FleeFail">>
<</if>>
<</replace>>
<</button>>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/City/nightclub.webp')"></div>
<div class="location-ui">
<<text "The first guy swings at you, his fist aimed at your face. You duck, your body moving on instinct from all those home workouts. You drive your fist straight into his gut, feeling his muscles cave under your knuckles.">>
<<storyVideo "assets/Quests/Nicole/MainQuest1/punch1.mp4">>
<<text "He doubles over, gasping, spit flying from his mouth. The second guy lunges at you, grabbing your shoulders. You slam your forehead into his nose. You feel the crunch of cartilage. Blood sprays across his face.">>
<<rchat "Guy 1" "assets/Quests/Nicole/MainQuest1/thug1.webp" "Fuck! You broke my fucking ribs!">>
<<rchat "Guy 2" "assets/Quests/Nicole/MainQuest1/thug2.webp" "My nose! You broke my fucking nose!">>
<<text "You grab the second guy by the hair, slamming his face into the bar. His body goes limp. The first guy tries to get up, but you kick him in the jaw. His head snaps back. He crashes to the floor.">>
<<text "You stand over them, breathing hard, your knuckles raw and bloody. The crowd around you erupts. A girl in a tiny white tank top screams, 'Holy shit!' Her nipples are poking through the fabric.">>
<<text "Nicole stares at you with wide eyes, her mouth hanging open. Her soaked cunt is still pressed against your thigh.">>
<<chat nicole "Oh my god... $playerName... you... you actually beat them! You saved me!">>
<<text "She throws herself at you, wrapping her arms around your neck, her tits smashing against your chest. You can feel her hard nipples through her top. Your cock is rock hard against her thigh.">>
<<playerchat "Let's get the fuck out of here.">>
<<text "You grab her hand, pulling her through the crowd.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="NicoleMainQuest1EscapeSuccessP2">
<img src="assets/Locations/House/nicole_bedroom.webp">
<span>Take Nicole home</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/City/nightclub.webp')"></div>
<div class="location-ui">
<<text "The first guy swings at you. You try to block, but he's too fast. His fist connects with your jaw, sending you stumbling backward. Your vision blurs. Your head rings.">>
<<storyVideo "assets/Quests/Nicole/MainQuest1/punch1.mp4">>
<<rchat "Guy 1" "assets/Quests/Nicole/MainQuest1/thug1.webp" "Pathetic. You thought you could take us?">>
<<text "The second guy grabs you by the collar and slams you against the wall. Your back cracks against the concrete. You see stars.">>
<<rchat "Guy 2" "assets/Quests/Nicole/MainQuest1/thug2.webp" "You should've walked away, dumbass.">>
<<text "A fist connects with your ribs. You feel something crack. Then your stomach. You crumple to the floor, gasping for air, blood dripping from your nose.">>
<<text "Nicole screams, her voice piercing through the bass.">>
<<chat nicole "STOP! PLEASE STOP HURTING HIM! I'LL GO WITH YOU, JUST STOP!">>
<<text "She throws herself in front of you, her small body shielding yours.">>
<<rchat "Guy 1" "assets/Quests/Nicole/MainQuest1/thug1.webp" "Get out of the way, bitch.">>
<<text "He grabs her arm, yanking her off you.">>
<<text "The bouncer finally arrives, shoving the two guys back.">>
<<rchat "Bouncer" "assets/Quests/Nicole/MainQuest1/bouncer.webp" "That's enough. Get the fuck out, all of you.">>
<<text "The two guys spit on the floor, grinning, and disappear into the crowd. Nicole collapses beside you.">>
<<chat nicole "Oh god, $playerName... your face... you're bleeding... I'm so sorry... this is all my fault...">>
<<storyVideo "assets/Quests/Nicole/MainQuest1/stars.mp4">>
<<text "You can barely see straight. Your body aches.">>
<<playerchat "I'm... I'm okay. Let's get out of here.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="NicoleMainQuest1EscapeSuccessP2">
<img src="assets/Locations/House/nicole_bedroom.webp">
<span>Take Nicole home</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/City/nightclub.webp')"></div>
<div class="location-ui">
<<text "You spot an opening in the crowd near the emergency exit. Without hesitating, you grab Nicole's wrist and yank her toward it.">>
<<storyVideo "assets/Quests/Nicole/MainQuest1/running.mp4">>
<<rchat "Guy 1" "assets/Quests/Nicole/MainQuest1/thug1.webp" "Hey! Get back here!">>
<<text "You slam through the emergency exit door, the alarm blaring behind you. The cold night air hits your face as you burst into the alley. You can hear the two guys crashing through the door behind you.">>
<<text "You run, pulling Nicole along with you.">>
<<text "You dodge through side streets and narrow alleys, your mind working fast to navigate the maze of the city. You duck behind a dumpster, pressing Nicole against the wall, your body covering hers. You can feel her heart pounding. You can feel her tits pressed against your chest.">>
<<text "The two guys run past, their footsteps fading.">>
<<chat nicole "We made it... oh my god, $playerName... we actually made it...">>
<<playerchat "It's okay. You're safe now.">>
<<text "She looks up at you, her eyes wet, her lips parted. Her tits are heaving. A drop of sweat rolls down between them.">>
<<chat nicole "You... you came for me... you actually came for me...">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="NicoleMainQuest1EscapeSuccessP2">
<img src="assets/Locations/House/nicole_bedroom.webp">
<span>Take Nicole home</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/City/nightclub.webp')"></div>
<div class="location-ui">
<<text "You grab Nicole and sprint for the exit, but the two guys are faster than you anticipated. You make it to the door when a hand grabs your collar and yanks you backward. Your shirt tears. You hit the ground hard.">>
<<storyVideo "assets/Quests/Nicole/MainQuest1/stars.mp4">>
<<rchat "Guy 1" "assets/Quests/Nicole/MainQuest1/thug1.webp" "Nice try, genius. You really thought you'd get away?">>
<<text "You try to fight, but they've got you cornered. A fist connects with your stomach, knocking the air out of you. Then your face. You taste blood.">>
<<rchat "Guy 2" "assets/Quests/Nicole/MainQuest1/thug2.webp" "Should've just walked away when you had the chance.">>
<<text "You're on the ground, gasping, as Nicole screams.">>
<<chat nicole "PLEASE STOP! PLEASE, HE DIDN'T DO ANYTHING WRONG!">>
<<text "The bouncer shoves through the crowd, grabbing the two guys. He throws them out into the street.">>
<<rchat "Bouncer" "assets/Quests/Nicole/MainQuest1/bouncer.webp" "Get the fuck out. Now.">>
<<text "The two guys sneer and push out of the club.">>
<<chat nicole "$playerName... oh god, your face... you're bleeding... I'm so sorry... you shouldn't have come... this is all my fault...">>
<<text "You can barely see straight. Your body aches.">>
<<playerchat "I'm... I'm okay. Let's go home.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="NicoleMainQuest1EscapeSuccessP2">
<img src="assets/Locations/House/nicole_bedroom.webp">
<span>Take Nicole home</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/outside_night.webp')"></div>
<div class="location-ui">
<<text "You walk through the quiet streets, Nicole clinging to your arm.">>
<<text "The streetlights cast long shadows. Nicole is trembling, her body pressed against yours. You can feel the warmth of her cunt through your jeans. Your cock is rock hard.">>
<<chat nicole "I can't believe you came for me... you actually saved me, $playerName... I don't know what would have happened if you didn't show up...">>
<<text "She looks up at you, her eyes glistening.">>
<<chat nicole "I was so scared... when he put his hand between my legs... I thought... I thought they were going to...">>
<<playerchat "You're safe now. I won't let anyone hurt you.">>
<<text "You pause, thinking about what to say to her.">>
<<playerchat "What the fuck are you doing dressed like that in a club? Who wouldn't harrass you being basically naked.">>
<<text "You can see shame on Nicole's face.">>
<<playerchat "Where did you even get that outfit? Or better said, underwear?">>
<<chat nicole "I took it from Clair's closet...">>
<<playerchat "Of course Clair is going to have something like that in her closet...">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="NicoleMainQuest1EscapeSuccessP3">
<img src="assets/Locations/House/nicole_bedroom.webp">
<span>Continue</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/nicole_bedroom.webp')"></div>
<div class="location-ui">
<<text "You finally reach the house.">>
<<text "You walk through the back door as quietly as possible, tiptoeing up the stairs. Nicole's room is at the end of the hall. Her mascara is ruined. Her face is a mess. But she's never looked more hot.">>
<<text "You open the door to her room. ">>
<<chat nicole "I can't believe you came for me... you actually saved me, $playerName... I don't know what would have happened if you didn't show up...">>
<<text "Nicole, clearly drunk, started stripping off her clothes... ">>
<<storyImg "assets/Quests/Nicole/MainQuest1/strip1.webp">>
<<chat nicole "I don't know what I was thinking... I just wanted to have fun with my friends... but they left me and those guys... they were so scary...">>
<<storyImg "assets/Quests/Nicole/MainQuest1/strip2.webp">>
<<playerchat "Nicole, what are you doing?">>
<<text "It's like she doesn't care you can see her.">>
<<chat nicole "I just... this is my first time getting drunk... I just wanted to have fun... but I guess I got a little carried away...">>
<<storyImg "assets/Quests/Nicole/MainQuest1/strip3.webp">>
<<chat nicole "Thank you for saving me, $playerName... I don't know what I would have done without you...">>
<<text "Nicole pulls you into a hug.">>
<div class="choice-buttons" id="nicole_ending">
<<button "Hug her back and leave">>
<<replace "#nicole_ending">>
<<text "You wrap your arms around her, your hands resting on her bare back. You can feel every curve of her body pressed against you. Your cock is pressing against her wet cunt.">>
<<playerchat "You're safe now. That's all that matters. Get some sleep.">>
<<text "Nicole collapses onto the bed.">>
<<storyImg "assets/Quests/Nicole/MainQuest1/sleep.webp">>
<<set $CharQuests.nicole.nicoleMainQuest1.status to "completed">>
<<set $CharQuests.nicole.nicoleEventQuest1.status to "active">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="SleepDecider">
<img src="assets/Locations/House/upstairs_hallway.webp">
<span>Leave her room</span>
</a>
</div>
<</replace>>
<</button>>
<<button "Grab her ass">>
<<replace "#nicole_ending">>
<<text "As Nicole hugs you, her bare tits pressed against your chest, you can't help yourself. Your hands slide down her back, over her smooth skin, down to her perfect ass.">>
<<text "You also grab the opportunity to suck on her tits.">>
<<storyVideo "assets/Quests/Nicole/MainQuest1/ass.mp4">>
<<chat nicole "$playerName... what are you...">>
<<text "She's drunk and disoriented, but she doesn't pull away. Her breath hitches as you squeeze her soft flesh, your fingers digging into her ass.">>
<<playerchat "You're so fucking hot, Nicole. I couldn't help myself.">>
<<text "You squeeze her ass one more time, feeling her wet cunt press against you. She moans softly, her body trembling.">>
<<storyVideo "assets/Quests/Nicole/MainQuest1/ass2.mp4">>
<<playerchat "Get some sleep. We'll talk in the morning.">>
<<text "Nicole collapses onto the bed.">>
<<storyImg "assets/Quests/Nicole/MainQuest1/sleep.webp">>
<<set $CharQuests.nicole.nicoleMainQuest1.status to "completed">>
<<set $CharQuests.nicole.nicoleEventQuest1.status to "active">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="SleepDecider">
<img src="assets/Locations/House/upstairs_hallway.webp">
<span>Leave her room</span>
</a>
</div>
<</replace>>
<</button>>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/your_room.webp')"></div>
<div class="location-title">Attic Search</div>
<div class="location-ui">
<<set $atticSuspicion to 0>>
<<text "You're sitting on the edge of your bed, naked, when the door swings open without a knock. Sophia strides in like she owns the place — which, technically, she does.">>
<<storyImg "assets/Quests/Sophia/AtticSearchQuest/shocked.webp">>
<<text "She stops in the middle of the room, her eyes scanning you up and down. Shocked.">>
<<chat sophia "Oh my god, $playerName. I'm so sorry. I should've knocked.">>
<<playerchat "It's fine. I was just... changing.">>
<<text "You notice her eyes flick down to your cock and back up to your face. She looks embarrassed.">>
<<chat sophia "Damn... I'll turn around now, you get dressed.">>
<<text "She turns around while you get dressed.">>
<<playerchat "Any reason for your visit?">>
<<chat sophia "Yeah, anyways... I didn't come here to see you naked. Or for you at all. I just need to get up to the Attic.">>
<<text "She walks past you, her perfume filling the room. Coconut and something sharper. She stops at the attic hatch in the corner of your room and looks up at it.">>
<<chat sophia "I left something up there years ago. A jewelry box. My mother's. I need it.">>
<<text "Your blood runs cold. Lilith is up there. Naked. Probably sprawled across her velvet cushions. If Sophia goes up there and finds her, everything is over.">>
<<chat sophia "I'll be quick. You won't even know I'm here.">>
<<text "She reaches for the hatch.">>
<div class="choice-buttons" id="attic_start_choice">
<<button "I'll go up first and check for spiders.">>
<<replace "#attic_start_choice">>
<<playerchat "Wait! Let me go up first. There could be spiders. Or... rats. I'll check.">>
<<text "Sophia pauses, her hand hovering over the latch. She turns her head just enough to look at you over her shoulder.">>
<<chat sophia "Spiders? You're afraid of spiders?">>
<<playerchat "I'm not afraid. I'm being practical. You don't want to walk into a web in that outfit.">>
<<text "Her eyes narrow. She's deciding whether to call bullshit.">>
<<chat sophia "Fine. Go. But be quick about it.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="SophiaAtticSearchRaceUp">
<img src="assets/Locations/House/attic.webp">
<span>Climb up</span>
</a>
</div>
<</replace>>
<</button>>
<<button "What are you looking for? Let me help.">>
<<replace "#attic_start_choice">>
<<playerchat "What are you looking for? Maybe I can help.">>
<<text "Sophia sighs, turning to face you fully. Her tits shift under her blouse. She's annoyed but trying not to show it.">>
<<chat sophia "A jewelry box. Wooden. Old. It was my mother's. I thought I left it up here when I moved in. I've looked everywhere else.">>
<<playerchat "It's dusty up there. Let me at least grab a flashlight.">>
<<text "She taps her foot. Impatient.">>
<<chat sophia "Fine. Thirty seconds. Then I'm going up with or without you.">>
<<text "You don't have thirty seconds. You have maybe ten. You need to warn Lilith NOW.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="SophiaAtticSearchStall">
<img src="assets/Locations/House/attic.webp">
<span>Rush up</span>
</a>
</div>
<</replace>>
<</button>>
<<button "Say nothing.">>
<<replace "#attic_start_choice">>
<<text "You freeze. Your brain stops working. Sophia doesn't notice. She grabs the latch and pulls the hatch open. The wooden ladder slides down with a creak.">>
<<chat sophia "I'll be quick.">>
<<text "She starts climbing. Her skirt rides up with every step. You catch a glimpse of black lace panties before she disappears into the darkness above.">>
<<text "You scramble to your feet and follow her up. You're already too late.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="SophiaAtticSearchLateWarning">
<img src="assets/Locations/House/attic.webp">
<span>Follow her</span>
</a>
</div>
<</replace>>
<</button>>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/attic.webp')"></div>
<div class="location-ui">
<<text "You practically throw yourself up the ladder. Your head clears the hatch and you scan the attic. Lilith is exactly where you left her — sprawled across her velvet cushions, completely naked, one hand between her thighs.">>
<<storyImg "assets/Quests/Sophia/AtticSearchQuest/lilith_laying.webp">>
<<playerchat "Lilith! Sophia's coming up! You have to hide!">>
<<text "Lilith doesn't move. She just tilts her head, a slow smile spreading across her face.">>
<<chat lilith "The stepmother? Up here? How... exciting.">>
<<playerchat "This isn't a game! If she finds you, I'm dead. You're dead. Everything is dead.">>
<<text "Lilith stretches, arching her back, her tits pushing up toward the ceiling. She takes her sweet time sitting up.">>
<<storyImg "assets/Quests/Sophia/AtticSearchQuest/lilith_stretching.webp">>
<<chat lilith "Fine, fine. I'll hide. But I'm not going to make it easy for you. This is the most fun I've had in weeks.">>
<<text "She rolls off the cushions and pads toward the back of the attic, disappearing behind a stack of old furniture and boxes. You hear her voice drift back, low and amused.">>
<<chat lilith "Oh, and $playerName? If she gets close... I'm going to make you suffer.">>
<<text "You don't have time to ask what that means. Sophia's footsteps are already on the ladder.">>
<<set $atticSuspicion to 0>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="SophiaAtticSearchSearch1">
<img src="assets/Locations/House/attic.webp">
<span>Sophia climbs up</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/attic.webp')"></div>
<div class="location-ui">
<<text "You grab the flashlight from your nightstand and scramble up the ladder. Halfway up, you hear Sophia's heels clicking toward the hatch behind you.">>
<<playerchat "//(Fuck, fuck, fuck.)//">>
<<text "You burst into the attic. Lilith is sprawled across her cushions, naked as always, watching you with lazy interest.">>
<<storyImg "assets/Quests/Sophia/AtticSearchQuest/lilith_cushions.webp">>
<<playerchat "Sophia's right behind me. Hide. Now.">>
<<chat lilith "So dramatic. Fine. I'll hide. But you owe me for this.">>
<<text "She rolls off the cushions and disappears behind a tall wardrobe. You hear a soft, amused laugh as she goes.">>
<<chat lilith "Try not to make it too boring, $playerName.">>
<<text "Sophia's head appears through the hatch.">>
<<chat sophia "Took you long enough. What were you doing up here?">>
<<playerchat "Checking for spiders. Like I said.">>
<<text "She climbs the rest of the way up, brushing dust off her skirt. She looks around the attic, her eyes narrowing.">>
<span style="color: red; font-weight: bold;">Sophia's Suspicion: +1</span>
<<set $atticSuspicion to 1>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="SophiaAtticSearchSearch1">
<img src="assets/Locations/House/attic.webp">
<span>Start searching</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/attic.webp')"></div>
<div class="location-ui">
<<text "You climb into the attic just as Sophia reaches the top. Lilith is still on her cushions, completely exposed. Her eyes go wide — then narrow with something that looks suspiciously like amusement.">>
<<storyImg "assets/Quests/Sophia/AtticSearchQuest/lilith_standing.webp">>
<<text "She moves fast. Faster than you've ever seen her move. She rolls off the cushions and vanishes behind a stack of boxes just as Sophia turns around.">>
<<chat sophia "What was that?">>
<<playerchat "What was what?">>
<<chat sophia "I heard something. Moving.">>
<<playerchat "Probably a rat. I told you there were rats.">>
<<text "Sophia stares at the boxes for a long moment. Then she shakes her head.">>
<<chat sophia "Fine. Let's just find this box and get out of here.">>
<span style="color: red; font-weight: bold; text-align: center;">Sophia's Suspicion: +2</span>
<<set $atticSuspicion to 2>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="SophiaAtticSearchSearch1">
<img src="assets/Locations/House/attic.webp">
<span>Start searching</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/attic.webp')"></div>
<div class="location-title">Sophia's Suspicion: $atticSuspicion</div>
<div class="location-ui">
<<text "Sophia moves through the attic like she's looking for evidence of a crime. Her eyes sweep every corner. Her heels click against the wooden floorboards.">>
<<chat sophia "This is... cleaner than I expected.">>
<<text "Your heart stops.">>
<<chat sophia "When I moved in, this place was a disaster. Dust everywhere. Cobwebs. Old junk piled to the rafters. Now it looks...">>
<<text "She runs a finger along a nearby shelf. It comes away clean.">>
<<storyImg "assets/Quests/Sophia/AtticSearchQuest/sophia_touches_shelf.webp">>
<<chat sophia "Someone's been up here.">>
<div class="choice-buttons" id="search1_choice">
<<button "I've been cleaning up here. It's good exercise.">>
<<replace "#search1_choice">>
<<playerchat "I've been cleaning up here. It's good exercise. Gets me out of my room.">>
<<text "Sophia turns to look at you. Her eyes are sharp.">>
<<chat sophia "You? Cleaning? Voluntarily?">>
<<playerchat "I'm full of surprises.">>
<<text "She doesn't look convinced, but she lets it go. For now.">>
<span style="color: red; font-weight: bold; text-align: center;">Sophia's Suspicion: +1</span>
<<set $atticSuspicion to $atticSuspicion + 1>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="SophiaAtticSearchSearch1P2">
<img src="assets/Locations/House/attic.webp">
<span>Keep going</span>
</a>
</div>
<</replace>>
<</button>>
<<button "It's always been like this. You must be misremembering.">>
<<replace "#search1_choice">>
<<playerchat "It's always been like this. You must be misremembering.">>
<<text "Sophia's eyes narrow. She turns to face you fully, her tits straining against her blouse.">>
<<chat sophia "I don't misremember things. I have a memory like a steel trap. This attic was a disaster zone. Now it's... habitable. Someone's been up here.">>
<<text "She's suspicious now. Really suspicious. You can see the gears turning behind her eyes.">>
<span style="color: red; font-weight: bold; text-align: center;">Sophia's Suspicion: +2</span>
<<set $atticSuspicion to $atticSuspicion + 2>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="SophiaAtticSearchSearch1P2">
<img src="assets/Locations/House/attic.webp">
<span>Keep going</span>
</a>
</div>
<</replace>>
<</button>>
<<button "Look, there's the box you're looking for.">>
<<replace "#search1_choice">>
<<text "You point to a dusty wooden box on a shelf across the attic. It's not actually the jewelry box, but it's close enough to buy you time.">>
<<playerchat "Look. There. Is that it?">>
<<text "Sophia turns away from you, her attention diverted. She crosses the attic toward the box, her heels clicking. Her skirt rides up with every step.">>
<<text "While her back is turned, a cold hand slides across your waist from behind. Lilith. She's slipped out of her hiding spot and is pressed against your back. Her naked tits push against your shoulder blades. Her breath is hot on your ear.">>
<<chat lilith "//(whispered)// She's right there, $playerName. If she turns around, she'll see me with my hand down your pants. Doesn't that make you hard?">>
<<text "It does. Your cock is already straining against your jeans. Lilith's hand slides down your stomach, fingers hooking into your waistband.">>
<<chat lilith "//(whispered)// Don't make a sound.">>
<<text "Sophia reaches the box and opens it. It's full of old Christmas decorations. She sighs.">>
<<chat sophia "No. This isn't it.">>
<<storyImg "assets/Quests/Sophia/AtticSearchQuest/hand_in_jeans.webp">>
<<text "Lilith's hand slips into your jeans. Her cold fingers wrap around your cock. You bite your lip hard enough to hurt.">>
<<set $atticSuspicion to $atticSuspicion + 0>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="SophiaAtticSearchSearch1P2">
<img src="assets/Locations/House/attic.webp">
<span>Keep going</span>
</a>
</div>
<</replace>>
<</button>>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/attic.webp')"></div>
<div class="location-title">Sophia's Suspicion: $atticSuspicion</div>
<div class="location-ui">
<<text "Sophia moves deeper into the attic. She's heading toward the back corner — the one where Lilith's cushions are set up. The one where Lilith is currently hiding.">>
<<text "Lilith is behind the wardrobe. You can see a sliver of her bare shoulder through the gap between the furniture. If Sophia takes two more steps and turns her head, she'll see it too.">>
<<text "Sophia stops. She turns around. Her eyes scan the attic, passing over the wardrobe, then snapping back.">>
<<chat sophia "What are those?">>
<<text "She's pointing at Lilith's cushions. The velvet ones. The ones that definitely don't belong in a dusty attic.">>
<div class="choice-buttons" id="search1p2_choice">
<<button "I put those up here. For reading. It's comfortable.">>
<<replace "#search1p2_choice">>
<<playerchat "I put those up here. For reading. It's comfortable.">>
<<text "Sophia walks over to the cushions. She nudges one with her heel. Her expression is unreadable.">>
<<chat sophia "You come up here to read. On velvet cushions. In a dusty attic.">>
<<playerchat "It's quiet up here.">>
<<text "She stares at the cushions for a long moment. Then she looks at you. Then back at the cushions.">>
<<chat sophia "Fine. Whatever. Let's just find this box.">>
<<storyVideo "assets/Quests/Sophia/AtticSearchQuest/ass_slap.mp4">>
<<text "She turns away. You exhale. Lilith's hand finds your ass and slaps it. You nearly jump out of your skin.">>
<span style="color: red; font-weight: bold; text-align: center;">Sophia's Suspicion: +1</span>
<<set $atticSuspicion to $atticSuspicion + 1>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="SophiaAtticSearchSearch2">
<img src="assets/Locations/House/attic.webp">
<span>Keep going</span>
</a>
</div>
<</replace>>
<</button>>
<<button "Let me move those out of your way. (Stealth)">>
<<replace "#search1p2_choice">>
<<if $STH >= 25>>
<<playerchat "Let me move those out of your way. They're just old junk.">>
<<text "You move quickly, grabbing the cushions and shoving them behind the wardrobe before Sophia can get a good look. Lilith is back there, pressed against the wall, completely naked. You toss the cushions over her and hope for the best.">>
<<text "Sophia watches you with narrowed eyes, but she doesn't follow.">>
<<chat sophia "You're acting strange. Stranger than usual.">>
<<playerchat "I'm just trying to help.">>
<<set $atticSuspicion to $atticSuspicion + 0>>
<<addLust 1 lilith>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="SophiaAtticSearchSearch2">
<img src="assets/Locations/House/attic.webp">
<span>Keep going</span>
</a>
</div>
<<else>>
<<playerchat "Let me move those out of your way.">>
<<text "You grab the cushions, but you're too slow. Sophia sees the space behind the wardrobe — sees the shape of a person in the shadows.">>
<<chat sophia "What the fuck is that?!">>
<<text "You try to block her view, but it's too late. She shoves past you, grabs the wardrobe, and yanks it aside.">>
<<text "You need atleast 25 Stealth to have moved the cushions fast enough to hide Lilith. You only have $STH. You failed.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="SophiaAtticSearchFailCaught">
<img src="assets/Locations/House/attic.webp">
<span>Continue</span>
</a>
</div>
<</if>>
<</replace>>
<</button>>
<<button "Just stand there and hope she doesn't look closer.">>
<<replace "#search1p2_choice">>
<<text "You don't say anything. You just stand there, frozen, praying she doesn't look closer.">>
<<text "Sophia stares at the cushions for a long moment. Then she shrugs.">>
<<chat sophia "They're probably just old. From the previous owners.">>
<<text "She turns away. You almost collapse with relief. But Lilith — Lilith is not done with you.">>
<<text "A cold hand wraps around your wrist from behind. Lilith pulls your hand back and presses it against her naked pussy. She's wet. Soaked. Her clit is hard under your fingers.">>
<<storyVideo "assets/Quests/Sophia/AtticSearchQuest/hands_on_pussy.mp4">>
<<chat lilith "//(whispered)// Feel that? That's what you do to me. Now keep your hand there and don't make a sound.">>
<<text "You have to stand there, hand trapped between Lilith's thighs, while Sophia searches the attic in front of you. Your cock is so hard it hurts.">>
<<set $atticSuspicion to $atticSuspicion + 0>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="SophiaAtticSearchSearch2">
<img src="assets/Locations/House/attic.webp">
<span>Keep going</span>
</a>
</div>
<</replace>>
<</button>>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/attic.webp')"></div>
<div class="location-title">Sophia's Suspicion: $atticSuspicion</div>
<div class="location-ui">
<<text "Sophia's search is getting more frantic. She's pulling boxes off shelves, rifling through old papers, muttering under her breath.">>
<<chat sophia "Where the fuck is it? I know I left it up here. I know it.">>
<<text "She's getting closer to the wardrobe. Lilith has retreated fully behind it now, but the gap is wide enough that a single glance in the right direction would expose her.">>
<<text "And then you smell it. Incense. Lilith's candles. They must have been burning recently.">>
<<text "Sophia stops. Her nose wrinkles.">>
<<chat sophia "What is that smell?">>
<div class="choice-buttons" id="search2_choice">
<<button "I was burning a candle earlier. For the smell.">>
<<replace "#search2_choice">>
<<playerchat "I was burning a candle earlier. For the smell. It gets musty up here.">>
<<text "Sophia inhales deeply. Her eyes narrow.">>
<<chat sophia "That's not just a candle. That's incense. And it's fresh.">>
<<playerchat "Same thing.">>
<<chat sophia "It's not the same thing. Nobody burns incense in an attic. What are you hiding?">>
<<text "She's staring at you now. Really staring. Her eyes are hard.">>
<span style="color: red; font-weight: bold; text-align: center;">Sophia's Suspicion: +2</span>
<<set $atticSuspicion to $atticSuspicion + 2>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="SophiaAtticSearchSearch2P2">
<img src="assets/Locations/House/attic.webp">
<span>Deflect</span>
</a>
</div>
<</replace>>
<</button>>
<<button "It's probably coming from outside. The neighbors burn incense.">>
<<replace "#search2_choice">>
<<playerchat "It's probably coming from outside. The neighbors burn incense. It drifts up through the window.">>
<<text "Sophia looks at the attic window. It's closed. Painted shut, actually. She looks back at you.">>
<<chat sophia "The window is closed.">>
<<playerchat "Maybe it's coming through the floorboards?">>
<<chat sophia "Incense doesn't come through floorboards.">>
<<text "She's suspicious. But she's also frustrated and tired, and she doesn't have time for this.">>
<<chat sophia "Whatever. Let's just find this box and get out of here.">>
<span style="color: red; font-weight: bold; text-align: center;">Sophia's Suspicion: +1</span>
<<set $atticSuspicion to $atticSuspicion + 1>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="SophiaAtticSearchSearch2P2">
<img src="assets/Locations/House/attic.webp">
<span>Keep going</span>
</a>
</div>
<</replace>>
<</button>>
<<button "Distract her by pointing at something behind her.">>
<<replace "#search2_choice">>
<<playerchat "Wait — what's that behind you?">>
<<text "Sophia spins around. While her back is turned, Lilith slips out from behind the wardrobe. She doesn't hide. She walks right up behind Sophia, completely naked, and presses her body against your back.">>
<<text "Her tits are cold against your shoulder blades. Her hand slips around your waist and down the front of your jeans. She finds your cock — already hard — and starts stroking it slowly.">>
<<storyVideo "assets/Quests/Sophia/AtticSearchQuest/slow_handjob.mp4">>
<<chat lilith "//(whispered)// She's so close, $playerName. If she turns around right now, she'll see me jerking you off. Does that scare you? Or does it make you harder?">>
<<text "It makes you harder. Lilith laughs softly against your neck.">>
<<text "Sophia turns back around, annoyed.">>
<<chat sophia "There's nothing there. You're wasting my time.">>
<<text "Lilith has already slipped back behind the wardrobe.">>
<<set $atticSuspicion to $atticSuspicion + 0>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="SophiaAtticSearchSearch2P2">
<img src="assets/Locations/House/attic.webp">
<span>Keep going</span>
</a>
</div>
<</replace>>
<</button>>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/attic.webp')"></div>
<div class="location-title">Sophia's Suspicion: $atticSuspicion</div>
<div class="location-ui">
<<text "Sophia is losing her patience. She's tearing through boxes now, not even trying to be careful. Old papers flutter to the floor.">>
<<chat sophia "I know it's here. I know it.">>
<<text "She's standing right in front of the wardrobe. The one Lilith is hiding behind. The gap is just wide enough that if Sophia looked up, she'd see a flash of pale skin.">>
<<text "Lilith's hand finds yours. She pulls it behind your back and presses it against her tits. Her nipples are hard under your palm.">>
<<storyVideo "assets/Quests/Sophia/AtticSearchQuest/hands_on_tits.mp4">>
<<chat lilith "//(whispered)// If she finds me, I'll tell her everything. About the contract. About what you've been doing with all of us. But maybe you'd like that?">>
<<text "You shake your head, trying to look normal while your hand is trapped against a demon's breast.">>
<<chat sophia "What are you doing?">>
<<text "Sophia is looking at you now. Really looking. Her eyes are sharp.">>
<div class="choice-buttons" id="search2p2_choice">
<<button "Nothing. Just thinking.">>
<<replace "#search2p2_choice">>
<<playerchat "Nothing. Just thinking. About where the box might be.">>
<<text "Sophia stares at you for a long moment. Then she turns back to the boxes.">>
<<chat sophia "You're a terrible liar. You know that?">>
<<text "She doesn't push further. For now.">>
<span style="color: red; font-weight: bold; text-align: center;">Sophia's Suspicion: +1</span>
<<set $atticSuspicion to $atticSuspicion + 1>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="SophiaAtticSearchBlowjob">
<img src="assets/Locations/House/attic.webp">
<span>Keep going</span>
</a>
</div>
<</replace>>
<</button>>
<<button "I think I saw a box over there. In the far corner.">>
<<replace "#search2p2_choice">>
<<playerchat "I think I saw a box over there. In the far corner. Behind those old chairs.">>
<<text "Sophia turns to look. It's away from the wardrobe. Away from Lilith. You breathe.">>
<<chat sophia "Fine. Let's check.">>
<<text "She walks toward the far corner. Lilith's hand releases yours. You feel her shift behind you, repositioning. Her voice drifts out from the darkness, so quiet only you can hear it.">>
<<chat lilith "//(whispered)// Good boy. You're learning.">>
<<set $atticSuspicion to $atticSuspicion + 0>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="SophiaAtticSearchBlowjob">
<img src="assets/Locations/House/attic.webp">
<span>Keep going</span>
</a>
</div>
<</replace>>
<</button>>
<<button "Say nothing. Just keep your face neutral.">>
<<replace "#search2p2_choice">>
<<text "You don't say anything. You just stand there, face neutral, while Lilith's hand trails down your stomach and dips into your jeans again.">>
<<text "Sophia watches you for a long, terrible moment. Then she turns back to the boxes.">>
<<chat sophia "If I find out you're hiding something up here...">>
<<text "She doesn't finish the threat. She doesn't have to.">>
<span style="color: red; font-weight: bold; text-align: center;">Sophia's Suspicion: +2</span>
<<set $atticSuspicion to $atticSuspicion + 2>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="SophiaAtticSearchBlowjob">
<img src="assets/Locations/House/attic.webp">
<span>Keep going</span>
</a>
</div>
<</replace>>
<</button>>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/attic.webp')"></div>
<div class="location-title">Sophia's Suspicion: $atticSuspicion</div>
<div class="location-ui">
<<text "Sophia crosses the attic to the far corner and drops to her knees in front of a pile of old furniture. You try very hard not to stare at the way her skirt pulls tight across her ass.">>
<<chat sophia "These boxes are labeled. Someone organized them.">>
<<text "Behind you, Lilith makes a sound. Low. Pleased.">>
<<chat lilith "//(whispered)// She's eight feet away and she's talking about boxes.">>
<<text "Cold fingers hook into your waistband.">>
<<playerchat "//(whispered)// Lilith, wait —">>
<<chat lilith "//(whispered)// Don't.">>
<<text "She pulls. The attic air is cold and your cock is already hard enough to ache.">>
<<chat lilith "//(whispered)// Look at that. You've been walking around like this the whole time, haven't you?">>
<<chat sophia "Did you say something?">>
<<playerchat "Nope.">>
<<text "Lilith's mouth closes over the head and every thought in your head falls out.">>
<<storyVideo "assets/Quests/Sophia/AtticSearchQuest/attic_blowjob.mp4">>
<<text "She takes you deep, acting like she has all the time in the world. Sophia does not.">>
<<chat sophia "This one's all baby clothes. Little dresses. My mother kept everything.">>
<<text "You try to say something that sounds like a sentence. It comes out as a hum. Lilith's shoulders shake with a silent laugh, and the vibration goes straight up your spine.">>
<<text "Sophia starts to turn around.">>
<<chat sophia "Hey, come look at —">>
<<text "Lilith doesn't stop. She goes faster, deliberately, her hand tightening, and you have to plant both palms flat against the wardrobe to stay standing while Sophia waits for an answer.">>
<<playerchat "In a second.">>
<<chat sophia "You okay? You look weird.">>
<<playerchat "Dust. It's the dust.">>
<<text "Sophia shrugs and turns back to her boxes. Lilith pulls off just long enough to breathe, lips wet, eyes on yours, and then she takes you all the way back down.">>
<div class="choice-buttons" id="blowjob_choice">
<<button "Grab her head and hold her there.">>
<<replace "#blowjob_choice">>
<<text "You get a hand in her hair and hold her down. Lilith makes a muffled, satisfied noise and lets you. Her throat works around you. Her fingernails dig into your thigh.">>
<<storyVideo "assets/Quests/Sophia/AtticSearchQuest/lilith_deepthroat.mp4">>
<span style="color: red; font-weight: bold; text-align: center;">Sophia's Suspicion: +1</span>
<<set $atticSuspicion to $atticSuspicion + 1>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="SophiaAtticSearchTable">
<img src="assets/Locations/House/attic.webp">
<span>Keep going</span>
</a>
</div>
<</replace>>
<</button>>
<<button "Let her decide.">>
<<replace "#blowjob_choice">>
<<text "You don't do anything. You just stand there and take it, palms flat on the wardrobe, while Lilith uses her mouth on you however she wants.">>
<<text "She draws it out. Slows down every time you get close, pulls back to lick at the head, then sinks back down. Twice. Three times. She's doing it on purpose.">>
<<chat lilith "//(whispered)// You're going to have to be quiet.">>
<<set $atticSuspicion to $atticSuspicion + 0>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="SophiaAtticSearchTable">
<img src="assets/Locations/House/attic.webp">
<span>Keep going</span>
</a>
</div>
<</replace>>
<</button>>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/attic.webp')"></div>
<div class="location-title">Sophia's Suspicion: $atticSuspicion</div>
<div class="location-ui">
<<text "Sophia hauls an old wooden table out of the junk and drags it into the light under the window. She kicks two chairs upright, sits on one, and starts spreading her finds across the top of it.">>
<<chat sophia "Sit down. If we're doing this, we're doing it properly. Everything gets opened and put in piles.">>
<<text "You take the other chair. Your legs fit under the table. Behind Sophia, a pale shape slides out of the shadows and drops to the floorboards without a sound.">>
<<playerchat "//(whispered)// No. Not again.">>
<<chat lilith "//(whispered)// Yes. Again.">>
<<text "She crawls under the table on her hands and knees. Her shoulder bumps the inside of your thigh. Her hands find your waistband.">>
<<chat sophia "This one's all paperwork. Bills. God, my mother kept everything.">>
<<text "Lilith gets your jeans open and pulls them down. Then she stops.">>
<<chat lilith "//(whispered)// She's never going to find that box, you know. It's under the floorboards. She'd have to lift the boards to get it.">>
<<playerchat "//(whispered)// Then what are we doing?">>
<<chat lilith "//(whispered)// This.">>
<<text "She takes you in her mouth.">>
<<storyVideo "assets/Quests/Sophia/AtticSearchQuest/blowjob_table.mp4">>
<<text "You sit bolt upright in the chair. Your knees press against the underside of the table. You fold your hands on top of it like a man in a job interview.">>
<<text "Lilith works slow. Deep, then shallow, then deep again. Her hand is wrapped around the base and her tongue doesn't stop moving, and the table is barely wide enough that Sophia can't see you flinching.">>
<<chat sophia "There's a photo album in here. I forgot about this one.">>
<<text "She pushes it across the table toward you. You try to look at it. You try to look at anything.">>
<<chat sophia "That's my mother. Right there.">>
<<playerchat "She's — you look like her.">>
<<text "Your voice comes out a full octave low. Sophia glances up at you, frowning.">>
<<chat sophia "Are you getting a cold?">>
<<playerchat "Dust.">>
<<text "Lilith's shoulders shake with silent laughter, which does something to her throat, and your fingers dig into the tabletop.">>
<div class="choice-buttons" id="table_choice">
<<button "Reach down and get a hand in her hair.">>
<<replace "#table_choice">>
<<text "You drop one hand under the table where Sophia can't see it and grip Lilith's hair. She moans around you. Quietly. It still feels loud.">>
<<chat sophia "Do you want to look at the rest of these or not?">>
<<playerchat "Yeah. Yeah, keep going.">>
<<text "Lilith takes the hint and stops teasing. She goes fast and tight and mean, one hand braced on your thigh, and you have to hold her head still to keep from making noise.">>
<<storyVideo "assets/Quests/Sophia/AtticSearchQuest/blowjob_table2.mp4">>
<<text "You finish with your jaw locked and your eyes fixed on a water stain on the wall. She swallows all of it, and then keeps her mouth on you until your leg is jumping.">>
<span style="color: red; font-weight: bold; text-align: center;">Sophia's Suspicion: +1</span>
<<set $atticSuspicion to $atticSuspicion + 1>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="SophiaAtticSearchTableEnd">
<img src="assets/Locations/House/attic.webp">
<span>Recover</span>
</a>
</div>
<</replace>>
<</button>>
<<button "Grip the table and hold still.">>
<<replace "#table_choice">>
<<text "You don't move. You can't. You sit rigid with your hands flat on the table and take it.">>
<<chat sophia "I was thinking about keeping a couple of these. The album. Maybe the—">>
<<text "She stops. She's looking at your face.">>
<<chat sophia "You're doing the thing again.">>
<<playerchat "What thing?">>
<<chat sophia "The thing where you look like you're doing math.">>
<<text "Your heel bangs against the chair leg once, hard.">>
<<chat sophia "What was that?">>
<<playerchat "Cramp.">>
<<chat sophia "In your leg?">>
<<playerchat "In my leg.">>
<<text "Lilith licks you clean and tucks you back into your jeans. Under the table, she pats your knee. Twice. Almost gentle.">>
<<set $atticSuspicion to $atticSuspicion + 0>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="SophiaAtticSearchTableEnd">
<img src="assets/Locations/House/attic.webp">
<span>Recover</span>
</a>
</div>
<</replace>>
<</button>>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/attic.webp')"></div>
<div class="location-title">Sophia's Suspicion: $atticSuspicion</div>
<div class="location-ui">
<<text "You get your jeans up and your breathing somewhere near normal. Sophia is still working through the pile, bored now, flipping through the album without really looking.">>
<<chat sophia "None of this is it. None of it.">>
<<text "Under the table, Lilith has gone still. She's listening.">>
<<chat sophia "Wait. Hold on.">>
<<text "Sophia leans down and drags a box out from under the pile at her feet. Dusty. Wooden. Carved along the lid.">>
<<chat sophia "That's it. That's the one.">>
<<text "She sets it on the table and puts her hand on the lid.">>
<<text "Lilith pushes herself out from under the table and scrambles backwards on her hands and knees, naked, into the gap between a stack of boxes and the wardrobe. She's fast, but she's not out of sight yet.">>
<<text "Sophia looks up.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="SophiaAtticSearchClimax">
<img src="assets/Locations/House/attic.webp">
<span>Final moment</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/attic.webp')"></div>
<div class="location-ui">
<<text "Sophia has the carved box on the table in front of her. She's not opening it. She's just staring at the lid, and her thumb is running back and forth along the carving.">>
<<text "Lilith is bent over behind the stack of boxes. She's not hiding well. Her ass is out, her hip is out, and if Sophia looks anywhere but dead ahead she's finished.">>
<<storyImg "assets/Quests/Sophia/AtticSearchQuest/lilith_tease.webp">>
<<text "And she's not sitting still. She's got two fingers between her legs, watching you, breathing through her mouth.">>
<<chat lilith "//(whispered)// Under the floorboards. I told you. She had to crawl around on her hands and knees like a dog to find it.">>
<<playerchat "//(whispered)// You could have just told me where it was.">>
<<chat lilith "//(whispered)// And miss all this?">>
<<text "She pushes the fingers in. Her breath hitches.">>
<<text "Sophia's hand closes on the lid.">>
<<chat sophia "I can't believe it. I've been looking for this for years.">>
<<text "She lifts the lid and her face changes. For a second she's not the cold, professional woman you know. She's just a daughter.">>
<<text "Then she looks up.">>
<<chat sophia "You know...">>
<<text "Her gaze drifts across the attic and settles somewhere just past your shoulder.">>
<<chat sophia "I should probably check the rest of these boxes. There might be other things up here I forgot about.">>
<<text "If your suspicion is too high, she's going to keep looking. And she's going to find Lilith.">>
<<if $atticSuspicion <= 4>>
<<text "But then she shakes her head.">>
<<chat sophia "Actually, no. I've spent enough time in this dusty attic for one day.">>
<<text "You exhale. You can't help it. The relief is overwhelming.">>
<<chat sophia "Let's go downstairs. I need a shower.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="SophiaAtticSearchSuccess">
<img src="assets/Locations/House/attic.webp">
<span>Final moment</span>
</a>
</div>
<<else>>
<<text "She's going to keep looking. You need to do something.">>
<div class="choice-buttons" id="climax_choice">
<<button "I'll finish up here. You go ahead. (Charisma)">>
<<replace "#climax_choice">>
<<if $CHA >= 35 and $atticSuspicion <= 7>>
<<playerchat "I'll finish up here. You go ahead. You've got what you came for.">>
<<text "Sophia looks at you for a long moment. Then she nods.">>
<<chat sophia "Fine. Don't stay up here too long.">>
<<text "She climbs down the ladder. The moment she's gone, Lilith emerges from the shadows, smiling.">>
<<chat lilith "That was fun.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="SophiaAtticSearchSuccess">
<img src="assets/Locations/House/attic.webp">
<span>Final moment</span>
</a>
</div>
<<else>>
<<playerchat "I'll finish up here. You go ahead.">>
<<text "Sophia doesn't answer. She's already pulling a box off a shelf.">>
<<chat sophia "I'll just be a minute more.">>
<<text "She's going to find Lilith. You can feel it.">>
<<text "You need atleast 35 Charisma and have Sophia's Suspicion at 7 or lower to convince her to leave. You only have $CHA and Sophia's Suspicion is $atticSuspicion. You failed.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="SophiaAtticSearchFailCaught">
<img src="assets/Locations/House/attic.webp">
<span>Continue</span>
</a>
</div>
<</if>>
<</replace>>
<</button>>
<<button "Stay quiet and hope she leaves.">>
<<replace "#climax_choice">>
<<text "You don't say anything. You just stand there, waiting, hoping she'll leave.">>
<<text "She pulls another box off the shelf. Then another. She's getting closer to Lilith's hiding spot.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="SophiaAtticSearchFailCaught">
<img src="assets/Locations/House/attic.webp">
<span>Continue</span>
</a>
</div>
<</replace>>
<</button>>
</div>
<</if>>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/attic.webp')"></div>
<div class="location-ui">
<<text "Sophia climbs down the ladder with her jewelry box clutched against her chest. You watch her go, your heart pounding.">>
<<text "When she's gone, Lilith emerges from the shadows. She's still naked. She's still smiling.">>
<<chat lilith "That was the most fun I've had in weeks.">>
<<playerchat "You almost got us caught!">>
<<chat lilith "But I didn't. And you handled it beautifully.">>
<<text "She walks toward you, her hips swaying. Her tits are still slightly pink from her earlier touching. She reaches up and cups your face in her hands.">>
<<chat lilith "You're learning, $playerName. You're becoming the man I knew you could be.">>
<<storyVideo "assets/Quests/Sophia/AtticSearchQuest/lilith_kiss.mp4">>
<<text "She kisses you. Hard. Her tongue slides into your mouth. Her body presses against yours. Your cock is instantly hard.">>
<<set $CharQuests.sophia.sophiaAtticSearchQuest.status to "completed">>
<<set $CharQuests.sophia.sophiaBreakQuest2.status to "active">>
<<addRel 3 sophia>>
<<addLust 1 sophia>>
<<addRel 1 lilith>>
<<addLust 2 lilith>>
<<addSTH 4>>
<<addCHA 4>>
<<advancetime 60>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="SleepDecider">
<img src="assets/Locations/House/your_room.webp">
<span>Go downstairs</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/attic.webp')"></div>
<div class="location-ui">
<<text "Sophia's eyes lock onto Lilith. The naked woman crouched in the shadows. The demon. The secret you've been keeping.">>
<<chat sophia "WHAT THE FUCK?!">>
<<text "The jewelry box slips from her hands and hits the floor. She stumbles backward, her face white.">>
<<chat sophia "WHO THE FUCK ARE YOU?! WHY ARE YOU NAKED?! WHY ARE YOU IN MY ATTIC?!">>
<<text "Lilith doesn't run. She doesn't hide. She just stands up slowly, completely comfortable in her own skin.">>
<<chat lilith "I'm Lilith. I live here.">>
<<chat sophia "YOU LIVE HERE?!">>
<<text "She turns on you. Her eyes are blazing.">>
<<chat sophia "You. You've been hiding her. In my attic. This whole time.">>
<<playerchat "Sophia, I can explain—">>
<<chat sophia "Explain what?! That you've been harboring a naked woman in my house?! A stranger?! A—">>
<<text "She stops. She's looking at Lilith again. At her eyes. Her purple, glowing eyes.">>
<<chat sophia "What... what are you?">>
<<chat lilith "That's a long story. And I don't think you're ready to hear it.">>
<<text "Sophia stumbles backward. She looks between you and Lilith, her face a mask of horror and confusion.">>
<<chat sophia "I want you both out. Now. Both of you.">>
<<playerchat "Sophia, please—">>
<<chat sophia "NOW!">>
<<text "She turns and practically runs for the ladder.">>
<<chat lilith "Oh for hell's sake.">>
<<text "Lilith grabs Sophia by the leg and yanks her back. She chokes her with one hand, and Sophia goes unconscious, then she drags her back to the center of the attic.">>
<<playerchat "LILITH! WHAT DID YOU DO?!">>
<<chat lilith "What had to be done, $playerName...">>
<<playerchat "YOU KILLED SOPHIA, YOU MONSTER!">>
<<text "Lilith looks at you. She doesn't look worried. She looks amused.">>
<<chat lilith "I didn't kill her, you idiot. I just knocked her out. I need to erase her memories. Pull out your cock.">>
<<playerchat "Erase memory? You can do that? Pull out my cock? What are you talking about?">>
<<chat lilith "Yes, if I try hard enough, I can erase mortal's memory. But it takes a lot of energy. More than anything else I've done yet. Pull your fucking cock out and feed me if you want to get out of this alive. If we don't do this, Sophia will remember everything. And then she'll tell other people, and then we are FUCKED.">>
<<set $CharQuests.sophia.sophiaAtticSearchQuest.step to 0>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="SophiaAtticSearchFailCaughtP2">
<img src="assets/Locations/House/attic.webp">
<span>Continue</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/attic.webp')"></div>
<div class="location-ui">
<<text "You fumble your jeans open. Your hands aren't working properly. Lilith doesn't wait.">>
<<chat lilith "There we go. Look at that. Scared half to death and still hard as a rock.">>
<<playerchat "That's not— that's just—">>
<<chat lilith "It's because she's lying right there, isn't it? Face down on the floor. Three feet away. You could reach out and touch her.">>
<<text "She licks her lips and leans in, close enough that you can feel her breath.">>
<<chat lilith "If she wakes up right now, this is the first thing she sees. You, with your cock in a demon's mouth.">>
<<storyVideo "assets/Quests/Sophia/AtticSearchQuest/bj1.mp4">>
<<text "She takes you in her mouth and everything below your waist goes numb.">>
<<text "Her mouth is cold. Deep and cold and wet, and she doesn't ease into it — she takes you all the way to the back of her throat on the first pass and holds there, looking up at you with those purple eyes.">>
<<playerchat "Fuck—">>
<<text "She pulls off with a wet sound and pumps you in her fist.">>
<<chat lilith "Quiet. She's 'asleep', not deaf.">>
<<storyVideo "assets/Quests/Sophia/AtticSearchQuest/bj2.mp4">>
<<text "She goes back down. Slower this time. Her tongue drags along the underside and her hand works what her mouth doesn't cover, and she's watching your face the whole time like she's reading a book.">>
<<chat lilith "//(muffled)// You taste like dust and panic.">>
<<text "You get a hand on the back of her head. She hums her approval, and the hum goes through you like a struck wire.">>
<<text "Then something changes. Her eyes get brighter. The purple goes hot, and you can feel it — a pull, low and steady, like something is being drawn out of you through your cock.">>
<<playerchat "Lilith — what is—">>
<<text "She pulls off, gasping, her lips swollen and shining.">>
<<chat lilith "That's the spell. That's what it feels like when I'm eating you. Don't fight it. Every drop you give me is a minute of Sophia's memory I get to keep.">>
<<playerchat "So the more—">>
<<chat lilith "The more you feed me, the more I can take from her. Yes. Now shut up and let me work.">>
<<storyVideo "assets/Quests/Sophia/AtticSearchQuest/bj3.mp4">>
<<text "She takes you deeper than before. Her nose presses into your stomach. Her throat works around the head and your knees nearly buckle.">>
<<text "Her hand slides up under your shirt, nails dragging, and she pulls you forward by the hip — impatient, greedy, like she's not getting enough fast enough.">>
<<chat lilith "//(muffled)// More. Give me more.">>
<<playerchat "I'm trying—">>
<<chat lilith "//(muffled)// Try harder.">>
<<storyVideo "assets/Quests/Sophia/AtticSearchQuest/bj4.mp4">>
<<text "She pulls off and just uses her hand, fast and tight, her other palm flat on your thigh to keep you from backing away.">>
<<text "Her chin is wet. Her hair is stuck to her cheek. She looks up at you and grins like she's having the time of her life.">>
<<chat lilith "Look at her. Go on. Look at her.">>
<<text "You look. Sophia's face is slack against the floorboards, one arm thrown out, completely out cold.">>
<<chat lilith "She's going to wake up with a headache and no idea why. And you're going to be standing right over her with your cock out. Think about that.">>
<<playerchat "That's not helping.">>
<<chat lilith "It's helping me.">>
<<storyVideo "assets/Quests/Sophia/AtticSearchQuest/bj5.mp4">>
<<text "She takes you back down and goes hard. No teasing now. Fast, wet, sloppy.">>
<<playerchat "Lilith — I'm close—">>
<<text "She pulls off just far enough to talk, mouth still open against the head.">>
<<chat lilith "Then give it to me. All of it. Don't you dare waste a drop on the floorboards.">>
<<playerchat "Where—">>
<<chat lilith "My mouth. Come on. Now.">>
<<storyVideo "assets/Quests/Sophia/AtticSearchQuest/cum.mp4">>
<<text "You cum. She stays exactly where she is, mouth open, tongue out, taking it across her tongue and the back of her throat, and she doesn't swallow. Not yet. She holds it.">>
<<text "Her eyes are burning now. Bright enough to light the underside of her chin.">>
<<text "You finish, and she stays there another few seconds, breathing through her nose, before she finally closes her mouth and swallows — slow, deliberate, her throat working twice.">>
<<text "She wipes her mouth with the back of her wrist.">>
<<chat lilith "There. That's better.">>
<<playerchat "Did it— is it enough?">>
<<chat lilith "It's enough.">>
<<text "She gets to her feet. She doesn't bother getting dressed — she just crosses the attic and crouches over Sophia's body, one hand hovering above her forehead.">>
<<chat lilith "Watch. And don't say a word.">>
<<text "Her palm glows. Sophia's whole body goes rigid, her fingers curling against the floor. Then it fades, and she goes limp again, and Lilith sits back with a long exhale.">>
<<chat lilith "Done. She won't remember a thing past opening your door.">>
<<text "Sophia stirs. Her eyes flutter.">>
<<chat lilith "Tuck yourself in. Quickly.">>
<<text "By the time Sophia pushes herself up onto her elbows, blinking, you're zipped and standing and Lilith is behind the boxes again.">>
<<chat sophia "What... what happened? Why am I on the floor?">>
<<playerchat "You slipped. Dust. You hit your head.">>
<<text "She touches her forehead and winces.">>
<<chat sophia "God. My head is pounding. Why am I in here anyways?">>
<<playerchat "I don't know Sophia, you just fell. Let's get you downstairs.">>
<<text "You help her up. At the top of the ladder she stops and looks back at the attic.">>
<<chat sophia "Weird. I could swear there was something...">>
<<playerchat "Probably a rat.">>
<<chat sophia "Yeah. Probably a rat.">>
<<set $CharQuests.sophia.sophiaAtticSearchQuest.step to 0>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="SleepDecider">
<img src="assets/Locations/House/your_room.webp">
<span>Leave</span>
</a>
</div>
</div><<set $CharQuests.sophia.sophiaBreakQuest1.status to "completed">>
<<set $CharQuests.sophia.sophiaExReturnsQuest.status to "active">>
<<set $CharQuests.sophia.sophiaYogaUnlockQuest.status to "active">>
<<set $CharQuests.sophia.sophiaBreakfastUnlockQuest.status to "active">>
<<set $sophiaLustBreak to 2>>
<<addLust 5 sophia>>
<<addRel 1 sophia>><div class="location-bg" style="background-image: url('assets/Locations/House/upstairs_hallway.webp')"></div>
<div class="location-title">The Hypnotic Ledger</div>
<div class="location-ui">
<<text "The hallway upstairs is dark, save for the narrow slice of amber light cutting through the gap under Sophia’s office door.">>
<<text "You stand in the quiet corridor, resting your hand against the cool frame. Inside, the subtle clink of heavy glass against a crystal decanter breaks the stillness, followed by a long, ragged exhale that sounds more like a suppressed sob than a breath.">>
<<text "Curious, you step closer and peer through the keyhole.">>
<<storyImg "assets/Quests/Sophia/BreakQuest1/drunk.webp">>
<<text "Her blonde hair is completely loose now. She wears a thin, white-colored silk blouse with the top three buttons unfastened, revealing a big portion of her chest. In her hand, she grips a tumbler half-filled with neat amber scotch, her knuckles pale.">>
<div class="choice-buttons" id="sophia_choices">
<<button "Knock softly and offer help">>
<<replace "#sophia_choices">>
<<text "You knock twice on the heavy dark wood.">>
<<text "The movement inside is instant. Sophia flinches, snapping her neck up. In a flash of practiced discipline, she pushes her scotch glass behind a stack of binders, sits up rigid, and smooths down her collar.">>
<<chat sophia "Come in.">>
<<text "You push the door open, leaning against the frame with a sympathetic smile.">>
<<playerchat "Still at it, Sophia? It's late. You look like you're about to collapse.">>
<<text "Sophia’s expression hardens instantly. The vulnerability you caught through the keyhole vanishes behind a wall of cold, icy professionalism.">>
<<chat sophia "Don't confuse my recent gratitude with familiarity, sweetie. I am still your stepmother, and I am currently managing a thousdands of dollars state audit. My fatigue is none of your concern">>
<<text "She gestures coldly toward the hallway.">>
<<chat sophia "Go to bed. And close the door behind you.">>
<<text "You decide that you should visit the attic to consult Lilith.">>
<<set $CharQuests.sophia.sophiaBreakQuest1.step to 2>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="UpstairsHallway">
<img src="assets/Locations/House/upstairs_hallway.webp">
<span>Leave</span>
</a>
</div>
<</replace>>
<</button>>
<<button "Leave">>
<<replace "#sophia_choices">>
<<text "Recognizing that her razor-sharp maternal and professional boundaries will block any natural progress, you quietly step back from the keyhole, turn on your heel, and make your way silently down the hall.">>
<<text "You decide that you should visit the attic to consult Lilith.">>
<<set $CharQuests.sophia.sophiaBreakQuest1.step to 2>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="UpstairsHallway">
<img src="assets/Locations/House/upstairs_hallway.webp">
<span>Continue</span>
</a>
</div>
<</replace>>
<</button>>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/attic.webp')"></div>
<div class="location-ui">
<<text "You unlatch the rusted iron bolt, pull yourself up through the opening, and climb the narrow wooden ladder into the darkness of the Attic.">>
<<text "At the far end of the attic, lying lazily across a pile of deep red velvet cushions and draped tapestries, is Lilith.">>
<<text "The succubus turns her head slowly toward you. Her long, dark hair spills over her bare shoulders.">>
<<chat lilith "Mmm... I can smell the frustration dripping off you, little thief. The high-and-mighty businesswoman down the hall won't let you touch her, can she?">>
<<text "She sits up smoothly and goes into a doggy stretch, her fiery gaze boring into your eyes.">>
<<storyImg "assets/Quests/Sophia/BreakQuest1/doggy.webp">>
<<chat lilith "Her mind is wrapped in armor made of rules, pride, and squeamish propriety. She sees you as a child to be commanded, not a man to be taken. But right now... oh, right now her mind is utterly exhausted. And an exhausted mind is ripe for harvesting.">>
<<text "Lilith glides across the attic floor without making a sound, her bare feet sweeping over the dust. She reaches into a iron-bound chest and pulls out a blank sheet of heavy, ancient vellum paper.">>
<<text "She pulls a thin silver dagger from her hip, drawing the blade across her own palm without flinching. Dark, shimmering purple blood beads along the cut. With a wicked smile, she presses her bloody fingers onto the vellum, chanting in a low, guttural, velvet language that makes the floorboards vibrate beneath your feet.">>
<<storyImg "assets/Quests/Sophia/BreakQuest1/paper.webp">>
<<text "She hands the paper to you. The vellum feels hot to the touch, humming with a low, faint vibration against your fingertips.">>
<<chat lilith "Take this. Hand it to her under the guise of work. The moment her eyes trace these shifting script lines, the spell will bypass her conscious thought. It will strip away her anxiety... along with every artificial boundary she has ever built around her body.">>
<<text "Lilith leans close, her soft, cool lips brushing your cheek as she whispers in your ear.">>
<<chat lilith "Go on, sweet boy. Break her formal guard.">>
<<set $CharQuests.sophia.sophiaBreakQuest1.step to 3>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="YourRoomDecider">
<img src="assets/Locations/House/your_room.webp">
<span>Leave</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/sophia_office.webp')"></div>
<div class="location-ui">
<<text "You open the door without knocking this time and step into the warm, dimly lit room.">>
<<text "Sophia looks up from her desk, her hand instinctively reaching up to rub her thumping temples. Her eyes are half-lidded, unfocused with agony.">>
<<chat sophia "//(groaning)// Not now... Go to bed. My head feels like it's about to explode into pieces.">>
<div class="choice-buttons" id="sophia_choices">
<<button "Present the Hypnotic Ledger to Sophia.">>
<<replace "#sophia_choices">>
<<playerchat "Just look over this last exemption sheet, Sophia. It’ll fix everything.">>
<<text "You step up to her desk and slide the hot parchment over her open binders, laying it down directly under the bright glow of her desk lamp.">>
<<storyImg "assets/Quests/Sophia/BreakQuest1/lamp.webp">>
<<text "Sophia sighs heavily, shaking her head.">>
<<chat sophia "Exemption sheet? What are you even talking about? I don't have time for...">>
<<text "Her voice trails off as her eyes lock onto the glowing, shifting runes written across the page.">>
<<text "A heavy, visible wave of relaxation surges through her frame. Her shoulders drop, her tense spine slumps back against the leather cushion, and the deep lines of stress etched into her forehead melt away into an expression of absolute, blank euphoria. The demonic magic floods her nervous system, dissolving her anxiety, her pride, and her inhibitions all at once.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="SophiaBreakQuest1P4">
<img src="assets/Locations/House/sophia_office.webp">
<span>Continue</span>
</a>
</div>
<</replace>>
<</button>>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/sophia_office.webp')"></div>
<div class="location-ui">
<<text "In her deep hypnotic trance, Sophia’s body goes completely limp against her executive chair. Her breath hitches, slipping out of her lungs as a long, sensual, shuddering groan.">>
<<chat sophia "//(voice soft, dreamy, slurred)// Ahhh... ah... it’s... it’s so warm... my skin feels like it's burning... so hot...">>
<<text "Her hands move on their own, guided entirely by the dark warmth spreading through her blood. She doesn't realize who is standing in front of her, nor does her spell-bound mind register the taboo of what she is doing.">>
<<text "With slow, trembling, uncoordinated fingers, she reaches up to her chest. She undoes the fourth button of her thin silk blouse. Then the fifth. Then the last.">>
<<storyImg "assets/Quests/Sophia/BreakQuest1/unbutton.webp">>
<<chat sophia "So heavy... my chest feels so tight... please...">>
<<text "You bring your hands down, placing your palms directly over her bare, heavy breasts.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="SophiaBreakQuest1P5">
<img src="assets/Locations/House/sophia_office.webp">
<span>Continue</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/sophia_office.webp')"></div>
<div class="location-ui">
<<storyVideo "assets/Quests/Sophia/BreakQuest1/boobs_clip1.mp4">>
<<text "Sophia lets out a soft, needy whimper">>
<<chat sophia "//(slurred)// Please... make it stop burning...">>
<<text "Her skin is warm, buttery soft, and trembling under your hands. You cup her full weight, your fingers digging into her">>
<<chat sophia "Ooh! Ahhn... god... $playerName... Why are you doing this to your stepmother! Ahh- But its...">>>>
<<storyVideo "assets/Quests/Sophia/BreakQuest1/boobs_clip2.mp4">>
<<chat sophia "Mmm... so good... don't stop...">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="SophiaBreakQuest1P6">
<img src="assets/Locations/House/sophia_office.webp">
<span>Continue</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/sophia_office.webp')"></div>
<div class="location-ui">
<<text "A sharp shiver runs through her entire frame. Her hips twitch forward against the leather seat, her fingernails clutching tightly into the fabric.">>
<<storyVideo "assets/Quests/Sophia/BreakQuest1/boobs_clip3.mp4">>
<<chat sophia "I'm your stepmother, $playerName... There are boundaries... Ahh! You are taking it too far!">>
<<playerchat "Come on, Sophia. I'm just getting the reward I deserve. I saved your ass remember?">>
<<text "Sophia doesn't know how to respond. She is enjoying this.">>
<<playerchat "You really think 150$ was a fair trade after saving your entire firm?">>
<<storyVideo "assets/Quests/Sophia/BreakQuest1/boobs_clip4.mp4">>
<<text "Sophia whimpers at your every spank.">>
<<chat sophia "Aaaah- Okay, $playerName. Ahh, stop! I'm sorry, I'm sorry...">>
<div class="choice-buttons" id="sophia_choices">
<<button "Make your demands while she's hypnotized.">>
<<replace "#sophia_choices">>
<<playerchat "Sophia, you will no longer hide your body around the house.">>
<<text "You continue to knead, squeeze, and stroke her bare breasts, marking her soft skin with your hands until she is dripping with sweat and gasping for air.">>
<<playerchat "Is that clear? I want to see you naked, Sophia, every time I can.">>
<<text "She tilts her chin up even further, her throat working as she lets out small, continuous, breathless moans.">>
<<chat sophia "Yes, $playerName. For you.">>
<<playerchat "Repeat it for me.">>
<<chat sophia "I, Sophia, will no longer hide my body around the house.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="SophiaBreakQuest1P7">
<img src="assets/Locations/House/sophia_office.webp">
<span>Continue</span>
</a>
</div>
<</replace>>
<</button>>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/sophia_office.webp')"></div>
<div class="location-ui">
<<text "The hypnotic trance begins to lift. Sophia blinks rapidly, her dark, dilated pupils shrinking back to normal as clarity floods her mind. She gasps, taking a sharp breath as she stands up.">>
<<text "Her mind clears entirely—and she looks down at herself.">>
<<storyImg "assets/Quests/Sophia/BreakQuest1/naked.webp">>
<<text "Under normal circumstances, she would scream, slap you, and throw you out of the house. But Lilith's spell has permanently rewired her moral architecture. Her mind integrates the memory not as a horrific violation, but as a completely natural, deeply satisfying, and acceptable dynamic between the two of you.">>
<<text "She doesn't cover herself in shame. She doesn't raise her voice.">>
<<chat sophia "//(voice soft, husky, slightly breathless)// I... well. I guess I let my guard down a little too much tonight, didn't I?">>
<<text "She rests her elbow on the desk, propping her chin in her hand, her eyes trailing up and down your body with a lingering, provocative warmth she has never shown you before.">>
<<chat sophia "You've seen me... like this now. You've had your hands all over me... I suppose there's really no point in keeping my formal distance from you anymore...">>
<<include "SophiaBreakQuest1Complete">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="UpstairsHallwayDecider">
<img src="assets/Locations/House/upstairs_hallway.webp">
<span>Leave</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/sophia_bedroom.webp')"></div>
<div class="location-title">The Missing Jewel</div>
<div class="location-ui">
<<text "You push Sophia's door open. The lamp on her nightstand is on, casting a warm yellow glow across the room. Sophia is sitting on the edge of her bed, fully dressed in a cute tanktop and white shorts. But something is off. Her hair is a mess, her eyes are red and puffy, and her hands are shaking.">>
<<text "There's a bottle of scotch on the nightstand, half gone. A glass beside it, empty. And in her lap, the wooden jewelry box from the attic. The lid is open.">>
<<storyImg "assets/Quests/Sophia/BreakQuest2/sophia_crying.webp">>
<<text "She's crying. Not the quiet, controlled tears she shed after Marcus. This is messy. Ugly. She looks like she's been crying for hours.">>
<<chat sophia "//(slurring slightly)// I looked everywhere. Everywhere, $playerName. It's not here. It's not..." >>
<<text "She doesn't even look up at you. She's too far gone.">>
<<playerchat "Sophia. What's wrong? What's missing?">>
<<text "She holds up the box with shaking hands. Inside are a few pieces of old jewelry — a pearl necklace, a tarnished brooch, a pair of earrings. But there's an empty velvet slot in the middle. You can see the faint outline of something round that used to sit there.">>
<<chat sophia "My mother's locket. It was right here. And now..." >>
<<text "She chokes on the words. A fresh wave of tears spills down her cheeks. She presses the back of her hand to her mouth.">>
<<chat sophia "It's all I had left of her. Just that one thing. I didn't even get to show it to anyone.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="SophiaBreakQuest2P2">
<img src="assets/Locations/House/sophia_bedroom.webp">
<span>Comfort her</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/sophia_bedroom.webp')"></div>
<div class="location-ui">
<<text "You sit down on the bed beside her. She doesn't pull away. She doesn't even seem to notice. Her tits rise and fall with a shuddering breath.">>
<<playerchat "Hey. Look at me.">>
<<text "She lifts her head slowly. Her eyes are red, glassy, unfocused.">>
<<chat sophia "I'm sorry. I'm a mess. You shouldn't have to see me like this.">>
<<playerchat "I don't care about that. Tell me about her. Your mother.">>
<<text "She stares at you for a long moment. Then she looks down at the box in her hands.">>
<<chat sophia "She died when I was sixteen. Cancer. It was fast. They gave her six months and she lasted three.">>
<<text "She swallows hard. Her voice is hoarse, cracking.">>
<<chat sophia "She gave me that locket the week before she went. Told me it was her grandmother's. Told me to keep it close. That as long as I had it, I'd always have a piece of her.">>
<<chat sophia "I wore it every day for years. Through college. Through my first job. Through..." >>
<<text "She pauses. Her fingers trace the empty velvet slot.">>
<<chat sophia "Through my marriage to Marcus. Through all of it.">>
<<playerchat "What happened to it?">>
<<text "She shakes her head.">>
<<chat sophia "I put it in the box when I moved in here. I thought it was safe. I thought I was being careful.">>
<<text "A fresh tear rolls down her cheek and disappears into her cleavage.">>
<<chat sophia "And now it's gone. And I'm sitting here drinking scotch like some pathetic widow, crying over a piece of metal.">>
<<playerchat "It's not just a piece of metal. It's your mother's.">>
<<text "She looks at you. Really looks. For the first time since you walked in, her eyes are focused.">>
<<chat sophia "You understand that? No one else in this house understands that. Clair thinks I'm cold. Nicole thinks I'm scary. And you..." >>
<<text "You remember something. Lilith knew about the box. She told you about it. She was up in the attic that night Sophia found it.">>
<<playerchat "Sophia. I think I know where it might be.">>
<<storyImg "assets/Quests/Sophia/BreakQuest2/sophia_curious.webp">>
<<text "She blinks at you.">>
<<chat sophia "What? Where?">>
<<playerchat "I'll try to find it. Don't worry. We'll get it back.">>
<<set $CharQuests.sophia.sophiaBreakQuest2.step = 2>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="UpstairsHallway">
<img src="assets/Locations/House/upstairs_hallway.webp">
<span>Leave</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/attic.webp')"></div>
<div class="location-ui">
<<text "You climb the ladder into the attic. It's dark except for the flickering candles around Lilith's cushions.">>
<<storyImg "assets/Quests/Sophia/BreakQuest2/lilith_laying.webp">>
<<text "Lilith is lounging, naked as always, her dark hair spilling over her tits. She smiles when she sees you.">>
<<chat lilith "Back so soon, little thief? You must be running out of ways to entertain yourself.">>
<<playerchat "Where is it, Lilith? The locket.">>
<<text "Her smile widens. She doesn't even try to look innocent.">>
<<storyImg "assets/Quests/Sophia/BreakQuest2/lilith_talk_icon.webp">>
<<chat lilith "Oh, that little golden thing? I found it in the box. I was bored.">>
<<text "The golden locket swings back and forth on its chain around Lilith's neck, catching the candlelight. It's beautiful. Delicate. Old.">>
<<chat lilith "It looks so pretty against my skin. See?">>
<<text "She presses the locket between her tits. She watches you with those purple eyes, waiting to see if you'll flinch.">>
<<playerchat "Give it here.">>
<<text "She pouts.">>
<<chat lilith "You're no fun. You know that?">>
<<text "She holds it out. You take it. The locket is warm from her body. Lilith doesn't resist at all — she just watches you with that predatory smile.">>
<<chat lilith "She's been crying over it, hasn't she? The poor thing. All that grief, locked up in her chest.">>
<<text "Lilith's tits bounce as she adjusts herself on the cushions, her nipples hard in the warm attic air.">>
<<chat lilith "I could feel it from up here. Her misery. It tastes... interesting. Like a fine wine. Old pain, layered with years of silence.">>
<<text "She pauses, and her smile turns into something almost thoughtful.">>
<<chat lilith "You know, grief like that can break a person open, $playerName. Or it can melt them. Soften them. Make them do things they'd never do sober.">>
<<text "Her eyes flash purple.">>
<<chat lilith "I wonder which kind she is.">>
<<set $CharQuests.sophia.sophiaBreakQuest2.step = 3>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="YourRoom">
<img src="assets/Locations/House/your_room.webp">
<span>Leave</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/sophia_bedroom.webp')"></div>
<div class="location-ui">
<<text "You push Sophia's door open and step inside. She's still on the bed, but she's slumped sideways now, her blouse slipping off one shoulder. The bottle of scotch is almost empty.">>
<<storyImg "assets/Quests/Sophia/BreakQuest2/sophia_flash.webp">>
<<text "Her tits are rising and falling under the top.">>
<<playerchat "I found it.">>
<<text "She jerks upright so fast her tits bounce. Her eyes are wide, desperate.">>
<<chat sophia "What? You... you found it? Where? How?">>
<<text "You hold up the locket. The golden chain dangles from your fingers, catching the light.">>
<<storyImg "assets/Quests/Sophia/BreakQuest2/sophia_happy.webp">>
<<text "Sophia stares at it like she's seeing a ghost.">>
<<chat sophia "That's... that's it. That's my mother's locket. Where did you...">>
<<playerchat "Doesn't matter. It's yours.">>
<<text "You walk over to the bed and press the locket into her hand. Her fingers close around it like she's afraid it'll disappear again.">>
<<text "And then she breaks.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="SophiaBreakQuest2P5">
<img src="assets/Locations/House/sophia_bedroom.webp">
<span>Hold her</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/sophia_bedroom.webp')"></div>
<div class="location-ui">
<<text "She looks at the locket for a long, silent moment. Her hands are trembling. Her breath is coming in shallow, broken gasps.">>
<<text "And then she starts to cry. Really cry. The kind of sobbing that shakes her whole body, the kind that comes from somewhere deep and has been waiting years to come out.">>
<<chat sophia "//(sobbing)// I thought it was gone forever. I thought I lost the last piece of her.">>
<<text "She clutches the locket to her chest. Her tits are heaving. Her blouse is almost fully open now.">>
<<storyImg "assets/Quests/Sophia/BreakQuest2/sophia_boobs.webp">>
<<chat sophia "You didn't have to do this. You didn't have to care.">>
<<text "You sit down on the bed beside her. You put a hand on her back. She shudders at the touch.">>
<<playerchat "I care, Sophia. More than you know.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="SophiaBreakQuest2P6">
<img src="assets/Locations/House/sophia_bedroom.webp">
<span>Lean in</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/sophia_bedroom.webp')"></div>
<div class="location-ui">
<<text "She doesn't answer. She looks at you — red-eyed, wrecked, breathing through her mouth — and then she very carefully sets the locket down on the nightstand beside the glass. Like she doesn't trust herself to hold it.">>
<<text "Then she sits back, wipes her face with both hands, and laughs. Wet. Shaky. Ugly.">>
<<chat sophia "God. Look at me. Crying like a baby... You must think I'm pathetic. I need to repay you somehow...">>
<<playerchat "Then do something about it. Take your top off.">>
<<text "That shuts her up. She blinks at you, then her hands go to the hem.">>
<<storyVideo "assets/Quests/Sophia/BreakQuest2/clip1.mp4">>
<<chat sophia "There. Happy?">>
<<playerchat "Not yet. Get the rest off.">>
<<text "She's still holding the top bunched at her collarbone, tits bare, and the confidence is pure performance — her hands are shaking.">>
<<chat sophia "You're bossy when a girl's crying.">>
<<playerchat "You like it.">>
<<chat sophia "I do.">>
<<storyVideo "assets/Quests/Sophia/BreakQuest2/clip2.mp4">>
<<text "She pulls the top over her head and throws it. It lands in a heap by the bed. The bra follows, snapped off one shoulder and tossed after it.">>
<<text "Topless in her white shorts. Something in her face has changed — She feels more alive. More happy. More like herself.">>
<<chat sophia "Come here. No — wait. Stay there.">>
<<storyVideo "assets/Quests/Sophia/BreakQuest2/clip3.mp4">>
<<text "She turns around. Knees up on the mattress, back to you, thumbs in the waistband.">>
<<text "She takes her time. Drags them down an inch at a time, arching her back, looking over her shoulder to make sure you're watching.">>
<<playerchat "Slower. Let me look at it.">>
<<chat sophia "It's just an ass. You've seen an ass before.">>
<<playerchat "Not that one.">>
<<text "She gets the shorts to her knees and stops there, then brings her hand down flat on her own ass with a crack that makes you jump.">>
<<storyVideo "assets/Quests/Sophia/BreakQuest2/clip4.mp4">>
<<chat sophia "Two hours. Two hours I've been sitting on this bed feeling sorry for myself.">>
<<playerchat "And now you're spanking yourself in front of me.">>
<<chat sophia "Yeah. Well. Something worked.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="SophiaBreakQuest2P7">
<img src="assets/Locations/House/sophia_bedroom.webp">
<span>Keep going</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/sophia_bedroom.webp')"></div>
<div class="location-ui">
<<text "She turns back over, kicks her legs out, lies down flat. Then she takes the shorts and the panties both in her fists and pulls — one hard motion, down her legs, off her ankles, gone.">>
<<storyVideo "assets/Quests/Sophia/BreakQuest2/clip5.mp4">>
<<text "Her pussy is right there. Pink, already wet. She lets her knees fall apart and doesn't cover a thing.">>
<<chat sophia "Well?">>
<<playerchat "Spread them wider.">>
<<text "She does. Cheeks going red.">>
<<chat sophia "Happy now?">>
<<playerchat "Getting there.">>
<<text "She cups her own tits and rolls her nipples between her fingers, arching into her own hands, hips shifting on the mattress.">>
<<storyVideo "assets/Quests/Sophia/BreakQuest2/clip6.mp4">>
<<chat sophia "I hate this. I hate that you're seeing me like this.">>
<<playerchat "You keep saying that and then keep taking things off.">>
<<chat sophia "Because I'm drunk and sad and my hands won't stay still. It's not a strategy.">>
<<text "She pulls harder at her nipples. Her breath hitches.">>
<<chat sophia "Okay. Maybe it's a little bit of a strategy.">>
<<text "One hand slides down her stomach and between her legs. She starts working herself fast and hard, like she's got something to prove.">>
<<storyVideo "assets/Quests/Sophia/BreakQuest2/clip7.mp4">>
<<text "The room fills with the sound. Wet, quick, obscene. Her thighs twitch. Her eyes close.">>
<<playerchat "Look at that. You're soaked.">>
<<chat sophia "Yeah — shut up—">>
<<playerchat "You've been wet since I walked in?">>
<<chat sophia "Since before that. Since the door— fuck, since the door opened.">>
<<text "She pulls her hand out, wipes it on the sheet, and reaches for you.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="SophiaBreakQuest2P8">
<img src="assets/Locations/House/sophia_bedroom.webp">
<span>Let her take it</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/sophia_bedroom.webp')"></div>
<div class="location-ui">
<<text "She shoves you down onto your back. Then she's over you, straddling your thigh, tits hanging, fingers at the drawstring of your sweatpants.">>
<<storyVideo "assets/Quests/Sophia/BreakQuest2/clip8.mp4">>
<<text "She works it loose. Slurring, uncoordinated, cursing.">>
<<chat sophia "These stupid fucking pants—">>
<<playerchat "Rip them.">>
<<chat sophia "I'm not ripping your—">>
<<playerchat "Then hurry up.">>
<<text "She gets them open and shoves them down your hips.">>
<<text "Her hand closes around your cock and stops dead. She looks down at it. Then up at you. Then back down, and laughs — a real one, startled out of her.">>
<<storyVideo "assets/Quests/Sophia/BreakQuest2/clip9.mp4">>
<<chat sophia "Oh my god. Look at you.">>
<<playerchat "Yeah. That's what you do.">>
<<chat sophia "Rock hard. The whole time. You sat there like a gentleman and you were like this.">>
<<playerchat "You were crying with your tits out. What did you expect?">>
<<text "She gives it one slow stroke, root to tip, watching your face while she does it.">>
<<chat sophia "You're a menace.">>
<<playerchat "Stroke it.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="SophiaBreakQuest2P9">
<img src="assets/Locations/House/sophia_bedroom.webp">
<span>Keep her going</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/sophia_bedroom.webp')"></div>
<div class="location-ui">
<<text "Slow. Deliberate. A loose fist and all of it, dragging up, twisting a little at the head, then back down. Her eyes don't leave your face. She's cataloguing you.">>
<<storyVideo "assets/Quests/Sophia/BreakQuest2/clip10.mp4">>
<<chat sophia "Tell me what you like. I'm not psychic.">>
<<playerchat "Tighter. And don't slow down.">>
<<chat sophia "That's what I thought.">>
<<text "She speeds up. Tighter grip, shorter strokes, wrist doing the work. The sound gets wetter. Your hips move without permission.">>
<<storyVideo "assets/Quests/Sophia/BreakQuest2/clip11.mp4">>
<<chat sophia "Yeah? There it is. God, you're easy.">>
<<playerchat "Says the woman grinding on my leg.">>
<<text "Her tits sway over you with every stroke. She's biting her lip, breathing through her nose, watching you come apart with something close to hunger.">>
<<storyVideo "assets/Quests/Sophia/BreakQuest2/clip12.mp4">>
<<text "Then the other hand joins. Two fists, one stacked over the other, working the whole length — and she starts rocking. Grinding her bare pussy down on your thigh, slow, getting herself off against you while she does it.">>
<<playerchat "Fuck — you're leaving a mess on me.">>
<<chat sophia "Good. Wear it.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="SophiaBreakQuest2P10">
<img src="assets/Locations/House/sophia_bedroom.webp">
<span>Push her</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/sophia_bedroom.webp')"></div>
<div class="location-ui">
<<text "The rocking gets harder. Less rhythm, more need. She drags her cunt along your thigh and leaves it slick, and every time she hits a good spot her whole grip clenches around you.">>
<<storyVideo "assets/Quests/Sophia/BreakQuest2/clip13.mp4">>
<<chat sophia "Fuck, fuck, fuck—">>
<<text "Her hair is stuck to her forehead. Her eyes are glassy for a completely different reason now.">>
<<playerchat "Stop teasing and do it properly.">>
<<text "She leans forward and spits. It lands on the head and she works it down with both hands, spreading it, and the glide goes from good to filthy in about a second.">>
<<storyVideo "assets/Quests/Sophia/BreakQuest2/clip14_spit.mp4">>
<<chat sophia "There. Better. God, look at it.">>
<<text "She's leaning right over it now, close enough that her hair brushes your hip, looking up at you through the mess.">>
<<chat sophia "You're so hard it looks like it hurts. Does it hurt?">>
<<playerchat "Yeah.">>
<<chat sophia "Good.">>
<<storyVideo "assets/Quests/Sophia/BreakQuest2/clip15.mp4">>
<<text "She goes fast. Really fast. Both hands flying, spit everywhere, tits bouncing with the effort, breath coming in short angry bursts.">>
<<text "Your hand fists in the sheet. Your back bows.">>
<<playerchat "Sophia—">>
<<chat sophia "Don't come. Don't come — one more thing, just one—">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="SophiaBreakQuest2P11">
<img src="assets/Locations/House/sophia_bedroom.webp">
<span>Hold on</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/sophia_bedroom.webp')"></div>
<div class="location-ui">
<<text "She shifts down and swings her leg over yours, slotting them together, her knee tucked under. Legs to legs, both spread, side by side.">>
<<storyVideo "assets/Quests/Sophia/BreakQuest2/clip16.mp4">>
<<text "One hand back on your cock — slow again. The other between her own legs.">>
<<chat sophia "There. Now we do it together. Like teenagers.">>
<<playerchat "Get your fingers in. All the way.">>
<<chat sophia "Already— oh.">>
<<text "You can hear hers. Two fingers, fast and greedy, right next to your hip. She's so wet it's running down onto the sheet.">>
<<storyVideo "assets/Quests/Sophia/BreakQuest2/clip17.mp4">>
<<text "She pushes them in deeper. Curls them. Her jaw drops open and her hand on your cock falters for half a second before she catches herself and keeps going.">>
<<chat sophia "Oh — oh, fuck, that's—">>
<<playerchat "Keep it on my cock. Don't stop.">>
<<chat sophia "I'm not — I'm not stopping —">>
<<text "She's close. You can hear it in her throat. Her hand's getting sloppy and she knows it and she doesn't stop.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="SophiaBreakQuest2P12">
<img src="assets/Locations/House/sophia_bedroom.webp">
<span>She's right there</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/sophia_bedroom.webp')"></div>
<div class="location-ui">
<<text "She gets there first. Her hand on your cock goes still and clamps down, her back bowing off the mattress, and she makes a sound she'll probably be embarrassed about tomorrow.">>
<<text "Her fingers are still buried in herself. Her thighs clamp shut around her own hand. She shudders through it with her mouth open and her eyes screwed shut, and then she goes limp, chest heaving.">>
<<chat sophia "Oh my god. Oh my god.">>
<<playerchat "Get up. On your knees.">>
<<text "She doesn't argue. She rolls off the mattress onto the floor and settles back on her heels, looking up at you, still catching her breath, hair everywhere.">>
<<storyImg "assets/Quests/Sophia/BreakQuest2/sophia_kneeling.webp">>
<<text "You stand up over her. She shuffles forward on her knees and takes your cock back in both hands without being told, and her mouth is already open before you're all the way in position.">>
<<chat sophia "Come on. Do it. I want it on my face.">>
<<text "Both fists, fast and tight, and she's tilted her head back and she's not blinking — she's watching it come toward her.">>
<<chat sophia "Give it to me—">>
<<text "You come. It hits her across the cheek first and she flinches and then holds still for the rest, one hand still working you, milking it out.">>
<<storyVideo "assets/Quests/Sophia/BreakQuest2/cum1.mp4">>
<<text "There's a lot of it. Across her cheek, over her mouth, catching in her eyelashes, dripping off her chin onto her tits. She keeps stroking until you hiss and bat her hand away.">>
<<storyVideo "assets/Quests/Sophia/BreakQuest2/cum2.mp4">>
<<text "She stays exactly where she is. On her knees, covered, blinking through it, and then she grins — wide and stupid and completely unbothered, cum running down her face.">>
<<chat sophia "Fuck. Look at the state of me.">>
<<playerchat "Suits you.">>
<<chat sophia "Yeah?">>
<<text "She wipes two fingers through the mess on her cheek, looks at it, and licks them clean while she's looking up at you.">>
<<set $sophiaLustBreak to 3>>
<<addLust 5 sophia>>
<<addRel 8 sophia>>
<<set $CharQuests.sophia.sophiaBreakQuest2.status to "completed">>
<<advancetime 90>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="UpstairsHallway">
<img src="assets/Locations/House/upstairs_hallway.webp">
<span>Leave</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/kitchen.webp')"></div>
<div class="location-title">Naked Breakfast</div>
<div class="location-ui">
<<text "The kitchen smells like coffee and something burning. Sophia is at the stove, wearing nothing but an apron, frantically trying to salvage a pan of blackened bacon while simultaneously stirring a pot of oatmeal that's bubbling over.">>
<<chat sophia "Fuck. Fuck. Fuck.">>
<<text "She hasn't noticed you yet. Her ass is fully visible, swaying as she shifts from one foot to the other, trying to save two things at once.">>
<<storyImg "assets/Quests/Sophia/BreakfastUnlockQuest/sophia_apron_panic.webp">>
<<playerchat "Need a hand?">>
<<text "She spins around, spatula raised like a weapon. Her tits sway with the motion, barely contained by the apron.">>
<<chat sophia "Don't sneak up on me! I'm in the middle of a crisis!">>
<<storyImg "assets/Quests/Sophia/BreakfastUnlockQuest/sophia_angry.webp">>
<<playerchat "I can see that. The bacon is on fire.">>
<<chat sophia "I KNOW THE BACON IS ON FIRE!">>
<<text "She turns back to the stove, but it's too late. The bacon is beyond saving. She groans and slams the pan onto the counter.">>
<<chat sophia "Sophia Kane does not burn breakfast. This is humiliating.">>
<<playerchat "Sophia Kane also doesn't cook breakfast naked. First time for everything.">>
<<text "She glares at you over her shoulder, but there's a hint of a smile there.">>
<<chat sophia "You're not helping.">>
<<playerchat "I could. If you let me.">>
<<text "She sighs, stepping back from the stove and gesturing vaguely at the mess.">>
<<chat sophia "Fine. The oatmeal is salvageable. The bacon is dead. The toast is... somewhere. I was going to make eggs, but I got distracted.">>
<<playerchat "By what?">>
<<chat sophia "By everything. This morning has been a disaster. I woke up late, I forgot I had a breakfast meeting, and now I'm standing in my kitchen naked while my stepson watches me fail at basic domestic tasks.">>
<<text "She crosses her arms under her tits, pushing them up. The apron dips dangerously low.">>
<<chat sophia "So. What's the plan, chef?">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="SophiaBreakfastP2">
<img src="assets/Quests/Sophia/BreakfastUnlockQuest/take_charge.webp">
<span>Take charge</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/kitchen.webp')"></div>
<div class="location-ui">
<<text "You step up beside her, surveying the damage. The oatmeal is thick but edible. The bacon is a lost cause. There's a loaf of bread on the counter, half-sliced.">>
<<playerchat "Okay. Here's what we do. You finish the oatmeal. I'll handle the eggs and toast.">>
<<chat sophia "You can cook?">>
<<playerchat "I can make eggs. It's not rocket science.">>
<<text "She looks at you for a moment, then nods, stepping aside to give you room at the stove. Her bare hip brushes against yours as she moves. Neither of you acknowledges it.">>
<<storyImg "assets/Quests/Sophia/BreakfastUnlockQuest/take_charge.webp">>
<<text "You crack the eggs into a bowl and whisk them while Sophia stirs the oatmeal. The kitchen settles into a rhythm. It's almost domestic. Almost normal.">>
<<text "Then she reaches past you for the salt, and her tits press against your arm. Her nipples are hard. You can feel them through the apron.">>
<<storyImg "assets/Quests/Sophia/BreakfastUnlockQuest/sophia_hot.webp">>
<<chat sophia "Sorry. Small kitchen.">>
<<playerchat "No problem.">>
<<text "She doesn't move away. Her hand lingers on the counter beside yours.">>
<<chat sophia "You're good at this. The eggs look perfect.">>
<<playerchat "I told you. Not rocket science.">>
<<text "She's standing very close now. Close enough that you can feel the heat coming off her skin. Her apron is tied at the waist, the strings loose. One tug and it would fall.">>
<<storyImg "assets/Quests/Sophia/BreakfastUnlockQuest/bent_over.webp">>
<div class="choice-buttons" id="breakfast_choices">
<<button "Slap her ass">>
<<replace "#breakfast_choices">>
<<text "You reach around and deliver a sharp smack to her bare ass. The sound echoes through the kitchen. Sophia yelps, dropping her spoon.">>
<<storyVideo "assets/Quests/Sophia/BreakfastUnlockQuest/slap1.mp4">>
<<chat sophia "What the fuck?! You can't just—oh my god.">>
<<text "She's blushing furiously, her hand pressed to her ass. But she's not angry. She's flustered. Her thighs press together.">>
<<chat sophia "You're supposed to be cooking.">>
<<playerchat "I am cooking. You're the one who can't keep her hands to herself.">>
<<addRel 1 sophia>>
<<addLust 3 sophia>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="SophiaBreakfastP3">
<img src="assets/Quests/Sophia/BreakfastUnlockQuest/bent_over.webp">
<span>Continue cooking</span>
</a>
</div>
<</replace>>
<</button>>
<<button "Pull her apron string">>
<<replace "#breakfast_choices">>
<<text "You reach for the strings at her waist and give them a gentle tug. The knot comes loose. The apron slips.">>
<<storyImg "assets/Quests/Sophia/BreakfastUnlockQuest/sophia_naked.webp">>
<<chat sophia "Hey!">>
<<storyImg "assets/Quests/Sophia/BreakfastUnlockQuest/sophia_standing.webp">>
<<chat sophia "You're going to pay for that.">>
<<playerchat "Promise?">>
<<text "She glares at you, but her lips twitch. She ties the apron again—tighter this time—and turns back to the oatmeal.">>
<<chat sophia "Focus. We have a breakfast to finish.">>
<<addRel 1 sophia>>
<<addLust 2 sophia>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="SophiaBreakfastP3">
<img src="assets/Quests/Sophia/BreakfastUnlockQuest/bent_over.webp">
<span>Continue cooking</span>
</a>
</div>
<</replace>>
<</button>>
<<button "Keep cooking">>
<<replace "#breakfast_choices">>
<<text "You ignore the tension and focus on the eggs. Sophia watches you for a moment, then goes back to her oatmeal.">>
<<chat sophia "You're no fun.">>
<<playerchat "I'm practical. There's a difference.">>
<<addRel -1 sophia>>
<<addLust -1 sophia>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="SophiaBreakfastP3">
<img src="assets/Quests/Sophia/BreakfastUnlockQuest/bent_over.webp">
<span>Continue cooking</span>
</a>
</div>
<</replace>>
<</button>>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/kitchen.webp')"></div>
<div class="location-ui">
<<text "The eggs are done. The toast is buttered. The oatmeal is... oatmeal. Sophia has set the table and is now standing at the counter, looking at the spread with a critical eye.">>
<<chat sophia "It's not perfect. But it's breakfast. I'll take it.">>
<<text "She turns to you, and the apron shifts. She's still naked underneath. You can see the curve of her hip, the outline of her pussy through the thin fabric.">>
<<storyImg "assets/Quests/Sophia/BreakfastUnlockQuest/sophia.webp">>
<<chat sophia "You're staring again.">>
<<playerchat "You're still naked.">>
<<chat sophia "You're still staring.">>
<<text "She walks toward you, her hips swaying. The apron barely moves. Her tits bounce with every step.">>
<<chat sophia "I have a meeting in an hour. I need to eat. I need to shower. I need to get dressed.">>
<<text "She stops inches from you. Her hand reaches out and rests on your chest.">>
<<chat sophia "But I also need to thank you. For saving breakfast. For... everything else.">>
<<set $CharQuests.sophia.sophiaBreakfastUnlockQuest.status to "completed">>
<<set $SophiaBreakfastUnlock to true>>
<<advancetime 60>>
<div class="choice-buttons" id="breakfast_end_choices">
<<button "Kiss her">>
<<replace "#breakfast_end_choices">>
<<text "You close the gap and press your lips to hers. She melts into it, her hand sliding up to your neck, her body pressing against yours. The apron is the only thing between you.">>
<<storyVideo "assets/Quests/Sophia/BreakfastUnlockQuest/kiss.mp4">>
<<chat sophia "Fuck. That was... hot.">>
<<text "She pulls away, her face flushed, her lips swollen. She's breathing hard.">>
<<chat sophia "I need to get ready. Eat your breakfast. We'll talk later.">>
<<addRel 2 sophia>>
<<addLust 4 sophia>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="DownstairsHallway">
<img src="assets/Locations/House/downstairs_hallway.webp">
<span>Leave</span>
</a>
</div>
<</replace>>
<</button>>
<<button "Slap her ass again">>
<<replace "#breakfast_end_choices">>
<<text "You reach around and smack her ass. Harder this time. She gasps, her body jolting forward.">>
<<storyVideo "assets/Quests/Sophia/BreakfastUnlockQuest/slap2.mp4">>
<<chat sophia "You're insatiable.">>
<<playerchat "You're addictive.">>
<<text "She laughs, a real laugh, and steps back.">>
<<chat sophia "I really do need to get ready.">>
<<addRel 2 sophia>>
<<addLust 3 sophia>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="DownstairsHallway">
<img src="assets/Locations/House/downstairs_hallway.webp">
<span>Leave</span>
</a>
</div>
<</replace>>
<</button>>
<<button "Step back and let her go">>
<<replace "#breakfast_end_choices">>
<<text "You take a step back, giving her space. She looks surprised, then... something else. Disappointed? Relieved? You can't tell.">>
<<playerchat "You should get ready. The breakfast will keep.">>
<<chat sophia "Right. Yes. That's... practical.">>
<<text "She stares at you for a moment longer, then turns and walks toward the stairs.">>
<<addRel -1 sophia>>
<<addLust -1 sophia>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="DownstairsHallway">
<img src="assets/Locations/House/downstairs_hallway.webp">
<span>Leave</span>
</a>
</div>
<</replace>>
<</button>>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/livingroom.webp')"></div>
<div class="location-title">The Old Photo</div>
<div class="location-ui">
<<text "You walk into the living room. Sophia is there, wearing a tight skirt, bent over the table organizing boxes.">>
<<storyVideo "assets/Quests/Sophia/EventQuest1/sophia_bent.mp4">>
<<chat sophia "//(muttering under her breath)// Stupid old files. Why do I even keep these...">>
<<text "Sophia starts walking but...">>
<<text "Her heel catches on the edge of the Persian rug. She stumbles. The box slips from her hands.">>
<<text "CRASH.">>
<<text "Papers explode across the floor. Old folders, yellowed documents, and... a few photographs scattered among the mess. Sophia curses loudly.">>
<<chat sophia "Fuck! Of course. Of course today.">>
<<text "She drops to her knees, frantically gathering papers. Her skirt rides up her thighs. You get a clear view of her ass.">>
<<storyImg "assets/Quests/Sophia/EventQuest1/bent_over_skirt.webp">>
<<playerchat "Need help?">>
<<text "She looks up, startled. She didn't know you were there.">>
<<chat sophia "Oh. It's you. No, I don't need help.”">>
<<text "Too late. You're already on your knees, gathering papers. She sighs heavily and keeps collecting.">>
<<text "You're both working in silence. Your hand brushes against a photograph. You pick it up without thinking.">>
<<text "You freeze.">>
<<storyImg "assets/Quests/Sophia/EventQuest1/old_photo1.webp">>
<<text "It's Sophia. Younger. She's on her knees, looking up at the camera while sucking a dick.">>
<<text "She looks... happy. Free. Wild. Nothing like the cold, professional woman you know.">>
<<text "You stare at it for a long moment. Your cock is rock hard. Your heart is pounding.">>
<<text "Then Sophia looks up. She sees you holding it. She sees your face.">>
<<advancetime 10>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="SophiaEventQuest1P2">
<img src="assets/Characters/Sophia/sophia_angry.webp">
<span>Confront her</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/livingroom.webp')"></div>
<div class="location-ui">
<<text "Sophia's face goes white. Then red. Her hands stop moving. She's staring at the photo in your hand like it's a bomb.">>
<<storyImg "assets/Characters/Sophia/sophia_angry.webp">>
<<playerchat "Sophia... what is this?">>
<<text "She snatches the photo out of your hand with a speed that startles you. She clutches it against her chest, crumpling it slightly.">>
<<chat sophia "What the fuck do you think you're doing?! That's my personal property!">>
<<playerchat "I was just helping you pick up">>
<<chat sophia "You don't get to look at my things! You don't get to snoop through my private belongings! What is wrong with you?!">>
<<text "Her voice is shrill. Her face is burning red. She's not just angry. She's humiliated. You've never seen her like this.">>
<<playerchat "I wasn't snooping. It fell out of the box.">>
<<chat sophia "I don't care! You shouldn't have looked! That's not for you to see!">>
<<chat sophia "Stay out of my things. Stay out of my life. That's none of your business.">>
<<text "She stands up, grabbing the box and clutching it against her chest. Her hands are shaking.">>
<<chat sophia "I mean it. Don't ever go through my stuff again.">>
<<text "She storms out of the living room, her heels clicking furiously against the floor. The front door slams shut a moment later. You're left standing alone with scattered papers and a very hard cock.">>
<<set $CharQuests.sophia.sophiaEventQuest1.step to 1>>
<<advancetime 10>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="Livingroom">
<img src="assets/Locations/House/livingroom.webp">
<span>Return</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/upstairs_hallway.webp')"></div>
<div class="location-ui">
<<text "Inside are dozens of photos. All of Sophia. All from the same era. Young. Wild. Free.">>
<<storyImg "assets/Quests/Sophia/EventQuest1/photos_spread.webp">>
<<text "You spread them across her bed. Your cock is already hard.">>
<<advancetime 5>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="SophiaEventQuest1P4">
<img src="assets/Quests/Sophia/EventQuest1/photos_spread.webp">
<span>Look through them</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/sophia_bedroom.webp')"></div>
<div class="location-ui">
<<text "The first photo is Sophia playing with her glasses. Topless. Her tits are perfect. Round. Full. Her nipples are hard.">>
<<storyImg "assets/Quests/Sophia/EventQuest1/sophia_topless.webp">>
<<text "Your cock twitches. You unzip your pants and pull it out. You start stroking slowly.">>
<<text "The next photo is Sophia undressing. Almost naked.">>
<<storyImg "assets/Quests/Sophia/EventQuest1/sophia_undressing.webp">>
<<text "You stroke faster. Precum drips down your shaft.">>
<<text "The next photo is Sophia in her underwear, bending over some man's dick.">>
<<storyImg "assets/Quests/Sophia/EventQuest1/sophia_bending.webp">>
<<text "You're breathing hard now. You're jerking off on Sophia's bed, surrounded by photos of her past. You can't stop.">>
<<text "There's more photos at the bottom of the pile. You pick them up. Your hand freezes.">>
<<storyImg "assets/Quests/Sophia/EventQuest1/sophia_rubbing.webp">>
<<storyImg "assets/Quests/Sophia/EventQuest1/sophia_suck1.webp">>
<<storyImg "assets/Quests/Sophia/EventQuest1/sophia_suck2.webp">>
<<storyImg "assets/Quests/Sophia/EventQuest1/sophia_suck3.webp">>
<<text "Then, looking at the next set of photo, you see Sophia full of cum.">>
<<storyImg "assets/Quests/Sophia/EventQuest1/sophia_cum1.webp">>
<<storyImg "assets/Quests/Sophia/EventQuest1/sophia_cum2.webp">>
<<storyImg "assets/Quests/Sophia/EventQuest1/sophia_cum3.webp">>
<<text "She's smiling. She looks happy. Really happy. You've never seen her smile like that.">>
<<text "Before you can process it, you hear footsteps in the hallway.">>
<<text "The door swings open.">>
<<text "Sophia is standing there. She's holding a bag of groceries. She sees the photos spread across her bed. She sees you. She sees your cock in your hand.">>
<<advancetime 20>>
<<text "The bag drops to the floor. Groceries spill everywhere.">>
<<chat sophia "WHAT THE FUCK?!">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="SophiaEventQuest1P5">
<img src="assets/Locations/House/sophia_bedroom.webp">
<span>Confrontation</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/sophia_bedroom.webp')"></div>
<div class="location-ui">
<<text "Sophia storms across the room. She's not just angry. She's furious. She's humiliated. Her face is red. Her hands are shaking.">>
<<chat sophia "Are you fucking kidding me?! You're jerking off in my room?! On my bed?! Looking at my private photos?!">>
<<text "She grabs the photos and shoves them back into the box. You tuck your cock away as fast as you can, but it's too late. She saw everything.">>
<<playerchat "Sophia, I can explain">>
<<chat sophia "You can explain?! You can EXPLAIN?! There's nothing to explain! You're a pervert! A fucking creep! You went through my things! You touched yourself to my photos!">>
<<text "She slams the box shut and shoves it into her closet.">>
<<chat sophia "Get out. Get the fuck out of my room. Right now.">>
<<playerchat "Who were you? In those photos?">>
<<text "She freezes. Her back is to you. She doesn't turn around.">>
<<chat sophia "That's none of your business.">>
<<playerchat "You were happy. You looked... free.">>
<<text "She turns around slowly. Her eyes are wet. But her voice is ice.">>
<<chat sophia "That life is over. That girl is dead. I'm a mother now. A stepmother. I have responsibilities. I have a family. I don't get to be that person anymore.">>
<<playerchat "Do you miss it?">>
<<text "She stares at you for a long moment. Then she looks away.">>
<<chat sophia "It doesn't matter what I miss. It doesn't matter what I want. That part of my life is behind me. It has to be.">>
<<text "She walks to the door and holds it open.">>
<<chat sophia "Get out. And if you ever go through my things again, I'll throw you out of this house myself. Understood?">>
<<text "You nod. You walk past her. You don't look back. You hear the door slam behind you.">>
<<set $CharQuests.sophia.sophiaEventQuest1.status to "completed">>
<<set $CharQuests.sophia.sophiaBreakQuest1.status to "active">>
<<addLust 1 sophia>>
<<advancetime 5>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="UpstairsHallway">
<img src="assets/Locations/House/upstairs_hallway.webp">
<span>Leave</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/City/city.webp')"></div>
<div class="location-ui">
<<text "She doesn't wait for permission. She takes you in her mouth, her tongue sliding along your shaft, her hand working the base. You grab her hair and push her down. She moans around your cock.">>
<<storyVideo "assets/Quests/Sophia/ExReturnsQuest/car_bj1.mp4">>
<<playerchat "That's it. Take it. Show me what he's been missing.">>
<<rchat "Jessica" "assets/Quests/Sophia/ExReturnsQuest/jessica.webp" "Mmph! Mmph— mm—">>
<<text "She pulls off, gasping for air.">>
<<rchat "Jessica" "assets/Quests/Sophia/ExReturnsQuest/jessica.webp" "You're gonna make me slobber all over your dick.">>
<<playerchat "That's the point.">>
<<storyVideo "assets/Quests/Sophia/ExReturnsQuest/car_bj2.mp4">>
<<playerchat "You like choking on it?">>
<<rchat "Jessica" "assets/Quests/Sophia/ExReturnsQuest/jessica.webp" "Mmhmm. Mmhmm.">>
<<rchat "Jessica" "assets/Quests/Sophia/ExReturnsQuest/jessica.webp" "God, my jaw's already sore.">>
<div class="location-grid">
<a class="loc-btn" data-passage="SophiaExReturnsQuestJessicaEating">
<img src="assets/Quests/Sophia/ExReturnsQuest/car_eating_icon.webp">
<span>Eat Out</span>
</a>
<a class="loc-btn" data-passage="SophiaExReturnsQuestJessicaMission">
<img src="assets/Quests/Sophia/ExReturnsQuest/car_mission_icon.webp">
<span>Missionary</span>
</a>
<a class="loc-btn" data-passage="SophiaExReturnsQuestJessicaCow">
<img src="assets/Quests/Sophia/ExReturnsQuest/car_cow_icon.webp">
<span>Cowgirl</span>
</a>
<a class="loc-btn" data-passage="SophiaExReturnsQuestJessicaReverseCow">
<img src="assets/Quests/Sophia/ExReturnsQuest/car_reverseCow_icon.webp">
<span>Reverse Cowgirl</span>
</a>
<a class="loc-btn" data-passage="SophiaExReturnsQuestJessicaSideways">
<img src="assets/Quests/Sophia/ExReturnsQuest/car_sideways_icon.webp">
<span>Sideways</span>
</a>
<a class="loc-btn" data-passage="SophiaExReturnsQuestJessicaDoggy">
<img src="assets/Quests/Sophia/ExReturnsQuest/car_doggy_icon.webp">
<span>Doggy</span>
</a>
<a class="loc-btn loc-btn--wide" data-passage="SophiaExReturnsQuestJessicaCum">
<img src="assets/Quests/Sophia/ExReturnsQuest/car_cum_icon.webp">
<span>Cum</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/City/city.webp')"></div>
<div class="location-ui">
<<playerchat "Spread your legs, Jessica, let me show you what this tounge can do.">>
<<text "She spreads without hesitation.">>
<<playerchat "I'm gonna eat you out on his leather seats.">>
<<rchat "Jessica" "assets/Quests/Sophia/ExReturnsQuest/jessica.webp" "Oh fuck. Okay. Okay.">>
<<storyVideo "assets/Quests/Sophia/ExReturnsQuest/car_eating1.mp4">>
<<text "She is dripping wet.">>
<<rchat "Jessica" "assets/Quests/Sophia/ExReturnsQuest/jessica.webp" "God, this is so good-">>
<<storyVideo "assets/Quests/Sophia/ExReturnsQuest/car_eating2.mp4">>
<<rchat "Jessica" "assets/Quests/Sophia/ExReturnsQuest/jessica.webp" "Yes, $playerName, you lick so good. Oh fuck-">>
<div class="location-grid">
<a class="loc-btn" data-passage="SophiaExReturnsQuestJessicaBlowjob">
<img src="assets/Quests/Sophia/ExReturnsQuest/car_blowjob_icon.webp">
<span>Blowjob</span>
</a>
<a class="loc-btn" data-passage="SophiaExReturnsQuestJessicaMission">
<img src="assets/Quests/Sophia/ExReturnsQuest/car_mission_icon.webp">
<span>Missionary</span>
</a>
<a class="loc-btn" data-passage="SophiaExReturnsQuestJessicaCow">
<img src="assets/Quests/Sophia/ExReturnsQuest/car_cow_icon.webp">
<span>Cowgirl</span>
</a>
<a class="loc-btn" data-passage="SophiaExReturnsQuestJessicaReverseCow">
<img src="assets/Quests/Sophia/ExReturnsQuest/car_reverseCow_icon.webp">
<span>Reverse Cowgirl</span>
</a>
<a class="loc-btn" data-passage="SophiaExReturnsQuestJessicaSideways">
<img src="assets/Quests/Sophia/ExReturnsQuest/car_sideways_icon.webp">
<span>Sideways</span>
</a>
<a class="loc-btn" data-passage="SophiaExReturnsQuestJessicaDoggy">
<img src="assets/Quests/Sophia/ExReturnsQuest/car_doggy_icon.webp">
<span>Doggy</span>
</a>
<a class="loc-btn loc-btn--wide" data-passage="SophiaExReturnsQuestJessicaCum">
<img src="assets/Quests/Sophia/ExReturnsQuest/car_cum_icon.webp">
<span>Cum</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/City/city.webp')"></div>
<div class="location-ui">
<<rchat "Jessica" "assets/Quests/Sophia/ExReturnsQuest/jessica.webp" "I want you to fuck me. Right here. In his rental car. I want to christen it. Make it mine.">>
<<storyVideo "assets/Quests/Sophia/ExReturnsQuest/car_mission1.mp4">>
<<rchat "Jessica" "assets/Quests/Sophia/ExReturnsQuest/jessica.webp" "Just put it in. Please.">>
<<text "You don't need to be told twice. You pull her dress up. She's not wearing panties. Her pussy is soaked. You push inside her.">>
<<rchat "Jessica" "assets/Quests/Sophia/ExReturnsQuest/jessica.webp" "It's so deep like this!">>
<<playerchat "That's the point. Every inch.">>
<<storyVideo "assets/Quests/Sophia/ExReturnsQuest/car_mission2.mp4">>
<<rchat "Jessica" "assets/Quests/Sophia/ExReturnsQuest/jessica.webp" "Oh fuck! Oh fuck yes! Harder! Fuck me like you hate him!">>
<<text "You fuck her hard. The car rocks on all sides.">>
<<storyVideo "assets/Quests/Sophia/ExReturnsQuest/car_mission3.mp4">>
<<rchat "Jessica" "assets/Quests/Sophia/ExReturnsQuest/jessica.webp" "Ahh! Fuck! The seat's squeaking!">>
<div class="location-grid">
<a class="loc-btn" data-passage="SophiaExReturnsQuestJessicaBlowjob">
<img src="assets/Quests/Sophia/ExReturnsQuest/car_blowjob_icon.webp">
<span>Blowjob</span>
</a>
<a class="loc-btn" data-passage="SophiaExReturnsQuestJessicaEating">
<img src="assets/Quests/Sophia/ExReturnsQuest/car_eating_icon.webp">
<span>Eat Out</span>
</a>
<a class="loc-btn" data-passage="SophiaExReturnsQuestJessicaCow">
<img src="assets/Quests/Sophia/ExReturnsQuest/car_cow_icon.webp">
<span>Cowgirl</span>
</a>
<a class="loc-btn" data-passage="SophiaExReturnsQuestJessicaReverseCow">
<img src="assets/Quests/Sophia/ExReturnsQuest/car_reverseCow_icon.webp">
<span>Reverse Cowgirl</span>
</a>
<a class="loc-btn" data-passage="SophiaExReturnsQuestJessicaSideways">
<img src="assets/Quests/Sophia/ExReturnsQuest/car_sideways_icon.webp">
<span>Sideways</span>
</a>
<a class="loc-btn" data-passage="SophiaExReturnsQuestJessicaDoggy">
<img src="assets/Quests/Sophia/ExReturnsQuest/car_doggy_icon.webp">
<span>Doggy</span>
</a>
<a class="loc-btn loc-btn--wide" data-passage="SophiaExReturnsQuestJessicaCum">
<img src="assets/Quests/Sophia/ExReturnsQuest/car_cum_icon.webp">
<span>Cum</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/City/city.webp')"></div>
<div class="location-ui">
<<playerchat "Get up here. Straddle me.">>
<<rchat "Jessica" "assets/Quests/Sophia/ExReturnsQuest/jessica.webp" "Oh fuck! Oh fuck, it's so deep from up here!">>
<<playerchat "There you go. Take it all.">>
<<storyVideo "assets/Quests/Sophia/ExReturnsQuest/car_cow1.mp4">>
<<rchat "Jessica" "assets/Quests/Sophia/ExReturnsQuest/jessica.webp" "Fuck— you're splitting me open!">>
<<playerchat "Bounce on it. Come on.">>
<<storyVideo "assets/Quests/Sophia/ExReturnsQuest/car_cow2.mp4">>
<<rchat "Jessica" "assets/Quests/Sophia/ExReturnsQuest/jessica.webp" "You are so much better then Marcus.">>
<div class="location-grid">
<a class="loc-btn" data-passage="SophiaExReturnsQuestJessicaBlowjob">
<img src="assets/Quests/Sophia/ExReturnsQuest/car_blowjob_icon.webp">
<span>Blowjob</span>
</a>
<a class="loc-btn" data-passage="SophiaExReturnsQuestJessicaEating">
<img src="assets/Quests/Sophia/ExReturnsQuest/car_eating_icon.webp">
<span>Eat Out</span>
</a>
<a class="loc-btn" data-passage="SophiaExReturnsQuestJessicaMission">
<img src="assets/Quests/Sophia/ExReturnsQuest/car_mission_icon.webp">
<span>Missionary</span>
</a>
<a class="loc-btn" data-passage="SophiaExReturnsQuestJessicaReverseCow">
<img src="assets/Quests/Sophia/ExReturnsQuest/car_reverseCow_icon.webp">
<span>Reverse Cowgirl</span>
</a>
<a class="loc-btn" data-passage="SophiaExReturnsQuestJessicaSideways">
<img src="assets/Quests/Sophia/ExReturnsQuest/car_sideways_icon.webp">
<span>Sideways</span>
</a>
<a class="loc-btn" data-passage="SophiaExReturnsQuestJessicaDoggy">
<img src="assets/Quests/Sophia/ExReturnsQuest/car_doggy_icon.webp">
<span>Doggy</span>
</a>
<a class="loc-btn loc-btn--wide" data-passage="SophiaExReturnsQuestJessicaCum">
<img src="assets/Quests/Sophia/ExReturnsQuest/car_cum_icon.webp">
<span>Cum</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/City/city.webp')"></div>
<div class="location-ui">
<<playerchat "Get on. Back to me.">>
<<rchat "Jessica" "assets/Quests/Sophia/ExReturnsQuest/jessica.webp" "Oh fuck— It hits different like this! Fuck!">>
<<storyVideo "assets/Quests/Sophia/ExReturnsQuest/car_reverseCow1.mp4">>
<<playerchat "You feel deeper this way, don't you?">>
<<rchat "Jessica" "assets/Quests/Sophia/ExReturnsQuest/jessica.webp" "Yes! Yes— oh god—">>
<<playerchat "I know, Jessica.">>
<<text "The whole car's shaking">>
<div class="location-grid">
<a class="loc-btn" data-passage="SophiaExReturnsQuestJessicaBlowjob">
<img src="assets/Quests/Sophia/ExReturnsQuest/car_blowjob_icon.webp">
<span>Blowjob</span>
</a>
<a class="loc-btn" data-passage="SophiaExReturnsQuestJessicaEating">
<img src="assets/Quests/Sophia/ExReturnsQuest/car_eating_icon.webp">
<span>Eat Out</span>
</a>
<a class="loc-btn" data-passage="SophiaExReturnsQuestJessicaMission">
<img src="assets/Quests/Sophia/ExReturnsQuest/car_mission_icon.webp">
<span>Missionary</span>
</a>
<a class="loc-btn" data-passage="SophiaExReturnsQuestJessicaCow">
<img src="assets/Quests/Sophia/ExReturnsQuest/car_cow_icon.webp">
<span>Cowgirl</span>
</a>
<a class="loc-btn" data-passage="SophiaExReturnsQuestJessicaSideways">
<img src="assets/Quests/Sophia/ExReturnsQuest/car_sideways_icon.webp">
<span>Sideways</span>
</a>
<a class="loc-btn" data-passage="SophiaExReturnsQuestJessicaDoggy">
<img src="assets/Quests/Sophia/ExReturnsQuest/car_doggy_icon.webp">
<span>Doggy</span>
</a>
<a class="loc-btn loc-btn--wide" data-passage="SophiaExReturnsQuestJessicaCum">
<img src="assets/Quests/Sophia/ExReturnsQuest/car_cum_icon.webp">
<span>Cum</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/City/city.webp')"></div>
<div class="location-ui">
<<playerchat "Lay along the seat. One leg up.">>
<<rchat "Jessica" "assets/Quests/Sophia/ExReturnsQuest/jessica.webp" "Like this?">>
<<storyVideo "assets/Quests/Sophia/ExReturnsQuest/car_sideways1.mp4">>
<<rchat "Jessica" "assets/Quests/Sophia/ExReturnsQuest/jessica.webp" "Oh fuck— that angle—">>
<div class="location-grid">
<a class="loc-btn" data-passage="SophiaExReturnsQuestJessicaBlowjob">
<img src="assets/Quests/Sophia/ExReturnsQuest/car_blowjob_icon.webp">
<span>Blowjob</span>
</a>
<a class="loc-btn" data-passage="SophiaExReturnsQuestJessicaEating">
<img src="assets/Quests/Sophia/ExReturnsQuest/car_eating_icon.webp">
<span>Eat Out</span>
</a>
<a class="loc-btn" data-passage="SophiaExReturnsQuestJessicaMission">
<img src="assets/Quests/Sophia/ExReturnsQuest/car_mission_icon.webp">
<span>Missionary</span>
</a>
<a class="loc-btn" data-passage="SophiaExReturnsQuestJessicaCow">
<img src="assets/Quests/Sophia/ExReturnsQuest/car_cow_icon.webp">
<span>Cowgirl</span>
</a>
<a class="loc-btn" data-passage="SophiaExReturnsQuestJessicaReverseCow">
<img src="assets/Quests/Sophia/ExReturnsQuest/car_reverseCow_icon.webp">
<span>Reverse Cowgirl</span>
</a>
<a class="loc-btn" data-passage="SophiaExReturnsQuestJessicaDoggy">
<img src="assets/Quests/Sophia/ExReturnsQuest/car_doggy_icon.webp">
<span>Doggy</span>
</a>
<a class="loc-btn loc-btn--wide" data-passage="SophiaExReturnsQuestJessicaCum">
<img src="assets/Quests/Sophia/ExReturnsQuest/car_cum_icon.webp">
<span>Cum</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/City/city.webp')"></div>
<div class="location-ui">
<<playerchat "Yeah. Look at that. Wet down to your knees.">>
<<rchat "Jessica" "assets/Quests/Sophia/ExReturnsQuest/jessica.webp" "Don't stare. Fuck me.">>
<<playerchat "Arch your back. More. There.">>
<<storyVideo "assets/Quests/Sophia/ExReturnsQuest/car_doggy1.mp4">>
<<rchat "Jessica" "assets/Quests/Sophia/ExReturnsQuest/jessica.webp" "Oh fuck! Oh fuck yes!">>
<<playerchat "You take it so good from behind.">>
<<rchat "Jessica" "assets/Quests/Sophia/ExReturnsQuest/jessica.webp" "Yes! Ahh— fuck!">>
<<storyVideo "assets/Quests/Sophia/ExReturnsQuest/car_doggy2.mp4">>
<<rchat "Jessica" "assets/Quests/Sophia/ExReturnsQuest/jessica.webp" "Oh god— you're so deep—">>
<<text "You push even deeper inside her.">>
<<rchat "Jessica" "assets/Quests/Sophia/ExReturnsQuest/jessica.webp" "You are so much bigger, ahhh!">>
<div class="location-grid">
<a class="loc-btn" data-passage="SophiaExReturnsQuestJessicaBlowjob">
<img src="assets/Quests/Sophia/ExReturnsQuest/car_blowjob_icon.webp">
<span>Blowjob</span>
</a>
<a class="loc-btn" data-passage="SophiaExReturnsQuestJessicaEating">
<img src="assets/Quests/Sophia/ExReturnsQuest/car_eating_icon.webp">
<span>Eat Out</span>
</a>
<a class="loc-btn" data-passage="SophiaExReturnsQuestJessicaMission">
<img src="assets/Quests/Sophia/ExReturnsQuest/car_mission_icon.webp">
<span>Missionary</span>
</a>
<a class="loc-btn" data-passage="SophiaExReturnsQuestJessicaCow">
<img src="assets/Quests/Sophia/ExReturnsQuest/car_cow_icon.webp">
<span>Cowgirl</span>
</a>
<a class="loc-btn" data-passage="SophiaExReturnsQuestJessicaReverseCow">
<img src="assets/Quests/Sophia/ExReturnsQuest/car_reverseCow_icon.webp">
<span>Reverse Cowgirl</span>
</a>
<a class="loc-btn" data-passage="SophiaExReturnsQuestJessicaSideways">
<img src="assets/Quests/Sophia/ExReturnsQuest/car_sideways_icon.webp">
<span>Sideways</span>
</a>
<a class="loc-btn loc-btn--wide" data-passage="SophiaExReturnsQuestJessicaCum">
<img src="assets/Quests/Sophia/ExReturnsQuest/car_cum_icon.webp">
<span>Cum</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/City/city.webp')"></div>
<div class="location-ui">
<<playerchat "Kneel down. Between my feet.">>
<<rchat "Jessica" "assets/Quests/Sophia/ExReturnsQuest/jessica.webp" "Fuck, you look huge from down here.">>
<<playerchat "That's because you're on your knees. Open up.">>
<<rchat "Jessica" "assets/Quests/Sophia/ExReturnsQuest/jessica.webp" "Mmh—">>
<<rchat "Jessica" "assets/Quests/Sophia/ExReturnsQuest/jessica.webp" "You're gonna cum, aren't you?">>
<<playerchat "Yes, Jessica, I'm gonna cum all over you.">>
<<rchat "Jessica" "assets/Quests/Sophia/ExReturnsQuest/jessica.webp" "You want it on my face?">>
<<playerchat "Tilt your head back.">>
<<storyVideo "assets/Quests/Sophia/ExReturnsQuest/car_cum.mp4">>
<<rchat "Jessica" "assets/Quests/Sophia/ExReturnsQuest/jessica.webp" "Fuck. That was... that was something else.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="SophiaExReturnsQuestP7">
<img src="assets/Locations/House/house.webp">
<span>Continue</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/upstairs_hallway.webp')"></div>
<div class="location-title">Marcus Returns</div>
<div class="location-ui">
<<text "You're heading up the stairs when you hear it. A man's voice coming from Sophia's room. Something is wrong.">>
<<text "You slow down. The door is cracked open. You shouldn't look.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="SophiaExReturnsQuestPeek">
<img src="assets/General/peek.webp">
<span>Peek</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/sophia_bedroom.webp')"></div>
<div class="location-ui">
<<text "Sophia is on the bed, sucking this man's cock.">>
<<storyVideo "assets/Quests/Sophia/ExReturnsQuest/peek_clip1.mp4">>
<<text "You've never seen her like this. You feel sick and hard at the same time.">>
<<storyVideo "assets/Quests/Sophia/ExReturnsQuest/peek_clip2.mp4">>
<<playerchat "//(What the fuck, Sophia?)//">>
<<text "They shift positions, Sophia sucking his dick even deeper.">>
<<storyVideo "assets/Quests/Sophia/ExReturnsQuest/peek_clip3.mp4">>
<<playerchat "//(She really knows what she's doing...)//">>
<<rchat "Marcus" "assets/Quests/Sophia/ExReturnsQuest/ex.webp" "God, I missed you, Soph. You have no idea.">>
<<chat sophia "Don't stop. Please, don't stop.">>
<<storyVideo "assets/Quests/Sophia/ExReturnsQuest/peek_clip4.mp4">>
<<text "You step back from the door. Your heart is pounding. Who the fuck is this guy, and why is Sophia letting him fuck her like that?">>
<<text "You can sense something is fishy here.">>
<<storyVideo "assets/Quests/Sophia/ExReturnsQuest/peek_clip5.mp4">>
<<playerchat "//(Sophia wouldn't just bring a random guy home like this...)//">>
<<text "You can feel the jelousy rising in you. You're imagining being that guy.">>
<<storyVideo "assets/Quests/Sophia/ExReturnsQuest/peek_clip6.mp4">>
<<rchat "Marcus" "assets/Quests/Sophia/ExReturnsQuest/ex.webp" "You were always the best, Soph.">>
<<chat sophia "Ahh- Yes Marcus!">>
<<storyVideo "assets/Quests/Sophia/ExReturnsQuest/peek_clip7.mp4">>
<<playerchat "//(A lover from the past?)//">>
<<advancetime 15>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="SophiaExReturnsQuestP2">
<img src="assets/Locations/House/upstairs_hallway.webp">
<span>Step back and wait</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/livingroom.webp')"></div>
<div class="location-ui">
<<text "Twenty minutes later, you hear footsteps on the stairs. Marcus comes down first, buttoning his shirt, looking very pleased with himself. Sophia follows, her hair a mess, her blouse still slightly unbuttoned.">>
<<chat sophia "Oh! $playerName. I didn't realize you were home.">>
<<text "She's flustered. Guilty. Her cheeks are pink. She can't meet your eyes.">>
<<rchat "Marcus" "assets/Quests/Sophia/ExReturnsQuest/ex.webp" "And who's this? Don't tell me you've got a new man in the house, Soph.">>
<<chat sophia "No! No, this is... this is my stepson. $playerName.">>
<<text "Marcus's eyes light up. He strides over and offers his hand. You notice his shoes are scuffed at the toes. Expensive leather, but worn. Old.">>
<<rchat "Marcus" "assets/Quests/Sophia/ExReturnsQuest/ex.webp" "Ah, the famous stepson. I've heard a lot about you. I'm Marcus. Sophia and I go way back. Very way back.">>
<<text "You shake his hand. His grip is too firm, his smile too wide. The watch on his wrist catches the light—it's a Rolex, or at least it's supposed to be. The second hand stutters. It's a fake.">>
<<playerchat "Nice watch.">>
<<rchat "Marcus" "assets/Quests/Sophia/ExReturnsQuest/ex.webp" "Thanks. Gift to myself. Success has its perks.">>
<<text "He says it smoothly. But you catch the flicker in his eyes. The way he adjusts his cuff to hide the watch face.">>
<<text "He winks at Sophia. She blushes and looks away. He puts his arm around her waist, his hand sliding down to squeeze her ass.">>
<<storyVideo "assets/Quests/Sophia/ExReturnsQuest/ass_squeeze.mp4">>
<<text "She giggles. Giggles.">>
<<text "You don't say anything. You just watch him walk into the kitchen like he owns the place. Your gut is telling you something is very, very wrong.">>
<<text "You notice he doesn't carry a suitcase. Just a gym bag. Worn. Old. For a guy who claims to be successful, he travels light.">>
<<advancetime 10>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="SophiaExReturnsQuestP3">
<img src="assets/Locations/House/livingroom.webp">
<span>Confront Sophia</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/livingroom.webp')"></div>
<div class="location-ui">
<<playerchat "So who the fuck is this guy?">>
<<text "She turns around. Her expression is complicated. Not angry. Not happy. Something in between. Dreamy.">>
<<chat sophia "His name is Marcus. We were married for five years. Before all of this. Before you.">>
<<playerchat "And you're just letting him stay here? I suppose you two broke off for a reason!?">>
<<chat sophia "What did he do to me?">>
<<text "She says it like she's genuinely confused. Like she's forgotten. Like she's rewritten the past in her head.">>
<<playerchat "You tell me. You were married to him.">>
<<text "Sophia looks down at her tea. Her hands are shaking slightly.">>
<<chat sophia "He wasn't... he wasn't a bad man. We were just young. Stupid. We wanted different things. He wanted to travel. I wanted to settle down. It wasn't his fault.">>
<<playerchat "Mhm...">>
<<text "You don't believe her.">>
<<chat sophia "He's changed. He's successful now. He's got money. He's got a business. He wants to make things right.">>
<<playerchat "What business?">>
<<text "She pauses. Her brow furrows.">>
<<chat sophia "He... he didn't say exactly. Something with investments. Imports and exports. He said it's complicated.">>
<<playerchat "And you believe him?">>
<<chat sophia "Why wouldn't I? He's got the watch. The clothes. The confidence. He's not the same man I married. He's better.">>
<<text "You want to tell her about the watch. The fake Rolex. The scuffed shoes. The gym bag. But you don't. Not yet.">>
<<playerchat "Is that why you're sleeping with him?">>
<<text "Her head snaps up. Her face goes red.">>
<<chat sophia "That's none of your business! What I do in my own bedroom is private!">>
<<playerchat "He's using you, Sophia. I can smell it on him.">>
<<chat sophia "You don't even know him! You've met him once!">>
<<text "She sets her tea down hard. Her tits are heaving under her blouse. She's upset.">>
<<chat sophia "He's changed. He's different now. He wants to make things right. He wants to take care of me. Something you wouldn't understand.">>
<<playerchat "What's that supposed to mean?">>
<<text "She doesn't answer. She just grabs her tea and walks past you, her shoulder brushing yours. You watch her ass sway as she leaves.">>
<<set $CharQuests.sophia.sophiaExReturnsQuest.step to 1>>
<<advancetime 15>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="DownstairsHallway">
<img src="assets/Locations/House/downstairs_hallway.webp">
<span>Leave</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/livingroom.webp')"></div>
<div class="location-ui">
<<text "You find Marcus in the living room. He's on his phone, talking in low tones. He doesn't see you.">>
<<rchat "Marcus" "assets/Quests/Sophia/ExReturnsQuest/ex.webp" "Yeah, I'm in. The old lady's still got a soft spot for me. It's pathetic, really. But it works. Give it a few more weeks and I'll have access to everything. The accounts. The house. All of it.">>
<<text "He laughs. It's a cold sound. Nothing like the warm, smooth voice he uses with Sophia.">>
<<rchat "Marcus" "assets/Quests/Sophia/ExReturnsQuest/ex.webp" "Nah, the stepson's a problem. He's got his eye on me. But I'll handle him. He's just a kid. What's he going to do?">>
<<text "He hangs up. You step back before he sees you. Your blood is boiling. You were right. He's a fraud. A liar. A predator.">>
<<text "But you need proof. Something Sophia can't ignore. He leaves the room.">>
<<text "He's left his bag on the couch in the living room, wide open. His phone is on the table.">>
<div class="choice-buttons" id="snoop_choice">
<<button "Snoop through his bag (Stealth)">>
<<replace "#snoop_choice">>
<<if $STH >= 25>>
<<text "You go through his bag. It's mostly clothes. Cheap clothes. The labels are cut out. But at the bottom, you find something interesting. A folded piece of paper.">>
<<text "//'Hey Babe! I love you so much, and I hope we see eachother soon. Make sure you get that firm out of Sophia. - Jessica'// The handwriting is feminine. At the bottom, there's also a phone number.">>
<<text "You take a picture of it with your phone. Your heart is pounding. He's got a girlfriend. And he's trying to access Sophia's lawfirm...">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="SophiaExReturnsQuestP5">
<img src="assets/Locations/House/downstairs_hallway.webp">
<span>Continue</span>
</a>
</div>
<<else>>
<<text "You reach for the bag, but your hand slips. You knock over a glass on the side table.">>
<<text "Marcus appears in the doorway a second later.">>
<<rchat "Marcus" "assets/Quests/Sophia/ExReturnsQuest/ex.webp" "Looking for something?">>
<<playerchat "I was just... cleaning up.">>
<<text "Get your Stealth over 25.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="DownstairsHallway">
<img src="assets/Locations/House/downstairs_hallway.webp">
<span>Leave</span>
</a>
</div>
<</if>>
<</replace>>
<</button>>
<<button "Hack his phone (Intelligence)">>
<<replace "#snoop_choice">>
<<if $INT >= 25>>
<<text "The phone is unlocked. You scroll through it. Mostly texts. Work stuff. But then you find it.">>
<<text "A text thread with someone named 'Jess.'">>
<<text "'Did you get in?' 'Yeah, she's still hot for me. It'll be easy. She's so desperate for attention she'll believe anything I say.' 'Don't forget who's your real Girlfriend. Remember what you're there for.' 'I know. Access to the firm.' 'Good. See you soon. -Jessica'">>
<<text "There's more. Photos. Of Marcus with Jessica.">>
<<text "You screenshot everything. Your hands are shaking. This is it. This is what you needed.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="SophiaExReturnsQuestP5">
<img src="assets/Locations/House/downstairs_hallway.webp">
<span>Continue</span>
</a>
</div>
<<else>>
<<text "You reach for the phone, but it's locked. You try a few passwords. None of them work.">>
<<text "Marcus walks into the room.">>
<<rchat "Marcus" "assets/Quests/Sophia/ExReturnsQuest/ex.webp" "Can I help you?">>
<<playerchat "I was just... looking at the time.">>
<<text "Get your Intelligence over 25.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="DownstairsHallway">
<img src="assets/Locations/House/downstairs_hallway.webp">
<span>Leave</span>
</a>
</div>
<</if>>
<</replace>>
<</button>>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/your_room.webp')"></div>
<div class="location-ui">
<<text "You decide to call the number. A woman answers on the second ring. Her voice is bored.">>
<<rchat "Jessica" "assets/Quests/Sophia/ExReturnsQuest/jessica.webp" "Hello? Who's this?">>
<<playerchat "You know Marcus? The guy staying at Sophia's house?">>
<<text "There's a pause. Then a sharp breath.">>
<<rchat "Jessica" "assets/Quests/Sophia/ExReturnsQuest/jessica.webp" "Who are you? What do you want?">>
<<playerchat "I know about your guys plan. Meet me somewhere.">>
<<rchat "Jessica" "assets/Quests/Sophia/ExReturnsQuest/jessica.webp" "No.">>
<<playerchat "If you don't, I'm calling the cops. If you tell Marcus about this, I am also calling the cops. What's it gonna be then?">>
<<text "Another pause.">>
<<rchat "Jessica" "assets/Quests/Sophia/ExReturnsQuest/jessica.webp" "Fine. Meet me at the city park.">>
<<text "She hangs up.">>
<<set $CharQuests.sophia.sophiaExReturnsQuest.step to 2>>
<<advancetime 20>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="YourRoom">
<img src="assets/Locations/House/your_room.webp">
<span>Your Room</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/City/nightclub.webp')"></div>
<div class="location-ui">
<<rchat "Jessica" "assets/Quests/Sophia/ExReturnsQuest/jessica.webp" "Let's take it to the bar across the street.">>
<<text "You walk to the bar in silence.">>
<<text "She's sitting in the corner booth, nursing a martini. Blonde hair. Yellow dress. Tits that are practically spilling out of the fabric. She's gorgeous. And she looks pissed.">>
<<rchat "Jessica" "assets/Quests/Sophia/ExReturnsQuest/jessica.webp" "You're the stepson. The one he mentioned. You don't look like much.">>
<<text "You slide into the booth across from her.">>
<<playerchat "And you're the secret girlfriend. What's your deal with him?">>
<<text "She takes a sip of her martini. Her eyes are cold.">>
<<rchat "Jessica" "assets/Quests/Sophia/ExReturnsQuest/jessica.webp" "We are the happiest couple on the planet. We are about get married soon and start a family. We love eachother so much... He's so perfect.">>
<<playerchat "//(She is so delusional... And why does she love him so much?)//">>
<<rchat "Jessica" "assets/Quests/Sophia/ExReturnsQuest/jessica.webp" "We had a plan. He was going to get back with Sophia, get his hands on her firm, and we were going to split it. Then he was going to leave her. That was the deal.">>
<<playerchat "That WAS the deal? But?">>
<<text "She sets her glass down. Hard.">>
<<rchat "Jessica" "assets/Quests/Sophia/ExReturnsQuest/jessica.webp" "But now he's got it in his head that he's going to stay for longer. Reconcile. Actual husband stuff. I'm supposed to be his real girlfriend, and he's off playing house with her. He's gone soft. Or maybe he's just greedy. Wants it all.">>
<<text "She's jealous. Bitter. Perfect.">>
<<playerchat "So what's in it for you?">>
<<rchat "Jessica" "assets/Quests/Sophia/ExReturnsQuest/jessica.webp" "Happy marriage with Marcus. What else? But now he's talking about 'taking it slow.' 'Building trust.' He's stalling. And I don't like being stalled.">>
<<text "She leans forward. Her tits press against the table.">>
<<rchat "Jessica" "assets/Quests/Sophia/ExReturnsQuest/jessica.webp" "I'm so mad at him right now... I want him out of that house, far away from that woman. I love him. He should only love me. I hope he isn't sleeping with her...">>
<<text "Flashbacks of Sophia and Marcus fucking go through your head.">>
<<playerchat "Him sleeping with her is not the part of the plan?">>
<<rchat "Jessica" "assets/Quests/Sophia/ExReturnsQuest/jessica.webp" "Of course not, that would be cheating. He told me he would never cheat on me.">>
<div class="choice-buttons" id="choices">
<<button "Tell her the truth.">>
<<replace "#choices">>
<<playerchat "Jessica, there is something I must tell you...">>
<<rchat "Jessica" "assets/Quests/Sophia/ExReturnsQuest/jessica.webp" "What is it?">>
<<text "Jessica looks worried.">>
<<playerchat "When I was passing by Sophia's room, I peeked throught the door...">>
<<rchat "Jessica" "assets/Quests/Sophia/ExReturnsQuest/jessica.webp" "You're spying on your stepmom? That's weird...">>
<<playerchat "That's beside the point. When I peeked in, I saw Marcus and Sophia having sex. Marcus was telling Sophia how she's the best sexual partner he ever had.">>
<<rchat "Jessica" "assets/Quests/Sophia/ExReturnsQuest/jessica.webp" "HE FUCKED HER!?">>
<<playerchat "Yes, Jessica. He cheated on you...">>
<<text "You can see tears form in Jessica's eyes.">>
<<playerchat "So you're just going to let him play house with Sophia? You're okay with that?">>
<<text "Her eyes narrow.">>
<<rchat "Jessica" "assets/Quests/Sophia/ExReturnsQuest/jessica.webp" "No. I'm not. That's why I'm telling you. I want him to pay. I want him to lose everything.">>
<<playerchat "Then help me. Give me something I can use.">>
<<text "She reaches into her purse and pulls out a burner phone.">>
<<rchat "Jessica" "assets/Quests/Sophia/ExReturnsQuest/jessica.webp" "Here. It's got everything. The texts. The plans. The bank records. He's been transferring money from Sophia's accounts into a shell company. And there's more. Photos. Videos. Proof of everything.">>
<<text "You take the phone. Your hands are shaking. This is it. This is what you needed.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="SophiaExReturnsQuestJessicaP2">
<img src="assets/Locations/City/city.webp">
<span>Leave</span>
</a>
</div>
<</replace>>
<</button>>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/City/nightclub.webp')"></div>
<div class="location-ui">
<<text "As you were leaving, you noticed Jessica still sitting down, crying. You feel sorry for her.">>
<<playerchat "Are you okay, Jessica?">>
<<rchat "Jessica" "assets/Quests/Sophia/ExReturnsQuest/jessica.webp" "Do I look okay?">>
<<playerchat "Let me keep you company for a little while.">>
<div class="choice-buttons" id="choices">
<<button "Order drinks.">>
<<replace "#choices">>
<<text "You signal to the Bartender for a shot.">>
<<playerchat "Drink up, alcohol helps.">>
<<text "She takes shot after shot, after shot, after shot... She gets drunk quickly.">>
<<rchat "Jessica" "assets/Quests/Sophia/ExReturnsQuest/jessica.webp" "Thank you for keeping me company, $playerName.">>
<<playerchat "No need to thank me, I also needed some letting go...">>
<div class="choice-buttons" id="choices2">
<<button "Jessica asks you something.">>
<<replace "#choices2">>
<<rchat "Jessica" "assets/Quests/Sophia/ExReturnsQuest/jessica.webp" "You know... you're not so bad. For a stepson. And you're definitely better company than Marcus has been lately. He's been so... boring. All he talks about is Sophia. Sophia this. Sophia that. It's like I don't even exist.">>
<<playerchat "You're not so bad yourself. For a secret girlfriend.">>
<<text "She leans in close. Her breath is warm, smelling of gin and mint.">>
<<rchat "Jessica" "assets/Quests/Sophia/ExReturnsQuest/jessica.webp" "He's got a car outside. It's parked around the corner. You want to see it? It's not even his, you know. It's a rental. He's been lying about everything.">>
<<text "You know exactly what she's offering. Your cock is rock hard.">>
<<rchat "Jessica" "assets/Quests/Sophia/ExReturnsQuest/jessica.webp" "But first... I want to hear you say it. Tell me what you think of him. What you really think.">>
<<playerchat "He's a fraud. A liar. A thief. He's using Sophia. And he's using you.">>
<<text "She smiles. It's a dangerous smile.">>
<<rchat "Jessica" "assets/Quests/Sophia/ExReturnsQuest/jessica.webp" "That feels better. Now... let's go for a ride.">>
<div class="choice-buttons" id="choices3">
<<button "Go with her">>
<<goto "SophiaExReturnsQuestJessicaTaxi">>
<</button>>
<<button "Tell her you have better things to do.">>
<<goto "SophiaExReturnsQuestP7">>
<</button>>
</div>
<</replace>>
<</button>>
</div>
<</replace>>
<</button>>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/City/city.webp')"></div>
<div class="location-ui">
<<text "The car is a black sedan. Expensive. Leather seats. But you notice the rental sticker on the windshield. The worn upholstery. The smell of cheap air freshener trying to cover something up. Marcus isn't rich. He's just pretending to be.">>
<<text "You barely get the door closed before she's on you.">>
<<rchat "Jessica" "assets/Quests/Sophia/ExReturnsQuest/jessica.webp" "I've been thinking about this since you told me about Marcus. About how much I want to fuck someone who isn't a lying piece of shit.">>
<<text "She kisses you. Hard. Her hands are on your chest, then your belt, then your cock. She pulls it out and gasps.">>
<<rchat "Jessica" "assets/Quests/Sophia/ExReturnsQuest/jessica.webp" "Fuck. You're bigger than him. And harder. And real.">>
<<storyVideo "assets/Quests/Sophia/ExReturnsQuest/car_clip1.mp4">>
<div class="location-grid">
<a class="loc-btn" data-passage="SophiaExReturnsQuestJessicaBlowjob">
<img src="assets/Quests/Sophia/ExReturnsQuest/car_blowjob_icon.webp">
<span>Blowjob</span>
</a>
<a class="loc-btn" data-passage="SophiaExReturnsQuestJessicaEating">
<img src="assets/Quests/Sophia/ExReturnsQuest/car_eating_icon.webp">
<span>Eat Out</span>
</a>
<a class="loc-btn" data-passage="SophiaExReturnsQuestJessicaMission">
<img src="assets/Quests/Sophia/ExReturnsQuest/car_mission_icon.webp">
<span>Missionary</span>
</a>
<a class="loc-btn" data-passage="SophiaExReturnsQuestJessicaCow">
<img src="assets/Quests/Sophia/ExReturnsQuest/car_cow_icon.webp">
<span>Cowgirl</span>
</a>
<a class="loc-btn" data-passage="SophiaExReturnsQuestJessicaReverseCow">
<img src="assets/Quests/Sophia/ExReturnsQuest/car_reverseCow_icon.webp">
<span>Reverse Cowgirl</span>
</a>
<a class="loc-btn" data-passage="SophiaExReturnsQuestJessicaSideways">
<img src="assets/Quests/Sophia/ExReturnsQuest/car_sideways_icon.webp">
<span>Sideways</span>
</a>
<a class="loc-btn" data-passage="SophiaExReturnsQuestJessicaDoggy">
<img src="assets/Quests/Sophia/ExReturnsQuest/car_doggy_icon.webp">
<span>Doggy</span>
</a>
<a class="loc-btn loc-btn--wide" data-passage="SophiaExReturnsQuestJessicaCum">
<img src="assets/Quests/Sophia/ExReturnsQuest/car_cum_icon.webp">
<span>Cum</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/upstairs_hallway.webp')"></div>
<div class="location-ui">
<<text "You get home late. The house is quiet. Marcus's door is closed. Sophia's door is cracked open.">>
<<text "You knock softly.">>
<<chat sophia "Come in.">>
<<text "She's sitting on the edge of her bed, still dressed, looking tired. Her tits are heavy under her blouse. She looks up at you.">>
<<chat sophia "Where have you been?">>
<<playerchat "I found something. Something you need to see.">>
<<text "You sit down next to her and pull out the burner phone. You show her the texts. The bank records. The shell company. The plans.">>
<<storyImg "assets/Quests/Sophia/ExReturnsQuest/sophia_shocked.webp">>
<<chat sophia "I was so stupid. I believed him. I actually believed him.">>
<<playerchat "You weren't stupid. You were hopeful. There's a difference.">>
<<text "She looks at you. Her eyes are red. Her lips are trembling.">>
<<chat sophia "He's been stealing from me. From this family. He was going to leave me with nothing.">>
<<playerchat "He's not going to get away with it. We have proof.">>
<<text "She nods. She wipes her eyes. She takes a deep breath.">>
<<chat sophia "Thank you. For seeing what I couldn't. For not giving up on me. I don't know what I would have done without you.">>
<<text "She leans in and hugs you. Her tits press against your chest. She smells like lavender and tears. Your cock twitches. But you don't move. Not yet.">>
<<advancetime 20>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="SophiaExReturnsQuestP8">
<img src="assets/Locations/House/livingroom.webp">
<span>Confront Marcus</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/livingroom.webp')"></div>
<div class="location-ui">
<<text "Marcus is in the living room. Sophia is standing in front of him, the burner phone in her hand.">>
<<storyImg "assets/Quests/Sophia/ExReturnsQuest/confrontation.webp">>
<<chat sophia "You lying, cheating piece of shit! You were going to steal from me! You were going to leave me with nothing!">>
<<rchat "Marcus" "assets/Quests/Sophia/ExReturnsQuest/ex.webp" "Sophia, wait, I can explain”">>
<<chat sophia "Explain what?! That you have a secret girlfriend? That you've been siphoning my money into some shell company? That you're a liar and a thief?">>
<<text "Marcus's eyes dart to you. You're standing in the doorway, arms crossed, a smile on your face.">>
<<rchat "Marcus" "assets/Quests/Sophia/ExReturnsQuest/ex.webp" "You. You did this. You turned her against me!">>
<<playerchat "You did this to yourself, you pathetic loser. Now get the fuck out of this house before I throw you out myself.">>
<<text "He stares at you. Then at Sophia. Then he grabs his bag and storms out, slamming the door behind him.">>
<<text "Sophia collapses onto the couch, her head in her hands. She's crying again. But this time it's relief.">>
<<chat sophia "It's over. It's finally over.">>
<<storyImg "assets/Quests/Sophia/ExReturnsQuest/sophia_standing.webp">>
<<playerchat "You're going to be okay, Sophia. You're stronger than you think.">>
<<text "She looks up at you. Her tits are heaving. Her face is flushed.">>
<<chat sophia "You've done so much for me. For this family. I don't know how to repay you.">>
<div class="choice-buttons" id="snoop_choice">
<<button "Ask her to strip for you as a reward.">>
<<replace "#snoop_choice">>
<<playerchat "There is a way you can repay me.">>
<<text "Sophia get flustered.">>
<<chat sophia "There is?">>
<<playerchat "Yes, Sophia. Get naked. Right now.">>
<<chat sophia "Right now, right here? What if someone walks in?">>
<<playerchat "I'll lock the door, don't worry.">>
<<chat sophia "If I let you see me naked, are we okay?">>
<<playerchat "Yes.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="SophiaExReturnsQuestStrip">
<img src="assets/Locations/House/upstairs_hallway.webp">
<span>Strip</span>
</a>
</div>
<</replace>>
<</button>>
<<button "Tell her it's okay.">>
<<replace "#snoop_choice">>
<<playerchat "You don't have to repay me. I did it because I care about you.">>
<<chat sophia "Thank you, $playerName. For everything. I don't know what I would have done without you.">>
<<set $CharQuests.sophia.sophiaExReturnsQuest.status to "completed">>
<<set $CharQuests.sophia.sophiaAtticSearchQuest.status to "active">>
<<addRel 12 sophia>>
<<addLust 3 sophia>>
<<addSTR 2>>
<<addINT 2>>
<<addCHA 2>>
<<addSTH 2>>
<<advancetime 60>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="UpstairsHallway">
<img src="assets/Locations/House/upstairs_hallway.webp">
<span>Finish</span>
</a>
</div>
</div>
<</replace>>
<</button>>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/livingroom.webp')"></div>
<div class="location-ui">
<<storyImg "assets/Quests/Sophia/ExReturnsQuest/sophia_strip1.webp">>
<<chat sophia "Okay. So. Where do you want me?">>
<<playerchat "Right there. Start with the dress.">>
<<chat sophia "You're really going to make me do this.">>
<<playerchat "You offered.">>
<<text "She drops onto the couch and sinks back into the cushions. Then she spreads her legs — slow, deliberate.">>
<<storyImg "assets/Quests/Sophia/ExReturnsQuest/sophia_strip2.webp">>
<<chat sophia "Is this what you had in mind?">>
<<playerchat "Close. Wider.">>
<<chat sophia "Wider? You can see everything already.">>
<<playerchat "Then let me see more.">>
<<text "She slides her feet further apart, hips tilted, black cotton stretched tight between her thighs.">>
<<storyImg "assets/Quests/Sophia/ExReturnsQuest/sophia_strip3.webp">>
<<chat sophia "There. Happy?">>
<<playerchat "Not yet. Pull a strap down.">>
<<chat sophia "The whole thing?">>
<<playerchat "Just one.">>
<<text "She hooks the neckline and tugs it aside. One breast spills out, pale and heavy, the nipple already hard.">>
<<storyImg "assets/Quests/Sophia/ExReturnsQuest/sophia_strip4.webp">>
<<chat sophia "It's cold in here.">>
<<playerchat "Sure it is.">>
<<chat sophia "It is!">>
<<playerchat "Then do the other one.">>
<<storyImg "assets/Quests/Sophia/ExReturnsQuest/sophia_strip5.webp">>
<<chat sophia "Now what?">>
<<playerchat "Turn around. Slowly.">>
<<text "She stands and rotates, back to you, the dress still bunched at her waist. Her ass presses against the fabric.">>
<<storyImg "assets/Quests/Sophia/ExReturnsQuest/sophia_strip6.webp">>
<<chat sophia "You're staring.">>
<<playerchat "Of course I am.">>
<<text "She reaches back and peels the dress down over her hips. Black panties, cut high, tight across her ass.">>
<<storyImg "assets/Quests/Sophia/ExReturnsQuest/sophia_strip7.webp">>
<<chat sophia "Better?">>
<<playerchat "Keep going.">>
<<text "The dress pools at her feet. She turns to face you — full chest out, panties the only thing left.">>
<<storyImg "assets/Quests/Sophia/ExReturnsQuest/sophia_strip8.webp">>
<<chat sophia "You're smiling.">>
<<playerchat "You look good.">>
<<chat sophia "You've seen me naked before.">>
<<text "She cups and squeezes her own tits.">>
<<storyImg "assets/Quests/Sophia/ExReturnsQuest/sophia_strip9.webp">>
<<chat sophia "They're heavier than they look.">>
<<playerchat "I believe you.">>
<<chat sophia "Do you want to find out?">>
<<text "She is getting more comfortable, you can see she's enjoying this.">>
<<playerchat "Panties first.">>
<<text "Her thumbs slip into the waistband. She pulls, slow, watching your face the whole way.">>
<<storyImg "assets/Quests/Sophia/ExReturnsQuest/sophia_strip10.webp">>
<<chat sophia "This is the part where it gets really inapproriate.">>
<<playerchat "It's not.">>
<<text "She bends forward to work them down her thighs.">>
<<storyImg "assets/Quests/Sophia/ExReturnsQuest/sophia_strip11.webp">>
<<text "She continues taking her panties off, really slowly.">>
<<storyImg "assets/Quests/Sophia/ExReturnsQuest/sophia_strip12.webp">>
<<chat sophia "Almost —">>
<<playerchat "Take your time.">>
<<text "They drop to her knees. She straightens up. Nothing left but the heels.">>
<<storyImg "assets/Quests/Sophia/ExReturnsQuest/sophia_strip13.webp">>
<<chat sophia "So. This is me.">>
<<playerchat "Sit back down.">>
<<storyImg "assets/Quests/Sophia/ExReturnsQuest/sophia_strip14.webp">>
<<text "She does. Sinks into the couch, then opens her legs — no hesitation this time, heels planted wide, everything visible.">>
<<storyImg "assets/Quests/Sophia/ExReturnsQuest/sophia_strip15.webp">>
<<chat sophia "Is this what you wanted?">>
<<playerchat "This is what I wanted.">>
<<set $CharQuests.sophia.sophiaExReturnsQuest.status to "completed">>
<<set $CharQuests.sophia.sophiaAtticSearchQuest.status to "active">>
<<addRel 10 sophia>>
<<addLust 8 sophia>>
<<addSTR 2>>
<<addINT 3>>
<<addCHA 4>>
<<addSTH 2>>
<<advancetime 60>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="DownstairsHallway">
<img src="assets/Locations/House/downstairs_hallway.webp">
<span>Finish</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Quests/Sophia/MainQuest1/storage.webp')"></div>
<div class="location-ui">
<<text "Brenda reaches up with a plump, manicured hand, grabbing the front of your jeans and squeezing your swelling dick through the denim.">>
<<playerchat "You're about to suck that cock, Brenda.">>
<<rchat "Brenda" "assets/Quests/Sophia/MainQuest1/brenda.webp" "Give it to me already.">>
<<storyVideo "assets/Quests/Sophia/MainQuest1/brenda_clip1.mp4">>
<<rchat "Brenda" "assets/Quests/Sophia/MainQuest1/brenda.webp" "God- Finally a good one...">>
<<storyVideo "assets/Quests/Sophia/MainQuest1/brenda_clip2.mp4">>
<<playerchat "Suck it good, Brenda.">>
<<advancetime 10>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="SophiaMainQuest1BrendaSexP2">
<img src="assets/Quests/Sophia/MainQuest1/storage.webp">
<span>Continue</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Quests/Sophia/MainQuest1/storage.webp')"></div>
<div class="location-ui">
<<storyVideo "assets/Quests/Sophia/MainQuest1/brenda_clip3.mp4">>
<<playerchat "I'm gonna fuck you so hard.">>
<<storyVideo "assets/Quests/Sophia/MainQuest1/brenda_clip4.mp4">>
<<rchat "Brenda" "assets/Quests/Sophia/MainQuest1/brenda.webp" "Ah! Fuck... right there! Ah, god... keep going!">>
<<text "You bend Brenda over the table.">>
<<storyVideo "assets/Quests/Sophia/MainQuest1/brenda_clip5.mp4">>
<<rchat "Brenda" "assets/Quests/Sophia/MainQuest1/brenda.webp" "Ah! Yesss- Yess! This is the best day at work ever.">>
<<advancetime 10>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="SophiaMainQuest1BrendaSexP3">
<img src="assets/Quests/Sophia/MainQuest1/storage.webp">
<span>Continue</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Quests/Sophia/MainQuest1/storage.webp')"></div>
<div class="location-ui">
<<storyVideo "assets/Quests/Sophia/MainQuest1/brenda_clip6.mp4">>
<<text "You keep fucking Brenda, enjoying yourself. She keeps moaning like there's nobody else in the building.">>
<<playerchat "You gonna give me that key? Huh, slut? Are you?">>
<<storyVideo "assets/Quests/Sophia/MainQuest1/brenda_clip7.mp4">>
<<rchat "Brenda" "assets/Quests/Sophia/MainQuest1/brenda.webp" "Ah! Fuck... right there! Ah, god... okay, okay! Take the damn key!">>
<<advancetime 10>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="SophiaMainQuest1P6">
<img src="assets/Quests/Sophia/MainQuest1/storage.webp">
<span>Continue</span>
</a>
</div>
</div><<set $CharQuests.sophia.sophiaMainQuest1.status to "completed">>
<<set $CharQuests.sophia.sophiaEventQuest1.status to "active">><div class="location-bg" style="background-image: url('assets/Locations/House/your_room.webp')"></div>
<div class="location-title">The Audit & The Bodily Alibi</div>
<div class="location-ui">
<<text "The sharp, shrill tone of a phone ringing pierces through your sleep, followed almost immediately by a muffled string of frustrated curses echoing from across the hallway. You blink against the morning light streaming through your blinds, sitting up slowly on the edge of your mattress.">>
<<storyImg "assets/Quests/Sophia/MainQuest1/sitting_on_bed.webp">>
<<text "Across the hall, in Sophia Kane’s home office, her voice rises to an exasperated pitch, clearly audible through your closed door.">>
<<chat sophia "I don't care what Vance claims! The receipts were fully audited in May! Every single line item was double-checked by two separate clerks! ...No, do not put me on hold—give me until noon or I’ll—hello? Hello?!">>
<<text "A heavy, deliberate CLACK echoes through the wood as a desk phone is slammed back onto its receiver, followed by the heavy, rhythmic thud of heels pacing frantically across hardwood floors.">>
<<text "Sophia is under severe strain. Arthur Vance—a notoriously arrogant, ultra-wealthy real estate developer whose account essentially keeps her boutique financial firm afloat—is threatening to pull his business entirely. He claims there is a $45,000 discrepancy in his Q2 tax ledgers, publicly accusing her team of gross incompetence. If Vance pulls his account today, Sophia’s professional reputation in the city’s financial district will be shattered.">>
<<text "You stand up, stretch, and pull on a pair of jeans before stepping into the corridor.">>
<<advancetime 10>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="SophiaMainQuest1P2">
<img src="assets/Locations/House/sophia_office.webp">
<span>Sophia's Office</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/upstairs_hallway.webp')"></div>
<div class="location-ui">
<<text "The door to Sophia’s office sits cracked open by a few inches. Standing outside in the quiet hallway, you can hear the rustle of dry paper, the frantic clicking of a computer mouse, and her ragged, shallow breaths.">>
<<text "You pause outside the wooden frame, peering through the gap.">>
<div class="choice-buttons" id="sophia_choices">
<<button "Look through the cracked door">>
<<replace "#sophia_choices">>
<<text "You lean slightly closer to the opening, taking in the scene.">>
<<text "The usually pristine office is in absolute chaos. Stacks of white and yellow ledger paper lie scattered across her broad mahogany desk. The faint, bitter smell of stale espresso hangs heavy in the air. Sophia is clearly running on fumes and pure adrenaline.">>
<<text "Her usually immaculate appearance has unravelled. Her dark blue designer blazer is discarded over the back of her leather chair. She wears only a thin, semi-translucent white silk blouse tucked into a tight black pencil skirt. The morning sunlight hitting her back renders the blouse almost see-through, outlining the distinct silhouette of a dark lace bra underneath. Her blonde hair, normally styled into a tight, perfect bun, has come partially loose, with soft tendrils framing her flushed cheeks.">>
<<storyImg "assets/Quests/Sophia/MainQuest1/sophia_standing.webp">>
<<text "She runs both hands through her hair with a quiet, desperate groan, staring blankly at her computer monitor.">>
<<chat sophia "//(to herself)// Think, Sophia... think. Where is the physical carbon? It has to be in the records... it has to...">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="SophiaMainQuest1P3">
<img src="assets/Locations/House/sophia_office.webp">
<span>Open the door</span>
</a>
</div>
<</replace>>
<</button>>
<<button "Knock firmly and step inside immediately">>
<<replace "#sophia_choices">>
<<text "You rap your knuckles twice against the heavy wooden door frame.">>
<<text "Sophia flinches, jumping in her seat before whirling around to face you. Her eyes are wide, bordered by faint dark circles, her face flushed with stress.">>
<<chat sophia "I told you I—oh. It's you. God, you scared me.">>
<<storyImg "assets/Quests/Sophia/MainQuest1/sophia_standing.webp">>
<<text "She exhales a ragged breath, pressing a manicured hand over her chest as her collarbones rise and fall rapidly beneath her sheer white blouse.">>
<<chat sophia "I don't have time for small talk right now. The entire firm is about to collapse because Arthur Vance thinks he's a forensic accountant.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="SophiaMainQuest1P3">
<img src="assets/Locations/House/sophia_office.webp">
<span>Open the door</span>
</a>
</div>
<</replace>>
<</button>>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/sophia_office.webp')"></div>
<div class="location-ui">
<<text "You push the door open and step fully into the office.">>
<<playerchat "You sound like you're about to tear your hair out, Sophia. What's going on?">>
<<text "Sophia doesn't look at you directly; her eyes swim over a sea of figures printed on the sheets covering her desk. She clutches a cold mug of coffee, her knuckles white.">>
<<chat sophia "Vance is coming here. Personally. He claims $45,000 missing from his Q2 commercial filing. If I can't prove to him that the error isn't on my end, he's taking his multi-million dollar portfolio to a global firm. And my assistant called in sick. Of all days...">>
<<text "She sets the mug down so hard a few drops spill onto a stack of invoices.">>
<<chat sophia "I need the physical binder from April. It was supposed to be archived, but...">>
<<text "She turns frantic, reaching up toward a high shelf positioned above her mahogany desk. Her heels click unsteadily against the floorboards. She stretches onto the tiptoes of her high heels, her pencil skirt riding up her thighs, exposing a generous length of her soft, cream-colored legs. Her thin blouse pulls tight over her back, straining against her chest as she reaches upwards.">>
<<chat sophia "It has to be up here... just a little higher...">>
<<text "Her fingertips brush the spine of a heavy black binder. She pulls it forward, but the heavy weight shifts unexpectedly. As she pulls back, the heel of her shoe snags sharply on the edge of the plush Persian rug beneath her desk.">>
<<chat sophia "Ah! Woah—!">>
<<text "She loses her balance entirely. With a sharp gasp, she slips backward, her arms flailing as the binder crashes to the carpet. She falls directly toward you.">>
<<text "THUD.">>
<<storyImg "assets/Quests/Sophia/MainQuest1/fall.webp">>
<<text "As she moves to push herself up, her hips shift instinctively against you. The thin fabric of her tight pencil skirt offers almost no barrier. Your cock presses directly into her pussy. She freezes as she feels the distinct, thick hardness of your involuntary erection straining against her.">>
<<chat sophia "//((flustered, breathless))// I... ah! Get off me! Get—I mean, I tripped! Don't just sit there holding my hips like that!">><<advancetime 10>>
<div class="choice-buttons" id="sophia_choices">
<<button "“Careful, stepmom... You keep falling into my lap like that and Vance won't be the only one making demands around here.”">>
<<replace "#sophia_choices">>
<<playerchat "Careful, stepmom... You keep falling into my lap like that and Vance won't be the only one making demands around here.">>
<<text "Sophia gasps, a shiver running visibly down her spine. Her core twitches against your lap before she frantically pushes off your chest, scrambling to her feet with her face burning bright red.">>
<<chat sophia "Y-You... how dare you! That was an accident!">>
<<addLust 2 sophia>>
<<addCHA 3>>
<<text "She smooths down her twisted pencil skirt with shaking hands, her breathing short and ragged as she refuses to make direct eye contact.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="SophiaMainQuest1P4">
<img src="assets/Locations/House/sophia_office.webp">
<span>Continue</span>
</a>
</div>
<</replace>>
<</button>>
<<button "“You know... you could drop into my lap anytime, Sophia...”">>
<<replace "#sophia_choices">>
<<playerchat "You know... you could drop into my lap anytime, Sophia...">>
<<text "Sophia scoffs loudly, shoving hard against your shoulders to stand up, smoothing her skirt with an irritated glare.">>
<<chat sophia "Grow up. This isn't a joke, my entire career is on the line!">>
<<addRel -1 sophia>>
<<addCHA -1>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="SophiaMainQuest1P4">
<img src="assets/Locations/House/sophia_office.webp">
<span>Continue</span>
</a>
</div>
<</replace>>
<</button>>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/sophia_office.webp')"></div>
<div class="location-ui">
<<text "Sophia stands beside her desk, frantically adjusting her thin white blouse and smoothing out the deep wrinkles in her pencil skirt. Her chest continues to heave, her skin flushed red from the intense physical contact.">>
<<chat sophia "Listen to me! If the carbon receipt isn't digitized, it means it's still sitting in the physical vault archive down at the District Records Depot downtown!">>
<<text "She paces over to her desk, grabbing a pen and aggressively scribbling an authorization code on a yellow sticky note.">>
<<storyImg "assets/Quests/Sophia/MainQuest1/code.webp">>
<<chat sophia "The archiving manager down there is notoriously difficult to work with, but he keeps physical carbon copies of last quarter's commercial invoices in the back vault. You need to get down to the depot right now, find the physical carbon copy for the April 12th transaction, and bring it back here before Vance arrives.">>
<<text "She shoves the sticky note into your hand, her fingers trembling slightly as they brush against yours.">>
<<chat sophia "If you bring that receipt back, I'll... I'll make it worth your while. Just go! Now!">>
<<advancetime 10>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="SophiaMainQuest1P5">
<img src="assets/Locations/City/city.webp">
<span>District Records Depot</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/City/city.webp')"></div>
<div class="location-ui">
<<text "You arrive at the dimly lit, dusty basement level of the District Records Depot. The air smells of old paper, ozone, and industrial floor cleaner.">>
<<text "Behind a high glass counter sits a woman. You manage to read her nameplate - Brenda.">>
<<storyImg "assets/Quests/Sophia/MainQuest1/reception.webp">>
<<playerchat "Excuse me. I need to retrieve a physical carbon invoice from the April commercial archives. It's urgent.">>
<<text "Brenda slowly lowers her magazine, eyeing you up and down over the rim of her glasses with absolute indifference. She takes a long drag from an electronic cigarette, exhaling a thick cloud smoke.">>
<<rchat "Brenda" "assets/Quests/Sophia/MainQuest1/brenda.webp" "April archives? Honey, those boxes are stacked eight feet high in the back sub-basement vault. It's pitch black, dusty, and I just sat down for my break.">>
<<playerchat "I have a written authorization code right here from Kane Financial.">>
<<text "Brenda doesn't even glance at the sticky note. She pops a piece of bubblegum into her mouth and leans back in her squeaky vinyl chair.">>
<<rchat "Brenda" "assets/Quests/Sophia/MainQuest1/brenda.webp" "Code or no code, I ain't digging through a dusty basement for free on a Tuesday morning. My back aches, the AC is broken down here, and I don't move unless I'm properly motivated. So unless you want to come back next Thursday when the temp intern is here... you better figure out a way to make it worth my while.">>
<<text "She smiles slowly, a coy, suggestive look gleaming in her eyes as her gaze drops down to your chest and waist.">>
<div class="choice-buttons" id="sophia_choices">
<<button "Step behind the counter and assert control">>
<<replace "#sophia_choices">>
<<text "You don't waste time arguing. You push through the waist-high wooden gate beside the counter, stepping directly into her personal space behind the desk. Brenda’s eyes widen in surprise, her breath catching as you loom over her chair.">>
<<playerchat "How about we make a deal, Brenda? You give me that key, and I give you something to break up the boredom of your shift.">>
<<text "Before she can respond, you reach down, grasping her chin firmly and tilting her head back. She lets out a wet, raspy gasp as you pull open her thick cardigan, sliding your hand beneath her blouse to palm her large, heavy breast over her lace bra.">>
<<rchat "Brenda" "assets/Quests/Sophia/MainQuest1/brenda.webp" "Mmm... oh my... well aren't you a bold little stallion...">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="SophiaMainQuest1BrendaSex">
<img src="assets/Quests/Sophia/MainQuest1/storage.webp">
<span>Fuck her</span>
</a>
</div>
<</replace>>
<</button>>
<<button "Bribe her with cash">>
<<replace "#sophia_choices">>
<<if $money <= 100>>
<<rchat "Brenda" "assets/Quests/Sophia/MainQuest1/brenda.webp" "You dont have enough, pretty boy...">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="SophiaMainQuest1BrendaSex">
<img src="assets/Quests/Sophia/MainQuest1/storage.webp">
<span>Fuck her</span>
</a>
</div>
<<else>>
<<text "You slide a crisp $50 bill across the counter, letting your hand rest over hers, your thumb softly stroking the back of her wrist.">>
<<playerchat "You hand me the vault key, I'll go down and find the box myself, and when I come back up... maybe I'll buy you lunch.">>
<<text "Brenda looks at expecting a $100 bill...">>
<<playerchat "Alright...">>
<<addmoney -100>>
<<rchat "Brenda" "assets/Quests/Sophia/MainQuest1/brenda.webp" "You're a smooth talker, aren't you? Key's on the hook behind you, desk drawer four. Don't make a mess down there, handsome.">>
<<addCHA 3>><<advancetime 10>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="SophiaMainQuest1P6">
<img src="assets/Quests/Sophia/MainQuest1/storage.webp">
<span>Continue</span>
</a>
</div>
<</if>>
<</replace>>
<</button>>
</div>
</div><div class="location-bg" style="background-image: url('assets/Quests/Sophia/MainQuest1/storage.webp')"></div>
<div class="location-ui">
<<text "Using the brass key, you unlock the rusted iron gate leading down to the sub-basement vault. The air down here is freezing and dusty.">>
<<text "After ten minutes of searching through towering rows of cardboard file boxes, you locate the box labeled '//COMMERCIAL INVOICES — Q2 APRIL.//'">>
<<text "You flip through the thick carbon paper folders until your eyes land on the document:">>
<<storyImg "assets/Quests/Sophia/MainQuest1/reciept.webp">>
<<text "//OFFICIAL VENDOR RECEIPT — APRIL 12TH CLIENT: VANCE DEVELOPMENT CORP AMOUNT: $45,000.00 STATUS: PAID IN FULL / PENDING MANUAL ARCHIVE STAMP: CERTIFIED BY CITY FINANCIAL HUB//">>
<<advancetime 10>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="SophiaMainQuest1P7">
<img src="assets/Locations/House/sophia_office.webp">
<span>Return</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/sophia_office.webp')"></div>
<div class="location-ui">
<<text "You burst through the front door of the Kane residence and head straight for the upstairs office. As you reach the hallway, a booming, deeply arrogant male voice echoes through the half-open door.">>
<<storyImg "assets/Quests/Sophia/MainQuest1/vance.webp">>
<<rchat "Arthur Vance" "assets/Quests/Sophia/MainQuest1/vance.webp" "I don't give a damn about your excuses, Sophia! Forty-five thousand dollars doesn't just vanish into thin air! This firm is amateur hour, and I'm pulling my account today unless you can produce physical proof right now!">>
<<text "You push the door open smoothly.">>
<<text "Arthur Vance—a tall, heavily built man in his late 50s wearing a bespoke three-piece suit—is leaning far over Sophia’s desk, hovering over her aggressively.">>
<<storyImg "assets/Quests/Sophia/MainQuest1/fight.webp">>
<<text "Sophia is trapped in her leather swivel chair, cornered against the wall behind her desk. She is pale, her knuckles white as she grips the arms of her chair, trembling with quiet rage.">>
<<chat sophia "Mr. Vance, I assure you the paper trail exists, if you would just give my team until the end of the day—">>
<<rchat "Arthur Vance" "assets/Quests/Sophia/MainQuest1/vance.webp" "End of the day?! I'm a busy man, Sophia! My time is money!">>
<<text "You walk directly past Vance without uttering a word to him. You step around the side of the mahogany desk, moving straight up behind Sophia’s chair.">>
<<text "As you reach around her, your fingers deliberately brush against her hip, feeling the intense warmth radiating through her skirt. Sophia lets out a tiny, barely audible gasp, her head tilting back slightly against your chest as her pulse skyrockets.">>
<<playerchat "Here's your missing $45,000 line item, Vance.">>
<<text "Your voice vibrates deeply through your chest directly into Sophia’s back.">>
<<playerchat "Itemized, stamped, and signed by the vendor on April 12th. Sophia's math was spot on—yours was sloppy.">>
<<text "Arthur Vance blinks in shock, his face turning bright red as he snatches the yellow carbon paper off the desk. He stares at the official stamp, his mouth opening and closing like a fish out of water.">>
<<rchat "Arthur Vance" "assets/Quests/Sophia/MainQuest1/vance.webp" "This... this is... why wasn't this digitized in the system?!">>
<<playerchat "Because the vendor processed it offline, which your own CFO approved on the 13th. You would know that if you checked your own internal records before storming in here yelling at Sophia.">>
<<text "Vance stammers incoherently, clutching the paper. He looks at you, then looks at Sophia—who is sitting pinned between your body and her desk, her cheeks burning crimson, breathing heavily.">>
<<rchat "Arthur Vance" "assets/Quests/Sophia/MainQuest1/vance.webp" "I... well. It seems... there was an administrative oversight on our end. I will... have my accountants review this.">>
<<text "Without another word, Vance grabs his leather briefcase, adjusts his necktie in embarrassment, and rapidly exits the office, slamming the front door downstairs seconds later.">>
<<advancetime 10>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="SophiaMainQuest1P8">
<img src="assets/Locations/House/sophia_office.webp">
<span>Continue</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/sophia_office.webp')"></div>
<div class="location-ui">
<<text "The moment the heavy front door slams shut downstairs, the room falls into dead silence.">>
<<chat sophia "//(whispering, breathless)// God... oh god...">>
<<text "Slowly, she tilts her head up to look at you. Her golden hair is messy, her blue eyes dark with a sudden, heavy mixture of relief and intense, unspoken desire. Her small hands remain firmly planted on your thighs, her thumb softly stroking the denim near your groin.">>
<<storyImg "assets/Quests/Sophia/MainQuest1/greatful.webp">>
<<chat sophia "You saved me... You completely saved my firm.">>
<<text "She reaches onto her desk without breaking eye contact, reaching into her designer purse and pulling out a thick roll of cash. She thrusts $150 in crisp bills into your hand, her fingers lingering against your palm, rubbing against your skin.">>
<<chat sophia "Take this money... and please, leave the room right now before I lose my mind and do something we both regret.">>
<<addmoney 150>>
<<addRel 8 sophia>>
<<addLust 4 sophia>>
<<addCHA 1>><<advancetime 10>>
<<text "She bites her lower lip, her gaze dropping down to your chest before she finally releases your thighs, turning her chair back toward her desk with a heavy sigh.">>
<<include "SophiaMainQuest1Complete">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="UpstairsHallway">
<img src="assets/Locations/House/upstairs_hallway.webp">
<span>Leave</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/livingroom.webp')"></div>
<div class="location-title">The Morning Routine</div>
<div class="location-ui">
<<text "It's early. Too early. But the living room isn't empty.">>
<<text "The coffee table has been shoved against the wall. A yoga mat is unrolled across the hardwood. And Sophia is standing in the middle of it, mid-pose.">>
<<storyImg "assets/Quests/Sophia/YogaUnlockQuest/sophia_midpose.webp">>
<<text "She's wearing a matching set — a light blue top and shorts that look painted on. Every muscle in her back moves as she transitions into the next pose, slow and controlled, and her ass rolls toward you like it's got a personal grudge against your self-control.">>
<<playerchat "//(Holy shit.)//">>
<<text "She hasn't noticed you yet.">>
<div class="choice-buttons" id="yoga_watch">
<<button "Watch her for a minute">>
<<replace "#yoga_watch">>
<<text "You don't move. You don't breathe. You just watch.">>
<<text "Your cock is hard as a rock.">>
<<storyImg "assets/Quests/Sophia/YogaUnlockQuest/sophia_yoga2.webp">>
<<text "She shifts into a forward fold, bending at the waist, her ass pointed directly at you. And then — she speaks, without turning around.">>
<<chat sophia "Are you going to stand there breathing like a creep, or are you going to say something?">>
<<text "Your heart stops.">>
<<text "She straightens up slowly and turns around, one hand on her hip, the other pushing her hair back from her forehead. She's not angry. She's not even surprised. She's just... looking at you.">>
<<chat sophia "How long have you been standing there?">>
<<addLust 1 sophia>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="SophiaYogaUnlockQuestP2">
<img src="assets/Locations/House/livingroom.webp">
<span>Answer her</span>
</a>
</div>
<</replace>>
<</button>>
<<button "Clear your throat and announce yourself">>
<<replace "#yoga_watch">>
<<text "You clear your throat. Loudly.">>
<<text "Sophia flinches mid-pose, her balance wobbling for half a second before she catches herself.">>
<<storyImg "assets/Quests/Sophia/YogaUnlockQuest/sophia_yoga2.webp">>
<<chat sophia "Do you make a habit of sneaking up on people?">>
<<playerchat "I wasn't sneaking. I just came down for coffee.">>
<<text "She straightens up fully, hands on her hips, and looks you up and down. Her tits are still heaving from the workout. Her nipples are hard.">>
<<chat sophia "And instead you found me. Convenient.">>
<<text "She picks up her water bottle and takes a long drink, watching you over the rim. A single drop escapes and runs down her chin, her neck, disappearing into her cleavage.">>
<<addLust 1 sophia>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="SophiaYogaUnlockQuestP2">
<img src="assets/Locations/House/livingroom.webp">
<span>Continue</span>
</a>
</div>
<</replace>>
<</button>>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/livingroom.webp')"></div>
<div class="location-ui">
<<text "You tell her the truth — or something close to it. That you came down for coffee and found her instead.">>
<<chat sophia "Mmh. And now?">>
<<playerchat "Now I'm... curious.">>
<<text "She raises an eyebrow.">>
<<chat sophia "Curious?">>
<<playerchat "About the routine. How long have you been doing this?">>
<<text "She studies you for a moment, like she's deciding whether you're worth the effort of a real answer. Then she sighs and picks up her mat, rolling it out a little further.">>
<<chat sophia "Every weekday morning. Before 12, before the phone starts ringing. It's the only hour of the day that's actually mine.">>
<<playerchat "So why do it out here?">>
<<chat sophia "Because my office has no space and my bedroom has a bed in it, and I don't trust myself.">>
<<text "She says it flatly, like it's an obvious fact. Then she catches herself and her cheeks flush slightly.">>
<<chat sophia "Anyway. It's not important. What's important is that I'm not done, and you're in the way.">>
<<text "She gestures toward the hallway.">>
<<chat sophia "Go. Shoo.">>
<<text "You don't move.">>
<<playerchat "Can I join you?">>
<<text "She blinks. Then laughs — a short, sharp sound that's more surprise than amusement.">>
<<chat sophia "You? Join me?">>
<<playerchat "Why not? You said it's the only hour that's yours. Could be a decent way to start the day.">>
<<text "She looks at you for a long moment. Her tits rise and fall. Her eyes narrow, then soften, then narrow again, like she's arguing with herself and losing.">>
<<chat sophia "You know what you're asking? This isn't a stroll around the block. I've been doing this for years. You'll be on the floor in five minutes.">>
<<playerchat "Then it's a good thing the floor's right there.">>
<<text "She stares at you. Then she snorts — actually snorts — and shakes her head.">>
<<chat sophia "Fine. But you do what I say, when I say it, and you don't complain. And if you can't keep up, you're out. Deal?">>
<<playerchat "Deal.">>
<<text "She gestures at the mat. You step onto it.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="SophiaYogaUnlockQuestP3">
<img src="assets/Locations/House/livingroom.webp">
<span>Get into position</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/livingroom.webp')"></div>
<div class="location-ui">
<<text "She starts checking your physique out, to see if you're ready.">>
<<storyVideo "assets/Quests/Sophia/YogaUnlockQuest/clip1.mp4">>
<<chat sophia "Straighten your spine. There. Like that.">>
<<text "Her tits brush against your shoulder when she leans in. You feel it.">>
<<storyVideo "assets/Quests/Sophia/YogaUnlockQuest/clip2.mp4">>
<<chat sophia "You're not as bad as I thought, but we'll see how you keep up with my tempo, $playerName.">>
<div class="choice-buttons" id="yoga_watch">
<<button "Try to workout">>
<<replace "#yoga_watch">>
<<if $STR >= 25>>
<<goto "SophiaYogaUnlockQuestP4">>
<<else>>
<<goto "SophiaYogaUnlockQuestFail">>
<</if>>
<</replace>>
<</button>>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/livingroom.webp')"></div>
<div class="location-ui">
<<text "Sophia puts you into the first position and...">>
<<storyVideo "assets/Quests/Sophia/YogaUnlockQuest/clip3.mp4">>
<<text "You collapse. Not gracefully. Not dramatically. Just... down, face-first into the mat, your arms giving out mid-plank like a cheap lawn chair.">>
<<text "Sophia looks down at you. Then she laughs. Really laughs — a full, warm sound you've never heard from her before.">>
<<chat sophia "I warned you.">>
<<playerchat "You... did...">>
<<text "She kneels beside you, still smiling, and offers you her hand.">>
<<chat sophia "Come on. Up.">>
<<text "You take her hand. She pulls you up. Her grip is stronger than it looks.">>
<<chat sophia "Now please, if you don't mind, I would like to finish the workout in my own tempo.">>
<<advancetime 15>>
<<text "She turns back to her mat. You drag yourself to the kitchen for that coffee, every muscle in your body screaming.">>
<<text "The quest will remain available. Get your Strength to 25 and try again.">>
<<advancetime 60>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="DownstairsHallway">
<img src="assets/Locations/House/downstairs_hallway.webp">
<span>Leave</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/livingroom.webp')"></div>
<div class="location-ui">
<<text "All of the working out payed off. You follow Sophia's tempo.">>
<<storyVideo "assets/Quests/Sophia/YogaUnlockQuest/clip4.mp4">>
<<text "Sophia stretches her arms overhead and exhales, and for the first time all morning, she looks relaxed. Loose. Almost soft.">>
<<storyVideo "assets/Quests/Sophia/YogaUnlockQuest/clip5.mp4">>
<<chat sophia "Not bad. You're actually keeping up. I'm impressed.">>
<<playerchat "High praise.">>
<<chat sophia "Don't let it go to your head.">>
<<text "She drops down onto the mat and gestures for you to do the same.">>
<<storyVideo "assets/Quests/Sophia/YogaUnlockQuest/clip6.mp4">>
<<chat sophia "We're not done. Cooldown stretches. These are the important ones. You'll be useless tomorrow if you skip them.">>
<<text "You sit beneath her. She tells you to do a cat-cow pose, putting her pussy inches away from your face.">>
<<storyVideo "assets/Quests/Sophia/YogaUnlockQuest/clip7.mp4">>
<<chat sophia "You're supposed to be stretching, not staring.">>
<<playerchat "I'm stretching.">>
<<chat sophia "You're staring. I can feel it.">>
<<storyVideo "assets/Quests/Sophia/YogaUnlockQuest/clip9.mp4">>
<<text "She switches legs. Then she lies back on the mat, knees bent, and extends both arms toward you.">>
<<chat sophia "Alright. The last one, don't slack now.">>
<<storyVideo "assets/Quests/Sophia/YogaUnlockQuest/clip8.mp4">>
<<text "Sophia stops to look at you, flustered.">>
<<chat sophia "...You're hard.">>
<<text "You don't answer. You can't. She's right. Your cock is straining against your jeans and there's no hiding it from this angle.">>
<<text "Sophia doesn't move. Doesn't push you away. Her breathing is shallow. Her cheeks are flushed — not from the workout this time.">>
<<chat sophia "You're helping me stretch. That's all this is. Understand?">>
<<playerchat "Understood.">>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="SophiaYogaUnlockQuestEnd">
<img src="assets/Locations/House/livingroom.webp">
<span>Finish the stretch</span>
</a>
</div>
</div><div class="location-bg" style="background-image: url('assets/Locations/House/livingroom.webp')"></div>
<div class="location-ui">
<<text "Neither of you says anything for a moment. The tension in the room is thick enough to chew.">>
<<chat sophia "Well. That's the routine.">>
<<playerchat "Same time tomorrow?">>
<<chat sophia "You're serious? You want to keep doing this?">>
<<playerchat "I kept up. Barely. I want to get better.">>
<<text "She holds your gaze for a beat. Then she nods, once.">>
<<chat sophia "Fine. Mornings. Before 12. Don't be late.">>
<<text "She rolls up her mat and heads for the stairs. At the door she pauses, looking back over her shoulder.">>
<<chat sophia "And... wear something you can move in. Next time.">>
<<text "Then she's gone.">>
<<text "You're left standing in the living room with a very hard cock and the faint smell of her sweat still hanging in the air.">>
<<set $CharQuests.sophia.sophiaYogaUnlockQuest.status to "completed">>
<<set $sophiaYogaUnlock to true>>
<<addRel 2 sophia>>
<<addLust 1 sophia>>
<<addSTR 3>>
<<advancetime 60>>
<div class="location-grid">
<a class="loc-btn loc-btn--wide" data-passage="DownstairsHallway">
<img src="assets/Locations/House/downstairs_hallway.webp">
<span>Leave</span>
</a>
</div>
</div><div id="charmenu-ui">
<div class="charmenu-header">👥 Characters</div>
<div class="char-menu-back"><<button "← Back">><<run Engine.backward()>><</button>></div>
<div class="charmenu-grid">
<<set _ids to Object.keys($characters)>>
<<for _i = 0; _i < _ids.length; _i++>>
<<set _cid to _ids[_i]>>
<<set _c to $characters[_cid]>>
<<capture _cid>>
<div class="charmenu-card">
<div class="charmenu-avatar-wrap" @style="'border-color:' + _c.color + '; box-shadow: 0 0 16px ' + _c.color + '44'">
<img class="charmenu-avatar" @src="_c.image" alt="">
</div>
<div class="charmenu-name" @style="'color:' + _c.color"><<= _c.name>></div>
<div class="charmenu-stats">
<div class="charmenu-stat">
<span class="charmenu-stat-label">❤️ REL</span>
<div class="charmenu-stat-track">
<div class="charmenu-stat-fill" @style="'width:' + Math.min(_c.relationship, 100) + '%; background:' + _c.color"></div>
</div>
<span class="charmenu-stat-num"><<= _c.relationship>></span>
</div>
<div class="charmenu-stat">
<span class="charmenu-stat-label">🔥 LUS</span>
<div class="charmenu-stat-track">
<div class="charmenu-stat-fill charmenu-lust-fill" @style="'width:' + Math.min(_c.lust, 100) + '%'"></div>
</div>
<span class="charmenu-stat-num"><<= _c.lust>></span>
</div>
<div class="charmenu-stat">
<div class="charmenu-level">LUST LEVEL <<= _c.level>></div>
</div>
</div>
<<link "View Profile">>
<<set $selectedChar to _cid>>
<<goto "Characters">>
<</link>>
</div>
<</capture>>
<</for>>
</div>
</div><<set _cid to $selectedChar>>
<<set _c to $characters[_cid]>>
<div id="char-ui" @style="'--cc:' + _c.color">
<!-- Portrait -->
<div class="cp-portrait-wrap">
<img class="cp-portrait-img" @src="_c.image" alt="">
<div class="cp-portrait-overlay"></div>
<div class="cp-portrait-top">
<<button "← Back">><<<<run Engine.backward()>>>><</button>>
</div>
<div class="cp-portrait-bottom">
<div class="cp-name"><<= _c.name>></div>
<div class="cp-accent"></div>
</div>
</div>
<!-- Stats -->
<div class="cp-stats">
<div class="cp-stat">
<div class="cp-stat-head">
<span class="cp-stat-icon">❤️</span>
<span class="cp-stat-label">Relationship</span>
<span class="cp-stat-num"><<= _c.relationship>><span class="cp-stat-denom">/100</span></span>
</div>
<div class="cp-track">
<div class="cp-fill" @style="'width:' + Math.min(_c.relationship,100) + '%; background:' + _c.color"></div>
</div>
</div>
<div class="cp-stat">
<div class="cp-stat-head">
<span class="cp-stat-icon">🔥</span>
<span class="cp-stat-label">Lust</span>
<span class="cp-stat-num"><<= _c.lust>><span class="cp-stat-denom">/100</span></span>
</div>
<div class="cp-track">
<div class="cp-fill cp-fill-lust" @style="'width:' + Math.min(_c.lust,100) + '%'"></div>
</div>
</div>
<div class="charmenu-stat" style="margin-top:12px; margin-bottom: 12px;">
<div class="charmenu-level">LUST LEVEL <<= _c.level>></div>
</div>
</div>
<!-- Toggle -->
<button id="cp-toggle" class="cp-toggle">
<span>More Details</span><span id="cp-arrow">▼</span>
</button>
<!-- Panel -->
<div id="cp-panel" class="cp-panel">
<!-- Location -->
<<set _loc to State.variables[_cid.charAt(0).toUpperCase() + _cid.slice(1)]>>
<<if _loc && _loc.location>>
<div class="cp-block">
<div class="cp-block-title">📍 Location</div>
<div class="cp-inforow">
<span class="cp-infokey">Currently at</span>
<span class="cp-infoval"><<= _loc.location>></span>
</div>
</div>
<</if>>
<!-- Quests -->
<<if $CharQuests && $CharQuests[_cid]>>
<<set _cqs to $CharQuests[_cid]>>
<<set _qA to []>>
<<set _qD to []>>
<<set _qL to []>>
<<set _qids to Object.keys(_cqs)>>
<<for _i = 0; _i < _qids.length; _i++>>
<<set _qid to _qids[_i]>>
<<if _cqs[_qid].status is 'active'>> <<run _qA.push(_qid)>>
<<elseif _cqs[_qid].status is 'completed'>><<run _qD.push(_qid)>>
<<else>> <<run _qL.push(_qid)>>
<</if>>
<</for>>
<<if _qA.length > 0>>
<div class="cp-block">
<div class="cp-block-title">⚔️ Active Quests</div>
<<for _i = 0; _i < _qA.length; _i++>>
<<set _q to _cqs[_qA[_i]]>>
<div class="cp-quest cp-q-active" @style="'border-left-color:' + _c.color">
<div class="cp-q-name" @style="'color:' + _c.color"><<= _q.name>></div>
<div class="cp-q-desc"><<= _q.description>></div>
<div class="cp-q-sublabel">📌 Next Step</div>
<div class="cp-q-step" @style="'color:' + _c.color"><<= _q.steps[_q.step]>></div>
<<if _q.requirements neq "None.">>
<div class="cp-q-sublabel" style="margin-top:4px">📋 Requires</div>
<div class="cp-q-req"><<= _q.requirements>></div>
<</if>>
<div class="cp-q-prog">
<span class="cp-q-prog-txt">Step <<= _q.step+1>> / <<= _q.steps.length>></span>
<div class="cp-q-track">
<div class="cp-q-bar" @style="'width:'+Math.round((_q.step+1)/_q.steps.length*100)+'%; background:'+_c.color"></div>
</div>
</div>
</div>
<</for>>
</div>
<</if>>
<<if _qL.length > 0>>
<div class="cp-block">
<div class="cp-block-title">🔒 Locked Quests</div>
<<for _i = 0; _i < _qL.length; _i++>>
<<set _q to _cqs[_qL[_i]]>>
<div class="cp-quest cp-q-locked">
<div class="cp-q-name"><<= _q.name>></div>
<div class="cp-q-req">Requires: <<= _q.requirements>></div>
</div>
<</for>>
</div>
<</if>>
<<if _qD.length > 0>>
<div class="cp-block">
<div class="cp-block-title">✅ Completed Quests</div>
<<for _i = 0; _i < _qD.length; _i++>>
<<set _q to _cqs[_qD[_i]]>>
<div class="cp-quest cp-q-done">
<div class="cp-q-name"><<= _q.name>></div>
<div class="cp-q-desc"><<= _q.description>></div>
</div>
<</for>>
</div>
<</if>>
<</if>>
</div>
</div>
<script>
(function(){
var btn = document.getElementById('cp-toggle');
var panel = document.getElementById('cp-panel');
var arrow = document.getElementById('cp-arrow');
if (!btn || !panel) return;
btn.addEventListener('click', function(){
var open = panel.classList.toggle('cp-open');
arrow.textContent = open ? '▲' : '▼';
});
}());
</script><div class="ch-log"><span class="ch-log-out">
<<if $chLast>>$chLast<<set $chLast to "">><</if>>
<<if $moneyCheatOpt is not 0>>
<<addmoney $moneyCheatOpt>>
<<set $moneyCheatOpt to 0>>
<</if>>
<<if $strCheatOpt is not 0>>
<<addSTR $strCheatOpt>>
<<set $strCheatOpt to 0>>
<</if>>
<<if $intCheatOpt is not 0>>
<<addINT $intCheatOpt>>
<<set $intCheatOpt to 0>>
<</if>>
<<if $chaCheatOpt is not 0>>
<<addCHA $chaCheatOpt>>
<<set $chaCheatOpt to 0>>
<</if>>
<<if $sthCheatOpt is not 0>>
<<addSTH $sthCheatOpt>>
<<set $sthCheatOpt to 0>>
<</if>>
<<if $lilithLustCheatOpt is not 0>>
<<addLust $lilithLustCheatOpt lilith>>
<<set $lilithLustCheatOpt to 0>>
<</if>>
<<if $lilithRelCheatOpt is not 0>>
<<addRel $lilithRelCheatOpt lilith>>
<<set $lilithRelCheatOpt to 0>>
<</if>>
<<if $sophiaLustCheatOpt is not 0>>
<<addLust $sophiaLustCheatOpt sophia>>
<<set $sophiaLustCheatOpt to 0>>
<</if>>
<<if $sophiaRelCheatOpt is not 0>>
<<addRel $sophiaRelCheatOpt sophia>>
<<set $sophiaRelCheatOpt to 0>>
<</if>>
<<if $nicoleLustCheatOpt is not 0>>
<<addLust $nicoleLustCheatOpt nicole>>
<<set $nicoleLustCheatOpt to 0>>
<</if>>
<<if $nicoleRelCheatOpt is not 0>>
<<addRel $nicoleRelCheatOpt nicole>>
<<set $nicoleRelCheatOpt to 0>>
<</if>>
<<if $clairLustCheatOpt is not 0>>
<<addLust $clairLustCheatOpt clair>>
<<set $clairLustCheatOpt to 0>>
<</if>>
<<if $clairRelCheatOpt is not 0>>
<<addRel $clairRelCheatOpt clair>>
<<set $clairRelCheatOpt to 0>>
<</if>>
</span></div>
<div class="ch-bg"></div>
<div class="ch-root">
<div class="ch-head">
<div>
<div class="ch-title" style="margin-left: 20px;">CHEAT MENU</div>
</div>
<a class="ch-return" data-passage="$cheatMenu_returnPassage">← RETURN</a>
</div>
<div class="ch-scroll">
<div class="ch-grid">
/* ═══ GENERAL ═══ */
<div class="ch-card">
<div class="ch-card-title">GENERAL</div>
<div class="ch-row"><span class="ch-lbl">MONEY</span><div class="ch-btns">
<<button "+100$">><<set $moneyCheatOpt to 100>><<run Engine.play(passage())>><</button>>
<<button "+1000$">><<set $moneyCheatOpt to 1000>><<run Engine.play(passage())>><</button>>
<<button "+10000$">><<set $moneyCheatOpt to 10000>><<run Engine.play(passage())>><</button>>
</div></div>
<div class="ch-row"><span class="ch-lbl">MAX ENERGY <span class="ch-val">$maxEnergy</span></span><div class="ch-btns">
<<button "+25">><<set $maxEnergy += 25>><<set $chLast to "+25 max energy">><<run Engine.play(passage())>><</button>>
<<button "-25">><<set $maxEnergy -= 25>><<set $chLast to "-25 max energy">><<run Engine.play(passage())>><</button>>
</div></div>
<div class="ch-row"><span class="ch-lbl">ENERGY <span class="ch-val">$energy / $maxEnergy</span></span><div class="ch-btns">
<<button "Fill">><<set $energy to $maxEnergy>><<set $chLast to "Energy filled">><<run Engine.play(passage())>><</button>>
<<button "Empty">><<set $energy to 0>><<set $chLast to "Energy emptied">><<run Engine.play(passage())>><</button>>
</div></div>
</div>
/* ═══ STATS ═══ */
<div class="ch-card">
<div class="ch-card-title">STATS</div>
<div class="ch-row"><span class="ch-lbl">STR</span><div class="ch-btns">
<<button "+1">><<set $strCheatOpt to 1>><<run Engine.play(passage())>><</button>>
<<button "+10">><<set $strCheatOpt to 10>><<run Engine.play(passage())>><</button>>
<<button "+25">><<set $strCheatOpt to 25>><<run Engine.play(passage())>><</button>>
</div></div>
<div class="ch-row"><span class="ch-lbl">INT</span><div class="ch-btns">
<<button "+1">><<set $intCheatOpt to 1>><<run Engine.play(passage())>><</button>>
<<button "+10">><<set $intCheatOpt to 10>><<run Engine.play(passage())>><</button>>
<<button "+25">><<set $intCheatOpt to 25>><<run Engine.play(passage())>><</button>>
</div></div>
<div class="ch-row"><span class="ch-lbl">CHA</span><div class="ch-btns">
<<button "+1">><<set $chaCheatOpt to 1>><<run Engine.play(passage())>><</button>>
<<button "+10">><<set $chaCheatOpt to 10>><<run Engine.play(passage())>><</button>>
<<button "+25">><<set $chaCheatOpt to 25>><<run Engine.play(passage())>><</button>>
</div></div>
<div class="ch-row"><span class="ch-lbl">STH</span><div class="ch-btns">
<<button "+1">><<set $sthCheatOpt to 1>><<run Engine.play(passage())>><</button>>
<<button "+10">><<set $sthCheatOpt to 10>><<run Engine.play(passage())>><</button>>
<<button "+25">><<set $sthCheatOpt to 25>><<run Engine.play(passage())>><</button>>
</div></div>
</div>
/* ═══ LILITH ═══ */
<div class="ch-card">
<div class="ch-card-title">LILITH</div>
<div class="ch-row"><span class="ch-lbl">LUST</span><div class="ch-btns">
<<button "+1">><<set $lilithLustCheatOpt to 1>><<run Engine.play(passage())>><</button>>
<<button "+5">><<set $lilithLustCheatOpt to 5>><<run Engine.play(passage())>><</button>>
</div></div>
<div class="ch-row"><span class="ch-lbl">REL</span><div class="ch-btns">
<<button "+1">><<set $lilithRelCheatOpt to 1>><<run Engine.play(passage())>><</button>>
<<button "+5">><<set $lilithRelCheatOpt to 5>><<run Engine.play(passage())>><</button>>
</div></div>
</div>
/* ═══ SOPHIA ═══ */
<div class="ch-card">
<div class="ch-card-title">SOPHIA</div>
<div class="ch-row"><span class="ch-lbl">LUST</span><div class="ch-btns">
<<button "+1">><<set $sophiaLustCheatOpt to 1>><<run Engine.play(passage())>><</button>>
<<button "+5">><<set $sophiaLustCheatOpt to 5>><<run Engine.play(passage())>><</button>>
</div></div>
<div class="ch-row"><span class="ch-lbl">REL</span><div class="ch-btns">
<<button "+1">><<set $sophiaRelCheatOpt to 1>><<run Engine.play(passage())>><</button>>
<<button "+5">><<set $sophiaRelCheatOpt to 5>><<run Engine.play(passage())>><</button>>
</div></div>
<div class="ch-danger">
<<button "Break Lust Level 2">>
<<set $sophiaLustBreak to 2>>
<<set $characters.sophia.level to 2>>
<<set $characters.sophia.lust to 19>>
<<set $sophiaLustCheatOpt to 1>>
<<set $chLast to "Sophia lust level set to 2">>
<<run Engine.play(passage())>>
<</button>>
<div class="ch-warn">Sets Sophia's lust level to 2. Not recommended: auto-completes all her Lust Level 1 quests.</div>
</div>
</div>
/* ═══ CLAIR ═══ */
<div class="ch-card">
<div class="ch-card-title">CLAIR</div>
<div class="ch-row"><span class="ch-lbl">LUST</span><div class="ch-btns">
<<button "+1">><<set $clairLustCheatOpt to 1>><<run Engine.play(passage())>><</button>>
<<button "+5">><<set $clairLustCheatOpt to 5>><<run Engine.play(passage())>><</button>>
</div></div>
<div class="ch-row"><span class="ch-lbl">REL</span><div class="ch-btns">
<<button "+1">><<set $clairRelCheatOpt to 1>><<run Engine.play(passage())>><</button>>
<<button "+5">><<set $clairRelCheatOpt to 5>><<run Engine.play(passage())>><</button>>
</div></div>
<div class="ch-danger">
<<button "Break Lust Level 2">>
<<set $clairLustBreak to 2>>
<<set $characters.clair.level to 2>>
<<set $characters.clair.lust to 19>>
<<set $clairLustCheatOpt to 1>>
<<set $chLast to "Clair lust level set to 2">>
<<run Engine.play(passage())>>
<</button>>
<div class="ch-warn">Sets Clair's lust level to 2. Not recommended: auto-completes all her Lust Level 1 quests.</div>
</div>
</div>
/* ═══ NICOLE ═══ */
<div class="ch-card">
<div class="ch-card-title">NICOLE</div>
<div class="ch-row"><span class="ch-lbl">LUST</span><div class="ch-btns">
<<button "+1">><<set $nicoleLustCheatOpt to 1>><<run Engine.play(passage())>><</button>>
<<button "+5">><<set $nicoleLustCheatOpt to 5>><<run Engine.play(passage())>><</button>>
</div></div>
<div class="ch-row"><span class="ch-lbl">REL</span><div class="ch-btns">
<<button "+1">><<set $nicoleRelCheatOpt to 1>><<run Engine.play(passage())>><</button>>
<<button "+5">><<set $nicoleRelCheatOpt to 5>><<run Engine.play(passage())>><</button>>
</div></div>
<div class="ch-danger">
<<button "Break Lust Level 2">>
<<set $nicoleLustBreak to 2>>
<<set $characters.nicole.level to 2>>
<<set $characters.nicole.lust to 19>>
<<set $nicoleLustCheatOpt to 1>>
<<set $chLast to "Nicole lust level set to 2">>
<<run Engine.play(passage())>>
<</button>>
<div class="ch-warn">Sets Nicole's lust level to 2. Not recommended: auto-completes all her Lust Level 1 quests.</div>
</div>
</div>
<<button "Stuck?" "YourRoom">><</button>>
</div>
</div>
</div>
<style>
@import url('https://fonts.googleapis.com/css2?family=Rajdhani:wght@500;600;700&family=Share+Tech+Mono&display=swap');
.ch-bg{position:fixed;inset:0;z-index:0;background:
radial-gradient(ellipse at 50% 0%,rgba(41,128,185,.14),transparent 60%),
linear-gradient(180deg,#060b12 0%,#03070c 100%)}
.ch-root{position:fixed;inset:0;z-index:2;display:flex;flex-direction:column;font-family:'Rajdhani',sans-serif;animation:chIn .5s ease-out both}
@keyframes chIn{from{opacity:0}to{opacity:1}}
/* header */
.ch-head{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;padding:16px clamp(16px,4vw,48px);
border-bottom:1px solid rgba(41,128,185,.2);background:rgba(8,14,22,.85)}
.ch-sub{font-family:'Share Tech Mono',monospace;font-size:12px;letter-spacing:4px;color:#2980b9}
.ch-title{font-weight:700;font-size:clamp(28px,5vh,38px);letter-spacing:8px;color:#e6f0f5;text-shadow:0 0 20px rgba(41,128,185,.4)}
.ch-return{cursor:pointer;text-decoration:none;border-bottom:none !important;font-weight:600;font-size:18px;letter-spacing:3px;color:#9fb8c6;
padding:10px 20px;border:1px solid rgba(41,128,185,.35);transition:all .2s}
.ch-return:hover{color:#fff;border-color:#1abc9c;background:rgba(26,188,156,.1)}
/* scroll area + grid (single column) */
.ch-scroll{flex:1;overflow-y:auto;padding:20px clamp(16px,4vw,48px) 90px;scrollbar-width:thin;scrollbar-color:#2980b9 transparent}
.ch-scroll::-webkit-scrollbar{width:6px}
.ch-scroll::-webkit-scrollbar-thumb{background:#2980b9}
.ch-grid{max-width:760px;margin:0 auto;display:grid;grid-template-columns:1fr;gap:18px;align-items:start}
/* cards */
.ch-card{padding:18px 22px 12px;background:rgba(10,18,28,.8);border:1px solid rgba(41,128,185,.22);border-left:3px solid #1abc9c}
.ch-card-title{font-weight:700;font-size:22px;letter-spacing:6px;color:#e6f0f5;margin-bottom:12px}
.ch-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid rgba(41,128,185,.1)}
.ch-lbl{font-family:'Share Tech Mono',monospace;font-size:16px;letter-spacing:2px;color:#9fb8c6}
.ch-val{color:#1abc9c;margin-left:8px}
.ch-btns{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}
/* buttons */
.ch-root button{cursor:pointer;min-width:64px;height:40px;padding:0 16px;font-family:'Share Tech Mono',monospace;font-size:16px;letter-spacing:1px;
color:#b5cbd8;background:rgba(41,128,185,.12);border:1px solid rgba(41,128,185,.4);border-radius:0;transition:all .15s}
.ch-root button:hover{color:#fff;background:rgba(26,188,156,.22);border-color:#1abc9c}
.ch-root button:active{transform:translateY(1px)}
/* danger */
.ch-danger{padding:12px 0 10px;border-top:1px solid rgba(41,128,185,.1); display: none;}
.ch-danger button{width:100%;color:#f0b429;background:rgba(240,180,41,.08);border-color:rgba(240,180,41,.45)}
.ch-danger button:hover{color:#fff;background:rgba(240,180,41,.25);border-color:#f0b429}
.ch-warn{margin-top:8px;font-family:'Share Tech Mono',monospace;font-size:13px;line-height:1.5;color:#a8964f}
/* last action bar (pinned, always on top) */
.ch-log{position:fixed;left:0;right:0;bottom:0;z-index:10;display:flex;align-items:center;text-align:center; gap:16px;min-height:52px;padding:8px clamp(16px,4vw,48px);
background:rgba(6,11,18,.96);border-top:1px solid rgba(26,188,156,.45);box-shadow:0 -8px 30px rgba(0,0,0,.6);
font-family:'Rajdhani',sans-serif;font-weight:600;font-size:22px;letter-spacing:1px;color:#1abc9c}
.ch-log-lbl{flex-shrink:0;font-family:'Share Tech Mono',monospace;font-weight:400;font-size:12px;letter-spacing:3px;color:#5e7a8a; padding-left: 60px;}
.ch-log-out{flex:1;min-width:0}
@media (max-width:600px){.ch-row{flex-direction:column;align-items:flex-start}.ch-btns{justify-content:flex-start}.ch-log{font-size:18px}.ch-log-lbl{display:none}}
</style><<goto "Cheats">>
<<button "Stuck?" "YourRoom">><</button>><div id="inv">
<div class="inv-header">
<span class="inv-title">😈 Cheats</span>
</div>
<div class="char-menu-back"><<button "Go to Your Room">><<goto "YourRoom">><</button>></div>
<div id="cheat-unlock-box">
<p>Enter the secret code:</p>
<input type="text" id="cheat-input" autocomplete="off" />
<button id="cheat-submit">Submit</button>
<p id="cheat-result"></p>
</div>
<<text "You can get the cheat codes by supporting on SubscribeStar Adult.">>
<a target=_blank href="https://subscribestar.adult/twisted-developer"><img style="width: 200px" src="assets/General/ssalogo.webp"></a>
</div>
<<script>>
$(document).on('click', '#cheat-submit', function () {
const entered = $('#cheat-input').val().trim().toLowerCase();
const correct = 'alotofcontent004';
if (entered === correct) {
State.variables.cheatCodeActive = true;
$('#cheat-result')
.text('✅ Cheats unlocked! You will see the cheat menu on the sidebar once you close this page!')
.css('color', '#4ade80');
} else {
$('#cheat-result')
.text('❌ Wrong code.')
.css('color', '#f87171');
}
});
<</script>><div id="inv">
<div class="inv-header">
<span class="inv-title">🎒 Inventory</span>
<span class="inv-coins">💲 <<= $money>></span>
</div>
<div class="char-menu-back"><<button "← Back">><<run Engine.backward()>><</button>></div>
<<set _itemIds to Object.keys($inventory)>>
<<if _itemIds.length is 0>>
<div class="inv-empty">Your inventory is empty.</div>
<<else>>
<div class="inv-grid">
<<for _i = 0; _i < _itemIds.length; _i++>>
<<set _id to _itemIds[_i]>>
<<set _data to setup.itemDB[_id]>>
<div class="inv-slot">
<div class="inv-name"><img @src="_data.image" @alt="_data.name"><<= _data.name>><br/><br/><<= _data.description>><br/><br/><span class="inv-qty">×<<= $inventory[_id]>></span></div>
</div>
<</for>>
</div>
<</if>>
</div>/* Edit this to decide who is Main and who is Side */
<<set _groups to [
{ label: "Main", ids: ["lilith", "sophia", "clair", "nicole"] },
{ label: "Side", ids: ["mazy", "stephanie"] }
]>>
<<set _extra to {
stephanie: {name: "Stephanie", color: "#1613b9"}
}>>
<<if typeof $qlGroup is "undefined">><<set $qlGroup to 0>><</if>>
<<set _ids to _groups[$qlGroup].ids>>
<<if !$qlChar or !_ids.includes($qlChar)>><<set $qlChar to _ids[0]>><</if>>
<div id="ql">
<div class="ql-top">
<<button "← Back">><<run Engine.backward()>><</button>>
<span class="ql-title">Quest Log</span>
</div>
/* Group tabs */
<div class="ql-groups">
<<for _g = 0; _g < _groups.length; _g++>>
<<capture _g>>
<span @class="'ql-tab' + (_g is $qlGroup ? ' on' : '')">
<<button _groups[_g].label>>
<<set $qlGroup to _g>>
<<set $qlChar to null>>
<<run Engine.show()>>
<</button>>
</span>
<</capture>>
<</for>>
</div>
/* Character tabs */
<div class="ql-chars">
<<for _i = 0; _i < _ids.length; _i++>>
<<set _cid to _ids[_i]>>
<<set _info to $characters[_cid] || _extra[_cid]>>
<<set _n to $CharQuests[_cid] ? Object.values($CharQuests[_cid]).filter(q => q.status is 'active').length : 0>>
<<capture _cid>>
<span @class="'ql-tab' + (_cid is $qlChar ? ' on' : '')" @style="'--cc:' + _info.color">
<<button _info.name>>
<<set $qlChar to _cid>>
<<run Engine.show()>>
<</button>>
<<if _n > 0>><span class="ql-badge"><<= _n>></span><</if>>
</span>
<</capture>>
<</for>>
</div>
/* Quest page */
<<set _c to $characters[$qlChar] || _extra[$qlChar]>>
<<set _cqs to $CharQuests[$qlChar] || {}>>
<<set _all to Object.values(_cqs)>>
<<set _qA to _all.filter(q => q.status is 'active')>>
<<set _qL to _all.filter(q => q.status isnot 'active' and q.status isnot 'completed')>>
<<set _qD to _all.filter(q => q.status is 'completed')>>
<div class="ql-page" @style="'--cc:' + _c.color">
<<if _qA.length is 0 and _qL.length is 0 and _qD.length is 0>>
<div class="ql-empty">No quests yet.</div>
<</if>>
<<if _qA.length>>
<div class="ql-label">Active</div>
<<for _q range _qA>>
<div class="ql-quest">
<div class="ql-q-name"><<= _q.name>></div>
/*<div class="ql-q-desc"><<= _q.description>></div>*/
<div class="ql-q-step">📌 <<= _q.steps[_q.step]>></div>
<<if _q.requirements isnot "None.">>
<div class="ql-q-req">Requires: <<= _q.requirements>></div>
<</if>>
<div class="ql-bar"><div @style="'width:' + Math.round((_q.step+1)/_q.steps.length*100) + '%'"></div></div>
<div class="ql-q-prog">Step <<= _q.step+1>> / <<= _q.steps.length>></div>
</div>
<</for>>
<</if>>
<<if _qL.length>>
<div class="ql-label">Locked</div>
<<for _q range _qL>>
<div class="ql-quest ql-dim">
<div class="ql-q-name"><<= _q.name>></div>
<div class="ql-q-req">Requires: <<= _q.requirements>></div>
</div>
<</for>>
<</if>>
<<if _qD.length>>
<div class="ql-label">Completed</div>
<<for _q range _qD>>
<div class="ql-quest ql-dim">
<div class="ql-q-name">✓ <<= _q.name>></div>
<div class="ql-q-desc"><<= _q.description>></div>
</div>
<</for>>
<</if>>
</div>
</div>
<style>
#ql { max-width: 560px; margin: 0 auto; padding: 12px; }
.ql-top { display: flex; align-items: center; gap: 12px; margin-bottom: 30px; border-bottom: 1px solid #484545a3; padding-bottom: 10px;}
.ql-top button{
display: block;
width: 50%;
background-color: #0c0c1a;
border: 1px solid #223144;
padding-top: 20px;
padding-bottom: 20px;
font-weight: bold;
border-radius: 6px;
transition: background 0.2s, color 0.2s;
}
.ql-title { font-size: 30px; font-weight: 600; }
.ql-groups, .ql-chars { display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 20px; }
.ql-tab { position: relative; display: inline-block; margin-bottom: 12px; }
.ql-tab button { background: transparent; border: 1px solid #444; color: #aaa; padding: 6px 14px; border-radius: 6px; cursor: pointer; }
.ql-tab.on button { color: #fff; border-color: var(--cc, #888); background: rgba(255,255,255,.08); }
.ql-groups .ql-tab.on button { border-color: #888; }
.ql-badge { position: absolute; top: -6px; right: -6px; background: var(--cc, #888); color: #000; font-size: .7em; min-width: 16px; height: 16px; line-height: 16px; text-align: center; border-radius: 8px; pointer-events: none; }
.ql-page { margin-top: 12px; }
.ql-label { margin: 14px 0 6px; font-size: .75em; letter-spacing: .1em; text-transform: uppercase; opacity: .6; }
.ql-quest { border-left: 3px solid var(--cc, #888); background: rgba(255,255,255,.04); padding: 10px 12px; margin-bottom: 8px; border-radius: 0 6px 6px 0; }
.ql-dim { opacity: .55; }
.ql-q-name { font-weight: 600; color: var(--cc, #fff); }
.ql-q-desc { font-size: .9em; opacity: .8; margin: 2px 0 6px; }
.ql-q-step { font-size: .9em; }
.ql-q-req { font-size: .8em; opacity: .7; margin-top: 4px; }
.ql-bar { height: 4px; background: #333; border-radius: 2px; margin-top: 8px; overflow: hidden; }
.ql-bar div { height: 100%; background: var(--cc, #888); }
.ql-q-prog { font-size: .75em; opacity: .6; margin-top: 3px; }
.ql-empty { opacity: .5; padding: 20px 0; text-align: center; }
.ql-groups { gap: 0; flex-wrap: nowrap; margin: 0 -12px 12px; }
.ql-groups .ql-tab { flex: 1; }
.ql-groups .ql-tab button {
width: 100%;
padding: 14px 0;
font-size: 1.05em;
font-weight: 700;
letter-spacing: .08em;
text-transform: uppercase;
color: #888;
background: rgba(255,255,255,.04);
border: 0;
border-bottom: 3px solid #333;
border-radius: 0;
}
.ql-groups .ql-tab.on button {
color: #fff;
background: rgba(255,255,255,.12);
border-bottom-color: #fff;
}
</style><<set _c to $characters[$selectedChar]>>
<<set _meta to window.mm.moodMeta[$mm_mood]>>
<div id="mm-ui">
<!-- Header -->
<div class="mm-header">
<<if !$mm_done>>
<div class="mm-dots">
<<for _t = 1; _t <= 3; _t++>>
<<if _t lt $mm_turn>>
<span class="mm-dot mm-dot-done">●</span>
<<elseif _t eq $mm_turn>>
<span class="mm-dot" @style="'color:' + _meta.color">●</span>
<<else>>
<span class="mm-dot mm-dot-empty">○</span>
<</if>>
<</for>>
</div>
<</if>>
</div>
<div class="mm-divider"></div>
<!-- Portrait -->
<div class="mm-portrait-wrap" @style="'border-color:' + _c.color + '44'">
<img class="mm-portrait-img" @src="_c.image" alt="">
<div class="mm-portrait-overlay"></div>
<div class="mm-portrait-name" @style="'color:' + _c.color"><<= _c.name>></div>
</div>
<!-- Flavor text from previous turn -->
<<if $mm_flavor neq "">>
<<set _rm to window.mm.resultMeta[$mm_result]>>
<div class="mm-flavor-card">
<div class="mm-flavor-badge" @style="'color:' + _rm.color"><<= _rm.label>></div>
<div class="mm-flavor-text"><<= $mm_flavor>></div>
</div>
<</if>>
<<if not $mm_done>>
<!-- Mood -->
<div class="mm-mood-card" @style="'border-color:' + _meta.color + '44; background: linear-gradient(135deg, #0c0c1e 0%, ' + _meta.color + '0d 100%)'">
<div class="mm-mood-row">
<span class="mm-mood-emoji"><<= _meta.emoji>></span>
<div>
<div class="mm-mood-label">Current Mood</div>
<div class="mm-mood-name" @style="'color:' + _meta.color"><<= $mm_mood>></div>
</div>
</div>
<div class="mm-mood-hint"><<= _meta.hint>></div>
</div>
<!-- Actions -->
<!-- Actions -->
<div class="mm-actions-label">Turn <<= $mm_turn>> of 3 — Choose your approach</div>
<div class="mm-actions">
<<set _allActs to window.mm.actions.slice().sort(function(){ return Math.random() - 0.5 }).slice(0, 3)>>
<<for _i = 0; _i < _allActs.length; _i++>>
<<set _act to _allActs[_i]>>
<<capture _act>>
<<button _act>>
<<set _out to window.mm.table[$mm_mood][_act]>>
<<set $mm_flavor to _out.flavor>>
<<set $mm_result to _out.result>>
<<set $mm_relGain to $mm_relGain + _out.rel>>
<<set $mm_lusGain to $mm_lusGain + _out.lust>>
<<if $mm_turn gte 3>>
<<set $mm_done to true>>
<<else>>
<<set $mm_turn to $mm_turn + 1>>
<<set $mm_mood to window.mm.randomMood()>>
<</if>>
<<goto "MoodMinigame">>
<</button>>
<</capture>>
<</for>>
</div>
<<else>>
<!-- Summary -->
<div class="mm-summary">
<div class="mm-summary-title">Session Complete</div>
<div class="mm-summary-rows">
<div class="mm-summary-row">
<span class="mm-summary-label">❤️ Relationship</span>
<span class="mm-summary-val <<if $mm_relGain gt 0>>mm-pos<<elseif $mm_relGain lt 0>>mm-neg<<else>>mm-neu<</if>>"><<addRel $mm_relGain _c.id>></span>
</div>
<div class="mm-summary-row">
<span class="mm-summary-label">🔥 Lust</span>
<span class="mm-summary-val <<if $mm_lusGain gt 0>>mm-pos<<elseif $mm_lusGain lt 0>>mm-neg<<else>>mm-neu<</if>>"><<addLust $mm_lusGain _c.id>></span>
</div>
</div>
</div>
<div class="mm-return-wrap">
<<link "Return →" $mm_returnPassage>><</link>>
</div>
<</if>>
</div><<if $selectedChar is "sophia">>
<<set $lastSophiaTalkDay to $day>>
<<elseif $selectedChar is "clair">>
<<set $lastClairTalkDay to $day>>
<<elseif $selectedChar is "nicole">>
<<set $lastNicoleTalkDay to $day>>
<<elseif $selectedChar is "lilith">>
<<set $lastLilithTalkDay to $day>>
<<elseif $selectedChar is "mazy">>
<<set $lastMazyTalkDay to $day>>
<</if>>
<<set $mm_turn to 1>>
<<set $mm_relGain to 0>>
<<set $mm_lusGain to 0>>
<<set $mm_mood to window.mm.randomMood()>>
<<set $mm_flavor to "">>
<<set $mm_result to "">>
<<set $mm_done to false>>
<<advancetime 60>>
<<goto "MoodMinigame">>