JavaScript must be enabled to play.
Browser lacks capabilities required to play.
Upgrade or switch to another browser.
Loading…
<header> <div class="decoration-i">✦</div> <div class="decoration-ii">✦</div> <div class="decoration-iii">✦</div> <div class="decoration-v">✦</div> <div id="header-top"> <!-- SOCIAL MEDIA ICONS (POPULATED IN THE social media PASSAGE) --> <nav class="social-media" data-passage="social media"> </nav> <div class="middle"> <!-- STORY TITLE ETC. WHEN MENU IS CLOSED --> <div class="title" data-passage="story title"> </div> <!-- OPEN MENU ICON --> <span id="menu-toggle"> <i class="fas fa-chevron-down"></i> </span> </div> <!-- SETTINGS, RESTART, SAVE & FULLSCREEN BUTTONS --> <nav class="tools"> <span id="header-settings-button"><i class="fas fa-cog"></i></span> <span id="header-restart-button"><i class="fas fa-undo"></i></span> <span id="header-saves-button"><i class="fas fa-save"></i></span> <span id="header-fullscreen-button"><i class="fas fa-expand-arrows-alt"></i></span> </nav> </div> <div id="header-body"> <div class="content"> <!-- SETTINGS, RESTART, SAVE & FULLSCREEN BUTTONS --> <nav class="tools"> <span id="menu-settings-button"><i class="fas fa-cog"></i></span> <span id="menu-restart-button"><i class="fas fa-undo"></i></span> <span id="menu-saves-button"><i class="fas fa-save"></i></span> <span id="menu-fullscreen-button"><i class="fas fa-expand-arrows-alt"></i></span> </nav> <nav class="tools"> </nav> <!-- STORY LOGO (POPULATED IN THE story logo PASSAGE) --> <div class="logo-image" data-passage="story logo"> </div> <!-- STORY LINKS (POPULATED IN THE story links PASSAGE) --> <ul id="story-menu" data-passage="story links"> </ul> <!-- SOCIAL MEDIA ICONS (POPULATED IN THE social media PASSAGE) --> </div> <div class="credit">✦ Template by <a href="https://outoftheblue-if.tumblr.com" target="_blank">Vahnya</a> ✦</div> </div> <!-- header body end tag --> </header> <div id="main"> <div class="decoration-separator"> <span>✦</span> <span>✦</span> <span>✦</span> <span>✦</span> </div> <div id="passages"> </div> <div class="decoration-separator"> <span>✦</span> <span>✦</span> <span>✦</span> <span>✦</span> </div> </div> <!-- #main --> <footer> <!-- BACKWARDS AND FORWARDS BUTTONS, YOU CAN REMOVE THIS IF YOU DON'T WANT THEM IN YOUR STORY --> <span id="backwards-button"><i class="fas fa-chevron-left"></i></span> <span>✦</span> <span id="forwards-button"><i class="fas fa-chevron-right"></i></span> </footer>
// FOR SETTING STATS THAT NEED TO BE IN PLAY AT THE START OF THE STORY //outfit display <<script>> $(document).ready(function() { // Add the Journal UI to the body $("body").append(` <div id="journal"> <div id="journal-content"> <div id="journal-header"> <h3>Journal</h3> <button id="toggle-journal">⮜</button> </div> <img id="character-img" alt="Character" src="img/logo.png"> <div id="journal-info"> <p><strong>Name:</strong><span id="player-name"></p> </div> </div> </div> `); // Toggle Journal $("#journal").click(function() { $("#journal").toggleClass("collapsed"); }); }); <</script>> //CORE <<set $devi = '<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="15px" height="15px" viewBox="0 0 36 36" aria-hidden="true" role="img" class="iconify iconify--twemoji" preserveAspectRatio="xMidYMid meet"><circle fill="#AA8DD8" cx="18" cy="18" r="18"/><path fill="#AA8DD8" d="M10 4C7.42 4 4.369 1.534 3.414.586A1.998 1.998 0 0 0 1.235.153A1.998 1.998 0 0 0 0 2c0 3.459 1.672 10 8 10a2 2 0 0 0 1.789-1.106l2-4A1.999 1.999 0 0 0 10 4zM34.766.153a1.996 1.996 0 0 0-2.18.434C31.7 1.472 28.589 4 26 4a1.999 1.999 0 0 0-1.789 2.895l2 4A2 2 0 0 0 28 12c6.328 0 8-6.541 8-10c0-.809-.487-1.538-1.234-1.847z"/><path fill="#553986" d="M27.335 25.629a.501.501 0 0 0-.635-.029c-.039.029-3.922 2.9-8.7 2.9c-4.766 0-8.662-2.871-8.7-2.9a.5.5 0 0 0-.729.657C8.7 26.472 11.788 31.5 18 31.5s9.301-5.028 9.429-5.243a.499.499 0 0 0-.094-.628zm-11.628-7.336C12.452 15.038 7.221 15 7 15a1 1 0 0 0-.001 2c.029 0 1.925.022 3.983.737c-.593.64-.982 1.634-.982 2.763c0 1.934 1.119 3.5 2.5 3.5s2.5-1.566 2.5-3.5c0-.174-.019-.34-.037-.507c.013 0 .025.007.037.007a.999.999 0 0 0 .707-1.707zM29 15c-.221 0-5.451.038-8.707 3.293A.999.999 0 0 0 21 20c.013 0 .024-.007.036-.007c-.016.167-.036.333-.036.507c0 1.934 1.119 3.5 2.5 3.5s2.5-1.566 2.5-3.5c0-1.129-.389-2.123-.982-2.763A13.928 13.928 0 0 1 29.002 17A1 1 0 0 0 29 15z"/></svg>'>> <<set $fiti = '<i class="fas fa-dumbbell"></i>'>> <<set $player>> <<set $firstname = "Emily">> <<set $lastname = "Rogers">> <<set $nickname = "Star">> <<set $popularity = "Ellie">> <<set $debt = 1000000>> <<set $rent = 500>> <<set $money = 350>> <<set $fitness = 5>> <<set $hunger =0>> <<set $beauty = 20>> <<set $intelligence = 40>> <<set $worklimit = $worklimit or 3>> //SOCIAL MEDIA <<set $followersInst = 0>> <<set $followersOF = 0>> <<set $followersCamStar = 0>> //LIVING <<set $energy= 80>> <<set $energytotal= 100>> <<set $sleep= 0>> <<set $deviancy= 5>> <<set $exercised=0>> //COOLDOWNS <<set $storeCD = 0>> <<set $gymMembership = 0>> //TIME <<set $landlordCD=0>> <<set $timeCounter=4>> <<set $timeOfDay = ["Early-Morning", "Morning", "Noon", "Afternoon", "Evening", "Late-Night"]>> <<set $DayOfWeek = ["Monday", "Tuesday", "Wednesday","Thursday", "Friday","Saturday","Sunday"]>> <<set $Day=1>> <<set $weekday = $DayOfWeek[$Day]>> <<set $time = $timeOfDay[$timeCounter]>> //CLOTHNG <<set $hairColorList=["brown","red","black","blonde"]>> <<set $hairColor = $hairColorList[0]>> <<set $bodyShapeList=["large","overw","fit","sexy"]>> <<set $bodyShape= $bodyShapeList[0]>> <<set $closet = { "Casual Clothing": [ { "name": "casual", "img": "casual.png", "imageKey": "casual", "qpointer": "Perfect for a stroll downtown or just chilling at home.", "custom":false }, { "name": "southern", "img": "casual.png", "imageKey": "southern", "qpointer": "Perfect for a stroll downtown or just chilling at home.", "custom":false } ], "Underwear": [ { "name": "underwear", "img": "underwear.png", "imageKey": "underwear", "qpointer": "I just love my tighty whities. My landlord loves them too" , "custom":false, "custom":false, "custom":false} ], "Work Attire": [ { "name": "waitress", "img": "waitress.png", "imageKey": "waitress", "qpointer": "Time to make some cash at the bistro." , "custom":false, "custom":false} ], "Formal/Party Wear": [ { "name": "pinkdress", "img": "pinkdress.png", "imageKey": "pinkdress", "qpointer": "Maybe I should hit the club tonight.", "custom":false } ], "Sport Wear": [ { "name": "Sports 2 piece", "img": "gym.png", "imageKey": "gym", "qpointer": "I could run around in the park or maybe get a gym membership." , "custom":false} ], "Cosplay": [ { "name": "Harley Queen", "img": "harley.png", "imageKey": "harley", "qpointer": "Maybe there's a comic con or costume party happening somewhere.","custom":true }, { "name": "Ranni fit", "img": "ranni.png", "imageKey": "ranni", "qpointer": "The perfect outfit for a cosplay event or a themed photoshoot.", "custom":true } ] } >> <<set $Svetcloset = { "Casual Clothing": $casualClothing, "Underwear": [ { "name": "underwear", "img": "underwear.png", "imageKey": "underwear", "qpointer": "I just love my tighty whities. My landlord loves them too" , "custom":false, "custom":false, "custom":false} ], "Work Attire":$workClothing, "Formal/Party Wear": $formalClothing, "Sport Wear": $sportClothing } >> <<set $wornOutfit=$closet["Casual Clothing"][0].name>> <<set $outfit=$hairColor+"-"+$bodyShape+"-"+$wornOutfit>> <<set $casualClothing = [ {name: "Hoodie dress", price: 30, imageKey: "hoodie_dress", qpointer: "A cozy and stylish hoodie dress, perfect for casual outings."}, {name: "Leather Jacket fit", price: 120, imageKey: "leather_jacket", qpointer: "A sleek leather jacket that never goes out of style."}, {name: "Texas heat", price: 40, imageKey: "texas_heat", qpointer: "A cool and comfy outfit, great for warm weather."}, {name: "Cute Mess", price: 50, imageKey: "cute_mess", qpointer: "A trendy yet playful fit for everyday wear."} ] >> <<set $workClothing = [ {name: "Waitress", price: 150, imageKey: "waitress", qpointer: "A professional uniform for serving tables in style."}, {name: "Sexy waitress", price: 100, imageKey: "sexy_waitress", qpointer: "A bold twist on the classic waitress look."}, {name: "Strip Hostess", price: 300, imageKey: "strip_hostess", qpointer: "An alluring outfit for entertaining guests."}, {name: "Dress Shoes", price: 120, imageKey: "dress_shoes", qpointer: "Elegant and sleek shoes to complete a work outfit."}, {name: "Tie", price: 20, imageKey: "tie", qpointer: "A classic tie for a professional look."} ] >> <<set $businessClothing = [ {name: "Dress Shirt", price: 50, imageKey: "dress_shirt", qpointer: "A crisp dress shirt for a sharp appearance."}, {name: "Blazer", price: 100, imageKey: "blazer", qpointer: "A tailored blazer for a refined business look."}, {name: "Tailored Suit", price: 300, imageKey: "tailored_suit", qpointer: "A high-quality suit for making an impression."}, {name: "Dress Shoes", price: 120, imageKey: "dress_shoes", qpointer: "Polished dress shoes for a professional setting."}, {name: "Tie", price: 20, imageKey: "tie", qpointer: "A formal tie to complete a business ensemble."} ] >> <<set $sportClothing = [ {name: "Running Shoes", price: 280, imageKey: "running_shoes", qpointer: "Comfortable shoes built for running and training."}, {name: "Pullup Bar", price: 20, imageKey: "pullup_bar", qpointer: "A simple yet effective tool for strength training."}, {name: "Track Pants", price: 550, imageKey: "track_pants", qpointer: "Lightweight pants ideal for workouts or casual wear."}, {name: "Sports Jacket", price: 900, imageKey: "sports_jacket", qpointer: "A high-performance jacket for athletic activities."}, {name: "Yoga Mat", price: 150, imageKey: "yoga_mat", qpointer: "A must-have for yoga and floor exercises."} ] >> <<set $formalClothing = [ {name: "High Fashion Dress", price: 80, imageKey: "high_fashion_dress", qpointer: "An elegant dress that exudes sophistication."}, {name: "Mini Dress", price: 20, imageKey: "mini_dress", qpointer: "A cute and stylish mini dress for a night out."}, {name: "Tie-up Dress", price: 50, imageKey: "tie_up_dress", qpointer: "A trendy tie-up dress perfect for clubbing."}, {name: "Apple Bottom Style", price: 90, imageKey: "apple_bottom", qpointer: "A chic dress that highlights your curves."}, {name: "Girls Night Fit", price: 15, imageKey: "girls_night", qpointer: "A fun outfit for a girls' night out."} ] >> <<set $OFClothing = [ {name: "Virgin Killer sweater", price: 4000, imageKey: "virgin_killer", qpointer: "A bold and seductive sweater that turns heads."}, {name: "Yoga Fit", price: 200, imageKey: "yoga_fit", qpointer: "A flexible and comfy yoga outfit for any session."}, {name: "Track Star", price: 1050, imageKey: "track_star", qpointer: "An athletic look that screams confidence."}, {name: "Maid outfit", price: 700, imageKey: "maid_outfit", qpointer: "A classic maid outfit for themed occasions."}, {name: "Pikachu fit", price: 1900, imageKey: "pikachu_fit", qpointer: "A cute and electrifying cosplay fit."}, {name: "Rabbi fit", price: 2000, imageKey: "ranni", qpointer: "An elegant and mystical outfit for cosplay lovers."}, {name: "Haribel", price: 3000, imageKey: "haribel", qpointer: "A striking and powerful cosplay ensemble."}, {name: "Rabbit dress", price: 5000, imageKey: "rabbit_dress", qpointer: "A playful and charming bunny-themed dress."}, {name: "SpiderGwen", price: 7000, imageKey: "spidergwen", qpointer: "A sleek superhero-inspired suit."}, {name: "Egirl heaven", price: 10000, imageKey: "egirl_heaven", qpointer: "The ultimate outfit for the egirl aesthetic."} ] >> //ELECTRONICS <<set $electronics = [ {name: "Basic Phone", price: 150, appeal: "Low" }, {name: "Smart Phone", price: 1000, appeal: "High" }, {name: "Laptop", price: 1200, appeal: "High" }, {name: "WebCam", price: 299, appeal: "High" }, {name: "Super PC setup", price: 7500, appeal: "High" }, {name: "Video Cam", price: 2000, appeal: "High" } ]>> //GENERAL STORE <<set $generalStuff=[ {name:"Healthy Food", price:40, img:"img/items/saladicon.png", qpointer:"healthyfood"}, {name:"Normal Food", price:30, img:"img/items/pastaicon.png", qpointer:"normalfood"}, {name:"Junk Food", price:20, img:"img/items/donuticon.png", qpointer:"junkfood"}, {name:"Cofee beans x5", price:70, img:"img/items/coffeeicon.png", qpointer:"coffee"}, {name:"Makeup(WIP)", price:30, img:"img/items/makeupicon.png", qpointer:"makeup"}, {name:"Shower Supplies(WIP)", price:50, img:"img/items/showericon.png", qpointer:"shower"}, {name:"Internet(1 week)(WIP)", price:"500", img:"img/items/neticon.png", qpointer:"internet"}, ]>> //SALON <<set $salonStuff=[ {name:"Blonde Session", price:100, img:"img/items/blonde.png", qpointer:"Blonde"}, {name:"Brunette Session", price:100, img:"img/items/brunette.png", qpointer:"Brunette"}, {name:"Black Session", price:100, img:"img/items/blackhair.png", qpointer:"Black"}, {name:"Red Session", price:100, img:"img/items/redhair.png", qpointer:"Red"}, {name:"Wax body hair)", price:320, img:"img/items/wip.png", qpointer:"makeup"}, {name:"Tattoo-Thighs(WIP)", price:5000000, img:"img/items/wip.png", qpointer:"skin"}, ]>> //ITEMS <<set $makeup=0>> <<set $sexymakeup=0>> <<set $healthyFood=1>> <<set $junkFood=1>> <<set $normalFood=3>> <<set $dirt = 4>> <<set $car= 0>> <<set $storyinitials= 0>> //EVENTS <<set $jim = 0>> <<set $kofi = 0>> <<set $candy = 0>> <<set $leavingHome=[]>> <<set $gStore =0>> <<set $taxi=[]>> <<set $waitress=[]>> <<set $gym=[]>> <<set $gymMembership = 0>> <<set $gymtrainer=[]>> <<set $office=[]>> <<set $landlord=0>> //tracks if landlord was visited before
<div class="box header"> <h1>$firstname $lastname</h1> <h2>"$nickname"</h2> <span class="star">✦</span> <ul class="facts"> <li>Female</li> <li>23</li> <li>Human</li> </ul> </div> <div class="box"> <h3>Appearance</h3> <i>You are $firstname, a young lady trying to make it in a bustling city </i> </div> <!-- BOX WITH GROUP OF STATS --> <div class="box"> <!-- STAT GROUP TITLE --> <h3>Personality</h3> <div class="stat-group"> <div class="stat"> <div class="stat-labels"> <span>Kind 70%</span> <span>✦</span> <span>Cruel 30%</span> </div> <div class="stat-bar-container"> <div class="stat-bar"></div> </div> </div> <div class="stat"> <div class="stat-labels"> <span>Shy 70%</span> <span>✦</span> <span>Bold 30%</span> </div> <div class="stat-bar-container"> <div class="stat-bar"></div> </div> </div> </div> </div> <div class="box"> <h3>Skills</h3> <div class="stat-group"> <div class="stat"> <div class="stat-labels"> <span>Modeling</span> <span>✦</span> <span>70%</span> </div> <div class="stat-bar-container"> <div class="stat-bar"></div> </div> </div> <div class="stat"> <div class="stat-labels"> <span>Dancing</span> <span>✦</span> <span>70%</span> </div> <div class="stat-bar-container"> <div class="stat-bar"></div> </div> </div> </div> </div> <!-- IMPORTAN! INCLUDE THE CODE BELOW ON ALL STAT PAGES TO MAKE SURE THE LINK RETURNS THE USER TO THE LAST PASSAGE. IF YOU USE A NORMAL RETURN LINK IT WILL SIMPLY LOOP --> <span style="display: block; text-align: center;"> <<link "« Return to game" $return>><</link>> </span>
<!-- POPULATES STORY LINKS IN THE HEADER MENU --> <li> <<link "Stats" "stat page 1">><</link>> </li>
<div class="box header"> <h1>$firstname $lastname</h1> <h2>"$nickname"</h2> <span class="star">✦</span> <ul class="facts"> <li>Text</li> <li>Text</li> <li>Text</li> </ul> </div> <!-- TEXT BOX BUT WITHOUT BACKGROUND --> <div class="box blank"> <h3>Appearance</h3> <i>$firstname is tall and of average size with golden blond hair and pale skin.</i> </div> <!-- STAT BOX BUT WITHOUT BACKGROUND --> <div class="box blank"> <!-- STAT GROUP TITLE --> <h3>Personality</h3> <div class="stat-group"> <div class="stat"> <div class="stat-labels"> <span>Kind 70%</span> <span>✦</span> <span>Cruel 30%</span> </div> <div class="stat-bar-container"> <div class="stat-bar"></div> </div> </div> <div class="stat"> <div class="stat-labels"> <span>Shy 70%</span> <span>✦</span> <span>Bold 30%</span> </div> <div class="stat-bar-container"> <div class="stat-bar"></div> </div> </div> </div> </div> <div class="box blank"> <h3>Skills</h3> <div class="stat-group"> <div class="stat"> <div class="stat-labels"> <span>Embroidery</span> <span>✦</span> <span>70%</span> </div> <div class="stat-bar-container"> <div class="stat-bar"></div> </div> </div> <div class="stat"> <div class="stat-labels"> <span>Dancing</span> <span>✦</span> <span>70%</span> </div> <div class="stat-bar-container"> <div class="stat-bar"></div> </div> </div> </div> </div> <!-- IMPORTAN! INCLUDE THE CODE BELOW ON ALL STAT PAGES TO MAKE SURE THE LINK RETURNS THE USER TO THE LAST PASSAGE. IF YOU USE A NORMAL RETURN LINK IT WILL SIMPLY LOOP --> <span style="display: block; text-align: center;"><<link "« Return to game" $return>><</link>></span>
<div class="main"> <nav> <<link "Resume Game">><<run Save.autosave.load()>><</link>> <<link "Load Game">><<run UI.saves();>><</link>> </nav> <div class="story-banner"> <div class="content"> <!-- STORY TITLE --> <h1 class="story-title">OF Girl</h1> <!-- ICON --> <img style="margin:0 auto;" src="img/logo.png" width="200px"/> <span>✦</span> <!-- STORY AUTHOR --> <h3 class="story-author">By <a href="www.patreon.com/SageWorks"></a>SageWorks</h3> </div> </div> <nav> <<link "New Game" "Age Verification">><</link>> <<link "Settings">><<run UI.settings();>><</link>> </nav> </div> <div class="credit">✦ Template by <a href="https://outoftheblue-if.tumblr.com" target="_blank">Vahnya</a> ✦</div>
!Heading 1 !!Heading 2 !!!Heading 3 Normal text. Normal text. Normal text. Normal text. Normal text. //emphasised text//. Normal text. Normal text. Normal text. Normal text. Normal text. Normal text. Normal text. ''strong text''. Normal text. Normal text. Normal text. Normal text. Normal text. Normal text. Normal text. Normal text. __underlined text__ Normal text. Normal text. Normal text. Normal text. Normal text. ---- !!!Unordered List: * List item 1 * List item 2 !!!Links [[More Styles]] [[More Styles]] <<button "Button" "More Styles">><</button>>
<<run setup.refreshStats()>> <!-- POPULATE THE SOCIAL MEDIA LINKS --> <a href="https://f95zone.to/members/sageworks.8654574/" target="_blank"><img height="20px" src="https://ugc.production.linktr.ee/IWmI8mmuRhuRNRZK3FrX_icon.png?io=true&size=thumbnail-stack-v1_0"/></a> <a href="https://patreon.com/SageWorks" target="_blank"><i class="fab fa-patreon"></i></a> <a href="https://sageworks.itch.io" target="_blank"><i class="fab fa-itch-io"></i></a> <a href="https://patreon.com/SageWorks" target="_blank"><i class="fas fa-hand-holding-heart"></i></a>
<<run setup.refreshStats()>> <!-- TITLE ON THE TOP OF THE PAGE IS POPULATED HERE --> <!-- STORY TITLE --> <div class="datetime"> <span id="dayofweek"><<do>><<print $weekday>><</do>></span> <span id="timeofday"><<do>><<print $time>><</do>></span> </div> <!-- ICON --> <i class="fas fa-clock"></i> <!-- STORY SUBTITLE --> <div class="stat-container"> <div class="stat"> <svg class="stat-svg"> <path class="stat-bg" d="M5,25 A20,20 0 0,1 45,25" /> <path class="stat-fill" d="M5,25 A20,20 0 0,1 45,25" id="money-bar" /> </svg> <div class="stat-value" id="money-value"><<do>><<print $money>><</do>></div> <div><i class="fas fa-dollar-sign"></i></div> </div> <div class="stat"> <svg class="stat-svg"> <path class="stat-bg" d="M5,25 A20,20 0 0,1 45,25" /> <path class="stat-fill" d="M5,25 A20,20 0 0,1 45,25" id="hunger-bar" /> </svg> <div class="stat-value" id="hunger-value"><<do>><<print $hunger>><</do>></div> <div><i class="fas fa-drumstick-bite"></i></div> </div> <div class="stat"> <svg class="stat-svg"> <path class="stat-bg" d="M5,25 A20,20 0 0,1 45,25" /> <path class="stat-fill" d="M5,25 A20,20 0 0,1 45,25" id="energy-bar" /> </svg> <div class="stat-value" id="energy-value"><<do>><<print $energy>><</do>></div> <div><i class="fas fa-bolt"></i></div> </div> <div class="stat"> <svg class="stat-svg"> <path class="stat-bg" d="M5,25 A20,20 0 0,1 45,25" /> <path class="stat-fill" d="M5,25 A20,20 0 0,1 45,25" id="fitness-bar" /> </svg> <div class="stat-value" id="fitness-value"><<do>><<print Math.round($fitness)*10/10>><</do>></div> <div><i class="fas fa-dumbbell"></i></div> </div> <div class="stat"> <svg class="stat-svg"> <path class="stat-bg" d="M5,25 A20,20 0 0,1 45,25" /> <path class="stat-fill" d="M5,25 A20,20 0 0,1 45,25" id="deviancy-bar" /> </svg> <div class="stat-value" id="deviancy-value"><<do>><<print $deviancy>><</do>></div> <div class="staticon"> <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="26px" height="26px" viewBox="0 0 36 36" aria-hidden="true" role="img" class="iconify iconify--twemoji" preserveAspectRatio="xMidYMid meet"><circle fill="#AA8DD8" cx="18" cy="18" r="18"/><path fill="#AA8DD8" d="M10 4C7.42 4 4.369 1.534 3.414.586A1.998 1.998 0 0 0 1.235.153A1.998 1.998 0 0 0 0 2c0 3.459 1.672 10 8 10a2 2 0 0 0 1.789-1.106l2-4A1.999 1.999 0 0 0 10 4zM34.766.153a1.996 1.996 0 0 0-2.18.434C31.7 1.472 28.589 4 26 4a1.999 1.999 0 0 0-1.789 2.895l2 4A2 2 0 0 0 28 12c6.328 0 8-6.541 8-10c0-.809-.487-1.538-1.234-1.847z"/><path fill="#553986" d="M27.335 25.629a.501.501 0 0 0-.635-.029c-.039.029-3.922 2.9-8.7 2.9c-4.766 0-8.662-2.871-8.7-2.9a.5.5 0 0 0-.729.657C8.7 26.472 11.788 31.5 18 31.5s9.301-5.028 9.429-5.243a.499.499 0 0 0-.094-.628zm-11.628-7.336C12.452 15.038 7.221 15 7 15a1 1 0 0 0-.001 2c.029 0 1.925.022 3.983.737c-.593.64-.982 1.634-.982 2.763c0 1.934 1.119 3.5 2.5 3.5s2.5-1.566 2.5-3.5c0-.174-.019-.34-.037-.507c.013 0 .025.007.037.007a.999.999 0 0 0 .707-1.707zM29 15c-.221 0-5.451.038-8.707 3.293A.999.999 0 0 0 21 20c.013 0 .024-.007.036-.007c-.016.167-.036.333-.036.507c0 1.934 1.119 3.5 2.5 3.5s2.5-1.566 2.5-3.5c0-1.129-.389-2.123-.982-2.763A13.928 13.928 0 0 1 29.002 17A1 1 0 0 0 29 15z"/></svg></div> </div> <div class="stat"> <svg class="stat-svg"> <path class="stat-bg" d="M5,25 A20,20 0 0,1 45,25" /> <path class="stat-fill" d="M5,25 A20,20 0 0,1 45,25" id="beauty-bar" /> </svg> <div class="stat-value" id="beauty-value"><<do>><<print $beauty>><</do>></div> <div> <svg xmlns="http://www.w3.org/2000/svg xmlns:xlink="http://www.w3.org/1999/xlink" height="26px" width="26px" version="1.1" id="Layer_1" viewBox="0 0 511.999 511.999" xml:space="preserve"> <path style="fill:#EC589B;" d="M503.383,270.65c-38.314,35.12-82.648,62.612-130.6,81.304 c-27.032,10.535-55.213,18.278-84.118,23.011c-10.822,1.769-21.736,2.665-32.662,2.665c-10.925,0-21.839-0.896-32.662-2.665 c-40.095-6.571-78.811-18.921-114.976-36.487C72.211,320.9,38.573,298.119,8.634,270.661c-0.011-0.011-0.023-0.011-0.023-0.011 s0,0,0.011-0.012l114.723-111.139c28.71-27.802,72.366-33.225,106.992-13.281l25.665,14.774l25.654-14.774 c34.638-19.944,78.294-14.521,106.992,13.281L503.383,270.65z"/> <path style="fill:#D3468D;" d="M135.534,255.948c0,0,85.456,6.29,117.339-25.593C252.873,230.355,165.732,225.75,135.534,255.948z"/> <path style="fill:#EFDFDE;" d="M329.01,255.948l-27.22-14.328c-28.662-15.088-62.919-15.088-91.581,0l-27.22,14.328l27.22,14.328 c28.662,15.088,62.919,15.088,91.581,0L329.01,255.948z"/> <g> <path style="fill:#D3468D;" d="M372.783,351.953c-27.032,10.535-55.213,18.278-84.118,23.011 c-10.822,1.769-21.736,2.665-32.662,2.665c-10.925,0-21.839-0.896-32.662-2.665c-40.095-6.571-78.811-18.921-114.976-36.487 C72.211,320.9,38.573,298.119,8.634,270.661c2.401,1.379,168.466,96.124,364.091,81.292H372.783z"/> <path style="fill:#D3468D;" d="M256.003,160.993L256.003,160.993c-1.624,11.167-12.396,18.53-23.417,16.103 c-21.117-4.649-39.787-22.643-75.511,2.255c-56.42,39.325-147.292,90.746-148.452,91.286l114.723-111.139 c28.71-27.802,72.366-33.225,106.992-13.281L256.003,160.993z"/> </g> <path style="fill:#F67BB8;" d="M256.004,160.993L256.004,160.993c1.624,11.167,12.396,18.53,23.417,16.103 c21.117-4.649,39.787-22.643,75.511,2.255c56.42,39.325,147.292,90.746,148.452,91.286L388.661,159.498 c-28.71-27.802-72.366-33.225-106.992-13.281L256.004,160.993z"/> <path d="M111.298,255.948c0,4.758,3.857,8.616,8.616,8.616h60.946l25.335,13.337c15.592,8.208,32.698,12.312,49.803,12.312 c17.106,0,34.211-4.105,49.805-12.312l25.335-13.337h60.946c4.76,0,8.616-3.858,8.616-8.616s-3.857-8.616-8.616-8.616H331.14 l-25.335-13.337c-31.186-16.417-68.424-16.416-99.607,0l-25.335,13.337h-60.946C115.155,247.332,111.298,251.19,111.298,255.948z M214.222,249.243c26.159-13.77,57.394-13.771,83.554,0l12.736,6.705l-12.736,6.704c-26.16,13.77-57.393,13.771-83.554,0 l-12.736-6.704L214.222,249.243z"/> <path d="M428.006,315.669c-43.56,25.535-90.911,42.624-140.738,50.793c-20.749,3.401-41.788,3.401-62.537,0 c-75.736-12.416-145.895-45.567-203.481-96.051l108.096-104.718c8.916-8.637,19.405-14.964,31.175-18.805 c4.524-1.476,6.994-6.34,5.518-10.865c-1.477-4.523-6.334-6.995-10.865-5.518c-14.281,4.661-27.005,12.335-37.819,22.81 L2.62,264.466c-1.704,1.652-2.653,3.934-2.619,6.307c0.032,2.374,1.043,4.629,2.793,6.232 c61.303,56.194,137.084,93.009,219.152,106.462c11.299,1.853,22.677,2.779,34.055,2.779c11.378,0,22.757-0.926,34.056-2.779 c51.925-8.512,101.272-26.321,146.666-52.932c4.105-2.407,5.482-7.686,3.077-11.791C437.389,314.64,432.11,313.263,428.006,315.669z "/> <path d="M509.379,264.466L394.644,153.315c-31.297-30.317-79.526-36.306-117.286-14.566L256,151.046l-21.359-12.297 c-12.159-7.001-25.386-11.247-39.313-12.621c-4.731-0.468-8.954,2.994-9.421,7.729c-0.466,4.736,2.993,8.953,7.729,9.421 c11.477,1.132,22.381,4.633,32.407,10.405l25.658,14.773c2.661,1.531,5.937,1.533,8.598,0l25.657-14.773 c31.131-17.924,70.893-12.987,96.697,12.009l108.095,104.717c-12.876,11.279-26.527,21.805-40.679,31.363 c-3.944,2.663-4.981,8.019-2.32,11.963c1.665,2.465,4.382,3.795,7.149,3.795c1.659,0,3.335-0.478,4.814-1.476 c17.38-11.737,34.032-24.875,49.494-39.048c1.749-1.604,2.76-3.859,2.793-6.232S511.084,266.118,509.379,264.466z"/> </svg> </div> </div> </div>
<!-- STORY BANNER/LOGO POPULATED HERE --> <div class="story-banner"> <div class="content"> <!-- STORY TITLE --> <h1 class="story-title">STORY <strong>OF STAR</strong></h1> <!-- ICON --> <img class="lgo" src="img/logo.png" width="240px"/> <!-- STORY SUBTITLE --> <h2 class="story-subtitle">Become sombody</h2> <span>✦</span> <!-- STORY AUTHOR --> <h3 class="story-author">By <a href="#"></a>Sageworks </h3> </div> </div>
!!! Checkbox: <<checkbox "$checkboxVar1" false true autocheck>> Checkbox option 1 <<checkbox "$checkboxVar2" false true autocheck>> Checkbox option 2 <<checkbox "$checkboxVar3" false true autocheck>> Checkbox option 3 !!! Cycle: <<cycle "$cycleVar" autoselect>> <<option "Option 1">> <<option "Option 2">> <<option "Option 3">> <<option "Option 4">> <<option "Option 5">> <</cycle>> !!! Listbox: <<listbox "$listboxVar" autoselect>> <<option "Option 1">> <<option "Option 2">> <<option "Option 3">> <<option "Option 4">> <<option "Option 5">> <</listbox>> !!! Radiobutton: <<radiobutton "$radiobuttonVar" "option 1" autocheck>> Option 1 <<radiobutton "$radiobuttonVar" "option 2" autocheck>> Option 2 <<radiobutton "$radiobuttonVar" "option 3" autocheck>> Option 3 !!! Textarea: <<textarea "$textareaVar" "Type text here..">> !!! Textbox: <<textbox "$textboxVar" "Type answer here">> <<button "Autosave" "Autosave">><</button>>
<<notify>>Autosave complete!<</notify>> This passage autosaves, and the next time the game opens the player will be able to resume from here.
<!-- THIS PASSAGE IS NOT TAGGED WITH STYLE PASSAGE BUT RATHER HAS A FEW ELEMENTS WRAPPED IN THAT CLASS TO ONLY STYLE CERTAIN ELEMENTS --> <!-- REMOVING CLASS BOX HEADER FROM TITLE TO GET DIFFERENT HEADER --> <h1>Title</h1> <h2>Subtitle</h2> <!-- ADDING STAT PASSAGE CLASS TO UL LIST TO KEEP STYLING FOR THIS ELEMENT --> <div class="stat-passage"> <ul class="facts"> <li>Female</li> <li>26</li> <li>Human</li> </ul> </div> <br><br> <div class="box blank"> <h2>Appearance</h2> <i>$firstname is tall and of average size with golden blond hair and pale skin.</i> </div> <!-- ADDING STAT PASSAGE CLASS TO KEEP STYLING S--> <div class="stat-passage"> <div class="box blank"> <!-- STAT GROUP TITLE --> <h3>Personality</h3> <div class="stat-group"> <div class="stat"> <div class="stat-labels"> <span>Kind 70%</span> <span>✦</span> <span>Cruel 30%</span> </div> <div class="stat-bar-container"> <div class="stat-bar"></div> </div> </div> <div class="stat"> <div class="stat-labels"> <span>Shy 70%</span> <span>✦</span> <span>Bold 30%</span> </div> <div class="stat-bar-container"> <div class="stat-bar"></div> </div> </div> </div> </div> <div class="box blank"> <h3>Skills</h3> <div class="stat-group"> <div class="stat"> <div class="stat-labels"> <span>Embroidery</span> <span>✦</span> <span>70%</span> </div> <div class="stat-bar-container"> <div class="stat-bar"></div> </div> </div> <div class="stat"> <div class="stat-labels"> <span>Dancing</span> <span>✦</span> <span>70%</span> </div> <div class="stat-bar-container"> <div class="stat-bar"></div> </div> </div> </div> </div> </div> <!-- IMPORTAN! INCLUDE THE CODE BELOW ON ALL STAT PAGES TO MAKE SURE THE LINK RETURNS THE USER TO THE LAST PASSAGE. IF YOU USE A NORMAL RETURN LINK IT WILL SIMPLY LOOP --> <span style="display: block; text-align: center;"><<link "« Return to game" $return>><</link>></span>
<div class='hi'> <div class="left-section"> <div id='chdiv'> <img id="devimg" height="200px" width="200px" src="img/Sage.jpeg"> </div> </div> <div class="right-section"> <div class="thought-bubble">Welcome to the first <a href="www.patreon.com/SageWorks" target="_blank">SageWorks</a> release, Story of star. Thanks for playing</div> <div class="thought-bubble">I would truly appreciate your <a href="www.patreon.com/SageWorks" target="_blank">support</a> if the game exites you as its still early days at this point</div> <div class="thought-bubble">Please confirm whether you are over 18 years of age or not</div> <div class="thought-bubble"> <<button "Yes" "Intro">><</button>><<button "No" "NO">><</button>> </div> </div> </div>
!My name is <<textbox "$firstname" "Emily">> !Last name: <<textbox "$lastname" "Rodgers">> <img src="img/MC-chubby-selfie.jpg" width="300px" alt="image of MC . slightly overweight, brunette" style="margin:0 auto;"/> <<set $conversation = [ { character: "MC", gender: "female", type: "thought", text: "Ive been on my own for a while now. Its been tough." }, { character: "MC", gender: "female", type: "thought", text: "6 months ago, I completed my degree in ancient egyptian." }, { character: "MC", gender: "female", type: "thought", text: "Couldnt find a job, now im stuck in this shithole." }, { character: "MC", gender: "female", type: "thought", text: "I owe $1,000,000 in student loans to Hustlers University , So I cant quit." }, { character: "jim", gender: "male", type: "speech", text: "Alright Star, its time for you to clock out ,Candy has the night shift" }, { character: "MC", gender: "female", type: "speech", text: "Aww no. Jim I really need some overtime work" }, { character: "jim", gender: "male", type: "speech", text: "Sorry Star, Candy just has a way with the customers" }, { character: "MC", gender: "feale", type: "narrative", text: "You notice something <animate>growing</animate> in Jims pants, as he thinks about Candy" }, { character: "image", gender: "fw", type: "image", text: "img/characters/jim-erectionc.jpg" }, { character: "MC", gender: "female", type: "thought", text: "He always gets rock hard when he talks about Candy." }, { character: "MC", gender: "female", type: "speech", text: "Alright, I'm off then" }, ]>> <div id="chat-container"></div> <<script>> $(document).ready(function() { $("#chat-container").html(window.renderConversation(State.variables.conversation)); }); <</script>> <<button "End your shift" "End shift">><</button>>
<div class='hi'> <div class="left-section"> <div id='chdiv'> <img id="devimg" height="200px" width="200px" src="img/Titanoverse.jpeg"> </div> </div> <div class="right-section"> <div class="thought-bubble">You cannot play. Please try something else.</div> <div class="thought-bubble">please try <a href = "https://tetris.com/play-tetris">these</a> instead</div> </div> </div>
<<switch $jim>> <<case 0>> <<set $conversation = [ { character: "MC", gender: "female", type: "thought", text: "I need to ask Jim for more hours" },{ character: "MC", gender: "female", type: "thought", text: "Its not fair that Emma gets all the tips and now, all the work time" },{ character: "MC", gender: "female", type: "thought", text: "I could also say hi to Kofi, hes always got my back" }, ]>> <<case 1>> <<set $conversation = [ { character: "MC", gender: "female", type: "thought", text: "Candy and Jim Huh? What a slut" },{ character: "MC", gender: "female", type: "thought", text: "Im totally over this shit, time to go home!" }, ]>> <</switch>> <div id="chat-container"></div> <<script>> $(document).ready(function() { $("#chat-container").html(window.renderConversation(State.variables.conversation)); }); <</script>> [[Restaurant Kitchen]] [[Jims Office]] <<if $kofi >= 1 and $jim>=1>> <<button "Restaurant" "Del Bistro Restaurant">><</button>> <</if>>
<<run setup.refreshStats()>> <<link "Open Wardrobe" "WardrobeMenu">><</link>> [[Sleep]] <<button "Go To Living Room" "Apartment">><</button>>
<<if $landlordCD===0>> <<goto "landlord">> <<else>> <</if>> <<linkreplace "Think about life">> <<set $FitDesc = [ { character: "Candy", gender: "feme", type: "narrative", text: "$firstname thinks about the park..." }, { character: "MC", gender: "female", type: "thought", text: "Going to the park will help me improve my <animate>fitness</animate>" }, { character: "MC", gender: "female", type: "thought", text: "Its near my house and I can go before and after work" } ]>> <<set $DevDesc = [ { character: "Candy", gender: "feme", type: "narrative", text: "$firstname thinks about her interactions..." }, { character: "MC", gender: "female", type: "thought", text: "Sometimes during the day , guys flirt with me. I guess I could be a little more open totheir advances. " } ]>> <<set $conversation = [ { character: "MC", gender: "female", type: "thought", text: "This is my apartment. It's nothing special. A girls gotta start somewhere." }, { character: "MC", gender: "female", type: "thought", text: "Rent's $400 a month, Mr and Mrs Thompson often collect on mondays." }, { character: "MC", gender: "female", type: "thought", text: "Slutty Candy is taking all my money away! Pretty girls like her always get whatever they want!" }, { character: "MC", gender: "female", type: "thought", text: "I need to figure out a way of becoming more attractive." }, { character: "Narrator", gender: "na", type: "choice", text: "I could?", choices: [ { text: "Exercise", result: $FitDesc}, { text: "Clothing", result: $FitDesc}, { text: "Hunger", result: $FitDesc}, { text: "Seduction", result: $DevDesc } ] }, { character: "Narrator", gender: "na", type: "narrative", text: "You think about the people in your life." }, { character: "Narrator", gender: "na", type: "choice", text: "What would you like to do next?", choices: [ { text: "Jim", result: [ { character: "Narrator", gender: "na", type: "narrative", text: "The manager at Del Bistro ." }, { character: "MC", gender: "female", type: "thought", text: "He<punc>s a classic perv and does whatever Candy says. I could take his load to increase my work load." }, { character: "MC", gender: "female", type: "thought", text: "But i still think that his wallet screams louder than his penis, maybe i can improve at work." }, { character: "MC", gender: "female", type: "thought", text: "I need to get in shape if I want to outshine Candy." } ] }, { text: "Kofi", result: [ { character: "Jim", gender: "male", type: "speech", text: "Kofi the jamaican chef at Del Bistro." }, { character: "MC", gender: "female", type: "thought", text: "Kofis really great but also very handsy at work." }, { character: "MC", gender: "female", type: "thought", text: "I wonder what would happen if i endeared myself to him." } ] }, { text: "Candy", result: [ { character: "MC", gender: "na", type: "speech", text: "my arch enemy!" }, { character: "MC", gender: "female", type: "thought", text: "Whoa, I said that out loud." }, { character: "MC", gender: "female", type: "thought", text: "Shes always showing off, I need to find her weakness" }, { character: "MC", gender: "female", type: "thought", text: "I sometimes see her exercising in the park, I guess I will have to catch her some time" } ] } ] } ]>> <div id="chat-container"></div> <<script>> $(document).ready(function() { $("#chat-container").html(window.renderConversation(State.variables.conversation)); }); <</script>> <</linkreplace>> <<set $storyinitials = 1>> <div class=displayImage> <img width="500px" src="img/Apartment_1.jpeg"/> </div> [[Bedroom]] [[Kitchen]] <<if $timeCounter===1 or $timeCounter<3>> <<button "Go to Work" "Del Bistro Restaurant">><</button>> <</if>> <<button "Leave Apartment" "Central District">><<set $cooking to 3>><</button>>
<<button "Shower" "Shower">> <</button>> <<button "Makeup" "Apartment">><</button>> <<button "Finish up" "Apartment">><</button>>
<<nobr>> <<set $normalFood = $normalFood or 5>> <<set $healthyFood = $healthyFood or 2>> <<set $junkFood = $junkFood or 0>> <<set $hunger = $hunger or 100>> <<set $coffeeBeans = $coffeeBeans or 4>> <<set $energy = $energy or 50>> <<set $deviancy = $deviancy or 0>> <<set $coffeeMachine = $coffeeMachine or 1>> <!-- Assume coffee machine is owned for demo --> <</nobr>> <h2>Kitchen</h2> <p>You step into your cozy kitchen, ready to manage your hunger and energy.</p> <div id="kitchenMenu" class="kitchen-menu"> <div id="section-fridge" class="kitchen-section"> <h3>The Fridge</h3> <div class="item-grid"> <div class="item-tile" data-food="normalFood"> <img src="img/items/pastaicon.png" alt="Normal Food"> <h4>Normal Food</h4> <p>Available: <<print $normalFood>></p> <button class="eat-button" data-food="normalFood">Eat Normal Food</button> </div> <div class="item-tile" data-food="healthyFood"> <img src="img/items/saladicon.png" alt="Healthy Food"> <h4>Healthy Food</h4> <p>Available: <<print $healthyFood>></p> <button class="eat-button" data-food="healthyFood">Eat Healthy Food</button> </div> <div class="item-tile" data-food="junkFood"> <img src="img/items/donuticon.png" alt="Junk Food"> <h4>Junk Food</h4> <p>Available: <<print $junkFood>></p> <button class="eat-button" data-food="junkFood">Eat Junk Food</button> </div> </div> </div> <!-- Coffee Section (only shows if coffee machine is owned) --> <<if $coffeeMachine > 0>> <div id="section-coffee" class="kitchen-section"> <h3>Coffee Machine</h3> <div class="item-grid"> <div class="item-tile" data-drink="coffee"> <img src="img/items/coffeeicon.png" alt="Coffee"> <h4>Coffee</h4> <button id="drink-coffee">Drink Coffee</button> </div> </div> </div> <</if>> <!-- Alcohol Section <div id="section-alcohol" class="kitchen-section"> <h3>Alcohol Cabinet</h3> <div class="item-grid"> <div class="item-tile" data-alcohol="beer"> <img src="img/items/beericon.png" alt="Beer"> <h4>Beer</h4> <button class="drink-alcohol" data-alcohol="beer">Drink Beer</button> </div> <div class="item-tile" data-alcohol="wine"> <img src="img/items/wineicon.png" alt="Wine"> <h4>Wine</h4> <button class="drink-alcohol" data-alcohol="wine">Drink Wine</button> </div> <div class="item-tile" data-alcohol="whiskey"> <img src="img/items/whiskeyicon.png" alt="Whiskey"> <h4>Whiskey</h4> <button class="drink-alcohol" data-alcohol="whiskey">Drink Whiskey</button> </div> </div> </div> --> </div> <style> .kitchen-menu { max-width: 800px; margin: 1em auto; padding: 1em; background: #063a42; border-radius: 8px; box-shadow: 0 2px 4px rgba(0,0,0,0.2); display: flex; flex-direction: column; gap: 0.5rem; } .kitchen-section { border-bottom: 1px solid #ccc; padding-bottom: 1em; } .kitchen-section:last-child { border-bottom: none; } .kitchen-section h3 { margin-bottom: 0.5em; font-size: 1.2em; } .item-grid { display: flex; flex-direction:row; gap:0.6rem; } .item-tile { background: #cfd1d080; width:250px; border: 1px solid #ddd; border-radius: 4px; padding: 0.5em; text-align: center; transition: box-shadow 0.3s ease; } .item-tile:hover { box-shadow: 0 2px 8px rgba(0,0,0,0.3); } .item-tile img { max-width: 100%; height: auto; border-radius: 4px; } .item-tile h4 { margin: 0.5em 0 0.3em; font-size: 1em; } .item-tile p { font-size: 0.9em; margin: 0.3em 0; } .eat-button, .drink-alcohol, #drink-coffee { padding: 0.4em 0.8em; font-size: 0.9em; border: none; border-radius: 4px; background: #4CAF50; color: white; cursor: pointer; margin-top: 0.5em; } .eat-button:hover, .drink-alcohol:hover, #drink-coffee:hover { background: #45a049; } </style> <<script>> $(document).ready(function() { // Handler for eating food $(".eat-button").on("click", function() { var foodType = $(this).data("food"); if (foodType === "normalFood") { if (State.variables.normalFood > 0) { State.variables.normalFood -= 1; State.variables.hunger -= 25; State.variables.energy += 10; alert("You eat some normal food. Hunger decreases by 25."); } else { alert("No normal food available!"); return; } } else if (foodType === "healthyFood") { if (State.variables.healthyFood > 0) { State.variables.healthyFood -= 1; State.variables.hunger -= 20; State.variables.fitness +=1; State.variables.energy += 15; alert("You eat some healthy food. Hunger decreases by 20 and energy increases by 5."); } else { alert("No healthy food available!"); return; } } else if (foodType === "junkFood") { if (State.variables.junkFood > 0) { State.variables.junkFood -= 1; State.variables.hunger -= 40; State.variables.energy += 15; State.variables.fitness = State.variables.fitness - 2 || 0; alert("You eat some junk food. Hunger decreases by 40 but fitness decreases by 2."); } else { alert("No junk food available!"); return; } } Engine.play(passage()); }); // Attach data attributes to the buttons in the Fridge section // (Since we created them statically here, we can manually assign them) $("div[data-food='normalFood'] .eat-button").attr("data-food", "normalFood"); $("div[data-food='healthyFood'] .eat-button").attr("data-food", "healthyFood"); $("div[data-food='junkFood'] .eat-button").attr("data-food", "junkFood"); // Handler for drinking coffee $("#drink-coffee").on("click", function() { if( State.variables.coffeeBeans-1>=0){ State.variables.hunger -= 5; State.variables.energy += 10; alert("You drink a cup of coffee. Energy increases by 10 and hunger decreases by 5."); Engine.play(passage()); }else{ alert("You need to buy more coffee!"); Engine.play(passage()); } }); // Handler for drinking alcohol $(".drink-alcohol").on("click", function() { var alcoholType = $(this).data("alcohol"); if (alcoholType === "beer") { State.variables.deviancy += 5; alert("You drink a beer. Deviancy increases by 5."); } else if (alcoholType === "wine") { State.variables.deviancy += 10; alert("You drink some wine. Deviancy increases by 10."); } else if (alcoholType === "whiskey") { State.variables.deviancy += 20; alert("You drink whiskey. Deviancy increases by 20."); } Engine.play(passage()); }); }); <</script>> <<button "Leave Kitchen" "Apartment">><</button>>
<<if $dirt>1>> <<set $beauty += 10>> <<set $dirt = 0>> <<script>> setup.refreshStats(); <</script>> <<if $fitness <= 25>> <video controls autoplay loop mute> <source src="video_low_fitness.mp4" type="video/mp4"> </video> base shower <<elseif $fitness <= 40>> <video controls autoplay loop mute> <source src="video_below_average_fitness.mp4" type="video/mp4"> </video> <<elseif $fitness <= 65>> <video controls autoplay loop mute> <source src="video_average_fitness.mp4" type="video/mp4"> </video> <<elseif $fitness <= 80>> <video controls autoplay loop mute> <source src="video_above_average_fitness.mp4" type="video/mp4"> </video> <<elseif $fitness <= 90>> <video controls autoplay loop mute> <source src="video_excellent_fitness.mp4" type="video/mp4"> </video> <<else>> <video controls autoplay> <source src="video_exceptional_fitness.mp4" type="video/mp4"> </video> <</if>> <<else>> <</if>> <<button "Makeup" "Makeup">> <</button>> <<button "Dress up" "Apartment">><</button>>
<video width="100%" controls autoplay loop mute> <source src="video_low_fitness.mp4" type="video/mp4"> </video> <<button "Dress up" "Closet">><</button>> <<button "Finish up" "Apartment">><</button>>
<<set $cook>> <<if $cook== 1>> <video controls autoplay loop mute> <source src="video_low_fitness.mp4" type="video/mp4"> </video> base shower <<elseif $cook== 2>> <video controls autoplay loop mute> <source src="video_below_average_fitness.mp4" type="video/mp4"> </video> <<elseif $cook== 3>> <video controls autoplay loop mute> <source src="video_average_fitness.mp4" type="video/mp4"> </video> <</if>>
<div class="game-world-grid" id="game-world-grid"> </div> <<set $places = [ { name: "Bus", image: "images/bus.jpg", passage: "bus", visible: true }, { name: "Car", image: "images/car.jpg", passage: "Car", visible: false }, // Conditionally added { name: "Park", image: "images/park.jpg", passage: "Park", visible: true }, { name: "Upper District", image: "images/upper_district.jpg", passage: "Upper District", visible: false }, { name: "Pink School", image: "images/pink_school.jpg", passage: "Pink School", visible: true }, { name: "Clinic", image: "images/clinic.jpg", passage: "Clinic", visible: true }, { name: "Landlord Apartment", image: "images/landlord_apartment.jpg", passage: "Landlord apartment", visible: true }, { name: "Cab", image: "images/cab.jpg", passage: "cab", visible: true }, { name: "Mystic Forest", image: "place1.jpg", passage: "place1", visible: false }, { name: "Ancient Ruins", image: "place2.jpg", passage: "place2", visible: false }, { name: "Sunlit Beach", image: "place3.jpg", passage: "place3", visible: false } ] >> <<script>> $(document).ready(function() { // Render places on page load // Function to render a single place window.renderPlace = function renderPlace(place) { if (place.visible) { return ` <div class="place-block"> <a href="javascript:void(0);" data-passage="${place.passage}"> <img src="${place.image}" alt="${place.name}"> <div class="description">${place.name}</div> </a> </div> `; } return ""; // Return empty string if not visible }; // Function to render all places as HTML window.renderPlaceHtml = function renderPlaceHtml(places) { let output = ""; places.forEach(place => { output += window.renderPlace(place); // Append rendered place }); return output; // Return full HTML string }; $("#game-world-grid").html(window.renderPlaceHtml(State.variables.places)); }); $(document).on("click", ".place-block a", function () { Engine.play($(this).attr("data-passage")); }); <</script>>
<div class="game-world-grid"> <div class="place-block"> <a href="javascript:void(0);" data-passage="Business Corporate"> <img src="images/Business_Corporate.jpg" alt="Business Corporate"> <div class="description">Business Corporate</div> </a> </div> <div class="place-block"> <a href="javascript:void(0);" data-passage="Mall"> <img src="images/Mall.jpg" alt="Mall"> <div class="description">Mall</div> </a> </div> <div class="place-block"> <a href="javascript:void(0);" data-passage="Bank"> <img src="images/Bank.jpg" alt="Bank"> <div class="description">Bank</div> </a> </div> <div class="place-block"> <a href="javascript:void(0);" data-passage="Hospital"> <img src="images/Hospital.jpg" alt="Hospital"> <div class="description">Hospital</div> </a> </div> <div class="place-block"> <a href="javascript:void(0);" data-passage="Modeling Agency"> <img src="images/Modeling_Agency.jpg" alt="Modeling Agency"> <div class="description">Modeling Agency</div> </a> </div> </div>
<h2>CD Mall</h2> <<nobr>> <<set $portrait = $hairColor+"-"+$bodyShape+"-"+"portrait.png" >> <<set $dirtyportrait = $hairColor+"-"+"dirtyportrait.png" >> <<if $deviancy>=40>> <<set $artChoice = [ { text: "Yes", result: [ { character: "Narrator", gender: "na", type: "narrative", text: "You buy the painting and after an hour or two it is done. $50" }, { character: "Narrator", gender: "na", type: "image", text: "img/events/"+$portrait }, ], statChanges: { money:-50 }} , { text: "Ignore it", result: [ { character: "MC", gender: "female", type: "speech", text: "Sorry im not interested" }, { character: "artist", gender: "male", type: "speech", text: "Thats ok, if we happen to meet again I would be happy to paint your portrait. " } ] }, { text: "Another kind of payment", result: [ { character: "Narrator", gender: "na", type: "narrative", text: "The artist looks at you with a mischievous grin." }, { character: "artist", gender: "male", type: "speech", text: "I want to paint your face while I you paint with my paintbrush." }, { character: "artist", gender: "na", type: "video", text: "img/events/artist-mall-1.webm" }, { character: "Narrator", gender: "na", type: "narrative", text: "You walk towards him without breaking eye contact. Once close, you kneel down and take out his hardening paintbrush." }, { character: "MC", gender: "female", type: "speech", text: "I could make a lot of broad strokes with this brush." }, { character: "artist", gender: "na", type: "video", text: "img/events/artist-mall-hj1.webm" }, { character: "Narrator", gender: "na", type: "narrative", text: "You start stroking his hard cock vigorously." }, { character: "artist", gender: "na", type: "video", text: "img/events/artist-mall-hj2.webm" }, { character: "artist", gender: "male", type: "speech", text: "Ooh... yes... girl, the portrait is... coming along... nicely."}, { character: "MCs", gender: "female", type: "speech", text: "Wow, does it have all my best features?" }, { character: "Narrator", gender: "na", type: "narrative", text: "You cup his balls and rub them together with his cock." }, { character: "artist", gender: "male", type: "speech", text: "Im about to paint you white!"}, { character: "artist", gender: "na", type: "video", text: "img/events/artist-mall-hj3.webm" }, { character: "Narrator", gender: "na", type: "narrative", text: "He eventually finishes painting your face and the canvas." }, { character: "Narrator", gender: "na", type: "image", text: "img/events/"+$dirtyportrait } ], statChanges: { money:-50 }} ]>> <<else>> <<set $artChoice = [ { text: "Yes", result: [ { character: "Narrator", gender: "na", type: "narrative", text: "You buy the painting and after an hour or two it is done. $50" }, { character: "artist", gender: "male", type: "speech", text: "Maybe next time we can discuss a different sort of payment." }, { character: "Narrator", gender: "na", type: "narrative", text: "He directs a lusty grin at you" }, { character: "artist", gender: "male", type: "speech", text: "I see that you are always changing your style so dont be scared to get another portrait." }, { character: "Narrator", gender: "na", type: "image", text: "img/events/"+$portrait }, ], statChanges: { money:-50 }} , { text: "Ignore it", result: [ { character: "MC", gender: "female", type: "speech", text: "Sorry im not interested" }, { character: "artist", gender: "male", type: "speech", text: "Thats ok, if we happen to meet again I would be happy to paint your portrait. If its about payment , We couldve explored other options." } ] }]>> <</if>> <<set $randomConversation = either([ [ { character: "MC", gender: "female", type: "narrative", text: "A life portrait artist beckons you to come in to his section" }, {character: "Narrator", gender: "na", type: "choice", text: "How do you react?", choices: [ { text: "Go talk to him", result: [ { character: "Narrator", gender: "na", type: "narrative", text: "He invites you to take a seat."}, { character: "artist", gender: "male", type: "speech", text: "My lady, if I could steal a moment, I would be happy to paint your portrait for a small fee of $50." }, { character: "Narrator", gender: "na", type: "choice", text: "Do you buy the painting?", choices: $artChoice } ]} ]}], [ { character: "MC", gender: "female", type: "thought", text: "The mall is always lively" } ], [ { character: "Narrator", gender: "na", type: "narrative", text: "You see Candy flirting with a group of men in the mall" }, { character: "MC", gender: "female", type: "thought", text: "There she is again, with more men wrapped around her finger" }, { character: "Narrator", gender: "trans", type: "speech", text: "Oh my, calm down boys. Theres enough of me for all of you." }, { character: "MC", gender: "female", type: "video", text: "img/events/candy-mall1.webm" } ], [ { character: "MC", gender: "female", type: "narrative", text: "You see a flashmob. Theyre having a party in the mall" }, { character: "MC", gender: "female", type: "video", text: "img/events/flashmob.mp4" }, ], [ { character: "Narrator", gender: "na", type: "thought", text: "The silence is almost eerie, as if the world is holding its breath." } ], [ { character: "MC", gender: "female", type: "narrative", text: "You hear a wayward conversation in the mall" }, { character: "stranger1", gender: "male", type: "speech", text: "Ayye Shirley, you been to the gym?" }, { character: "stranger2", gender: "female", type: "speech", text: "Yeah dude , they got all the latest equipment. And I met one of the trainers. You know, Alexis." }, { character: "stranger1", gender: "male", type: "speech", text: "Alexis! I heard shes got a nice body." }, { character: "stranger2", gender: "female", type: "speech", text: "Right. Shes banging." }, { character: "stranger1", gender: "male", type: "speech", text: "Shes also got her own set of tools. If you know what I mean." }, { character: "MC", gender: "female", type: "narrative", text: "The second stranger blushes." }, ], [ { character: "Narrator", gender: "na", type: "narrative", text: "You see an ad for casual clothing." }, { character: "MC", gender: "female", type: "thought", text: "I should get more threads , im seriously lackin in the wardrobe department." } ] , [ { character: "Narrator", gender: "na", type: "narrative", text: "You spot a beautiful woman adjusting an open sign in the Odai body studio" }, {character: "Narrator", gender: "na", type: "choice", text: "Take a closer look.", choices: [ { text: "Check her out", result: [ { character: "Narrator", gender: "na", type: "image", text: "img/characters/autumn-fullbody.png" }, ] } ] } ], ] )>> <</nobr>> <div id="chat-container"></div> <<script>> $(document).ready(function() { console.log(State.variables.randomConversation) $("#chat-container").html(window.renderConversation(State.variables.randomConversation)); }); <</script>> <div id="game-world-grid"> </div> <<set $places = [ { name: "Odai Body Studio", image: "img/locations/salonloc.jpeg", passage: "Salon", visible: true }, { name: "Svetlanas Closet", image: "img/locations/clothloc.jpeg", passage: "Clothes Store", visible: true }, { name: "Bathroom", image: "img/locations/bathloc.jpeg", passage: "Bathroom", visible: false }, { name: "Gym", image: "img/locations/gymloc.jpeg", passage: "Gym Reception", visible: true }, { name: "Devs Office", image: "img/locations/electronicsstoreloc.jpeg", passage: "Electronics Store", visible: true }, ] >> <<script>> $(document).ready(function() { // Function to render a single place window.renderPlace = function renderPlace(place) { if (place.visible) { return ` <div class="place-block"> <a href="javascript:void(0);" data-passage="${place.passage}"> <img src="${place.image}" alt="${place.name}" style="object-fit:contain;"> <div class="description">${place.name}</div> </a> </div> `; } return ""; // Return empty if not visible }; // Function to render all places as HTML, only updating if necessary window.updatePlaces = function updatePlaces() { console.log("Updating places..."); const html = State.variables.places.map(window.renderPlace).join(""); $("#game-world-grid").html(html); }; // Initial render of places window.updatePlaces(); // Ensure click handler fires only once $(document).off("click", ".place-block a").on("click", ".place-block a", function (event) { event.preventDefault(); // Stop default behavior event.stopPropagation(); // Stop event bubbling const passage = $(this).attr("data-passage"); console.log("Navigating to passage:", passage); if (!passage) { console.error("Error: Passage name is undefined!"); return; } Engine.play(passage); }); }); <</script>> <<button "Leave" "Central District">><</button>>
<<button "Leave" "Upper District">><</button>>
<<button "Leave" "Upper District">><</button>>
<<button "Leave" "Upper District">><</button>>
[[Park]] [[Mall]] [[Upper District]] [[Pink School]] [[Clinic]] [[Landlord apartment]] [[bus]] [[cab]] [[bus]] [[car]] [[Hood District]] [[Central District]] [[Del Bistro Restaurant]] [[Red Light District]] [[Sexual Delights Store]] [[The Goon Strip Club]] [[Galaxy Night Club]] [[To Rent Sign]] [[Mall]] [[Hospital]] [[Business Corporate]] [[Bank]] [[Modeling Agency]]
<<nobr>> <<set $exercised =$exercised or 0>> <<switch random(1,3)>> <<case 1>> <<set $candyvid= "img/events/candy-yoga.webm">> <<case 2>> <<set $candyvid= "img/events/candy-yoga2.webm">> <<case 3>> <<set $candyvid= "img/events/candy-park.webm">> <</switch>> <<switch $bodyShape>> <<case "large">> <<set $candyRunMess= { character: "Candy", gender: "trans", type: "speech", text: "OMG! $firstname , Are you ready to run and maybe see your feet again?" } >> <<case "overw">> <<set $candyRunMess= { character: "Candy", gender: "trans", type: "speech", text: "OMG! $firstname , Are you gonna turn that fat ass into a booty today?" } >> <<case "fit">> <<set $candyRunMess= { character: "Candy", gender: "trans", type: "speech", text: "OMG! $firstname , Lets kick butt today!" } >> <<case "sexy">> <<set $candyRunMess= { character: "Candy", gender: "trans", type: "speech", text: "OMG! $firstname , that body of yours is gonna distract me from my run!" } >> <</switch>> <</nobr>> <<script>> window.getParkEventByBodyShape = function(exerciseType) { let events = []; const bs = State.variables.bodyShape; switch(bs) { case "large": if (exerciseType === "Walking") { events = [ [{ character: "MC", gender: "female", type:"speech", text:"Even with my large frame, a gentle walk feels refreshing." }], [{ character: "MC", gender: "female", type:"speech", text:"Man, I<punc>m tired. I need a break." }], [ { character: "MC", gender: "female", type:"thought", text:"A slow walk helps me ease into the day despite my size." }], [ { character: "MC", gender: "female", type:"speech", text:"I enjoy a peaceful stroll, even if I feel a bit weighed down." }] ]; } else if (exerciseType === "Jogging") { events = [ [ { character: "MC", gender: "female", type:"speech", text:"Jogging is a challenge with my large frame, but I push on." }], [ { character: "MC", gender: "female", type:"thought", text:"Every jog is a victory against my limitations." }], [{ character: "MC", gender: "female", type:"speech", text:"I manage a slow jog, feeling determined despite the strain." }], [{ character: "MC", gender: "female", type:"speech", text:"Even a jog can feel empowering when I beat the odds." }] ]; } else if (exerciseType === "Running") { events = [ [ { character: "MC", gender: "female", type:"speech", text:"The burn in my muscles is intense Candy!" }, { character: "Candy", gender: "trans", type:"speech", text:"Don<punc>t you dare quit on me lard legs!" } ], [ { character: "MC", gender: "feme", type:"narrative", text:"You slow down to a halt. Candy isnt berating you with insults. You notice her staring at something" }, { character: "Candy", gender: "trans", type:"speech", text:"My oh my..." }, {character: "Narrator", gender: "na", type: "choice", text: "Take a look at what she sees", choices: [ { text: "Look +1"+State.variables.devi, result: [ { character: "Candy", gender: "male", type: "video", text: "img/events/runev1.webm" }, { character: "Candy", gender: "trans", type:"speech", text:"You like what you see, $firstname? that could be you soon." }, ], statChanges: { deviancy:1 }} ,{ text: "Ignore"}]} ], [{ character: "MC", gender: "female", type:"narrative", text:"You run hard, feeling every step challenge your limits." }], [ { character: "MC", gender: "female", type:"thought", text:"Even running leaves me breathless, but I feel alive." }, { character: "Candy", gender: "trans", type:"speech", text:"Get your ass in gear $firstname! These calories arent going to burn themselves!" }, {character: "Narrator", gender: "na", type: "choice", text: "Push harder? Or", choices: [ { text: "Run!!! -20 energy +2"+State.variables.fiti,result: [ { character: "Candy", gender: "trans", type:"speech", text:"Yes Babe! Give it your all!" }, ], statChanges: { fitness:2 ,energy:-20 }} ,{ text: "Ignore",result: [ { character: "Candy", gender: "trans", type:"speech", text:"Stop being a fucking loser and get up!" } ]}]} ] ]; } else if (exerciseType === "Chilling") { events = [ [ { character: "MC", gender: "female", type:"narrative", text:"I settle on a bench, my large frame relaxed in the soft park light." }], [{ character: "MC", gender: "female", type:"speech", text:"Chilling here lets me catch my breath and savor the moment." }], [ { character: "MC", gender: "female", type:"thought", text:"Sometimes, resting is the best way to recharge my energy." }], [{ character: "MC", gender: "female", type:"speech", text:"Guess I<punc>ll take it easy." }] ]; } break; case "overw": if (exerciseType === "Walking") { events = [ [{ character: "MC", gender: "female", type:"speech", text:"A gentle walk helps me manage my extra weight." }], [{ character: "MC", gender: "female", type:"thought", text:"Each step is a reminder to take it slow." }], [{ character: "MC", gender: "female", type:"speech", text:"Walking feels steady and calm, just what I need." }], [{ character: "MC", gender: "female", type:"speech", text:"A peaceful walk lightens my mood even if I'm overweight." }] ]; } else if (exerciseType === "Jogging") { events = [ [{ character: "MC", gender: "female", type:"speech", text:"Jogging makes my heart race, but I keep pushing." }], [{ character: "MC", gender: "female", type:"thought", text:"I jog with determination, each step a small triumph." }], [{ character: "MC", gender: "female", type:"speech", text:"I enjoy the challenge of jogging, even with extra weight." }], [{ character: "MC", gender: "female", type:"speech", text:"Every jog brings me a step closer to feeling lighter." }] ]; } else if (exerciseType === "Running") { events = [ [ { character: "MC", gender: "female", type:"speech", text:"Running is tough with extra pounds, but I push through." }, { character: "Candy", gender: "trans", type:"speech", text:"You<punc>ve lose a little bit of weight baby girl." }, { character: "Candy", gender: "trans", type:"narrative", text:"You sense candy sneaking up behind you." }, {character: "Narrator", gender: "na", type: "choice", text: "Do you dodge?", choices: [ { text: "No +1"+State.variables.devi, result: [ { character: "MC", gender: "fele", type:"narrative", text:"Candy swiftly gets behind you snaking her arms around your waist and grasping your breasts" }, { character: "Candy", gender: "male", type: "image", text: "img/events/mc-candy-"+State.variables.hairColor+"-parkgrab.png" }, { character: "Candy", gender: "trans", type:"speech", text:"You got some fat in the right places $firstname. " }, { character: "MC", gender: "female", type:"narrative", text:"you feel your nipples hardening as she continues to rub your breasts." }, { character: "MCs", gender: "female", type:"speech", text:"Hey...<animate>Hnnn</animate>... let go!" }, { character: "MC", gender: "fele", type:"narrative", text:"Candy lets go of your breasts" }, { character: "Candy", gender: "trans", type:"speech", text:"You<punc>re safe for now $firstname. " } ], statChanges: { deviancy:1 }} ,{ text: "Yes +1"+State.variables.fiti, result: [ { character: "MC", gender: "female", type:"speech", text:"Ha! too slow." }, { character: "Candy", gender: "trans", type:"speech", text:"You escaped my grasp this time." }, ], statChanges: { fittness:1 } }]} ], [ { character: "MC", gender: "female", type:"thought", text:"I think I<punc>m getting a little better at this, I feel alive." }, { character: "Candy", gender: "trans", type:"speech", text:"Get your ass in gear $firstname! These calories arent going to burn themselves!" }, {character: "Narrator", gender: "na", type: "choice", text: "Push harder? Or", choices: [ { text: "Run!!! -10 energy +3"+State.variables.fiti,result: [ { character: "Candy", gender: "trans", type:"speech", text:"Yes Babe! Give it your all!" }, { character: "Candys", gender: "trans", type:"speech", text:"Your going to be so fucking hot! I cant wait!" }, {character: "Narrator", gender: "na", type: "choice", text: "Candy<punc>s inches closer to yours", choices: [ { text: "Kiss +3"+State.variables.devi,result: [ { character: "MC", gender: "fele", type:"narrative", text:"You make out pasionately, swapping spit and sucking tongue" }, { character: "Candy", gender: "trans", type:"video", text:"img/events/runev2.webm" }, { character: "MC", gender: "fele", type:"narrative", text:"Eventually you stop" }, { character: "Candys", gender: "trans", type:"speech", text:"Keep joining me on these morning runs and there<punc>ll be more where that came from." } ] , statChanges: { deviancy:3 ,energy:-5 } }, { text: "Hug",result: [ { character: "MC", gender: "fele", type:"narrative", text:"You hug Candy" }, { character: "MC", gender: "female", type:"speech", text:"Thanks for everything Candy" }, { character: "Candy", gender: "trans", type:"speech", text:"Uhh alright, anytime." } ] } ] } ], statChanges: { fitness:3 ,energy:-10 , candy:1 }} ,{ text: "Ignore",result: [ { character: "Candy", gender: "trans", type:"speech", text:"Stop being a fucking loser and get up!" } ]}]} ], [ { character: "MC", gender: "feme", type:"narrative", text:"You slow down to a halt. Candy isnt berating you with insults. You notice her staring at something" }, { character: "Candy", gender: "trans", type:"speech", text:"My oh my..." }, {character: "Narrator", gender: "na", type: "choice", text: "Take a look at what she sees", choices: [ { text: "Look +2"+State.variables.devi, result: [ { character: "MC", gender: "fele", type:"narrative", text:"You spot a couple fucking in public" }, { character: "Candy", gender: "male", type: "video", text: "img/events/runev3.webm" }, { character: "MCs", gender: "female", type:"speech", text:"Oh my indeed..." }, { character: "Candy", gender: "trans", type:"speech", text:"You like what you see, $firstname?" }, { character: "MC", gender: "fele", type:"narrative", text:"You respond by blushing and jetting off ahead of Candy" }, { character: "Candy", gender: "trans", type:"speech", text:"Weirdo. Hey wait up!" }, ], statChanges: { deviancy:2 }} ,{ text: "Ignore"}]} ], [ { character: "MC", gender: "female", type:"speech", text:"I run hard, knowing each stride helps me overcome my limits." }] ]; } else if (exerciseType === "Chilling") { events = [ [{ character: "MC", gender: "female", type:"thought", text:"I relax on the park bench, letting the calm ease my worries." }], [{ character: "MC", gender: "female", type:"speech", text:"Chilling here is a perfect way to recuperate." }], [{ character: "MC", gender: "female", type:"thought", text:"Taking a break helps me recover for the next challenge." }], [{ character: "MC", gender: "female", type:"speech", text:"I just sit back, enjoying the peaceful park vibe." }] ]; } break; case "fit": if (exerciseType === "Walking") { events = [ [{ character: "MC", gender: "female", type:"speech", text:"A brisk walk keeps my fit body in prime condition." }], [{ character: "MC", gender: "female", type:"speech", text:"I stride confidently, enjoying the rhythm of my steps." }], [{ character: "MC", gender: "female", type:"thought", text:"A light walk refreshes both mind and body." }], [{ character: "MC", gender: "female", type:"speech", text:"Walking is a smooth and effortless exercise for me." }] ]; } else if (exerciseType === "Jogging") { events = [ [{ character: "MC", gender: "female", type:"speech", text:"Jogging feels natural, my body in perfect sync with each step." }], [{ character: "MC", gender: "female", type:"thought", text:"I maintain a steady pace, enjoying my robust fitness." }], [{ character: "MC", gender: "female", type:"speech", text:"Jogging reinforces my commitment to staying fit." }], [{ character: "MC", gender: "female", type:"speech", text:"I relish the simple joy of a good jog." }] ]; } else if (exerciseType === "Running") { events = [ [ { character: "MC", gender: "female", type:"thought", text:"I think I<punc>m gettinga little better at this, I feel alive." }, { character: "Candy", gender: "trans", type:"speech", text:"Get your ass in gear $firstname! These calories arent going to burn themselves!" }, {character: "Narrator", gender: "na", type: "choice", text: "Push harder? Or", choices: [ { text: "Run!!! -10 energy +3"+State.variables.fiti,result: [ { character: "Candy", gender: "trans", type:"speech", text:"Yes Babe! Give it your all!" }, { character: "Candys", gender: "trans", type:"speech", text:"You<punc>re so fucking hot babe!" } ], statChanges: { fitness:3 ,energy:-10 }} ,{ text: "Ignore",result: [ { character: "Candy", gender: "trans", type:"speech", text:"Stop being a fucking loser and get up!" } ]}]} ], [{ character: "MC", gender: "female", type:"thought", text:"Every sprint is a burst of pure power." }], [{ character: "MC", gender: "female", type:"speech", text:"I run fast and strong, enjoying every moment." }], [{ character: "MC", gender: "female", type:"speech", text:"My speed and endurance make every run a triumph." }] ]; } else if (exerciseType === "Chilling") { events = [ [{ character: "MC", gender: "female", type:"thought", text:"I take a break on the park bench, my body well-rested and calm." }], [{ character: "MC", gender: "female", type:"speech", text:"Chilling is a welcome chance to simply enjoy the day." }], [{ character: "MC", gender: "female", type:"thought", text:"Resting helps me maintain my fitness." }], [{ character: "MC", gender: "female", type:"speech", text:"I relax, knowing I'm in peak condition." }] ]; } break; case "sexy": if (exerciseType === "Walking") { events = [ [{ character: "MC", gender: "female", type:"speech", text:"Every step feels graceful as I walk with my sexy figure." }], [{ character: "MC", gender: "female", type:"speech", text:"I walk confidently, knowing I turn heads." }], [{ character: "MC", gender: "female", type:"thought", text:"A stroll is a chance to show off my curves." }], [{ character: "MC", gender: "female", type:"speech", text:"Walking is just another way to shine." }] ]; } else if (exerciseType === "Jogging") { events = [ [{ character: "MC", gender: "female", type:"speech", text:"Jogging accentuates my sexy form as I move with determination." }], [{ character: "MC", gender: "female", type:"thought", text:"Every jog is a dance of strength and beauty." }], [{ character: "MC", gender: "female", type:"speech", text:"I jog with confidence, radiating sex appeal." }], [{ character: "MC", gender: "female", type:"speech", text:"My jog is a performance, and I'm the star." }] ]; } else if (exerciseType === "Running") { events = [ [{ character: "MC", gender: "female", type:"speech", text:"I run with fiery passion, my sexy figure on full display." }], [{ character: "MC", gender: "female", type:"thought", text:"Every sprint highlights my strength and allure." }], [{ character: "MC", gender: "female", type:"speech", text:"Running is a celebration of my confidence." }], [{ character: "MC", gender: "female", type:"speech", text:"I dash through the park, turning every head." }] ]; } else if (exerciseType === "Chilling") { events = [ [{ character: "MC", gender: "female", type:"thought", text:"I relax on the bench, my sexy aura undiminished even at rest." }], [{ character: "MC", gender: "female", type:"speech", text:"Chilling in the park lets me savor my allure." }], [{ character: "MC", gender: "female", type:"thought", text:"Rest feels as satisfying as my best look." }], [{ character: "MC", gender: "female", type:"speech", text:"Even when I chill, I radiate sex appeal." }] ]; } break; default: events = [ { character: "MC", gender: "female", type:"speech", text:"I wander through the park, unsure of what to do." } ]; break; } // Randomly select one event from the chosen list. const randomIndex = Math.floor(Math.random() * events.length); return events[randomIndex]; }; <</script>> <h2>Park</h2> <p>You find yourself surrounded by green lawns. The park invites you to get some exercise—or simply relax. What will you do?</p> <div id="parkChat"></div> <!-- Exercise Options --> <<do>><<if $energy >= 10>> <<button "Walk">> <<set $exercise = "Walking">> <<set $exercised += 1>> <<run $("#parkChat").html(window.renderConversation(window.getParkEventByBodyShape("Walking")))>> <<set $energy -= 10>> <<script>> window.scrollTo(0, 0) window.advanceTime(1); State.variables.fitness+=window.statGainDropper("Walking"); <</script>> You take a leisurely walk. <<redo>> <</button>> <<else>> <div id="walkmess"></div> <<script>> $(document).ready(function() { $("#walkmess").html(window.renderConversation([ { character: "MC", gender: "female", type: "thought", text: " I don<punc>t have enough energy to walk." }, ])) }); <</script>> <</if>><</do>> <<do>><<if $wornOutfit==="Sports 2 piece" and $energy>=10>> <<button "Jog">> <<script>> window.advanceTime(1); window.scrollTo(0, 0); State.variables.fitness+=window.statGainDropper("Jogging"); <</script>> <<set $exercised += 1>> <<set $exercise = "Jogging">> <<run $("#parkChat").html(window.renderConversation(window.getParkEventByBodyShape("Jogging")))>> <<set $energy -= 15>> You start jogging. <<redo>> <</button>> <<elseif $energy<10>> <div id="jogmess"></div> <<script>> $(document).ready(function() { $("#jogmess").html(window.renderConversation([ { character: "MC", gender: "female", type: "thought", text: " I don<punc>t have enough energy to Jog." }, ])) }); <</script>> <<else>> <div id="jogmess"></div> <<script>> $(document).ready(function() { $("#jogmess").html(window.renderConversation([ { character: "MC", gender: "female", type: "thought", text: " I need to wear my sports gear if I want to Jog in the park." }, ])) }); <</script>> <</if>><</do>> <<if $candy<1>> <<set $candy+=1>> <<set $candychat1 = [ { character: "narrator", type: "narrative", text: "The park was quiet except for the distant sounds of birds and the occasional jogger passing by." }, { character: "Candy", gender: "na", type: "narrative", text: "Candy strolled up, making sure to sway her hips in a teasing manner." }, { character: "Candy", gender: "trans", type: "speech", text: "OMG! $firstname what are you doing here , dont tell me youre working out? lol" }, { character: "MC", gender: "female", type: "speech", text: "Uh… yeah? Why?" }, { character: "Candy", gender: "trans", type: "speech", text: "Babe, you<punc>re in jeans. What? gonna run a marathon in those?" }, { character: "MC", gender: "female", type: "speech", text: "I was just gonna walk or something." }, { character: "Candy", gender: "trans", type: "speech", text: "Pfft. You think walking<punc>s gonna fix that?" }, { character: "MC", gender: "female", type: "speech", text: "Fix what?" }, { character: "MC", gender: "female", type: "thought", text: "Okay, rude." }, { character: "narrator", type: "narrative", text: "$firstname glanced down at her sneakers, scuffing them against the pavement. Candy stretched her arm, unbothered." }, { character: "MC", gender: "female", type: "speech", text: "Not everyone has to suffer to be healthy, Candy." }, { character: "Candy", gender: "trans", type: "speech", text: "No, but you gotta do more than strolling like an old lady. Maybe invest in some leggings first, though. Those jeans are holding on for dear life." }, { character: "narrator", type: "narrative", text: "Candy starts modeling her sexy workout gear." }, { character: "ews", type:"video", text: "img/events/candy-park.webm" }, { character: "MC", gender: "female", type: "thought", text: "She does look hot. Wait, why am I even listening to her?" }, { character: "MC", gender: "female", type: "speech", text: "Thanks for the unsolicited advice. I'll be sure to struggle aesthetically next time." }, { character: "Candy", gender: "trans", type: "speech", text: "You<punc>re welcome, babe. Just looking out for you. By the way , you can find me here in the morning if you need any help. I dont take walks though" }, { character: "narrator", type: "narrative", text: "Candy smirked and took another long look at you before giggling and jogging away." }, { character: "ews", type:"image", text: "img/events/candy-park.jpg" }, ]>> <<elseif $timeCounter===0 and $candy>0>> <<set $candychat1 = [ { character: "narrator", type: "narrative", text: "You see Candy in the park" }, { character: "ews", type:"video", text: $candyvid }, $candyRunMess, { character: "MC", gender: "female", type: "speech", text: "Uh… yeah? Why?" }, { character: "Candy", gender: "trans", type: "speech", text: "Best choice ever ,Babe . Lets get started!" }, ]>> <<else>> <<set $candychat1 = []>> <</if>> <<script>> $(document).ready(function() { $("#parkChat").html(window.renderConversation(State.variables.candychat1)); }); <</script>> <<do>> <<if $wornOutfit==="Sports 2 piece" and $timeCounter===0 and $energy >= 20>> <<button "Run with Candy">> <<script>> window.advanceTime(1); window.scrollTo(0, 0); State.variables.fitness+=window.statGainDropper("Running"); <</script>> <<set $exercise = "Running">> <<set $exercised += 1>> <<run $("#parkChat").html(window.renderConversation(window.getParkEventByBodyShape("Running")))>> <<set $energy -= 20>> <<redo>> <</button>> <<elseif $energy < 20>> <div id="runmess"></div> <<script>> $(document).ready(function() { $("#runmess").html(window.renderConversation([ { character: "MC", gender: "female", type: "thought", text: " I don<punc>t have enough energy to run." }, ])) }); <</script>> <<else>> <div id="runmess"></div> <<script>> $(document).ready(function() { $("#runmess").html(window.renderConversation([ { character: "MC", gender: "female", type: "thought", text: " I should catch candy in the mornings. Maybe we can exercise together." }, ])) }); <</script>> <</if>> <</do>> <<button "Chill">> <<set $exercise = "Chilling">> <<run $("#parkChat").html(window.renderConversation(window.getParkEventByBodyShape("Chilling")))>> <<set $energy += 2>> <<script>> window.advanceTime(1); window.scrollTo(0, 0); <</script>> You decide to relax on a park bench. <</button>> <<button"Leave the Park" "Central District">><</button>>
<<button "Exit Bus" <<back linkMarkup>>>><</button>> <div class="game-world-grid"> <div class="place-block"> <a href="javascript:void(0);" data-passage="Central District"> <img src="images/Central_District.jpg" alt="Central District"> <div class="description">Central District</div> </a> </div> <div class="place-block"> <a href="javascript:void(0);" data-passage="Upper District"> <img src="images/Upper_District.jpg" alt="Upper District"> <div class="description">Upper District</div> </a> </div> <div class="place-block"> <a href="javascript:void(0);" data-passage="Hood District"> <img src="images/Hood_District.jpg" alt="Hood District"> <div class="description">Hood District</div> </a> </div> <div class="place-block"> <a href="javascript:void(0);" data-passage="Red Light District"> <img src="images/Red_Light_District.jpg" alt="Red Light District"> <div class="description">Red Light District</div> </a> </div> </div>
<div class="game-world-grid"> <div class="place-block"> <a href="javascript:void(0);" data-passage="bus" style="background-image: url('img/locations/busloc.jpg');"> <div class="description">Bus</div> </a> </div> <div class="place-block"> <a href="javascript:void(0);" data-passage="Sexual Delights Store" style="background-image: url('img/locations/sexstoreloc.jpg');"> <div class="description">Sexual Delights Store</div> </a> </div> <div class="place-block"> <a href="javascript:void(0);" data-passage="Galaxy Night Club" style="background-image: url('img/locations/nightclubloc.jpg');"> <div class="description">Galaxy Night Club</div> </a> </div> <div class="place-block"> <a href="javascript:void(0);" data-passage="The Goon Club" style="background-image: url('img/locations/striploc.jpg');"> <div class="description">The Goon Club</div> </a> </div> </div>
<<if $fitness>=45>> <<set $slapResult = [ { character: "Narrator", gender: "na", type: "narrative", text: "You slap the dogshit out of him" }, { character: "Narrator", gender: "na", type: "video", text: "img/events/slapwin.mp4" } ]>> <<else>> <<set $slapResult = [ { character: "Narrator", gender: "na", type: "narrative", text: "He dodges your attacks." }, { character: "Narrator", gender: "na", type: "video", text: "img/events/slaplose.mp4" } ]>> <</if>> <<set $randomConversation = either([ [ { character: "MC", gender: "female", type: "narrative", text: "You see an ad calling for young attractive waitresses at Del Bistro." }, { character: "MC", gender: "female", type: "image", text: "img/events/delbistroad.jpeg" }, { character: "MC", gender: "female", type: "thought", text: "looks like the restaurants thriving." } ], [ { character: "MC", gender: "female", type: "narrative", text: "The city sounds remain unchanged as you go about your business." } ], [ { character: "Narrator", gender: "na", type: "narrative", text: "You see an old lady struggling to lift a package." }, {character: "Narrator", gender: "na", type: "choice", text: "Do you assist her?", choices: [ { text: "Help her", result: [ { character: "Narrator", gender: "na", type: "narrative", text: "The box is actually quite heavy and you wonder how she could even move it. fitness+1" } ], statChanges: { fitness:+1 } }, { text: "Ignore it", result: [ { character: "MC", gender: "female", type: "thought", text: "Why would she buy something she couldn#t carry . deviancy+1" } ], statChanges: { deviancy:+1 } } ] } ], [ { character: "MC", gender: "female", type: "narrative", text: "You take a deep breath, accepting the mundane nature of the day." } ], [ { character: "Narrator", gender: "na", type: "thought", text: "The silence is almost eerie, as if the world is holding its breath." } ], [ { character: "MC", gender: "feme", type: "narrative", text: "A passing stranger talking on the phone mentions Odai body studio opening in the Central District mall" }, { character: "MC", gender: "female", type: "thought", text: "I could probably get a massage there." } ], [ { character: "Narrator", gender: "na", type: "narrative", text: "A small smile appears on your face as you recall the time Kofi spilled cake batter all over the kitchen floor." } ], [ {character: "Narrator", gender: "na", type: "choice", text: "You hear soft moans coming from an alleyway.", choices: [ { text: "Take a look", result: [ { character: "Narrator", gender: "na", type: "narrative", text: "To your surprise you see one of your neighbors having rough anal sex in the alleyway. deviancy+1" }, { character: "Narrator", gender: "na", type: "video", text: "img/events/public1.webm" }, ], statChanges: { deviancy:+1 }} ] } ], [ { character: "Narrator", gender: "na", type: "narrative", text: "You see the owner of the general store escorting a customer out the front door. You notice something weird on her face." }, {character: "Narrator", gender: "na", type: "choice", text: "Take a closer look.", choices: [ { text: "Look", result: [ { character: "Narrator", gender: "na", type: "narrative", text: "The womans face is covered in cum. She continues walking as if her face is normal" }, { character: "Narrator", gender: "na", type: "video", text: "img/events/slutwalk.webm" }, { character: "Narrator", gender: "na", type: "narrative", text: "You see Kyle waving at you in the distance" }, { character: "kyle", gender: "male", type: "speech", text: "Heeey $firstname! We git discounts on food, just come see me!" } ], statChanges: { deviancy:+1 }} ] } ], [ { character: "Narrator", gender: "na", type: "narrative", text: "You feel a quick sharp smack reverberate through your bum. You turn around to find a young man sporting a mischievious grin." }, {character: "Narrator", gender: "na", type: "choice", text: "How do you react?", choices: [ { text: "Slap him", result: $slapResult}, { text: "Shake it invitingly", result: [ { character: "Narrator", gender: "na", type: "narrative", text: "He holds you close and squeezes your ass" }, { character: "Narrator", gender: "na", type: "video", text: "img/events/bootyslap2.mp4" } ], statChanges: { deviancy:+1 }} ] } ] ] )>> <<button "Go Home" "Apartment">><</button>> <div id="chat-container"></div> <<script>> $(document).ready(function() { console.log(State.variables.randomConversation) $("#chat-container").html(window.renderConversation(State.variables.randomConversation)); }); <</script>> <<set $places = [ { name: "Bus", image: "img/locations/busloc.jpg", passage: "bus", visible: false }, { name: "Del Bistro Restaurant", image: "img/locations/DelBistroloc.png", passage: "Del Bistro Restaurant", visible: true }, { name: "Convenience Store", image: "img/locations/generalstoreloc.png", passage: "General Store", visible: true }, { name: "Car", image: "img/locations/car.jpg", passage: "Car", visible: false }, // Conditionally added { name: "Park", image: "img/locations/parkloc.jpg", passage: "Park", visible: true }, { name: "Upper District", image: "img/locations/upperdloc.jpg", passage: "Upper District", visible: false }, { name: "Pink School", image: "img/locations/pinkschoolloc.jpg", passage: "Pink School", visible: false }, { name: "Clinic", image: "img/locations/clinicloc.jpg", passage: "Clinic", visible: false }, { name: "Mall", image: "img/locations/mallloc.jpg", passage: "Mall", visible: true }, { name: "Landlord Apartment", image: "img/locations/landlordloc.jpg", passage: "Landlord apartment", visible: false}, { name: "Cab", image: "images/cab.jpg", passage: "cab", visible: false }, { name: "Sunlit Beach", image: "place3.jpg", passage: "place3", visible: false } ] >> <div id="game-world-grid"></div> <<script>> $(document).ready(function() { // Function to render a single place window.renderPlace = function renderPlace(place) { if (place.visible) { return ` <div class="place-block"> <a href="javascript:void(0);" data-passage="${place.passage}"> <img src="${place.image}" alt="${place.name}" style="object-fit:contain;"> <div class="description">${place.name}</div> </a> </div> `; } return ""; // Return empty if not visible }; // Function to render all places as HTML, only updating if necessary window.updatePlaces = function updatePlaces() { console.log("Updating places..."); const html = State.variables.places.map(window.renderPlace).join(""); $("#game-world-grid").html(html); }; // Initial render of places window.updatePlaces(); // Ensure click handler fires only once $(document).off("click", ".place-block a").on("click", ".place-block a", function (event) { event.preventDefault(); // Stop default behavior event.stopPropagation(); // Stop event bubbling const passage = $(this).attr("data-passage"); console.log("Navigating to passage:", passage); if (!passage) { console.error("Error: Passage name is undefined!"); return; } Engine.play(passage); }); }); <</script>>
<<button "Leave" "Red Light District">><</button>>
<<button "Leave" "Red Light District">><</button>>
<<button "Leave" "Red Light District">><</button>>
<<button "Leave" "Upper District">><</button>>
<<nobr>> <<set $sleepval to random( 7)>> <<set $boobjob=$boobjob or 0>> <<set $checkweekday=$weekday>> <<script>> window.advanceTime(2); <</script>> <<if $weekday!=$checkweekday>> <<set $exercised=0>> <</if>> <<switch $bodyShape>> <<case "large">> <<set $hunger += 50>> <<case "overw">> <<set $hunger += 35>> <<case "fit">> <<set $hunger += 20>> <<case "sexy">> <<set $hunger += 25>> <<default>> <<set $hunger += 0>> <</switch>> <<if $fitness>=85 and $boobjob===1 and $bodyShape!="sexy" >> <<goto "transformation3">> <<elseif $fitness>65 and $bodyShape!="fit">> <<goto "transformation2">> <<elseif $fitness>=25 and $bodyShape != "overw">> <<goto "transformation1">> <</if>> <<if $energy+35>100>> <<set $energy = 100>> <<elseif $hunger>80>> <<set $energy+=35>> <<else>> <<set $energy+=70>> <</if>> <<if $hunger>80>> You are starving and get a horrible night of sleep. +35 energy <<else>> You lay you head down for a peacful night of sleep. +70 energy <</if>> <</nobr>> <<if $deviancy < 45>> <img id="sleepImage" src=""/> <script> $sleepval = Math.floor(Math.random() * 6)+1; document.getElementById("sleepImage").src = "img/sleep/normal" + $sleepval + ".gif"; </script> <</if>> <<if $deviancy > 60>> <img id="sleepImage" src=""/> <script> $sleepval = Math.floor(Math.random() * 5)+1; document.getElementById("sleepImage").src = "img/sleep/dirty" + $sleepval + ".gif"; </script> <</if>> <<button "Wake Up">> <<goto "Bedroom">> <</button>>
<div class="stat-container"> <div class="stat"> <svg class="stat-svg"> <path class="stat-bg" d="M5,25 A20,20 0 0,1 45,25" /> <path class="stat-fill" d="M5,25 A20,20 0 0,1 45,25" id="fitness-bar" /> </svg> <div class="stat-value" id="fitness-value"><<print $fitness>></div> <div><i class="fas fa-dumbbell"></i></div> </div> <div class="stat"> <svg class="stat-svg"> <path class="stat-bg" d="M5,25 A20,20 0 0,1 45,25" /> <path class="stat-fill" d="M5,25 A20,20 0 0,1 45,25" id="deviancy-bar" /> </svg> <div class="stat-value" id="deviancy-value"><<print $deviancy>></div> <div class="staticon"> <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="26px" height="26px" viewBox="0 0 36 36" aria-hidden="true" role="img" class="iconify iconify--twemoji" preserveAspectRatio="xMidYMid meet"><circle fill="#AA8DD8" cx="18" cy="18" r="18"/><path fill="#AA8DD8" d="M10 4C7.42 4 4.369 1.534 3.414.586A1.998 1.998 0 0 0 1.235.153A1.998 1.998 0 0 0 0 2c0 3.459 1.672 10 8 10a2 2 0 0 0 1.789-1.106l2-4A1.999 1.999 0 0 0 10 4zM34.766.153a1.996 1.996 0 0 0-2.18.434C31.7 1.472 28.589 4 26 4a1.999 1.999 0 0 0-1.789 2.895l2 4A2 2 0 0 0 28 12c6.328 0 8-6.541 8-10c0-.809-.487-1.538-1.234-1.847z"/><path fill="#553986" d="M27.335 25.629a.501.501 0 0 0-.635-.029c-.039.029-3.922 2.9-8.7 2.9c-4.766 0-8.662-2.871-8.7-2.9a.5.5 0 0 0-.729.657C8.7 26.472 11.788 31.5 18 31.5s9.301-5.028 9.429-5.243a.499.499 0 0 0-.094-.628zm-11.628-7.336C12.452 15.038 7.221 15 7 15a1 1 0 0 0-.001 2c.029 0 1.925.022 3.983.737c-.593.64-.982 1.634-.982 2.763c0 1.934 1.119 3.5 2.5 3.5s2.5-1.566 2.5-3.5c0-.174-.019-.34-.037-.507c.013 0 .025.007.037.007a.999.999 0 0 0 .707-1.707zM29 15c-.221 0-5.451.038-8.707 3.293A.999.999 0 0 0 21 20c.013 0 .024-.007.036-.007c-.016.167-.036.333-.036.507c0 1.934 1.119 3.5 2.5 3.5s2.5-1.566 2.5-3.5c0-1.129-.389-2.123-.982-2.763A13.928 13.928 0 0 1 29.002 17A1 1 0 0 0 29 15z"/></svg></div> </div> <div class="stat"> <svg class="stat-svg"> <path class="stat-bg" d="M5,25 A20,20 0 0,1 45,25" /> <path class="stat-fill" d="M5,25 A20,20 0 0,1 45,25" id="beauty-bar" /> </svg> <div class="stat-value" id="beauty-value"><<print $beauty>></div> <div> <svg xmlns="http://www.w3.org/2000/svg xmlns:xlink="http://www.w3.org/1999/xlink" height="26px" width="26px" version="1.1" id="Layer_1" viewBox="0 0 511.999 511.999" xml:space="preserve"> <path style="fill:#EC589B;" d="M503.383,270.65c-38.314,35.12-82.648,62.612-130.6,81.304 c-27.032,10.535-55.213,18.278-84.118,23.011c-10.822,1.769-21.736,2.665-32.662,2.665c-10.925,0-21.839-0.896-32.662-2.665 c-40.095-6.571-78.811-18.921-114.976-36.487C72.211,320.9,38.573,298.119,8.634,270.661c-0.011-0.011-0.023-0.011-0.023-0.011 s0,0,0.011-0.012l114.723-111.139c28.71-27.802,72.366-33.225,106.992-13.281l25.665,14.774l25.654-14.774 c34.638-19.944,78.294-14.521,106.992,13.281L503.383,270.65z"/> <path style="fill:#D3468D;" d="M135.534,255.948c0,0,85.456,6.29,117.339-25.593C252.873,230.355,165.732,225.75,135.534,255.948z"/> <path style="fill:#EFDFDE;" d="M329.01,255.948l-27.22-14.328c-28.662-15.088-62.919-15.088-91.581,0l-27.22,14.328l27.22,14.328 c28.662,15.088,62.919,15.088,91.581,0L329.01,255.948z"/> <g> <path style="fill:#D3468D;" d="M372.783,351.953c-27.032,10.535-55.213,18.278-84.118,23.011 c-10.822,1.769-21.736,2.665-32.662,2.665c-10.925,0-21.839-0.896-32.662-2.665c-40.095-6.571-78.811-18.921-114.976-36.487 C72.211,320.9,38.573,298.119,8.634,270.661c2.401,1.379,168.466,96.124,364.091,81.292H372.783z"/> <path style="fill:#D3468D;" d="M256.003,160.993L256.003,160.993c-1.624,11.167-12.396,18.53-23.417,16.103 c-21.117-4.649-39.787-22.643-75.511,2.255c-56.42,39.325-147.292,90.746-148.452,91.286l114.723-111.139 c28.71-27.802,72.366-33.225,106.992-13.281L256.003,160.993z"/> </g> <path style="fill:#F67BB8;" d="M256.004,160.993L256.004,160.993c1.624,11.167,12.396,18.53,23.417,16.103 c21.117-4.649,39.787-22.643,75.511,2.255c56.42,39.325,147.292,90.746,148.452,91.286L388.661,159.498 c-28.71-27.802-72.366-33.225-106.992-13.281L256.004,160.993z"/> <path d="M111.298,255.948c0,4.758,3.857,8.616,8.616,8.616h60.946l25.335,13.337c15.592,8.208,32.698,12.312,49.803,12.312 c17.106,0,34.211-4.105,49.805-12.312l25.335-13.337h60.946c4.76,0,8.616-3.858,8.616-8.616s-3.857-8.616-8.616-8.616H331.14 l-25.335-13.337c-31.186-16.417-68.424-16.416-99.607,0l-25.335,13.337h-60.946C115.155,247.332,111.298,251.19,111.298,255.948z M214.222,249.243c26.159-13.77,57.394-13.771,83.554,0l12.736,6.705l-12.736,6.704c-26.16,13.77-57.393,13.771-83.554,0 l-12.736-6.704L214.222,249.243z"/> <path d="M428.006,315.669c-43.56,25.535-90.911,42.624-140.738,50.793c-20.749,3.401-41.788,3.401-62.537,0 c-75.736-12.416-145.895-45.567-203.481-96.051l108.096-104.718c8.916-8.637,19.405-14.964,31.175-18.805 c4.524-1.476,6.994-6.34,5.518-10.865c-1.477-4.523-6.334-6.995-10.865-5.518c-14.281,4.661-27.005,12.335-37.819,22.81 L2.62,264.466c-1.704,1.652-2.653,3.934-2.619,6.307c0.032,2.374,1.043,4.629,2.793,6.232 c61.303,56.194,137.084,93.009,219.152,106.462c11.299,1.853,22.677,2.779,34.055,2.779c11.378,0,22.757-0.926,34.056-2.779 c51.925-8.512,101.272-26.321,146.666-52.932c4.105-2.407,5.482-7.686,3.077-11.791C437.389,314.64,432.11,313.263,428.006,315.669z "/> <path d="M509.379,264.466L394.644,153.315c-31.297-30.317-79.526-36.306-117.286-14.566L256,151.046l-21.359-12.297 c-12.159-7.001-25.386-11.247-39.313-12.621c-4.731-0.468-8.954,2.994-9.421,7.729c-0.466,4.736,2.993,8.953,7.729,9.421 c11.477,1.132,22.381,4.633,32.407,10.405l25.658,14.773c2.661,1.531,5.937,1.533,8.598,0l25.657-14.773 c31.131-17.924,70.893-12.987,96.697,12.009l108.095,104.717c-12.876,11.279-26.527,21.805-40.679,31.363 c-3.944,2.663-4.981,8.019-2.32,11.963c1.665,2.465,4.382,3.795,7.149,3.795c1.659,0,3.335-0.478,4.814-1.476 c17.38-11.737,34.032-24.875,49.494-39.048c1.749-1.604,2.76-3.859,2.793-6.232S511.084,266.118,509.379,264.466z"/> </svg> </div> </div> <div class="stat"> <svg class="stat-svg"> <path class="stat-bg" d="M5,25 A20,20 0 0,1 45,25" /> <path class="stat-fill" d="M5,25 A20,20 0 0,1 45,25" id="fitness-bar" /> </svg> <div class="stat-value" id="fitness-value"><<print $energy>></div> <div class="staticon"><i class="fas fa-bolt"></i></div> </div> </div>
<<
<<nobr>> <<set $run = [ { character: "Jim", gender: "male", type: "speech", text: "$firstname, what are you doing?" }, { character: "MC", gender: "female", type: "speech", text: "I Think I left my stove on at home ... bye"}, { character: "Jim", gender: "male", type: "speech", text: "Ok well uh, you know where to find me" } ]>> <<if $bistroLevel==2>> <<set $bistroset=0>> <<else>> <<set $bistroset=1>> <</if>> <<set $MCjblowjob = [ { character: "Jim", gender: "asd", type: "narrative", text: "He unbuckled his belt, his pants dropping to the floor, his hard cock springing free. You sink to your knees, looking up at him." }, { character: "MCs", gender: "female", type: "speech", text: "Look at that big fat cock, sir." }, { character: "Jim", gender: "male", type: "speech", text: "You little slut. You want my cock in your mouth, don<punc>t you?" }, { character: "MCs", gender: "female", type: "speech", text: "Mmm, yes please, sir. I want to taste your big fat cock." }, { character: "Jim", gender: "ad", type: "narrative", text: "You start sucking his penis." }, { character: "Jeffrey Thompson", gender: "mae", type: "video", text: "img/events/mc-jim-bj-1.webm" }, { character: "Jim", gender: "male", type: "speech", text: "Fuck, you<punc>re a good little cocksucker, aren<punc>t you? Look at you, taking my big cock like a champ." }, {character: "Narrator", gender: "na", type: "choice", text: "You feel emboldened by his words...", choices: [ { text: "Deepthroat"+$devi+"25", result: [ { character: "image", gender: "fw", type: "video", text: "img/events/mc-jim-bj-2.webm" }], statChanges: { deviancy:3 },statRequirement: { stat: "deviancy", threshold: 25 }} ]}, { character: "MC", gender: "fasd", type: "narrative", text: "You could feel his cock <animate>throbbing</animate> in your mouth, his pre-cum <animate>leaking</animate> out, coating your tongue. You suck harder, cupping his balls, feeling them tighten." }, { character: "Jim", gender: "male", type:"speech", text: "Oh fuck, you<punc>re making me want to cum, you little slut. You want me to cum in your mouth, don<punc>t you?" }, { character: "MCs", gender: "female", type: "speech", text: "Mmm-hmm. I want to taste your cum, sir. I want to swallow every drop." }, { character: "Jim", gender: "ad", type: "narrative", text: "He groaned, his body tensing, his cock <animate>pulsing</animate> in your mouth, his <animate>hot cum</animate> filling your throat. IYou swallowed it all, licking your lips, looking up at him." }, { character: "Jeffrey Thompson", gender: "mae", type: "video", text: "img/events/mc-jim-bj-3.webm" }, { character: "MCs", gender: "female", type: "speech", text: "Mmm, thank you, sir. That was delicious. But I want more. I want your cock in my pussy next time." }, { character: "MC", gender: "fasd", type: "narrative", text: "End of content. Please consider supporting the game on Patreon" } ]>> <<if $fitness>=25>> <<set $persuade = [ { character: "MC", gender: "female", type: "speech", text: "I<punc>ve been working hard Jim, and I would ...Really..appreciate the increase." }, {character:"narrator", gender:"na",type:"narrative", text:"You bend your body forward, resting your hands on the table to show off your cleavage."}, { character: "ss", gender: "mae", type: "image", text: "img/events/MC-Jim-"+$hairColor+"-"+$bodyShape+"-convince.png" }, { character: "Jim", gender: "male", type: "speech", text: "A promotion, you say? And what makes you think you<punc>re ready for that?" }, { character: "Jim", gender: "msde", type: "narrative", text: "He noticed, his eyes flicking down to your chest, lingering there." }, { character: "Jim", gender: "male", type: "speech", text: "$firstname, what are you doing?" }, { character: "MC", gender: "female", type: "speech", text: "I<punc>m just trying to show you that I<punc>m ready for more, sir. I<punc>m ready to take on more... responsibilities"}, { character: "Jim", gender: "malsde", type: "narrative", text: "He swallowed hard, his eyes never leaving your chest as you leaned forward, giving him a better view." }, { character: "Jim", gender: "male", type: "speech", text: "You<punc>re playing a dangerous game, $firstname." }, { character: "MC", gender: "female", type: "speech", text: "Is it working, sir? Am I making a convincing argument?" }, { character: "Jim", gender: "malsde", type: "narrative", text: "He stood up, walking around his desk, his eyes never leaving your body. You look down and spot his erection. He was clearly aroused." }, { character: "image", gender: "fw", type: "image", text: "img/characters/jim-erectionc.jpg" }, { character: "Jim", gender: "male", type: "speech", text: "You<punc>re a clever one, aren<punc>t you? Alright, $firstname. I<punc>ll consider your request. But I want to see more of your... dedication." }, { character: "MC", gender: "female", type: "speech", text: "I<punc>m glad to hear that, sir. I<punc>m more than willing to... demonstrate my dedication." }, { character: "Jim", gender: "malsdse", type: "narrative", text: "He locks the door, the sound of the click echoing in the room. You have him where you want him. Now, its time to seal the deal." }, {character: "Narrator", gender: "na", type: "choice", text: "He unzips his pants freeing his cock in front of your face...", choices: [ { text: "Say ahh"+$devi+"3", result: $MCjblowjob, statChanges: { deviancy:3,bistroLevel:$bistroset }, statRequirement: { stat: "deviancy", threshold: 20 }} ,{ text: "Run", result: $run, statChanges: { deviancy:0, bistroLevel:0 },statRequirement: { stat: "deviancy", threshold: 0 }}]} ]>> <<else>> <<set $persuade = [ { character: "MC", gender: "female", type: "speech", text: "I<punc>ve been working hard Jim, and I would ...Really..appreciate the increase." }, {character:"narrator", gender:"na",type:"narrative", text:"You bounce flirtatiously hoping he understands the message."}, { character: "Jim", gender: "msdale", type: "narrative", text: "Listen $firstName, I<punc>m sorry, but I can<punc>t give you a promotion right now. I<punc>m trying to balance my budget. If you improved your <animate>fitness</animate> and attracted more customers, I<punc>d give you a raise." }, { character: "MC", gender: "female", type: "speech", text: "OK Jim I get it. Bye" } ]>> <</if>> <<set $promotion = [ { character: "MC", gender: "female", type: "speech", text: "I<punc>ve been working here for quite a while now, sir. And I feel like the customers really like me so I want a pay increase." }, { character: "Jim", gender: "male", type: "narrative", text: "He leaned back in his chair, his eyes scanning you from head to toe, a slow smile spreading across his face." }, { character: "Jim", gender: "male", type: "speech", text: "A promotion, you say? And what makes you think you<punc>re ready for that?" }, { character: "MC", gender: "female", type: "speech", text: "I<punc>ve proved myself, sir. I<punc>ve gone above and beyond what<punc>s been asked of me." }, {character: "Narrator", gender: "na", type: "choice", text: "He<punc>s tentative but not convinced, maybe you can...", choices: [ { text: "Persuade him "+$devi+"10", result: $persuade, statChanges: { deviancy:10 },statRequirement: { stat: "deviancy", threshold: 10 }} ,{ text: "Leave"}]} ]>> <<if $jim<1 or $timeCounter===4>> <<if $jim<1>> <<set $deviancy+=5>> <</if>> <<set $jim+=1>> <<script>> window.advanceTime(); <</script>> Deviancy +5 <<set $conversation3=[ { character: "Jim", gender: "male", type: "speech", text: "Keep your mouth open slut!" }, { character: "Candys", gender: "trans", type: "speech", text: "Im thirsty daddy!" }, { character: "Jim", gender: "male", type: "speech", text: "Oh!" }, { character: "MCs", gender: "female", type: "thought", text: "So much cum, wow" }, { character: "MC", gender: "feemale", type: "video", text: "img/events/emma-jim-bj-2.webm" }, { character: "Candys", gender: "trans", type: "speech", text: "I love tasting your huge candy cane daddy." }, { character: "Candys", gender: "trans", type: "speech", text: "Does that mean i get more overtime ?" }, { character: "Jim", gender: "male", type: "speech", text: "Yeah overtime , and heres $500 extra" }, { character: "Candys", gender: "trans", type: "narrative", text: "Candy starts sucking on Jims sensitive cock making him moan" }, { character: "MC", gender: "fem", type: "narrative", text: "Deviancy +5" }, ]>> <<set $conversation2=[ { character: "Jim", gender: "male", type: "speech", text: "Keep sucking Baby!" }, { character: "MC", gender: "feemale", type: "image", text: "img/events/emma-jim1.jpg" }, { character: "Candys", gender: "trans", type: "speech", text: "<animate>hugh</animate> <animate>huhl</animate> <animate>choke</animate>" }, { character: "Jim", gender: "male", type: "speech", text: "Youre my favorite slut, you know that" }, { character: "MC", gender: "female", type: "thought", text: "Oh my god that bitch!!! " }, { character: "MC", gender: "feemale", type: "video", text: "img/events/emma-jim-bj-1.webm" }, { character: "Candys", gender: "trans", type: "speech", text: "<animate>gluch</animate> <animate>gockh</animate> <animate>spit</animate>" }, { character: "MC", gender: "female", type: "thought", text: "So this is why shes been getting all the overtime. I cant fucking believe it..." }, { character: "Candy", gender: "trans", type: "narrative", text: "Your thoughts betray the unrelenting arousal you feel watching the exchange" }, { character: "MCs", gender: "female", type: "thought", text: "Jims cock is so big..Maybe I should... " }, {character: "Narrator", gender: "na", type: "choice", text: "This situation is really turning you on, do you continue watching or...", choices: [ { text: "Keep Watching", result: $conversation3, statChanges: { deviancy:5 }} ,{ text: "Leave"}]}]>> <<set $conversation1 = [ { character: "MC", gender: "female", type: "thought", text: "His door is slightly open, what are those weird noises?" }, {character: "Narrator", gender: "na", type: "choice", text: "You hear choking and swallowing from the other side of the door. do you...", choices: [ { text: "Peek", result: $conversation2}, ] } ] >> <<elseif $timeCounter<4>> <<set $conversation1=[ { character: "MC", gender: "female", type: "narrative", text: "You walk into Jims office and find him sitting at his computer " }, { character: "MC", gender: "feemle", type: "image", text: "img/characters/Jim-office.jpeg" }, { character: "Jim", gender: "male", type: "speech", text: "Hi $firstname , How can I help you?" }, {character: "Narrator", gender: "na", type: "choice", text: "What did you want to discuss with Jim?", choices: [ { text: "Promotion", result: $promotion} ] } ]>> <<elseif $timeCounter===4>> <<set $conversation1 = [ { character: "MC", gender: "female", type: "narrative", text: "His door is slightly open, what are those weird noises?" }, {character: "Narrator", gender: "na", type: "choice", text: "You hear choking and swallowing from the other side of the door. do you...", choices: [ { text: "Peek", result: $conversation2}, ] } ] >> <<elseif $timeCounter>4>> <<set $conversation1 = [ { character: "MC", gender: "female", type: "thought", text: "Looks like he isn<punc>t here. I should come in the day time." }, ]>> <</if>> <div id="chat-container2"></div> <</nobr>> <<script>> $(document).ready(function() { $("#chat-container2").html(window.renderConversation(State.variables.conversation1)); }); <</script>> <<link "Leave The Office">> <<goto "Del Bistro Restaurant">> <</link>>
<<if $kofi < 1>> <<set $kofi +=1>> <<set $conversation1 = [ { character: "MC", gender: "female", type: "thought", text: "I swear if I hear one more complaint tonight, I'm walking out. Just five minutes of peace, that's all I need." }, { character: "Kofi", gender: "male", type: "speech", text: "Yuh look stressed, sis. Dem customers giving yuh trouble again?" }, { character: "MC", gender: "female", type: "speech", text: "Nah. Jim asked me to clock out early again." }, { character: "Kofi", gender: "male", type: "speech", text: "Dat man nuh know wah he want, mi swear." }, { character: "MC", gender: "female", type: "thought", text: "At least Kofi always makes me laugh. Kitchen’s a warzone, but somehow he never lets it get to him." }, { character: "MC", gender: "female", type: "speech", text: "Right! I also got student loans i gotta pay." }, { character: "Kofi", gender: "male", type: "speech", text: "Mi tell yuh what. Mi save some extra bread fa ya." }, { character: "MC", gender: "female", type: "speech", text: "You’re a lifesaver, Kofi. If I pass out on shift, you get my paycheck." }, { character: "Kofi", gender: "male", type: "speech", text: "Gyal, mi might need a hug fi dat." }, { character: "MC", gender: "female", type: "speech", text: "Alright, but no funny stuff like last time" }, { character: "Kofi", gender: "male", type: "speech", text: "Mi only jokin' last. Now come ere" } ]>> <<elseif $timeCounter<=3>> <<set $conversation1 = [ { character: "MC", gender: "female", type: "thought", text: "Lets see what kofis up to" }, { character: "Kofi", gender: "male", type: "speech", text: "Aye $firstname today da kitchen is swamped can ya come back inna da evening?" }, { character: "MC", gender: "female", type: "speech", text: "No problem Kofi! Catch ya later!." }, ]>> <<elseif $timeCounter>4 >> <<set $conversation1 = [ { character: "MC", gender: "female", type: "thought", text: "Lets see what kofis up to" }, { character: "MC", gender: "female", type: "speech", text: "Ahh hes not here." }, { character: "MC", gender: "female", type: "thought", text: "I should come back in the evening." }, ]>> <</if>> <div id="chat-container"></div> <<script>> $(document).ready(function() { $("#chat-container").html(window.renderConversation(State.variables.conversation1)); }); <</script>> <<if $time==="Evening">> [[Hug Kofi |hugkofi]] <</if>> [[Leave| End shift]]
<<nobr>> <div id="chat-container"></div> <<set $res1 to []>> <<set $kofi +=1>> <<set $sceneBuild = "MC"+"-"+"kofi"+"-"+$hairColor+"-"+$bodyShape+"-">> <<set $res4 = [ { character: "mc", gender: "fege", type: "narrative", text: "Kofi<punc>s hands, calloused from years of chopping vegetables and handling hot pans, were gentle yet firm as they slipped beneath the waistband of your pants, cupping my ass." }, { character: "kofi", gender: "male", type: "speech", text: "Yuh ass is like a ripe mango, sweetheart. I just gotta touch it, feel it, taste it." }, { character: "mc", gender: "feaae", type: "narrative", text: "He slides a finger down your crack, finding your wet pussy. You gasped, hips bucking forward, seeking more." }, { character: "ss", gender: "mae", type: "video", text: "img/events/mc-kofi-finger-sexy.webm" }, { character: "kofi", gender: "male", type: "speech", text: "Mmm, yuh so wet, sweetheart. Yuh like dat, don<punc>t yuh? Yuh like when I touch yuh like dis." }, { character: "mc", gender: "fewle", type: "narrative", text: "He rubbed your clit in slow circles, his thick finger slipping inside me, pumping in and out." }, { character: "kofi", gender: "male", type: "speech", text: "Dat<punc>s it, baby. Ride my finger. Show me how yuh like it." }, { character: "mc", gender: "fewe", type: "narrative", text: "You moaned, your body moving in rhythm with his hand, feeling the pressure build inside." }, { character: "kofi", gender: "male", type: "speech", text: "Yuh ready to cum, sweetheart? Yuh ready to squirt all over my hand?" }, { character: "MCs", gender: "female", type: "speech", text: "Yes! Kofi..." }, { character: "ss", gender: "mae", type: "image", text: "img/events/"+$sceneBuild+"fj"+".png" }, { character: "kofi", gender: "mawle", type: "narrative", text: "He sped up, his finger curling up, pressing against that sweet spot inside me. I screamed, your body convulsing, your pussy pulsing, your cum dripping down his hand." }, { character: "kofi", gender: "male", type: "speech", text: "Dat<punc>s it, baby. Dat<punc>s it. Yuh mine now, yuh hear? Mine." } ]>> <<set $res5 = [ { character: "mc", gender: "fewe", type: "narrative", text: "Kofi<punc>s cock was massive, a true monster, the biggest I had ever seen. I reached out, wrapping your small hand around his thick shaft, your fingers barely able to meet." }, { character: "MCs", gender: "female", type: "speech", text: "Jesus, Kofi... you<punc>re... you<punc>re <animate>enormous</animate>!" }, { character: "ss", gender: "mae", type: "video", text: "img/events/mc-kofi-hj1.webm" }, { character: "kofi", gender: "male", type: "speech", text: "Dat<punc>s a Jamaican cock, baby. You ain<punc>t seen nothin<punc> like dis before, have you?" }, { character: "mc", gender: "femadle", type: "narrative", text: "You start to stroke him, your hand gliding up and down his length, feeling the veins <animate>pulse</animate> beneath your touch. Every <animate>throb</animate> of his penis releasing more and more precum, which you used as lubricant. He was so hard, so hot." }, { character: "kofi", gender: "madle", type: "narrative", text: "He let out a low moan, his hips thrusting forward, fucking your hand. precum squirted out like a cumshot." }, { character: "ss", gender: "mae", type: "image", text: "img/events/"+$sceneBuild+"hj"+".png" }, { character: "kofi", gender: "male", type: "speech", text: "Dat feels so good, baby. Yuh hand on my cock, dat<punc>s heaven." }, { character: "mc", gender: "femadse", type: "narrative", text: "You could feel his body tense, his cock swell in your hand. He was close." }, { character: "kofi", gender: "male", type: "speech", text: "I<punc>m gonna cum, baby. I<punc>m gonna cum all over yuh hand." }, { character: "MCs", gender: "female", type: "speech", text: "Do it, Kofi. Cum for me. I want to feel it." }, { character: "ss", gender: "mae", type: "video", text: "img/events/mc-kofi-hj2.webm" }, { character: "kofi", gender: "masdle", type: "narrative", text: "He groaned, his body <animate>shaking</animate>, his cock <animate>pulsing</animate> in your hand, his hot cum spilling out, coating your fingers." }, { character: "kofi", gender: "male", type: "speech", text: "Dat<punc>s it, baby..." } ]>> <<set $res6 = [ { character: "mc", gender: "female", type: "narrative", text: "Looking up at Kofi, you could see his eyes filled with desire, his cock <animate>throbbing</animate> in your hand. You couldn<punc>t wait any longer. Leaning forward, your tongue darts out to <animate>taste</animate> the head of his cock, tasting the salty pre-cum." }, { character: "MCs", gender: "female", type: "speech", text: "Mmm, you taste good, Kofi." }, { character: "ss", gender: "mae", type: "video", text: "img/events/mc-kofi-bj1.webm" }, { character: "kofi", gender: "male", type: "speech", text: "Dat<punc>s it, baby. Suck your cock. Show me what yuh can do." }, { character: "mc", gender: "fese", type: "narrative", text: "You open your mouth, taking him in, feeling his thickness <animate>stretch</animate> your lips. You relaxed your jaw, taking him deeper, feeling him hit the back of your throat." }, { character: "ss", gender: "mae", type: "image", text: "img/events/"+$sceneBuild+"bj"+".png" }, { character: "kofi", gender: "msle", type: "narrative", text: "He groaned, his hands tangling in your hair, guiding your head, <animate>fucking</animate> your mouth." }, { character: "kofi", gender: "male", type: "speech", text: "Dat<punc>s it, baby. Take it all. Yuh can take it, I know yuh can." }, { character: "mc", gender: "fesale", type: "narrative", text: "You suck harder, your hand cupping his balls, feeling them tighten. He was close." }, { character: "kofi", gender: "male", type: "speech", text: "I<punc>m gonna cum, baby. I<punc>m gonna cum down yuh throat." }, { character: "ss", gender: "mae", type: "video", text: "img/events/mc-kofi-bj2.webm" }, { character: "MCs", gender: "female", type: "speech", text: "Mmm-hmm." }, { character: "kofi", gender: "sle", type: "narrative", text: "He groaned, his body <animate>shaking</animate>, his cock <animate>pulsing</animate> in your mouth, his hot cum filling your throat." }, { character: "kofi", gender: "male", type: "speech", text: "Dat<punc>s it, baby. Swallow it all. Dat<punc>s a good girl." } ]>> <<set $kofisex = [ { character: "mc", gender: "feme", type: "narrative", text: "Kofi<punc>s cock was so hard, so ready. Its length pressing against your stomach, throbbing with need. He grabbed your hips, lifting me up, positioning me over him." }, { character: "kofi", gender: "male", type: "speech", text: "Yuh ready for this, baby? Yuh ready for all of me?" }, { character: "MCs", gender: "female", type: "speech", text: "Yes... yes, Kofi. I<punc>m ready." }, { character: "kofi", gender: "male", type: "narrative", text: "He lowered me onto his cock, his thickness stretching your pussy, filling me completely. I gasped, your fingers digging into his shoulders." }, { character: "kofi", gender: "male", type: "speech", text: "Fuck, you<punc>re so tight, baby. Yuh pussy feels so good." }, { character: "mc", gender: "female", type: "narrative", text: "He started to move, his hips thrusting up, his cock sliding in and out of your pussy. He was slow at first, letting me adjust to his size." }, { character: "MCs", gender: "female", type: "speech", text: "Oh God, Kofi... yes... yes..." }, { character: "kofi", gender: "male", type: "narrative", text: "He sped up, his hips slamming against me, his cock pounding into me. The sound of our bodies slapping together filled the room, along with our moans and grunts." }, { character: "kofi", gender: "male", type: "speech", text: "Yuh like dat, don<punc>t yuh, baby? Yuh like when I fuck yuh like dis." }, { character: "MCs", gender: "female", type: "speech", text: "Yes... yes, I love it... I love it..." }, { character: "kofi", gender: "male", type: "narrative", text: "He reached between your slamming bodies, his thumb finding your clit, rubbing it in tight circles. You felt your body tense, your pussy clamping down on his cock." }, { character: "kofi", gender: "male", type: "speech", text: "Cum for me, baby. Cum all over your cock." }, { character: "mc", gender: "female", type: "narrative", text: "I screamed, your body convulsing, your pussy pulsing, your cum dripping down his cock. He groaned, his body shaking, his cock pulsing inside of you, filling you with his hot cum." }, { character: "kofi", gender: "male", type: "speech", text: "Dat<punc>s it, baby. Yuh mine now. Mine forever." } ]>> <<set $res7 = [ { character: "kofi", gender: "male", type: "speech", text: "Theres only so much we can do in da kitchen babe." }, { character: "MCs", gender: "female", type: "speech", text: "Then lets get out of here." }, { character: "kofi", gender: "male", type: "speech", text: "Deevay Loper renovatin muh house, check next update." } ]>> <<switch random(1,2)>> <<case 1>> <<set $res2 = [ { character: "MC", gender: "fem", type: "narrative", text: "Kofis hands begin to roam, rubbing your hips, inching towards your bum. He starts to grind his <animate>throbbing</animate> erection on you, unaware of your hand slipping into his pocket." }, { character: "kofi", gender: "male", type: "speech", text: "Yuh smell good. Real good..." }, { character: "MC", gender: "female", type: "speech", text: "Kofi... the hug... its so... sensual..." }, { character: "MC", gender: "fem", type: "narrative", text: "Your hand closes around some cash in Kofis pocket. your hand squeezes and withdraws it." }, { character: "MC", gender: "fem", type: "narrative", text: "Money +25 Deviancy +3" }, ]>> <<case 2>> <<set $res2 = [ { character: "MCs", gender: "fem", type: "narrative", text: "Kofis hands begin to roam, rubbing your hips, inching towards your bum. He starts to grind his <animate>throbbing</animate> erection on you, unaware of your hand slipping into his pocket." }, { character: "kofi", gender: "male", type: "speech", text: "Yuh smell good. Real good..." }, { character: "MCs", gender: "female", type: "speech", text: "Kofi... the hug... its so... sensual..." }, { character: "MCs", gender: "fem", type: "narrative", text: "Your hand closes around Kofis hard BBC" }, { character: "MCs", gender: "fem", type: "narrative", text: "Money +25 Deviancy +3" }, { character: "kofi", gender: "male", type: "speech", text: "Naughty gal, If yuh gonna tek from me yuh gonna have to earn it" }, { character: "MCs", gender: "fale", type: "narrative", text: "He spins you around, pulling you close. You could feel his strong hands on your ass, giving it a firm squeeze." }, { character: "kofi", gender: "male", type: "speech", text: "You deserve a spanking fa dat." }, { character: "MCs", gender: "female", type: "narrative", text: "Before you could protest, his hand came down hard on your ass, the sound of the smack echoing through the kitchen." }, { character: "ss", gender: "mae", type: "video", text: "img/events/mc-spank-"+$bodyShape+".webm" }, { character: "kofi", gender: "male", type: "speech", text: "You like that, don<punc>t you, ya little minx?" }, { character: "MCs", gender: "female", type: "speech", text: "Yes... no... I don<punc>t know." }, { character: "kofi", gender: "male", type: "narrative", text: "He spanked me again, this time his hand lingered, rubbing the sting away. I could feel his hard cock pressing against my ass. I was so turned on, I didn<punc>t care if anyone walked in." }, { character: "kofi", gender: "male", type: "speech", text: "You<punc>re a naughty girl, aren<punc>t you?" }, { character: "MCs", gender: "female", type: "speech", text: "Yes... yes, I am." }, {character: "Narrator", gender: "na", type: "choice", text: "Kofi is really into the hug, do you want to take advantage of the situation?", choices: [ { text: "Stick your ass out "+$devi+"25", result: $res4, statChanges: { kofi: 1 },statRequirement: { stat: "deviancy", threshold: 25 }}, { text: "Stroke his BBC "+$devi+"30", result: $res5, statChanges: { kofi: 1 },statRequirement: { stat: "deviancy", threshold: 30 }}, { text: "Suck his BBC "+$devi+"55", result: $res6, statChanges: { kofi: 1},statRequirement: { stat: "deviancy", threshold: 55 }}, { text: "Sex "+$devi+"90", result:$res7, statChanges: { deviancy: 3, money:25 },statRequirement: { stat: "deviancy", threshold: 90 }} ]} ]>> <</switch>> <<set $normalHug = [ { character: "MC", gender: "female", type: "speech", text: "Kofi, I've been running around all day, I'm exhausted. Can you give me a hug?" }, { character: "kofi", gender: "male", type: "speech", text: "Of course, sweetheart. Come here." }, {character: "Narrator", gender: "na", type: "choice", text: "Kofi is really into the hug, do you want to take advantage of the situation?", choices: [ { text: "Kiss his chick", result: [ {character: "kofi", gender: "male", type: "speech", text: "Feel free to come find me any time. Kofi+1 +1"+$devi }, ], statChanges: { kofi: +1, deviancy:1 }}, { text: "Slide your hand in his pocket "+$devi+"15", result: $res2, statChanges: { kofi: 1,money:25, deviancy:+3 },statRequirement: { stat: "deviancy", threshold: 15 }}, ]} ]>> <</nobr>> <<script>> $(document).ready(function() { $("#chat-container").html(window.renderConversation(State.variables.normalHug)) }); <</script>> [[Pull away |End shift]]
<<set $deviancy+=3>> <<set $money +=25>> <<set $timeCounter+=1>> <img class="displayImage" src="img/events/MC-kofi-hug2.jpeg" alt="MC ande kofi hug"> <<set $normalhug = [ { character: "Kofi", gender: "malre", type: "narrative", text: "Kofi kneads your ass like dough while rubbing his hot erection between your thighs" }, { character: "Kofi", gender: "male", type: "speech", text: "Me 'ave a little bit a bread fa ya" }, { character: "MC", gender: "female", type: "speech", text: "Oh, thanks Kofi" }, { character: "Kofi", gender: "male", type: "speech", text: "Ere ya go" }, ]>> <div id="chat-container"></div> Money +25 <<script>> $(document).ready(function() { $("#chat-container").html(window.renderConversation(State.variables.normalhug)); }); <</script>> <img class="displayImage" src="img/events/MC-kofi-hug2z.jpeg" alt="MC and kofi hueg"> Deviancy+3 [[Pull away |End shift]]
<<linkreplace "Vanilla">> <<if $fitness < 25>> <img class="displayImage" src="img/mast/whale.gif" alt="Low Fitness"> low fitness <<elseif $fitness < 50>> <img class="displayImage" src="img/mast/normal1.gif" alt="Medium Fitness"> <<elseif $fitness < 70>> <img class="displayImage" src="img/mast/sexy2.gif" alt="High Fitness"> <<else>> <img class="displayImage" src="img/mast/sexy4.gif" alt="Peak Fitness"> <</if>> <</linkreplace>> <<linkreplace "Use Toys">> <<if $fitness < 25>> <img class="displayImage" src="img/mast/whale.gif" alt="Low Fitness"> <<elseif $fitness < 50>> <img class="displayImage" src=""img/mast/toy/toy2.gif" alt="Medium Fitness"> <<elseif $fitness < 70>> <img class="displayImage" src=""img/mast/toy/toy1.gif" alt="High Fitness"> <<else>> <img class="displayImage" src=""img/mast/toy/toy4.gif" alt="Peak Fitness"> <</if>> <</linkreplace>> <<link "Finish Up" "Bedroom">><</link>>
<div class="closet-container"> <!-- Left Section: Outfit Selection --> <div class="closet-left"> <h2>Your Closet</h2> <p>Pick an outfit type:</p> <select id="outfitTypeDropdown" class="dropdown"></select> <div class="outfit-grid" id="outfitGrid"> <!-- Outfit options will be loaded here --> </div> <div class="stat-improvements" id="statImprovements"></div> </div> <!-- Right Section: Character Preview --> <div class="closet-right"> <h3>Preview</h3> <img id="characterPreview" class="character-preview" src="img/outfits/<<print $outfit>>.png" alt="Character Preview"> <<print $wornOutfit>> <<link "Close Your Wardrobe">> <<goto "Bedroom">> <</link>> </div> </div> <<script>> $(document).ready(function() { var outfitDropdown = $("#outfitTypeDropdown"); outfitDropdown.empty(); // Clear existing options // Ensure closet variable exists if (State.variables.closet && typeof State.variables.closet === "object") { Object.keys(State.variables.closet).forEach(category => { outfitDropdown.append(`<option value="${category}">${category}</option>`); }); } else { console.error("State.variables.closet is undefined or not an object!"); } // Function to update outfit selection grid function updateOutfitSelection() { var outfitType = outfitDropdown.val(); var outfitGrid = $("#outfitGrid"); outfitGrid.empty(); var outfits = State.variables.closet[outfitType] || []; if (outfits.length === 0) { console.warn("No outfits found for category:", outfitType); } outfits.forEach(outfit => { var $div = $("<div>").addClass("outfit-item").html(` <img src="img/outfits/${outfit.img}" alt="${outfit.name}"><br>${outfit.name} `).on("click", function() { selectOutfit(outfit, $(this)); window.updateJournal(); }); outfitGrid.append($div); }); } // Function to select an outfit and update preview & stats function selectOutfit(outfit, element) { State.variables.selectedOutfit = outfit.name; State.variables.wornOutfit = outfit.name; State.variables.imagekey= outfit.imageKey; $("#characterPreview").attr("src", getCharacterPreview(outfit)); $("#statImprovements").text(`${outfit.qpointer}`); // Highlight selected outfit $(".outfit-item").removeClass("selected"); element.addClass("selected"); } // Function to get correct character preview based on fitness function getCharacterPreview(key) { State.variables.outfit=`${key.custom?"":State.variables.hairColor+"-"}${State.variables.bodyShape}-${key.imageKey}` return `img/outfits/${key.custom?"":State.variables.hairColor+"-"}${State.variables.bodyShape}-${key.imageKey}.png`; } // Initialize outfit selection on page load updateOutfitSelection(); // Update outfit selection when dropdown changes outfitDropdown.on("change", updateOutfitSelection); }); <</script>>
<div class="work-container"> <h2>Welcome to Del Bistro</h2> <<switch $timeCounter>> <<case 0>> <p>The sun rises slowly, casting a golden glow over the restaurant. The quiet hum of morning prep work fills the air, and a few early customers sip their coffee. Where do you want to go?</p> <<case 1>> <p>The breakfast rush has picked up. The scent of sizzling bacon and fresh pastries fills the air, and waiters move quickly between tables. Where do you want to go?</p> <<case 2>> <p>The lunch rush is in full swing. The kitchen is a whirlwind of activity, and the noise of clinking dishes and hurried orders echoes through the restaurant. Where do you want to go?</p> <<case 3>> <p>The late afternoon lull has settled in. A few customers linger over their meals, while the staff takes a brief breather before the dinner rush. Where do you want to go?</p> <<case 4>> <p>The dinner is settling down with minor chatter with chatter, and the kitchen is quiet. Where do you want to go?</p> <</switch>> <div id="chat-contain"></div> <div class="work-options"> <<link "Go to the Kitchen">> <<goto "Restaurant Kitchen">> <</link>> <<link "Go to the Office">> <<goto "Jims Office">> <</link>> <<if $timeCounter<$worklimit and $wornOutfit==="waitress" and $hunger<80 and $energy-30>0>> <<link "Start Working">> <<goto "StartWork">> <</link>> <<elseif $timeCounter<3 and $wornOutfit !="waitress">> <<set $workrem = [ { character: "MC", gender: "female", type: "thought", text: "If I<punc>m gonna work, I should probably wear my uniform" }, ]>> <<script>> $(document).ready(function() { $("#chat-contain").html(window.renderConversation(State.variables.workrem)); }); <</script>> <<elseif $timeCounter<3 and $energy-30<0>> <<set $workrem = [ { character: "MC", gender: "female", type: "thought", text: "I<punc>m too tired to work!" }, ]>> <<script>> $(document).ready(function() { $("#chat-contain").html(window.renderConversation(State.variables.workrem)); }); <</script>> <<elseif $timeCounter<3 and $hunger>80>> <<set $workrem = [ { character: "MC", gender: "female", type: "thought", text: "I<punc>m too hungry to work!" }, ]>> <<script>> $(document).ready(function() { $("#chat-contain").html(window.renderConversation(State.variables.workrem)); }); <</script>> <</if>> <<button "Leave" "Central District">><</button>> </div> </div> 3
<<nobr>> <<switch $bodyShape>> <<case "large">> <<set $storeCD = 3>> <<case "overw">> <<set $storeCD = 2>> <<case "fit">> <<set $storeCD = 1>> <<case "sexy">> <<set $storeCD = 0>> <</switch>> >> <<switch $bodyShape>> <<case "large">> <<set $kyleQuestion ={character: "kyle",gender: "male",type: "speech",text: "Leans in closer. How about a little private shopping session? That fat mouth of yours looks hungry."}>> <<case "overw">> <<set $kyleQuestion ={character: "kyle", gender: "male",type: "speech",text: "Leans in closer. How about a little private shopping session? I need to feel something soft and your plump ass looks inviting."}>> // overweight <<case "fit">> <<set $kyleQuestion ={character: "kyle",gender: "male",type: "speech",text: "Leans in closer. How about a little private shopping session? I<punc>ll give you some extra protein with that food."}>> // fit <<case "sexy">> <<set $kyleQuestion ={character: "kyle",gender: "male",type: "speech",text: "Leans in closer. How about a little private shopping session? I am horny as hell babe and you have the body to fix it."}>> <</switch>> <<switch $bodyShape>> <<case "large">> <<switch $hairColor>> <<case "brown">> <<set $ajImage = "img/events/MC-brown-kyle-large-aj.png">> <<case "blonde">> <<set $ajImage = "img/events/MC-blonde-kyle-large-aj.png">> <<case "red">> <<set $ajImage = "img/events/MC-red-kyle-large-aj.png">> <<case "black">> <<set $ajImage = "img/events/MC-black-kyle-large-aj.png">> <</switch>> <<case "overw">> <<switch $hairColor>> <<case "brown">> <<set $ajImage = "img/events/MC-brown-kyle-overw-aj.png">> <<case "blonde">> <<set $ajImage = "img/events/Mc-blonde-kyle-overw-aj.png">> <<case "red">> <<set $ajImage = "img/events/MC-red-kyle-overw-aj.png">> <<case "black">> <<set $ajImage = "img/events/MC-black-kyle-overw-aj.png">> <</switch>> <<case "fit">> <<switch $hairColor>> <<case "brown">> <<set $ajImage = "img/events/MC-brown-kyle-fit-aj.png">> <<case "blonde">> <<set $ajImage = "img/events/Mc-blonde-kyle-fit-aj.png">> <<case "red">> <<set $ajImage = "img/events/MC-red-kyle-fit-aj.png">> <<case "black">> <<set $ajImage = "img/events/MC-black-kyle-fit-aj.png">> <</switch>> <<case "sexy">> <<switch $hairColor>> <<case "brown">> <<set $ajImage = "img/events/MC-brown-kyle-sexy-aj.png">> <<case "blonde">> <<set $ajImage = "img/events/Mc-blonde-kyle-sexy-aj.png">> <<case "red">> <<set $ajImage = "img/events/MC-red-kyle-sexy-aj.png">> <<case "black">> <<set $ajImage = "img/events/MC-black-kyle-sexy-aj.png">> <</switch>> <</switch>> <<set $kyleQuestion3= [ { text: "Slow down Kyle "+$devi+"25", result: [ { character: "MC", gender: "female", type: "speech", text: "Kyle, im not ready to go all the way."}, { character: "kyle", gender: "malde", type: "narrative", text: "You hear his pants drop in response and feel him sandwiching his big long cock between your ass cheeks." }, { character: "kyle", gender: "male", type: "speech", text: "Dont worry baby, one thing at a time"}, { character: "store clerk", gender: "masle", type: "narrative", text: "He grabs your hips, positioning his throbbing cock at your entrance. He starts grinding, the head of his cock teasing your tight opening. The slapping of your bodies echoes in the room as he moves faster and faster, the wet sound of skin meeting skin becoming louder with each thrust of his hips." }, { character: "kyle", gender: "malde", type: "video", text: "img/events/mc-kyle-aj1.webm" }, { character: "MCs", gender: "female", type: "speech", text: "Im so fucking wet Kyle."}, { character: "kyle", gender: "malde", type: "image", text:$ajImage }, { character: "kyle", gender: "mals", type: "narrative", text: "His cock is coated in the juices leaking through your <animate>wet</animate> panties, and he can feel the warmth radiating from your cunt. The pleasure is too much, and he can<punc>t hold back any longer. With a final, powerful <animate>thrust</animate>, he lets out a growl as he cums, his hot seed spilling between your ass cheeks. He collapses against you, catching his breath." }, { character: "kyle", gender: "malde", type: "video", text: "img/events/mc-kyle-aj2.webm" }, { character: "MCs", gender: "female", type: "thought", text: "Maybe, next time he can fuck me raw."}, { character: "kyle", gender: "malde", type: "narrative", text: "You clean yourself up." }, ],statChanges: { deviancy:2, healthyfood:1 ,gStore:$storeCD}}, { text: "Let him fuck you"+$devi+"65", result: [ {character: "kyle", gender: "male", type: "speech", text: "Lets fuck. right here in the store." }, { character: "MCs", gender: "female", type: "speech", text: "I-I... yeah..."}, { character: "kyle", gender: "male", type: "speech", text: "Damn, what a view. I<punc>m gonna enjoy fucking this tight pussy."}, { character: "kyle", gender: "malde", type: "video", text: "img/events/MC-kyle-fit-vs.webm" }, { character: "MCs", gender: "female", type: "speech", text: "Please... just do it already."}, { character: "kyle", gender: "male", type: "speech", text: "Impatient, huh? Okay, let<punc>s get started."}, { character: "clerk", gender: "femadle", type: "narrative", text: "You feel him positioning himself, his hard cock pressing against your folds."}, { character: "kyle", gender: "male", type: "speech", text: "You like that slut, huh? You like feeling my big cock against your slutty pussy?"}, { character: "MCs", gender: "female", type: "speech", text: "Y-yes..."}, { character: "store_clerk", gender: "madle", type: "narrative", text: "With a swift motion, he lined up his cock and <animate>thrust</animate> forward, entering your pussy in one smooth motion."}, { character: "kyle", gender: "male", type: "speech", text: "<animate>Ah, fuck!</animate> Your pussy is so tight! It feels so good!"}, { character: "kyle", gender: "malde", type: "video", text: "img/events/MC-kyle-fit-vs1.webm" }, { character: "MCs", gender: "female", type: "speech", text: "<animate>Ooh! Oh god!</animate>"}, { character: "kyle", gender: "male", type: "speech", text: "You like that, huh? You like getting fucked over this table like a little slut?" }, { character: "MCs", gender: "female", type: "speech", text: "Yes, yes, fuck me like a slut!" }, { character: "kyle", gender: "malde", type: "video", text: "img/events/MC-kyle-fit-vs2.webm" }, { character: "kyle", gender: "male", type: "speech", text: "That<punc>s it, take that cock."}, { character: "MCs", gender: "female", type: "speech", text: "Oh god, <animate>I<punc>m gonna cum!</animate>" }, { character: "kyle", gender: "male", type: "speech", text: "Me too, baby, cum with me."}, { character: "kyle", gender: "male", type: "speech", text: "Ahhh fuck!" }, { character: "kyle", gender: "malde", type: "video", text: "img/events/MC-kyle-fit-vs3.webm" }, { character: "MCs", gender: "female", type: "speech", text: "Oh god, yes!" }, { character: "kyle", gender: "madle", type: "narrative", text: "You both collapse on the table, chests heaving. Deviancy:+4 , Healthy food:+2"}, ],statChanges: { deviancy:4, healthyfood:3 ,gStore:$storeCD}, statRequirement: { stat: "deviancy", threshold: 65 }} ]>> <<set $bjQuestion ={ text: "Suck his cock "+$devi+"50", result: [ { character: "MC", gender: "female", type: "speech", text: "Kyle, how about a blowjob."}, { character: "kyle", gender: "malde", type: "narrative", text: "You hear his pants drop behind the counter." }, { character: "kyle", gender: "male", type: "speech", text: "Now get behind this counter." }, { character: "MC", gender: "female", type: "speech", text: "Wait...Right here. Can<punc>t we go to the back?" }, { character: "kyle", gender: "male", type: "speech", text: "Oh, It<punc>ll be fine. Just act natural. Now get that pretty mouth on my cock before I change my mind about that food." }, { character: "clerk", gender: "mahle", type: "narrative", text: "He leans back , presenting his throbbing erection. With a sigh, you walk around behind the counter and kneel down. Your lips part and take the tip into your warm, wet mouth, swirling your tongue around the head." }, { character: "kyle", gender: "male", type: "speech", text: "That<punc>s a good girl. Open wide." }, { character: "clerk", gender: "mahle", type: "narrative", text: "Suddenly a customer walks in." }, { character: "kyle", gender: "male", type: "speech", text: "Hi, welcome to the General Store! How are you doing today?" }, { character: "stranger2", gender: "female", type: "speech", text: "I<punc>m doing well, thank you. I<punc>m looking for the latest specials. What do you have on sale this week?" }, { character: "kyle", gender: "male", type: "speech", text: "Dont worry baby, one thing at a time"}, { character: "clerk", gender: "mwale", type: "narrative", text: "You work your mouth up and down his shaft, taking him deeper with each thrust. Saliva drips down your chin as you gag slightly on his thick cock." }, { character: "kyle", gender: "malde", type: "video", text: "img/events/mc-kyle-bj1.webm" }, { character: "kyle", gender: "male", type: "speech", text: "That<punc>s it baby..." }, { character: "stranger2", gender: "female", type: "speech", text: "Excuse me?" }, { character: "kyle", gender: "female", type: "speech", text: "I mean..we have milk for $3.97. <animate>Mmmm... Mph... Uh!</animate>" }, { character: "customer", gender: "female", type: "speech", text: "Oh, that<punc>s wonderful! I think I<punc>ll take a one, please." }, { character: "kyle", gender: "male", type: "speech", text: "C-Coming right up!" }, { character: "clerk", gender: "maled", type: "narrative", text: "Kyle reaches down with his free hand to gently guide your head, starting a slow, deep rhythm as he fucks your mouth. His other hand grabs a carton of milk on the counter. His breathing quickens as he loses himself in the feeling , pulling out and cumming all over your face." }, { character: "kyle", gender: "malde", type: "video", text: "img/events/mc-kyle-bj2.webm" }, { character: "kyle", gender: "male", type: "speech", text: "Here you go! <animate>Some...</animate> fresh milk... <animate>Mmmmmmm</animate>" }, { character: "stranger2", gender: "female", type: "speech", text: "Alright here you go!" }, { character: "clerk", gender: "malde", type: "narrative", text: "The customer hands Kyle money for the milk. he smiles and hands her the change panting with pleasure. " }, { character: "kyle", gender: "malde", type: "video", text: "img/events/mc-kyle-bj3.webm" }, { character: "clerk", gender: "madle", type: "narrative", text: "As the customer leaves, Kyle pulls his cock out of your mouth with a wet pop. He strokes himself rapidly, his swollen head already leaking pre-cum. With a grunt, he explodes, shooting thick ropes of hot semen across your face, painting your cheeks, nose and open mouth in his milky essence." }, { character: "kyle", gender: "male", type: "speech", text: "How does that milk taste baby?" }, { character: "kyle", gender: "male", type: "speech", text: "I mean... Thank you for shopping with us!" }, { character: "clerk", gender: "mddale", type: "narrative", text: "He tucks his softening cock back into his pants and straightens his shirt, looking like a model employee once again. You hurry to the backroom to wipe the cum off your face and regain your composure. The store goes back to business as usual, with the clerk ready to serve the next unsuspecting customer. Deviancy:+3 , Healthy food:+2" }, ], statChanges: { deviancy:3, healthyfood:2, gStore:$storeCD }, statRequirement: { stat: "deviancy", threshold: 50 }}>> <<set $kyleQuestion2 = {character: "Narrator", gender: "na", type: "choice", text: "How do you react?", choices: [ { text: "Deal "+$devi+"25", result: [ { character: "MC", gender: "female", type: "speech", text: "Ok but nothing too crazy" }, { character: "kyle", gender: "male", type: "speech", text: "No worries, I can assure you that youre in good hands. Now follow me." }, { character: "kyle", gender: "malde", type: "narrative", text: "Kyle leads you to the staff room at the back of the store, locking the door behind you. The cramped space is filled with the musky scent of sweat, and fabric softener. The Store Clerk<punc>s erection strains against the fabric of his slacks, clearly visible from the outline." }, { character: "MC", gender: "female", type: "speech", text: "Ok what do i do" }, { character: "kyle", gender: "male", type: "speech", text: "Take of those pants and we<punc>ll get started." }, { character: "kyle", gender: "malde", type: "narrative", text: "Kyle proceeds to bend you over a table ." }, { character: "kyle", gender: "malde", type: "video", text: "img/events/mc-booty.webm" }, { character: "kyle", gender: "malde", type: "narrative", text: "You can feel kyles hard cock grinding against your ass. his pulsing erection <animate>throbbing</animate> against your sensitive clit. You gasp, feeling the throbbing length trying to press into you." }, { character: "kyle", gender: "male", type: "speech", text: "God, you have such a nice ass. " }, { character: "MCs", gender: "female", type: "thought", text: "oh fuck, I need to slow him down" }, {character: "Narrator", gender: "na", type: "choice", text: "what do you say", choices: $kyleQuestion3}, ], statChanges: { deviancy:1.5}, statRequirement: { stat: "deviancy", threshold: 25 }}, $bjQuestion, { text: "No Deal", result: [ { character: "MC", gender: "female", type: "speech", text: "Ummm...Maybe Next time" }, { character: "kyle", gender: "male", type: "speech", text: "No worries, $firstname, Come find me when you feel like getting frisky" }, ], }] }>> <<if $gStore > 0>> <<set $cdblock =[ { character: "kyle", gender: "male", type: "speech", text: "What do you need?"}, { character: "MC", gender: "female", type: "speech", text: "Well... Kyle I was hoping to see if you offered discounts on the healthy food." }, { character: "kyle", gender: "male", type: "speech", text: "Sorry, girl I<punc>m still a little tired." }, { character: "kyle", gender: "male", type: "speech", text: "Maybe if you had better fitness I might be a lot more motivated." }, { character: "kyle", gender: "male", type: "speech", text: "Come talk to me in "+$gStore+" days." }, ]>> <<else>> <<set $cdblock =[ { character: "kyle", gender: "male", type: "speech", text: "What do you need?"}, { character: "MC", gender: "female", type: "speech", text: "Well... Kyle I was hoping to see if you offered discounts on the healthy food." }, { character: "kyle", gender: "male", type: "speech", text: "For you? I might be able to work something out. However, I need you to offer something in return." }, { character: "kyle", gender: "ale", type: "narrative", text: "Kyle takes a moment to look you up and down while leaning against the counter." }, { character: "MC", gender: "female", type: "speech", text: "What do you have in mind?" }, $kyleQuestion, $kyleQuestion2 ]>> <</if>> <<set $conversation = [ { character: "kyle", gender: "male", type: "speech", text: "Hey $firstname, welcome back! feel free to browse to your heart<punc>s content." } , { character: "MC", gender: "fele", type: "narrative", text: "Kyle smiles warmly." }, {character: "Narrator", gender: "na", type: "choice", text: "How do you react?", choices: [ { text: "Talk to him about a discount", result: $cdblock } ]} ] >> <</nobr>> <<set $selectedItem = $selectedItem or "">> <!-- Render conversation --> <div id="chat-container"></div> <<script>> $(document).ready(function() { $("#chat-container").html(window.renderConversation(State.variables.conversation)); }); <</script>> <!-- Store Layout --> <div class="store-container"> <!-- Items Grid Section --> <div class="store-left"> <h1>General Store</h1> <div id="itemGrid" class="item-grid"> <!-- Items will be loaded dynamically --> </div> </div> <!-- Preview & Purchase Section --> <div class="store-right"> <h3>Item Preview</h3> <img id="itemPreview" class="item-preview" width="250px" src="img/items/placeholder.png" alt="Item Preview"> <p id="itemDescription">Select an item to see details.</p> <<button "Buy Item">> <<set $purchasedItem = $selectedItem>> <<script>> if(State.variables.money-State.variables.selectedItem.price>0){ State.variables.money-=State.variables.selectedItem.price; switch(State.variables.selectedItem.name){ case "Healthy Food": State.variables.healthyFood+=1; break; case "Normal Food": State.variables.normalFood+=1; break; case "Junk Food": State.variables.junkFood+=1; break; case "Cofee beans x5": State.variables.coffeeBeans+=5; break; } } <</script>> <</button>> </div> </div> <<button "Leave" "Central District">><</button>> <style> .store-container { display: flex; flex-wrap: wrap; max-width: 900px; margin: 1em auto; gap: 1em; padding: 1em; background-color: #f7f7f760; border-radius: 8px; box-shadow: 0 2px 6px rgba(0,0,0,0.2); } .store-left, .store-right { flex: 1 1 300px; padding: 0.5em; } .store-left h1 { text-align: center; margin-bottom: 0.5em; } .item-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); grid-gap: 1em; } .store-item { background: #cfd1d060; border: 1px solid #ddd; border-radius: 4px; padding: 0.5em; text-align: center; cursor: pointer; transition: box-shadow 0.3s ease; } .store-item:hover { box-shadow: 0 2px 8px rgba(0,0,0,0.3); } .store-item img { max-width: 100%; height: auto; border-radius: 4px; } .store-item h4 { margin: 0.5em 0 0.2em; font-size: 0.8em; } .store-item p { font-size: 0.9em; margin: 0.2em 0; } .item-preview { width: 100%; max-width: 300px; height: auto; display: block; margin: 0 auto; border-radius: 4px; } .store-right { text-align: center; } .store-right h3 { margin-bottom: 0.5em; } .store-right button, .store-right a { margin-top: 0.5em; padding: 0.5em 1em; font-size: 1em; border: none; border-radius: 4px; background-color: #4CAF50; color: white; cursor: pointer; text-decoration: none; } .store-right button:hover, .store-right a:hover { background-color: #45a049; } </style> <<script>> $(document).ready(function() { // Populate the item grid with store items from $general var generalItems = State.variables.generalStuff; var $grid = $("#itemGrid"); $grid.empty(); if (generalItems.length === 0) { $grid.html("<p>No items available at the store.</p>"); } else { generalItems.forEach(function(item) { var $div = $("<div>") .addClass("store-item") .html(` <h4>${item.name}</h4> `) .on("click", function() { State.variables.selectedItem = item; $("#itemPreview").attr("src", item.img); $("#itemDescription").text(item.name + " costs $" + item.price); }); $grid.append($div); }); } }); <</script>>
rererreaqrsdasdas
<<nobr>><<set $energy -=30>> <<set $workProgressBistro = $workProgressBistro or 0>> <<script>> window.advanceTime(); <</script>> <<switch $bodyShape>> <<case "large">> <<set $hunger+=15>> <<case "overw">> <<set $hunger+=10>> <<case "fit">> <<set $hunger+=5>> <<case "sexy">> <<set $hunger+=5>> <</switch>> <<set $workProgressBistro += 1>> <<set $bistroLevel = $bistroLevel or 1>> <<set $worklimit = $worklimit or 3>> <<set $basePay = $bistroLevel * 10>> /* Base Pay Increases with Experience */ <<set $fitnessBonus = $fitness * 0.2>> /* Fitness Bonus */ <<set $beautyBonus = $beauty * 0.3>> /* Beauty Tips */ <<set $moneyEarned = $basePay + $fitnessBonus + $beautyBonus>> <<set $money += $moneyEarned>> <<switch $bistroLevel>> <<case 1>> <<switch random(1,4)>> <<case 1>> <<set $workevent = [ { character: "MC", gender: "nog", type: "narrative", text: "The diner<punc>s neon sign flickers as you push open the heavy glass door." }, { character: "MC", gender: "female", type: "thought", text: "WOO! I love the smell of grease in the morning." }, { character: "jim", gender: "male", type: "speech", text: "Hey $firstname. Let<punc>s start you on dish duty." }, { character: "Candy", gender: "nog", type: "narrative", text: "You walk into the Kitchen and start washing dishes." }, { character: "Kofi", gender: "male", type: "speech", text: "Ay, baby girl! Don<punc>t worry, you<punc>ll get used to the heat, yeah?" } ]>> <<case 2>> <<set $workevent = [ { character: "Candy", gender: "nog", type: "narrative", text: "Candy glides between tables with practiced ease, trays balanced perfectly." }, { character: "Candy", gender: "female", type: "speech", text: "Hey new girl, watch and learn how it<punc>s done." }, { character: "MC", gender: "female", type: "thought", text: "She makes it look so easy..." }, { character: "Kofi", gender: "noeg", type: "narrative", text: "Jim appears next to you and says while adjsuting his pants." }, { character: "jim", gender: "male", type: "speech", text: "Candy<punc>s our top earner for a reason." } ]>> <<case 3>> <<set $workevent= [ { character: "Kofi", gender: "nog", type: "narrative", text: "Steam rises from a bubbling pot as Kofi stirs with intense concentration." }, { character: "Kofi", gender: "male", type: "speech", text: "$firstname, taste this new sauce I<punc>m working on." }, { character: "MC", gender: "female", type: "thought", text: "Wow, that<punc>s actually amazing!" }, { character: "Kofi", gender: "male", type: "speech", text: "Secret family recipe, straight from Kingston!" } ]>> <<case 4>> <<set $workevent = [ { character: "MC", gender: "nog", type: "narrative", text: "The late-night fluorescent lights buzz overhead as you count tips." }, { character: "MC", gender: "female", type: "thought", text: "These student loans are crushing me..." }, { character: "jim", gender: "male", type: "speech", text: "$firstname, you gotta be more like Candy." }, { character: "MC", gender: "female", type: "speech", text: "And how am i supposed to do that." }, { character: "jim", gender: "male", type: "speech", text: "Give them a little bit of uh, visual entertainment. look at Candy" }, { character: "narra", gender: "fse", type: "video", text: "img/events/candy-work-2.webm" }, { character: "MC", gender: "nog", type: "narrative", text: "You see Candy entertaining the customers with her not so family friendly methods"}, ]>> <</switch>> <<case 2>> <<switch random(1,4)>> <<case 1>> <<set $workevent = [ { character: "MC", gender: "nog", type: "narrative", text: "The morning sun streams through the windows as you set up your section." }, { character: "Candy", gender: "female", type: "speech", text: "Hey, it looks like youre body is shaping up nicely" }, { character: "MC", gender: "female", type: "thought", text: "Well im trying my best" }, { character: "jim", gender: "nog", type: "narrative", text: "Jim watches the exchange from behind the counter, arms crossed." }, { character: "jim", gender: "nog", type: "narrative", text: "He joins you on the other side of the counter and you hear and feel an audible <animate>*SMACK*</animate>" }, { character: "jim", gender: "nog", type: "speech", text:"$firstname now has a donkey booty, nice" }, ]>> <<case 2>> <<set $workevent = [ { character: "Kofi", gender: "nog", type: "narrative", text: "The kitchen moves like a well-oiled machine during the lunch rush." }, { character: "Kofi", gender: "male", type: "speech", text: "You<punc>re picking up the kitchen rhythm nice, $firstname!" }, { character: "MC", gender: "female", type: "speech", text: "Thanks Kofi! Your cooking tips have been helping." }, { character: "Kofi", gender: "male", type: "speech", text: "Lemme show somtin new gyal" } ]>> <<case 3>> <<set $workevent = [ { character: "Kofi", gender: "nog", type: "narrative", text: "a particularly attractive and mysterious gentleman in a corner booth. He was well-dressed in an impeccable suit." }, { character: "MC", gender: "female", type: "speech", text: "Would you like some more wine, sir?" }, { character: "Male", gender: "male", type: "speech", text: "No im fine but I must say, your presence at the table adds a special flavor to the evening." }, { character: "MC", gender: "fle", type: "narrative", text: "That makes $firstname blush like a ripe cherry." } ]>> <<case 4>> <<set $workevent = [ { character: "Kofi", gender: "nog", type: "narrative", text: "The kitchen moves like a well-oiled machine during the lunch rush." }, { character: "Kofi", gender: "male", type: "speech", text: "You<punc>re picking up the kitchen riddim nice, Star!" }, { character: "MC", gender: "fle", type: "narrative", text:"Candy notices the attention Kofi is giving $firstname.She proceeds to then grab the oil and make a spectacle of herself" }, { character: "Candy", gender: "female", type: "speech", text: "Hey Kofi! look at this." }, { character: "Kofi", gender: "madle", type: "video", text: "img/events/candy-work.webm" }, { character: "Kofi", gender: "male", type: "speech", text: "YA WASTIN MA BUMBOCLAAAT OIL ." } ]>> <</switch>> <</switch>> <</nobr>> <div id="chat-container"></div> <<script>> $(document).ready(function() { $("#chat-container").html(window.renderConversation(State.variables.workevent)); }); <</script>> <p>You complete your shift and earn <strong>$<<=$moneyEarned>></strong>!</p> <<if $workProgressBistro === 4 or $workProgressBistro === 12 or $workProgressBistro === 24 or $workProgressBistro === 40>> <<set $jimreview=[ { character: "jim", gender: "male", type: "speech", text: "Hey $firstname Could you please join me in my office for a performance review" }, ]>> <<else>> <<set $jimreview=[]>> <</if>> <<if $timeCounter>=$worklimit>> <<set $worklimitchat=[ {character: "jim", gender: "male", type: "speech", text: "Hey $firstname, Time to wrap it up, Candy needs the extra work" }, ]>> <<else>> <<if $energy-30>0>> <<button "Keep Working" "StartWork">><</button>> <<set $worklimitchat=[]>> <<else>> <<set $worklimit={character: "jim", gender: "male", type: "speech", text: "Hey $firstname, Get Outta here! You look exhausted! " }>> <<script>> window.scrollTo(0, 0); <</script>> <</if>> <</if>> <<script>> $(document).ready(function() { $("#chat2").html(window.renderConversation(State.variables.jimreview)); $("#chat2").html(window.renderConversation(State.variables.worklimitchat)); }); <</script>> <!-- Buttons --> <<button "Take a Break" "Central District">><</button>>
<<nobr>> <<set $shopdesc = [ { character: "Deevay", gender: "male", type: "speech", text: "So, this place is still growing, just like the whole city around us." }, { character: "Deevay", gender: "male", type: "speech", text: "Well, Im building this whole thing solo. Pretty ambitious, right?" }, { character: "MC", gender: "female", type: "speech", text: "Wait—one person is making all of this?" }, { character: "Deevay", gender: "male", type: "speech", text: "Yep! One person, a whole game. But there<punc>s only so much I can do alone." }, { character: "MC", gender: "female", type: "speech", text: "I guess that explains why there<punc>s room for more..." }, { character: "Deevay", gender: "male", type: "speech", text: "Exactly. The goal is to add more outfits, systems, more places, more ways to live in this world." }, { character: "Deevay", gender: "male", type: "speech", text: "I<punc>ll develop this place in the directions the fans want to go however the support is kinda important, you know? Every little bit helps push things forward." }, { character: "MC", gender: "female", type: "speech", text: "Huh... so if people support it, the city could get even bigger?" }, { character: "Deevay", gender: "female", type: "speech", text: "Bigger, deeper, better. More jobs, more choices... more of everything." }, { character: "Deevay", gender: "female", type: "speech", text: "Check back in a few weeks. Who knows? Maybe something new will already be in the works." } ]>> <<set $intro = [ { character: "Deevay", gender: "male", type: "speech", text: "Hey there, welcome $firstname! Name<punc>s Deevay Loper, but you can just call me Dave." }, { character: "Deevay", gender: "male", type: "speech", text: "Glad you decided to stop by and thanks for playing. This little world? It<punc>s still taking shape, but that<punc>s part of the fun, isn<punc>t it?" }, { character: "Deevay", gender: "male", type: "speech", text: "See, the goal here is simple: survive, hustle, and maybe—just maybe—build something better for yourself." }, { character: "MC", gender: "female", type: "speech", text: "Sounds like a challenge." }, { character: "Deevay", gender: "male", type: "speech", text: "It is. At the moment there isnt much flexibility , this is the first build afterall" }, { character: "Deevay", gender: "male", type: "speech", text: "And hey, I<punc>m a solo dev working on this thing, so expect updates, new features, and plenty of surprises along the way." }, { character: "Deevay", gender: "male", type: "speech", text: "So go on, dive in, and let<punc>s see what kind of story you end up writing for yourself." } ]>> <<set $conversation = [ { character: "Deevay", gender: "male", type: "speech", text: "Hi there , we arent open at the moment but feel free to ask me about the city!" } , {character: "Narrator", gender: "na", type: "choice", text: "Deevay glances at you and beams a friendly smile in your direction.", choices: [ { text: "Ask about the Game", result: $shopdesc}, { text: "Introduce Yourself", result: $intro } ] }]>> <!-- Render conversation --> <div id="achat-container"></div> <<do>> <<script>> $(document).ready(function() { $("#achat-container").html(window.renderConversation(State.variables.conversation)); }); <</script>> <</do>> <</nobr>> <<button "Ask him something else">><<redo>><</button>> <<link "Leave">> <<goto "Mall">> <</link>>
<div id="chat-container"></div> <<set $landlordCD=7>> <<set $done=0>> <<set $Day=2>> <<set $jeff=0>> <<set $barbra=0>> <<nobr>> <<set $end2 = [ {character:"jeffrey" ,gender:"male",type:"speech", text:"Alright Star, just know the offer still stands. I will see you next week. I<punc>m taking an extra fifty for the time."}, { character: "Jeffrey Thompson", gender: "mae", type: "narrative", text: "Jeffrey leaves -$250" }, {character: "Narrator", gender: "na", type: "choice", text: "The door slams behind him", choices: [ { text: "Continue", result: [], statChanges:{done:+1},} ] } ]>> <<set $end1 = [ { character: "Jeffrey Thompson", gender: "mae", type: "narrative", text: "Jeffrey cleans himself up" }, {character:"jeffrey" ,gender:"male",type:"speech", text:"Star , consider the rent paid this week"}, {character:"MC" ,gender:"female",type:"thought", text:"WOW, now I dont have to pay. I gotta make sure he comes back for more"}, { character: "Jeffrey Thompson", gender: "mae", type: "narrative", text: "You walk up to him and whisper in his ear" }, {character:"MC" ,gender:"female",type:"speech", text:"That sounds great baby, and dont worry Im hungry for more"}, {character:"jeffrey" ,gender:"male",type:"speech", text:"*clears throat* well then, I will see you next week"}, { character: "Jeffrey Thompson", gender: "mae", type: "narrative", text: "Jeffrey leaves , no doubt with a clearer mind than before" }, {character: "Narrator", gender: "na", type: "choice", text: "Finish up", choices: $choice2 } ]>> <<set $jeffbj= [ {character:"MC" ,gender:"female",type:"speech", text:"Yes, that sounds fair"}, { character: "Jeffrey Thompson", gender: "mae", type: "narrative", text: "You kneel infront of him" }, {character:"jeffrey" ,gender:"male",type:"speech", text:"Youve made the right choice "}, { character: "Jeffrey Thompson", gender: "mae", type: "narrative", text: "He unzips his pants, freeing his already stiff member" }, { character: "Jeffrey Thompson", gender: "mae", type: "narrative", text: "Hes about to say something ,his cock throbbing near your mouth...you interject" }, {character:"MC" ,gender:"female",type:"speech", text:"Shut up Jeffrey"}, {character: "Jeffrey Thompson", gender: "mae", type: "narrative", text: "your tongue tentatively <animate>flicks</animate> against the tip, tasting the pre-cum that drips from it. Mr. Thompson <animate>moans</animate>, and you take this as encouragement"}, { character: "Jeffrey Thompson", gender: "mae", type: "image", text: "img/events/MC-jeff-bj-overw.jpeg" }, {character:"jeffrey" ,gender:"male",type:"speech", text:"Yeah, just like that. Show me how much you want to keep that low rent."}, { character: "Jeffrey Thompson", gender: "mae", type: "narrative", text: "You try to emulate Candys dick sucking tecnique he room is filled with the wet sounds of your lips gliding over his cock" }, { character: "Jeffrey Thompson", gender: "mae", type: "video", text: "img/events/MC-jeff-bj1.webm" }, { character: "Jeffrey Thompson", gender: "mae", type: "narrative", text: "Jeffreys hard cock begins to twitch in your mouth" }, {character:"jeffrey" ,gender:"male",type:"speech", text:"<animate>oh fuck!</animate>"}, { character: "Jeffrey Thompson", gender: "mae", type: "video", text: "img/events/MC-jeff-bj2.webm" }, { character: "Jeffrey Thompson", gender: "mae", type: "narrative", text: "Jeffrey looks completely spent" }, {character:"MC" ,gender:"female",type:"speech", text:"Thanks for the meal baby"}, {character: "Narrator", gender: "na", type: "choice", text: "", choices: [ { text: "Continue", result: $end1, } ] } ]>> <<set $jeffhj= [ {character:"MC" ,gender:"female",type:"speech", text:"Yes, that sounds fair"}, { character: "Jeffrey Thompson", gender: "mae", type: "narrative", text: "You kneel infront of him" }, {character:"jeffrey" ,gender:"male",type:"speech", text:"Youve made the right choice "}, { character: "Jeffrey Thompson", gender: "mae", type: "narrative", text: "He unzips his pants, freeing his already stiff member" }, {character: "Jeffrey Thompson", gender: "mae", type: "narrative", text: "you grip his cock and begin <animate>stroking</animate> it with fervor"}, { character: "Jeffrey Thompson", gender: "mae", type: "image", text: "img/events/MC-jeff-hj-large.jpeg" }, {character:"jeffrey" ,gender:"male",type:"speech", text:"Yeah, Spit on it"}, {character:"MC" ,gender:"female",type:"speech", text:"Oh, its so big daddy"}, { character: "Jeffrey Thompson", gender: "mae", type: "narrative", text: "<animate>Hawk Tuah</animate>" }, { character: "Jeffrey Thompson", gender: "mae", type: "video", text: "img/events/MC-jeff-hj1.webm" }, {character:"MC" ,gender:"female",type:"speech", text:"why is Barbra so mean to me"}, { character: "Jeffrey Thompson", gender: "mae", type: "narrative", text: "Jeff is in a trance and simply answers" }, {character:"jeffrey" ,gender:"male",type:"speech", text:"She thinks your wasting your youth being so fat"}, {character:"MC" ,gender:"female",type:"speech", text:"bitch.."}, { character: "Jeffrey Thompson", gender: "mae", type: "narrative", text: "Jeff facial expression changes" }, {character:"MC" ,gender:"female",type:"speech", text:"bitch... no wait im s"}, {character:"jeffrey" ,gender:"male",type:"speech", text:"Say it again , call her a...<animate>hyoo</animate>"}, {character:"MC" ,gender:"female",type:"speech", text:"YOUR WIFES A MEAN OLD BI!!!"}, {character:"jeffrey" ,gender:"male",type:"speech", text:"<animate>oh..oh god</animate>"}, { character: "Jeffrey Thompson", gender: "mae", type: "video", text: "img/events/MC-jeff-hj2.webm" }, {character: "Narrator", gender: "na", type: "choice", text: "", choices: [ { text: "Continue", result: $end1,} ] } ]>> <<set $choice2 = [ { text: "Give him a handjob "+$devi+"25", result: $jeffhj, statChanges: { deviancy:1 , done:1}, statRequirement: { stat: "deviancy", threshold: 25 }}, { text: "Suck his cock "+$devi+"60", result: $jeffbj, statChanges: { deviancy:2, done:1 }, statRequirement: { stat: "deviancy", threshold: 60 }}, { text: "Fuck him(Not yet implemented) "+$devi+"70", result: $jeffvs, statChanges: { deviancy:2, done:1 }, statRequirement: { stat: "deviancy", threshold: 90 }}, { text: "Say your not ready", result: $end2, statChanges: { money:-250, done:1 }} ]>> <<set $conversation3 = [ { character: "Jeffrey Thompson", gender: "mae", type: "narrative", text: "Jeffrey gets up and sits next to you" }, {character:"jeffrey" ,gender:"male",type:"speech", text:"How are you feeling Star, I tried to have a chat with her but I can<punc>t seem to get a word in these days"}, {character:"MC" ,gender:"female",type:"speech", text:"It<punc>s just a lot of pressure Mr Thompson. I also have my student loan repayments to think about"}, {character:"jeffrey" ,gender:"male",type:"speech", text:"Well then..I have some of my own pressures as well"}, { character: "Jeffrey Thompson", gender: "mae", type: "narrative", text: "Jeffrey puts his hand on your thigh" }, {character:"jeffrey" ,gender:"male",type:"speech", text:"Perhaps we could find a way to alleviate some of that pressure, if you know what I mean.."}, {character:"MCs" ,gender:"female",type:"speech", text:"Alleviate the pressure..."}, { character: "Jeffrey Thompson", gender: "mae", type: "narrative", text: "Jeffrey inches a little closer, your arrousal <animate>grows</animate> as he continues to <animate>rub</animate> your thigh" }, { character: "jeffrey", gender: "male", type: "speech", text: "Exactly. You see, we are both adults, and we both know what can be done to lessen the financial burden."}, {character:"MCs" ,gender:"female",type:"thought", text:"I could really use the help, maybe just a little favor for now"}, {character: "Narrator", gender: "na", type: "choice", text: "Suddenly youre confronted with a choice", choices: $choice2 } ]>> <<set $skip = [ { character: "Jeffrey Thompson", gender: "mae", type: "narrative", text: "barbra -1" }, {character:"barbra" ,gender:"female",type:"speech", text:"You lack basic confidence girl, dissapointing. OK jeff, lets get out of here"}, { character: "jeffrey", gender: "male", type: "speech", text: "Honey you dont have to be so mea..."}, {character:"barbra" ,gender:"female",type:"speech", text:"Oh shut up jeff. Im guessing that the advice you would give is for her to remain mediocre"}, { character: "Jeffrey Thompson", gender: "mae", type: "narrative", text: "You look at Jeffrey once more" }, { character: "Jeffrey Thompson", gender: "mae", type: "image", text: "img/events/jeffrey-smile2.gif" }, { character: "Jeffrey Thompson", gender: "mae", type: "narrative", text: "The door slams behind Barbra as she jets off to deliver bad news to some other poor soul" }, {character: "Narrator", gender: "na", type: "choice", text: "The door slams behind her", choices: [ { text: "Continue", result: $conversation3}, ] } ]>> <<switch $bodyShape>> <<case "large">> <<set $barbraMCinsult = "eating garbage">> <<case "overw">> <<set $barbraMCinsult = "looking absolutely mediocre">> <<case "fit">> <<set $barbraMCinsult = "empty words from an empty mind">> <<case "sexy">> <<set $barbraMCinsult = "sucking dicks like an absolute slut">> <</switch>> <<if $landlord===0>> <<set $landlordspeak2 = [ { character: "Jeffrey Thompson", gender: "mae", type: "narrative", text: "Barbra +1" }, { character: "Jeffrey Thompson", gender: "mae", type: "narrative", text: "Barbra scans your body from head to toe" }, {character:"barbra" ,gender:"female",type:"speech", text:"Aww , poor baby. I get it , it<punc>s tough out here, especially for a young lady such as yourself."}, {character:"barbra" ,gender:"female",type:"speech", text:"But judging from the way you look, theres enough money to feed the both of us"}, { character: "Jeffrey Thompson", gender: "mae", type: "narrative", text: "Jeffreys Facial expression turns to shock" }, { character: "jeffrey", gender: "male", type: "speech", text: "Barbra!"}, {character:"barbra" ,gender:"female",type:"speech", text:"Oh, get a grip Jeffrey, this kinda chat is for just us ladies. You<punc>ve looked like that your entire life Jeff! She, on the other hand, actually has potencial"}, {character:"MC" ,gender:"female",type:"thought", text:"I really cant afford to start looking for a new place right now , so I<punc>ll just agree to her terms"}, {character:"MC" ,gender:"female",type:"speech", text:"No problem Mrs Thompson, I understand"}, {character:"barbra" ,gender:"female",type:"speech", text:"Im glad you can see things my way. OK jeff, lets get out of here"}, { character: "jeffrey", gender: "male", type: "speech", text: "Ya know honey, I saw that Stars faucet was broken so I wanna see if.."}, {character:"barbra" ,gender:"female",type:"speech", text:"There you go mumbling on again like the neanderthal you are..."}, {character:"barbra" ,gender:"female",type:"speech", text:"goodbye Star, call me if he starts bothering you"}, { character: "Jeffrey Thompson", gender: "mae", type: "narrative", text: "You look at jeffrey once more" }, { character: "Jeffrey Thompson", gender: "mae", type: "image", text: "img/events/jeffrey-smile2.gif" }, { character: "Jeffrey Thompson", gender: "mae", type: "narrative", text: "The door slams behind Barbra as she jets off to deliver bad news to some other poor sob" }, {character: "Narrator", gender: "na", type: "choice", text: "The door slams behind her", choices: [ { text: "Continue", result: $conversation3}, ] } ]>> <<else>> <<set $landlordspeak2 = [ { character: "Jeffrey Thompson", gender: "mae", type: "narrative", text: "Barbra +1" }, { character: "Jeffrey Thompson", gender: "mae", type: "narrative", text: "Barbra smiles" }, {character:"barbra" ,gender:"female",type:"speech", text:"Atleast your mouth is good for more than "+$barbraMCinsult+"!"}, {character:"MC" ,gender:"female",type:"speech", text:"Damn... I understand"}, {character:"barbra" ,gender:"female",type:"speech", text:"I<punc>m glad you can see things my way. OK Jeff, lets get out of here"}, { character: "jeffrey", gender: "male", type: "speech", text: "Ya know honey, I saw that $firstname was low on..."}, {character:"barbra" ,gender:"female",type:"speech", text:"There you go mumbling on again like anything you say matters..."}, {character:"barbra" ,gender:"female",type:"speech", text:"goodbye $firstname, call me if he starts bothering you"}, { character: "Jeffrey Thompson", gender: "mae", type: "narrative", text: "You look at jeffrey once more" }, { character: "Jeffrey Thompson", gender: "mae", type: "image", text: "img/events/jeffrey-smile2.gif" }, { character: "Jeffrey Thompson", gender: "mae", type: "narrative", text: "The door slams behind Barbra as she jets off to deliver bad news to some other poor sob" }, {character: "Narrator", gender: "na", type: "choice", text: "The door slams behind her", choices: [ { text: "Continue", result: $conversation3}, ] } ]>> <</if>> <<set $conversation2 = $landlordspeak2 >> <<if $landlord===0>> <<set $landlordspeak = [ { character: "Jeffrey Thompson", gender: "mae", type: "narrative", text: "The doorbell rings, Knowing its your landlords , you nervously get up and answer it" }, {character:"MC", gender:"female",type:"speech", text:"Mr and Mrs Thompson how are you."}, { character: "jeffrey", gender: "male", type: "speech", text: "Good afternoon, $firstname. Its a pleasure to see you again. We have come to discuss..."}, { character: "Jeffrey Thompson", gender: "mae", type: "narrative", text: "Mrs. Thompson, taking charge, struts past you into the living room, while Mr. Thompson waits for you to adjust before entering" }, {character:"barbra" ,gender:"female",type:"speech", text:"Shut up Jeffrey, nobody cares about that"}, { character: "Jeffrey Thompson", gender: "mae", type: "narrative", text: "Jeffrey stays quiet and smiles" }, { character: "Jeffrey Thompson", gender: "mae", type: "image", text: "img/events/jeffrey-smile.gif" }, {character:"barbra" ,gender:"female",type:"speech", text:"The pleasure is all mine, dear. Now, sit down , we need to discuss some things."}, {character:"barbra" ,gender:"female",type:"speech", text:"$firstname, as you know, the market price has increased, and so have our expenses. We need to raise your rent."}, {character:"MC" ,gender:"female",type:"speech", text:"Oh, I see. By how much?"}, {character:"barbra" ,gender:"female",type:"speech", text:"Two hundred dollars a month."}, {character:"MC" ,gender:"female",type:"speech", text:"Thats... a lot."}, {character: "Narrator", gender: "na", type: "choice", text: "You feel the urge to plead your case, 200 is too much", choices: [ { text: "Speak up", result: $conversation2, statChanges: { barbra:1 }}, { text: "Stay quiet", result: $skip, statChanges: { barbra:-1 }} ] } ]>> <<else>> <<set $landlordspeak = [ { character: "Jeffrey Thompson", gender: "mae", type: "narrative", text: "The doorbell rings, Knowing its your landlords , you nervously get up and answer it" }, {character:"MC", gender:"female",type:"speech", text:"Mr and Mrs Thompson how are you."}, { character: "jeffrey", gender: "male", type: "speech", text: "Good afternoon, $firstname. Its a pleasure to see you again. We have come to collect..."}, { character: "Jeffrey Thompson", gender: "mae", type: "narrative", text: "Mrs. Thompson, taking charge, struts past you into the living room, while Mr. Thompson waits for you to adjust before entering" }, {character:"barbra" ,gender:"female",type:"speech", text:"Shut up Jeffrey, you savoury muffin"}, { character: "Jeffrey Thompson", gender: "mae", type: "narrative", text: "Jeffrey stays quiet and smiles" }, { character: "Jeffrey Thompson", gender: "mae", type: "image", text: "img/events/jeffrey-smile.gif" }, {character:"barbra" ,gender:"female",type:"speech", text:"$firstname dear, sit. lets chat."}, {character:"barbra" ,gender:"female",type:"speech", text:"$firstname, have you been taking care of yourself?."}, {character:"MC" ,gender:"female",type:"speech", text:"Oh, I<punc>m fine. What about you?"}, {character:"barbra" ,gender:"female",type:"speech", text:"Managing my businesses has been tiring but fruitful. Maybe someone like you can experience it once better."}, { character: "Jeffrey Thompson", gender: "mae", type: "narrative", text: "Barbra looks you up and down mockingly" }, {character:"MC" ,gender:"female",type:"speech", text:"Alright then."}, {character: "Narrator", gender: "na", type: "choice", text: "You feel the urge to point out how mean she<punc>s being", choices: [ { text: "Speak up", result: $conversation2, statChanges: { barbra:1 }}, { text: "Stay quiet", result: $skip, statChanges: { barbra:-1 }} ] } ]>> <</if>> <<set $conversation1= $landlordspeak>> <</nobr>> <<script>> $(document).ready(function() { $("#chat-container").html(window.renderConversation(State.variables.conversation1)); }); <</script>> <<do>><<linkreplace "Finish up">> <<if $done>0>> <<if $timeCounter>=4>> [[Sleep]] <<else>> [[Sleep]] [[Apartment]] <</if>> <<else>> <<redo>> <</if>> <</linkreplace>><</do>>
<div id="chat"></div> <<set $bodyShape= $bodyShapeList[2]>> <<set $done=0>> <<set $conversation1 = [ { character: "MC", gender: "feme", type: "narrative", text: "Your body starts to burn with a extreme heat" }, { character: "Kfi", gender: "male", type: "image", text: "img/events/transform.gif" }, { character: "MC", gender: "female", type: "thought", text: "Whoa why do i feel so weird? let me check the mirror." }, { character: "MC", gender: "feme", type: "narrative", text: "You are met with a familiar face" }, { character: "Kfi", gender: "male", type: "video", text: "img/events/fit-t.mp4" }, { character: "MC", gender: "feme", type: "narrative", text: "Congratulations on achieving a new body!" }, { character: "MC", gender: "female", type: "thought", text: "Wow, im so pretty!!!" }, { character: "MC", gender: "female", type: "thought", text: "Giiiirl, I need to have a chat with Mrs Thompson about becoming a model" }, {character: "Narrator", gender: "na", type: "choice", text: "The sand man blows more sand into your eyes", choices: [ { text: "Gather your thoughts", result:[], statChanges: { done:+1 }}, ] } ]>> <<script>> $(document).ready(function() { $("#chat").html(window.renderConversation(State.variables.conversation1)); }); <</script>> <<do>><<linkreplace "Finish up">> <<if $done>0>> [[Sleep]] [[Apartment]] <<else>> <<redo>> <</if>> <</linkreplace>><</do>>
End of content
<div id="chat"></div> <<set $bodyShape= $bodyShapeList[1]>> <<set $done=0>> <<set $conversation1 = [ { character: "MC", gender: "feme", type: "narrative", text: "Your body starts to burn with a extreme heat" }, { character: "Kfi", gender: "male", type: "image", text: "img/events/transform.gif" }, { character: "MC", gender: "female", type: "Thought", text: "Whoa why do i feel so weird? let me check the mirror." }, { character: "MC", gender: "feme", type: "narrative", text: "You are met with a familiar face" }, { character: "Kfi", gender: "male", type: "video", text: "img/events/overw-t.mp4" }, { character: "MC", gender: "feme", type: "narrative", text: "Congratulations on achieving a new body!" }, { character: "MC", gender: "female", type: "Thought", text: "OMG! the exercise if finally paying off" }, { character: "MC", gender: "female", type: "Thought", text: "I could never fit into anything at the mall. But now, things are different" }, {character: "Narrator", gender: "na", type: "choice", text: "You grow weary and long for your bed once more", choices: [ { text: "Gather your thoughts", result:[], statChanges: { done:+1 }}, ] } ]>> <<script>> State.variables.outfit=`${State.variables.hairColor}-${State.variables.bodyShape}-${State.variables.wornOutfit}` window.updateJournal(); $(document).ready(function() { $("#chat").html(window.renderConversation(State.variables.conversation1)); }); <</script>> <<do>><<linkreplace "Finish up">> <<if $done>0>> [[Sleep]] [[Apartment]] <<else>> <<redo>> <</if>> <</linkreplace>><</do>>
<<nobr>> <<switch random(1, 5)>> <<case 1>> <<set $randomconvSalon = []>> <<case 2>> <<set $randomconvSalon = []>> <<case 3>> <<set $randomconvSalon = []>> <<case 4>> <<set $randomconvSalon = []>> <<case 5>> <<set $randomconvSalon = []>> <</switch>> <<set $shopdesc = [ { character: "Autumn", gender: "female", type: "speech", text: "So basically what we do here is that we permanent hair dye services as well as ..ahem.. massage services" }, { character: "MC", gender: "female", type: "speech", text: "Is that it." }, { character: "Autumn", gender: "female", type: "speech", text: "Thats it for now, check back with me in a couple of weeks, our founder Deevey Loper is probably cooking something up" }, ]>> <<set $Ainsult = [ { character: "Autumn", gender: "female", type: "speech", text: "Im sorry you feel that way" }, ]>> <<set $autumn2 = [ { character: "Autumn", gender: "female", type: "speech", text: "Im glad you like it little doggie because good pets get treats" }, { character: "ass", gender: "fem", type: "narrative", text: "She stares at you like a hunter thats found fresh game" }, { character: "MC", gender: "female", type: "speech", text: "Umm...great" }, { character: "ass", gender: "fem", type: "narrative", text: "Her eyes snap back to reality " }, { character: "Autumn", gender: "female", type: "speech", text: "feel free to browse our different services , I recommend the massage" }, ]>> <<set $autumn1 = [ { character: "ass", gender: "fem", type: "narrative", text: "You walk up to the counter in the back and Autumns little frame comes into view, shes a petite asian woman sporting pink hair and a welcoming smile" }, { character: "Autumn", gender: "female", type: "image", text: "img/characters/Autumn.jpg" }, { character: "Autumn", gender: "female", type: "speech", text: "Its a pleasure to meet you $firstname, Im Autumn" }, { character: "Autumn", gender: "female", type: "speech", text: "Your hair is so healthy babe, youre like my cute little doggie" }, {character: "Narrator", gender: "na", type: "choice", text: "Autumn glances at you and beams another friendly smile.", choices: [ { text: "Thats a little mean", result: $Ainsult}, { text: "Woof woof", result: $autumn2, statChanges: { autumn:+1 }} ] }]>> <<set $conversation = [ { character: "Autumn", gender: "female", type: "speech", text: "Hey there sweetie, You looking Vibe up that hair?" } , {character: "Narrator", gender: "na", type: "choice", text: "Autumn glances at you and beams a friendly smile in your direction before she continues what shes doing.", choices: [ { text: "Ask about the Store", result: $shopdesc}, { text: "Introduce Yourself", result: $autumn1, statChanges: { autumn:+1 }} ] }]>> <<set $selectedItem = $selectedItem or "">> <!-- Render conversation --> <div id="achat-container2"></div> <div id="achat-container"></div> <<do>> <<script>> $(document).ready(function() { $("#achat-container").html(window.renderConversation(State.variables.conversation)); $("#achat-container2").html(window.renderConversation(State.variables.randomconvSalon)); }); <</script>> <</do>> <</nobr>> <<button "Ask her something else">><<redo>><</button>> <!-- Store Layout --> <div class="store-container"> <!-- Items Grid Section --> <div class="store-left"> <h1>Odai body Studio</h1> <div id="itemGrid" class="item-grid"> <!-- Items will be loaded dynamically --> </div> </div> <!-- Preview & Purchase Section --> <div class="store-right"> <h3>Item Preview</h3> <img id="itemPreview" class="item-preview" width="250px" src="img/items/generic2.png" alt="Item Preview"> <p id="itemDescription">Select an item to see details.</p> <<button "Buy Item">> <<set $purchasedItem = $selectedItem>> <<set $outfit=$outfit>> <<script>> if(State.variables.money-State.variables.selectedItem.price>0){ State.variables.money-=State.variables.selectedItem.price; switch(State.variables.selectedItem.qpointer){ case "Red": State.variables.hairColor = State.variables.hairColorList[1] window.updateJournal(); break; case "Blonde": State.variables.hairColor = State.variables.hairColorList[3] window.updateJournal(); break; case "Black": State.variables.hairColor = State.variables.hairColorList[2] window.updateJournal(); break; case "Brunette": State.variables.hairColor = State.variables.hairColorList[0] window.updateJournal(); break; } } <</script>> <</button>> </div> </div> <<button "Leave" "Mall">><</button>> <style> .store-container { display: flex; flex-wrap: wrap; max-width: 900px; margin: 1em auto; gap: 1em; padding: 1em; background-color: #f7f7f760; border-radius: 8px; box-shadow: 0 2px 6px rgba(0,0,0,0.2); } .store-left, .store-right { flex: 1 1 300px; padding: 0.5em; } .store-left h1 { text-align: center; margin-bottom: 0.5em; } .item-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); grid-gap: 1em; } .store-item { background: #cfd1d060; border: 1px solid #ddd; border-radius: 4px; padding: 0.5em; text-align: center; cursor: pointer; transition: box-shadow 0.3s ease; } .store-item:hover { box-shadow: 0 2px 8px rgba(0,0,0,0.3); } .store-item img { max-width: 100%; height: auto; border-radius: 4px; } .store-item h4 { margin: 0.5em 0 0.2em; font-size: 0.8em; } .store-item p { font-size: 0.9em; margin: 0.2em 0; } .item-preview { width: 100%; max-width: 300px; height: auto; display: block; margin: 0 auto; border-radius: 4px; } .store-right { text-align: center; } .store-right h3 { margin-bottom: 0.5em; } .store-right button, .store-right a { margin-top: 0.5em; padding: 0.5em 1em; font-size: 1em; border: none; border-radius: 4px; background-color: #4CAF50; color: white; cursor: pointer; text-decoration: none; } .store-right button:hover, .store-right a:hover { background-color: #45a049; } </style> <<script>> $(document).ready(function() { // Populate the item grid with store items from $general var Items = State.variables.salonStuff; var $grid = $("#itemGrid"); $grid.empty(); if (Items.length === 0) { $grid.html("<p>No items available at the store.</p>"); } else { Items.forEach(function(item) { var $div = $("<div>") .addClass("store-item") .html(` <h4>${item.name}</h4> `) .on("click", function() { State.variables.selectedItem = item; $("#itemPreview").attr("src", item.img); $("#itemDescription").text(item.name + " costs $" + item.price); }); $grid.append($div); }); } }); <</script>>
<<nobr>> <<set $svetlanaConversation = [ { character: "Svetna", gender: "fale", type: "narrative", text: "You step into Svetlana's Closet—a chic boutique with lavish fabrics, ornate mirrors, and a subtle hint of old-world charm." }, { character: "Svetlana", gender: "female", type: "speech", text: "Dobry den, darling. I am Svetlana. Welcome to my store, where we dress not just bodies, but dreams." }, { character: "Svetlana", gender: "female", type: "speech", text: "We are still in the process of renovation. But check with us ina teh future." }, { character: "Narrator", gender: "na", type: "choice", text: "How do you respond to Svetlana?", choices: [ { text: "Tell me more about the store.", result: [ { character: "Svetlana", gender: "female", type: "speech", text: "Very good, my dear. Follow me and prepare to be dazzled by opulence beyond compare." }, { character: "MC", gender: "female", type: "thought", text: "Her confidence is as striking as the garments themselves." }, { character: "Svetlana", gender: "female", type: "speech", text: "We sell all manner of clothing here. From your casual day to day designs to more bespoke runway dresses" }, { character: "Svetlana", gender: "female", type: "speech", text: "In the future I<punc>d like to expand my collection. My partner, Deevay Loper, and I are working on it." }, ], }, { text: "Introduce yourself", result: [ { character: "MC", gender: "female", type: "speech", text: "I just wanted to introduce mysielf. I<punc>m $firstname." }, { character: "Svetlana", gender: "female", type: "speech", text: "Svetlana. my dear it is my absolute pleasure to meet you" } ], }, { text: "I'm not sure, I need a moment to decide.", result: [ { character: "Svetlana", gender: "female", type: "speech", text: "Take all the time you need, my dear. In my store, beauty is patient." } ], } ] } ]>> <<set $selectedItem = $selectedItem or "">> <!-- Render conversation --> <div id="chat-container"></div> <<button "Ask her something else">><<redo>><</button>> <<do>><<script>> $(document).ready(function() { $("#chat-container").html(window.renderConversation(State.variables.svetlanaConversation)); }); <</script>><</do>> <<button "Leave" "Mall">><</button>> <</nobr>>
<<set $membershipCost = 100>> <<set $dayPassCost = 30>> <h2>Gym Reception</h2> <p>Bella, the fit receptionist, greets you with a bright smile.</p> <<if $gymMembership===0>> <<set $conversation = [ { character: "Bella", gender: "female", type: "speech", text: "Hola chica! Welcome to the Fitness Hub!" }, { character: "MC", gender: "female", type: "choice", text: "Do you chat with the Receptionist?", choices: [ { text: "Introduce yourself", result: [ { character: "k", gender: "ale", type: "narrative", text: "The latina receptionist stands before you. Her face toned by her caramel skin and even more alluring eyes." }, { character: "kyle", gender: "ale", type: "image", text: "img/characters/Bella.jpg" }, { character: "MC", gender: "female", type: "speech", text: "Hi, im new to this whole gym thing. I don<punc>t even know where to start." }, { character: "Bella", gender: "female", type: "speech", text: "That<punc>s not an issue. Im here to help you find your way around. I<punc>m Bella by the way." }, { character: "MC", gender: "female", type: "speech", text: "It<punc>s nice to meet you Bella. I<punc>m $firstname." }, { character: "Bella", gender: "female", type: "speech", text: "OK $firstname, We have state of the art equipment as well as great staff. I<punc>m sure you<punc>ll find something that<punc>s muy fatastica." }, ] }, { text: "Membership info", result: [ { character: "Bella", gender: "female", type: "speech", text: "Looks like you arent a member now. You can join for "+$membershipCost +" per week." }, { character: "Bella", gender: "female", type: "speech", text: "Theres also a day pass for "+$dayPassCost +" per day." }, {character: "Narrator", gender: "na", type: "choice", text: "Which memebrship type do you choose?", choices: [ { text: "Get a week pass", result: [ { character: "MC", gender: "female", type: "speech", text: "I<punc>ll take the week pass." }, { character: "Bella", gender: "female", type: "speech", text: "awesome, you now have access to the gym." }, ],statChanges: { money:-$membershipCost ,gymMembership:7 }, statRequirement: { stat: "money", threshold: $membershipCost } }, { text: "Get a day pass", result:[ { character: "MC", gender: "female", type: "speech", text: "I<punc>ll take the day pass." }, { character: "Bella", gender: "female", type: "speech", text: "awesome, you now have access to the gym for one day." }, ],statChanges: { money:-$dayPassCost , gymMembership:1}, statRequirement: { stat: "money", threshold: $dayPassCost } } ]} ] } ] } ]>> <<elseif $gymMembership> 0>> <<set $conversation = [ { character: "Bella", gender: "female", type: "speech", text: "Hola chica! Welcome to the Fitness Hub!" }, { character: "MC", gender: "female", type: "choice", text: "Do you chat with the Receptionist?", choices: [ { text: "Introduce yourself", result: [ { character: "k", gender: "ale", type: "narrative", text: "The latina receptionist stands before you. Her sexy face toned by her caramel skin and even more alluring eyes." }, { character: "kyle", gender: "ale", type: "image", text: "img/characters/Bella.jpg" }, { character: "MC", gender: "female", type: "speech", text: "Hi, im new to this whole gym thing. I don<punc>t even know where to start." }, { character: "Bella", gender: "female", type: "speech", text: "That<punc>s not a problem chica. Im here to help you find jour way around. I<punc>m Isabela but you can call me Bella." }, { character: "MC", gender: "female", type: "speech", text: "It<punc>s nice to meet you Bella. I<punc>m $firstname." }, { character: "Bella", gender: "female", type: "speech", text: "OK $firstname, We have state of the art equipment as well as great staff. I<punc>m sure you<punc>ll find something that<punc>s muy fatastica." }, ] },]}]>> <</if>> <div id="chat-container"></div> <<button "Ask her something else">><<redo>><</button>> <<do>> <<if $gymMembership > 0 and $wornOutfit==="Sports 2 piece">> <<button "Enter Gym" "GymFloor">><</button>> <<elseif $gymMembership > 0 and $wornOutfit!="Sports 2 piece">> <<button "Enter Gym">> <<set $conversation = [ { character: "Bella", gender: "female", type: "speech", text: "Sorry chica! You cant enter the gym in casual clothes yet. Go home and change into some <animate>gym clothes</animate>." }, ]>> <<script>> $(document).ready(function() { $("#chat-container").html(window.renderConversation(State.variables.conversation)); }); window.scrollTo(0, 0); <</script>> <</button>> <<else>> <<button "Membership card declined: try again?" >><<redo>><</button>> <</if>> <</do>> <<button "Leave" "Mall">><</button>> <<do>><<script>> $(document).ready(function() { $("#chat-container").html(window.renderConversation(State.variables.conversation)); }); <</script>><</do>>
<h2>Gym Floor (Work in progress)</h2> <p>You enter the gym floor where two personal trainers, Coach Mike and Trainer Lisa, stand chatting and watching the workout area.</p> <<set $conversation = [ { character: "Trainer Lisa", gender: "female", type: "choice", text: "Choose your workout:", choices: [ { text: "Weightlifting", result: [ { character: "Trainer Lisa", gender: "female", type: "speech", text: "Great choice! Let's build some muscle." }, { character: "Narrator", gender: "na", type: "speech", text: "You feel your strength increase as you lift weights." } ], statChanges: { fitness: window.statGainDropper("Weightlifting"), energy: -15 }, statRequirement: { stat: "energy", threshold: 15 } }, { text: "Circuit Training", result: [ { character: "Coach Mike", gender: "male", type: "speech", text: "Circuit training will boost your stamina quickly." }, { character: "Narrator", gender: "na", type: "speech", text: "You push through an intense circuit, feeling both sweat and satisfaction." } ], statChanges: { fitness: window.statGainDropper("Circuit Training"), energy: -30 }, statRequirement: { stat: "energy", threshold: 30 } }, { text: "Yoga", result: [ { character: "Trainer Lisa", gender: "female", type: "speech", text: "Yoga will improve your flexibility and calm your mind." }, { character: "Narrator", gender: "na", type: "speech", text: "You feel your body relax and your mind clear during the yoga session." } ], statChanges: { fitness: window.statGainDropper("Yoga"), energy: -15 }, statRequirement: { stat: "energy", threshold: 15 } }, { text: "Spinning", result: [ { character: "Coach Mike", gender: "male", type: "speech", text: "Spinning is intense, but it burns tons of calories!" }, { character: "Narrator", gender: "na", type: "speech", text: "You pedal furiously and feel your heart racing." } ], statChanges: { fitness: window.statGainDropper("Spinning"), energy: -20 }, statRequirement: { stat: "energy", threshold: 20 } } ] } ]>> <div id="chat-container"></div> <do><<script>> $(document).ready(function() { $("#chat-container").html(window.renderConversation(State.variables.conversation)) }); <</script>></do> <<button "Do something else">><<redo>><</button>> <<link "Return to Reception" "Gym Reception">><</link>>