<<nobr>>
<<widget "genderDescription">>
<<if $gender <= 10>>extremly feminine
<<elseif $gender <= 20>>very feminine
<<elseif $gender <= 30>>feminine
<<elseif $gender <= 40>>tomboyish
<<elseif $gender <= 50>>adrogenous
<<elseif $gender <= 60>>boyish
<<elseif $gender <= 70>>manly
<<elseif $gender <= 80>>masculine
<<else>>extremly masculine
<</if>><</widget>>
<</nobr>><<if ndef $shyConfident>>
<<script>>
State.variables.shyConfident = Math.floor(Math.random() * (3 - -3 + 1)) + -3;
State.variables.carefreeCarefull = Math.floor(Math.random() * (3 - -3 + 1)) + -3;
State.variables.submissiveDominant = Math.floor(Math.random() * (3 - -3 + 1)) + -3;
<</script>>
<<set _debugging to true>>
<</if>>
<<set document.title = "Summer Growth">>
<<if $gameStarted is true>>
<<include "FrameUpdate" "hide">>
<<if !tags().includes('noEventTrigger')>>
<<include "EventManager">>
<</if>>
<<set $tags to tags()>>
<<liveblock>>
<<script>>
if (setup.isOutfitTight()) {
const tightClothesSlots = setup.getTightOutfitClothesArray().map(clothes => clothes.slot);
State.temporary.outfitTightWarning = 'These clothes are too tight: ' + tightClothesSlots.join(' ');
}
if (setup.isOutfitNude()) {
State.temporary.outfitNudeWarning = `You're practically nude! Get some clothes on! You're missing the following: ` + setup.getNudeOutfitSlots().join(' ');
}
<</script>>
<div class="warning">
<<if setup.isOutfitTight()>>
<img src="https://i.imgur.com/IIR3hEI.png" @title="_outfitTightWarning">
<</if>>
<<if setup.isOutfitNude()>>
<img src="https://i.imgur.com/HmBr1GW.png" @title="_outfitNudeWarning">
<</if>>
</div>
<</liveblock>>
<<set _lactationWarning to "Your breasts are getting full.">>
<<if $lactationUnlocked>>
<<if $breastsFullness == "overflowing">>
<p id="warning"><img src="https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Art%20assets/Icons/LactationOverflowingIcon.png" @title="_lactationWarning">
</p>
<<elseif $breastsFullness == "full">>
<p id="warning"><img src="https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Art%20assets/Icons/LactationFullIcon.png" @title="_lactationWarning">
</p>
<</if>>
<</if>>
<div id="log">
<table id="logTable">
<tr>
<th>Notes</th>
<th><<if $log.length > 0>><<link "Clear log">>
<<for _i to 0; _i < $log.length; _i ++>>
<<capture _i>>
<<set $deletedLog.push($log[_i])>>
<</capture>>
<</for>>
<<set $log to []>><<goto $return>>
<</link>><</if>></th>
</tr>
<<for _j to 0; _j < $log.length; _j ++>>
<<capture _j>>
<tr>
<td>[<<print $log[_j].time>>] <<print $log[_j].message>></td>
<td><<link "X">>
<<set $deletedLog.push($log[_j])>>
<<run $log.deleteAt(_j)>><<goto $return>>
<</link>></td>
</tr>
<</capture>>
<</for>>
</table>
</div>
<br>
<table id="motivationExhaustionTable">
<tr>
<th>
<div id="motivationBarContainer" class="barContainer">
<div id="motivation" class="bar"></div>
<div id="motivationChange" class="bar"></div>
</div>
</th>
<th>
<div id="exhaustionBarContainer" class="barContainer">
<div id="exhaustion" class="bar"></div>
<div id="exhaustionBarFloor" class="barFloor"></div>
<div id="exhaustionChange" class="bar"></div>
<div id="exhaustionBarFloorChange" class="bar"></div>
</div>
</th>
</tr>
</table>
<<script>>
var maxMotivation = State.variables.maxMotivation;
var currentMotivation = State.variables.motivation;
var maxExhaustion = State.variables.maxExhaustion;
var currentminimumExhaustion = State.variables.minimumExhaustion;
var currentExhaustion = State.variables.exhaustion;
document.getElementById("exhaustion").style.height = Math.round((currentExhaustion / maxExhaustion) * 100) + "%";
document.getElementById("motivation").style.height = Math.round((currentMotivation/ maxMotivation) * 100) + "%";
document.getElementById("exhaustionBarFloor").style.height = Math.round((currentminimumExhaustion / maxExhaustion) * 100) + "%";
<</script>>
<br>
Money: $<<live Math.round($money)>>
<br>
<<live $gameDate.toLocaleString("en-US", { weekday: 'long', month: 'short', day: 'numeric', year: 'numeric' } )>>
<<live $gameDate.toLocaleTimeString('en-GB')>>
<</if>><span class="hiden">
<<set $playerFirstName to "Summer">>
<<set $playerLastName to "Atlas">>
<<set $returnVal to 0>>
<<include "InitializeClothes">>
<<include "initBody">>
<<include "initInstantConsumables">>
<<include "initQuests">>
<<include "dialogInit">>
<<include "initSkill">>
<<include "initNPCData">>
<<include "initBodyDialogFlags">>
/* Event setup */
<<set $indexesOfEventsUsed to []>>
<<set $eventCounter to 0>>
/* personality */
<<set $shyConfident to -3>>
<<set $carefreeCarefull to -2>>
<<set $submissiveDominant to 1>>
<<set $temporaryPersonalityGains to {
shyConfident: 0,
carefreeCarefull: 0,
submissiveDominant: 0
}>>
<<set $startingPersonalityPoints to 1>>
<<set $addedConfident to 0>>
<<set $addedShy to 0>>
<<set $addedCareful to 0>>
<<set $addedCarefree to 0>>
<<set $addedDominant to 0>>
<<set $addedSubmissive to 0>>
/* Stats */
<<set $startingSkillPoints to 2>>
<<set $motivation to 40>>
<<set $exhaustion to 50>>
<<set $exhaustionWorkoutMod to 1>>
<<set $maxMotivation to 100>>
<<set $maxExhaustion to 100>>
<<set $minimumExhaustion to 30>>
<<set $money to 750>>
<<set $loanTriggered to false>>
<<set $tiredness to 0>>
<<set $hoursAwake to 5>>
<<set $addedMinimumExhaustion to 30>>
<<set $baseWorkoutTime to setup.balance.baseWorkoutTime>>
<<set $gymExhaustionPerWorkout to setup.balance.gymExhaustionPerWorkout>>
<<set $gymMinimumExhaustionPerWorkout to setup.balance.gymMinimumExhaustionPerWorkout>>
<<set $workoutSkillMuscleGainMod to 0.5>>
<<set $workoutSkillTimeMod to 1>>
<<set $workoutSkillExhaustionMod to 1>>
<<set $workoutSkillMinimumExhaustionMod to 1>>
<<set $skillExhaustionCost to setup.balance.skillGainExhaustion>>
<<set $streamingExhaustion to setup.balance.streamingExhaustion>>
/* House */
<<set $livingRoomCleaned to 3>>
<<set $bedRoomCleaned to 3>>
<<set $bathRoomCleaned to 3>>
<<set $kitchenCleaned to 3>>
<<set $furniture to []>>
/* jobs */
<<set $streamingViewers to 3>>
<<set $streamWarnings to 0>>
<<set $amountOfStreams to 0>>
/* Diets */
<<set $cookingSkillPriceReduction to 1>>
<<set $cookingSkillMotivationBonus to 1>>
<<set $cookingSkilltimeReduction to 1>>
<<set $cookingToolsTimeReduction to 1>>
<<set $cookingMealPrep to false>>
<<set $mealsPrepped to []>>
<<set $diets to [
{ name: "Just eat like normal",
level: 0,
muscleGain: setup.balance.muscleAllowancePerDay * 0,
fatGain: 0,
price: setup.balance.baseMoneyPerDay,
time: 30,
happinessGain: 0,
minimumExhaustion: 0,
description: "It's not so much a diet as just eating whatever you want. It won't make you fat, it won't make you lean, and it's not that fun or fast. Just a middle of the road option."},
{ name: "Save time",
level: 1,
muscleGain: setup.balance.muscleAllowancePerDay * -0.5,
fatGain: -0.5,
price: setup.balance.baseMoneyPerDay * 0.75,
time: 5,
happinessGain: -20,
minimumExhaustion: 20,
description: "Skip breakfast. Rely on instant meals, maybe have a frozen pizza. You don't have the time today and while it is murder on your mood, it will at least help you save time."},
{ name: "Cheat day!",
level: 1,
muscleGain: setup.balance.muscleAllowancePerDay * 0.1,
fatGain: 0.5,
price: setup.balance.baseMoneyPerDay * 4,
time: 45,
happinessGain: 20,
minimumExhaustion: -5,
description: "Spoil yourself a bit, you earned it! Sure, it isn't the healthiest or quickest, but it helps your mood quite a bit."},
{ name: "Balance day",
level: 1,
muscleGain: setup.balance.muscleAllowancePerDay * -0.5,
fatGain: -1,
price: setup.balance.baseMoneyPerDay * 1.25,
happinessGain: -10,
minimumExhaustion: 10,
time: 60,
description: "Right, you've been eating a bit too much lately. Time to cut back and eat healthy for a day or two. It isn't as delicious or filling, but it'll make sure you lose some weight."}
]>>
<<set $currentDiet to $diets[0]>>
<<set $daysPlayed to 0>>
<<set $gameDate = new Date('June 1, 2020 13:37:00')>>
<<set $newDay to $gameDate.toDateString()>>
<<set $newHour to $gameDate.getHours()>>
<<set $oldDay to $gameDate.toDateString()>>
<<set $oldHour to $gameDate.getHours()>>
<<set $colors to [
"red",
"blue",
"white",
"gray",
"black",
"white",
"gray",
"black",
"white",
"gray",
"black",
"dark gray",
"off-white",
"biege",
"dark blue",
"light blue",
"green",
"light green",
"dark green",
"dark red",
"pale",
"pink",
"pink",
"yellow",
"orange",
"burgundy",
"brown",
"purple"
]>>
</span>
<<set $workoutCycle to [
"legs",
"core",
"arms",
"pecs",
"back"
]>>
<<set $jobInterview to false>>
<<set $jobInterviewOver to false>>
<<set $dismissalOffered to false>>
<<set $officeWarning to 0>>
<<set $officeFired to false>>
<<set $daysWorkedOffice to 0>>
<<set $officePromotionBonus to 1>>
<<set $streamingMoneyGained to 0>>
<<set $log to []>>
<<set $deletedLog to []>>
<<set $history to 5>>
<<run Config.history.maxStates = 1;>>
<<run Config.history.controls = false;>>
<<include "StoreRefresh">>
<<set $workingOutBonus to setup.balance.muscleAllowancePerDay>>
<<set $muscleGainedFromPotions to 0>><<nobr>>
<<widget "BreastSizeDescription">>
<<if $_breastsRandomized <= 2>>completly flat chest
<<elseif $_breastsRandomized <= 4>>invisible
<<elseif $_breastsRandomized <= 6>>barely visible
<<elseif $_breastsRandomized <= 8>>very tiny
<<elseif $_breastsRandomized <= 10>>petite
<<elseif $_breastsRandomized <= 11>>tiny
<<elseif $_breastsRandomized <= 14>>below average
<<elseif $_breastsRandomized <= 16>>decently sized
<<elseif $_breastsRandomized <= 18>>average
<<elseif $_breastsRandomized <= 20>>nicely shaped
<<elseif $_breastsRandomized <= 22>>well formed
<<elseif $_breastsRandomized <= 24>>larger than average
<<elseif $_breastsRandomized <= 26>>decently big
<<elseif $_breastsRandomized <= 28>>pretty big
<<elseif $_breastsRandomized <= 30>>large
<<elseif $_breastsRandomized <= 32>>full
<<elseif $_breastsRandomized <= 34>>big
<<elseif $_breastsRandomized <= 36>>impressive
<<elseif $_breastsRandomized <= 38>>perky
<<elseif $_breastsRandomized <= 40>>very big
<<elseif $_breastsRandomized <= 42>>very large
<<elseif $_breastsRandomized <= 44>>eye-catching
<<elseif $_breastsRandomized <= 46>>very full
<<elseif $_breastsRandomized <= 48>>huge
<<elseif $_breastsRandomized <= 50>>really large
<<elseif $_breastsRandomized <= 52>>very firm and really huge
<<elseif $_breastsRandomized <= 54>>incredibly huge
<<elseif $_breastsRandomized <= 56>>head sized
<<elseif $_breastsRandomized <= 58>>gigantic
<<elseif $_breastsRandomized <= 60>>smothering
<<elseif $_breastsRandomized <= 62>>bellybutton obscuring
<<elseif $_breastsRandomized <= 64>>extremely hefty
<<elseif $_breastsRandomized <= 66>>backbreaking
<<elseif $_breastsRandomized <= 68>>porn star worthy
<<elseif $_breastsRandomized <= 70>>utterly gigantic
<<elseif $_breastsRandomized <= 72>>obscenely large
<<elseif $_breastsRandomized <= 74>>unmistakingly gigantic
<<elseif $_breastsRandomized <= 76>>immensely heavy
<<elseif $_breastsRandomized <= 78>>unprecedented
<<elseif $_breastsRandomized <= 80>>thigh obscuring
<<elseif $_breastsRandomized <= 82>>thigh-slapping
<<elseif $_breastsRandomized <= 84>>immense
<<elseif $_breastsRandomized <= 86>>gargantuan
<<elseif $_breastsRandomized <= 88>>almost unliftable
<<elseif $_breastsRandomized <= 90>>Beanbag sized
<<elseif $_breastsRandomized <= 92>>unrealistically huge
<<elseif $_breastsRandomized <= 94>>floor dusting
<<elseif $_breastsRandomized <= 96>>body obscuring
<<elseif $_breastsRandomized <= 98>>person sized
<<elseif $_breastsRandomized <= 100>>floor dragging
<<else>>immobile
<</if>>
<</widget>>
<</nobr>><<nobr>>
<<widget "BreastsDescription">>
<<set $fatBreastsMod to ($fat / 2 - 20)>>
<<if $fatBreastsMod <= 0>><<set $fatBreastsMod to 0>><</if>>
<<set $_breastsRandomized to ($breasts + $fatBreastsMod + random(-2,2)) >>
<<if $_breastsRandomized <= 0>> <<set _breastsRandomized to 0>>
<<elseif $_breastsRandomized >= 100>> <<set _breastsRandomized to 100>>
<<else>>
<</if>>
<<if $_breastsRandomized <= 5>>
<<elseif $_breastsRandomized <= 20>>You have a pair of <<BreastSizeDescription>> <<breastCupDescriptors>> breasts. <<BreastsWeightDescription>>
<<elseif $_breastsRandomized <= 40>>Your breast are <<BreastSizeDescription>> <<breastCupDescriptors>>. They really add a nice shape to your torso! <<BreastsWeightDescription>>
<<elseif $_breastsRandomized <= 60>>Your <<BreastSizeDescription>><<breastCupDescriptors>> breasts catch a lot of attention. You have a lot of difficulty finding bras that fit in normal stores, and you're resigned to custom-made ones. They're also incredibly heavy and sway hypnotically from the smallest amount of movement. <<BreastsWeightDescription>>
<<elseif $_breastsRandomized <= 80>>You have a pair of <<BreastSizeDescription>> breasts. Though you can barely find bras anymore you think your bust would be an unheard of <<breastCupDescriptors>>. Finding clothes that fit is nearly impossible and the weight and momentum behind these massive mammaries is unimaginable. <<BreastsWeightDescription>>
<<elseif $_breastsRandomized <= 100>>Your appearance is dominated by your <<BreastSizeDescription>> breasts. They have gotten so large that you're pretty sure no bras exist at this size. You're now resigned to wearing custom-made clothes as no shop carries anything that can manage boobs of this size. Even the smallest movement sends them jiggling, despite their gigantic weight. <<BreastsWeightDescription>>
<<else>>Your appearance is dominated by your <<BreastSizeDescription>> breasts. They have gotten so large that you're pretty sure no bras exist at this size. You're now resigned to wearing custom-made clothes as no shop carries anything that can manage boobs of this magnitude. Even the smallest movement sends them jiggling, despite their gigantic weight. <<BreastsWeightDescription>>
<</if>>
<<if $breastsFullness is "overflowing">>
Size aside, your breasts are painfully full. Not just uncomfortably full but actively hurting with how much they need release. They look way bigger, a few blue veins are even visible under the skin, with your nipples puffed up. You're quite certain that at this point you are close to bursting.
<<elseif $breastsFullness is "full">>
Size aside, they feel REALLY full. It isn't quite painful yet, but it'll quickly become just that if you don't empty them. Emptying your tits... that still is a weird thought. How full they are is clearly visible too, as they look much more pronounced than normal.
<<elseif $breastsFullness is "filling">>
Size aside, the effect of your lactation is getting visible again. Your breasts are noticeably bigger, and more sensitive too. You wonder how long it'll take for them to completely fill up and require milking, though that'll probably take some time.
<<elseif $breastsFullness is "drained">>
Size aside, they're now comfortably drained. It doesn't happen that often since you started lactating, but for now your breasts are pretty much drained.
<<elseif $breastsFullness is "empty">>
Size aside, they're now completely drained. It doesn't happen that often since you started lactating, but for now your breasts are totally empty.
<<else>>
<</if>>
<</widget>>
<</nobr>>Though comfortable, this apartment has seen better days. It's clear that the previous owners hadn't put in the effort to maintain it and, despite the fact that you have tried to do so, the cracks show here and there. Despite that, it's still home.
<<if $furniture.includes("excellent weight set")>>
In the corner of the room is a massive pile of weights; it's a good thing you're in the basement because you're not quite sure the floor could even handle such weights!
<<elseif $furniture.includes("decent weight set")>>
You keep your weight in the corner of the room, more than enough to keep you active at home. It might not rival a gym, but it sure helps you get in shape!
<<elseif $furniture.includes("starter weightset")>>
In the corner of the room, you see your dumbbells and workout mat. It's not much, but it sure is enough to get some workouts in.
<</if>>
<<set _room to passage()>>
<<cleaning _room>>
<<if $furniture.includes("excellent weight set") or $furniture.includes("decent weight set") or $furniture.includes("starter weightset")>>
<<if $motivationPercentage >= $exhaustionPercentage and ($exhaustion +20) <= $maxExhaustion>>
<<workoutLink "home">>
<br><br>
<<else>>
You're way too tired to work out.
<br><br>
<</if>>
<</if>>
<<link "Go to the bathroom" "Bathroom">><<addMinutes 1>><</link>>
<br>
<<link "Go to the kitchen" "Kitchen">><<addMinutes 1>><</link>>
<br>
<<link "Go to the bedroom" "Bedroom">><<addMinutes 1>><</link>>
<br>
<<if setup.isOutfitNude() && $debug != "true">>
You can't travel outside until you are properly dressed!<br>
<<elseif $exhaustion <= $maxExhaustion * 0.95>>
<<link "Go somewhere" "travel">><</link>>
<br>
<<else>>
You're too tired to go anywhere.
<br>
<</if>>
<<link "read something" "bookCase">><</link>>
<br>
<<if $furniture.indexOf("sewing machine") != -1 || $debug is "true">>
<<link "Use the sewing machine" "sewing">><</link>><br>
<</if>>
<<gameLink "Just relax for a bit" "Home" time:60 motivation:10 exhaustion:-10>><</gameLink>>
<br>
<<if $debug is "true">><<link "[DEBUG]skip day" "Home">>
<<addMinutes 1440>>
<</link>><</if>>
<<if $storeOnlineBought.length > 0 and $gameDate.getHours() >= 9>>
<<script>>
if (Dialog.isOpen() == false) {
var dialog = Dialog.setup("Order delivered");
new Wikifier(dialog, "A package was left for you, with all the stuff you ordered in it.");
Dialog.open();
}
<</script>>
<<set $wardrobe to $wardrobe.concat($storeOnlineBought)>>
<<set $storeOnlineBought to []>>
<</if>>Cramped at the best of times, and almost constantly in need of mold remover, it's still your bathroom. Some of your stuff is still in boxes here, since you didn't take the time to pack it all away.
<<set _room to passage()>>
<<cleaning _room>>
<br>
<<if $furniture.includes("measuring tape")>>
<<linkreplace "Measure your body with the measuring tape">>
Carefully, you measure your body and get the following statistics.
<br>
<table id="store">
<tr>
<th>Bodypart</th>
<th>measurement</th>
</tr>
<tr>
<td>Height</td>
<td><<numeralConversion $height>></td>
</tr>
<tr>
<td>Chest</td>
<td><<getMeasurement "chest" true>></td>
</tr>
<tr>
<td>Waist</td>
<td><<getMeasurement "waist" true>></td>
</tr>
<tr>
<td>Hips</td>
<td><<getMeasurement "hips" true>></td>
</tr>
<tr>
<td>Neck</td>
<td><<getMeasurement "neck" true>></td>
</tr>
<tr>
<td>Upper arm</td>
<td><<getMeasurement "upperArm" true>></td>
</tr>
<tr>
<td>Lower arm</td>
<td><<getMeasurement "lowerArm" true>></td>
</tr>
<tr>
<td>Wrist</td>
<td><<getMeasurement "wrist" true>></td>
</tr>
<tr>
<td>Thighs</td>
<td><<getMeasurement "thigh" true>></td>
</tr>
<tr>
<td>Knees</td>
<td><<getMeasurement "knee" true>></td>
</tr>
<tr>
<td>Calves</td>
<td><<getMeasurement "calve" true>></td>
</tr>
<tr>
<td>Ankles</td>
<td><<getMeasurement "ankle" true>></td>
</tr>
</table>
<br>
<<if $carefreeCarefull <= 0>>
You decide to take careful note of them, so you can review your progress later using your PC.
<<script>>
function checkDate(log) {
return log.date.toDateString() == State.variables.gameDate.toDateString();
}
var index = State.variables.measurementProgress.findIndex(checkDate);
if (index != -1) {
State.variables.measurementProgress[index] = {
date: State.variables.gameDate,
measurements: {
height: State.variables.height,
chest: State.variables.chestSize,
waist: State.variables.waistSize,
hips: State.variables.hipsSize,
neck: State.variables.neckSize,
upperArm: State.variables.upperArmSize,
lowerArm: State.variables.lowerArmSize,
wrist: State.variables.wristSize,
thigh: State.variables.thighsSize,
knee: State.variables.kneeSize,
calve: State.variables.calveSize,
ankle: State.variables.ankleSize,
weight: State.variables.weight
}
}
}
else {
State.variables.measurementProgress.push(
{
date: State.variables.gameDate,
measurements: {
height: State.variables.height,
chest: State.variables.chestSize,
waist: State.variables.waistSize,
hips: State.variables.hipsSize,
neck: State.variables.neckSize,
upperArm: State.variables.upperArmSize,
lowerArm: State.variables.lowerArmSize,
wrist: State.variables.wristSize,
thigh: State.variables.thighsSize,
knee: State.variables.kneeSize,
calve: State.variables.calveSize,
ankle: State.variables.ankleSize,
weight: State.variables.weight
}
});
}
<</script>>
<<else>>
<</if>>
<</linkreplace>>
<br><br>
<</if>>
/* fixed mirror or a random furniture is disappeared - waffle */
<<if $furniture.includes("heavy duty bathroom scale")>>
<<linkreplace "Weigh yourself on your bathroom scale">>
<span class="hidden"><<getMeasurement "weight">></span>
<<set _weight to $weight>>
<<if _weight < 300>>
Stepping on the scale, it takes a while to get to the final weight. <<if _weight > 250>> It groans and sputters under you, the metal and plastic bending here and there. <</if>> When it stops, it indicates you weigh <<getMeasurement "weight">>.
<<else>>
Stepping on the scale you hear the scales groan under your weight. The plastic twists and bends under your feet, and when the display finally lights up, the only thing it says on the display is 'error' before the device is crushed under your weight. Seems you'll have to buy a new one...
<<set $furniture to $furniture.filter(item => !["bathroom scale", "heavy duty bathroom scale"].includes(item))>>
<</if>>
<</linkreplace>>
<br><br>
<<elseif $furniture.includes("bathroom scale")>>
<<linkreplace "Weigh yourself on your bathroom scale">>
<span class="hidden"><<getMeasurement "weight" false>></span>
<<set _weight to $weight>>
<<if _weight < 120>>
Stepping on the scale, it takes a while to get to the final weight. <<if _weight > 90>> It groans and sputters under you, the metal and plastic bending here and there. <</if>> When it stops it indicates your weigh <<getMeasurement "weight">>.
<<else>>
Stepping on the scale you hear the scales groan under your weight. The plastic twists and bends under your feet, and when the display finally lights up, the only thing it says on the display is 'error' before the device is crushed under your weight. Seems like you will have to buy a new one...
<<set $furniture to $furniture.filter(item => item !== "bathroom scale")>>
<</if>>
<</linkreplace>>
<br><br>
<</if>>
<<link "Check your medicine cabinet" "ConsumableInventory">><</link>>
<br><br>
<<link "Check yourself in the mirror" "Mirror">><<addMinutes 1>><</link>>
<br><br>
<<link "Go back" "Home">><</link>><<nobr>>
<<widget "tongueDescription">>
<<set $tempTongueLower to Math.round(($tongueLenght + 8 )* $heightMod)>>
<<set $tempTongueUpper to Math.round(($tongueLenght + 10 )* $heightMod)>>
<<if $measurementSystem is "imperial">>
<<set $tempTongueLower -= 2>>
<<set $tempTongueUpper += 2>>
<</if>>
<<if $tongueLenght < 0>><<set $tongueLenght to 0>><</if>>
<<if $tongueLenght <= 0>>
<<elseif $tongueLenght <= 1>>
When you open your mouth, you take a look at your longer than average tongue. You estimate it to be around <<numeralConversion $tempTongueLower>> long. You might be able to touch your nose with it!
<<elseif $tongueLenght <= 2>>
When you open your mouth, you take a look at your long tongue. You estimate it to be between <<numeralConversion $tempTongueLower>> and <<numeralConversion $tempTongueUpper>> long. You are easily able to touch your nose and chin with it!
<<elseif $tongueLenght <= 4>>
When you open your mouth, you take a look at your incredibly long tongue. You estimate it to be between <<numeralConversion $tempTongueLower>> and <<numeralConversion $tempTongueUpper>> long. You can easily reach your eyebrows with it, as well as the bottom of a jar of peanut butter. Not that you would ever do that...
<<elseif $tongueLenght <= 6>>
When you open your mouth, you take a look at your inhumanly long tongue. You estimate it to be between <<numeralConversion $tempTongueLower>> and <<numeralConversion $tempTongueUpper>> long! You have no idea how it fits in your mouth or how you can still speak normally with it, but why not enjoy it? There's plenty of things you can imagine doing with a tongue this long. You do have to watch out that it doesn't roll out of your mouth and freaks others out when you yawn, though, fun as it might be.
<<else>>
When you open your mouth, you take a look at your ridiculously long tongue. It snakes out of your mouth, ending between <<numeralConversion $tempTongueLower>> and <<numeralConversion $tempTongueUpper>> long! There's so much you can do with a tongue this long and sensitive, you'd wish everyone had one! You do have to watch out that it doesn't roll out of your mouth and freaks others out when you yawn, though...
<</if>>
<</widget>>
<</nobr>><<nobr>><<include BodyTypeUpgrade>><</nobr>>
<<fullBody>>
<<bodyDescription>>
<<link "That's enough for now." "Bathroom">><</link>><<nobr>>
<<widget "breastCupDescriptors">>
<<if $_breastsRandomized <= 8>>AA-cup
<<elseif $_breastsRandomized <= 12>>A-cup
<<elseif $_breastsRandomized <= 16>>B-cup
<<elseif $_breastsRandomized <= 20>>C-cup
<<elseif $_breastsRandomized <= 24>>D-cup
<<elseif $_breastsRandomized <= 28>>E-cup
<<elseif $_breastsRandomized <= 32>>F-cup
<<elseif $_breastsRandomized <= 36>>G-cup
<<elseif $_breastsRandomized <= 40>>H-cup
<<elseif $_breastsRandomized <= 44>>I-cup
<<elseif $_breastsRandomized <= 48>>J-cup
<<elseif $_breastsRandomized <= 52>>K-cup
<<elseif $_breastsRandomized <= 56>>L-cup
<<elseif $_breastsRandomized <= 60>>M-cup
<<elseif $_breastsRandomized <= 64>>N-cup
<<elseif $_breastsRandomized <= 68>>O-cup
<<elseif $_breastsRandomized <= 72>>P-cup
<<elseif $_breastsRandomized <= 76>>Q-cup
<<elseif $_breastsRandomized <= 80>>R-cup
<<else>>un-measurable
<</if>>
<</widget>>
<</nobr>><<nobr>>
<<widget "BreastsWeightDescription">>
<<if $_breastsRandomized >= ($muscle + 20 * $strengthMod)>>Your gigantic breasts have gotten so large you are completely immobilized by them...
<<elseif $_breastsRandomized >= ($muscle + 40 * $strengthMod)>>You're barely able to carry the weight of your breast! They're gotten so incredibly heavy that soon you won't be able to walk around with them anymore!
<<elseif $_breastsRandomized >= ($muscle + 10 * $strengthMod)>>The weight of your breasts is almost constantly on your mind as they feel incredibly heavy! You try to rest them on something whenever you can, happy to have that relief, if only momentarily.
<<elseif $_breastsRandomized >= ($muscle + 5 * $strengthMod)>>Your breasts weight quite a lot, and you're happy when you can give your back some rest at the end of the day. Maybe some exercises could help strengthen your back?
<<elseif $_breastsRandomized >= ($muscle * $strengthMod)>> You do feel the weight of your breasts from time to time, especially when you are physically active. Nothing a bit of care can't fix!
<</if>>
<</widget>>
<</nobr>><<include BodyTypeUpgrade>>
<<include questCompleteChecks>>
<<include logFlavorMessages>>
<<include NpcFrameUpdate>>
/* Randomized generic NPC */
<<script>>
var randomIcons = ["https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Art%20assets/Npc/Random_male.png", "https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Art%20assets/Npc/Random_male2.png","https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Art%20assets/Npc/Random_male.png", "https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Art%20assets/Npc/Random_male2.png"];
document.documentElement.style.setProperty('--randoIcon', 'URL("' + randomIcons[Math.floor(Math.random() * randomIcons.length)] + '")');
<</script>>
<<set $heightMod to ($height/150)>>
<<set $topSize to $muscle + $fat + $breasts>>
<<set $bottomSize to $muscle + $fat + $ass>>
<<set $exhaustion to Math.clamp($exhaustion, $minimumExhaustion, $maxExhaustion)>>
<<set $exhaustionPercentage to $exhaustion / $maxExhaustion>>
<<set $motivation to Math.clamp($motivation, 0, $maxMotivation)>>
<<set $motivationPercentage to $motivation / $maxMotivation>>
/* Skill Upgrades */
<<for _i to 0; _i < $skills.length; _i ++>>
<<capture _i>>
<<if $skills[_i].experience >= 50>>
<<if $skills[_i].level < 1>>
<<set $skillIndexGained to _i>>
<<include "skillLevelGained">>
<</if>>
<</if>>
<<if $skills[_i].experience >= 150>>
<<if $skills[_i].level < 2>>
<<set $skillIndexGained to _i>>
<<include "skillLevelGained">>
<</if>>
<</if>>
<<if $skills[_i].experience >= 350>>
<<if $skills[_i].level < 3>>
<<set $skillIndexGained to _i>>
<<include "skillLevelGained">>
<</if>>
<</if>>
<<if $skills[_i].experience >= 600>>
<<if $skills[_i].level < 4>>
<<set $skillIndexGained to _i>>
<<include "skillLevelGained">>
<</if>>
<</if>>
<</capture>>
<</for>>
<<if $lactationSetting>>
<<set $milkCapacity to ((($breasts + $fatBreastsMod) * $heightMod))>>
<<if $lactationUnlockedPoints >= setup.balance.lactationTressholdNeeded && $lactationUnlocked != true>>
<<set $lactationUnlocked to true>>
<<set $milkStored to $milkCapacity / 1.5>>
<<set $milkProduction to 1>>
<</if>>
<</if>>
<<if $lactationUnlocked>>
<<set $milkCapacity to ((($breasts + $fatBreastsMod) * $heightMod * $milkCapacityModifier))>>
<<if $milkStored >= $milkCapacity>>
<<set $breastsFullness to "overflowing">>
<<elseif $milkStored >= $milkCapacity * 0.75>>
<<set $breastsFullness to "full">>
<<elseif $milkStored >= $milkCapacity * 0.50>>
<<set $breastsFullness to "filling">>
<<elseif $milkStored >= $milkCapacity * 0.25>>
<<set $breastsFullness to "drained">>
<<else>>
<<set $breastsFullness to "empty">>
<</if>>
<</if>>
<<if $dickDialog>>
<<script>>
if (Dialog.isOpen() == false) {
var dialog = Dialog.setup("What the hell?!");
new Wikifier(dialog, "While you're a bit tired you idly scratch the bulge in your pants. Your eyes go wide open. BULGE?! Shocked, you reach in, finding something new there taking space. Something long and thick and squishy. Hesitantly, you pull down your underwear and are greeted with a new, surprising sight. A penis. You now have a penis. Just to make sure, you reach out, touching it. It almost twitches in response, proving to you it's all too real! It seems you might've taken a few too many 'special' potions. While it does feel weird... well, maybe you could just get used to this...?");
Dialog.open();
State.setVar("$dickDialog", false);
State.setVar("$dickDialogFollowUp", true);
}
<</script>>
<<elseif $dickDialogFollowUp>>
<<set $dickActive to true>>
<<set $dick += $dickStore * 1.2>>
<<set $dickStore -= 1>>
<<set $dickDialog to false>>
<<set $dickDialogFollowUp to false>>
<</if>>
<<if $oldDay != $newDay>>
<<DayUpdate>>
<</if>>
<<if $oldHour != $newHour>>
<<HourUpdate>>
<</if>>
<<set $oldDay to $gameDate.toDateString()>>
<<set $oldHour to $gameDate.getHours()>>
<<if $oldDay is 6 and $gameDate.getDay() is 6>>
/*<<include "WeekUpdate" "hide">>*/
<</if>>
<<script>>
var oldScene = State.variables.currentScene;
if(tags().includes('noReturnDialog') || tags().includes('noEventTrigger'))
{
console.log("FrameUpdate: didn't set new scene");
}
else
{
State.variables.currentScene = State.passage;
console.log('Frameupdate: set new scene from ' + oldScene + ' to ' + State.variables.currentScene);
}
<</script>><<nobr>>
<<widget "HourUpdate">>
<<if $outfit.bonuses().map(bonus => bonus.name).includes('Extra warm')>>
<<addFatSlow -0.1>>
<</if>>
<</widget>>
<</nobr>><<nobr>>
<<widget "BodyTypeDescription">>
<<if $bodyType is "skinny">>
Your body is incredibly skinny, with no definition to speak of. Some people say you could be a model with this, but it almost looks unhealthy.
<<elseif $bodyType is "average">>
Your body is really average, not skinny nor fat. Just average. It doesn't attract much attention, but at least you know you're healthy.
<<elseif $bodyType is "thick">>
Your body is amazingly voluptuous, with some nice curves that are sure to attract attention. A bit thick, but still with a small waist, you got some heft in all the right places!
<<elseif $bodyType is "obese">>
You have an incredibly full-figured body. Some might call it obese, but you just got some extra weight that gives you a nice, rounded figure. And hey, it makes you look damn good!
<<elseif $bodyType is "thin">>
You've got the body of a swimmer, with some nice definition in the right places, and little to no fat. With your abs outlined and even some definition in your shoulders, you certainly look fit!
<<elseif $bodyType is "athletic">>
You've got the body you would expect from a male fitness model, with big, defined muscles and beautiful curves, a physique that many would kill for! Pumped biceps, good wide shoulders, strong legs, and even the occasional vein running here and there! Your body just screams 'I lift'.
<<elseif $bodyType is "strong">>
Your body looks incredibly strong due to the large muscles on display, giving you a big, strong look! Big muscles, covered with some flab, their added size granting you a powerlifter physique. Not bad!
<<elseif $bodyType is "heavy">>
Your body looks incredibly strong, like an off-season bodybuilder! Both your huge muscles and soft layer of fat make you look incredibly strong. You can't help but be proud whenever you flex your thick arms!
<<elseif $bodyType is "bodybuilder">>
If you competed in a bodybuilding show, you'd have a good chance of winning. A thick neck, wide shoulders and huge arms make your torso look big and defined. The relatively thin waist is only a bonus, not to speak of the defined 6-pack you got going!
<<elseif $bodyType is "heroic">>
You have the body of a male superhero! Thick arms,legs and a massive barrel-chest just make you look massive. Buying off-the-rack shirts will be impossible, at least ones that fit your torso. And don't forget your massive lower body, these tree-trunks you call legs are impossible to ignore.
<<elseif $bodyType is "strongman">>
You've got the body of a champion weightlifter, with your incredible strength obvious from both your huge muscles and the thick softness you still have. Though your waist might be a lot thicker than your average bodybuilder, the huge girth gives you plenty of support and means you can lift far more than people expect!
<<elseif $bodyType is "sumowrestler">>
Despite the huge amount of flab on your body, you are still insanely strong, all thanks to the gigantic muscles under there. They might not be at full display, but that doesn't mean you don't know how to use them! With your girth, you sometimes have trouble getting through doors, and let's not ignore the fact your legs are thicker than some people. But under all that flab is amazing strength!
<<elseif $bodyType is "hulk">>
When you look in the mirror, you see a gigantic body, bloated by gigantic muscles that would make even the biggest superhero look small. Biceps the size of your head, shoulders that wouldn't fit through a door and a torso so muscular you feel like you could stop a cruise missile, thick slabs flanking every side! And hell, you've seen full-grown trees thinner than your legs. And yet, there is not an ounce of fat to be seen, every vein and striation clearly displayed in their full glory.
<<elseif $bodyType is "gigantic">>
Your body is inhumanly massive, with muscles that shatter every world record. It barely fits in the mirror, or through doors for that matter. But even at a glance, it's clear how gigantic you've become. From your shelf-like pecs to your thundering legs, every part of you screams 'gigantic'.
<<elseif $bodyType is "monstrous">>
Your body is so incredibly gigantic it's hard to even conceive of your size! Arms as big as a grown man, legs that could shame trees, and a chest that makes seeing your toes a challenge! Beyond that, your gut might be gigantic, but it only adds to your powerful frame. Sure, doors might be a daunting challenge to cross without causing destruction, but with your size and strength, you can just barge through walls.
<</if>>
<</widget>>
<</nobr>><<nobr>>
<<widget "bodyHairDescription">>
<<if $bodyHairMod >=10>> Covering your entire body is a thick layer of coarse, curly fur that someone could easily lose their hands in! Any clothing you wear is puffed up from this thick layer, and sometimes a strand of it shows through. Your arms and chests in particular are completely covered in this <<print $hairColor>> fur.
<<elseif $bodyHairMod >= 8>> Almost all if your body is covered in a thick layer of coarse, <<print $hairColor>> hair. It makes you look very hairy, and anyone could easily stroke it, especially on your stomach and arms.
<<elseif $bodyHairMod >= 6>> A dense layer of body hair covers your skin. Its course and <<print $hairColor>>, covering most of your arms, legs, torso and genitals. It gives you a really wild look!
<<elseif $bodyHairMod >= 4>> An average amount of body hair covers your body. It can look a bit unkempt if you don't maintain it, but it's never too bothersome.
<<elseif $bodyHairMod >= 2>> A thin dusting of body hair covers your body, though it's easily missed. An advantage of this is that you barely have to trim it, should you want to appear clean shaven.
<<else>>
<</if>>
<</widget>>
<</nobr>><<nobr>>
<<widget "heightDescription">>
<<if $height <= 150>>
At <<heighNumeral>> tall, you are really short! People can just look straight over your head and a almost everything is out of reach. Buying clothes is also a hassle, since sometimes you've got more luck looking in the children's section!
<<elseif $height <= 165>>
At <<heighNumeral>> tall, you are pretty short. You are used to being the shortest in the room, or at least one of the shortest. Buying clothes is also a hassle, though most stores will have something your size.
<<elseif $height <= 175>>
At <<heighNumeral>> tall, you are pretty average. It brings no issues to your daily life, but no advantages either.
<<elseif $height <= 185>>
At <<heighNumeral>> tall, you are pretty tall. You often find yourself having to look down a bit to talk to people, but nothing out of the ordinary.
<<elseif $height <= 200>>
At <<heighNumeral>> tall, you are really tall! Most of the time you're the tallest in the room, and people are forced to look up a bit so they can talk to you. Buying clothes is a hassle, however, since few stores carry size that fit you properly.
<<elseif $height <= 230>>
At <<heighNumeral>> tall, you are incredibly tall! You are always the tallest person in the room and people have to crane their necks to even talk to you! At this height, doorways are a constant risk to your forehead. Buying clothes is also a hassle, since only a few online stores even carry decent sizes for your build.
<<elseif $height <= 250>>
At <<heighNumeral>> tall, you are gigantic! You are always easily the tallest person in the room and people have to take a step back to even talk to you! At this height, doorways are a constant issue, as you are forced to duck in order to cross them. And that is when you can even stand up straight in a room! Buying clothes is a major issue, since very few online stores carry anything that will fit.
<<elseif $height <= 300>>
At <<heighNumeral>> tall, you are gigantic! You might just be the tallest living person, if not the tallest person ever. You are always easily the tallest person in the room, with some other barely reaching your stomach! Being indoors is a massive hassle as you can rarely stand up straight, and you basically have to crawl to get through doors. All your clothing now has to be custom-made to even have a chance of fitting!
<<elseif $height <= 350>>
At <<heighNumeral>> tall, you are a true giant! There's no doubt you're the tallest person ever as you tower over everyone, wherever you go. Outside, you are always the center of attention. People want to take pictures of you or just stand in awe of your stature. Some of them don't even reach your hip! Indoors are a massive hassle as you can never stand up straight, and you basically are forced to crawl through doors. All your clothing now must be custom-made, at unprecedented sizes!
<<elseif $height <= 450>>
At <<heighNumeral>> tall, you are a towering giant! Your height is utterly unprecedented, and you are always sure to be the center of attention even at a distance. When you go outside, people stand in awe of you, not sure whether to ask for a picture or hide. At this point, even ordinary "tall" people barely stand taller than your thighs! Being indoors is next to impossible at this juncture, as you can never stand up straight and you have no option but crawl to get through doors. All your clothing now has to be custom-made, and can hardly be recognized as something a person would wear!
<<elseif $height <= 650>>
At <<heighNumeral>> tall, you are a taller than some buildings! Your height is utterly unprecedented, and you're always sure to be the center of attention wherever you go... and its adjacent areas. Ordinary people look at you in awe, having to crane their necks to even understand how tall you are. At this point, they barely reach your knees! You can't go inside anymore as you simply won't fit in constructions anymore. Still, being able to tower over buildings is somewhat of a compensation for that...
<<elseif $height <= 1000>>
At <<heighNumeral>> tall, you tower over everything around! You've been told that people even travel from abroad to see you, with only the bravest of them daring to ask you for a picture! Ordinary people are now barely bigger than your head. You could easily hold one in your hand, if you wanted to! With your towering size you do have to be careful though; you wouldn't want to accidentally damage some buildings, right?
<<elseif $height <= 1500>>
At <<heighNumeral>> tall, you're taller than most buildings in town! Whenever you stroll across the town you see the people running and hiding, with only the bravest daring to get closer. Most of them are not even as tall as your fingers! Even your normal footsteps make buildings shake, and you leave footprints wherever you go, but hey, you still have to enjoy a stroll every now and then, right?
<<elseif $height <= 2000>>
At <<heighNumeral>> tall, you're a true giant of legends! People come from all continents to see the 8th wonder of the world that you've become, though barely anyone dares to come too close. They barely come up to your ankles, and considering how much force a single step of your gigantic feet delivers, you kind of understand why they tend to hide. Still, a bit of damage to some property is worth having you around, right?
<<elseif $height <= 5000>>
At <<heighNumeral>> tall, you are bigger than the protagonists of those cheesy sci-fi movies from the 50s! The entire town has become your playground as most people have either moved away or moved in to gawk at your miraculous height. Nobody even reaches your ankle anymore, yet some of them still approach you, even though your feet could level buildings without you even noticing! After all, it's a bit hard to notice small things like stadiums of that when you are THIS tall.
<<else>>
At <<heighNumeral>> tall, your height no longer makes any sense! You can walk out of the town and not even notice. It feels kind of lonely, actually, as people are no more than ants at this point! Completely detached from your former reality, survival has become somewhat of an issue since your mere nourishment can cause environmental imbalance on a whim. But hey, at least you get a nice massage from lightning when it rains.
<</if>>
<</widget>>
<</nobr>><<nobr>>
<<widget "heightNumeral">>
<<if $measurementSystem is "imperial">>
<<set $heightInchesTotal to Math.round($height * 0.3937007874)>>
<<set $heightFeet to Math.floor($heightInchesTotal / 12)>>
<<set $heightInches to ($heightInchesTotal - ($heightFeet * 12))>>
<<print $heightFeet>>'<<print $heightInches>>"
<<elseif $measurementSystem is "metric">>
<<print Number(($height / 100).toFixed(2))>> meter
<</if>>
<</widget>>
<</nobr>><<nobr>>
<<widget "numeralConversion">>
<<set _test1 to $args[0]>>
<<set _test to $args[1]>>
<<if $measurementSystem is "imperial">>
<<if $args[0] >= 30 and $args[1] != true>>
<<set $tempFeet to Math.floor(($args[0] * 0.3937007874)/12)>>
<<set $tempInches to Math.round(($args[0] * 0.3937007874) - ($tempFeet * 12))>>
<<print $tempFeet>>'<<print $tempInches>>"
<<else>>
<<print Math.round($args[0] * 0.3937007874)>>"
<</if>>
<<elseif $measurementSystem is "metric">>
<<if $args[0] >= 100 and $args[1] != true>>
<<print Number(($args[0] / 100).toFixed(2))>> meter
<<else>>
<<print Math.round($args[0])>> cm
<</if>>
<</if>>
<</widget>>
<</nobr>><<nobr>>
<<widget "bodyDescription">>
<<BodyTypeDescription>> <<bodyHairDescription>> <<heightDescription>><<outfitDescription>>
<br><br>
<<headDescription>>
<br><br>
<<upperBodyDescription>>
<br><br>
<<lowerBodyDescription>>
<</widget>>
<</nobr>><<nobr>>
<<widget "headDescription">>
<<if $gender <= 10>>Your face is extremely feminine with sharp, beautiful curves. Piercing <<print $eyeColor>> eyes with long eyelashes are sure to draw in attention while your <<lipsDescription>> lips make you look only more amazing.
<<elseif $gender <= 20>>Your face is very feminine with soft, beautiful curves. Bright <<print $eyeColor>> eyes with long eyelashes are sure to draw in attention while your <<lipsDescription>> lips complete the look.
<<elseif $gender <= 30>>Your face is very pretty and feminine, with nice curves and nice proportions. Nice <<print $eyeColor>> eyes with long eyelashes are sure to draw in attention while your <<lipsDescription>> lips complete the look.
<<elseif $gender <= 40>>Your tomboyish face gives you a confident look. Bright <<print $eyeColor>> eyes with decent eyelashes and <<lipsDescription>> lips make you look feminine, while the overall contours of your head make you look a bit masculine.
<<elseif $gender <= 50>>Your tomboyish face is always nice to see. Bright <<print $eyeColor>> eyes with decent eyelashes and <<lipsDescription>> lips make you look feminine, while the overall contours of your head make you look more masculine.
<<elseif $gender <= 60>>Your boyish face is masculine, but with a clear feminine touch to it. Sharp <<print $eyeColor>> eyes and a decent jawline contrast with your softer nose and <<lipsDescription>> lips.
<<elseif $gender <= 70>>You have a manly face with a sharp jawline and clear <<print $eyeColor>> eyes. A full nose and <<lipsDescription>> lips compliment your overall look.
<<elseif $gender <= 80>>Your very masculine face wouldn't be misplaced on a magazine cover. Radiating, <<print $eyeColor>> eyes draw a lot of looks and your broad, sharp jaw make a lot of people jealous. Even when you shave you seem to have a bit of a stubble and even your <<lipsDescription>> lips compliment your overall look.
<<else>>Your extremely masculine face is the epitome of manliness; radiating, <<print $eyeColor>> eyes draw a lot of looks and your broad, sharp jaw make a lot of people jealous. Even when you shave you seem to have a bit of a stubble and your <<lipsDescription>> lips compliment your overall look.
<</if>> <<tongueDescription>>
<</widget>>
<</nobr>><<nobr>>
<<widget "lipsDescription">>
<<if $lips < 0>><<set $lips to 0>><</if>>
<<if $lips <= 0>>thin
<<elseif $lips <= 1>>average
<<elseif $lips <= 2>>plump
<<elseif $lips <= 3>>kissable
<<elseif $lips <= 4>>sensual
<<elseif $lips <= 5>>thick
<<elseif $lips <= 6>>incredibly full
<<else>>huge
<</if>>
<</widget>>
<</nobr>><<nobr>>
<<widget "hipDescription">>
<<if $hips < 0>><<set $hips to 0>><</if>>
<<if $hips <= 0>>boyish
<<elseif $hips <= 1>>slender
<<elseif $hips <= 2>>well-formed
<<elseif $hips <= 3>>curvy
<<elseif $hips <= 4>>girly
<<elseif $hips <= 5>>womanly
<<elseif $hips <= 6>>childbearing
<<elseif $hips <= 7>>impossibly wide
<<elseif $hips <= 8>>brood-mother
<<else>>door-straining
<</if>>
<</widget>>
<</nobr>><<nobr>>
<<widget "assDescription">>
<<if $ass < 0>><<set $ass to 0>><</if>>
<<if $ass <= 0>>petite
<<elseif $ass <= 1>>compact
<<elseif $ass <= 2>>average
<<elseif $ass <= 3>>shapely
<<elseif $ass <= 4>>heart-shaped
<<elseif $ass <= 5>>voluminous
<<elseif $ass <= 6>>huge
<<elseif $ass <= 7>>pants-straining
<<else>>gigantic
<</if>>
<</widget>>
<</nobr>><<set _day to $gameDate.getDay()>>
<<gameLink "Go visit the gym" "gym" time:20>><</gameLink>>
<br><br>
<<gameLink "Go Jogging" "Jogging" time:60 minExhaustion:20 exhaustion:30 motivation:20>><<set $eventCounter to setup.balance.eventTresshold + 1>><</gameLink>>
<br><br>
<<gameLink "Go visit the park" "park" time:10>><<set $eventCounter to setup.balance.eventTresshold + 1>><</gameLink>>
<br><br>
<<gameLink "Go visit the shopping center" "ShoppingCenter" time:30>><</gameLink>>
<br><br>
<<if $gameDate.getHours() <= 23 and $gameDate.getHours() >= 11>><<if $johanVisited is false or $debug is "true">><<gameLink "Go visit Johan " "JohanHome" time:20>><<set $eventCounter to setup.balance.eventTresshold + 1>><</gameLink>><<else>>Johan probably won't be home right now<br><br><</if>><br><br><</if>>
<<if $elenaDate1 is true && $elenaDate1Finished != true>>
<<if $gameDate.getHours() >= 16 and $gameDate.getHours() <= 19>>
<<link "Go on the date with Elena" "ElenaDateStart">><<set $elenaDate1Finished to true>><</link>><br>
<</if>>
<</if>>
<<if $elenaDateTwoDate != undefined && $elenaDate2Finished != true>>
<<if $gameDate.getHours() >= 9 and $gameDate.getHours() <= 11>>
<<link "Go on the second date with Elena" "ElenaDate2Start">><<set $elenaDate2Finished to true>><</link>><br>
<</if>>
<</if>>
<<if $krisDate1 is true && $krisDate1Finished != true>>
<<if $gameDate.getHours() >= 16 and $gameDate.getHours() <= 19>>
<<link "Go on the date with Kris" "KrisDateStart">><<set $krisDate1Finished to true>><</link>><br>
<</if>>
<</if>>
<<if $jobInterview and $jobInterviewOver is false>>
<<if $gameDate.getDate() is $jobInterviewDate.getDate()>>
<<if $gameDate.getHours() <= 15 and $gameDate.getHours() >= 13>>
<<link "Go to the office for your job interview" "office">><</link>><br><br>
<<else>>
You know where your job interview will be in a few days. It's probably best to leave between 13:00 and 14:00 for it on <<print $jobInterviewDate.toLocaleString("en-US", { weekday: 'long', month: 'short', day: 'numeric', year: 'numeric' } )>>.
<br><br>
<</if>>
<<else>>
You know where your job interview will be in a few days. It's probably best to leave between 13:00 and 14:00 for it on <<print $jobInterviewDate.toLocaleString("en-US", { weekday: 'long', month: 'short', day: 'numeric', year: 'numeric' } )>>.
<br><br>
<</if>>
<<elseif $jobOffice and !$officeFired>>
<<if $gameDate.getHours() <= 16 and $gameDate.getHours() >= 8>>
<<if _day >= 1 and _day <= 4>>
<<gameLink "Go to the office" "office" time:20>><</gameLink>><br><br>
<<else>>
You don't have to work today! Time to just enjoy yourself.<br><br>
<</if>>
<<else>>
The office is closed right now.<br><br>
<</if>>
<</if>>
<<link "return" "Home">><<>><</link>>This place was clearly built with a purpose in mind. Brick walls and a concrete floor are littered with some small windows at the top, and fluorescent lights humming above.
The large single room that comprises most of the building is lined with rows and rows of weightlifting equipment. Squat cages stand against one wall. A dumbbell rack lines another, ranging from five-pounders to some truly gawk-inducing sizes. Throughout the middle are a variety of benches, weight racks, and many other exercise devices. Among them are leg press machines, pull-up bars, and some angled benches designed for core workouts. The gym is mostly empty at the moment. A small handful of people are working through their own routines, headphones in, minding their own business.
<br><br>
The gym offers several options; you can either get a one-time workout for a set fee, pay for a weekly subscription, or have a protein shake at the bar.
<br><br>
<<workoutLink "gym">>
<br><br>
<<if $money > 5>>
<<linkreplace "Get a shake at the bar ($5) - 00:10 🕛">>
At the bar, you order the ProTein Supplement Deluxe shake™, though you'd be forgiven for thinking someone dumped solid concrete in the cup. Still, they assure you it contains everything you need to optimize your workouts and gains (or GAINZ!!!, as the cup states).
<<set $exhaustionWorkoutMod -= 0.1>>
<<set $muscleGrowthMaxTemp += 0.35>>
<<set $muscleGrowthMod += 0.2>>
<<addMinutes 10>>
<</linkreplace>>
<<else>>
You can't afford a shake at the bar right now.
<</if>>
<br><br>
<<if $gameDate.getHours() <= 24 and $gameDate.getHours() >= 20>><<if $elenaVisited is false and $elenashyVisited is false or $debug is "true">><<link "Speak to the massive girl." "ElenaGym">><<set $eventCounter to setup.balance.eventTresshold + 1>><</link>><<else>>Best not to disturb that big girl again...<br><br><</if>><br><br><</if>>
<<link "Go home" "Home">><<addMinutes 20>><</link>>
<<if $muscle >= 50 && $elenaOpinion >= 4 && $shyConfident >= 0>>
<<set $elenaOpenedUp to true>>
<</if>><<nobr>>
<<widget "addMinutes">>
<<set _timeTemp to $args[0]>>
<<if $args.length > 1>>
<<set _sleepTemp to $args[1]>>
<<else>>
<<set _sleepTemp to false>>
<</if>>
<<script>>
var time = State.temporary.timeTemp;
var sleepMode = State.temporary.sleepTemp;
var oldDate = State.variables.gameDate.toDateString();
var oldHour = State.variables.gameDate.getHours();
var variance = Math.floor(Math.random() * 21);
var timeRandomFactor = Math.round(time * ((90 + variance) / 100));
State.variables.gameDate.setMinutes(State.variables.gameDate.getMinutes() + (timeRandomFactor));
var newDate = State.variables.gameDate.toDateString();
var newHour = State.variables.gameDate.getHours();
if (sleepMode) { }
else {
State.variables.hoursAwake += time / 60;
}
var sleepExhaustion = 0;
if (State.variables.hoursAwake >= setup.balance.startExhaustionAtHoursAwake) {
sleepExhaustion = Math.pow((State.variables.hoursAwake - setup.balance.startExhaustionAtHoursAwake), setup.balance.hourlyExhaustionTax);
State.variables.minimumExhaustion = State.variables.addedMinimumExhaustion + sleepExhaustion;
if (State.variables.minimumExhaustion < 0) {
State.variables.minimumExhaustion = 0;
} else if (State.variables.minimumExhaustion > 100) {
State.variables.minimumExhaustion = 100
}
} else {
State.variables.minimumExhaustion = State.variables.addedMinimumExhaustion
}
State.variables.newDay = State.variables.gameDate.toDateString();
State.variables.newHour = State.variables.gameDate.getHours();
<</script>>
<</widget>>
<</nobr>><<nobr>>
<<widget "gotoSleep">>
<</widget>>
<</nobr>><<nobr>>
<<widget "dickDescription">>
<<if $futa>>
<<set $tempDick to $dick * $heightMod>>
<<set $tempDickGirth to Math.round($dickGirthMod * $tempDick)>>
<<set $tempDickGirthErect to Math.round($tempDickGirth * (1 + ($dickErectionMod / 4)))>>
<<set $tempDickErect to Math.round($dickErectionMod * $tempDick)>>
<<if $dick <=2>>
<<elseif $dick <=4>>
Your penis looks incredibly small, at only <<numeralConversion $tempDick>> long when flaccid.
<<elseif ($dick * $heightMod) <=8>>
Your penis looks surprisingly small, at only <<numeralConversion $tempDick>> long when flaccid.
<<elseif $dick <=10>>
You have a decent penis at <<numeralConversion $tempDick>> long when flaccid.
<<elseif $dick <=14>>
You have a pretty big penis, at <<numeralConversion $tempDick>> long when flaccid! When it is erect, it shows a bit of a bulge - which you have to be mindful of.
<<elseif $dick <=18>>
Your <<numeralConversion $tempDick>> long flaccid penis feels pretty hefty to you. If you're not mindful of the clothes you buy, it can result in a pretty clear bulge, though that's not really an issue, right?
<<elseif $dick <=22>>
Your <<numeralConversion $tempDick>> long flaccid penis looks gigantic on you! No matter the clothing you buy, there will always be a significant bulge that leaves nothing to the imagination.
<<elseif $dick <=35>>
Your <<numeralConversion $tempDick>> long flaccid penis looks more like it belongs on a horse than on you! No matter what you wear, an enormous bulge that leaves nothing to the imagination will be on display, even if you find clothing that can accommodate your considerable meat.
<<elseif $dick <=50>>
Your <<numeralConversion $tempDick>> long flaccid penis easily dangles past your knees! No matter what you wear, that gigantic bulge will leave nothing to the imagination, even if you find clothing that can accommodate your sizeable meat.
<<elseif $dick <=80>>
Your <<numeralConversion $tempDick>> long flaccid penis almost reaches the ground and looks completely inhumane to you! It's useless trying to buy clothing for it now, since it simply won't fit any article you are able to buy.
<<else>>
Your <<numeralConversion $tempDick>> long flaccid penis now constantly drags across the ground if you don't actively lift if up. Normally, you'd buy underwear for this, but you're not sure it would even be practical!
<</if>>
<<if $dickErectionMod <= 1.4>>
When your penis gets erect, it becomes <<numeralConversion $tempDickErect>> long; it's clear you're a shower, not a grower.
<<elseif $dickErectionMod <= 1.6>>
When your penis gets erect it becomes <<numeralConversion $tempDickErect>> long.
<<elseif $dickErectionMod <= 1.8>>
When your penis gets erect, it becomes a pretty impressive <<numeralConversion $tempDickErect>> long; it's clear you're a shower!
<<elseif $dickErectionMod <= 2>>
When your penis gets erect, it just keeps getting bigger, not stopping until it reaches well over <<numeralConversion $tempDickErect>> long. It's hard to believe an erection can pump it so big!
<<else>>
When your penis gets erect, it just keeps going and going, not stopping until it reaches an unbelievable <<numeralConversion $tempDickErect>> long! It's incredibly veiny, every pump making it rise higher and higher!
<</if>>
<<if $dickGirthMod <= 0.8>>
It's surprisingly thin, though, with a girth of <<numeralConversion $tempDickGirth>> when soft and <<numeralConversion $tempDickGirthErect>> when hard.
<<elseif $dickGirthMod <= 0.9>>
Its girth is average at <<numeralConversion $tempDickGirth>> when soft, and <<numeralConversion $tempDickGirthErect>> when hard, which is pretty good.
<<elseif $dickGirthMod <= 1>>
Its girth is fairly impressive at <<numeralConversion $tempDickGirth>> when soft, and <<numeralConversion $tempDickGirthErect>> when hard, making it thicker than most dicks this size.
<<elseif $dickGirthMod <= 1.5>>
Its girth is incredible at <<numeralConversion $tempDickGirth>> when soft, and <<numeralConversion $tempDickGirthErect>> when hard, making it an incredibly thick log!
<<else>>
Its girth is humongous at <<numeralConversion $tempDickGirth>> when soft, and <<numeralConversion $tempDickGirthErect>> when hard, making it look almost disproportional!
<</if>>
<<if $tempDickErect <= 25>>
<<elseif $tempDickErect <= 30>>
With your length, you might need to watch out a bit with your partners, as you're certainly on the bigger side.
<<elseif $tempDickErect <= 35>>
With your length, you need to watch out a bit with your partners, as your huge rod could easily be too much for some people!
<<elseif $tempDickErect <= 40>>
Finding partners that can take your entire length will be almost impossible, and even then it'll take a huge amount of foreplay and care from you to not hurt them!
<<else>>
Finding a partner that can take this entire dick will be completely impossible!
<</if>>
<<if $tempDickGirthErect <= 20>>
<<elseif $tempDickGirthErect <= 25>>
Though with your girth it might take a little extra work to get it in... it will surely be more rewarding in the end!
<<elseif $tempDickGirthErect <= 30>>
Though with your girth it might take a little extra work to get it in... some people might actually be concerned at first sight!
<<elseif $tempDickGirthErect <= 35>>
Your girth you will require considerable work to make it into even the biggest size-lovers! It's simply too thick for almost anyone!
<<elseif $tempDickGirthErect <= 75>>
With your girth it'll be impossible to find anyone that can properly take you in, as it is literally too thick!
<<else>>
With your oversized girth, it'll be impossible to find anyone that can properly accommodate you, as it is just too thick! Hell, your glans is bigger than people's heads!
<</if>>
<</if>>
<<if $dick + $balls < 4>>
Below your dick are two tiny testicles. They're almost lost beneath your dick, yet they're there.
<<elseif $dick + $balls < 10>>
Below your dick are a few of fairly average testicles. While their presence still confuses you, at least they make a nice pair!
<<elseif $dick + $balls < 15>>
Below your dick are two big balls, no other way of putting it. They got some real heft to them, lifting your dick a bit, making your bulge even more noticeable.
<<elseif $dick + $balls < 20>>
There is no denying: below your dick are two VERY big and hefty balls. They move and sway with every step and push your dick out a lot, giving you a humongous bulge. And they're sensitive too!
<<elseif $dick + $balls < 30>>
Below your dick are huge, heavy balls. They move and sway with every step, and push your dick out a lot, giving you a gigantic bulge. It's almost impossible to hide them, and given how sensitive they are...
<<elseif $dick + $balls < 40>>
Below your dick are gigantic bowling balls, fighting for space. They move and sway with every step, and push your dick out a lot, giving you a ridiculous bulge. Every time you move your legs, they get pushed out, almost like you're showing off. It's almost impossible to hide them, and given how sensitive they are...
<<elseif $dick + $balls < 50>>
Below your dick are two monstrous testicles, fighting for space. With every step, they are pushed aside, only to come swinging back. They are covered in veins and constantly shifting. It's downright hypnotic! It is impossible to hide them, and given how sensitive they are...
<<elseif $dick + $balls < 60>>
Below your dick are two monstrous testicles, fighting for space. With every step, they are pushed aside, only to come swinging back. They are covered in veins and constantly shifting, enough to be almost audible. It's downright hypnotic! They hang well below your knees, absurd as it may seem. It is impossible to hide them, and given how sensitive they are...
<<elseif $dick + $balls < 70>>
Below your dick are two monstrous testicles, fighting for space. With every step, they are pushed aside, only to come swinging back. They are covered in veins and constantly shifting, enough to be almost audible. It's downright hypnotic! They hang well below your calves, absurd as it may seem. It is impossible to hide them, and given how sensitive they are...
<<else>>
Below your dick are two monstrous testicles, fighting for space. With every step, they are pushed aside, only to come swinging back. They are covered in veins and constantly shifting, enough to be almost audible. It's downright hypnotic! They drag on the ground, forcing you to lift them up as you walk, it's simply absurd. It is impossible to hide them, and given how sensitive they are...
<</if>>
<</widget>>
<</nobr>><<nobr>>
In Summer Growth, you guide your character through a summer filled with strange happenings and growth, as she tries to find the creator of the experiment she accidentally drank. As time passes, she will have to manage her rate of growth and adapt to everyday life as she does so.
<br><br>
The goal of the game is to keep up with your growing body and make the best of it. As this is a beta, there are very few endings.
<br><br>
<<link "New Game" "startSettings">><<set $gameStarted to true>><</link>><br><br>
<</nobr>>
<<nobr>>
<<set $difficulty to "medium">>
<<set $growthMod to 1>>
<<set $muscleGrowthStyle to "Fantasy">>
<<set $measurementSystem to "imperial">>
<<set $iconSize to "125px">>
<<set $debug to false>>
<<set $futa to false>>
<</nobr>>[[Return|$return]]<<link "Goto event testing" "eventTesting">><<goto eventTesting>><</link>>
<table id="store">
<tr>
<th></th>
<th></th>
<th></th>
<th></th>
<th></th>
</tr>
<tr>
<td>Stats</td>
<td><<link "Add motivation" "Cheats">><<set $motivation to 100>><</link>></td>
<td><<link "remove exhaustion" "Cheats">><<set $exhaustion to 0>><</link>></td>
<td><<link "add exhaustion" "Cheats">><<set $exhaustion to $maxExhaustion>><</link>></td>
<td><<link "Add money" "Cheats">><<set $money += 500>><</link>></td>
</tr>
<tr>
<td>Muscle</td>
<td><<link "Muscle +20" "Cheats">><<set $muscle += 20>><</link>></td>
<td><<link "Muscle -20" "Cheats">><<set $muscle -= 20>><</link>></td>
<td><<link "Muscle +5" "Cheats">><<set $muscle += 5>><</link>></td>
<td><<link "Muscle -5" "Cheats">><<set $muscle -= 5>><</link>></td>
</tr>
<tr>
<td>Height</td>
<td><<link "Height +100" "Cheats">><<set $height += 100>><</link>></td>
<td><<link "Height +5" "Cheats">><<set $height += 5>><</link>></td>
<td><<link "Height -5" "Cheats">><<set $height -= 5>><</link>></td>
<td><<link "Height -100" "Cheats">><<set $height -= 100>><</link>></td>
</tr>
<tr>
<td>Fat</td>
<td><<link "Fat +20" "Cheats">><<set $fat += 20>><</link>></td>
<td><<link "Fat +5" "Cheats">><<set $fat += 5>><</link>></td>
<td><<link "Fat -5" "Cheats">><<set $fat -= 5>><</link>></td>
<td><<link "Fat -20" "Cheats">><<set $fat -= 20>><</link>></td>
</tr>
<tr>
<td>Bodyhair</td>
<td><<link "Bodyhair +" "Cheats">><<set $bodyHairMod += 1>><</link>></td>
<td><<link "Bodyhair +" "Cheats">><<set $bodyHairMod += 1>><</link>></td>
<td></td>
<td></td>
</tr>
<tr>
<td>Breasts</td>
<td><<link "Breasts +5" "Cheats">><<set $breasts += 5>><</link>></td>
<td><<link "Breasts -5" "Cheats">><<set $breasts -= 5>><</link>></td>
<td><<link "Breasts +20" "Cheats">><<set $breasts += 20>><</link>></td>
<td><<link "Breasts -20" "Cheats">><<set $breasts -= 20>><</link>></td>
</tr>
<tr>
<td>Dick</td>
<td><<link "dick +10" "Cheats">><<set $dick += 10>><</link>></td>
<td><<link "dick +1" "Cheats">><<set $dick += 1>><</link>></td>
<td><<link "dick -1" "Cheats">><<set $dick -= 1>><</link>></td>
<td><<link "dick -10" "Cheats">><<set $dick -= 10>><</link>></td>
</tr>
<tr>
<td>Dick girth</td>
<td><<link "girth +1" "Cheats">><<set $dickGirthMod += 0.1>><</link>></td>
<td><<link "girth -1" "Cheats">><<set $dickGirthMod -= 0.1>><</link>></td>
<td><<link "girth +5" "Cheats">><<set $dickGirthMod += 0.5>><</link>></td>
<td><<link "girth +5" "Cheats">><<set $dickGirthMod += 0.5>><</link>></td>
</tr>
<tr>
<td>Dick Erection</td>
<td><<link "erect +1" "Cheats">><<set $dickErectionMod += 0.1>><</link>></td>
<td><<link "erect -1" "Cheats">><<set $dickErectionMod -= 0.1>><</link>></td>
<td><<link "erect +5" "Cheats">><<set $dickErectionMod += 0.5>><</link>></td>
<td><<link "erect -5" "Cheats">><<set $dickErectionMod -= 0.5>><</link>></td>
</tr>
<tr>
<td>Tongue</td>
<td><<link "Tongue +1" "Cheats">><<set $tongueLenght += 1>><</link>></td>
<td><<link "Tongue -1" "Cheats">><<set $tongueLenght -= 1>><</link>></td>
<td><<link "Tongue +10" "Cheats">><<set $tongueLenght += 10>><</link>></td>
<td><<link "Tongue -10" "Cheats">><<set $tongueLenght -= 10>><</link>></td>
</tr>
<tr>
<td>lips</td>
<td><<link "Lips +1" "Cheats">><<set $lips += 1>><</link>></td>
<td><<link "Lips -1" "Cheats">><<set $lips -= 1>><</link>></td>
<td></td>
<td></td>
</tr>
<tr>
<td>Hips & Ass</td>
<td><<link "hips +1" "Cheats">><<set $hips += 1>><</link>></td>
<td><<link "hips -1" "Cheats">><<set $hips -= 1>><</link>></td>
<td><<link "ass +1" "Cheats">><<set $ass += 1>><</link>></td>
<td><<link "ass -1" "Cheats">><<set $ass -= 1>><</link>></td>
</tr>
<tr>
<td>personality</td>
<td><<link "confidence +1" "Cheats">><<set $shyConfident += 1>><</link>></td>
<td><<link "shyness + 1" "Cheats">><<set $shyConfident -= 1>><</link>></td>
<td><<link "carefree +1" "Cheats">><<set $carefreeCarefull -= 1>><</link>></td>
<td><<link "Carefull +1" "Cheats">><<set $carefreeCarefull += 1>><</link>></td>
</tr>
<tr>
<td>personality</td>
<td><<link "submissive +1" "Cheats">><<set $submissiveDominant -= 1>><</link>></td>
<td><<link "dominant + 1" "Cheats">><<set $submissiveDominant += 1>><</link>></td>
<td></td>
<td></td>
</tr>
<tr>
<td>skills</td>
<td><<link "working out" "Cheats">><<skillIncrease "Working out" 100>><</link>></td>
<td><<link "book keeping" "Cheats">><<skillIncrease "Book keeping" 100>><</link>></td>
<td><<link "refreshClothes" "Cheats">><<include "InitializeClothes">><</link>></td>
<td></td>
</tr>
<tr>
<td>dates</td>
<td><<link "johan first date" "johanDate1.1">><</link>></td>
<td><<link "Trigger sewing tutorial" "Cheats">><<set $simonOpinion += 40>><</link>></td>
<td><<link "add 10 fabric""Cheats">><<set $fabric += 10>><</link>></td>
<td><<link "Elena first date" "ElenaDateStart">><</link>></td>
</tr>
<td>General</td>
<td><<link "Reset stores" "Cheats">><<include "StoreRefresh">><</link>></td>
<td><<link "Get the office job" "Cheats">><<set $job to true>><<set $jobOffice to true>><</link>><<link "Go home" "Home">><</link>></td>
<td><<link "refreshClothes" "Cheats">><<include "InitializeClothes">><</link>></td>
<td></td>
<tr>
<td>personality</td>
<td><<link "confidence +1" "Cheats">><<set $shyConfident += 1>><</link>></td>
<td><<link "shyness + 1" "Cheats">><<set $shyConfident -= 1>><</link>></td>
<td><<link "carefree +1" "Cheats">><<set $carefreeCarefull -= 1>><</link>></td>
<td><<link "Carefull +1" "Cheats">><<set $carefreeCarefull += 1>><</link>></td>
</tr>
<tr>
<td>Lactation</td>
<td><<link "enable lactation" "Cheats">><<set $lactationUnlocked to true>><</link>></td>
<td><<link "Fill breasts" "Cheats">><<set $milkStored to $milkCapacity>><</link>></td>
<td></td>
<td></td>
</tr>
<tr>
</table>
[[Return|$return]]<<set _oldBodyType to $bodyType>>
<<if $muscle <= 20>>
<<if $fat <= 20>> <<set $bodyType to "skinny">>
<<script>>
document.documentElement.style.setProperty('--mcIcon', 'URL("https://i.imgur.com/i5qqYTk.png")');
<</script>>
<<elseif $fat <= 40>> <<set $bodyType to "average">>
<<script>>
document.documentElement.style.setProperty('--mcIcon', 'URL("https://i.imgur.com/jHO7pC7.png")');
<</script>>
<<elseif $fat <= 60>> <<set $bodyType to "thick">>
<<script>>
document.documentElement.style.setProperty('--mcIcon', 'URL("https://i.imgur.com/It9RIWK.png")');
<</script>>
<<elseif $fat <= 80>> <<set $bodyType to "fat">>
<<script>>
document.documentElement.style.setProperty('--mcIcon', 'URL("https://i.imgur.com/FabEhol.png")');
<</script>>
<<elseif $fat <= 100>> <<set $bodyType to "obese">>
<<script>>
document.documentElement.style.setProperty('--mcIcon', 'URL("https://i.imgur.com/dGY5m1n.png")');
<</script>>
<</if>>
<<elseif $muscle <= 40>>
<<if $fat <= 20>> <<set $bodyType to "thin">>
<<script>>
document.documentElement.style.setProperty('--mcIcon', 'URL("https://i.imgur.com/OakOwTF.png")');
<</script>>
<<elseif $fat <= 40>> <<set $bodyType to "average">>
<<script>>
document.documentElement.style.setProperty('--mcIcon', 'URL("https://i.imgur.com/jHO7pC7.png")');
<</script>>
<<elseif $fat <= 60>> <<set $bodyType to "thick">>
<<script>>
document.documentElement.style.setProperty('--mcIcon', 'URL("https://i.imgur.com/It9RIWK.png")');
<</script>>
<<elseif $fat <= 80>> <<set $bodyType to "fat">>
<<script>>
document.documentElement.style.setProperty('--mcIcon', 'URL("https://i.imgur.com/FabEhol.png")');
<</script>>
<<elseif $fat <= 100>> <<set $bodyType to "obese">>
<<script>>
document.documentElement.style.setProperty('--mcIcon', 'URL("https://i.imgur.com/dGY5m1n.png")');
<</script>>
<</if>>
<<elseif $muscle <= 60>>
<<if $fat <= 20>> <<set $bodyType to "athletic">>
<<script>>
document.documentElement.style.setProperty('--mcIcon', 'URL("https://i.imgur.com/h2XOcnQ.png")');
<</script>>
<<elseif $fat <= 40>> <<set $bodyType to "strong">>
<<script>>
document.documentElement.style.setProperty('--mcIcon', 'URL("https://i.imgur.com/VvmFctV.png")');
<</script>>
<<elseif $fat <= 60>> <<set $bodyType to "heavy">>
<<script>>
document.documentElement.style.setProperty('--mcIcon', 'URL("https://i.imgur.com/sbs0vBc.png)');
<</script>>
<<elseif $fat <= 80>> <<set $bodyType to "fat">>
<<script>>
document.documentElement.style.setProperty('--mcIcon', 'URL("https://i.imgur.com/FabEhol.png")');
<</script>>
<<elseif $fat <= 100>> <<set $bodyType to "obese">>
<<script>>
document.documentElement.style.setProperty('--mcIcon', 'URL("https://i.imgur.com/dGY5m1n.png")');
<</script>>
<</if>>
<<elseif $muscle <= 80>>
<<if $fat <= 20>> <<set $bodyType to "bodybuilder">>
<<script>>
document.documentElement.style.setProperty('--mcIcon', 'URL("https://i.imgur.com/3dIVFPP.png")');
<</script>>
<<elseif $fat <= 40>> <<set $bodyType to "heroic">>
<<script>>
document.documentElement.style.setProperty('--mcIcon', 'URL("https://i.imgur.com/ucpwIbR.png")');
<</script>>
<<elseif $fat <= 60>> <<set $bodyType to "strongman">>
<<script>>
document.documentElement.style.setProperty('--mcIcon', 'URL("https://i.imgur.com/fLgwIgo.png")');
<</script>>
<<elseif $fat <= 80>> <<set $bodyType to "sumowrestler">>
<<script>>
document.documentElement.style.setProperty('--mcIcon', 'URL("https://i.imgur.com/3qjvbd8.png")');
<</script>>
<<elseif $fat <= 100>> <<set $bodyType to "obese">>
<<script>>
document.documentElement.style.setProperty('--mcIcon', 'URL("https://i.imgur.com/dGY5m1n.png")');
<</script>>
<</if>>
<<elseif $muscle <= 100>>
<<if $fat <= 20>> <<set $bodyType to "hulk">>
<<script>>
document.documentElement.style.setProperty('--mcIcon', 'URL("https://i.imgur.com/cwIZIxc.png")');
<</script>>
<<elseif $fat <= 40>> <<set $bodyType to "gigantic">>
<<script>>
document.documentElement.style.setProperty('--mcIcon', 'URL("https://i.imgur.com/eAtmGEL.png")');
<</script>>
<<elseif $fat <= 60>> <<set $bodyType to "monstrous">>
<<script>>
document.documentElement.style.setProperty('--mcIcon', 'URL("https://i.imgur.com/KBSc78i.png")');
<</script>>
<<elseif $fat <= 80>> <<set $bodyType to "sumowrestler">>
<<script>>
document.documentElement.style.setProperty('--mcIcon', 'URL("https://i.imgur.com/3qjvbd8.png")');
<</script>>
<<elseif $fat <= 100>> <<set $bodyType to "obese">>
<<script>>
document.documentElement.style.setProperty('--mcIcon', 'URL("https://i.imgur.com/dGY5m1n.png")');
<</script>>
<</if>>
<<else>>
<<if $fat <= 20>> <<set $bodyType to "hulk">>
<<script>>
document.documentElement.style.setProperty('--mcIcon', 'URL("https://i.imgur.com/cwIZIxc.png")');
<</script>>
<<elseif $fat <= 40>> <<set $bodyType to "gigantic">>
<<script>>
document.documentElement.style.setProperty('--mcIcon', 'URL("https://i.imgur.com/eAtmGEL.png")');
<</script>>
<<else>><<set $bodyType to "monstrous">>
<<script>>
document.documentElement.style.setProperty('--mcIcon', 'URL("https://i.imgur.com/KBSc78i.png")');
<</script>>
<</if>>
<</if>>
<<if _oldBodyType != $bodyType>>
<<addTrigger $bodyType false false>>
<</if>><<nobr>>
<<widget "addMotivation">>
<<set _comfortableClothingBonus to 1>>
<<script>>
for (let i = 0; i < State.variables.outfit.bonuses().length; i++) {
console.log(State.variables.outfit.bonuses());
if(State.variables.outfit.bonuses()[i].name == setup.clothingBonuses.Comfortable.name){
State.temporary.comfortableClothingBonus = 1.2;
break;
}
}
<</script>>
<<set $motivation += parseInt($args[0]) * _comfortableClothingBonus>>
<<set $motivation to Math.clamp($motivation, 0, $maxMotivation)>>
<<update>>
<</widget>>
<</nobr>><<nobr>>
<<widget "addExhaustion">>
<<set _input to parseInt($args[0])>>
<<if $gameDate.getHours() >= 21>>
<<set $exhaustion += _input * 1.5>>
<<elseif $gameDate.getHours() <= 6>>
<<set $exhaustion += _input * 1.5>>
<<else>>
<<set $exhaustion += _input>>
<</if>>
<<if $args[1] is "workout">>
<<set $exhaustion to $exhaustion * $exhaustionWorkoutMod>>
<</if>>
<<if $exhaustion >= $maxExhaustion>>
<<set $exhaustion to $maxExhaustion>>
<<elseif $exhaustion <= 0>>
<<set $exhaustion to 0>>
<</if>>
<<update>>
<</widget>>
<</nobr>>As with most apartment kitchens, it is very small, but you managed to cram all your stuff in there. The stove top has seen better days, and you wonder what the eldritch symbols on the oven mean, but at least you got a huge fridge and plenty of storage space!
<<set _room to passage()>>
<<cleaning _room>>
<br><br>
<<if $cookingMealPrep || $debug is "true">>
<<set _mealPrepCount to 1>>
Make <<limitedNumberbox "_mealPrepCount" _mealPrepCount 1 99>> meals in advance.
<<liveblock>>
<<set _cookingTime to ((_mealPrepCount -1) * 5) + 40>>
<<set _cookingMotivation to Math.clamp((20 - _mealPrepCount), 0, 20)>>
<<set _cookingExhaustion to Math.clamp((10 + (0,5 * _mealPrepCount)), 0, 100)>>
<br>
<<gameLink "Cook meals" "Kitchen" time:_cookingTime motivation:_cookingMotivation exhaustion:_cookingExhaustion>>
<<if $furniture.includes("Good freezer")>>
<<set _daysUntillSpoiling to 60>>
<<elseif $furniture.includes("Good fridge")>>
<<set _daysUntillSpoiling to 4>>
<<else>>
<<set _daysUntillSpoiling to 2>>
<</if>>
<<set _newDate to new Date()>>
<<set _newDate.setDate($gameDate.getDate() + _daysUntillSpoiling)>>
<<for _i to 0; _i < _mealPrepCount; _i ++>>
<<capture _i>>
<<set $mealsPrepped.push({
expiration: _newDate.toISOString().split('T')[0]
})>>
<</capture>>
<</for>>
<<script>>
if (Dialog.isOpen() == false) {
var dialog = Dialog.setup("Placeholder");
new Wikifier(dialog, "TBD: flavor text here");
Dialog.open();
}
<</script>>
<</gameLink>><</liveblock>>
<<timed 0s>>
<<script>>
var boxes = $(".macro-limitedNumberbox");
boxes.on("change", function () {
$(".macro-live").trigger(":liveupdateinternal");
});
<</script>>
<</timed>>
<br><br>
<</if>>
<<link "Go back" "Home">><</link>>The one place in your home that is 100% you: neatly arranged and well decorated, it has quickly become your little corner away from the world. Inside here you can shut out all outside noises and just relax. With a big bed and your desk, you have everything you need. Well, other than perhaps a small fridge.
<<set _room to passage()>>
<<cleaning _room>>
<br><br>
<<linkreplace "Go to sleep">><<include "Sleep">><</linkreplace>>
<<link "Change your outfit - 00:05 🕛" "Closet">><</link>>
<br><br>
<<link "Spend some time on your PC" "pc">><</link>>
<br><br>
<<link "Go back" "Home">><</link>><<liveblock>>
<<nobr>>
<<addMinutes 5>>
<span class="important">An outfit needs to have the same bonus on two pieces of clothing to apply. Clothing fit is determined by its size, but some body features can also make certain pieces with the right size not fit; very big breasts, for example. The icon after the size indicates how it fits you. green is a perfect fit, orange a tight fit, and red means it's either too big or too small.</span>
<span id="outfitTable">
<table id="store">
<tr>
<th>Type</th>
<th>Current item</th>
<th>Size needed</th>
<th>Bonuses</th>
<th>Fit</th>
<th>Style</th>
</tr>
<tr>
<td>Top</td>
<td>
<<if $outfit.top() == null || $outfit.top() === setup.emptyClothes>>
<<set _topName to '-'>>
<<else>>
<<set _topName to $outfit.top().name>>
<</if>>
<<link _topName>>
<<script>>
if (Dialog.isOpen() == false) {
var dialog = Dialog.setup("Choose top - Size needed: " + setup.playerSizeNeeded('top'));
new Wikifier(dialog, "<<clothingSelection 'top'>>");
Dialog.open();
}
<</script>>
<</link>>
</td>
<td><<print setup.playerSizeNeeded('top')>></td>
<td class="clothingBonuses">
<<print setup.getReadableBonusFromClothing($outfit.top(), true)>>
</td>
<td>
<<print setup.getReadableFitFromClothing($outfit.top())>>
</td>
<td>
<<print setup.getReadableArchetypesFromClothing($outfit.top())>>
</td>
</tr>
<tr>
<td>Bottom</td>
<td>
<<if $outfit.bottom() == null || $outfit.bottom() === setup.emptyClothes>>
<<set _bottomName to '-'>>
<<else>>
<<set _bottomName to $outfit.bottom().name>>
<</if>>
<<link _bottomName>>
<<script>>
if (Dialog.isOpen() == false) {
var dialog = Dialog.setup("Choose bottom - Size needed: " + setup.playerSizeNeeded('bottom'));
new Wikifier(dialog, "<<clothingSelection 'bottom'>>");
Dialog.open();
}
<</script>>
<</link>>
</td>
<td><<print setup.playerSizeNeeded('bottom')>></td>
<td class="clothingBonuses">
<<print setup.getReadableBonusFromClothing($outfit.bottom(), true)>>
</td>
<td>
<<print setup.getReadableFitFromClothing($outfit.bottom())>>
</td>
<td>
<<print setup.getReadableArchetypesFromClothing($outfit.bottom())>>
</td>
</tr>
<tr>
<td>Underwear</td>
<td>
<<if $outfit.underwear() == null || $outfit.underwear() === setup.emptyClothes>>
<<set _underwearName to '-'>>
<<else>>
<<set _underwearName to $outfit.underwear().name>>
<</if>>
<<link _underwearName>>
<<script>>
if (Dialog.isOpen() == false) {
var dialog = Dialog.setup("Choose underwear - Size needed: " + setup.playerSizeNeeded('underwear'));
new Wikifier(dialog, "<<clothingSelection 'underwear'>>");
Dialog.open();
}
<</script>>
<</link>>
</td>
<td><<print setup.playerSizeNeeded('underwear')>></td>
<td class="clothingBonuses">
<<print setup.getReadableBonusFromClothing($outfit.underwear(), true)>>
</td>
<td>
<<print setup.getReadableFitFromClothing($outfit.underwear())>>
</td>
<td>
<<print setup.getReadableArchetypesFromClothing($outfit.underwear())>>
</td>
</tr>
<tr>
<td>Bra</td>
<td>
<<if $outfit.bra() == null || $outfit.bra() === setup.emptyClothes>>
<<set _braName to '-'>>
<<else>>
<<set _braName to $outfit.bra().name>>
<</if>>
<<link _braName>>
<<script>>
if (Dialog.isOpen() == false) {
var dialog = Dialog.setup("Choose bra - Size needed: " + setup.playerSizeNeeded('bra'));
new Wikifier(dialog, "<<clothingSelection 'bra'>>");
Dialog.open();
}
<</script>>
<</link>>
</td>
<td><<print setup.playerSizeNeeded('bra')>></td>
<td class="clothingBonuses">
<<print setup.getReadableBonusFromClothing($outfit.bra(), true)>>
</td>
<td>
<<print setup.getReadableFitFromClothing($outfit.bra())>>
</td>
<td>
<<print setup.getReadableArchetypesFromClothing($outfit.bra())>>
</td>
</tr>
<tr>
<td>Overwear</td>
<td>
<<if $outfit.overwear() == null || $outfit.overwear() === setup.emptyClothes>>
<<set _overwearName to '-'>>
<<else>>
<<set _overwearName to $outfit.overwear().name>>
<</if>>
<<link _overwearName>>
<<script>>
if (Dialog.isOpen() == false) {
var dialog = Dialog.setup("Choose overwear - Size needed: " + setup.playerSizeNeeded('overwear'));
new Wikifier(dialog, "<<clothingSelection 'overwear'>>");
Dialog.open();
}
<</script>>
<</link>>
</td>
<td><<print setup.playerSizeNeeded('overwear')>></td>
<td class="clothingBonuses">
<<print setup.getReadableBonusFromClothing($outfit.overwear(), true)>>
</td>
<td>
<<print setup.getReadableFitFromClothing($outfit.overwear())>>
</td>
<td>
<<print setup.getReadableArchetypesFromClothing($outfit.overwear())>>
</td>
</tr>
<tr>
<td>Shoes</td>
<td>
<<if $outfit.shoes() == null || $outfit.shoes() === setup.emptyClothes>>
<<set _shoesName to '-'>>
<<else>>
<<set _shoesName to $outfit.shoes().name>>
<</if>>
<<link _shoesName>>
<<script>>
if (Dialog.isOpen() == false) {
var dialog = Dialog.setup("Choose footwear - Size needed: " + setup.playerSizeNeeded('shoes'));
new Wikifier(dialog, "<<clothingSelection 'shoes'>>");
Dialog.open();
}
<</script>>
<</link>>
</td>
<td><<print setup.playerSizeNeeded('shoes')>></td>
<td class="clothingBonuses">
<<print setup.getReadableBonusFromClothing($outfit.shoes(), true)>>
</td>
<td>
<<print setup.getReadableFitFromClothing($outfit.shoes())>>
</td>
<td>
<<print setup.getReadableArchetypesFromClothing($outfit.shoes())>>
</td>
</tr>
</table>
</span>
<<outfitDescription>>
<br><br>
Your current bonuses are:
<br><span id="appliedBonuses"></span>
<<timed 0s>>
<<script>>
let $spanAppliedBonuses = $('span#appliedBonuses');
$spanAppliedBonuses[0].innerHTML = '';
for (const bonus of State.variables.outfit.bonuses()) {
$spanAppliedBonuses[0].innerHTML += `<p><b> ●${bonus.name}</b><br>${bonus.description}</p>`;
}
<</script>>
<</timed>>
<</nobr>>
<</liveblock>>
<<link "Back" "Bedroom">><</link>>There is a decent shopping center downtown, with various shops in the old buildings that make up the heart of the city. Restaurants, bars, clothing stores and plenty of other places ensure that you can find almost anything around these parts (or anyone, for that matter). The colorful storefronts are surprisingly welcoming, and since it's a relatively small town, the prices are delightfully modest.
<<gameLink "Visit Allison's Apparel" "ClothingStore" time:5>><</gameLink>>
<<gameLink "Visit Tasha's Thrifts" "SecondHandStore" time:5>><</gameLink>>
<<gameLink "Visit the Bulk Barn" "FitnessStore" time:5>><<if !$eddyIntro>><<set $eventCounter to setup.balance.eventTresshold + 1>><</if>><</gameLink>>
<<gameLink "Visit the Coffee Corner" "BookStore" time:5>><</gameLink>>
<<gameLink "Visit Everything Electronixz" "ElectronicsStore" time:5>><</gameLink>>
<<gameLink "Visit the Big and Tall Boutique" "BigTallStore" time:5>><</gameLink>>
<<gameLink "Visit Simon's Sewing & Tailoring" "Tailor" time:5>><</gameLink>>
<<gameLink "Go home" "Home" time:30>><</gameLink>>This is Allison's Apparel, one of the few remaining clothing stores here that's not part of a big chain. And that's for the best, because the selection is top-notch, and Allison is always there to help clients herself. Row after row of packed racks make up most of the store, and you get the idea it would take DAYS to browse all that is there. Luckily, everything is neatly organized and labeled, so you should be able to find just about anything you want.
<<ClothingStoreWidget $allisonsApparelInventory>>
<<link "Go back" "ShoppingCenter">><<addMinutes 5>><</link>><<nobr>>
<<widget "DayUpdate">>
<<set $daysPlayed += 1>>
<<include "StoreRefresh">>
<<include "NPCDialogRefresh">>
<<set $storeOnlineBought to $storeOnlineBoughtDelay>>
<<set $storeOnlineBoughtDelay to []>>
<<set $bimbo -= 1>>
<<set $livingRoomCleaned += 0.25>>
<<set $kitchenCleaned += 0.35>>
<<set $bathRoomCleaned += 0.35>>
<<set $bedRoomCleaned += 0.25>>
<<set $deletedLog to []>>
<<set $johanVisited to false>>
<<set $elenaVisited to false>>
<<set $elenashyVisited to false>>
<<set $emmaVisited to false>>
<<set $krisVisited to false>>
<<set $krisObsessedVisited to false>>
<<if $elenaDate is true>>
<<set $elenaDate1 to true>>
<<set $elenaDate to false>>
<</if>>
<<if $krisDate1Delay>>
<<set $krisDate1 to true>>
<</if>>
<</widget>>
<</nobr>><<for _j to 0; _j < $dailyConsumableAmount; _j ++>>
<<capture _j>>
<<set _dailyConsumable to $consumablesDeck.pluck()>>
<<set _settings to []>>
<<if $futa is false>>
<<set _settings.push("futa")>>
<</if>>
<<if $lactationSetting is false>>
<<set _settings.push("lactation")>>
<</if>>
<<if $consumablesDeck.length is 0>>
<<set $consumablesDeck to []>>
<<for _i to 0; _i < $consumables.length; _i ++>>
<<capture _i>>
<<if $consumables[_i].settings.includesAny(_settings)>>
/* makes sure no settings get ignored */
<<elseif $consumables[_i].settings.includes("lactation") && $lactationUnlocked != true>>
/* Prevents lactation potions showing before its relevant */
<<elseif $consumables[_i].HideInStores is false>>
<<for _j to 0; _j < $consumables[_i].uses; _j ++>>
<<set $consumablesDeck.push($consumables[_i].name)>>
<</for>>
<<set $consumablesDeck.push($consumables[_i].name)>>
<<else>>
<</if>>
<</capture>>
<</for>>
<</if>>
<<for _i to 0; _i < $consumables.length; _i ++>>
<<capture _i>>
<<if $consumables[_i].name is _dailyConsumable or $debug or $difficulty is "sandbox">>
<<if $consumables[_i].dropRate >= (1 - Math.random()) or $debug>>
<<set $consumables[_i].forSale += 1>>
<</if>>
<</if>>
<</capture>>
<</for>>
<</capture>>
<</for>>
<<set setup.storePopulator()>><<nobr>>
<<widget "RollDice">>
<<set $rolledDice to random(1, $args[0])>>
<</widget>>
<</nobr>><<set $sewingProjects to []>>
<<set $favoriteStyle to 'casual'>>
/* The base outfit container. The only acces point by which the clothing logic may */
/* be approached.*/
<<set $outfit to {
topId: 1,
top: function () {
return State.variables.wardrobe.find(item => item.id == this.topId) || setup.emptyClothes;
},
bottomId: 2,
bottom: function () {
return State.variables.wardrobe.find(item => item.id == this.bottomId) || setup.emptyClothes;
},
braId: 4,
bra: function () {
return State.variables.wardrobe.find(item => item.id == this.braId) || setup.emptyClothes;
},
underwearId: 3,
underwear: function () {
return State.variables.wardrobe.find(item => item.id == this.underwearId) || setup.emptyClothes;
},
overwearId: 5,
overwear: function () {
return State.variables.wardrobe.find(item => item.id == this.overwearId) || setup.emptyClothes;
},
shoesId: 6,
shoes: function () {
return State.variables.wardrobe.find(item => item.id == this.shoesId) || setup.emptyClothes;
},
style: function () {
if (this.top() == undefined && this.bottom() == undefined && this.overwear() == undefined && this.bra() == undefined && this.bottom() == undefined && this.underwear() == undefined && this.shoes() == undefined) {
return undefined;
}
/*find most common object*/
function mode(arr) {
return arr.sort((a, b) =>
arr.filter(v => v === a).length
- arr.filter(v => v === b).length
).pop();
}
/*setup objects*/
var retval = [];
var presentArchetypes = [];
/*add all the archetypes of the clothing to a single heap*/
if (this.top() != undefined && this.top().archetypes != undefined) {
presentArchetypes.push(this.top().archetypes);
}
if (this.bottom() != undefined && this.bottom().archetypes != undefined) {
presentArchetypes.push(this.bottom().archetypes);
}
if (this.underwear() != undefined && this.underwear().archetypes != undefined) {
presentArchetypes.push(this.underwear().archetypes);
}
if (this.bra() != undefined && this.bra().archetypes != undefined) {
presentArchetypes.push(this.bra().archetypes);
}
if (this.overwear() != undefined && this.overwear().archetypes != undefined) {
presentArchetypes.push(this.overwear().archetypes);
}
if (this.shoes() != undefined && this.shoes().archetypes != undefined) {
presentArchetypes.push(this.shoes().archetypes);
}
presentArchetypes = mode(presentArchetypes.flat());
/*get how many times each different archetype is present*/
return presentArchetypes;
},
fit: function () {
},
bonuses: function () {
/* fixed that ==/=== is not working by calling function to get bonus - Waffle */
const presentBonuses = [];
if (this?.top?.()?.bonuses != null) {
this.top().bonuses
.forEach(bonus => presentBonuses.push(bonus));
}
if (this?.bottom?.()?.bonuses != null) {
this.bottom().bonuses
.forEach(bonus => presentBonuses.push(bonus));
}
if (this?.underwear?.()?.bonuses != null) {
this.underwear().bonuses
.forEach(bonus => presentBonuses.push(bonus));
}
if (this?.bra?.()?.bonuses != null) {
this.bra().bonuses
.forEach(bonus => presentBonuses.push(bonus));
}
if (this?.overwear?.()?.bonuses != null) {
this.overwear().bonuses
.forEach(bonus => presentBonuses.push(bonus));
}
if (this?.shoes?.()?.bonuses != null) {
this.shoes().bonuses
.forEach(bonus => presentBonuses.push(bonus));
}
presentBonuses.push(setup.clothingBonuses.FavoriteStyle);
const results = [];
for (const bonus of Object.values(setup.clothingBonuses)) {
let filteredBonus = presentBonuses.filter(presentBonus => presentBonus.name === bonus.name);
if (filteredBonus.length > 1) {
/* add if the same bonus is included more than once */
results.push(filteredBonus[0]);
}
}
return results;
}
}>>
/* Starting wardrobe object. */
<<set $wardrobe to [
{
id: 1,
name: 'plain T-shirt',
tolerance: 1.3,
archetypes: ['casual', 'tomboy'],
bonuses: [
setup.clothingBonuses.WorkoutWear,
setup.clothingBonuses.Comfortable
],
size: 2,
slot: 'top'
},
{
id: 2,
name: 'jeans',
tolerance: 1.1,
archetypes: ['casual', 'nerdy'],
bonuses: [
setup.clothingBonuses.Comfortable
],
size: 1,
slot: 'bottom'
},
{
id: 3,
name: 'briefs',
tolerance: 1.3,
archetypes: ['casual'],
bonuses: [
setup.clothingBonuses.Comfortable
],
size: 1,
slot: 'underwear'
},
{
id: 4,
name: 'cotton bra',
tolerance: 1.1,
archetypes: ['casual'],
bonuses: [
setup.clothingBonuses.Comfortable
],
size: 1,
slot: 'bra'
},
{
id: 5,
name: 'hoodie',
tolerance: 1.5,
archetypes: ['casual', 'tomboy', 'punk', 'sporty'],
bonuses: [
setup.clothingBonuses.Baggy,
setup.clothingBonuses.LactationProof,
setup.clothingBonuses.ExtraWarm
],
size: 1,
slot: 'overwear'
},
{
id: 6,
name: 'runners',
tolerance: 1.3,
archetypes: ['casual', 'sporty', 'nerdy'],
bonuses: [
setup.clothingBonuses.WorkoutWear
],
size: 1,
slot: 'shoes'
},
{
id: 7,
name: 'gym shorts',
tolerance: 1.1,
archetypes: ['gym', 'casual', 'exposed'],
bonuses: [
setup.clothingBonuses.WorkoutWear
],
size: 1,
slot: 'bottom'
},
{
id: 8,
name: 'boybriefs',
tolerance: 1.2,
archetypes: ['casual'],
bonuses: [
],
size: 1,
slot: 'underwear'
},
{
id: 9,
name: 'sports bra',
tolerance: 1.1,
archetypes: ['gym'],
bonuses: [
setup.clothingBonuses.WorkoutWear
],
size: 0,
slot: 'bra'
},
{
id: 10,
name: 'geeky shirt',
tolerance: 1.2,
archetypes: ['casual', 'geek'],
bonuses: [
],
size: 1,
slot: 'top'
},
{
id: 11,
name: 'old jeans',
tolerance: 1.2,
archetypes: ['casual', 'goth', 'punk'],
bonuses: [
setup.clothingBonuses.Stretchy
],
size: 0,
slot: 'bottom'
},
{
id: 12,
name: 'bikini',
tolerance: 1.2,
archetypes: ['casual'],
bonuses: [
setup.clothingBonuses.Stretchy
],
size: 1,
slot: 'underwear'
},
{
id: 13,
name: 'padded bra',
tolerance: 1,
archetypes: ['casual', 'basic'],
bonuses: [
setup.clothingBonuses.LactationProof
],
size: 1,
slot: 'bra'
},
{
id: 14,
name: 'black worn trenchcoat',
tolerance: 1.25,
archetypes: ['punk', 'goth'],
bonuses: [
],
size: 1,
slot: 'overwear'
},
{
id: 15,
name: 'boyshorts',
tolerance: 1.2,
archetypes: ['casual'],
bonuses: [
],
size: 1,
slot: 'underwear'
},
{
id: 16,
name: 'old bra',
tolerance: 1.1,
archetypes: ['casual', 'basic'],
bonuses: [
],
size: 0,
slot: 'bra'
},
{
id: 17,
name: 'combat boots',
tolerance: 1,
archetypes: ['goth', 'punk'],
bonuses: [
],
size: 3,
slot: 'shoes'
}
]>>
<<set setup.storePopulator()>><<widget "ClothingStoreWidget">>
<<set _storeClothes to $args[0].slice()>> /* keeps the shallow copy of original list */
<<set _isOnline to $args[0] == $onlineInventory>>
<<set _filteredStoreClothes to _storeClothes.slice()>>
<<set _range to 10>>
<<script>>
console.log(State.temporary.filteredStoreClothes);
<</script>>
<span id="outfitTable">
<table id="store">
<tr>
<td>
Show slot:<br>
<<listbox "$shoppingSlot" autoselect>>
<<optionsfrom ['-', 'top', 'bottom', 'underwear', 'overwear', 'bra', 'shoes']>>
<</listbox>>
</td>
<td>
Show only with style:<br>
<<set _stylesCopy to [...setup.allStyles]>>
<<set _stylesCopy.unshift('All styles')>>
<<listbox "$shoppingStyle" autoselect>>
<<optionsfrom _stylesCopy>>
<</listbox>>
</td>
<td>
Show only with bonus:<br>
<<set _bonusCopy to function () {
var arr = ['-'];
console.log("bonusCopy info:");
for (var prop in setup.clothingBonuses) {
console.log(prop);
if (setup.clothingBonuses.hasOwnProperty(prop)) {
var innerObj = {};
innerObj[prop] = setup.clothingBonuses[prop];
console.log(Object.values(innerObj)[0]);
console.log(Object.values(innerObj)[0].hideInStores);
if(Object.values(innerObj)[0].hideInStores == false){
arr.push(Object.values(innerObj)[0].name);
}
}
}
console.log(arr);
return arr;
}>>
<<listbox "$shoppingBonuses" autoselect>>
<<optionsfrom _bonusCopy()>>
<</listbox>>
</td>
</tr>
</table>
</span>
<<timed 0s>>
<<script>>
const inputs = $('#listbox-shoppingslot, #listbox-shoppingstyle, #listbox-shoppingbonuses, #checkbox-shoppingaffordable');
const clothes = State.temporary.storeClothes;
inputs.on('change', function () {
setup.setClothesTable(clothes);
});
setup.setClothesTable(clothes);
<</script>>
<</timed>>
<<liveblock>>
<span id="outfitTable">
<<set _rowDisplaySize to function (rowIndex) {
const clothing = State.temporary.filteredStoreClothes[rowIndex];
const sizes = {};
for (let i = 0; i < setup.getAllSizeNames().slice(clothing.availableSizes[0], clothing.availableSizes[1]).length; i++) {
sizes[setup.getReadableFitFromSize(i, clothing.slot, clothing.tolerance)] = i;
}
return sizes;
}>>
<table id="store">
<tr>
<th>Clothing piece</th>
<th>Price</th>
<th>Size</th>
<th>bonuses</th>
<th>Style</th>
<th></th>
</tr>
<<for _i to 0; _i < _filteredStoreClothes.length; _i ++>>
<<capture _i>>
<<set _rowDisplaySizes to _rowDisplaySize(_i)>>
<tr @data-num="_i">
<td>
<<print _filteredStoreClothes[_i].name>>
</td>
<td>$<<print setup.getPriceFromClothing(_filteredStoreClothes[_i])>></td>
<td><<listbox "_filteredStoreClothes[_i].size" autoselect>>
<<optionsfrom _rowDisplaySizes>>
<</listbox>></td>
<td><<print setup.getReadableBonusFromClothing(_filteredStoreClothes[_i])>></td>
<td><<print setup.getReadableArchetypesFromClothing(_filteredStoreClothes[_i])>></td>
<td>
<<if setup.getPriceFromClothing(_filteredStoreClothes[_i]) <= $money>>
<<link 'buy'>>
<<set $money -= setup.getPriceFromClothing(_filteredStoreClothes[_i])>>
<<set _filteredStoreClothes[_i].id to Date.now()>>
<<if _isOnline == false>>
<<set $wardrobe.push(_filteredStoreClothes[_i])>>
<<script>>
console.log('User bought: ');
console.log(State.temporary.filteredStoreClothes[State.temporary.i]);
if (!Dialog.isOpen()) {
new Wikifier(Dialog.setup('Item bought'), 'You added the <<print _filteredStoreClothes[_i].name>> to your wardrobe');
Dialog.open();
$('.macro-live').trigger(':liveupdateinternal'); /* update to refresh money */
}
<</script>>
<<else>>
<<set $storeOnlineBoughtDelay.push(_filteredStoreClothes[_i])>>
<<script>>
console.log('User bought: ');
console.log(State.temporary.filteredStoreClothes[State.temporary.i]);
if (!Dialog.isOpen()) {
new Wikifier(Dialog.setup('Item bought'), 'The <<print _filteredStoreClothes[_i].name>> will be delivered soon.');
Dialog.open();
$('.macro-live').trigger(':liveupdateinternal'); /* update to refresh money */
}
<</script>>
<</if>>
<</link>>
<<else>>
Too expensive
<</if>>
</td>
</tr>
<</capture>>
<</for>>
</table>
</span>
<<timed 0s>>
<<script>>
const inputs = $('[name^=\'listbox--filteredstoreclothes-isize\']');
inputs.on('change', function () {
const mod = $(this).children(':selected').val();
const rowIndex = Number($(this).closest('tr').attr('data-num'));
State.temporary.filteredStoreClothes[rowIndex].size = parseInt(mod);
$('.macro-live').trigger(':liveupdateinternal');
});
<</script>>
<</timed>>
<</liveblock>>
<</widget>><<nobr>>
<<widget "BodyTypeDescriptionShort">>
<<if $bodyType is "skinny">>
skinny
<<elseif $bodyType is "average">>
plain-looking
<<elseif $bodyType is "thick">>
voluptuous
<<elseif $bodyType is "obese">>
full-figured
<<elseif $bodyType is "thin">>
swimmers
<<elseif $bodyType is "athletic">>
fitness-models
<<elseif $bodyType is "strong">>
strong looking
<<elseif $bodyType is "heavy">>
off-season bodybuilder
<<elseif $bodyType is "bodybuilder">>
bodybuilder's
<<elseif $bodyType is "heroic">>
superhero's
<<elseif $bodyType is "strongman">>
incredibly strong
<<elseif $bodyType is "sumowrestler">>
massive, bulky
<<elseif $bodyType is "hulk">>
impossibly muscular
<<elseif $bodyType is "giganticly bloated">>
gigantically bloated
<<elseif $bodyType is "monstrous">>
monstrous
<</if>>
<</widget>>
<</nobr>><<nobr>>
<<widget "upperBodyDescription">>
<<if $bodyType is "skinny">>
Your body is very lithe, with small shoulders and thin arms connected to a torso that has little in the way of definition or padding. Despite your lack of curves, you still look good, though a little more mass wouldn't be a bad thing. <<BreastsDescription>>
<<elseif $bodyType is "average">>
You have a decent body. Not too big, not too small, not too thin, not too fat. It's just... you. There's little to say about it as you hardly stand out, but you'd like to think you still look decent. <<BreastsDescription>>
<<elseif $bodyType is "thick">>
Your body is well shaped, with average arms and shoulders offset by a small but plump tummy, giving you a nice hourglass to your torso. <<BreastsDescription>>
<<elseif $bodyType is "fat">>
From your arms to your waist, it's pretty clear you are overweight. Despite that, you feel superb, and it never seems to trouble you too much! Nice and thick arms, a good padded belly and wide shoulders give you a nice hourglass figure, with curves in all the right places! <<BreastsDescription>>
<<elseif $bodyType is "obese">>
You have a very thick body, with thick arms connected to your padded shoulders. Your chest stands out between them, with equal padding on them. <<BreastsDescription>> Below that, you have a hugely sized belly, keeping up with the rest of your body. It's constantly jiggling from the slightest movement on your part.
<<elseif $bodyType is "thin">>
Your arms are thin, but they show some good definition. If you started training some, you might get some nice muscles! The same goes for your shoulders, still bony, but with some definition. Hey, if you flex, you almost see abs! <<BreastsDescription>>
<<elseif $bodyType is "athletic">>
Strong, defined arms, wide shoulders, a muscular back and even a hint of a six-pack... yeah, you look strong and athletic! When you gaze at your back, the definition pops out like crazy, with cuts between the muscles and lats that make give you that wide look! And hey, you got some real pecs and actual abs beneath them! <<BreastsDescription>>
<<elseif $bodyType is "strong">>
Big boulder shoulders, beefy pecs, thick arms that bulge when you flex, and a midsection that offers plenty of support; you got everything needed to make you look both incredibly big and amazingly strong! When you flex, a few veins rise up, adding that little UMPH! It makes you eager to lift something BIG! <<BreastsDescription>>
<<elseif $bodyType is "heavy">>
You look HUGE. Incredibly thick arms, thick waist with a heavy gut and shoulders like boulders. Yet nobody would deny that beneath that thick layer of insulation, you have some incredible muscles that fully support your body... and then some! It makes you look like you could easily lift a giant rock or a small tree. <<BreastsDescription>>
<<elseif $bodyType is "bodybuilder">>
With your huge and defined arms, broad and ripped shoulders, and just a hugely pumped torso, you look ready for a bodybuilding competition! Everything about you screams 'SIZE', from your thick forearms, pumped biceps and triceps to your mountainous shoulders. Even your back is like a map of tectonic plates, all shifting and clashing from the slightest movement. Meanwhile, your pecs and defined abs are sure to attract even the most distracted of onlookers; <<BreastsDescription>>
<<elseif $bodyType is "heroic">>
You look like a superhero - a male one at that! Your arms are thick, but not so vascular as to scare people off. Thick biceps and defined triceps just make you look somewhat unreal. Add the strong shoulders and the barrel chest you've got going, and you could send heroes from comics packing any day of the week! Combined with your insanely chiseled back, your tight and defined abs... yeah, you are the complete package! <<BreastsDescription>>
<<elseif $bodyType is "strongman">>
You are gigantic, no other way around it. Sure, your belly might bulge, but above it rest some pecs that leaves no doubt that you can lift anything you want. Combined with your obscenely broad shoulders and your huge arms, you look unbelievably strong, despite most of your muscles not being visibly defined. <<BreastsDescription>>
<<elseif $bodyType is "sumowrestler">>
Bloated. That's the best word to describe you. Huge or gigantic might also come to mind. The point is: your girth is incredible, your entire torso is covered in a huge layer of fat, hiding an equally impressive amount of muscles. Whatever you do, the smallest action sends ripples through your body, while your muscles make themselves known under the shifting layers of fat.
<<elseif $bodyType is "hulk">>
If you appeared in a movie or a comic book, people would say your muscles are over the top. But here you are, so gigantically muscular it borders on the obscene. Your forearms have gigantic ropes of muscles that dance with the slightest shift of your limbs, while your biceps and triceps form upper arms that are beyond fantastic. Thick veins adorn them, almost constantly pumping while all the striations on your sinew are on display. Your shoulders are just as unreal, flanking your head with each of its three groups visibly defined. Combined with your vascular and gigantic neck, your huge traps make it hard to look at any direction besides straight ahead.
Below that, you have obscene pecs that push out comically from your body. When you flex them, they explode outwards, with a thick layer of veins surfacing. <<BreastsDescription>>. Your back is a huge map of valleys and ridges, each muscle fighting for space. Your lats make you impossibly wide, while your abs and obliques give you an almost unbelievable level of definition!
<<elseif $bodyType is "gigantic">>
You got the body of a strongman, cranked up to eleven. Humongous thick arms with fat that barely covers its gigantic muscles, shoulders that look like you had some beef pumped straight into them, a neck that would make a bull jealous and pecs that hide anything standing too close to you.<<BreastsDescription>>
Your lats push out so much that they flare out at a whim, making your back obscenely wide. Combined with the thick gut you have, it just makes you look enormous, almost monstruous!
<<elseif $bodyType is "monstrous">>
The combination of almost obscenely large muscles combined with the still thick layer of fat means your body looks nothing short of monstrous. Gigantic arms with thick, rope-like cords of muscle barely hidden, despite the generous layer of fat over them, shoulders that rise and fall from the slightest movement, and a chest that is almost pressed against your chin. Combined with the incredibly thick neck and the traps flanking your head, you almost have trouble turning your head! <<BreastsDescription>>
Your lats push out so much you are forced to rest your arms on them, unable to relax them straight down. Below that, you have a gigantic belly, brick-like abs forcing themselves to the surface despite the thick insulation covering them. It's almost unreal how you manage to be both incredibly muscular and obscenely fat!
<</if>>
<</widget>>
<</nobr>><<nobr>>
<<widget "lowerBodyDescription">>
With your <<hipDescription>> hips and <<assDescription>> butt, you have a really nice figure!
<<if $ass + $hips > 12>> And given that your rump is now almost world-famous, it's not surprising that people are stunned when they witness it. Sure, it's almost impossible not to, but do they HAVE to stare at you all the time?!?
<<elseif $ass + $hips > 10>>Since your backside is almost impossible to miss, you have become the center of attention no matter where you go. It'd be nice if people didn't stare now and then, but with a figure like this... eh, can you blame them?
<<elseif $ass + $hips > 8>>Your proverbial trunk is certainly an eye-catcher, making sure people are looking at your back wherever you go.
<<elseif $ass + $hips > 6>>Your ass is a real eye-catcher, and you know it!
<<elseif $ass + $hips > 4>>Sometimes you see people peeking at your behind every now and then, and why shouldn't they? You look good!
<</if>>
Below that, your <<legLenghtDescription>> legs are not the worst either.
<<if $bodyType is "skinny">>
They might not be impressive, but they are still shapely, and you'd do well on a catwalk with your lithe appearance!
<<elseif $bodyType is "average">>
They might be average, but you like to think they've got a nice shape to them. And hey, not everyone needs to be huge or thick!
<<elseif $bodyType is "thick">>
They're voluptuous, contrasting well with your relatively thin waist. Thick, shapely thighs, combined with calves with curves in just the right places give you an amazing silhouette, and you'd be sure to amaze some onlookers!
<<elseif $bodyType is "fat">>
They're fat, no point in running around the issue. They are covered in a thick layer of flab that still manages to give you some nice curves and a good look. Gotta love them, right?
<<elseif $bodyType is "obese">>
They're incredibly thick, as they need to support the massive weight of your body. Though they lack definition, they are undeniably huge, flanked on all sides by a thick layer of flab. Still, you can't help but love them!
<<elseif $bodyType is "thin">>
They're thin but toned, calves and quads exhibiting some nice definition. You can trace the muscles in your legs, the strength and endurance in them clear for all to see. When you move, the muscles dance around, creating quite a show.
<<elseif $bodyType is "athletic">>
With legs like yours, you could easily dominate any catwalk. Strong and defined muscles, with a bit of softness, give them that defined look that is incredibly hard to get. Every step makes your graceful sinew dance, as quads, calves and hamstrings reshape with every step.
<<elseif $bodyType is "strong">>
They're incredibly strong, just thick cords of muscle hidden behind a small layer of fat that only adds to your incredible bulk. When people see them, they KNOW you are strong. Massive quads bulge, thick diamond-shaped calves support your body, and generous hamstrings tie all together, forming legs that just scream 'powerlifter'.
<<elseif $bodyType is "heavy">>
They're incredibly strong, their strength barely hidden under the supporting layer of fat. Massive quads that rub together constantly, thick calves and massive hamstrings make you the spectacle even more impressive.
<<elseif $bodyType is "bodybuilder">>
They're hugely muscled, and incredibly defined, easily worthy of any bodybuilding competition! You are blessed with thick wheels of quads that just bulge with power at every step, sharply cut diamond-shaped calves that ooze power, and hamstrings that are so defined they could be used for anatomy lessons! All in all, just enormous!
<<elseif $bodyType is "heroic">>
They're ready for any superhero pose, as your incredibly large and well-defined legs just scream power. Your thighs rub together constantly with your incredibly large quads and hamstrings, and in your calves you can see all the definition one could desire, granting you an incredibly strong, confident look.
<<elseif $bodyType is "strongman">>
They're MASSIVE. There is no other word for them, they're just gigantic, with monstrous muscles barely hidden under a layer of fat that fails to properly conceal them. Your thighs rub together constantly, but when you tense your legs, their true strength is revealed as its thick cords surface, proving just how strong you are!
<<elseif $bodyType is "sumowrestler">>
They're gigantic and bulky, thick layers of fat hiding the massive muscles underneath. But nobody would doubt it, it's obvious just how strong your legs are. They support your massive body, after all, and so much more! Your legs might be fighting for space, but when they are called to lift something, there is no doubt they will succeed!
<<elseif $bodyType is "hulk">>
They're overflowing with power, every muscle bulging outwards and fighting for space as thick veins compete all over your quads, hamstrings and calves. All the striation and definition is clear for anyone to see, bulging and shifting with every step you take.
<<elseif $bodyType is "giganticly bloated">>
Like the rest of you, they're gigantic, bloated and obscenely muscular. Every muscle, from your gigantic quads to your monstrous calves, is fighting for space, making you waddle more so than walk. With every step, the thick cords of muscle shift, carrying your gigantic figure around.
<<elseif $bodyType is "monstrous">>
Like the rest of you, they look nothing short of restless, monstrous even. They constantly fighting for space as the muscles within can only grow into each other, barely having enough breathing space left to permit you to walk. Every muscle and fiber is patently displayed, constantly bulging and shifting to try and accommodate your gigantic mass.
<</if>>
<<if $dick >0>>
<br><br>
<<dickDescription>>
<</if>>
<</widget>>
<</nobr>><<if $tashaOpinion is 0>><<goto "TashaIntroduction">><</if>>This store is almost notorious in town for the strange things found within. As the legend goes, most university students dump things here when they leave, or when they are strapped for some quick cash. The result is a menagerie of the weirdest things one could think of. It's not uncommon to find anything from ancient swords, a desk made of plastic building block, or mysterious gadgets that would not look out of place in a spy movie. Between the various aisles walks <<if $tashaOpinion is 0>>a kindly old woman<<else>>Tasha<</if>>, barely able to reach most displays. With tender care, she ensures everything is neatly displayed, even if she isn't always sure of what is for sale.
<br><br>[Tasha's dialog coming in a later version]
<<nobr>>
<table id="store">
<tr>
<th>Name</th>
<th>Description</th>
<th>available</th>
<th>Price</th>
<th></th>
</tr>
<<if $sewingUnlocked>>
<tr>
<td>Fabric</td>
<td>All kinds of colorful fabric in abundant supply, more than enough to make any kind of clothing from. You currently got <<print $fabric>>.</td>
<td>∞</td>
<td>10 for 10 bolts.</td>
<td><span id="result"><<link "buy">>
<<if 10 > $money>>
<<replace "#result">>You can't afford that.<</replace>>
<<else>>
<<set $money -= 10>>
<<set $fabric += 10>>
<<goto "SecondHandStore">>
<</if>>
<</link>></span></td>
</tr>
<</if>>
<<for _i to 0; _i < $consumables.length; _i ++>>
<<capture _i>>
<<if $consumables[_i].forSale >= 1>>
<tr>
<td><<print $consumables[_i].name>></td>
<td>
<<print $consumables[_i].description>>
<<for _j to 0; _j < $consumables[_i].effects.length; _j ++>>
<<capture _j>>
<<if $consumables[_i].effects[_j].discovered && $consumables[_i].effects[_j].shortDescription() != "">>
<br>
● <<print $consumables[_i].effects[_j].shortDescription()>>
<</if>>
<</capture>>
<</for>>
</td>
<td><<print $consumables[_i].forSale>></td>
<td>$<<print $consumables[_i].price>></td>
<td><span id="result"><<link "buy - 00:05 🕛">>
<<if $consumables[_i].price > $money>>
<<replace "#result">>You can't afford that.<</replace>>
<<else>>
<<addMinutes 5>>
<<set $money -= $consumables[_i].price>>
<<set $consumables[_i].amount += 1>>
<<set $consumables[_i].forSale -= 1>>
<<if $tashaOpinion <= 59>>
<<set $tashaOpinion += 1>>
<</if>>
<<goto "SecondHandStore">>
<</if>>
<</link>></span></td>
</tr>
<</if>>
<</capture>>
<</for>>
</table>
<</nobr>>
<<linkreplace "Shop for second hand clothing">>
<<ClothingStoreWidget $tashaInventory>>
<</linkreplace>>
<<link "Go back" "ShoppingCenter">><<addMinutes 5>><</link>><<nobr>>
<<if $bulkBarnJob>>
<<if [0, 3, 4, 5, 6].includes($gameDate.getDay())>>
<<if $gameDate.getHours() <= 12 and $gameDate.getHours() >= 10>>
<<gameLink "Start your shift" "bulkBarnJob" time:480 exhaustion:30>><<set $eventCounter to setup.balance.eventTresshold + 1>>><</gameLink>><br><br>
<<else>>
Best to start your shift between 10 and 12.<br><br>
<</if>>
<<else>>
You don't need to work today, Eddy got it all (mostly) under control.<br><br>
<</if>>
<</if>>
<</nobr>>The Bulk Barn is almost a legendary spot in town, if only because the owner is so LOUD. Stacked to the ceiling with all kinds of supplements and workout gear, between them roams a man you will hear before you seeing, which is an impressive feat given his size. No matter what you need when it comes to lifting, they have it here by the bulk (no pun intended). And whenever you buy something, you just know the owner will talk your ears off and give you PLENTY of advice.
<br>
<<set _amounts to []>>
<table id="store">
<tr>
<th>Name</th>
<th>Description</th>
<th>Price/Portion</th>
<th>Total price</th>
<th>Amount</th>
<th></th>
</tr>
<<for _i to 0; _i < $gymStoreSupplies.length; _i ++>>
<<capture _i>>
<<set _amount to 0>>
<<set _amounts.push(_amount)>>
<tr id="row" @data-num="_i">
<td><<print $gymStoreSupplies[_i].name>></td>
<td><<print $gymStoreSupplies[_i].description>></td>
<td>$<<print $gymStoreSupplies[_i].price>></td>
<td>
$<span class="selected"><<print $gymStoreSupplies[_i].price>></span>
<<timed 0s>><<script>>
var boxes = $(".macro-numberbox#numberbox--amounts-i");
boxes.on("keyup", function () {
var mod = $(this).val();
$(this).parents("#row").find(".selected").fadeOut(250, function () {
var rowInxed = Number($(this).parents("#row").attr("data-num"));
var price = State.variables.gymStoreSupplies[rowInxed].price;
var value = Math.round(price * mod);
$(this).text(value).fadeIn(250);
});
});
<</script>><</timed>>
</td>
<td><span @id="_i"></span><<numberbox "_amounts[_i]" 0>></td>
<td><<button "buy - 00:05 🕛">>
<<set _replace to ("#" + _i)>>
<<if Util.isNumeric(_amounts[_i])>>
<<set _amountLocal to parseInt(_amounts[_i])>>
<<if _amountLocal <= 0>>
<<replace _replace>>Please type in a number greater than 0<</replace>>
<<else>>
<<set _prizebought to $gymStoreSupplies[_i].price * _amountLocal>>
<<if _prizebought > $money>>
<<replace _replace>>You can't afford that.<</replace>>
<<else>>
<<replace _replace>>Bought
<<addMinutes 5>>
<<set $money -= _prizebought>>
<<set $gymStoreSupplies[_i].amount += _amountLocal>>
<<update>>
<</replace>>
<</if>>
<</if>>
<<else>>
<<replace _replace>>Please type in a number<</replace>>
<</if>>
<</button>></td>
</tr>
<</capture>>
<</for>>
</table>
<table id="store">
<tr>
<th>Name</th>
<th>Description</th>
<th>Price</th>
<th></th>
</tr>
<<for _i to 0; _i < $fitnessStoreInventory.length; _i ++>>
<<capture _i>>
<tr>
<td><<print $fitnessStoreInventory[_i].name>></td>
<td><<print $fitnessStoreInventory[_i].description>></td>
<td>$<<print $fitnessStoreInventory[_i].price>></td>
<td><span id="result2"><<link "buy - 00:05 🕛">>
<<if $fitnessStoreInventory[_i].price > $money>>
<<replace "#result2">>You can't afford that.<</replace>>
<<else>>
<<addMinutes 5>>
<<set $money -= $fitnessStoreInventory[_i].price>>
<<set $furniture.push($fitnessStoreInventory[_i].name)>>
<<run $fitnessStoreInventory.deleteAt(_i)>>
<<goto "FitnessStore">>
<</if>>
<</link>></span></td>
</tr>
<</capture>>
<</for>>
</table>
<br>
<<linkreplace "Shop for sports wear">>
<<ClothingStoreWidget $bulkBarnInventory>>
<</linkreplace>>
<br>
<<set $bulkBarnVisited to true>>
<<link "Go back" "ShoppingCenter">><<addMinutes 5>><</link>><<set _rentMessage to "<b>Rent is due! " + $rentAmount + " has been withdrawn from your account.</b>">>
<<addToLog _rentMessage>>
<<set $money -= $rentAmount>>
<<update>><<nobr>>
<<widget "legLenghtDescription">>
<<if $ass < 0>><<set $ass to 0>><</if>>
<<if $legLenghtMod <= 0.8>>stubby
<<elseif $legLenghtMod < 1>>short
<<elseif $legLenghtMod is 1>>
<<elseif $legLenghtMod < 1.1>>long
<<elseif $legLenghtMod is 1.2>>incredibly long
<<else>>stilt-like
<</if>>
<</widget>>
<</nobr>><<nobr>>
<<widget "addMuscleInstant">>
<<set $muscle += parseFloat($args[0]) * $growthMod>>
<<set $muscle to Math.clamp($muscle, 0, 99999)>>
<</widget>>
<</nobr>><<nobr>>
<<widget "addMuscleSlow">>
<<set _workoutOutfitBonus to 1>>
<<script>>
for (let i = 0; i < State.variables.outfit.bonuses().length; i++) {
console.log(State.variables.outfit.bonuses());
if(State.variables.outfit.bonuses()[i].name == setup.clothingBonuses.WorkoutWear.name){
State.temporary.workoutOutfitBonus = 1.2;
break;
}
}
<</script>>
<<set $muscleStore += parseFloat($args[0]) * _workoutOutfitBonus>>
<</widget>>
<</nobr>><<set _workoutSkill to 0>>
<<for _i to 0; _i < $skills.length; _i ++>>
<<capture _i>>
<<if $skills[_i].name is "Working out">>
<<set _workoutSkill to $skills[_i].level>>
<<set $skills[_i].experience += 10>>
<</if>>
<</capture>>
<</for>>
<<set _adj to [
"hesitation",
"unease",
"confidence",
"practiced ease",
"no hesitation",
"utter confidence"
]>>
<<set _workoutPart to $workoutCycle.pop()>>
<<if $workoutCycle.length is 0>>
<<set $workoutCycle to [
"legs",
"core",
"arms",
"pecs",
"back"
]>>
<</if>>
<<set _workoutNeed to Math.round($muscle / 20)>>
<<if $workout is "gym">>
<<set _workoutGiven to _workoutSkill + 3>>
With some <<print _adj[_workoutSkill]>> you walk up to the machines.
<<if $height > 200>> It's pretty clear that they're not made for people your size. Getting on one would just be awkward, so you'll just have to stick to the free weights!
<</if>>
<<elseif $workout is "home">>
<<if $furniture.includes("starter weightset")>>
<<set _workoutGiven to _workoutSkill + 1>>
<</if>>
<<if $furniture.includes("decent weight set")>>
<<set _workoutGiven to _workoutSkill + 2>>
<</if>>
<<if $furniture.includes("excellent weight set")>>
<<set _workoutGiven to _workoutSkill + 3>>
<</if>>
<</if>>
With <<print _adj[_workoutSkill]>> you grab what you need, trying to remember how much you lifted last time.
<<if _workoutNeed > _workoutGiven>>
The weights here feel rather... light. You'll either need to improve your routine somehow, or find some heavier weights if you still want to get a good workout.
<<elseif _workoutNeed is _workoutGiven>>
The weights here are starting to feel a bit light. You can still get a decent workout, but if you want to keep it that way, you should either look for some heavier weights or get better at working out.
<</if>>
<br><br>
<<if _workoutSkill is 0>>
It takes forever to get into it, and by the time you are done, you're still not sure whether you actually did something... right. You're feeling your muscles, but was it enough? Perhaps you should see if you can find some more information about working out.
<<elseif _workoutSkill is 1>>
Since you know at least the basics, you can get started with some confidence. It takes you a bit to get into the zone, but when you're there, it's a decent workout!
<<elseif _workoutSkill is 2>>
The time you invested really pays off, as you can now confidently get to your workout, assured you're making good progress.
<<elseif _workoutSkill is 3>>
You know precisely what you are doing, and it's easy for you to get started. Lifting weights almost feels like second nature now, and you're sure you'll be making quick progress!
<<else>>
You work out like a pro, knowing each workout with such precision that personal trainers might ask you for advice! It's no surprise you get started quickly, knowing precisely what to do.
<</if>>
<<if _workoutPart is "legs">>
<<if $muscle > 80>>
Titanic legs tense before you even begin to lift, each and every fiber ready. Your muscles almost feal eager and anxious, knowing that you'll push them to even more insane sizes. Getting under the bar to squat, you contract them, the <<getMeasurement "thigh" true>> thighs exploding in size. Pushing the bar up, you feel the weight hit your shoulder and every muscle in your body tenses up, from your <<getMeasurement "calve" true>> calves to your shoulders, all focused to drive that weight UP. You have the feeling you are applying so much force into the ground that it wouldn't be surprising if you left footprints on the floor. With a grunt, you get the weight up. And then down you go, your humongous ass tensing. You complete rep after rep, before finally switching to deadlifts, raising the weight with such intensity that the entire building shakes. You don't even care if the neighbors might be bothered, as you feel the urge to find your limits.
<<elseif $muscle > 60>>
With eager steps, you walk to the weights, loading up the bar and getting ready for squats. As you get under it, you feel the weight on your shoulders, assured that you can do it. Bracing yourself, you revel on your <<getMeasurement "thigh" true>> thighs tensing up, your <<getMeasurement "calve" true>> calves expanding outwards and contracting just to keep your body steady. Pushing up, you grit your teeth, the bar slowly rising and falling to the rhythm of your workout. With each rep, your muscles expand a bit more, push out a bit more, become that bit more defined. You can't stop. Won't stop. The workout reaches insane levels, the floor sometimes shaking from it. Squats, deadlifts, those are just the start. When you are finally done, you can barely walk, but you FEEL bigger!
<<elseif $muscle > 40>>
Plating up the bar, you know you're in for a tough workout. Other people might complain about leg day, but you love it, finally able to prove just what you can do. Getting under the bar, you push up to derack it, and then lowering yourself. In instants, your ass feels like it's on fire. But you push through it, forcing yourself even if it takes every ounce of willpower within. Another rep. And another. Each one makes you feel more pumped, makes you feel stronger. When you're finally done working, out your legs just feel BIG, and they are at least <<getMeasurement "thigh" true>>!
<<elseif $muscle > 25>>
With some hesitation, you plate up the leg press. That's A LOT of weight, but you're sure you can do it. You start, and before you know it, you are into the zone, repeating rep after rep, exercise after exercise. It takes some time before you feel a good pump going, but when it comes, it hits you like lightning! You marvel at your pumped muscles, admiring the work they enable!
<<else>>
Though you try your hardest, the fact is that you just are not strong enough to lift a lot of weight. Nonetheless, you do what you can, dreaming of getting your body to become as big as possible. It's maybe not be much, but it's a start!
<</if>>
<<elseif _workoutPart is "core">>
<<if $muscle > 80>>
Laying down on the ground, you feel your back press against the cold floor below. You don't care. Your focus is somewhere else. As you tense the tectonic plates that form your abs, you swear you could almost hear the air around it implode, a shockwave coming from your stomach. You start doing simple crunches, though your mobility becomes compromised as your midsection simply bulges out too much with each new rep. You switch to doing planks, keeping your entire body rocksteady, despite the huge effort required to sustain that much mass. Sweat drips off of you onto the floor, but you just grit your teeth and push through. Soon enough, even your massive muscles become exhausted as the pain piles up - but you ignore it, powering through it.
<<elseif $muscle > 60>>
Getting down on the floor, you start another grinding workout: crunches, planks, Russian twists... anything to obliterate your thick abs. It takes a good while to get started, but when you do, it's like a diesel engine in action, just a repetitive ritual of pure power and strength. Soon enough, they feel like they are growing like a spinach-fueled cartoon, their sizable mass defying all odds. By the time you're done, dripping with sweat, you have no doubts you have given your all.
<<elseif $muscle > 40>>
Core workouts are never easy. The exercises look deceptively simple, but require concentration and unbounded willpower. Luckily, you easily manage to find that focus, completing a series of crunches, Russian twists and planks in various cycles to get the most of each. Soon enough, your entire core feels like it's on fire... and yet, you keep going, pushing that little bit more that ensures the workout goes to the next level.
<<elseif $muscle > 25>>
Crunches, planks, Bulgarian splits... it all sounds simple, but over and over they kick your ass, or core, in this case. After a few minutes, the burn starts to get the best of you. And yet, you make sure to get all you can from this routine!
<<else>>
Core. Freaking. Sucks. You can barely maintain form, and after just seconds it hurts more than you can handle, but you push through it and manage to get all you can, little as it may be.
<</if>>
<<elseif _workoutPart is "arms">>
<<if $muscle > 80>>
Picking up the weight, your colossal arms tense up as veins are forced to the surface. Slowly, you start warming up, but your muscles are eager to grow more gigantic still, each rep forcing them to grow bigger, and bigger, and bigger, until your upper arms reach their astonishing <<getMeasurement "upperArm" true>> in size! Even your lower arms look humongous, appearing to be at least <<getMeasurement "lowerArm" true>>! Still, you push through every exercise you know: bicep curls, triceps extensions, switching from biceps to triceps to forearms, squeezing every little bit of mass you can out of this routine. By the time you are done, you finish with a monstrous flex, showing the world just how humongous you have become!
<<elseif $muscle > 60>>
As you begin lifting, your arms quickly get an impressive pump, huge biceps tensing while every bulge in the triceps pushes out for bold contrast. Some veins come to the surface as a testament to your efforts; looking at them, you estimate your arms to be at least <<getMeasurement "upperArm" true>>! Heh, it's a good start, but you know you can still make them grow! With some extra curls, you try to coax a bit more mass out, gritting your teeth throughout the whole ordeal. Sweat pours from you in buckets, your arms screaming for rest. But you don't stop until you can't lift anymore, giving one mighty last flex to show the world who the boss is here!
<<elseif $muscle > 40>>
When you begin lifting, you only need a small warm up before your arms are ready and you can truly get serious. Looking in the mirror, you see them swell up, pumped up from the workouts and just looking plain BIG. Hell, you've seen bodybuilders smaller than you! Mid-workout, you estimate your upper arms to be <<getMeasurement "upperArm" true>> while your forearms measure an impressive <<getMeasurement "lowerArm" true>>. But you know there is more to be had, and you refuse to give up until you get every last bit of effort in. By the time you are done, you can barely stand, your arms hanging by your side in complete exhaustion, but you have no doubts you just had the best session you could manage.
<<elseif $muscle > 25>>
Grabbing the weights confidently, you just get going, and soon you feel a great pump coming. You don't know whether it's all the stuff that has happened recently or just the frustration powering your routine, but as soon as you start lifting, you know you are in the zone. Bicep curls, triceps extensions... you try your best, soon getting your arms to what you estimate to be <<getMeasurement "upperArm" true>>.
<<else>>
Grabbing the weights, you are determined to do your best, little as it may be. You just don't have the muscles to do a respectable workout, your arms measuring a measly <<getMeasurement "upperArm" true>>. Still, you power through all of it, certain you'll get bigger soon enough!
<</if>>
<<elseif _workoutPart is "back">>
<<if $muscle > 80>>
Shoulders. Trapezius. Lumbar. You know them all, and you know you will feel them all soon enough, slowly starting the workout. Like an old steam train picking up speed, your pace starts slow but grows with inevitable certainty, each workout done picking up more intensity. Whether you're doing rows, shoulder raises or shrugs, there's undeniable intensity in your eyes and your every movement, and you refuse to stop before each and every muscle is pushed to utter exhaustion. The mountains on your back rise, the valleys deepen as a continent of muscles shift and reform with every rep. It sparks a thirst in your soul. You need more. More. MORE. You keep lifting, the building shaking from your movements. Only when all your muscles refuse to get more pumped you become satisfied, certain that this workout will grant you even more mass to your already titanic frame.
<<elseif $muscle > 60>>
Working back and shoulders is always a challenge, given the proportionally smaller muscles there. Heh. Well, they are still huge in your case. It only takes a while before your back turns into a relief map of mountains and valleys, each more pronounced than the last. Shoulder raises, rows, shrugs, you do them all vying for that inevitable pump, delighting in witnessing as your outline becomes bigger and bigger before you. You drain every little bit of effort from the metal in your weights, irrigating them with your hard-earned sweat. You gave it your all, and you're sure this will just drive your body into becoming inevitably bigger and stronger.
<<elseif $muscle > 40>>
The back and shoulders are difficult to train, but you won't take that as an excuse, and soon you forget all about it. It only takes a little while before they feel PUMPED and ready to go! Rows, extensions, shrugs, shoulder raises... you need no break, always eager to start the next one. Soon enough you find yourself tiring into exhaustion, and yet you sneak that extra rep at every chance. Soon enough, you find yourself collapsed on the floor, panting heavily, but smiling as you know you gave it all you got. And then some.
<<elseif $muscle > 25>>
Back and shoulders time. You jump and twist them as you move your neck side to side, loosening them up a bit before you start. You look forward to a good workout, maybe even a decent pump. Starting with shoulder raises, you find yourself incredibly focused. Before you know it, you feel it: a good pump coming. Rep after rep, exercise after exercise, you might be grinding your teeth and smiling, but deep inside you know it's just a matter of time before you grow even more.
<<else>>
Uuuuurgh. Back and shoulders are the worst. You can barely get the weights up, and it just gets harder from there really fast. But you can get a decent workout going after a while. You're almost too weak to do even the most basic exercises. But you push through the pain, trying to get most out of it.
<</if>>
<<elseif _workoutPart is "pecs">>
<<if $muscle > 80>>
Slowly, you lay down on your back, loving the groaning sound of the metal under you. It brings a smile to your face, knowing you're quickly outgrowing any workout surface available. With an iron grip you hold the bar, feeling the metal squeezed between your fingers, almost like it could give in to the pressure applied. As you start lifting, the huge tectonic plates you have for pecs shift, exploding outwards as if they know the herculean effort needed. The barbell goes up and down, once, twice, three times as your muscles swell up, each lift making them a bit more pumped. Feeling them grow only inspires you to work harder, veins pushing to the surface and sweat pouring out of your forehead. When you start your last set of reps, you can almost swear your muscles will explode, but you give it your best as you roar in defiance, the steel of the bar yielding to your unwavering will. As it rises, you feel unstoppable, each muscle in your body shivering with delight.
<<elseif $muscle > 60>>
As you lay down you can feel the equipment bending. It lets you know just how gigantic you have become, hinting at how utterly pumped you are about to get. As you start lifting, your pecs swell up from the warm-up alone, like they are eager to explore their seemingly infinite potential. Pumping out reps, you get into the zone before you even realize it, your massive pecs towering with each movement. Rep after insane rep they keep at it, pressing weights that would make many a bodybuilder jealous. Gripping the weights harder and harder, you feel the mounting effort in your bones, but with gritted teeth you push through it all, your pecs rising more than they've ever done before. When you finally release the weight, you lay on the bench exhausted and panting, knowing you could not have expected more from yourself.
<<elseif $muscle > 40>>
Laying down on the bench, you decidedly grab the bar, slowly lifting the huge weight. It feels good in your hand, really good. Slowly, the bar goes down, then up. Like the rhythmic beating of a drum, you lift slowly and steadily, each rep inflating your pecs like an imaginary pump. It doesn't take long before you're grinding out uncountable reps, vying to get every last bit of gain from the exercise. When you're finally done, you re-rack the bar, laying on the bench exhausted, but satisfied.
<<elseif $muscle > 25>>
Grabbing the bar, you brace yourself for some serious bench pressing. Soon enough, you are off to the races. The weight you're lifting is not that impressive, but you're decided to do your best, giving it all you got. And so follows a long procession of reps. By the time you are done, you feel exhausted and happy, knowing you pushed yourself.
<<else>>
Grabbing the bar, you hope to get in the zone, but even with barely any weight loaded, it feels almost too heavy. You push yourself into completing a few reps before your chest is burning from the effort, forcing you to slow down. While you try your best, you just have to face it that it's simply not that much.
<</if>>
<</if>>
<<script>>
for (let i = 0; i < State.variables.outfit.bonuses().length; i++) {
console.log(State.variables.outfit.bonuses());
if(State.variables.outfit.bonuses()[i].name == setup.clothingBonuses.WorkoutWear.name){
State.temporary.workoutOutfitBonusDesc = true;
break;
}
}
<</script>>
<<if _workoutOutfitBonusDesc>>
<br><br>
Wearing the right outfit certainly helps, as you feel these clothes really help you work out better!
<</if>>
<br><br>
[[Return|$return]]<h2>Game Difficulty</h2>
Determines the difficulty of the game. This does not determine how fast the player grows, merely the challenge during the game.
<<radiobutton "$difficulty" "sandbox" autocheck>> Sandbox - far more money and items available, it's impossible to get fired from jobs.
<<radiobutton "$difficulty" "easy" autocheck>> Easy - more money and items available.
<<radiobutton "$difficulty" "medium" autocheck>> Medium - the game will challenge you with balancing money and growth.
<<radiobutton "$difficulty" "hard" autocheck>> Hard - the game will go out of its way to bankrupt you and cause a game over.
<h2>Growth speed </h2>
Determines the general rate at which the main character grows. This makes the game advance quicker.
<<radiobutton "$growthMod" 0.5 autocheck>> Slow
<<radiobutton "$growthMod" 1 autocheck>> Medium
<<radiobutton "$growthMod" 1.5 autocheck>> Fast
<h2>Daily amount of potions </h2>
Determines the amount of potions that will appear in the shop daily.
<<radiobutton "$dailyConsumableAmount" 1 autocheck>> 1
<<radiobutton "$dailyConsumableAmount" 2 autocheck>> 2
<<radiobutton "$dailyConsumableAmount" 3 autocheck>> 3
<h2>Muscle growth Style</h2>
Determines the style of muscle growth. At 'Fantasy' you can expect the protagonist to be the size of a large male bodybuilder by mid-game. At 'Realistic' you can expect her to aim for a Grecian Ideal Physique, resulting in more realistic development.
<<radiobutton "$muscleGrowthStyle" "Realistic" autocheck>> Realistic
<<radiobutton "$muscleGrowthStyle" "Fantasy" autocheck>> Fantasy
<h2>Measurement system</h2>
Determines the measurement system used in-game.
<<radiobutton "$measurementSystem" "imperial" autocheck>> Imperial
<<radiobutton "$measurementSystem" "metric" autocheck>> Metric
<h2>Enable debug mode</h2>
Enables debug mode. This can break save games or have unintended effects. Only for testing purposes.
<<radiobutton "$debug" "false" autocheck>> false
<<radiobutton "$debug" "true" autocheck>> true
<h2>Speech icon size</h2>
Sets the size of the icons that display within speech dialog boxes.
<<radiobutton "$iconSize" "75px" autocheck>> small
<<radiobutton "$iconSize" "125px" autocheck>> medium
<<radiobutton "$iconSize" "200px" autocheck>> large
<h2>Enable Futa content</h2>
When this is on, the player may grow a penis.
<<radiobutton "$futa" true autocheck>> on
<<radiobutton "$futa" false autocheck>> off
<h2>Add lactation content</h2>
When this is on, the player may start leaking milk
<<radiobutton "$lactationSetting" true autocheck>> on
<<radiobutton "$lactationSetting" false autocheck>> off
<<link "return" $return>>
<<if $difficulty is "sandbox">>
<<set $difficultyMod to 0>>
<<elseif $difficulty is "easy">>
<<set $difficultyMod to 0.5>>
<<elseif $difficulty is "normal">>
<<set $difficultyMod to 1>>
<<elseif $difficulty is "hard">>
<<set $difficultyMod to 1.5>>
<<else>>
<<set $difficultyMod to 1>>
<</if>>
<<set $rentAmount to 100 * $difficultyMod>>
<<if $debug is "true">>
<<run Config.history.maxStates = 5;>>
<<run Config.history.controls = true;>>
<<else>>
<<run Config.history.maxStates = 1;>>
<<run Config.history.controls = false;>>
<</if>>
<<script>>
var iconSize = State.getVar('$iconSize');
document.documentElement.style.setProperty('--iconSize', iconSize);
<</script>>
<</link>><h1><<print $playerFirstName>> <<print $playerLastName>></h1>
<table>
<tr>
<th style="width:50%;vertical-align: top;">
<div style="width:100%;padding-block: inherit;display: table; height:450px;">
<span class="player mirror"><span style="width:300px; height:300px; padding: 10px 10px 10px 10px; border-radius: 300px;" class="avatar mirror"></span></span></div>
</th>
<th style="width:50%;vertical-align: top;">
<<radarChart>>
</th>
</tr>
<tr>
<th style="width:50%;vertical-align: top;"><<include "SkillSheet">></th>
<th style="width:50%;vertical-align: top;"><<include "RelationshipSheet">></th>
</tr>
</table>
[[Return|$return]]<<nobr>>
<<set _added to "">>
/* WHEN UPDATING, ALSO UPDATE IN STARTUP SCENE */
<<set $skills[$skillIndexGained].level += 1>>
<<if $skills[$skillIndexGained].level is 1>>
<<set _skillLevel to "beginner">>
<<if $skills[$skillIndexGained].name is "Sewing">>
<<set _added to "<br> And not only that, you can now scrap projects and recover 50% of the fabric!">>
<<set $fabricScrapPercentage to 0.5>>
<</if>>
<<if $skills[$skillIndexGained].name is "Working out">>
<<set _added to "<br> And with the basics of working out understood, you are confident you can now get a good workout quicker, without getting as tired.">>
<<set $workoutSkillTimeMod -= 0.25>>
<<set $workoutSkillMuscleGainMod += 0.1>>
<<set $workoutSkillExhaustionMod -= 0.1>>
<</if>>
<<if $skills[$skillIndexGained].name is "Cooking">>
<<set _added to "<br> And with what you learned, all your cooking is now cheaper and tastes better, making it all more enjoyable to eat. Also, you learned a few new recipes!">>
<<set $cookingSkillPriceReduction to 0.9>>
<<set $cookingSkillMotivationBonus to 1.1>>
<<set $diets.push({ name: "Protein rich diet",
level: 0,
muscleGain: setup.balance.muscleAllowancePerDay * 0.2,
fatGain: 0.1,
price: setup.balance.baseMoneyPerDay * 1.2,
time: 60,
happinessGain: -20,
minimumExhaustion: 10,
description: "Eating a protein-rich diet will let you bulk up faster, but it's hard to maintain and pretty expansive."})>>
<<set $diets.push({ name: "Lean diet",
level: 0,
muscleGain: setup.balance.muscleAllowancePerDay * 0,
fatGain: -0.5,
price: setup.balance.baseMoneyPerDay * 1.2,
time: 60,
happinessGain: -20,
minimumExhaustion: 10,
description: "This lean diet is perfect for maintaining muscle, while still losing weight."})>>
<</if>>
<<elseif $skills[$skillIndexGained].level is 2>>
<<if $skills[$skillIndexGained].name is "Working out">>
<<set $shyConfident += 1>>
<<set $workoutSkillMuscleGainMod += 0.1>>
<<set _added to "<br> And not only that, all this knowledge about working out has made you more confident too! +1 Confidence.">>
<<elseif $skills[$skillIndexGained].name is "Sewing">>
<<set _added to "<br> And not only that, you can now craft clothing from scratch using your sewing machine!">>
<</if>>
<<if $skills[$skillIndexGained].name is "Cooking">>
<<set _added to "<br> And with what you learned, all your cooking is now ready faster, and with some new recipes to boot!">>
<<set $cookingSkilltimeReduction to 0.9>>
<<set $diets.push({ name: "Fancy cooking",
level: 0,
muscleGain: setup.balance.muscleAllowancePerDay * 0.2,
fatGain: 0.5,
price: setup.balance.baseMoneyPerDay * 5,
time: 120,
happinessGain: -30,
minimumExhaustion: -20,
description: "With this, you'll really challenge your cooking skills. It won't be cheap or healthy, but it'll be FUN."})>>
<</if>>
<<set _skillLevel to "intermediate">>
<<elseif $skills[$skillIndexGained].level is 3>>
<<if $skills[$skillIndexGained].name is "Book keeping">>
<<addTrigger "expertBookKeeper" false false>>
<<set $carefreeCarefull += 1>>
<<set _added to "<br> And not only that, you got the feeling that all this knowledge about tracking finances has made you more aware of risks. +1 Carefulness.">>
<</if>>
<<if $skills[$skillIndexGained].name is "Cooking">>
<<set $cookingMealPrep to true>>
<<set _added to "<br> And not only that, you can now prepare meals in advance in the kitchen, enabling you to save time!">>
<</if>>
<<if $skills[$skillIndexGained].name is "Working out">>
<<set _added to "<br> And now you're a true gym rat, you'll have no problem getting even more gains in!">>
<<set $workoutSkillTimeMod -= 0.25>>
<<set $workoutSkillMuscleGainMod += 0.1>>
<<set $workoutSkillMinimumExhaustionMod -= 0.1>>
<</if>>
<<if $skills[$skillIndexGained].name is "Sewing">>
<<set _added to "<br> And not only that, you can now scrap projects and get 75% of the fabric back!">>
<<set $fabricScrapPercentage to 0.75>>
<</if>>
<<if $skills[$skillIndexGained].name is "Cooking">>
<<set _added to "<br> And with what you learned, your cooking got EVEN faster, and with some new recipes, too!">>
<<set $cookingSkilltimeReduction to 0.8>>
<<set $diets.push({ name: "Cutting",
level: 0,
muscleGain: setup.balance.muscleAllowancePerDay * 0.2,
fatGain: -1,
price: setup.balance.baseMoneyPerDay * 1.2,
time: 45,
happinessGain: -30,
minimumExhaustion: -20,
description: "This diet is tailor-made for minimizing muscle loss and maximizing fat loss."})>>
<</if>>
<<set _skillLevel to "expert">>
<<elseif $skills[$skillIndexGained].level is 4>>
<<set _skillLevel to "master">>
<<if $skills[$skillIndexGained].name is "Working out">>
<<set $workoutSkillMuscleGainMod += 0.2>>
<<set $workoutSkillMinimumExhaustionMod -= 0.2>>
<<set $shyConfident += 1>>
<<set _added to "<br> And not only that, you get the feeling that all this knowledge about working made you more confident as well! +1 Confidence.">>
<<addTrigger "expertWorkout" false false>>
<</if>>
<<if $skills[$skillIndexGained].name is "Sewing">>
<<set _added to "<br> And not only that, sewing sessions now only take 20 minutes instead of 30!">>
<<addTrigger "expertSewing" false false>>
<</if>>
<<if $skills[$skillIndexGained].name is "Cooking">>
<<set _added to "<br> And with what you learned, all your cooking is now cheaper, quicker, and tastier! It's the best of all worlds!">>
<<set $cookingSkillPriceReduction to 0.8>>
<<set $cookingSkillMotivationBonus to 1.2>>
<<addTrigger "expertCook" false false>>
<</if>>
<<if $skills[$skillIndexGained].name is "Book keeping">>
<<addTrigger "expertBookKeeper" false false>>
<<set $carefreeCarefull += 1>>
<<set _added to "<br> And not only that, you got the feeling that all this knowledge about tracking finances has made you more aware of risks. +1 Carefulness.">>
<<addTrigger "expertBookKeeping" false false>>
<</if>>
<</if>>
<<set _text to "Your skill in " + $skills[$skillIndexGained].name + " improved! You're now a " + _skillLevel + ".">>
<<set _text += _added>>
<<script>>
console.log(State.temporary.text);
var dialog = Dialog.setup("Skill gained!");
new Wikifier(dialog, State.temporary.text);
Dialog.open();
<</script>>
<</nobr>>Let's see... there is plenty you can do on this thing. <<if $furniture.includes("web cam")>>It has a webcam you could use for streaming, if you wanted to.<</if>>
<br><br>
<<if $furniture.includes("web cam")>>
<<if setup.isOutfitNude() && $debug != "true">>Best not to stream while you're barely dressed, or you might just get kicked out of the website real quick.<br><br>
<<elseif $motivationPercentage >= $exhaustionPercentage && $exhaustion + $streamingExhaustion < 100>><<gameLink "stream for a bit" "streaming" motivation:10 exhaustion:$streamingExhaustion time:60>><</gameLink>>
<<else>> You don't feel like streaming<</if>>
<br><br><</if>>
<<gameLink "Play some games" "gaming" motivation:20 exhaustion:-10 time:60>><</gameLink>>
<br><br>
<<if $exhaustionPercentage < $motivationPercentage && $exhaustion + $skillExhaustionCost < 100>>
<<gameLink "Improve a skill" "improveSkill" exhaustion:$skillExhaustionCost time:60 motivation:5>><</gameLink>>
<br><br>
<<else>>
You just don't have the energy to improve a skill right now.
<br><br>
<</if>>
<<if $hackingUnlocked>>
<<link "Try to hack the USB stick" "pcUsbHacking">><</link>>
<br><br>
<</if>>
<<link "Check your progress" "measurementProgressView">><</link>>
<br><br>
<<if $quests[$getJobI].started is true and $quests[$getJobI].completed is false and $jobInterview is false and $jobInterviewOver is false>>
<<if $exhaustionPercentage < $motivationPercentage && $exhaustion + 10 < 100>>
<<gameLink "Look for a job" "jobSearch" motivation:-10 exhaustion:10 time:30>><</gameLink>><br><br>
<<else>>
Ugh, you're just way too tired to look for a job.<br><br>
<</if>>
<</if>>
<<linkreplace "Shop for clothes online - 00:30 🕛">><<addMinutes 30>>
Luckily enough, it's easy to find clothing online. It'll be delivered the next day at 9AM, even if you're not at home. <br>
<<update>><br>
<<ClothingStoreWidget $onlineInventory>>
<</linkreplace>><br><br>
<<link "That's enough of that" "Bedroom">><</link>><<nobr>>
<<set _gamingResult to random(0,5)>>
<<skillIncrease "gaming" 20>>
<<if _gamingResult is 0>>
Oh, COME ON! That kill was TOTALLY stolen, you just can't believe this bullshit! Despite the often frustrating matches, it felt good to just hang back and relax a bit, wasting time on fun games. And hey, time enjoyed is not time wasted, right?
<<elseif _gamingResult is 1>>
You played some good matches online! Despite the occasional frustrating opponents, it was good to just unwind a bit, getting better at the game. And hey, time enjoyed is not time wasted right?
<<elseif _gamingResult is 2>>
The servers were teeming with fresh blood due to the recent update, and they came to you like lambs to the slaughter. Left, right, and center, you mowed them down as they begged for mercy, striding among them like a war god. Or a bratty kid. You had a good time, nonetheless.
<<elseif _gamingResult is 3>>
Ugh, a new update just released and OF COURSE all try-hards came from under their rocks! Just having fun? NOPE! Spawncamped into oblivion, of course, with no chance of even having the slightest fun. Despite the frustration, it felt good to just spend some time gaming.
<<else>>
You played some nice, relaxing matches. No real bad games, no real good games, it was just plain old mind-numbing fun. And, hey, sometimes that's just what the doctor ordered, right?
<</if>>
<</nobr>>
[[Return|$return]]<<nobr>>
<<if $difficulty is "sandbox">>
<<set $difficultyMod to 0>>
<<elseif $difficulty is "easy">>
<<set $difficultyMod to 0.5>>
<<elseif $difficulty is "normal">>
<<set $difficultyMod to 1>>
<<elseif $difficulty is "hard">>
<<set $difficultyMod to 1.5>>
<<else>>
<<set $difficultyMod to 1>>
<</if>>
<<set $rentAmount to 100 * $difficultyMod>>
/* consumables deck */
<<set _settings to []>>
<<if $futa is false>>
<<set _settings.push("futa")>>
<</if>>
<<set $consumablesDeck to []>>
<<for _i to 0; _i < $consumables.length; _i ++>>
<<capture _i>>
<<if $consumables[_i].settings.includesAny(_settings)>>
<<script>>console.log("Not allowed due to futa");<</script>>
<<else>>
<<for _j to 0; _j < $consumables[_i].uses; _j ++>>
<<set $consumablesDeck.push($consumables[_i].name)>>
<</for>>
<<set $consumablesDeck.push($consumables[_i].name)>>
<</if>>
<</capture>>
<</for>>
<<script>>console.log(State.variables.consumablesDeck);<</script>>
<</nobr>>After setting the final box down, you let out a deep sigh. Though everything was now inside, you still have a lot of unpacking to do before you can call this room your own. While it might be barren now, given that it is in the underground basement of your dorm, with some TLC and elbow grease, this has the potential to be a really nice home! You're still extremely happy about being able to move out of your previous dorm, given what happened there. And the rent isn't even too steep; just $<<print $rentAmount>> a week!
What you're less excited about is just how winded you are. It's kinda disappointing how far you've let yourself slip during the last semesters. Maybe this summer break would be a good time to do something about this...
Your train of thought is interrupted by a sudden knock on your door.
<span id="other"><<link "Open the door" "GameIntro2">><</link>>
<span class="important">Some choices require a certain level in a skill or personality trait to succeed.</span>
<span class="important">The skill needed is displayed in the option, along with your current level.</span>
<span class="important">You can check your levels and personality in the 'Skills & traits' tab on the left.</span></span>
<<PersonalityCheck $shyConfident >= 2 "Tell them you're busy">>They literally cannot get here.<<Failed>>You'd rather tell them off and focus on getting your room ready. Still, isn't it really rude to just tell people to go away? While you're deep in thought, the knocking continues, brimming with enthusiasm. With a sigh, you get up, wishing you were better at standing your ground.<<replace "#other">><</replace>>
<<link "Open the door" "GameIntro2">><</link>><</PersonalityCheck>>You open the door a bit, and the person you see is a dead ringer for the exceedingly energetic voice. Looking at him, you see a textbook victim of early-onset puberty: short, thin, bad posture and an adorable head of messy brown hair. Still, he seems nice enough.
He continues, barely giving you enough time to react;
<<Dialogue "Johan" "Johan">>"I didn't think there'd be anyone here! Usually no one shows up during the summer, so I was completely surprised when I saw the boxes in the hallway. I take it that they are yours? Anyway, welcome to the building! I'm Johan, everyone here knows me and if you need anything just let me -"<</Dialogue>>
Dear God, that's a lot of energy! He rattles on for a bit, quickly telling you about most of the other tenants and seemingly everyone to ever step in the building since the revolution. After a few sentences, he has lost you completely, but doesn't even notice. After some nodding on your part, he finally realizes that a conversation traditionally requires two participants.
<<Dialogue "Johan" "Johan">>"...And let's not even talk about the mustard incident! Anyway, what's your name?"<</Dialogue>>
<span id="nameChoice"><<textbox "$playerFirstName" "Summer">><<textbox "$playerLastName" "Quinn">><<button "Enter">><<replace "#nameChoice">><<Dialogue "player" "You">>"I'm <<print $playerFirstName>>. <<print $playerFirstName>> <<print $playerLastName>>. You said your name is Johan, right?"<</Dialogue>>
You immediately regret handing him the reins of the conversation once again.
<<Dialogue "Johan" "Johan">>"Yeah, that's me! Captain General Supreme of the local T-T-R-P-G Club, and leader of the local board game night, guilty as charged! Anyway, do you need some help? I'm always willing to help a friend out!"<</Dialogue>>
<span id="genderChoice"><<set $motivation -= 10>>
<<link "Appreciated, but no thanks.">><<set $johanMainQuestQuestion to true>><<replace "#genderChoice">>You quickly reassure him;
<span id="nameChoice">
<<Dialogue "player" "You">>"Don't worry, I can handle this well enough!"<</Dialogue>>
</span>
Johan seems to take the hint, though he's still almost speedrunning this conversation.
<<Dialogue "Johan" "Johan">>"Oh, good! I gotta go anyway, I gotta do the... uhm... thing!"<</Dialogue>>
He barely got the last word in before walking away.
<<link "You could use a small break after this..." "GameIntro3">><</link>><</replace>><</link>>
<<PersonalityCheck $carefreeCarefull <= -1 "Sure, why not?">><<set $johanOpinion += 5>><<replace "#genderChoice">><<Dialogue "player" "You">>"Sure, why not?"<</Dialogue>>
You shrug, thinking it's a good way to get to know your neighbor and speeding things up. And what's the worst that can happen by letting a stranger into your house?
<<Dialogue "Johan" "Johan">>"In that case, I'm more than happy to help!"<</Dialogue>>
Johan immediately moves past you as he obviously tries to just skip the awkwardness he single-handedly prompted. With some instructions, the two of you manage to get an impressive amount of work done within a few hours, and it seems that Johan's enthusiasm is fully present in his work ethic! While he simply can't seem to stop talking, he is also helping quite a bit! After 3 or 4 hours of solid work, you thank him with a beer, which he happily gulps while going over the history of the building.
<<Dialogue "Johan" "Johan">>"Well, it's good to have someone here again. The last guy who lived down here caused an ABSOLUTE mess, but then again, what would you expect from a biological chemistry major who keeps tinkering with crazy experiments at home? There was something about 'supplement peanut butter' winding up in someone's fridge, a bunch of stories about weird side-effects and, before you knew, he is getting booted off campus. Still, listen, thanks for the beer and welcome to the building! Drop by any time! And I mean that literally!"<</Dialogue>>
And with that, he was finally off.
<<addQuestProgress "mainQuest1" 1>><<set $mainQuestProgressMade to true>>
<<link "You could use a small break after this..." "GameIntro3">><</link>>
<</replace>><<Failed>>No.<</PersonalityCheck>></span>
<</replace>><</button>>
</span>Walking towards the fridge for a drink, you continue thinking, making a mental note to put some more work into your social skills to prevent another awkward situation. Walking past a mirror, you catch a quick look at yourself: thin as can be, tiny at <<heighNumeral>> and the only notable feature being your messy hair. Ugh, what a first impression Johan must have had? Though you're tired and your appearance is a mess, you worry that you should try to be more presentable when meeting new people; but that's who you are and you can't really change your bod-
<<Dialogue "player" "You">>"What the FUCK!?"<</Dialogue>>
The aftertaste of the beverage hits you like a truck, like burned tires drenched in acid. The weird feeling seeps deep into your bones from the inside out, giving you a chill that travels down your body, then up again. After shivering for a split second, and even though you had quite a few large gulps, you just spray whatever is left inside your mouth into the air. A weird blueish-hued mist seems to glow before your very eyes, freaking you out immediately. You bring the slightly dented aluminum can you had in your hand to your eyes: a neat blue label says "G-ACTIV, B102". Great, you've just accidentally drank someone's... whatever it was that they left there. Strangely enough, you don't feel bad. In fact, now that the shiver has subsided, you feel kind of motivated and energized again, though the nasty aftertaste lingers on your tongue, tingling! After making sure you're not sweating, nauseous or anything, you still need something to wash that out. What should you have?
<span id="choice">
<<link "Some milk">><<replace "#choice">>You <<addBreastsSlow setup.balance.breastAllowancePerDay*1>>quickly down some milk, quickly removing the previous taste. But you do feel a bit woozy. Combined with the strange warmth in your chest, maybe need to keep an eye out for any side effects. Still, you don't feel that bad! Maybe even a little excited! You straighten your back and decide to get to it! It's summer break, there's plenty to do and plenty that needs doing.
<<addQuest "cleanHouse">>
<<addQuest "getJob">>
<<addQuest "mainQuest1">>
<span class="important">Some actions take time. Those are indicated by the - 00:20 🕛 icon, indicating how much time the action will take. They might also change your exhaustion and motivation, which determine what actions you can accomplish. Go to the 'help' tab for more information on how to play the game.</span>
<<gameLink "Let's get started!" "Home" motivation:50 time:10>><<set $introOver to true>><</gameLink>>
<</replace>><</link>>
<<link "A tall bottle of water">><<replace "#choice">><<addHeightSlow setup.balance.heightAllowancePerDay*1>>Looking around you sip the water, appreciating the work you did. The water is refreshing and cold, chilling you on the way down. Chilling you quite a lot, in fact, almost like freezing. Was this drink off too? Combined with the strange warmth in your chest, maybe you should keep an eye out for any side effects. Still, you don't feel that bad! A bit excited, even! You straighten your back and decide to get to it! It's summer break, there's plenty to do and plenty that needs doing.
<<addQuest "cleanHouse">>
<<addQuest "getJob">>
<<addQuest "mainQuest1">>
<span class="important">Some actions take time. Those are indicated by the - 00:20 🕛 icon, indicating how much time the action will take. They might also change your exhaustion and motivation, which determine what actions you can accomplish. Go to the 'help' tab for more information on how to play the game.</span>
<<gameLink "Let's get started!" "Home" motivation:50 time:10>><<set $introOver to true>><</gameLink>>
<</replace>><</link>>
<<link "A sports drink">><<set $muscleGrowthMaxTemp += setup.balance.muscleAllowancePerDay * 4>><<addMuscleSlow setup.balance.muscleAllowancePerDay*1>><<replace "#choice">>You go for a sports drink that you saved from the last time you got ambitious about working out. You drink it, quickly supplanting the scary aftertaste. But it makes you feel a bit woozy for an instant. Combined with the strange warmth in your chest, maybe should keep an eye out for any side effects. Still, you don't feel that bad! A bit excited, even! You straighten your back and decide to get to it! It's summer break, there's plenty to do and plenty that needs doing.
<<addQuest "cleanHouse">>
<<addQuest "getJob">>
<<addQuest "mainQuest1">>
<span class="important">Some actions take time. Those are indicated by the - 00:20 🕛 icon, indicating how much time the action will take.</span>
<<gameLink "Let's get started!" "Home" motivation:50 time:10>><<set $introOver to true>><</gameLink>><</replace>><</link>>
</span><<set $storeOnlineBought to []>>
<<set $storeOnlineBoughtDelay to []>>
/* Transformables */
<<set $consumables to [
{
name: "Taste-improver",
description: "Right, this is a weird one. It looks similar to the bottle you found in your fridge, but the side effects note \'increased taste and tongue feel\'.",
transform: "instantTongueGrowth",
amount: 0,
uses: 0,
price: 30,
forSale: 0,
settings: [],
HideInStores: false,
dropRate: 1,
effects: [
{
code: () => "",
description: () => "The thick liquid goes down your throat, the rich fluid filling your mouth with a wave of rolling tastes! Bitter, sweet, umami, sour, salty... you taste it all at once, in almost sickening amounts. After smacking your lips a few times, something feels... off. The taste fades as quickly as it came, leaving your mouth oddly numb. It's just... weird.",
shortDescription: () => "",
chance: 1,
discovered: false
},
{
code: () => "<<set $tongueLenght += 1>>",
description: () => " As the aftertaste lingers and you make weird movements with your mouth, it takes a second for you to realize what's wrong; your tongue just feels... too big for your mouth! It only lasts for a second, but somehow it's strangely different!",
shortDescription: () => "Lenghtens tongue",
chance: 0.5,
discovered: false
},
{
code: () => "<<set $lips += 1>>",
description: () => " You make a puckering motion as you realize something's wrong; your lips just feel... fuller! It only lasts for a second, but you're sure something feels different!",
shortDescription: () => "Thickens lips",
chance: 0.5,
discovered: false
}
]
},
{
name: "END 001A booster",
description: "Another bottle in the same style of the one you found in your home. On the label is nothing but the weird name, and for some reason some small scribbling noting side-effects such as \'enlarged lips, chest, hips and distraction\'...?",
transform: "instantBimboJuice",
amount: 0,
uses: 0,
price: 40,
forSale: 0,
settings: [],
HideInStores: false,
dropRate: 1,
effects: [
{
code: () => "<<set $motivation += 10>><<addBreastsSlow setup.balance.breastAllowancePerDay>>",
description: () => "The thick liquid pours down your throat, tasting sweet, chewy and tasty. It's intoxicating, though the bubblegum flavor is incredibly intense.",
shortDescription: () => "Adds motivation and grows breasts",
chance: 1,
discovered: false
},
{
code: () => "<<set $motivation += 10>><<set $hips += 1>>",
description: () => " A heat washes over your body, traveling down your stomach into your legs. Some of it rises to your chest again, making sweat break out over your entire body as you feel amazing. The heat lingers in your chest and hips, almost like they are pushing outwards.",
shortDescription: () => "Increases motivation and grows hips, breasts and fat",
chance: 0.66,
discovered: false
},
{
code: () => State.variables.lactationSetting ? "<<set $lips += 1>><<set $breasts += setup.balance.breastAllowancePerDay>><<addFatSlow 3>><<set $lactationUnlockedPoints += 1>>" : "<<set $lips += 1>><<set $breasts += setup.balance.breastAllowancePerDay>><<addFatSlow 3>>",
description: () => " The taste remains on your lips for a long time, though it's rather pleasant and smooth. They almost feel softer and... fuller? ... after you drank it.",
shortDescription: () => State.variables.lactationSetting ? "Grows lips, breasts and fat, adds lactation" : "Grows lips, breasts and fat",
chance: 0.33,
discovered: false
}
]
},
{
name: "T-booster 29D",
description: "Another weird chemical in a bottle, probably from the same source as the one in your room. It feels heavy, and the liquid inside somehow feels heavier, and strong. <b>Better be careful with this one, because it might cause some odd changes if you take too many at once!</b>",
transform: "instantBullJuice",
amount: 0,
uses: 0,
price: 40,
forSale: 0,
settings: [],
HideInStores: false,
dropRate: 1,
effects: [
{
code: () => "<<addMuscleSlow setup.balance.musclePotionsAllowancePerDay>>",
description: () => "You drink the deep black liquid and it immediately feels like you got punched in the chest. It's oily and tastes like someone made coffee on the stove and just left it there for a few years!",
shortDescription: () => "Adds muscle",
chance: 1,
discovered: false
},
{
code: () => "<<set $motivation -= 10>><< set $gut += 1>><< set $fat += 1>><< set $tiredness += 10>>",
description: () => " Immediately, your stomach churns, and you almost collapse, feeling bloated and painful. A sick feeling travels through your belly and spreads from there to the rest of your body. Oddly enough, your muscles feel tighter afterwards, the rest of the feeling just gone. But you can't shake the feeling of your body feeling... heavier.",
shortDescription: () => "Removes motivation, adds tiredness, and adds fat",
chance: 0.66,
discovered: false
},
{
code: () => "",
description: () => " The aftertaste lingers, but the bitter feeling leaves you REALLY energized! Just aching to do something, lift something heavy. The fact is, your muscles feel like they just had an amazing workout!",
shortDescription: () => "",
chance: 0.33,
discovered: false
}
]
},
{
name: "Lact-aid",
description: "It looks like a bottle of milk, except it's just... half full? What the hell? It looks like another bottle of the weird experiment.",
transform: "instantLactaid",
amount: 0,
uses: 0,
price: 30,
forSale: 0,
settings: [],
HideInStores: false,
dropRate: 0.8,
effects: [
{
code: () => "<<set $motivation += 20>>",
description: () => "This... tastes quite good! Warm, refreshing, creamy, and not too sweet! Licking your lips, you get the feeling you should have this more often!",
shortDescription: () => "Adds motivation",
chance: 1,
discovered: false
},
{
code: () => State.variables.lactationSetting ? "<<addBreastsSlow setup.balance.breastAllowancePerDay>><<set $lactationUnlockedPoints += 1>><<if $lactationUnlocked && $milkProduction <= setup.balance.milkProductionFactor>><< set $milkProduction += 1>><</if>>" : "<<addBreastsSlow setup.balance.breastAllowancePerDay>>",
description: () => State.variables.lactationUnlocked && $milkProduction <= setup.balance.milkProductionFactor ? " You feel refreshed, like you just had a nourishing meal. You should get more of this stuff! Your nipples swell up a bit, with a pleasant heat. You're quite sure your breasts just got more productive again!" : " You feel refreshed and like you just had a nourishing meal. You should get more of this stuff!",
shortDescription: () => State.variables.lactationSetting ? "Adds to lactation, and grows breasts" : "Grows breasts",
chance: 0.66,
discovered: false
},
{
code: () => State.variables.lactationSetting ? "<<set $lactationUnlockedPoints += 1>><<if $lactationUnlocked && $milkProduction <= setup.balance.milkProductionFactor>><< set $milkProduction += 1>><</if>><<addFatSlow 5>>" : "<<addFatSlow 5>>",
description: () => " And you don't know why, but you just WANT more! Your body just kind of screams for it, begging more more! Maybe it's time for a nice snack, something nice, creamy and buttery!",
shortDescription: () => State.variables.lactationSetting ? "Adds to lactation, and slowly adds fat" : "Slowly adds fat",
chance: 0.33,
discovered: false
}
]
},
{
name: "Puberty++, 001C",
description: "...What an unusually weird name. It's in a fairly standard plastic bottle, but the liquid inside it is... bizarre. Bright orange with white streaks in it, almost like one of those old-fashioned lava lamps. It seems to be swirling in constant in motion, and the smell cannot be described as anything but 'awkward'.",
transform: "instantPuberty",
amount: 0,
uses: 0,
price: 50,
forSale: 0,
settings: [],
HideInStores: false,
dropRate: 1,
effects: [
{
code: () => "",
description: () => "Drinking the liquid feels just... awkward. Some parts of the liquid are thicker than others, and some dribbles on your chin while the overly sweet and sour taste just lingers far too long on your lips. If you had to take a guess at what this was, you'd guess someone boiled a crab in soda and added a pineapple, straining it through their socks. As the oily liquid glides down, it takes a lot of effort to not throw up.",
shortDescription: () => "",
chance: 1,
discovered: false
},
{
code: () => "<<addHeightSlow setup.balance.heightAllowancePerDay>><<set $tiredness += 10>>",
description: () => " The odd, almost sickening feeling travels through your body and spreads, lingering in your limbs. They feel awkward and dull, bringing flashbacks of your early teens. Even the soreness is the same.",
shortDescription: () => "Adds height and tiredness",
chance: 0.66,
discovered: false
}, {
code: () => "<<if $futa>><<addDickSlow 2>><</if>><<if $lactationSetting>><<set $lactationUnlockedPoints += 1>><</if>><<set $tiredness += 10>><<addBreastsSlow setup.balance.breastAllowancePerDay>>",
description: () => " A haze washes over your mind, making concentrating hard. A bunch of lewd thoughts surface violently on your mind as you start sweating buckets. It is over just as quickly as it came, but they will keep coming back occasionally for the rest of the day.",
shortDescription: () => "<<if $futa>>Grows dick, <</if>> grows breasts, adds tiredness <<if $lactationSetting>>adds lactation<</if>>",
chance: 0.33,
discovered: false
}
]
},
{
name: "Muscle Boost 29D",
description: "This time it's a black can with the words 'muscle booster' in bright red letters. Smelling the liquid almost reminds you of beef jerky, and not in a pleasant way.",
transform: "instantMuscleBoost",
amount: 0,
uses: 0,
price: 30,
forSale: 0,
settings: [],
HideInStores: false,
dropRate: 1,
effects: [
{
code: () => "",
description: () => "As the liquid pours down your throat, you can only describe it as 'meaty'. It is thick, and you swear there is sinew in it. As it reaches your stomach, it feels like a punch in the gut, almost making you double over!",
shortDescription: () => "",
chance: 1,
discovered: false
},
{
code: () => "<<set $muscle += setup.balance.musclePotionsAllowancePerDay>><<addMuscleSlow setup.balance.musclePotionsAllowancePerDay>>",
description: () => " The tense, sickening feeling continues to travel through your body as all your muscles contract in unison. Though it should feel horrible, somehow it feels like the most intense workout ever conceived, all your muscles just feeling BIG!",
shortDescription: () => "Adds instant muscle, and adds muscle over the next few days",
chance: 0.66,
discovered: false
},
{
code: () => "<<set $breasts -= random(5,10)>><<set $fat -= random(1,5)>>",
description: () => " As the feeling recedes, you can't help but attempting an impromptu flex. A new, pronounced vein pops up on your arm. GOD, this felt good! You feel lighter, nimbler, just... better!",
shortDescription: () => "Reduces fat and breasts",
chance: 0.33,
discovered: false
}
]
},
{
name: "FA-LOSS 133X",
description: "The liquid in this bottle looks... thin. Thinner than water, somehow. You have no idea how that can be, but it seems this slim bottle holds quite a surprise.",
transform: "instantFatLoss",
amount: 0,
uses: 0,
price: 50,
forSale: 0,
settings: [],
HideInStores: false,
dropRate: 1,
effects: [
{
code: () => "<<set $fat -= 1>>",
description: () => "Damn, this is sour! Is this a drink or some kind of washing detergent?! The aftertaste only gets worse as it almost seeps into your tongue. Immediately, you feel... off. Somehow, a heatwave over you, like your entire body is boiling from the bottom up. And you can't shake the feeling you're a bit lighter.",
shortDescription: () => "Reduces fat",
chance: 1,
discovered: false
},
{
code: () => "<<set $fat -= 1>><<addFatSlow -2>>",
description: () => " It keeps going for a while, and you're not sure whether it's good or bad.",
shortDescription: () => "Reduces fat over the next few days",
chance: 0.66,
discovered: false
},
{
code: () => "<<set $fat -= 1>><<addFatSlow -2>>",
description: () => " Finally, you give a soft burp. Despite not having had a meal in a while, you feel like the exact opposite of hungry. Odd.",
shortDescription: () => "Reduces fat over the next few days",
chance: 0.33,
discovered: false
}
]
},
{
name: "FA-GAIN 23A",
description: "You wonder how a liquid can look so thick. It's almost like butter, but someone still thicker while being a liquid. It looks strangely appetizing, though!",
transform: "instantFatGain",
amount: 0,
uses: 0,
price: 30,
forSale: 0,
settings: [],
HideInStores: false,
dropRate: 0.8,
effects: [
{
code: () => "",
description: () => "It almost comes out in a glob but DAMN, is this tasty! It's the most buttery cream or most creamy butter you ever had, and though you can almost feel yourself fattening up, this stuff is just HEAVENLY!",
shortDescription: () => "",
chance: 1,
discovered: false
},
{
code: () => "<<addFatSlow 2>><<set $fat += 2>>",
description: () => "You keep chugging it, letting it drip down your chin and seep into your clothing. This stuff is just better than the best meal you ever had!",
shortDescription: () => "Adds fat over the next few days",
chance: 0.66,
discovered: false
},
{
code: () => "<<addFatSlow 2>><<set $fat += 2>>",
description: () => " Finally, you let out a loud burp.",
shortDescription: () => "Adds fat over the next few days",
chance: 0.33,
discovered: false
}
]
},
{
name: "SPHE-GRO-001",
description: "This liquid is white, chunky, and has floating orbs in it. The look of it is just insane and it starkly contrasts with the plain and simple bottle that contains it. If you didn't see the telltale label, you might've thought this was a miniature lava lamp.",
transform: "instantBallGrow",
amount: 0,
uses: 0,
price: 50,
forSale: 0,
settings: ["futa"],
HideInStores: false,
dropRate: 0.75,
effects: [
{
code: () => "<<if $dickActive is false and $futa>><<set $dickStore += 1>> <<elseif $dickActive and $futa>><<set $balls += 1>><</if>>",
description: () => "<<if $dickActive is false and $futa>>Drinking it feels off. Liquid should not go down your throat in CHUNKS. Yet, the taste is not too bad; like buttery popcorn. It feels odd in your stomach, and you clutch your belly, afraid it won't go down well. But as quickly as it came, it fades, that unusual feeling instead traveling directly into your groin. A warm feeling spreads through it, giving you the sensation that it's building up, rolling into itself. <<elseif $dickActive and $futa>> Drinking it feels off. Liquid should not go down your throat in CHUNKS. Yet the taste is not too bad; like buttery popcorn. It feels odd in your stomach, and you clutch your belly afraid it won't go down well. But as quickly as it came, it just fades, the unusual feeling instead traveling down into your groin. Suddenly, you feel a sharp stab in your balls, pressure building up inside them. As you buckle over, you can practically feel them throbbing.<</if>>",
shortDescription: () => "<<if $dickActive is false and $futa>>Can cause Futa <<elseif $dickActive and $futa>>Grows balls <</if>>",
chance: 1,
discovered: false
}
]
},
{
name: "Girth grow",
description: "This bottle is THICC. From the outside, it looks like any can of soda, except for the odd proportions and the homemade label. Still, it's weird that how much this bottle feels girthy in your hands.",
transform: "instantGirthIncrease",
amount: 0,
uses: 0,
price: 50,
forSale: 0,
settings: ["futa"],
HideInStores: false,
dropRate: 0.75,
effects: [
{
code: () => "<<if $dickActive is false and $futa>><<set $dickStore += 1>> <<elseif $dickActive and $futa>><<set $dickGirthMod += 0.1>> <</if>>",
description: () => "<<if $dickActive is false and $futa>>The taste is not the worst, best described as... almost like a carrot? But like a really THICK carrot, though you have NO idea how you got that mental image from taste alone. A warm feeling spreads through your groin, giving you the sensation of something bulging. <<elseif $dickActive and $futa>> The taste of it is not the worst, best described as... almost like a carrot? But like a really THICK carrot, though you have NO idea how you got that mental image from the taste alone. A warm feeling spreads through your groin, making your dick throb. Oddly enough, it does not feel like it is lengthening.<</if>>",
shortDescription: () => "<<if $dickActive is false and $futa>> Adds to futa<<elseif $dickActive and $futa>> Thickens dick<</if>>",
chance: 1,
discovered: false
}
]
},
{
name: "Erecto-10",
description: "It's a tall bottle with a vivid blue liquid in it. You half expect it to glow in the dark, but no luck. Why would the bottle have such a long neck, though?",
transform: "instantErectionIncrease",
amount: 0,
uses: 0,
price: 50,
forSale: 0,
settings: ["futa"],
HideInStores: false,
dropRate: 0.75,
effects: [
{
code: () => "<<if $dickActive is false and $futa>> <<set $dickStore += 1>><<elseif $dickActive and $futa>><<set $dickErectionMod += 0.1>> <</if>>",
description: () => "<<if $dickActive is false and $futa>>The bright blue liquid easily slips down your throat, though the long neck is awkward to drink from. The taste is odd, almost medicinal like a fruit-flavored multivitamin. There's something bubbly about it, rising and falling only to become stronger after you drink it. A warm feeling spreads through your groin, giving you the impression of something extending out of nowhere. <<elseif $dickActive and $futa>> The bright blue liquid easily slips down your throat, though the long neck is awkward to drink from. The taste is odd, almost medicinal like a fruit-flavored multivitamin. The taste is almost bubbly, rising and falling only to become stronger after you drink it. In your pants, though, you feel some... movement. You feel something stirring as your dick slowly starts hardening, pushing against your clothes. It keeps growing more and more erect, but something is off. It's getting bigger WAY faster than it's getting harder! The feeling coming from it is insane, radiating an indescribable heat. As you clutch it with both hands, your tongue hangs from your mouth and eyes roll up, and you know you are in for an intense ride. Your hands spread outwards, your dick expanding outwards in all directions.<</if>>",
shortDescription: () => "<<if $dickActive is false and $futa>>Adds to futa <<elseif $dickActive and $futa>>Makes erections bigger <</if>>",
chance: 1,
discovered: false
}
]
},
{
name: "B-shrink",
description: "A simple, small bottle filled with something that feels oddly heavy, almost like it has been compressed.",
transform: "instantBodyShrink",
amount: 0,
uses: 0,
price: 10,
forSale: 0,
settings: [],
HideInStores: false,
dropRate: 0.75,
effects: [
{
code: () => "<<set $height -= 5>>",
description: () => "Well, at least the bottle is tiny? You can down it in a single sip, barely any liquid in it. The drink goes down smoothly but feels incredibly heavy on your stomach. So heavy, in fact, you get the feeling your entire body just sinks in a bit.",
shortDescription: () => "Makes you shorter",
chance: 1,
discovered: false
},
{
code: () => "<<addMuscleSlow 2>><<addFatSlow 2>>",
description: () => " The feeling doesn't subside, your body just feels compressed somehow.",
shortDescription: () => "Adds muscle and fat over the next few days",
chance: 0.66,
discovered: false
},
{
code: () => "<<addMuscleSlow 2>><<addFatSlow 2>>",
description: () => "Something else you notice is just how stiff your fingers and muscles feel; almost like you had worked them too hard or something. Odd.",
shortDescription: () => "Adds muscle and fat over the next few days",
chance: 0.33,
discovered: false
}
]
},
{
name: "B-gr0w",
description: "An insanely long and tall bottle, filled with a sort of jelly-like drink.",
transform: "instantBodyGrow",
amount: 0,
uses: 0,
price: 30,
forSale: 0,
settings: [],
HideInStores: false,
dropRate: 1,
effects: [
{
code: () => "<<addHeightSlow setup.balance.heightAllowancePerDay>>",
description: () => "The tall, slim bottle looks rather inviting. But it makes for an incredibly awkward drink. Hell, you even wonder where the bottles themselves came from, let alone the liquids inside! Though is this one even a liquid? Going down, it felt more like jelly than an actual beverage.",
shortDescription: () => "Makes you taller over the next few days",
chance: 1,
discovered: false
},
{
code: () => "<<set $muscle -= 3>><<set $fat -=3>>",
description: () => " A shudder goes through you, and for some odd reason you get a sensation that can only be described as stretching. Your entire body just feels a little bit thinner",
shortDescription: () => "Removes muscle and fat",
chance: 0.66,
discovered: false
},
{
code: () => "<<set $muscle -= 3>>",
description: () => " Something else you notice is just how stiff your fingers and muscles feel; almost like you had worked them too hard or something. Odd.",
shortDescription: () => "Removes muscle",
chance: 0.33,
discovered: false
}
]
},
{
name: "ASS-69",
description: "A rather bottom-heavy bottle filled with a sweet, peach-like substance. Subtle.",
transform: "instantAssIncrease",
amount: 0,
uses: 0,
price: 20,
forSale: 0,
settings: [],
HideInStores: false,
dropRate: 1,
effects: [
{
code: () => "<<set $ass += 1>>",
description: () => "Jesus, this drink is sweet! You expected something like this from the smell but it's almost like concentrated sugar syrup! It sticks to your lips, and you can almost feel it slither down your throat... yet, somehow, the feeling keeps going lower and lower...",
shortDescription: () => "Increases ass",
chance: 1,
discovered: false
}
]
},
{
name: "Mot-V10",
description: "A tin can filled with a bright-green liquid that somehow never quite stops moving.",
transform: "instantMotivation",
amount: 0,
uses: 0,
price: 10,
forSale: 0,
settings: [],
HideInStores: false,
dropRate: 1,
effects: [
{
code: () => "<<set $motivation += 50>>",
description: () => "It's odd how the green liquid almost seems to have a life of its own. It just keeps swirling frantically, even when you don't touch the bottle at all. Downing it isn't unpleasant either, reminding you of a nice cup of matcha tea.",
shortDescription: () => "Adds motivation",
chance: 1,
discovered: false
},
{
code: () => "<<set $motivation += 50>>",
description: () => "The taste lingers a fair bit, which you didn't expect. It's quite pleasant; it would make for a great breakfast drink.",
shortDescription: () => "Adds motivation",
chance: 0.5,
discovered: false
}
]
},
{
name: "Exhaust-B-g0n3",
description: "A simple plastic bottle with a vibrant, sugary liquid inside",
transform: "instantExhaustion",
amount: 0,
uses: 0,
price: 25,
forSale: 0,
settings: [],
HideInStores: false,
dropRate: 1,
effects: [
{
code: () => "<<set $exhaustion -= 50>>",
description: () => "Shaking the almost vibrant yellow liquid, you wonder whether this really is safe to drink. But... here goes nothing! Downing it, you immediately feel your throat burning, but it's a good burn; a burn that reinvigorates you, a burn that sweeps the tiredness away. ",
shortDescription: () => "Removes exhaustion",
chance: 1,
discovered: false
},
{
code: () => "<<set $exhaustion -= 50>>",
description: () => "What you didn't expect though, is the kickback. The moment it hits your stomach, the warmth becomes almost unbearable, nearly knocking you over. Luckily, you remain standing as the feeling fades, and only renewed energy remains in its place.",
shortDescription: () => "Removes exhaustion",
chance: 0.33,
discovered: false
}
]
},
{
name: "BRA-SHRINK-T1",
description: "A surprisingly small, almost condensed bottle that only contains a few drops of a clear liquid, smelling strongly of lemon.",
transform: "instantBreastShrink",
amount: 0,
uses: 0,
price: 10,
forSale: 0,
settings: [],
HideInStores: false,
dropRate: 1,
effects: [
{
code: () => !State.variables.lactationUnlocked ? "<<set $breasts *= 0.9>>" : "<<set $breasts *= 0.9>><<if $milkProduction != 0>><< set $milkProduction -= 1>><</if>>",
description: () => !State.variables.lactationUnlocked ? "The surprisingly small bottle is quickly emptied, and immediately your hands tighten involuntarily. You feel like you're going to crush the small fragile container, such was the punch of this small drink. It's so incredibly sour that your lips pucker up. Yet, it doesn't linger very long; the feeling somehow travels across your body, especially around your chest. You have no idea how, but somehow it makes you feel like your chest is just tightening! And as you look down, it is much more than a feeling: your chest actually seems to shrink before your eyes!" : " The surprisingly small bottle is quickly emptied, and immediately your hands tighten involuntarily. You feel like you're going to crush the small fragile container, such was the punch of this small drink. It's so incredibly sour that your lips pucker up. Yet, it doesn't linger very long; the feeling somehow travels across your body, especially around your chest. You have no idea how, but somehow it makes you feel like your chest is just tightening! And as you look down, it is much more than a feeling: your chest actually seems to shrink before your eyes! After the feeling is gone, you prod your chest tentatively, making sure they are fine. Heh... well, they feel normal again. Normal, and a bit less tight. Maybe it has lessened how much milk your tits produce, too!",
shortDescription: () => !State.variables.lactationUnlocked ? "Shrinks breasts" : "Shrinks breasts and reduces lactation",
chance: 1,
discovered: false
}
]
},
{
name: "Milk--",
description: "At first glance, it smells like a cleaning liquid, but it has a nice, lemony scent to it. Normally, you'd never consider drinking this, but when you think of the other drinks...",
transform: "instantLactationRemoval",
amount: 0,
uses: 0,
price: 10,
forSale: 0,
settings: ["lactation"],
HideInStores: false,
dropRate: 0.75,
effects: [
{
code: () => State.variables.lactationUnlocked ? "<<if $milkProduction != 0>><< set $milkProduction -= 1>><< /if>>" : "",
description: () => State.variables.lactationUnlocked ? "The clear liquid washes down your throat quite smoothly, and you feel a nice and refreshing sensation travelling down. It has a slight hint of lemon, and immediately relaxes your body, especially around your chest. For some reason the pressure there just seems to ease up, a tightness that has been a constant since you started lactating." : "This drink tastes like... Nothing. Odd. You expected this clear liquid to have some taste, but, right now, it just tastes like water. Your mouth does feel rather dry, somehow? But as far as you can tell, it doesn't seem to do anything.",
shortDescription: () => State.variables.lactationUnlocked ? "Reduces lactation" : "nothing",
chance: 1,
discovered: false
}
]
},
{
name: "Milk++",
description: "A simple bottle, with a liquid inside it that can only be described as thick, sweet, and incredibly creamy syrup.",
transform: "instantMilkCapacityIncrease",
amount: 0,
uses: 0,
price: 10,
forSale: 0,
settings: ["lactation"],
HideInStores: false,
dropRate: 0.75,
effects: [
{
code: () => State.variables.lactationUnlocked ? "<<set $milkCapacityModifier += 0.1>>" : "",
description: () => State.variables.lactationUnlocked ? "As you expected, this drink is not just sugary, it's almost sickeningly sweet. Even refined sugar isn't this sweet, but even though you almost gag while drinking it, the taste slowly grows on you. It travels down, feeling more pleasant as the flavor slowly softens, with even a hint of almonds coming in. All in all, very pleasant experience, ending as a shudder travels over your entire body. And as you relax, the pressure in your chest lessens, and they don't feel any less bloated. Odd." : "You expected this would taste extremely sweet, yet when it hits your tongue... nothing. Odd.",
shortDescription: () => State.variables.lactationUnlocked ? "Reduces the capacity of your breasts" : "Nothing",
chance: 1,
discovered: false
}
]
},
{
name: "Ton-shrink//01",
description: "This one gives a vibe of being very tasty. It has a bright blue hue and it's in an unremarkable bottle. Frankly, you're almost salivating just looking at it!",
transform: "instantTongueShrink",
amount: 0,
uses: 0,
price: 15,
forSale: 0,
settings: [],
HideInStores: false,
dropRate: 0.5,
effects: [
{
code: () => State.variables.tongue > 1 ? "<<set $tongue -= 1>>" : "",
description: () => State.variables.tongue > 1 ? "As you drink the liquid, your mind immediately goes to images of odd berries that make everything taste sweet. As the sticky texture lingers in your mouth, you smack your lips and try to scrape the weird stuff from the roof of your mouth. Heh, you must be making some weird faces right now. Yet, the way your tongue feels in your mouth definitely feels just as funny. More comfortable, like it just fits better." : "As you drink the liquid, your mind immediately goes to images of odd berries that make everything taste sweet. As the sticky texture lingers in your mouth, you smack your lips and try to scrape the weird stuff from the roof of your mouth. Heh, you must be making some weird faces right now. But as far as you can tell, there are no discernible changes. Odd...",
shortDescription: () => State.variables.tongue > 1 ? "Shrinks your tongue" : "Nothing",
chance: 1,
discovered: false
}
]
},
{
name: "lip-shrink//XX",
description: "A small case of lip balm, made of aluminum bearing no distinguishing markings, except for its homemade label.",
transform: "instantLipShrink",
amount: 0,
uses: 0,
price: 10,
forSale: 0,
settings: [],
HideInStores: false,
dropRate: 0.5,
effects: [
{
code: () => State.variables.lips > 1 ? "<<set $lips -= 1>>" : "",
description: () => State.variables.lips > 1 ? "This one is not so much a drink as some sort of lipstick? Opening the small container, you find only a little bit of it left, looking extremely dried up. It reminds you of lip balm... well, why not give it a try? As you put it on, it feels really refreshing; that strong scent of menthol like in those analgesic heat rub sprays. It's quite nice, and your lips feel tight, but tingly!" : " This one is not so much a drink as some sort of lipstick? Opening the small container, you find only a little bit of it left, looking extremely dried up. It reminds you of lip balm... well, why not give it a try? As you put it on, it feels really refreshing, but that's it. A bit anticlimactic...",
shortDescription: () => State.variables.lips > 1 ? "Shrinks lips" : "Nothing",
chance: 1,
discovered: false
}
]
},
{
name: "Temp-Caring",
description: "An aluminum can filled with a clear, sharp-tasting liquid. The label warns that it can temporarily change your personality.",
transform: "instantTempCareful",
amount: 0,
uses: 0,
price: 100,
forSale: 0,
settings: [],
HideInStores: false,
dropRate: 0.5,
effects: [
{
code: () => "<<set $temporaryPersonalityGains.carefreeCarefull += 1>><<set $carefreeCarefull += 1>>",
description: () => "The taste of this drink is very... precise? You get a sharp taste of lemon, and very clear sweet notes. Not actual sugar, rather, some replacement with a slightly bitter aftertaste. It's pleasant, but gives you the urge to document and annotate everything, your brain suddenly feeling more active.",
shortDescription: () => "Makes you temporarily more careful",
chance: 1,
discovered: false
}
]
},
{
name: "Temp-shy",
description: "A aluminum can, filled with a pleasantly understated liquid. The label warns that it can temporarily change your personality.",
transform: "instantTempShy",
amount: 0,
uses: 0,
price: 100,
forSale: 0,
settings: [],
HideInStores: false,
dropRate: 0.5,
effects: [
{
code: () => "<<set $temporaryPersonalityGains.shyConfident -= 1>><<set $shyConfident -= 1>>",
description: () => "You remove the cork, and give it a tentative sniff. Odd, no discernible smell. Carefully, you give it a lick. Again, doesn't seem to taste like anything. Yet, when you chug it down, it blossoms from nowhere. The mildest hint of vanilla, hidden in the milky drink. It's quite nice and makes you relax, despite the headache you feel incoming.",
shortDescription: () => "Makes you temporarily shyer",
chance: 1,
discovered: false
}
]
},
{
name: "Temp-Con",
description: "This aluminum can is filled with something smelling bold and strong. The label warns that it can temporarily change your personality.",
transform: "instantTempConfidence",
amount: 0,
uses: 0,
price: 100,
forSale: 0,
settings: [],
HideInStores: false,
dropRate: 0.5,
effects: [
{
code: () => "<<set $temporaryPersonalityGains.shyConfident += 1>><<set $shyConfident += 1>>",
description: () => "This drink just feels... strong. It has hints of coffee and cocoa, tastes you won't soon forget. The little container brings a smirk to your face. This feels... good. Real good. The caffeine triggers a mild headache, but fuck it! You can deal with that, no problem!",
shortDescription: () => "Makes you temporarily more confident",
chance: 1,
discovered: false
}
]
},
{
name: "Temp-Care",
description: "A aluminum can with a liquid with the most confounding smell. The label warns that it can temporarily change your personality.",
transform: "instantTempCarefree",
amount: 0,
uses: 0,
price: 100,
forSale: 0,
settings: [],
HideInStores: false,
dropRate: 0.5,
effects: [
{
code: () => "<<set $carefreeCarefull -= 1>><<set $temporaryPersonalityGains.carefreeCarefull -= 1>>",
description: () => "It's hard to nail the taste of this drink. Not that you really care. It feels good and goes down smoothly, and it refreshes you. Why even care about the taste? You can't even be bothered by the incoming headache. Who gives a fuck?",
shortDescription: () => "Temporarily makes you more carefree",
chance: 1,
discovered: false
}
]
},
{
name: "Temp-sub",
description: "A simple can filled with a liquid that seems to conform to your palate. The label warns that it can temporarily change your personality.",
transform: "instantTempSubmissive",
amount: 0,
uses: 0,
price: 100,
forSale: 0,
settings: [],
HideInStores: false,
dropRate: 0.5,
effects: [
{
code: () => "<<set $temporaryPersonalityGains.submissiveDominant -= 1>><<set $submissiveDominant -= 1>>",
description: () => "The drink goes down smoothly, and has a really nice, pleasant taste. It's... sweet, though a bit understated. Nice and fresh, almost like the taste was tailor-made for you. It's comfort in a bottle, you realize. And you feel... well, you feel very comfortable, calmer and despondent. You feel a mild headache coming on, but you just go with the flow. At least for the time being.",
shortDescription: () => "Temporarily makes you more submissive",
chance: 1,
discovered: false
}
]
},
{
name: "Temp-Dom",
description: "A bold, strong drink in an aluminum can. The label warns that it can temporarily change your personality.",
transform: "instantTempDominant",
amount: 0,
uses: 0,
price: 100,
forSale: 0,
settings: [],
HideInStores: false,
dropRate: 0.5,
effects: [
{
code: () => "<<set $submissiveDominant += 1>><<set $temporaryPersonalityGains.submissiveDominant += 1>>",
description: () => "Oh, this is SPICY! It feels like a kick to the head, but in a good way! Cinnamon and pepper and just... vitality. After drinking it, you shake your head, smiling from ear to ear. Yeah, you feel FUCKING AMAZING! You get a raging headache, but to hell with it! You're not about to let anyone or anything tell you what to do!",
shortDescription: () => "Temporarily makes you more dominant",
chance: 1,
discovered: false
}
]
}]>>
/* consumables deck */
<<set _settings to []>>
<<if $futa is false>>
<<set _settings.push("futa")>>
<</if>>
<<if $lactationSetting is false>>
<<set _settings.push("lactation")>>
<</if>>
<<set $consumablesDeck to []>>
<<for _i to 0; _i < $consumables.length; _i ++>>
<<capture _i>>
<<if $consumables[_i].settings.includesAny(_settings)>>
/* makes sure no settings get ignored */
<<elseif $consumables[_i].settings.includes("lactation") && $lactationUnlocked != true>>
/* Prevents lactation potions showing before its relevant */
<<elseif $consumables[_i].HideInStores is false>>
<<for _j to 0; _j < $consumables[_i].uses; _j ++>>
<<set $consumablesDeck.push($consumables[_i].name)>>
<</for>>
<<set $consumablesDeck.push($consumables[_i].name)>>
<<else>>
<</if>>
<</capture>>
<</for>>
/* Gym Supplies */
<<set $gymStoreSupplies to [
{ name: "creatine",
description: "A supplement that allows you to get just that bit more out of your workout. Best taken daily to maximize effects.",
amount: 0,
daily: true,
price: 1,
takeDaily: 0,
effect: "lowerExhaustion",
effectStore: 0,
effectScale: 0.1},
{ name: "BCAA",
description: "A kind of protein that helps you with recovery.",
amount: 0,
daily: true,
price: 2,
takeDaily: 0,
effect: "raiseMax",
effectStore: 0,
effectScale: 0.25},
{ name: "protein powder",
description: "Plain old whey protein powder to help you get that bit more out of your workout.",
amount: 0,
daily: true,
price: 1,
takeDaily: 0,
effect: "raiseMax",
effectStore: 0,
effectScale: 0.1},
{ name: "citrulline malate",
description: "An amino acid that helps with recovery.",
amount: 0,
daily: true,
price: 5,
takeDaily: 0,
effect: "raiseMax",
effectStore: 0,
effectScale: 0.1},
{ name: "Glutamine",
description: "An amino acid essential to muscle recovery.",
amount: 0,
daily: true,
price: 2,
takeDaily: 0,
effect: "raiseEfficiency",
effectStore: 0,
effectScale: 0.15},
{ name: "Caffeine",
description: "Simply caffeine, to make you get more out of your lifts.",
amount: 0,
daily: true,
price: 3,
takeDaily: 0,
effect: "raiseEfficiency",
effectStore: 0,
effectScale: 1},
{ name: "Nitric oxide boosters",
description: "A post-workout supplement that aids with recovery.",
amount: 0,
daily: true,
price: 5,
takeDaily: 0,
effect: "raiseEfficiency",
effectStore: 0,
effectScale: 1}
] >>
/* Books */
<<set $books to [
{ name: "On the Maddening Mountains",
description: "A classic book of cosmic horror, recounting the tales of explorers in an ancient city. Just gazing at the cover makes it obvious that the writer got off on using the most arcane words possible. And why is everything described as 'Stygian'?",
skill: "",
bought: false,
time: 2,
progress: 0,
price: 20},
{ name: "The South Sea Trade Company",
description: "A textbook about of the South Sea Company, some kind of historical financial institution that bankrupted Britain. It might be a dry read, but you might learn something about money?",
skill: "Book keeping",
bought: false,
time: 5,
progress: 0,
price: 30},
{ name: "Arts & Crafts",
description: "A rather colorful book full of all kinds of tips for arts and crafts, written by one 'Melany Fairweather Gingerblossom. You wonder if the author is a woman or some woodland spirit?",
skill: "Sewing",
bought: false,
time: 3,
progress: 0,
price: 30},
{ name: "The Ideals of Transhumanism",
description: "A deep (and rather heavy) exploration of the human condition, dressed in a heavy dollop of sci-fi narrative. Though the text feels dense and excessively philosophical, it seems like an interesting read!",
skill: "",
bought: false,
time: 10,
progress: 0,
price: 55},
{ name: "Pride and Punishment",
description: "This 19th century novel tells the story of a wife on the brink of losing her fortune, so she starts plotting the murder of an unscrupulous pawnbroker in order to achieve greatness. This treatise on the woes of society has it all, with plenty of very descriptive snapshots of the Europe of old. There were rumbling that the sequel, Crime and Prejudice, would be adapted into an action movie...",
skill: "",
bought: false,
time: 8,
progress: 0,
price: 55},
{ name: "Bound in Desire",
description: "This romance novel sports a couple of impossibly fit, scantily-clad models on a high-contrast black and white cover. Just looking at it could make an entire room of genre-readers moisten their underwear. The back cover explains some rules of this animalistic society and their gammas and thetas or whatnot... but let's face it - you are reading this for the steamy smut.",
skill: "",
bought: false,
time: 4,
progress: 0,
price: 20},
{ name: "Eating Healthy!",
description: "A book about nutrition, full of tips about how one can cook healthier meals. Though a little condescending, you might just learn a lot from it!",
skill: "Cooking",
bought: false,
time: 9,
progress: 0,
price: 60},
{ name: "EAT BIG GET BIG",
description: "The all-caps title in bold red letters, on a sign held by a strongman makes it clear this is an aggressively written cookbook with all kinds of recipes for... getting bigger? Like, more muscular? You're not sure, as the writer seems to have had multiple strokes while writing this, overusing terms like 'beefcake', 'hypermass' and 'gainz', all peppered with an excessive use of exclamation marks.",
skill: "Cooking",
bought: false,
time: 12,
progress: 0,
price: 10},
{ name: "Anatomical Lifting",
description: "This book is a deep-dive anatomical approach to fitness, and despite being INCREDIBLY dense, you're sure you can learn a lot from it!",
skill: "Working out",
bought: false,
time: 12,
progress: 0,
price: 80},
{ name: "Smart Money",
description: "The cover gives you the same vibe of a con-man trying to sell a get-rich-quick scheme, but you get the impression you can still learn a thing or two about keeping track of your finances from it. Or at least, you hope so...",
skill: "Book keeping",
bought: false,
time: 4,
progress: 0,
price: 100},
{ name: "YOU can be CONFIDENT!",
description: "While the title screams it was made for insecure people, this self-help book seems to be focused on fostering confidence. Might be interesting...",
skill: "confident",
bought: false,
time: 8,
progress: 0,
price: 50},
{ name: "Pleasing People the Subtle Way",
description: "An interesting book about how you could please people by being less assertive. An odd approach, perhaps, but if it makes it easier to make them happy...",
skill: "shy",
bought: false,
time: 5,
progress: 0,
price: 10},
{ name: "Your Will, Your Way",
description: "The cover has a big leather whip on it. Subtle it ain't. And it clearly is not trying to be. Yeah, this is a book about dominance.",
skill: "dominant",
bought: false,
time: 5,
progress: 0,
price: 10},
{ name: "The Sensual Sub",
description: "This treatise on sexual relations seems to champion the benefits of letting others take control. Corny, but it stirs something in you...?",
skill: "submissive",
bought: false,
time: 3,
progress: 0,
price: 25},
{ name: "The Focused Mind",
description: "This educational book is a laundry list of lifehacks to help you becoming more focused and attentive on your daily life, allowing you to be more careful. Hmm, something about that is enticing to you.",
skill: "carefull",
bought: false,
time: 6,
progress: 0,
price: 50},
{ name: "Not a Single Fuck Given",
description: "A philosophical analysis about 'letting go' with a new-agey and Zen perspective about the benefits of a carefree lifestyle. Sounds interesting, but not always helpful.",
skill: "carefree",
bought: false,
time: 2,
progress: 0,
price: 250}
] >>
<<set $electronicStoreInventory to[
{ name: "web cam",
price: 40,
description: "A decent plug and play webcam."},
{ name: "bathroom scale",
price: 60,
description: "A simple bathroom scale you can use to weigh yourself."},
{ name: "heavy duty bathroom scale",
price: 240 ,
description: "A bathroom scale made to hold up to 300kg, or 650lbs."},
{ name: "Coffee machine",
price: 20 ,
description: "A simple coffee machine, the perfect morning companion."},
{ name: "Good fridge",
price: 200 ,
description: "Finally, a freezer that doesn't accidentally thaw half your food!"},
{ name: "Good freezer",
price: 400 ,
description: "A freezer where you can store stuff WAY longer! Time to buy in bulk!"},
{ name: "basic kitchen appliances",
price: 100 ,
description: "A few basic kitchen appliances that will help you prepare your food faster."},
{ name: "good kitchen appliances",
price: 500 ,
description: "Some extra tools for the kitchen, like a stainless-steel wok and big pans, making the preparation of meals even quicker."},
{ name: "professional kitchen appliances",
price: 2000 ,
description: "Your kitchen would be indistinguishable from any restaurant with these!"}
]>>
<<set $fitnessStoreInventory to[
{ name: "measuring tape",
price: 2,
description: "A simple roll of measuring tape."},
{ name: "starter weightset",
price: 40,
description: "A simple set of weights, perfect for beginners. Colorful and fun, it might not pose a huge challenge, but it will surely help you lay a solid foundation!"},
{ name: "decent weight set",
price: 500,
description: "A weight set that most people could use at home. It has adjustable dumbbells and plenty of bars, practical for almost any exercise you could think of."},
{ name: "excellent weight set",
price: 4000,
description: "With this weight set, you could easily rival most gyms, and assuredly beat almost any other home gym!"},
{ name: "medium sized mirror",
price: 50,
description: "A bigger mirror, so you can see more of your body."},
{ name: "big mirror",
price: 200,
description: "An even bigger mirror, so you can see your whole body - unless you were to grow gigantic, but that could never happen... right?"}
]>>
<<set $dailyConsumableAmount to 1>>
<<set $fabric to 0>><<nobr>>
<<set _rand to random(0,2)>>
<<set _message to "The thick liquid goes down your throat, the rich fluid filling your mouth with a wave of rolling tastes! Bitter, sweet, umami, sour, salty... you taste it all at once, in almost sickening amounts. After smacking your lips a few times, something feels... off. The taste fades as quickly as it came, leaving your mouth oddly numb. It's just... weird.">>
<<if _rand >= 1>>
<<set _message += " Not until you move it a few times do you realize what's wrong; your tongue just feels... too big for your mouth! It only lasts for a second, but somehow it's strangely different!">>
<<set $tongueLenght += 1>>
<<else>>
<<set _message += " Not until you move it a few times do you realize what's wrong; your lips just feel... fuller! It only lasts for a second, but you're sure something feels different!">>
<<set $lips += 1>>
<</if>>
<<script>>
if (Dialog.isOpen() == false) {
var dialog = Dialog.setup("Taste-improver");
new Wikifier(dialog, State.temporary.message);
Dialog.open();
}
<</script>>
<</nobr>><<nobr>>
<table id="store">
<tr>
<th>Name</th>
<th>Description</th>
<th>Amount</th>
</tr>
<<for _i to 0; _i < $consumables.length; _i ++>>
<<capture _i>>
<<if $consumables[_i].amount > 0>>\
<tr>
<td><<link $consumables[_i].name>><<set $consumables[_i].amount -= 1>><<ConsumablePopup _i>><<goto "ConsumableInventory">><</link>> </td>
<td>
<<print $consumables[_i].description>>
<<for _j to 0; _j < $consumables[_i].effects.length; _j ++>>
<<capture _j>>
<<if $consumables[_i].effects[_j].discovered && $consumables[_i].effects[_j].shortDescription() != "">>
<br>
● <<print $consumables[_i].effects[_j].shortDescription()>>
<</if>>
<</capture>>
<</for>>
</td>
<td><<print $consumables[_i].amount>></td>
</tr>
<</if>>
<</capture>>
<</for>>
</table>
<</nobr>>
<<nobr>>
<table id="store">
<tr>
<th>Name</th>
<th>Description</th>
<th>Available</th>
<th>Daily dose</th>
<th>Days left</th>
<th>New daily dose</th>
</tr>
<<for _i to 0; _i < $gymStoreSupplies.length; _i ++>>
<<capture _i>>
<<if $gymStoreSupplies[_i].amount > 0>>
<<set _amount to 0>>
<tr>
<td><<print $gymStoreSupplies[_i].name>></td>
<td><<print $gymStoreSupplies[_i].description>></td>
<td><<print $gymStoreSupplies[_i].amount>></td>
<td><<live $gymStoreSupplies[_i].takeDaily>></td>
<td><<live Math.floor($gymStoreSupplies[_i].amount / $gymStoreSupplies[_i].takeDaily)>></td>
<td>
<span @id="_i"></span>
<<numberbox "_amount" $gymStoreSupplies[_i].takeDaily>><<button "Set">>
<<set _replace to "#" + _i>>
<<if Util.isNumeric(_amount)>>
<<set _amountLocal to parseInt(_amount)>>
<<if _amountLocal <= 0>>
<<replace _replace>>Please type in a number greater than 0<</replace>>
<<elseif _amountLocal > 10>>
<<replace _replace>>You can take 10 of a supplement each day at most.<</replace>>
<<else>>
<<replace _replace>>
<<set $gymStoreSupplies[_i].takeDaily to _amountLocal>>
<<update>>
<</replace>>
<</if>>
<<else>>
<<replace _replace>>Please type in a number<</replace>>
<</if>>
<</button>></td>
</tr>
<</if>>
<</capture>>
<</for>>
</table>
<</nobr>>
<<link "Return" "Bathroom">><</link>><<nobr>>
<<set _rand to random(0,2)>>
<<set _message to "The thick liquid pours down your throat, tasting sweet, chewy and tasty. It's intoxicating, though the bubblegum flavor is incredibly intense.">>
<<set $motivation += 10>>
<<addBreastsSlow setup.balance.breastAllowancePerDay>>
<<if _rand >= 1>>
<<set _message += " A heat washes over your body, traveling down your stomach into your legs. Some of it rises to your chest again, making sweat break out over your entire body as you feel amazing. The heat lingers in your chest and hips, almost like they are pushing outwards.">>
<<set $motivation += 10>>
<<set $hips += 1>>
<<set $breasts += setup.balance.breastAllowancePerDay>>
<<addFatSlow 3>>
<</if>>
<<if _rand >= 2>>
<<set _message += " The taste remains on your lips for a long time, though it's rather pleasant and smooth. They almost feel softer and... fuller? ... after you drank it.">>
<<set $lips += 1>>
<<set $breasts += setup.balance.breastAllowancePerDay>>
<<set $lactationUnlockedPoints += 1>>
<<addFatSlow 3>>
<</if>>
<<script>>
if (Dialog.isOpen() == false) {
var dialog = Dialog.setup("END 001A booster");
new Wikifier(dialog, State.temporary.message);
Dialog.open();
}
<</script>>
<</nobr>><<nobr>>
<<set _rand to random(0,2)>>
<<set _message to "You drink the deep black liquid and it immediately feels like you got punched in the chest. It's oily and tastes like someone made coffee on the stove and just left it there for a few years!">>
<<addMuscleSlow setup.balance.musclePotionsAllowancePerDay>>
<<if _rand >= 1>>
<<set _message += " Immediately, your stomach churns, and you almost collapse, feeling bloated and painful. A sick feeling travels through your belly and spreads from there to the rest of your body. Oddly enough, your muscles feel tighter afterwards, the rest of the feeling just gone. But you can't shake the feeling of your body feeling... heavier.">>
<<set $motivation -= 10>>
<<set $gut += 1>>
<<set $fat += 1>>
<<set $tiredness += 10>>
<</if>>
<<if _rand >= 2>>
<<set _message += " The aftertaste lingers, but the bitter feeling leaves you REALLY energized! Just aching to do something, lift something heavy. The fact is, your muscles feel like they just had an amazing workout!">>
<</if>>
<<script>>
if (Dialog.isOpen() == false) {
var dialog = Dialog.setup("T-booster 29D");
new Wikifier(dialog, State.temporary.message);
Dialog.open();
}
<</script>>
<</nobr>><<nobr>>
<<widget "skillCheck">>
<<for _iSkillCheck to 0; _iSkillCheck < $skills.length; _iSkillCheck ++>>
<<capture _iSkillCheck>>
<<if $skills[_iSkillCheck].name is $args[0]>>
<<if $skills[_iSkillCheck].level >= parseInt($args[1])>>
<<set $returnVal to true>>
<<else>>
<<set $returnVal to false>>
<</if>>
<</if>>
<</capture>>
<</for>>
<</widget>>
<</nobr>><<nobr>>
<<widget "skillIncrease">>
<<for _X to 0; _X < $skills.length; _X ++>>
<<capture _X>>
<<if $skills[_X].name is $args[0]>>
<<set $skills[_X].experience += $args[1]>>
<</if>>
<</capture>>
<</for>>
<</widget>>
<</nobr>>You're currently on a <<print $currentDiet.name>>.
<<nobr>>
<<for _i to 0; _i < $skills.length; _i ++>>
<<capture _i>>
<<if $skills[_i].name is "Cooking">>
<<set _nutritionSkill to $skills[_i].level>>
<</if>>
<</capture>>
<</for>>
<table id="store">
<tr>
<th>Name</th>
<th>Description</th>
<th>Price/day</th>
</tr>
<<for _i to 0; _i < $diets.length; _i ++>>
<<capture _i>>
<<if $diets[_i].level <= _nutritionSkill>>
<tr>
<td><<link $diets[_i].name>><<replace "#result">>Set diet to <<print $diets[_i].name>>?
<<link "confirm" "changeDiet">>
<<set $currentDiet to $diets[_i]>>
<</link>>
<</replace>>
<</link>>
</td>
<td><<print $diets[_i].description>></td>
<td>$<<print $diets[_i].price>></td>
</tr>
<</if>>
<</capture>>
<</for>>
</table>
<</nobr>>
<span id="result"></span>
<<link "Go back" "Kitchen">><</link>>Which skill would you like to improve during the next two hours?
<<nobr>><span id="result">
<<for _i to 0; _i < $skills.length; _i ++>>
<<capture _i>>
<<link $skills[_i].name>>
<<replace "#result">>You spend some time reading up on <<print $skills[_i].name>>. You think you picked up quite a bit!
<br><br>
<<set $skills[_i].experience += random(5,20)>>
<</replace>>
<</link>><br>
<</capture>>
<</for>>
</span><</nobr>>
[[Return|$return]]It's big, it's loud, and they have everything you could wish for, as long as it takes batteries or connects to an electric outlet. The industrial, shiny building stands in stark contrast to the more subdued old buildings around it, which is jarring but convenient.
<<nobr>>
<table id="store">
<tr>
<th>Name</th>
<th>Description</th>
<th>Price</th>
<th></th>
</tr>
<<for _i to 0; _i < $electronicStoreInventory.length; _i ++>>
<<capture _i>>
<<if $furniture.includes($electronicStoreInventory[_i].name) is false>>
<tr>
<td><<print $electronicStoreInventory[_i].name>></td>
<td><<print $electronicStoreInventory[_i].description>></td>
<td>$<<print $electronicStoreInventory[_i].price>></td>
<td><span id="result"><<link "buy - 00:05 🕛">>
<<if $electronicStoreInventory[_i].price > $money>>
<<replace "#result">>You can't afford that.<</replace>>
<<else>>
<<addMinutes 5>>
<<set $money -= $electronicStoreInventory[_i].price>>
<<set $furniture.push($electronicStoreInventory[_i].name)>>
<<goto "ElectronicsStore">>
<</if>>
<</link>></span></td>
</tr>
<</if>>
<</capture>>
<</for>>
</table>
<</nobr>>
<<link "Go back" "ShoppingCenter">><<addMinutes 5>><</link>><h2>Motivation & Exhaustion</h2>
Motivation and exhaustion are the main stats you'll have to balance. Motivation represents your own willingness to complete certain actions, and it must be higher than your Exhaustion to, for example, work out. It is increased by doing enjoyable things or achieving new goals.
Exhaustion represents how physically or mentally tired you are. It will steadily rise throughout the day, though certain actions may accelerate this. Sleeping or resting will lower it.
<h2>Time & Locations</h2>
Traveling between locations or engaging in activities takes time. Depending on the day or the time, different activities may be available.
<h2>Working out</h2>
Working out can help build muscles, or increase total stamina. There are daily limits to how much you can improve, however. Some items or supplements can help raise the limit, or impact how much each workout will help you improve.
[[Return|$return]]The aroma of fresh coffee and dog-eared books, combined with warm, earthy colors, makes this coffee shop-cum-bookstore immediately inviting and welcoming. Filled with wooden furniture and plants, complimented by smooth jazz playing in the background, the vibe of the Coffee Corner makes you feel right at home.
<<if $gameDate.getHours() <= 20 and $gameDate.getHours() >= 12>>Behind the counters, stands a rather disinterested punk girl. Despite her short height, she seems pretty nimble, working quickly - almost like a robot repeating tasks without any personal interest. Her attitude couldn't be any clear that there's no enjoyment to be found in her tasks.<</if>>
<br><br>
You could either sit down with some coffee and enjoy a book, or browse the ones they have for sale.
<br><br>
<<linkreplace "Buy a book">>
<<nobr>>
<table id="store">
<tr>
<th>Name</th>
<th>Description</th>
<th>Price</th>
<th></th>
</tr>
<<for _i to 0; _i < $books.length; _i ++>>
<<capture _i>>
<<if $books[_i].bought is false>>
<tr>
<td><<print $books[_i].name>></td>
<td><<print $books[_i].description>></td>
<td>$<<print $books[_i].price>></td>
<td><<linkreplace "buy - 00:05 🕛">>
<<if $books[_i].price > $money>>
You can't afford that.
<<else>>
<<addMinutes 5>>
<<set $money -= $books[_i].price>>
<<update>>
<<set $books[_i].bought to true>>
Bought!
<</if>>
<</linkreplace>></td>
</tr>
<</if>>
<</capture>>
<</for>>
</table>
<</nobr>>
<</linkreplace>>
<<set $coffeeCornerVisited to true>>
<br><br>
<<if $money >= 10>>
<<if $gameDate.getHours() <= 20 and $gameDate.getHours() >= 12>>
<<if $krisInterested is true>>
<<if $krisVisited is false or $debug is "true">><br><br>
<<link "Talk to Kris">>
<<set $eventCounter to setup.balance.eventTresshold + 1>>
<<goto "KrisDialogScene">>
<</link>>
<<gameLink "Sit back with a nice coffee ($10)" "coffeeResult" time:30 motivation:20 minexhaustion:-10>><<set $money -= 10>><</gameLink>>
<</if>>
<<else>>
<<gameLink "Sit back with a nice coffee ($10)" "KrisDialogScene" time:30 motivation:20 minexhaustion:-10>><<set $money -= 10>><<set $eventCounter to setup.balance.eventTresshold + 1>><</gameLink>>
<</if>>
<<else>>
<<gameLink "Sit back with a nice coffee ($10)" "coffeeResult" time:30 motivation:20 minexhaustion:-10>><<set $money -= 10>><</gameLink>>
<</if>>
<<else>>
You can't afford the coffee
<</if>>
<br><br>
<<link "Go back" "ShoppingCenter">><<addMinutes 5>><</link>>You could just sit back and enjoy a book. It's a good way to relax, and you might learn something! Unless you have already read it before, that is.
<<nobr>>
<<set _personalities to ["dominant","submissive","carefull","carefree","shy","confident"]>>
<table id="store">
<tr>
<th>Name</th>
<th>Description</th>
<th>progress</th>
<th>Skill</th>
<th></th>
</tr>
<<for _i to 0; _i < $books.length; _i ++>>
<<capture _i>>
<<if $books[_i].bought is true>>
<<set _progress to Math.round($books[_i].progress / $books[_i].time * 100)>>
<tr>
<td><<print $books[_i].name>></td>
<td><<print $books[_i].description>></td>
<td><<if _progress <= 100>><<print _progress>>%<<else>>Finished<</if>></td>
<td><<live $books[_i].skill>></td>
<td><<if $motivationPercentage >= $exhaustionPercentage>><<if _progress < 100>>
<<if $books[_i].skill != "">>
<<if $exhaustionPercentage < $motivationPercentage && $exhaustion + $skillExhaustionCost < 100>>
<<gameLink "read" "bookCase" time:60 exhaustion:$skillExhaustionCost motivation:10>>
<<set $books[_i].progress += 1>>
<<if $books[_i].progress >= $books[_i].time>>
<<if _personalities.includes($books[_i].skill)>>
<<personalityIncrease $books[_i].skill 1>>
<<script>>
if (Dialog.isOpen() == false) {
var dialog = Dialog.setup("Book finished");
new Wikifier(dialog, "The book was actually quite interesting, and you got the idea it taught you to be a bit more " + State.variables.books[State.temporary.i].skill + ". You might read it again, though it will take a bit longer before you get anything out of it again.");
Dialog.open();
}
<</script>>
<<set $books[_i].progress to 0>>
<<set $books[_i].time *= 1.5>>
<<elseif $books[_i].skill != "">>
<<skillIncrease $books[_i].skill 25>>
<<set $books[_i].progress to 0>>
<<set $books[_i].time *= 1.25>>
<<script>>
if (Dialog.isOpen() == false) {
var dialog = Dialog.setup("Book finished");
new Wikifier(dialog, "It was a fun read! And even better than that, you learned something about " + State.variables.books[State.temporary.i].skill);
Dialog.open();
}
<</script>>
<<else>>
<<script>>
if (Dialog.isOpen() == false) {
var dialog = Dialog.setup("Book finished");
new Wikifier(dialog, "It was a decent read! And though you didn't learn anything, it was just pleasant to spend some time reading it again.");
Dialog.open();
}
<</script>>
<</if>>
<</if>>
<<update>>
<</gameLink>>
<<else>>
You just can't find the motivation to improve a skill.
<</if>>
<<else>>
<<gameLink "read" "bookCase" time:60 exhaustion:0 motivation:20>>
<<set $books[_i].progress += 1>>
<<if $books[_i].progress >= $books[_i].time>>
<<if _personalities.includes($books[_i].skill)>>
<<personalityIncrease $books[_i].skill 1>>
<<script>>
if (Dialog.isOpen() == false) {
var dialog = Dialog.setup("Book finished");
new Wikifier(dialog, "The book was actually quite interesting, and you got the idea it taught you to be a bit more " + State.variables.books[State.temporary.i].skill + ". You might read it again, though it will take a bit longer before you get anything out of it again.");
Dialog.open();
}
<</script>>
<<set $books[_i].progress to 0>>
<<set $books[_i].time *= 1.5>>
<<elseif $books[_i].skill != "">>
<<skillIncrease $books[_i].skill 25>>
<<set $books[_i].progress to 0>>
<<set $books[_i].time *= 1.25>>
<<script>>
if (Dialog.isOpen() == false) {
var dialog = Dialog.setup("Book finished");
new Wikifier(dialog, "It was a fun read! And even better than that, you learned something about " + State.variables.books[State.temporary.i].skill);
Dialog.open();
}
<</script>>
<<else>>
<<script>>
if (Dialog.isOpen() == false) {
var dialog = Dialog.setup("Book finished");
new Wikifier(dialog, "It was a decent read! And though you didn't learn anything, it was just good to spend some time reading it again.");
Dialog.open();
}
<</script>>
<</if>>
<</if>>
<<update>>
<</gameLink>>
<</if>>
<</if>><<else>>You can't bring yourself to read.<</if>></td>
</tr>
<</if>>
<</capture>>
<</for>>
</table>
<</nobr>>
<<link "Go back" "Home">><</link>>You sit back, taking some time to decompress and enjoy the book. It's a decent read, well written, though a bit bloated at times. You spend some nice time relaxing, and you might've even learned something!
[[Return|$return]]<div id= "logo">
<p id="my-image"><img id="logoImage" src="https://i.imgur.com/Gv7Ettv.png">
</p>
</div>Summer Growth<<if $gameStarted is true>>
<<link "skills & traits" "CharacterSheet">><</link>>
<<link "Goals" "questlog">><</link>>
<<if $debug is "true">><<link "Cheats" "Cheats">><</link>><</if>>
<</if>>
<<link "Settings" "Settings">><</link>>
<<link "Credits" "Credits">><</link>>
<<link "Help" "Help">><</link>>
<<link "Changelog" "Changelog">><</link>><a href="https://discord.gg/SJmZFewbPK" target="_blank" rel="noopener noreferrer">Discord</a>
<a href="https://www.deviantart.com/bobdybuilder" target="_blank" rel="noopener noreferrer">Deviantart</a>
<a href="https://twitter.com/SummerGrowthDev" target="_blank" rel="noopener noreferrer">Follow me on twitter</a>
<a href="https://www.patreon.com/SummerGrowth" target="_blank" rel="noopener noreferrer">Support me on Patreon</a>
<a href="https://ko-fi.com/bobdybuilder/posts" target="_blank" rel="noopener noreferrer">Support me on Ko-fi</a><<set $quests to [
{ name: "cleanHouse",
description: "Unpack your boxes, clean your house and make your house a bit more livable!",
started: false,
completed: false,
progress: 0,
finished: 1,
finishedDialogue: "cleanHouseFinished",
stages: [
"You cleaned your entire house, and it finally feels like HOME."]
},
{ name: "getJob",
description: "Try and find a job so you have some income. You could just use your PC and browse some sites, or try to find out if one of the local stores has an opening.",
started: false,
completed: false,
progress: 0,
finished: 1,
finishedDialogue: "getJobFinished",
stages: [
"Income; guaranteed! Now let's hope you can keep it."]
},
{ name: "sewingTutotial",
description: "Simon has offered to teach you how to sew fabric and tailor clothes. Given your changing body, that's a huge opportunity! He told you to come back once you have bought a sewing machine, and acquired some fabric from Tasha.",
started: false,
completed: false,
progress: 0,
finished: 1,
finishedDialogue: "sewingTutotialFinished",
stages: [
"You got the items, and took the class!"]
},
{ name: "mainQuest1",
description: "Find out what that weird stuff in your fridge was, and what it did to you.",
started: false,
completed: false,
progress: 0,
finished: 4,
finishedDialogue: "cleanHouseFinished",
stages: [
"You learned that the previous tenant of your apartment apparently did some chemistry experiments there. Seems he left some things behind...",
"It seems the guy was named Toshi, and lived there for a few years."]
}
] >>
<<for _i to 0; _i < $quests.length; _i ++>>
<<capture _i>>
<<if $quests[_i].name is "cleanHouse">>
<<set $cleanHouseI to _i>>
<<elseif $quests[_i].name is "getJob">>
<<set $getJobI to _i>>
<<elseif $quests[_i].name is "mainQuest1">>
<<set $mainQuest1I to _i>>
<<elseif $quests[_i].name is "sewingTutotial">>
<<set $sewingTutotial to _i>>
<</if>>
<</capture>>
<</for>><<widget addQuest>>
<<for _i to 0; _i < $quests.length; _i ++>>
<<capture _i>>
<<if $quests[_i].name is $args[0]>>
<<Dialogue "quest" "New Goal">><<print $quests[_i].description>><</Dialogue>>
<<set $quests[_i].started to true>>
<</if>>
<</capture>>
<</for>>
<</widget>><<for _i to 0; _i < $quests.length; _i ++>>
<<capture _i>>
<<if $quests[_i].started is true>>
<<if $quests[_i].completed>>
<<set _status to "Completed">>
<<else>>
<<set _status to "">>
<</if>>
<<set _line to "Goal" + _status>>
<<set _tempDescription to $quests[_i].description>>
<<for _j to 0; _j < $quests[_i].progress; _j ++>>
<<capture _j>>
<<set _tempDescription += "<br> ●">>
<<set _tempDescription += $quests[_i].stages[_j]>>
<</capture>>
<</for>>
<<Dialogue "quest" "_line">><<print _tempDescription>><</Dialogue>>
<br>
<</if>>
<</capture>>
<</for>>
[[Return|$return]]<<widget addQuestProgress>>
<<for _i to 0; _i < $quests.length; _i ++>>
<<capture _i>>
<<if $quests[_i].name is $args[0]>>
<<set $quests[_i].progress += 1>>
<</if>>
<</capture>>
<</for>>
<</widget>><<widget addToLog>>
<<set _message to $args[0]>>
<<set _time to $gameDate.toLocaleTimeString('en-GB')>>
<<set _duplicate to false>>
<<set _removed to false>>
<<if $log.length == 0>>
<<else>>
<<set _duplicate to false>>
<<for _i to 0; _i < $log.length; _i ++>>
<<capture _i>>
<<if $log[_i].message == _message>>
<<set _duplicate to true>>
<<break>>
<</if>>
<</capture>>
<</for>>
<</if>>
<<if _duplicate is false>>
<<for _i to 0; _i < $deletedLog.length; _i ++>>
<<capture _i>>
<<if $deletedLog[_i].message == _message>>
<<set _removed to true>>
<<break>>
<</if>>
<</capture>>
<</for>>
<</if>>
<<if _duplicate is false and _removed is false>>
<<set $log.push({
time: _time,
message: _message
})>>
<</if>>
<</widget>><<nobr>>
<<widget "addBreastsSlow">>
<<set $breastsStore += parseFloat($args[0]) * $growthMod>>
<</widget>>
<</nobr>><<widget cleaning>>
<<set $room to $args[0]>>
<<if $args[0] is "Home">>
<<set _currentRoomCleaned to State.getVar("$livingRoomCleaned")>>
<<elseif $args[0] is "Kitchen">>
<<set _currentRoomCleaned to State.getVar("$kitchenCleaned")>>
<<elseif $args[0] is "Bathroom">>
<<set _currentRoomCleaned to State.getVar("$bathRoomCleaned")>>
<<elseif $args[0] is "Bedroom">>
<<set _currentRoomCleaned to State.getVar("$bedRoomCleaned")>>
<</if>>
<<if _currentRoomCleaned < 1>>
<<elseif _currentRoomCleaned < 2 and _currentRoomCleaned > 1>> It has a nice lived-in feel to it, though it could use some cleaning up.
<br><br>
<<elseif _currentRoomCleaned < 3 and _currentRoomCleaned > 2>> It has gotten quite messy lately. You should clean it up a bit.
<br><br>
<<elseif _currentRoomCleaned < 4 and _currentRoomCleaned > 3>> It's a huge mess though, and you really should make an effort to make it somewhat livable again.
<br><br>
<<addToLog "Ugh, this house needs a thorough cleaning...">>
<<elseif _currentRoomCleaned > 4>> It's a barely livable mess, though, and you really should at least make it somewhat habitable again!
<<addToLog "Urgh, this room is disgusting... It's horrible to look at.">>
<</if>>
<<if _currentRoomCleaned > 1>>
<<if $motivation > $exhaustion && $exhaustion + (10 * _currentRoomCleaned) < 100>>
<br><br>
<<set _timeString to "time:" + (30 * _currentRoomCleaned)>>
<<set _roomCleanedExhaustionString to "exhaustion:" + (10 * _currentRoomCleaned)>>
<<gameLink "Clean the room" $return _timeString _roomCleanedExhaustionString>>
<<if $args[0] is "Home">>
<<run State.setVar("$livingRoomCleaned", 0)>>
<<elseif $args[0] is "Kitchen">>
<<run State.setVar("$kitchenCleaned", 0)>>
<<elseif $args[0] is "Bathroom">>
<<run State.setVar("$bathRoomCleaned", 0)>>
<<elseif $args[0] is "Bedroom">>
<<run State.setVar("$bedRoomCleaned", 0)>>
<</if>>
<<script>>
if(!Number.isInteger(State.temporary.timeAdded)){
console.log("time was not proper value at " + State.temporary.timeAdded);
State.temporary.timeAdded = 30;
}
<</script>>
<<set _currentRoomCleaned to 0>>
<<script>>
var dialog = Dialog.setup("Room cleaned!");
new Wikifier(dialog, "It took some time, but you managed to get the room nice and livable again. Nothing like a freshly-cleaned room to make you feel proud of yourself!");
Dialog.open();
<</script>>
<<goto _room>>
<</gameLink>>
<br><br>
<<else>>
Unfortunately, you're just too tired to clean.
<br><br>
<</if>>
<</if>>
<</widget>><<script>>
if (!Dialog.isOpen()){
var dialog = Dialog.setup("Goal Completed; House Cleaned!");
new Wikifier(dialog, "It took some time, but you managed to get the room nice and livable again. Nothing like a freshly-cleaned room to make you feel proud of yourself!");
Dialog.open();}
else {
Dialog.append("<br><br>And... Goal Completed; House Cleaned!<br><br>It took some time, but you managed to get the room nice and livable again. Nothing like a freshly-cleaned room to feel you feel proud of yourself!")
}
<</script>><<if $livingRoomCleaned < 1 and $bathRoomCleaned < 1 and $kitchenCleaned < 1 and $bedRoomCleaned < 1 and $quests[$cleanHouseI].started is true and $quests[$cleanHouseI].completed is false>>
<<set $quests[$cleanHouseI].completed to true>>
<<set $quests[$cleanHouseI].progress to 1>>
<<include $quests[$cleanHouseI].finishedDialogue>>
<</if>>
<<if $job is true and $quests[$getJobI].started is true and $quests[$getJobI].completed is false>>
<<set $quests[$getJobI].completed to true>>
<<set $quests[$getJobI].progress to 1>>
<<set $shyConfident += 1>>
<<include $quests[$getJobI].finishedDialogue>>
<</if>><<for _i to 0; _i < $skills.length; _i ++>>
<<capture _i>>
<<if $skills[_i].name is "gaming">>
<<set _gamingSkillI to _i>>
<</if>>
<</capture>>
<</for>>
<<set $streamedFlag to true>>
<<set _rand to random(1,3)>>
<<set $viewersGainedMod to 0>>
Booting up the app, you check it out, several options available to you.
<<if $streamWarnings is 1>>
<<elseif $streamWarnings is 2>>
<</if>>
<<if $streamWarnings < 3>>
What kind of stream do you want to do?
<br>
<span id="streaming">
<br>
<<link "Stream some games">><<replace "#streaming">>
<<streamingViewerIncomeCalc "gaming">>
You boot up a game, setting everything up and starting a quick match.
<<skillIncrease "gaming" 10>>
<<if $streamingViewers < 10>>
Now and then, someone lurks briefly in or leaves a lone comment, but mostly it's just you. Still, it's an enjoyable pastime!
<<if _rand is 3>>
And you even got a random tips of 10 bucks, nice!
<<set $money += 10>>
<</if>>
<<elseif $streamingViewers < 20>>
You have a few subscribers who hang out, but it's nothing significant. Still, the tips are nice. And hey, it's all good fun!
<<if _rand is 3>>
And you even got some random tips, totaling 50 bucks! Nice!
<<set $money += 50>>
<</if>>
<<elseif $streamingViewers < 50>>
With your reliable subscriber base, you quickly get a nice number of viewers and a nicely populated chat. You even had to recruit some mods just to keep everything orderly! And having a fun pastime that is also becoming a source of reliable income isn't anything to scoff at!
<<elseif $streamingViewers < 100>>
Immediately, your chat is filled with people, and you can get going. The chat is almost too busy to keep up with, and your mods have their hands full at keeping everything orderly, but you're having a blast!
<<elseif $streamingViewers < 500>>
The moment you come online, your chat is scrolling too fast to read. The mods are in overdrive and the tips and subscriptions start rolling in. You really have a large following, and it shows!
<<else>>
As one of the bigger streamers on the site, your chat is immediately filled to the brim and scrolls comically fast. It's a huge rush, so many people watching you, and you want to give them what they came looking for!
<</if>>
<<if $skills[_gamingSkillI].level is 0>>
Your skills are nothing to write home about, and match after match you're sniped with cruel efficiency. Still, it's fun to just play some games on stream!
<<elseif $skills[_gamingSkillI].level is 1>>
And hey, since you're decent at this game, you even score a few kills!
<<elseif $skills[_gamingSkillI].level is 2>>
And with your skills, you're almost certain to get a nice audience, given you're almost a pro at this point!
<<elseif $skills[_gamingSkillI].level is 3>>
As a staple of the community, your skills at the game are near the top: people come in just to watch your plays, and compliment you for it!
<<else>>
With your skills, you slide into the top ranked matches, your stream almost an eSports hub. With that level of performance, you're sure you'll draw in a LOT of extra viewers! Hell, maybe even get an invitation to join a professional team!
<</if>>
<<include "streamingBodyDescr">>
<<include "streamingEvents">>
<<if $streamingViewers <= 1000000>>
During the stream you had around <<print $streamingViewers>> viewers. <<if $subscribers > 0>>Of those <<print $subscribers>> subscribed, giving you a neat $<<print $subscribers * setup.balance.baseIncomePerStream>>!
<<set $money += $subscribers * setup.balance.baseIncomePerStream>><</if>>
<<else>>
<<set _moneyGained to random(10000, 50000)>>
During the stream you had WELL over a million viewers! And with the ads you run and all the subscribers, it earns you a very nice $<<print _moneyGained>>!
<</if>>
<</replace>><</link>>
<br><br>
<<link "Just chat with people">><<replace "#streaming">>
<<streamingViewerIncomeCalc "talking">>
Booting up the app, you join the conversation, just hanging out online and chatting with people.
<<if $streamingViewers < 10>>
Now and then someone drifts in to take a look, but mostly, it's just you. Hey, it's an enjoyable past time, no matter what!
<<if _rand is 3>>
And you even got some random tips, totaling 50 bucks! Nice!
<<set $money += 50>>
<</if>>
<<elseif $streamingViewers < 20>>
You have a few regulars who hang out with you, but it's nothing too big. Still, it's a nice additional income and hey, it's plenty of fun!
<<if _rand is 3>>
And you even got some random donations, totaling 50 bucks! Nice!
<<set $money += 50>>
<</if>>
<<elseif $streamingViewers < 50>>
With your reliable viewer base, you quickly get a nice amount of people in the chat, which scrolls pleasantly fast. You even had to recruit some mods just to keep everything orderly! And besides, this fun pastime is also becoming a source of reliable income!
<<elseif $streamingViewers < 100>>
Immediately, your chat is filled with people, and you can get going; the chat is almost too busy to keep up with, and your mods have their hands full at keeping everything orderly, but you're having a blast!
<<elseif $streamingViewers < 500>>
The moment you come online, your chat starts scrolling comically fast, the mods are working in overdrive, and the donations and subscriptions start rolling in. You really got a large following, and it shows!
<<else>>
As one of the bigger streamers on the site, your chat is immediately filled to the brim and goes way too fast to read anymore. It's a huge rush, so many people coming online because of you, but you give them what they came for!
<</if>>
<<include "streamingBodyDescr">>
<<include "streamingEvents">>
<<if $streamingViewers <= 1000000>>
During the stream you had around <<print $streamingViewers>> viewers. <<if $subscribers > 0>>Of those <<print $subscribers>> subscribed, giving you a neat $<<print $subscribers * setup.balance.baseIncomePerStream>>!
<<set $money += $subscribers * setup.balance.baseIncomePerStream>><</if>>
<<else>>
During the stream you had WELL over a million viewers! And with the ads you run and all the subscribers, it earns you a very nice $<<print _moneyGained>>!
<</if>>
<</replace>><</link>>
</span>
<<else>>
Unfortunately, you got banned from the site, so you can't stream anymore...
<</if>>
<br><br>
[[Return|$return]]<<if $height <= 225 and $height >= 200>>
While you stream, some people take note of just how tall you are; some ask questions and beg you to show off your height a bit, or ask about your clothes! It's all in good fun, and hey, it draws in some more people!
<<elseif $height <= 250 and $height >= 225>>
While you stream people in the chat keep talking about your height, asking for measurements, or just admiring how tall you are. It's kinda cute, and it even brings in some more viewers!
<<elseif $height <= 300 and $height >= 250>>
Your gigantic stature is a topic the chat just won't let go; they want to know about your height, different measurements, where you buy clothes... it dominates the whole session! But it's all in good fun, and it draws in more viewers, even if they ARE a little obsessed.
<<elseif $height >= 300>>
Yeah, your stream draws a lot more people simply due to how tall you are. People want to know EVERYTHING about it, from your measurements to your... foot size?! Uhhh, sure.
<</if>>
<<if $breasts <= 60 and $breasts >= 40>>
You knew people online were thirsty, but THIS thirsty... You're almost certain half the chat is here simply due to your cleavage, but hey, if it brings in the viewers...
<<elseif $breasts <= 80 and $breasts >= 60>>
Predictably, the only thing your chat can think about is well... your chest. And while it IS impressive, it'd be nice of them to just talk about ANYTHING else for a while. The tips keep rolling in, true, but your mods have a lot of work to keep the chat orderly and respectable.
<<elseif $breasts <= 100 and $breasts >= 80>>
And immediately the chat goes WILD about your boobs. They're big, true, but they can't talk about anything else, like the horny teenagers most of them are. Words like 'goddess' and 'perfect waifu' are thrown around a lot, but what are you to do about it?
<<elseif $breasts >= 100>>
And like a beacon of horny was lit, the droves of desperate guys come crawling from all over the site. Drooling over your tits, they give your mods a HELL of a lot of work, and your chat is barely controllable.
<</if>>
<<if $muscle <= 60 and $muscle >= 40>>
It's not often a female bodybuilder streams, and it shows. People keep asking about your lifting routine, your nutritional habits and more. It's actually a nice surprise!
<<elseif $muscle <= 80 and $muscle >= 60>>
Since you're easily the most muscular women on the site, your stream draws a LOT of people in. Though most people coming here because of your size, they are quite nice and supportive. Your mods are busy dealing with the less-than-nice people.
<<elseif $muscle <= 100 and $muscle >= 80>>
Your gigantic muscles bring people in droves; some supportive and interested, some crass and insulting, and some more than a little horny. Still, you try to keep the conversation going with the nice ones, and ignore the rest.
<<elseif $muscle >= 100>>
Your inhumanely large muscles bring in their own audience of people worshipping them, hating them, or just stunned by them. It's quite nice to see all the reactions and, hey, more views!
<</if>>/* Height */
<<set $height to 150>>
<<set $heightMod to 1>>
<<set $heightStore to 0>>
/* Muscle */
<<set $muscle to 20>>
<<set $muscleStore to 0>>
<<set $muscleGrowthMax to setup.balance.muscleAllowancePerDay * 0.5>>
<<set $muscleGrowthMaxTemp to 0>>
<<set $muscleGrowthMaxDiet to 0>>
<<set $muscleGrowthMod to 1>>
<<set $muscleGrowthMaxTotal to 0>>
<<set $exhaustionWorkoutMod to 1>>
<<set $strengthMod to 1>>
/* Fat */
<<set $fat to 20>>
<<set $fatStore to 0>>
<<set $gut to 0>>
/* Breasts */
<<set $breastsStore to 0>>
<<set $breasts to 10>>
<<set $fatBreastsMod to 0>>
/* Lactation */
<<set $lactationUnlocked to false>>
<<set $milkStored to 0>>
<<set $milkCapacity to 0>>
<<set $milkCapacityModifier to 1>>
/* in relation to capacity. */
<<set $milkProduction to 0>>
<<set $lactationUnlockedPoints to 0>>
<<set $lactationSetting to true>>
<<set $lactationMorningRoutineEmptying to false>>
<<set $HelloDataScrubber_ThankyouForInvestigatingTheGame_SayHiInDiscord to true>>
/* Dick */
<<set $dickActive to false>>
<<set $dick to 0>>
<<set $dickGirthMod to (5/6)>>
<<set $dickErectionMod to 1.5>>
<<set $dickStore to 0>>
<<set $dickDialog to false>>
<<set $dickDialogFollowUp to false>>
<<set $balls to 0>>
/* Looks */
<<set $eyeColor to "red">>
<<set $bodyHairMod to 0>>
<<set $hairColor to "black">>
<<set $tongueLenght to 0>>
<<set $lips to 0>>
<<set $hips to 0>>
<<set $ass to 0>>
<<set $gender to 50>>
<<set $bodyArchetype to "Generic">>
<<set $bodyType to "skinny">>
<<set $looks to 0>>
<<set $legLenghtMod to 1>>
<<set $breastsSizeFormat to "USA">>
<<set $measurementSystem to "imperial">>
<<set $topSize to $muscle + $fat + $breasts>>
<<set $bottomSize to $muscle + $fat + $ass>>
<<set $bimbo to 0>>
<<set $himbo to 0>>
<span class="hidden">
<<numeralConversion $height>>
<<getMeasurement "chest" true>>
<<getMeasurement "waist" true>>
<<getMeasurement "hips" true>>
<<getMeasurement "neck" true>>
<<getMeasurement "upperArm" true>>
<<getMeasurement "lowerArm" true>>
<<getMeasurement "wrist" true>>
<<getMeasurement "thigh" true>>
<<getMeasurement "knee" true>>
<<getMeasurement "calve" true>>
<<getMeasurement "ankle" true>>
<<getMeasurement "weight">>
</span>
<<set $measurementProgress to [
{
date: new Date('June 1, 2020'),
measurements: {
chest: $chestSize,
waist: $waistSize,
hips: $hipsSize,
neck: $neckSize,
upperArm: $upperArmSize,
lowerArm: $lowerArmSize,
wrist: $wristSize,
thigh: $thighsSize,
knee: $kneeSize,
calve: $calveSize,
ankle: $ankleSize,
weight: $weight
}
}]>><<nobr>>
<<set _streamEvents to [
{warning: false,
message: ""
},
{warning: false,
message: ""
},
{warning: false,
message: ""
}
]>>
/* height */
<<if $height >= 200>>
<</if>>
<<if $height >= 225>>
<</if>>
<<if $height >= 250>>
<</if>>
/* breasts */
<<if $breasts >= 40>>
<<set _streamEvents.push(
{warning: false,
message: "During the stream you yawn and stretch, making your top stretch and reveal quite a bit. The chat notices it immediately, and you're sure some screenshots were taken!"})>>
<<set _streamEvents.push(
{warning: false,
message: "During the stream you lean forward, giving chat a generous view of your cleavage. You're QUITE sure some people made screenshots."})>>
<<set _streamEvents.push(
{warning: true,
message: "During the stream, you get a bit too enthusiastic and, in the heat of the moment, your top slips a bit, revealing your nipples! SHIT!"})>>
<</if>>
<<if $breasts >= 60>>
<<set _streamEvents.push(
{warning: true,
message: "During the stream you get a BIT too enthusiastic! Your breasts wobble around a lot, and the chat is quite entranced, but you're sure at one point they saw more than they should've! FUCK."})>>
<</if>>
<<if $breasts >= 80>>
<<set _streamEvents.push(
{warning: true,
message: "During the stream you get a BIT too enthusiastic! Your gigantic breasts wobble around a lot, and the chat is quite entranced, but you're sure at one point they saw more than they should've! FUCK."})>>
<</if>>
<<if $breasts >= 100>>
<<set _streamEvents.push(
{warning: true,
message: "As you stream, you notice that the only thing your chat is talking about are your tits. You get the feeling you'll get a warning on your channel soon..."})>>
<</if>>
/* Lactation */
<<if $lactationSetting && $outfit.bonuses().map(bonus => bonus.name).includes('Lactation-proof') == false>>
<<if $breastsFullness === 'overflowing'>>
<<set _streamEvents.push(
{warning: true,
message: "Maybe it wasn't so smart to stream with painfully full breasts, and with clothing that doesn't really hide it. It doesn't take long for two big wet spots to appear, and for the chat to go wild. And you KNOW you'll get a warning for this..."})>>
<<set _streamEvents.push(
{warning: true,
message: "Maybe it wasn't so smart to stream with painfully full breasts, and with clothing that doesn't really hide it. It doesn't take long for two big wet spots to appear, and for the chat to go wild. And you KNOW you'll get a warning for this..."})>>
<<set _streamEvents.push(
{warning: true,
message: "Maybe it wasn't so smart to stream with painfully full breasts, and with clothing that doesn't really hide it. It doesn't take long for two big wet spots to appear, and for the chat to go wild. And you KNOW you'll get a warning for this..."})>>
<</if>>
<<if ['overflowing', 'full'].includes(State.variables.breastsFullness)>>
<<set _streamEvents.push(
{warning: false,
message: "During your stream you keep getting distracted as your tits are just painfully full. It isn't noticable, but chat does notice you seem a bit distracted."})>>
<</if>>
<</if>>
<<if $lactationSetting && $outfit.bonuses().map(bonus => bonus.name).includes('Lactation-proof')>>
<<if $breastsFullness === 'overflowing'>>
<<set _streamEvents.push(
{warning: false,
message: "Maybe it wasn't so smart to stream with painfully full breasts. Yet you wear the right clothing, and while your tits are constantly leaking, the chat is non the wiser!"})>>
<<set _streamEvents.push(
{warning: true,
message: "Maybe it wasn't so smart to stream with painfully full breasts. Yet you wear the right clothing, and while your tits are constantly leaking, the chat is non the wiser!"})>>
<</if>>
<<if ['overflowing', 'full'].includes(State.variables.breastsFullness)>>
<<set _streamEvents.push(
{warning: false,
message: "During your stream you keep getting distracted as your tits are just painfully full. It isn't noticable, but chat does notice you seem a bit distracted."})>>
<</if>>
<</if>>
/* muscle */
<<if $muscle >= 40>>
<<set _streamEvents.push(
{warning: false,
message: "During a particularly nice point in the stream, you give a loud cheer, flexing your biceps. The chat LOVES it!"})>>
<<set _streamEvents.push(
{warning: false,
message: "As you stream, you just can't help but get a bit pumped, and chat notices. Soon plenty of FLEX emotes fill the chat, all of them loving it! Time to give them what they want!"})>>
<</if>>
<<if $muscle >= 60>>
<<set _streamEvents.push(
{warning: false,
message: "You don't know what is going on during the stream, but you just keep getting pumped, your muscles showing quite a bit now and then. Not an issue, but the chat LOVES it! Someone suggests changing the channel name to MuscleQueenXXL!"})>>
<<set _streamEvents.push(
{warning: false,
message: "It's kind of fun how chat just loves to chat about your size. Giving them a quick provocative flex, you grant their wishes, and they seem to love every single moment of it!"})>>
<</if>>
<<if $muscle >= 80>>
<<set _streamEvents.push(
{warning: true,
message: " You don't know what is going on during the stream, but you just keep getting pumped, your muscles showing quite a bit now and then. You get more and more into it, climaxing in a massive flex, which rips your clothes and reveals your underwear! You're certain you didn't turn off the camera in time, and that chat got to see more than you wanted..."})>>
<</if>>
/* clothes */
<<if ['tight'].includes(setup.getFitDescriptionOfClothes($outfit.top()))>>
<<set _streamEvents.push(
{warning: false,
message: "During the stream, your top is just a bit too tight, never being quite comfortable. That wouldn't be too bad if it wasn't a BIT too revealing at times, giving chat just a bit too much to look at!"})>>
<<set _streamEvents.push(
{warning: false,
message: "During the stream you try to ignore the tightness of your clothes, but you really should've worn a better fitting outfit. You keep having to adjust it and you're sure the chat got a bit too much to look at."})>>
<<elseif ['too small'].includes(setup.getFitDescriptionOfClothes($outfit.top()))>>
<<set _streamEvents.push(
{warning: true,
message: "It had to happen, given the tight clothing you were wearing! You moved just a bit too abruptly, a bit too forcefully and you just ripped them clean! Screenshots were taken, and you're sure they'll be all over the net soon..."})>>
<</if>>
<<if ['tight'].includes(setup.getFitDescriptionOfClothes($outfit.bra()))>>
<<set _streamEvents.push(
{warning: false,
message: "During the stream, your bra is just uncomfortably tight, and as you adjust it, you gave the chat a bit too much to look at!"})>>
<<set _streamEvents.push(
{warning: false,
message: "Though you try to ignore it, you're sure that with how tight your bra is, it gives the chat a bit too much to look at. Your fears are confirmed once the chat will talk about nothing else..."})>>
<<elseif ['too small'].includes(setup.getFitDescriptionOfClothes($outfit.bra()))>>
<<set _streamEvents.push(
{warning: true,
message: "SHIT. During the stream, you ignored the sounds coming from your bra as it tried to contain your breasts. With a sudden snap, it suddenly broke, your tits noticeably plopping down! The chat noticed, as you weren't quick enough to end the stream!"})>>
<</if>>
<<if ['tight'].includes(setup.getFitDescriptionOfClothes($outfit.bottom()))>>
<<set _streamEvents.push(
{warning: false,
message: "Your pants were just a bit too tight and as you walked off-cam to show something, the inevitable happened: the chat got to see just a BIT too much!"})>>
<<set _streamEvents.push(
{warning: false,
message: "During the stream you get up at one point to get something, and it seems your pants were too tight! When you check back, the chat is talking about your generous backside!"})>>
<<elseif ['too small'].includes(setup.getFitDescriptionOfClothes($outfit.bottom()))>>
<<set _streamEvents.push(
{warning: true,
message: "During the stream you get up at one point to get something, and it seems your pants were too tight! When you look back, the chat is talking about your generous backside!"})>>
<</if>>
/* tongue */
<<set _tempTongue to Math.round(($tongueLenght + 9 )* $heightMod)>>
<<if $tongueLenght > 2>>
<<set _streamEvents.push(
{warning: false,
message: "During the stream you yawn, and accidentally let your tongue roll out. The chat gets to see its full <<numeralConversion _tempTongue>> length! Though stunned, they seem to love it, immediately demanding tongue emotes."})>>
<</if>>
<<if $tongueLenght >= 4>>
<<set _streamEvents.push(
{warning: false,
message: "During the stream you get a bit too playful, and stick out your tongue for the chat. It seems they were kind of impressed with the <<numeralConversion _tempTongue>> long appendage!"})>>
<</if>>
<<if $tongueLenght >= 6>>
<<set _streamEvents.push(
{warning: false,
message: "During the stream you yawn, and accidentally your tongue rolls out. The chat gets to see its full <<numeralConversion _tempTongue>> length! Though stunned, they seem to love it, immediately demanding tongue emotes."})>>
<</if>>
/* dick */
<<if $dick > 14>>
<<set _streamEvents.push(
{warning: false,
message: "During the stream you get up, and the chat accidentally gets a sight of your bulge. FUCK! The chat explodes, and although mods try to control the mob, the damage is done..."})>>
<</if>>
<<if $dick >= 20>>
<<set _streamEvents.push(
{warning: true,
message: "For some reason during the stream you started getting a chubby. Despite trying to focus on other things, you just kept getting hard, and you're pretty sure the chat noticed it!"})>>
<</if>>
<<if $dick >= 30>>
<<set _streamEvents.push(
{warning: true,
message: "During the stream your pants get incredibly tight, and you're sure chat has noticed, given the amount of eggplant emotes flooding in..."})>>
<</if>>
<<if $dick >= 40>>
<<set _streamEvents.push(
{warning: true,
message: "With how big your bulge is, it's almost impossible to keep it off-screen sometimes, and well, the chat is catching on just how... BIG that thing is!"})>>
<</if>>
<<if $dick >= 50>>
<<set _streamEvents.push(
{warning: true,
message: "During the stream you get up and the chat accidentally gets a sight of your bulge. FUCK! The chat explodes, and though the mods try to control it, the damage is done..."})>>
<</if>>
<<if $dick >= 60>>
<<set _streamEvents.push(
{warning: true,
message: "During the stream you get up and the chat accidentally gets a sight of your bulge. FUCK! The chat explodes, and though the mods try to control it, the damage is done..."})>>
<</if>>
<<set _eventI to random(0, (_streamEvents.length - 1))>>
<<set $streamEvent to _streamEvents[_eventI].message>>
<<print $streamEvent>>
<<if _streamEvents[_eventI].message != "">>
<</if>>
<<if _streamEvents[_eventI].warning is true>>
<<set _saveChance to $carefreeCarefull + random(0,1)>>
<<if _saveChance > 1>>
While you should've gotten a warning here for the... 'incident', your careful nature allowed you to get away with just a warning! Lucky!
<<else>>
<<set $streamWarnings += 1 and $difficulty != "sandbox">>
Checking your inbox, you suddenly get a red message. SHIT! Seems like what happened on the stream did NOT fit the terms of service. If you get three of those, your channel WILL be removed!
<</if>>
<</if>>
<</nobr>><<widget sizeCalc>>
/* $args[0]: Starting size at muscle 20, fat 20 */
/* $args[1]: ideal size at muscle 60 */
/* $args[2]: ideal size at fat 60 */
/* $args[3]: The VAR being set. */
/* _steps: Amount of steps between starting and ideal size.*/
<<set $startingSize to $args[0]>>
<<set $idealMuscle to $args[1]>>
<<set $idealFat to $args[2]>>
<<set _steps to 60 - 20>>
<<set _divMuscle to $idealMuscle - $startingSize>>
<<set _divFat to $idealFat - $startingSize>>
<<set _valueMuscle to (_divMuscle / _steps)>>
<<set _valueFat to (_divFat / _steps)>>
<<set _value to ($startingSize + ((_valueMuscle * ($muscle - 20)) + (_valueFat * ($fat - 20)))) * $heightMod>>
<<if $args[3] is "$weight">>
<<set _value *= ($heightMod * $heightMod)>>
<</if>>
<<run State.setVar($args[3], _value)>>
<</widget>><<include "Init">>
Before we start the game, there are some global settings that determine how easy or hard the game is. These can be changed at any time in the 'Settings' menu on the left.
<br><br>
<h2>Game Difficulty</h2>
<br>
Determines the difficulty of the game. This does not determine how fast the player grows, merely the challenge during the game. This determines the price of some clothes, the weekly rent they player must pay, and the price of food.
<br>
<<radiobutton "$difficulty" "sandbox" autocheck>> Sandbox - far more money and items available, it's impossible to get fired from jobs.
<br>
<<radiobutton "$difficulty" "easy" autocheck>> Easy - more money and items available.
<br>
<<radiobutton "$difficulty" "medium" autocheck>> Medium - the game is made to have some challenge balancing money and growth.
<br>
<<radiobutton "$difficulty" "hard" autocheck>> Hard - the game will make an active attempt to bankrupt you and cause a game over.
<br>
<br>
<h2>Growth speed </h2>
<br>
Determines the general speed at which the main character will grow. This makes the game quicker.
<br>
<<radiobutton "$growthMod" 0.5 autocheck>> Slow
<br>
<<radiobutton "$growthMod" 1 autocheck>> Medium
<br>
<<radiobutton "$growthMod" 1.5 autocheck>> Fast
<br>
<br>
<h2>Daily amount of potions </h2>
<br>
Determines the amount of potions that will appear in the shop daily.
<br>
<<radiobutton "$dailyConsumableAmount" 1 autocheck>> 1
<br>
<<radiobutton "$dailyConsumableAmount" 2 autocheck>> 2
<br>
<<radiobutton "$dailyConsumableAmount" 3 autocheck>> 3
<br>
<br>
<h2>Muscle growth Style</h2>
<br>
Determines the style of muscle growth. At 'Fantasy' you can expect the protagonist to be the size of a large male bodybuilder by mid-game. At 'Realistic' you can expect her to aim for a Grecian Ideal Physique, resulting in more realistic development.
<br>
<<radiobutton "$muscleGrowthStyle" "Realistic" autocheck>> Realistic
<br>
<<radiobutton "$muscleGrowthStyle" "Fantasy" autocheck>> Fantasy
<br>
<br>
<h2>Add Futa content</h2>
<br>
When this is on, the female protagonist can grow a penis.
<br>
<<radiobutton "$futa" true autocheck>> on
<br>
<<radiobutton "$futa" false autocheck>> off
<br>
<br>
<h2>Add lactation content</h2>
<br>
When this is on, the protagonist can start leaking milk
<br>
<<radiobutton "$lactationSetting" true autocheck>> on
<br>
<<radiobutton "$lactationSetting" false autocheck>> off
<br>
<br>
<h2>Measurement system</h2>
Determines the measurement system used in the game.
<br>
<<radiobutton "$measurementSystem" "imperial" autocheck>> Imperial
<br>
<<radiobutton "$measurementSystem" "metric" autocheck>> Metric
<br><br>
<<button [[Go on|startPoints]]>><</button>><<nobr>>
<<widget "weightConversion">>
<<if $measurementSystem is "imperial">>
<<print Math.round($args[0] * 2.20462262)>>lbs
<<elseif $measurementSystem is "metric">>
<<print Math.round($args[0])>> kg
<</if>>
<</widget>>
<</nobr>><<if $introOver is true>>
<<set _roll to random(1,5)>>
<<if _roll >= 4>>
<<set _flavorText to []>>
<<if $tags.includes("home") and $height > 190 and $height < 200>>
<<set _flavorText.push("Huh... you're almost as tall as the door. Well, that's going to be fun!")>>
<<elseif $tags.includes("home") and $height > 200 and $height < 220>>
<<set _flavorText.push("Man, these doors are small... let's hope you don't forget to duck too often.")>>
<<elseif $tags.includes("home") and $height > 220 and $height < 250>>
<<set _flavorText.push("Why are all these doors so small?! Urgh!")>>
<<elseif $tags.includes("home") and $height > 250 and $height < 300>>
<<set _flavorText.push("Yeah, you're almost forced to CRAWL through doors now!")>><</if>>
<<if $tags.includes("home") and $dick > 5 and $dick < 10>>
<<set _flavorText.push("It's a good thing you're inside, because if people saw the bulge in your pants right now..!")>>
<<elseif $tags.includes("home") and $dick > 10 and $dick < 20>>
<<set _flavorText.push("Urgh, it's a good thing you're inside, because you just got a random erection. Do guys have to deal with this all the time?!")>>
<<elseif $tags.includes("home") and $dick > 20>>
<<set _flavorText.push("Yup, another random erection. And with your size, it's a good thing you're home!")>>
<</if>>
<<if $tags.includes("outOfHouse") and $dick > 5 and $dick < 10>>
<<set _flavorText.push("Shit, shit, shit! You don't know what it is, but your bulge is really showing! You're sure people are staring!")>>
<<elseif $tags.includes("home") and $dick > 10 and $dick < 20>>
<<set $erectionOutside to true>>
<<set _flavorText.push("You're pretty sure your bulge is really showing. But, given your size? Hard for it not to be.")>>
<<elseif $tags.includes("home") and $dick > 20>>
<<set $erectionOutside to true>>
<<set _flavorText.push("Yup, another random erection. And you're pretty sure a lot people saw it. But at your size, come on!")>>
<</if>>
<<if $tags.includes("home") and $muscle > 60 and $muscle < 80 and $muscleGrowthStyle is "Fantasy">>
<<set _flavorText.push("Heh... your shoulders just rubbed against both sides of the door. Seems like you're really getting wide!")>>
<<elseif $tags.includes("home") and $muscle > 80 and $muscle < 100 and $muscleGrowthStyle is "Fantasy">>
<<set _flavorText.push("Yeah, you're so wide now, you're having trouble getting through doors sideways...")>>
<<elseif $tags.includes("home") and $muscle > 100 and $muscleGrowthStyle is "Fantasy">>
<<set _flavorText.push("You're so muscular now, you have to force your way through doors! Not that you mind, of course!")>>
<</if>>
<<if $tags.includes("storage") and $height < 170>>
<<set _flavorText.push("Why are thing stored on the high shelves?! You can barely reach them!")>>
<</if>>
<<if _flavorText.length > 0>>
<<set _randLogItemI to random(0, _flavorText.length - 1)>>
<<addToLog _flavorText[_randLogItemI]>>
<</if>>
<</if>>
<<if $jobInterview>>
<<if $gameDate.getDate() is $jobInterviewDate.getDate()>>
<<addToLog "<b>Don't forget, you have the job interview today at 14:00! Better make sure you're on time and well dressed!</b>">>
<</if>>
<</if>>
<</if>><<include "JohanTriggers">>
<<include "ElenaTriggers">>
<<include "EmmaTriggers">>
<<include "KrisTriggers">>
<<include "PostSleepTriggers">><<set $JohanTriggers to []>>
<<set $JohanUsedTriggers to ["blocked"]>><<set setup.events.push({
name: 'JohanFiller1',
locationTags: ['johan'],
conditions: [],
repeatable: true,
retriggerable: false,
priority: 'filler',
npc: ["johan"],
content: '<<set $johanOpinion += 1>><<Dialogue "Johan" "Johan">>Oh hey! Welcome, come on in! I was just doing some hobby stuff, painting some miniatures, you know. I JUST ran out of leadbelcher but-<</Dialogue>><br>And there Johan went into his own little world again. Passionately, he shows you some of the miniatures he painted and... he is good, real good. And you really get the feeling he\'s trying to share his hobby with you, not just talking at you. And it\'s hard not to get caught up in it. Somehow, you even promise him you\'ll try it one day, where did THAT come from?!<br><br><<link "Go back home" "Home">><</link>>'
}, {
name: 'JohanFiller2',
locationTags: ['johan'],
conditions: [],
repeatable: true,
retriggerable: false,
priority: 'filler',
npc: ["johan"],
content: '<<set $johanOpinion += 1>><<Dialogue "Johan" "Johan">>Hey there <<print $playerFirstName>>, how are you doing?<</Dialogue>><br><<Dialogue "player" "You">>Doing well, just thought I\'d drop by. Anything up with you?<</Dialogue>> <br><<Dialogue "Johan" "Johan">>You know, the usual. busy with studying, hobby clubs taking whatever time I have left... but still, it\'s all decent enough! Also, thanks for dropping by, I really appreciate it! I\'m often so busy I rarely just... you know. Talk to people.<</Dialogue>> <br><<Dialogue "player" "You">>I mean, if you ever want to drop by...<</Dialogue>> <br><<Dialogue "Johan" "Johan">>I\'ll take you up on that! Listen, I have to go, I got a Harlequin list I got to run against some Space Marines, but I\'ll drop by for sure!<</Dialogue>> <br>As you watch him leave, you wonder if he ever will drop by. Something tells you that, though he truly intends to, he might just never quite find the time.<br><<link "Go back home" "Home">><</link>>'
}, {
name: 'JohanFiller3',
locationTags: ['johan'],
conditions: [],
repeatable: true,
retriggerable: false,
priority: 'filler',
npc: ["johan"],
content: '<<set $johanOpinion += 1>>As Johan opens the door, his white shirt is streaked with blood, large splatters on his hands, and even a splotch on his face. Normally, this would shock you, but given his hobbies...<br><<Dialogue "player" "You">>... Spilled some paint again?<</Dialogue>><br><<Dialogue "Johan" "Johan">>... You know, it kinda hurts you barely even reacted to it.<</Dialogue>> <br><<Dialogue "player" "You">>Heh, you\'re not a hard person to figure out, Johan. So... how did this happen?<</Dialogue>><br><<Dialogue "Johan" "Johan">>...The knocking startled me.<</Dialogue>><br><<Dialogue "player" "You">>...Shall I just leave you to clean this and come back another time?<</Dialogue>><br><<Dialogue "Johan" "Johan">>That\'d be appreciated.<</Dialogue>><br><<link "Go back home" "Home">><</link>>'
}, {
name: 'JohanFiller4',
locationTags: ['johan'],
conditions: [],
repeatable: true,
retriggerable: false,
priority: 'filler',
npc: ["johan"],
content: '<<set $johanOpinion += 1>><<Dialogue "player" "You">>Hey, Johan, thought I\'d drop by! How\'re you doing, you big ol\' nerd?<</Dialogue>><br><<Dialogue "Johan" "Johan">>Oh come on, I\'m not that much of a - Yeah, you got me. Heh, so, how are you doing?<</Dialogue>><br>Slowly, you look down at the shirt he\'s wearing, depicting something that is some kind of gruff military man apparently carrying an entire metric-chunkton of armor on each of his shoulders.<br><<Dialogue "player" "You">>Hehe, listen I don\'t mind. It\'s kinda... Nice you\'re so passionate.<</Dialogue>><br><<Dialogue "Johan" "Johan">>Huh, really?! Most people just find it a bit too much! Don\'t you?<</Dialogue>><br><span id="choice"><<link "No, no, not at all!">><<replace "#choice">><<Dialogue "player" "You">>No, no, not at all! It\'s nice to see someone so passionate, it\'s refreshing! Just be yourself, you big nerd! <</Dialogue>><br>Johan smiles warmly, clearly appreciating it.<br><br> <<Dialogue "Johan" "Johan">>Hey, thanks, really. Some people get really judgmental about it so... you know, thanks!<</Dialogue>><br><<Dialogue "player" "You">>Hey, no worries, you do you! Anyway, I gotta run but let\'s chat more later, alright? Hehe, might even be more nerd stuff!<</Dialogue>><br><br><<link "Go back home" "Home">><</link>><</replace>><</link>> <br><<link "Maybe sometimes it\'s a bit much but...">><<replace "#choice">><<Dialogue "player" "You">>Well... sometimes... it\'s a bit much you know? Like, it\'s awesome you do it but... well... you know, try to... be... you know, you but... uhm... Well, your hobbies are awesome but you\'re exclusively talking about them!<</Dialogue>> <br> <<Dialogue "Johan" "Johan">>...Ah. I\'ll keep that in mind, no problem. Anyway, I have a thing to get to so...<</Dialogue>> <br> Johan becomes more subdued, and immediately it\'s clear that while he will try to take this advice to heart... it hurt him a bit. Well. That could\'ve gone better. <br><br><<link "Go back home" "Home">><<set $johanOpinion -= 10>><</link>><</replace>><</link>></span>'
}, {
name: 'JohanFiller5',
locationTags: ['johan'],
conditions: [],
repeatable: true,
retriggerable: false,
priority: 'filler',
npc: ["johan"],
content: '<<set $johanOpinion += 1>><<Dialogue "Johan" "Johan">>Oh, hey, welcome! Are you enjoying your room alright? No big problems?<</Dialogue>><br><<Dialogue "player" "You">>It\'s in the basement, it\'s damp, it\'s a student dorm. It\'s decent enough for me to be honest, what more could I ask for?<</Dialogue>><br><<Dialogue "Johan" "Johan">>Yeah, true. I\'m at least happy we FINALLY got something done about that mice infestation last year.<</Dialogue>><br><<Dialogue "player" "You">>... Do I even want to know more?<</Dialogue>><br><<Dialogue "Johan" "Johan">>Oh, the guy who was there before you made a lot of food, but wasn\'t very good about cleaning up so we got TONS of mice. Big ones, too! We only got rid of them after he moved ou- are you okay? You seem a bit pale...<</Dialogue>><br><<Dialogue "player" "You">>... Nope. All okay. Listen, I\'m off to buy some mousetraps...<</Dialogue>><br><<link "Go back home" "Home">><</link>>'
}, {
name: 'JohanFiller6',
locationTags: ['johan'],
conditions: [],
repeatable: true,
retriggerable: false,
priority: 'filler',
npc: ["johan"],
content: '<<set $johanOpinion += 1>><<Dialogue "Johan" "Johan">>Oh, morning, didn\'t expect you to drop by. Did anything happen?<</Dialogue>><br><<Dialogue "player" "You">>No, just wanted to see how you were doing. Just trying to get out a bit, you know.<</Dialogue>><br><<Dialogue "Johan" "Johan">>I totally get that. There are so few people around here, it tends to get a bit lonely. Last summer, I was the only person here, so you can probably imagine what it was like.<</Dialogue>><br><<Dialogue "player" "You">>I\'ll be honest, I\'m kinda getting the same vibe right now. Like, its nice, being the only ones here but...<</Dialogue>><br><<Dialogue "Johan" "Johan">>... but this is a bit too much, yeah, I feel the same. Listen, if you want to come over for dinner anytime...<</Dialogue>><br><<Dialogue "player" "You">>You know what, I\'ll take you up on that!<</Dialogue>><br><<Dialogue "Johan" "Johan">>Always welcome!<</Dialogue>><br><<link "Go back home" "Home">><</link>>'
})>><<set setup.events.push(
{
name: 'JohanChangedOutfit',
locationTags: ['johan'],
conditions: [
() => State.variables.changedOutfit
],
repeatable: false,
retriggerable: false,
priority: 'response',
npc: ["johan"],
content: '<<Dialogue "Johan" "Johan">>"Oh, hey! Welcome, come on in! By the way, GREAT new outfit, I like it!"<</Dialogue>><br>It seems Johan was as energetic as ever, though it\'s surprising he noticed your new outfit so quickly.<br><br><span id="choice"><<link "Oh, thanks for noticing!">><<replace "#choice">><<Dialogue "player" "You">>"Oh, thank you for noticing! I think it suits me, don\'t you?"<</Dialogue>> <br> <<Dialogue "Johan" "Johan">>"Hey, can\'t help but notice, that\'s how good it looks on you!"<</Dialogue>><br><br> Blushing from the nice compliment, you come in, sitting down and just enjoy spending some time with him. Though he can sometimes be obnoxious, he\'s certainly not a creep! While still laughing from one of his horrible jokes, you say goodbye, getting on with your day.<br><br><<link "Go back home" "Home">><</link>><</replace>><</link>> <br><<link "Thanks... I guess?">><<replace "#choice">><<Dialogue "player" "You">>"Uhm... thanks, I guess...?"<</Dialogue>> <br> <<Dialogue "Johan" "Johan">>"O-oh... sorry if I made this awkward!"<</Dialogue>> <br> The two of you spend some time just chatting, but the tone had been set and you couldn\'t help but notice it just kept getting worse. Still, it was nice catching up with him! Even though his high energy demeanor can be a bit annoying at times, he\'s certainly not a creep.<br><br><<link "Go back home" "Home">><</link>><</replace>><</link>></span>'
}, {
name: 'JohanMuscle10',
locationTags: ['johan'],
conditions: [
() => State.variables.johanLastMuscle + 10 < State.variables.muscle,
() => !State.variables.outfit.bonuses().map(bonus => bonus.name).includes('Baggy')
],
repeatable: false,
retriggerable: false,
priority: 'response',
npc: ["johan"],
content: 'Johan opens the door to his apartment with his usual warm smile, but stops cold when he takes a good look at you.<br><br><<Dialogue "Johan" "Johan">> "Well, uh... hello there! You\'re looking awfully... healthy... today..."<</Dialogue>><br><<Dialogue "player" "You">> "Oh? What do you mean?"<</Dialogue>><br><<Dialogue "Johan" "Johan">> "I-I I meant it as a compliment, honestly! You just... you\'ve put on a good amount of muscle since I saw you last."<</Dialogue>><br><span id="choice"><<link " Play coy">><<replace "#choice">><br><br><<Dialogue "player" "You">> "Why, thank you!"<</Dialogue>><br><<Dialogue "Johan" "Johan">> "No, really, you\'re noticeably bigger! You look like you\'ve been at this for years!"<</Dialogue>><br><<Dialogue "player" "You">> "Aww, you\'re too kind! I\'ve been working hard at this, I\'m glad it\'s paying off."<</Dialogue>><br><<Dialogue "Johan" "Johan">> "Seriously, this defies reason! Are you... What are you doing to get these results?!"<</Dialogue>><br><<Dialogue "player" "You">> "Just good old fashioned hard work, silly! Speaking of which, I\'ve gotta be on my way!"<</Dialogue>><br><<Dialogue "Johan" "Johan">> "Um... okay... g-good to see you again. Careful with your training, don\'t hurt yourself or anything!"<</Dialogue>><br><<Dialogue "player" "You">> "Don\'t worry. Somehow I feel that won\'t be a problem!"<</Dialogue>><br>You go on your way, leaving Johan standing there, dumbfounded and wondering whether he just dreamed all of this.<br><br><<link "Go back home" "Home">><</link>><</replace>><</link>><br><br><<link " Brag">><<replace "#choice">><br><br><<Dialogue "player" "You">> "I have, haven\'t I?"<</Dialogue>><br>You roll your shoulders a bit and grin, happily showing off your larger frame. Johan\'s eyes go wide and you could swear you hear him gulp quietly.<br><br><<Dialogue "player" "You">> "These workouts have really been paying off. I\'m already much bigger than I expected! I wonder how big I\'m going to end up getting?"<</Dialogue>><br><<Dialogue "Johan" "Johan">> "W-wait, you mean you\'re not done? Most people would be jealous of that kind of body. How big are you trying to get exactly?"<</Dialogue>><br><<Dialogue "player" "You">> "I don\'t know. As big as I can? I mean, why stop, right? Speaking of which, I need to run. See you, Johan!"<</Dialogue>><br>You leave Johan standing there dumbfounded, as you walk off with an extra spring in your step from the verbal ego massage.<br><br><<link "Go back home" "Home">><</link>><</replace>><</link>></span>'
}, {
name: 'JohanMuscle',
locationTags: ['johan'],
conditions: [
() => State.variables.johanLastMuscle + 1 < State.variables.muscle,
() => !State.variables.outfit.bonuses().map(bonus => bonus.name).includes('Baggy')
],
repeatable: false,
retriggerable: false,
priority: 'response',
npc: ["johan"],
content: '<<set $johanOpinion += 2>>Johan\'s face tightens up into a slight look of confusion as he greets you.<br><br><<Dialogue "Johan" "Johan">> "W-well, hey! You look diff- erm, great!"<</Dialogue>><br>He is clearly confused as to how you\'ve managed to put on such a nice bit of muscle since your last encounter.<br><br><<Dialogue "Johan" "Johan">> "You know, I\'ve thought about getting into better shape in the past, but I could never bring myself to do it. Have you been working out?"<</Dialogue>><br><span id="choice"><<PersonalityCheck $shyConfident >= 1 " Of course I have!">><<replace "#choice">><br><br><<Dialogue "player" "You">> "Yes, I have! Thanks for noticing!"<</Dialogue>><br>You flex your muscles a bit to show off your recent progress.<br><br><<Dialogue "Johan" "Johan">> "Wow, that\'s really impressive. Maybe you\'ll have to give me some pointers later! Anyways, it was nice seeing you, but I have to prep a dungeon for tonight\'s role playing session. I\'ll see you around!"<</Dialogue>><br><<Dialogue "player" "You">> "Oh, sure, Johan. It was nice seeing you too!"<</Dialogue>><br>You give him one last flex as you wave and turn to leave. With your last glance at Johan, you can tell he really liked the show!<br><br><<link "Go back home" "Home">><</link>><</replace>><<Failed>><<replace "#choice">><br><br><<Dialogue "player" "You">> "N-nyep!"<</Dialogue>><br>Nyep. Was that the best you could come up with, nyep?! That\'s not even a word, come on, you\'re just getting a bit more muscular, no need to act like this! Johan is, in the meantime, staring at you, visibly confused. Deciding it\'s best to leave with your dignity intact, you turn around straight into a wall, missing the door. <br><<Dialogue "player" "You">> "B-bye!"<</Dialogue>><br><br><<link "Go back home" "Home">><</link>><</replace>>\t<</PersonalityCheck>><br><br><<link " No, why do you ask?">><<replace "#choice">><br><br>You lock your hands together behind your back and try to straighten your arms. This thrusts your chest forward and makes your triceps pop up a bit.<br><br><<Dialogue "player" "You">> "Huh? What gives you that idea?"<</Dialogue>><br><<Dialogue "Johan" "Johan">> "Oh, uh, you just look like you\'re in really good shape! Er, better shape!"<</Dialogue>><br>You raise one of your eyebrows at him.<br><br><<Dialogue "Johan" "Johan">> "No! Um, you... That\'s not how I meant it! I\'m just saying you seem like you\'ve put extra care into looking stronger."<</Dialogue>><br>You smile and relent a bit. You pull up one of your arms to flex your biceps.<br><br><<Dialogue "player" "You">> "Well, maybe you\'re right. I guess I hadn\'t noticed it. Anyways, I think I should be going. See you around, Johan."<</Dialogue>><br><<Dialogue "Johan" "Johan">> "Yeah, uh, sure. Take care!"<</Dialogue>><br>You turn and walk away, making sure to pop your calves a bit as you go.<br><br><<link "Go back home" "Home">><</link>><</replace>><</link>><br><br><<link " Not much. Why?">><<replace "#choice">><br><br>You look at your arm as you flex your biceps.<br><br><<Dialogue "player" "You">> "I guess I have a little bit, but hardly that much at all."<</Dialogue>><br><<Dialogue "Johan" "Johan">> "Wow, well, if that\'s you hardly trying then I wish I had your luck. That actually reminds me of one of my old D&D characters. He was a Rogue-slash-Paladin-slash..."<</Dialogue>><br>He goes on for several minutes while describing his fantastical character that was almost flawless. You get some of his references, but his speech is getting a bit long-winded.<br><br>Eventually, he seems to stop when you distract him by folding your arms over your chest, causing your muscles to pop.<br><br><<Dialogue "Johan" "Johan">> "Anyways, it was nice seeing you, but I have to prep a dungeon for tonight\'s role playing session. I\'ll see you around!"<</Dialogue>><br><<Dialogue "player" "You">> "Oh, sure, Johan. It was nice seeing you too!"<</Dialogue>><br>You\'re pretty sure he noticed the extra bit of a flex you pulled off with your goodbye wave.<br><br><<link "Go back home" "Home">><</link>><</replace>><</link>><br><br><<link " I would rather not talk about it.">><<replace "#choice">><br><br>You cross your arms over your chest, unintentionally, or perhaps intentionally, causing your arm muscles to dance.<br><br><<Dialogue "player" "You">> "Look, Johan, I don\'t want to talk about it."<</Dialogue>><br>Johan looks a bit nervous, or at least a bit embarrassed.<br><br><<Dialogue "Johan" "Johan">> "Oh, yeah, sure. Forget I said anything. Hey, we\'re having a role-playing session tonight, would you like to join in?"<</Dialogue>><br><<Dialogue "player" "You">> "I can\'t tonight, but maybe some other time, Johan."<</Dialogue>><br><<Dialogue "Johan" "Johan">> "Aw, oh, well. Anyways, it was nice seeing you, but I have to prep the dungeon for tonight. I\'ll see you around!"<</Dialogue>><br><<Dialogue "player" "You">> "See you around, Johan."<</Dialogue>><br>You turn and leave, your muscles dancing rhythmically as you go. You wonder if Johan noticed it.<br><br><<link "Go back home" "Home">><</link>><</replace>><</link>></span>'
}, {
name: 'JohanFat10',
locationTags: ['johan'],
conditions: [
() => State.variables.johanLastFat + 10 < State.variables.fat,
() => !State.variables.outfit.bonuses().map(bonus => bonus.name).includes('Baggy')
],
repeatable: false,
retriggerable: false,
priority: 'response',
npc: ["johan"],
content: ''
}, {
name: 'JohanFat',
locationTags: ['johan'],
conditions: [
() => State.variables.johanLastFat + 1< State.variables.fat,
() => !State.variables.outfit.bonuses().map(bonus => bonus.name).includes('Baggy')
],
repeatable: false,
retriggerable: false,
priority: 'response',
npc: ["johan"],
content: '<<set $johanOpinion += 1>>Somehow you aren\'t surprised that Johan is a big fan of superhero movies. Well, his room is full of posters and figurines of various characters from comics and anime, so it\'s not a big stretch to assume that he enjoys this sort of media. A few days ago, you\'ve asked him about it and after talking your ears off about some movies and cartoons, he invited you to come and watch one with him. Since you had nothing to do today, you accepted his invitation. <br><br><<Dialogue "Johan" "Johan">> "I\'m glad you showed up! I just got my hands on the newest Batguy vs SplendidMan and it\'s supposed to be awesome!"<</Dialogue>><br><<Dialogue "player" "You">> "I\'m guessing there are more of those movies?"<</Dialogue>><br>He nodded enthusiastically, and pointed towards his shelf, where a lot of comics are neatly laid out.<br><br><<Dialogue "Johan" "Johan">> "There are six films based on the comic series, in which these superheroes are the main characters!"<</Dialogue>><br>Aaand there he goes, rambling about power levels, costume designs and who is the best fighter, all of which goes way over your head, since obviously you haven\'t read these comics. After a short while, Johan abruptly stops, probably realizing that he was boring you.<br><br><<Dialogue "Johan" "Johan">> "Ah, I shouldn\'t be wasting your time! Please sit down and I\'ll bring some snacks!"<</Dialogue>><br>With that he runs towards the kitchen and starts rummaging through the cabinets. He comes back a few minutes later, with a bowl of popcorn along with some chocolate and a myriad of snacks.<br><br><<Dialogue "Johan" "Johan">> "Here you go! Feel free to help yourself to anything here".<</Dialogue>><br>You glance somewhat apprehensively at the food laid out before you. Should you be really helping yourself? Your weight has gone up a little bit and you\'ll have to do something about it. You stare harshly at your stomach and waist, which admittedly have seen better days. Johan gives you a curious look, but judging from the slight amusement in his eyes, he noticed your mental struggle.<br><br><<Dialogue "Johan" "Johan">> "Don\'t worry, you look great! Besides, look at me, I should be the one worrying about gaining weight!"<</Dialogue>><br>He laughs heartily and points towards his not particularly big, but still noticeable potbelly. Knowing him, it\'s caused by not exercising enough and too much sitting indoors, playing games and eating snacks. All in all, you laugh at his joke, which does lift your mood a bit. <br><br>After that, you both sat down to watch the movie. You have to admit that it\'s somewhat understandable why Johan is such a big fan of superhero films, as it was definitely exciting! <br><br><<Dialogue "player" "You">> "I\'ve gotta say Johan, that was pretty cool!"<</Dialogue>><br>He beams proudly, and gives you a thumbs up.<br><br><<Dialogue "Johan" "Johan">> "I\'m glad you liked it. If you ever wanna watch something together, I\'ll be happy to join you!"<</Dialogue>><br>The two of you spend some time together discussing the movie. After a while, you say goodbye to Johan and return home.<br><br><<link "Continue" "Home">><</link>>'
}, {
name: 'JohanBreasts10',
locationTags: ['johan'],
conditions: [
() => State.variables.johanLastBreasts + 10 < State.variables.breasts,
() => !State.variables.outfit.bonuses().map(bonus => bonus.name).includes('Baggy')
],
repeatable: false,
retriggerable: false,
priority: 'response',
npc: ["johan"],
content: '<<set $johanOpinion += 2>><<Dialogue "Johan" "Johan">> "Oh hey, it\'s you, welcome! Come in! I was just starting a new MMO about space knights who-"<</Dialogue>><br>You barely had time to get a word in, and there he went again. Good ol\' Johan. After a short while, you notice his eyes constantly drifting towards your chest. Was there a stain on your shirt or something? Glancing down, you figure out why. Judging by the fact that your top is a bit too tight, stretched by your bulging breasts, the answers is clear. It seems like they\'ve grown a little bit, maybe by a cup or so. Lifting your eyebrows, you give Johan a knowing look.<br><br><<Dialogue "player" "You">> "Is something wrong?"<</Dialogue>><br>As soon as you say those words, Johan turns a very deep shade of red and averts his eyes. <br><br><<Dialogue "Johan" "Johan">> "Haha, w-well you see..."<</Dialogue>><br>He starts fumbling around, not knowing what to say. You smirk, entertained by this reaction. <br><br><<Dialogue "Johan" "Johan">> "H-have you heard, that tomorrow is going to rain?"<</Dialogue>><span id="choice"><<link "Sure, let\'s discuss the weather.">><<replace "#choice">><br>Ah, yes the weather, the classic topic to discuss when one doesn\'t know what to say. Shaking your head in amusement, you decide to throw him a bone.<br><br><<Dialogue "player" "You">> "Oh, really? I didn\'t know".<</Dialogue>><br>Seeming grateful that you didn\'t tease him, he jumps to the next subject, resuming his usual rambling about random stuff. Later on, you say goodbye and leave.<br><br><<link "Continue" "Home">><</link>><</replace>><</link>><br><<PersonalityCheck $carefreeCarefull <= -1 "tease him a bit">><<replace "#choice">><<set $johanOpinion += 2>><br>With a big grin, you decide to tease him a bit;<br><<Dialogue "player" "You">> "Oh, really? I had the feeling it was getting warmer... a lot hotter... must be me!"<</Dialogue>><br>Johan audibly swallowed as you lean in a bit, your bigger chest pressing against him. Nice, you broke Johan as he simply doesn\'t know how to react. Cutely snickering, you turn around, waving him a quick kiss before you continue on with your day.<br><br><<link "Continue" "Home">><</link>><</replace>><<Failed>><<replace "#choice">><br>While you\'d love to tease him a bit about his gaze, that might be going a bit too far. Anxiety bubbles up, and in the end you are left nodding along as he starts another awkward rant about some random board game.<br><br><<link "Continue" "Home">><</link>><</replace>><</PersonalityCheck>></span>'
}, {
name: 'JohanBreasts',
locationTags: ['johan'],
conditions: [
() => State.variables.johanLastBreasts + 1 < State.variables.breasts,
() => !State.variables.outfit.bonuses().map(bonus => bonus.name).includes('Baggy')
],
repeatable: false,
retriggerable: false,
priority: 'response',
npc: ["johan"],
content: '<<Dialogue "Johan" "Johan">> "Oh, hey! I\'m glad I caught you. I wanted to... um..."<</Dialogue>><br>Johan trails off as his eyes drift down from your face to your chest. Your mind also wanders for a moment, thinking of the extra weight you\'ve put on there recently.<br><br><<Dialogue "Johan" "Johan">> "Did your- er, did you- uh... Hey, um, that\'s a nice shirt there."<</Dialogue>><br><span id="choice"><<PersonalityCheck $submissiveDominant >= 1 " Thanks, my boobs grew too!">><<replace "#choice">><br><br><<Dialogue "player" "You">> "Thanks, Johan! Did you notice my boobs grew, too?"<</Dialogue>><br>You cup your hands under your breasts and bounce up and down a bit with a big grin on your face.<br><br><<Dialogue "Johan" "Johan">> "Ba-boo-boobs... w-whu..."<</Dialogue>><br>You keep idly fondling your breasts in front of Johan, leaning more and more against him. The poor guy just doesn\'t know what to do with it!<br><br><<Dialogue "player" "You">> "Oh, you know, it just sort of happened. Anyways, was there something you wanted to talk about?"<</Dialogue>><br><<Dialogue "Johan" "Johan">> "Uh, uh... uh, I wanted to... I..."<</Dialogue>><br>Johan\'s phone buzzes in his pocket, causing his face to widen with surprise.<br><br><<Dialogue "Johan" "Johan">> "Oh, jeez, I\'ve gotta run! I just remembered I left a pizza in the oven! I\'ll see ya later!"<</Dialogue>><br>You giggle to yourself as Johan steals one more look at your chest before running off. Heh, you got the poor little guy.<br><br><<link "Go back home" "Home">><<set $johanOpinion += 5>><</link>><<set $johanBreastsHappy to true>><</replace>><<Failed>><<replace "choice">><br><br><<Dialogue "player" "You">> "Thanks, um, s-something else is new too!"<</Dialogue>><br>Shit, SHIT! You tried to be a little playful and tease him a bit, but you just couldn\'t get it across properly. Instead, you just sound confused. <br><br><<Dialogue "Johan" "Johan">> "Hmm? What else is new?"<</Dialogue>><br><br><<Dialogue "player" "You">> "N-nice glasses!"<</Dialogue>><br><br><<Dialogue "Johan" "Johan">> "...my glasses are new? What?"<</Dialogue>><br><br>With that, you just decide to cut your losses, scuttling away towards the door and leaving before you make it even more awkward.<br><br><<link "Go back home" "Home">><<set $johanOpinion += 2>><</link>><</replace>><</PersonalityCheck>><br><br><<link " It\'s nothing new. What did you want to talk about?">><<replace "#choice">><br><br>You press your arms slightly together on either side of your chest, causing your breasts to jut forward a bit.<br><br><<Dialogue "player" "You">> "Oh, it\'s nothing new. Just something I threw on. But, you said you wanted something?"<</Dialogue>><br>Johan is clearly having trouble focusing. You\'re sure he\'s looking at more than your shirt.<br><br><<Dialogue "Johan" "Johan">> "Oh, uh, yeah. I wanted to tell you about this new comic series I\'ve been reading."<</Dialogue>><br>Johan proceeds to give you way too much information about this comic while spending about half the time staring at your chest.<br><br><<Dialogue "player" "You">> "Well, that\'s nice Johan, but I have to go take care of some things. I\'ll talk to you later."<</Dialogue>><br><<Dialogue "Johan" "Johan">> "Oh, sure, talk to you later!"<</Dialogue>><br><br><<link "Go back home" "Home">><<set $johanOpinion+= 2>><</link>><<set $johanBreastsShy to true>><</replace>><</link>><br><br><<PersonalityCheck $shyConfident >= 2 " Hey, eyes up here, bub!">><<replace "#choice">><br><br>You scowl and attempt to cover your breasts, while also pointing towards your face.<br><br><<Dialogue "player" "You">> "Hey, eyes up here, buster!"<</Dialogue>><br>Johan takes a step back, his face revealing his shock, and his hands going up to either side of his face.<br><br><<Dialogue "Johan" "Johan">> "Oh, no, I\'m so sorry! I didn\'t mean to-"<</Dialogue>><br><<Dialogue "player" "You">> "Well, you did. You know what, Johan? I\'ve got things to do. Goodbye."<</Dialogue>><br>You turn, feeling that extra weight on your chest as you do, and march off before Johan can say or do anything else.<<set $johanApology to true>><br><br><<link "Go back home" "Home">><<set $johanOpinion -= 2>><</link>><</replace>><<Failed>><<replace "choice">><br><br><<Dialogue "player" "You">> "Hey, stop s-staring at my boobs!"<</Dialogue>><br>You tried to sound confident, but it came out rather hesitant. Furthermore, during the awkward silence that ensues, you\'re starting to doubt whether he actually was staring at your breasts. <br><br><<Dialogue "Johan" "Johan">> "Uhm... I wasn\'t... but I\'ll be more mindful."<</Dialogue>><br><br><<Dialogue "player" "You">> "Heh, yeah you big pervert!"<</Dialogue>><br><br><<Dialogue "Johan" "Johan">> "...I\'m sorry, What? Uhm... I got things to do. See you later."<</Dialogue>><br><br><<link "Go back home" "Home">><<set $johanOpinion -= 2>><</link>><</replace>><</PersonalityCheck>></span>'
}, {
name: 'JohanBreastsShy',
locationTags: ['johan'],
conditions: [
() => State.variables.breasts >= 30,
() => State.variables.johanBreastsShy
],
repeatable: false,
retriggerable: false,
priority: 'response',
npc: ["johan"],
content: 'Johan opens the door, a bit more timidly than normal. From the moment he greets you, he acts a bit odd. Despite the two of you geeking out over the latest toy he got, or a rulebook that adds new dice to some obscure game, his voice keeps trailing off as he looks at you. It seems he\'s still trying to figure out the changes in your chest, too afraid to bring it up. <br><br>Despite the somewhat awkward nature of this meetup, you two still have fun, and when you leave, you feel like you had a good time. <br><br><<link "Go home" "Home">><</link>>'
}, {
name: 'JohanBreastsHappy0',
locationTags: ['johan'],
conditions: [
() => State.variables.johanBreastsHappy,
() => State.variables.breasts >= 30
],
repeatable: false,
retriggerable: false,
priority: 'response',
npc: ["johan"],
content: 'Johan opens the door enthusiastically, welcoming you in. Lately, he has been more chipper, though you suspect you might just know why.<br><br><<Dialogue "player" "You">> "What has gotten into you as of late? Such a little ray of sunshine!"<</Dialogue>><br><<Dialogue "Johan" "Johan">> "Oh, nothing, just... how have you been? Anything happen lately? Any... changes?" <</Dialogue>><br>His face gets bright red, apparently having some trouble articulating his thoughts.<br><br><<Dialogue "player" "You">> "Hmmm, Johan? Anything specific, you mean...? Come on, out with it, you can say it!"<</Dialogue>><br>Playfully, you wiggle your torso around a bit, knowing just what he meant.<br><br><<Dialogue "Johan" "Johan">> "W-well... you know... have your b-breasts grown again? I mean, n-not that I expect them to, but with what has been happening lately and-"<</Dialogue>><br><<Dialogue "player" "You">> "Well, these babies have been feeling awfully full lately! Don\'t worry, I think they\'re doing a bit of growing right now!"<</Dialogue>><br>Your teasing obviously had an effect, Johan remains flustered for the entire duration of your visit. It would seem he really likes it!<br><br><<link "Go home" "Home">><</link>>'
}, {
name: 'JohanBreastsHappy1',
locationTags: ['johan'],
conditions: [
() => State.variables.johanBreastsHappy,
() => State.variables.breasts >= 30
],
repeatable: false,
retriggerable: false,
priority: 'response',
npc: ["johan"],
content: 'Opening the door, Johan welcomes you in, though in his eyes you can see the question coming up. You smiling knowingly, and it\'s hard not to chuckle. Pushing out your chest, you playfully lean forward.<br><br><<Dialogue "player" "You">> "Something in your mind Johan?"<</Dialogue>><br><<Dialogue "Johan" "Johan">> "W-well... j-just thought you looked amazing! Did... you know... did it happen again?" <</Dialogue>><br>His face gets bright red, apparently having some trouble getting the words out.<br><br><<Dialogue "player" "You">> "Oh, don\'t worry about that, these babies will continue to grow! Come on, let\'s have some fun!"<</Dialogue>><br>Your teasing obviously had an effect, as Johan remains flustered for the duration of your visit. It would seem he likes it!<br><br><<link "Go home" "Home">><</link>>'
}, {
name: 'JohanBreastsHappy2',
locationTags: ['johan'],
conditions: [
() => State.variables.johanBreastsHappy,
() => State.variables.breasts >= 30
],
repeatable: false,
retriggerable: false,
priority: 'response',
npc: ["johan"],
content: 'Eager, Johan opens the door, and immediately his eyes are drawn to your chest. It seems he remembers your last conversation concerning the subject as well.<br><br><<Dialogue "Johan" "Johan">> "Oh, hey, welcome, do come in, it\'s so good to see you!"<</Dialogue>><br><<Dialogue "player" "You">> "Hey Johan, thanks for the warm welcome! I\'m just dropping by for a bit; I think I might need to visit the mall soon, my bra has become awfully tight..." <</Dialogue>><br>This time he just looks straight at your breasts, not even trying to hide it. His face is bright red and he barely dares to move.<br><br><<Dialogue "player" "You">> "Heh, yeah, it has been happening a LOT lately! Still, I guess it\'s not that bad! They do look amazing, don\'t they Johan?"<</Dialogue>><br><<Dialogue "Johan" "Johan">> "Y-Yeah, they do... wow... I ..."<</Dialogue>><br><<Dialogue "player" "You">> "Glad to know you like them! Now, I gotta run, Johan, have fun!"<</Dialogue>><br><br><<link "Go home" "Home">><</link>>'
}, {
name: 'JohanDick10',
locationTags: ['johan'],
conditions: [
() => State.variables.johanLastDick + 10 <= State.variables.dick,
() => !State.variables.outfit.bonuses().map(bonus => bonus.name).includes('Baggy')
],
repeatable: false,
retriggerable: false,
priority: 'response',
npc: ["johan"],
content: ''
}, {
name: 'JohanDick5',
locationTags: ['johan'],
conditions: [
() => State.variables.johanLastDick + 5 <= State.variables.dick,
() => !State.variables.outfit.bonuses().map(bonus => bonus.name).includes('Baggy')
],
repeatable: false,
retriggerable: false,
priority: 'response',
npc: ["johan"],
content: 'You arrive at Johan\'s place and knock on his door. Looking down, you also adjust your package before he answers.<br><br><<Dialogue "Johan" "Johan">> "Hey! It\'s good to see you! You\'re looking goo..."<</Dialogue>><br>Johan trails off as his eyes drop to your waist. Immediately, you know he\'s looking at your notable bulge.<br><br><span id="choice"><<PersonalityCheck $submissiveDominant >= 2 " Thrust your hips and show off.">><<set $johanOpinion += 3>><<replace "#choice">><br><br>You thrust your hips forward, causing Johan to step back. You step through the space he\'s now left and stand with your hips forward and your legs apart.<br><br><<Dialogue "player" "You">> "Pretty cool, huh? Why didn\'t you guys ever say that having a dick was so much fun? And mine is so big!"<</Dialogue>><br><<Dialogue "Johan" "Johan">> "Y-your... dick? When did, how did, were you always...?"<</Dialogue>><br>Johan continues to stare while hardly able to articulate a complete thought.<br><br><<Dialogue "player" "You">> "No, I\'m a girl, always have been. This just kinda... happened. But I really like the heft of it, and the look of it... and how it makes me feel..."<</Dialogue>><br>Your thoughts trail off as your erection starts to grow. Just the thought of your dick seems to be enough to get you going.<br><br><<Dialogue "player" "You">> "Hey, uh, Johan... I gotta go... take care of something..."<</Dialogue>><br>You manage to leave Johan as quickly as you can, which is admittedly slowed by the significant weight of your hardening penis, and the blood flowing away from your head.<br><br><<link "Go home" "Home">><</link>><</replace>><<Failed>><<replace "#choice">><br><br>The idea comes up in your head, but you just can\'t do it yet. Sheepishly, you look at him, grinning like an idiot. Next time, next time you\'ll actually do it.<br><br><<link "Go home" "Home">><</link>><</replace>><</PersonalityCheck>><br><br><<link " Try to turn to adjust your crotch and play it off as a trick of the light.">><<set $johanOpinion += 1>><<replace "#choice">><br><br>You awkwardly try to move one leg in front of the other while also twisting somewhat to try to hide the extent of your bulge.<br><br><<Dialogue "player" "You">> "Thanks, Johan. Uh, may I come in?"<</Dialogue>><br><<Dialogue "Johan" "Johan">> "Come... come... uh, yeah. Um, sorry. Come on in."<</Dialogue>><br>Johan steps back and gestures for you to step inside before closing the door behind you. You find a chair to sit in and cross your legs as best you can.<br><br><<Dialogue "player" "You">> "So what\'s new with you Johan?"<</Dialogue>><br>Johan still seems confused by what he saw and keeps trying to get another look.<br><br><<Dialogue "Johan" "Johan">> "Uh... oh! I just heard that they\'re going to make a movie based on one of my favorite comics..."<</Dialogue>><br>It seems you managed to distract Johan sufficiently from your above average package for him to go into nerd autopilot. Eventually you leave, being extra careful to keep Johan\'s attention away from your junk.<br><br><<link "Go home" "Home">><</link>><</replace>><</link>><br><br><<link " Tell him off for staring!">><<set $johanOpinion -= 1>><<replace "#choice">><br><br><<Dialogue "player" "You">> "Hey! Eyes up here, bud!"<</Dialogue>><br>You pull your hand up in front of Johan\'s eyes and point at your own. This seems to snap Johan out of his trance.<br><br><<Dialogue "Johan" "Johan">> "What? I wasn\'t! I\'m sorry, I just..."<</Dialogue>><br>Johan casts his gaze back down toward your crotch, once again noticing the sizable bulge from your penis.<br><br><<Dialogue "player" "You">> "Look, Johan, if you\'re gonna be this way and can\'t keep your eyes where they belong I\'m just gonna go."<</Dialogue>><br>Johan looks back up at your face.<br><br><<Dialogue "Johan" "Johan">> "What? No! I can behave myself. It\'s just that you seem to have something in your-"<</Dialogue>><br>You cut Johan off by holding your hand up in a Stop sign.<br><br><<Dialogue "player" "You">> "I\'ll see you later, Johan, you clearly can\'t behave yourself right now. Goodbye."<</Dialogue>><br>With that you turn and leave. You\'re pretty sure Johan once again noticed just how sizable of a bulge you have as you turned.<br><br><<link "Go home" "Home">><</link>><</replace>><</link>></span>'
}, {
name: 'JohanHeight10',
locationTags: ['johan'],
conditions: [
() => State.variables.johanLastHeight + 10 <= State.variables.height
],
repeatable: false,
retriggerable: false,
priority: 'response',
npc: ["johan"],
content: '<<set $johanOpinion += 2>>As usual, Johan opens the door and ushers you inside. But when he glances at you, he does so with a certain puzzlement. Several times he gives you an odd look as slowly the realization dawns on him.<br><br><<Dialogue "Johan" "Johan">> "...Have you gotten taller? I thought you were wearing high heels or something but you\'re definitely a few inches taller!"<</Dialogue>><br><span id="choice"><<link " Be honest">><<replace "#choice">><br><br><<Dialogue "player" "You">> "Um...Yeah, I\'m having something of a growth spurt, it seems."<</Dialogue>><br><<Dialogue "Johan" "Johan">> "What the... I thought people our age didn\'t grow anymore! How the hell... Wait, how is this happening?" <</Dialogue>><br><<Dialogue "player" "You">> "It\'s... a bit weird, isn\'t it? I don\'t know but... here I am, taller. It\'s not too weird, is it?"<</Dialogue>><br>He blushes and fidgets with his hands, unsure of that to say. It seems he was never the best at reassuring people.<br><br><<Dialogue "Johan" "Johan">>"To be fair I-I\'d say those few <<if $measurementSystem == "metric">>centimeters<<else>>inches<</if>> suit you well. Like... really well, if you don\'t mind me saying."<</Dialogue>><br><<Dialogue "player" "You">> "Oh... thanks. I... mean... that actually makes it a bit easier, you know. I mean, getting a bit taller is not bad, right?"<</Dialogue>><br>His blush deepens, and he lightly chuckles while rubbing his neck. Despite this, his natural enthusiasm rears its head. <br><br><<Dialogue "Johan" "Johan">> "Hehe, that\'s the spirit! You\'re just getting a bit taller, nothing wrong with that! Now, why don\'t you come in, I got this amazing new miniature of-"<</Dialogue>><br>And there he goes again, like nothing changed.<br><br><<link "Go back home" "Home">><</link>><</replace>><</link>><br><br><<link " Play ignorant">><<replace "#choice">><br><br><<Dialogue "player" "You">> "I dont\' know what\'s happening, I just woke up like this!"<</Dialogue>><br><<Dialogue "Johan" "Johan">> "That\'s very strange, perhaps it was something you ate...?"<</Dialogue>><br><<Dialogue "player" "You">> "... Something I ate? Johan, people don\'t just... grow from the stuff they eat."<</Dialogue>><br><<Dialogue "Johan" "Johan">> "Hey, just trying to think of anything! Well, as long as you feel alright, then I guess there is no cause for worry... let\'s just watch something."<</Dialogue>><br>After chatting for a while, you leave Johan and go home. Perhaps you should\'ve been honest, but what could you have said?<br><br><<link "Go back home" "Home">><</link>><</replace>><</link>><br><br><<link " Avoid the topic">><<replace "#choice">><br><br><<Dialogue "player" "You">> "A-anyway! Time sure flies fast, huh? It just dawned on me that I really have to go, bye!"<</Dialogue>><br><<Dialogue "Johan" "Johan">> "W-wait! Where are you going?!"<</Dialogue>><br>However, you quickly leave and wave at him, while he stands dumbfounded at the door.<br><br><<link "Go back home" "Home">><</link>><</replace>><</link>></span><<set $johanHeightRepeat to true>>'
}, {
name: 'JohanHeight',
locationTags: ['johan'],
conditions: [
() => State.variables.johanLastHeight + 1 < State.variables.height
],
repeatable: false,
retriggerable: false,
priority: 'response',
npc: ["johan"],
content: '<<set $johanOpinion += 2>><<Dialogue "Johan" "Johan">> "You\'re going down <<print $playerFirstName>>!<</Dialogue>><br>You try to come up with some brilliant comeback, but unfortunately nothing comes to mind.<br><br><<Dialogue "player" "You">> "No, YOU are going down!"<</Dialogue>><br>Your words are proven wrong when, just a second later, the duel in Deadly Konflict 9 ends in Johan\'s favour. His character, the green haired ninja lady - Emerald -defeats your fighter, Above Zero, with an awesome combo! Frustrated, you groan. This is probably the tenth time he has done this! <br><br><<Dialogue "player" "You">> "If it weren\'t for this cheesy combo, you would be eating dust right now!"<</Dialogue>><br>Johan sticks his tongue out and starts mocking you playfully.<br><br><<Dialogue "Johan" "Johan">> "Oh, is someone salty? This wouldn\'t be happening if you just countered."<</Dialogue>><br><<Dialogue "player" "You">> "Hey, it not that easy, okay?"<</Dialogue>><br>Admittedly, you are having quite a lot of fun playing videogames with Johan. Looking at him, you wouldn\'t expect that he\'d be so skilled at this game! <br><br><<Dialogue "Johan" "Johan">> "So, do you want to play again?"<</Dialogue>><br>Glancing at the clock in the corner, you realize that it\'s time for you to go. Sadly, there are other things that to be done today.<br><br><<Dialogue "player" "You">> "Sorry, Johan but we\'ll have to pause for today. Don\'t worry, I\'ll get you next time!"<</Dialogue>><br>He laughs, but still gives you an understanding nod. When you stand up and walk towards the door, he looks at you to say goodbye. However, his eyes rest <<if $measurementSystem == "metric">>some centimeters<<else>>an inch or two<</if>> too low when meeting your own. His brow furrows in confusion, and you can almost see the cogs turning in his head, trying to figure if something is amiss.<br><br><<Dialogue "player" "You">> "Is something wrong?"<</Dialogue>><br>He shakes his head and smiles awkwardly.<br><br><<Dialogue "Johan" "Johan">> "No, no, everything is fine".<</Dialogue>><br>You\'d think your new height isn\'t that noticeable, but seeing his reaction, it seems that if you grow even taller, people will begin to notice it! Right now, he dismissed it as a trick of light or something. Not wanting to say anything more about this, you say goodbye and leave.<br><br><<link "Continue" "Home">><</link>><br>'
}, {
name: 'JohanHeightRepeat',
locationTags: ['johan'],
conditions: [
() => State.variables.johanHeightRepeat,
() => State.variables.johanLastHeight + 1 < State.variables.height
],
repeatable: true,
retriggerable: false,
priority: 'response',
npc: ["johan"],
content: 'Johan opens the door, smiling warmly. Immediately letting you inside, he seems to do a double take. From your feet to the top of your head he inspects you carefully.<br><br><<Dialogue "player" "You">> "Uhm... is everything okay?"<</Dialogue>><br><<Dialogue "Johan" "Johan">> "Oh, sorry, just... you know, since you mentioned you grew some time ago I couldn\'t help but look."<</Dialogue>><br><span id="choice"><<link " Thanks for looking out for me">><<replace "#choice">><br><br><<Dialogue "player" "You">> "Oh... well, thank you. It\'s a bit weird still but I try to just deal with it, you know?<</Dialogue>><br><<Dialogue "Johan" "Johan">> "Yeah, I understand. Listen, if you need help with anything at all, just let me know, okay? That\'s what neighbors are for, right?" <</Dialogue>><br><<Dialogue "player" "You">> "... Thanks Johan, I appreciate it. Really. If I need anything, I\'ll let you know... okay?"<</Dialogue>><br><<Dialogue "Johan" "Johan">> "Hey, anytime! Now come in, I found this new parody show of-"<</Dialogue>><br>And with that, everything was back to normal, Johan being the big nerd once more.<br><br><<link "Go back home" "Home">><<set $johanOpinion +=1>><</link>><</replace>><</link>><br><br><<link " Please don\'t.">><<replace "#choice">><br><br><<Dialogue "player" "You">> "Thanks, but it\'s making me a bit uncomfortable.<</Dialogue>><br>Awkwardly, Johan rubs his arm, his skin slowly reddening.<br><br><<Dialogue "Johan" "Johan">> "... Sorry, I won\'t bring it up again."<</Dialogue>><br>Despite this awkward moment, you still hang out with him for a bit, enjoying yourself.<br><br><<link "Go back home" "Home">><<set $johanOpinion +=1>><</link>><</replace>><</link>></span>'
}, {
name: 'JohanErectionOutside',
locationTags: ['johan'],
conditions: [
() => State.variables.erectionOutside
],
repeatable: false,
retriggerable: false,
priority: 'response',
npc: ["johan"],
content: 'Johan opens the door, trying to make some pleasant casual conversation, but as you come in, you can\'t help but shake the feeling that something is off.<br><br><<Dialogue "player" "You">> "... Is something wrong? You seem... nervous."<</Dialogue>><br><<Dialogue "Johan" "Johan">> "N-no, nothing is wrong! Just... uhm, listen I don\'t know how to break this but... there are some rumors going around..."<</Dialogue>><br><<Dialogue "player" "You">> "Rumors? What kind of rumors?"<</Dialogue>><br><<Dialogue "Johan" "Johan">> "I just heard this from someone b-but... well, I heard people s-saw you outside. Uhm... with... y-you know. A b-bulge. A-and i-it looked like you had an erection. I don\'t believe them, but I do think you should know people are talking about it!"<</Dialogue>><br>He looks away, clearly a bit uncomfortable in having to be the one to tell you this. <br><br><span id="choice"><<link " Deny it">><<set $johanOpinion -= 1>><<replace "#choice">><br><br><<Dialogue "player" "You">> "What?! What the hell, I\'d never go outside while... you know!"<</Dialogue>><br><<Dialogue "Johan" "Johan">> "Don\'t shoot the messenger! I just... you know, I feel I should let you know!"<</Dialogue>><br>Awkwardly, you try to look away and steer the conversation into something less... uncomfortable. It seems your changes are a lot more noticeable than you though!<br><br><<link "Go home" "Home">><</link>><</replace>><</link>><br><br><<link " Be offended">><<replace "#choice">><<set $johanOpinion -= 3>><<set $johanApology to true>><br><br><<Dialogue "player" "You">> "WHAT THE FUCK, JOHAN?!"<</Dialogue>><br>He flinches a bit, not expecting the outburst.<br><br><<Dialogue "Johan" "Johan">> "W-wha- sorry, just don\'t shoot the messenger! I j-just thought you should know!"<</Dialogue>><br><<Dialogue "player" "You">> "I did NOT need this!"<</Dialogue>><br>Angrily, you get up and storm off. It doesn\'t matter if Johan deserved it or not, you just can\'t help being angry.<br><br><<link "Go home" "Home">><</link>><</replace>><</link>><br><br><<link " Be casual">><<replace "#choice">><br><br><<Dialogue "player" "You">> "Heh, yeah had a little wardrobe malfunction. What of it?"<</Dialogue>><br>His eyes widen, looking at you like you suddenly grew a second head. No pun intended.<br><br><<Dialogue "Johan" "Johan">> "W-what?! You don\'t mind?!" <</Dialogue>><br>You shrug your shoulders, not understanding why that would be a big deal.<br><br><<Dialogue "player" "You">> "I mean, it was an accident, it can happen right? And besides, given my size, it\'s hard enough to try and hide it!"<</Dialogue>><br>Deeply blushing, Johan looks at you, loving the confidence, but also shocked by how openly you tackle the subject.<br><br><<Dialogue "Johan" "Johan">> "B-but..."<</Dialogue>><br><<Dialogue "player" "You">> "Listen, I\'ll try to keep it from happening again, don\'t worry. But it happens! Now, I gotta run. Let\'s catch up later!"<</Dialogue>><br><br><<link "Go home" "Home">><</link>><</replace>><</link>><br><br><<link " Be ashamed">><<replace "#choice">><br><br>Immediately, you try to hide your face; you had hoped nobody would notice it but... SHIT.<br><br><<Dialogue "Johan" "Johan">> "S-sorry that I told you this but... you know... I thought you should know...\'<</Dialogue>><br><<Dialogue "player" "You">> "... I understand."<</Dialogue>><br><<Dialogue "Johan" "Johan">> "... Can I help with anything?"<</Dialogue>><br>Slowly, you get up, shaking your head. Completely flushed, you leave, unsure of what to say.<br><br><<link "Go home" "Home">><</link>><</replace>><<set $johanOpinion += 1>><</link>></span>'
}, {
name: 'JohanCoffeeStoreVisisted',
locationTags: ['johan'],
conditions: [
() => State.variables.coffeeCornerVisited
],
repeatable: false,
retriggerable: false,
priority: 'response',
npc: ["johan"],
content: '<<set $johanOpinion += 2>><<Dialogue "Johan" "Johan">> "Hey, <<print $playerFirstName>>! Were you recently at the Coffee Corner? I thought I saw you there!"<</Dialogue>><br><<Dialogue "player" "You">> "Well, yes, I\'ve been there a while ago. Why do you ask?"<</Dialogue>><br><<Dialogue "Johan" "Johan">> "HAH! Well, I love that place! It\'s a great place if you want to relax with some coffee, or if you are looking for a book. They have a great selection of sci-fi novels! If you ever want to buy one, I recommend "Solaris" by Stanislaw Lem. It tells the story of..."<</Dialogue>><br>And in a true Johan fashion, he goes on a diatribe about sci-fi literature, before the topics changes and he starts ranting about the new Stellar Wars movies, how they are in no way comparable to the original trilogy, or even the prequels. It\'s clear that he is quite passionate about them, and even quotes some lines, which probably means he knows the entire script by heart. His monologue (that should\'ve been a dialogue) quickly comes to a halt when his phone buzzes.<br><br><<Dialogue "Johan" "Johan">> "Ah, my friend is waiting for me, I promised him that I\'d visit him today. Bye!"<</Dialogue>><br><<Dialogue "player" "You">> "Oh, bye-"<</Dialogue>><br>And with that, his door closes. You wonder whether one day Johan will learn that conversations usually involve two or more people.<br><br><<link "Go home" "Home">><</link>>'
}, {
name: 'JohanStreamed0',
locationTags: ['johan'],
conditions: [
() => State.variables.streamedFlag
],
repeatable: false,
retriggerable: false,
priority: 'response',
npc: ["johan"],
content: '<<set $johanOpinion += 3>>As usual, Johan welcomes you in, though this time he seems even more chipper than normal. Before you know it, you\'re seated with a drink in your hand.<br><br><<Dialogue "player" "You">> "What got you all chipper today?"<</Dialogue>><br><<Dialogue "Johan" "Johan">> "Oh, nothing! Just in a good mood, I guess! By the way, I saw you stream last night! You\'re great at it, you know!"<</Dialogue>><br>A bit surprised, you sit there, your cheeks reddening a bit.<br><br><<Dialogue "player" "You">> "Oh... really? You liked it?"<</Dialogue>><br><<Dialogue "Johan" "Johan">> "Liked it? I LOVED it! You just really open up on-screen and you are a joy to watch! I hope you\'ll stream more, it\'s fun to watch while painting miniatures!"<</Dialogue>><br><<Dialogue "player" "You">> "I mean... why not? Hah, at least someone enjoys it!"<</Dialogue>><br>The two of you talk for a bit, your mood lifted by Johan\'s compliments. It seems he genuinely likes watching you!<br><br><<link "Go home" "Home">><</link>>'
}, {
name: 'JohanStreamed1',
locationTags: ['johan'],
conditions: [
() => State.variables.streamedFlag
],
repeatable: false,
retriggerable: false,
priority: 'response',
npc: ["johan"],
content: '<<set $johanOpinion += 3>>Visiting Johan once more, he welcomes you with all the enthusiasm you would expect. Already he\'s talking about... stuff regarding miniatures that might as well be Greek.<br><br><<Dialogue "Johan" "Johan">> "-But with the most recent Errata being out- by the way, that was a really fun stream you did!"<</Dialogue>><br>Shocked, you\'re suddenly pulled into the conversation again.<br><br><<Dialogue "player" "You">> "Oh, you watched that? I just... you know, I try to go with the flow."<</Dialogue>><br><<Dialogue "Johan" "Johan">> "Well, you\'re really good at it! You really have good great presence."<</Dialogue>><br>While blushing, you play with your hair a bit, looking away.<br><br><<Dialogue "player" "You">> "Hah, well... thanks... I\'ll see if I can stream some more..."<</Dialogue>><br><<Dialogue "Johan" "Johan">> "I\'ll be sure to tune in! Oh, right I got some online gaming with friends soon so..."<</Dialogue>><br><<Dialogue "player" "You">> "Don\'t worry, I have to get going anyway."<</Dialogue>><br><br><<link "Go home" "Home">><</link>>'
}, {
name: 'JohanStreamed2',
locationTags: ['johan'],
conditions: [
() => State.variables.streamedFlag
],
repeatable: false,
retriggerable: false,
priority: 'response',
npc: ["johan"],
content: '<<set $johanOpinion += 3>><<Dialogue "player" "You">> "Hey Johan, I thought I\'d just drop by. Hey, you didn\'t watch me stream, by any chance..?"<</Dialogue>><br><<Dialogue "Johan" "Johan">> "You streamed? Oh, why didn\'t you warn me? I think I missed it, really sorry!"<</Dialogue>><br><<Dialogue "player" "You">> "Hey, no worries! How about the next time I stream, I send you a little message?"<</Dialogue>><br><<Dialogue "Johan" "Johan">> "Nah, I\'ll just subscribe! Then it\'s all sorted out!"<</Dialogue>><br><<Dialogue "player" "You">> "Can\'t wait to see you in the chat! Maybe we could even just game together a bit?"<</Dialogue>><br><<Dialogue "Johan" "Johan">> "OH, TOTALLY! We could run Twilight Imperium on Tabletop Simulator if we can get 6 more people and like 12 hours and-"<</Dialogue>><br>And he\'s off to the races, talking at you instead of with you. Still, it\'s nice to have a pow-wow now and then.<br><br><<link "Go home" "Home">><</link>>'
}, {
name: 'JohanBodybuilder',
locationTags: ['johan'],
conditions: [
() => State.variables.bodyType === 'bodybuilder',
() => !State.variables.outfit.bonuses().map(bonus => bonus.name).includes('Baggy')
],
repeatable: false,
retriggerable: false,
priority: 'response',
npc: ["johan"],
content: '<<set $johanOpinion += 2>>Opening the door, Johan stares at you, his eyes lingering on your arms.<br><br><<Dialogue "Johan" "Johan">> "... You just keep getting bigger don\'t you? Do you have any plans to compete...?"<</Dialogue>><br><<Dialogue "player" "You">> "Heh, now there\'s an idea! I mean, I\'m basically bigger than some bodybuilders, so why not?"<</Dialogue>><br><<Dialogue "Johan" "Johan">> "I might be wrong but... aren\'t you bigger than most MALE bodybuilders now?"<</Dialogue>><br><<Dialogue "player" "You">> "I guess? Sorry, I\'ve been growing so fast that I didn\'t even really notice. Still, looks good, right?"<</Dialogue>><br>Johan gives you a hesitant thumbs up, though his smile betrays just how much he loves this.<br><br><<Dialogue "Johan" "Johan">> "True! So, I guess you\'ll go on stage when you\'re even bigger?"<</Dialogue>><br><<Dialogue "player" "You">> "Wouldn\'t that be amazing? Someone my age, with my size, outclassing even the male bodybuilders?! Hmmm, you are giving me ideas, Johan..."<</Dialogue>><br><<Dialogue "Johan" "Johan">> "... How about we forget that for now and just relax a bit? Few rounds of Marco Kart?"<</Dialogue>><br><<Dialogue "player" "You">> "Heh, you\'re on!"<</Dialogue>><br><br><<link "Go home" "Home">><</link>>'
}, {
name: 'JohanAthletic',
locationTags: ['johan'],
conditions: [
() => State.variables.bodyType === 'athletic',
() => !State.variables.outfit.bonuses().map(bonus => bonus.name).includes('Baggy')
],
repeatable: false,
retriggerable: false,
priority: 'response',
npc: ["johan"],
content: '<<set $johanOpinion += 2>>As you enter, Johan can\'t help but do a double take. Recently, your new muscles really started showing and it seems Johan is impressed!<br><br><<Dialogue "Johan" "Johan">> "Damn, you really got big REAL fast!"<</Dialogue>><br><<Dialogue "player" "You">> "H-huh? Oh, sorry. Is it that noticeable?"<</Dialogue>><br><<Dialogue "Johan" "Johan">> "I just meant it as a compliment! You look fit, is all I\'m saying. Well, more than a bit fit, to be honest, y-you look... amazing."<</Dialogue>><br><<Dialogue "player" "You">> "...Really?"<</Dialogue>><br>Johan blushes a bit, stammering and trying to keep his cool.<br><br><<Dialogue "Johan" "Johan">> "Y-yeah! Y-you look amazing! Strong and fit and just... y-you look fantastic!" <</Dialogue>><br>At this point, both of you are blushing. It seems Johan really appreciates your size. REALLY appreciates it.<br><br><<Dialogue "Johan" "Johan">> "B-but... yeah... d-do you plan on getting... even bigger?"<</Dialogue>><br><span id="choice"><<PersonalityCheck $shyConfident >= 1 " Hell yeah!">><<set $johanOpinion += 2>><<replace "#choice">><br><br>A broad smile forms on your lips, confidence filling you live a volcano erupting. <br><br><<Dialogue "player" "You">> "Hell, yeah! I just got started, I want to get WAY bigger!"<</Dialogue>><br><<Dialogue "Johan" "Johan">> "Really?! H-how big do are we talking about?"<</Dialogue>><br><<Dialogue "player" "You">> "I think we\'ll just have to find out!"<</Dialogue>><br>With a wink, you walk past him, making sure to flex your triceps so they JUST rub against him. With a big eager grin, he follows you to the couch. While you watch videos for a while, you\'re sure he is mostly staring at you!<br><br><<link "Go home" "Home">><</link>><</replace>><<Failed>><<replace "#choice">><br><br><<Dialogue "player" "You">> "...I don\'t know. I mean, I\'m already pretty big and people are kinda staring at me everywhere and... well, women don\'t usually get this big."<</Dialogue>><br><<Dialogue "Johan" "Johan">> "Yes, but does it make you happy?"<</Dialogue>><br><<Dialogue "player" "You">> "What?"<</Dialogue>><br><<Dialogue "Johan" "Johan">> "Does it make you happy?"<</Dialogue>><br><<Dialogue "player" "You">> "I mean, I kinda like it, but-"<</Dialogue>><br><<Dialogue "Johan" "Johan">> "Well, then you should go for it! How many people do you think call my hobbies too nerdy? And do you think I care?!? No! Your life, your body!"<</Dialogue>><br>It is hard not to smile, he is actually fist-pumping and trying to cheer you on!<br><br><<Dialogue "player" "You">> "...I guess you\'re right! Heh, well, at least I can open ALL the jars now!"<</Dialogue>><br><<Dialogue "Johan" "Johan">> "HECK YEAH! Buy more jars so you can open them! Now, let\'s have some fun, you beefcake!"<</Dialogue>><br>And with that, the two of you spend the next hour chatting and chilling.<br><br><<link "Go home" "Home">><</link>><</replace>><</PersonalityCheck>><br><br><<link " I don\'t know">><<replace "#choice">><br><br><<Dialogue "player" "You">> "...I don\'t know. I mean, I\'m already pretty big and people are kinda staring at me and... well, women don\'t usually get this big."<</Dialogue>><br><<Dialogue "Johan" "Johan">> "Yes, but does it make you happy?"<</Dialogue>><br><<Dialogue "player" "You">> "What?"<</Dialogue>><br><<Dialogue "Johan" "Johan">> "Does it make you happy?"<</Dialogue>><br><<Dialogue "player" "You">> "I mean I kinda like it but-"<</Dialogue>><br><<Dialogue "Johan" "Johan">> "Well, than you should go for it! How many people do you think call my hobbies too nerdy? And do you think I care?!? No! Your life, your body!"<</Dialogue>><br>It hard not to smile, he is actually fist-pumping and trying to cheer you on!<br><br><<Dialogue "player" "You">> "...I guess you\'re right! Heh, well, at least I can open ALL the jars now!"<</Dialogue>><br><<Dialogue "Johan" "Johan">> "HECK YEAH! Buy more jars so you can open them! Now, let\'s have some fun, you beefcake!"<</Dialogue>><br>And with that, the two of you spend the next hour chatting and chilling.<br><br><<link "Go home" "Home">><</link>><</replace>><</link>></span>'
}, {
name: 'JohanHulk',
locationTags: ['johan'],
conditions: [
() => State.variables.bodyType === 'hulk',
() => !State.variables.outfit.bonuses().map(bonus => bonus.name).includes('Baggy')
],
repeatable: false,
retriggerable: false,
priority: 'response',
npc: ["johan"],
content: '<<set $johanOpinion += 2>>As Johan opens the door, you notice he\'s getting less and less shocked by your growing frame. With some trouble you get inside, the door just that bit too small for you.<br><br><<Dialogue "Johan" "Johan">> "... Doesn\'t that bother you?"<</Dialogue>><br><<Dialogue "player" "You">> "What do you mean?"<</Dialogue>><br><<Dialogue "Johan" "Johan">> "Seriously, your muscles! Like they look great but... you barely fit through the door anymore! Doesn\'t that... you know, get to you?"<</Dialogue>><br><span id="choice"><<link " A little bit">><<replace "#choice">><br><br><<Dialogue "player" "You">> "I mean, sometimes a little, but I just love the size! Hah, like look at me! I\'m ginormous!" <</Dialogue>><br>Bringing your arms up, you give a monstrous flex, your veins surfacing and arms pumping up. Johan watches, a bit stunned, but clearly impressed. His eyes travel all over them, going wider and wider with each flex.<br><br><<Dialogue "Johan" "Johan">> "Y-yeah you look great b-but... i-isn\'t it inconvenient...?"<</Dialogue>><br><<Dialogue "player" "You">> "Well, sometimes... clothes shopping is just annoying now. And... well, getting into buildings. And people are always staring at me. But I think it\'s all worth it."<</Dialogue>><br><<Dialogue "Johan" "Johan">> "Well, as long as you\'re happy, right? Listen, how about we just turn on the game deck and just have some fun? If those big muscles of yours still allow you to play?"<</Dialogue>><br><<Dialogue "player" "You">> "Oh, you\'re ON, pipsqueek!" <</Dialogue>><br>The two of you sit down and just spend some time together, still friends despite your immense mass.<br><br><<link "Go home" "Home">><</link>><</replace>><</link>><br><br><<link " The bigger the better">><<replace "#choice">><br><br><<Dialogue "player" "You">> "If I\'m honest, I don\'t care! It can\'t get big enough! Hehe, if it was up to me I\'d get WAY bigger!" <</Dialogue>><br>Enthusiastically, you bring your arms down and flex your pecs, gigantic mounts pushing forward and veins surfacing. Johan watches, half in shock, half in amazement.<br><br><<Dialogue "Johan" "Johan">> "R-really?! Y-you don\'t think you\'ll get too big?!"<</Dialogue>><br><<Dialogue "player" "You">> "Fuck, no! There\’s no such thing! So get ready, Johan, I plan to grow a WHOLE lot more!"<</Dialogue>><br>He swallows, not sure how to respond. In stunned silence, you pass him by, making sure to rub your gigantic shoulders against him for effect.<br><br><<Dialogue "player" "You">> "Hehe, let\'s just watch something."<</Dialogue>><br><br><<link "Go home" "Home">><</link>><</replace>><</link>></span>'
}, {
name: 'JohanGigantic0',
locationTags: ['johan'],
conditions: [
() => State.variables.bodyType === 'gigantic',
() => !State.variables.outfit.bonuses().map(bonus => bonus.name).includes('Baggy')
],
repeatable: false,
retriggerable: false,
priority: 'response',
npc: ["johan"],
content: '<<set $johanOpinion += 3>>Squeezing yourself through the door, its frame groans, your muscles forcing the wood apart. Johan watches in mixed horror and awe, every muscle on your body bigger than anyone could\'ve ever imagined.<br><br><<Dialogue "Johan" "Johan">> "I still can\'t believe how big you\'ve gotten."<</Dialogue>><br><<Dialogue "player" "You">> "Heh, pretty good, right? Look at me, I\'m gigantic!"<</Dialogue>><br><<Dialogue "Johan" "Johan">> "...I\'d say this is even beyond gigantic... listen, you look amazing but don\'t you ever regret this?"<</Dialogue>><br><<Dialogue "player" "You">> "huh? No, why?"<</Dialogue>><br><<Dialogue "Johan" "Johan">> "Well... you\'re... look at you! You barely fit inside my room, you must have incredible difficulty in your own house... like, was it all worth it?"<</Dialogue>><br><<Dialogue "player" "You">> "You know what I\'m going to say to that right?\'<</Dialogue>><br><<Dialogue "Johan" "Johan">> "Heh, true. Well, then let\'s play some Marco Kart! IF you can even look over those pecs of yours!"<</Dialogue>><br><<Dialogue "player" "You">> "Oh I\'ll beat your ass and you know it!"<</Dialogue>><br><br><<link "Continue" "Home">><</link>>'
}, {
name: 'JohanGigantic1',
locationTags: ['johan'],
conditions: [
() => State.variables.bodyType === 'gigantic',
() => !State.variables.outfit.bonuses().map(bonus => bonus.name).includes('Baggy')
],
repeatable: false,
retriggerable: false,
priority: 'response',
npc: ["johan"],
content: 'You decide to go pay Johan a quick visit to show off the unbelievable fruits of your labor over the course of last week\'s on-the-dot workout sessions. You feel he\'d appreciate your mass if you personally delivered yourself to his doorstep and stormed in, but... given what is about to happen, it\'s safe to say that he might just be a sourpuss when it comes to being made to feel small.<br><br><<Dialogue "Johan" "Johan">> "P-put me DOWN! This isn\'t funny anymore!"<</Dialogue>><br><<Dialogue "player" "You">> " Anymore? Oh, so you ADMIT you were having fun just a few minutes ago?"<</Dialogue>><br><<Dialogue "Johan" "Johan">> "Only when you were trying to bench me, not JUGGLE me!"<</Dialogue>><br>Johan\'s raucous and insistent protests fall on deaf ears. His pleas would not penetrate the fine, pumped muscles you\'ve worked so hard to cultivate... maaaaybe that didn\'t include using your hugeness to bounce a cute nerd from pectoral to pectoral, but hey! Maybe the string bean should loosen up and enjoy the ride. As you continue to dribble the flailing, bespectacled know-it-all across your beachball-sized meat acres, he finally issues a burning question.<br><br><<Dialogue "Johan" "Johan">> "How did you even get this HUGE to begin with!? The difference between you last week and you NOW is insane! This goes beyond the realm of science! It\'s supernatural at this point!"<</Dialogue>><br><span id="choice"><<link " Supernatural...?">><<replace "#choice">><br><br><<Dialogue "player" "You">> "What\'s supernatural here is how you seem to have a question for everything! Why can\'t you just ride the wave and enjoy yourself for once?"<</Dialogue>><br><<Dialogue "Johan" "Johan">> "That term is a METAPHOR, not literal! I think I\'ve got the right to ask you about this, given that it\'s such a dramatic increase! I\'m serious, your arm is LITERALLY around twice the width of my own torso! How is this even possible?!"<</Dialogue>><br>Still grinning, you keep it up for a while, simply playing with Johan until finally you give him some much needed rest. As you stomp off, that smile does not fade, loving every second of the chaos you just caused. <br><br><<link "Continue" "Home">><</link>><</replace>><</link>><br><br><<link " Well, about that...">><<replace "#choice">><br><br><<Dialogue "player" "You">> "I wasn\'t sure if you were going to believe me, but I had a bit of a strange run-in just a week ago...."<</Dialogue>><br><<Dialogue "Johan" "Johan">> If you\'re going to say that you got cursed by a witch or something, then I\'d rather not hear it! Just put me down, okay?<</Dialogue>><br>Still grinning, you put him down and leave. He looks a bit annoyed, but you\'re sure he loved it deep inside!<br><br><<link "Continue" "Home">><</link>><</replace>><</link>></span>'
}, {
name: 'JohanHomeTailoredClothing',
locationTags: ['johan'],
conditions: [
() => State.variables.outfit.bonuses().map(bonus => bonus.name).includes('Hand-made')
],
repeatable: false,
retriggerable: false,
priority: 'response',
npc: ["johan"],
content: 'As is custom, you get a warm welcome at Johan\'s place, the geek immediately opens the door and welcomes you in. But this time his gaze lingers a bit, and focuses on your outfit. A big smile materializes in his face. <br><br><<Dialogue "Johan" "Johan">> "That\’s a really great outfit. Where did you get it?"<</Dialogue>><br><<Dialogue "player" "You">> "I actually made it myself with some fabric I had lying around. Um... I decided to get into sewing recently. You know, to pass the time!"<</Dialogue>><br>You decide against telling him why you got into sewing, but his smile only widens more.<br><<Dialogue "Johan" "Johan">> "Wow, that\’s super cool! It\'s so well made, I didn\'t even notice they\'re tailored at first, you\'re a natural! I\’ve actually made a few clothes myself, for cosplaying, you know? I had to make some clothes for the local BattleSword 9k fest one year. Oh, and another time I went to a con as a knight from this one MMO, Sphere of Combat... Oh hey, maybe someday we could do a group cosplay even, that\'d be soooo cool! I think I\’m about the right height for Link, so maybe you could be Zelda?! OR-"<</Dialogue>><br><<Dialogue "player" "You">> "Heh, that\'d actually be quite cool and... you know, why not?"<</Dialogue>><br>Hearing that Johan launches into a tirade about his favorite games in the series, why he likes them, what he thinks they could have done better, and then makes a bunch of jokes about the CD-i versions. You\’re not surprised he memorized all the cutscenes. It\'s just fun, hanging out with Johan. His enthusiasm really does shine through. And his compliments about your sewing... well, that does give you a bit of a confidence boost!<<set $shyConfident += 1>><br><br><<link "Continue" "Home">><<set $johanOpinion += 2>><</link>>'
}, {
name: 'JohanExpertCook',
locationTags: ['johan'],
conditions: [
() => State.variables.skills[1].level >= 3
],
repeatable: false,
retriggerable: false,
priority: 'response',
npc: ["johan"],
content: 'As always you get a warm welcome at Johan\'s place, the geek immediately opening the door and welcoming you in. But this time, the welcome was even warmer than usual, Johan smiling broadly and... sniffing the air...? That was odd, even for him. <br><br><<Dialogue "Johan" "Johan">> "Since when have you got so amazing at cooking?! Or baking, or whatever it is you do!"<</Dialogue>><br><<Dialogue "player" "You">> "My... cooking? The smells?"<</Dialogue>><br>Apparently the smell of your recent cooking still lingers, and Johan seems to like it. You can\'t even notice it anymore!<br><<Dialogue "Johan" "Johan">> "Are you kidding me, it smells amazing! SO, when are you gonna invite me over for dinner? Kidding, kidding!"<</Dialogue>><br><span id="choice"><<link "Thank him">><<replace "#choice">><br><br><<Dialogue "player" "You">> "Oh, erm that\'s just... some new recipes I\'m trying. Nothing too exciting, to be honest. If you want I can bring you s-!"<</Dialogue>><br>And that was enough to set Johan off.<br><br><<Dialogue "Johan" "Johan">> "Oh, that\'s amazing! Could you make themed snacks for my next DnD session?! Something like perhaps roast giant boar, or cocktails, like goblin-blood wine or-"<</Dialogue>><br>Johan was already off in his own world, talking at you. You just smile, nodding along, while you two start gaming.<<link "return" "Home">><</link>><</replace>><</link>><br><br><<PersonalityCheck $shyConfident >= 0 "Invite him over one day">><<replace "#choice">><br><br<<Dialogue "player" "You">> "I mean, if you want you could totally come over for dinner one day? You know where my place is, and I\'m used to cooking now so it\'s no bother, I guess?"<</Dialogue>><br>Uh, oh. The Johan had been activated. His smile couldn\'t get wider as his shoulders tense up. The volume cranks up beyond the max, and you imagine words are hidden somewhere in the string of sounds that come from his mouth. Though what he meant escapes you, you\'re quite sure a \'yes\' was somewhere in that raucous din as he was jumping frantically.<br><br><<link "return" "Home">><</link>><</replace>><<Failed>><<replace "#choice">><<Dialogue "player" "You">> "I mean... if you ever wanna... you know, try some... you could totally drop by? If it isn\'t too much of a bother, of course!"<</Dialogue>><br><br>Well that went... horribly. Nonetheless, Johan smiles, and surprisingly accepts with grace, saying he\'d love to come by someday. It seems he noticed you were nervous, and for once was quite mindful.<br><br><<link "return" "Home">><</link>><</replace>><</PersonalityCheck>></span>'
}, {
name: 'JohanExpertWorkout',
locationTags: ['johan'],
conditions: [
() => State.variables.skills[0].level >= 3
],
repeatable: false,
retriggerable: false,
priority: 'response',
npc: ["johan"],
content: ''
}, {
name: 'JohanExpertSewing',
locationTags: ['johan'],
conditions: [
() => State.variables.skills[6].level >= 3
],
repeatable: false,
retriggerable: false,
priority: 'response',
npc: ["johan"],
content: ''
}, {
name: 'JohanExpertBookKeeping',
locationTags: ['johan'],
conditions: [
() => State.variables.skills[2].level >= 3
],
repeatable: false,
retriggerable: false,
priority: 'response',
npc: ["johan"],
content: 'As you visit Johan, he\'s working on some sort of... miniature army. His entire table is filled with all kinds of tiny soldiers, each and every one painted with a lot of dedication. Johan also has a LOT of spreadsheets strewn around the table, the floor, the sink... among several open books. If you didn\'t know any better, you\'d say he was doing some heavy accounting, but the books looked too nerdy for that.<br><<Dialogue "player" "You">> "Erm... so, what are you doing? Is this for one of your games...?"<</Dialogue>><br><<Dialogue "Johan" "Johan">> "Urgh... my favorite wargame has gotten a new errata update but it changed all the points in my army and now I can\'t decide how to build my list..."<</Dialogue>><br>Carefully, you pick up one of the sheets on the table, reading it. Right... so each miniature costs a set amount of \'points\'... and has certain stats... oh, and they all benefit from certain special rules if certain conditions are met? Heh, easy! Grabbing a pen and paper, you start writing, Johan looking at you in surprise.<br><<Dialogue "Johan" "Johan">> "Erm... what are you...?"<</Dialogue>><br><<Dialogue "player" "You">> "Shush, I\'m working. This is just like the spreadsheets I used to work with."<</Dialogue>><br>Johan watched in awe as you easily worked your way through the rulebooks, the dozen spreadsheets, and wrote it down neatly clearly, better than any rulebooks around. When you are done, Johan looks at it in disbelief. <br><<Dialogue "player" "You">> "Here. I read the rulebooks and special rules, and this list would give you the most value for your points. I don\'t know if it\'s any good, but it\'s a start." <</Dialogue>><br> Jaw still hanging, Johan stares at the list.<br><<Dialogue "Johan" "Johan">> "That... how... Okay, you\'re going to explain to me how you did that!"<</Dialogue>><br>Johan sits down by yours side, watching with great interest as you explain how you used your bookkeeping skills to help him with his game. It\'s a genuine bonding moment, as Johan, for once, lets you do all the talking!<br><br><<link "Continue" "Home">><</link>><<set $JohanGameFollowUp to true>>'
}, {
name: 'JohanGameFollowUp',
locationTags: ['johan'],
conditions: [
() => State.variables.JohanGameFollowUp,
() => Math.random() >= 0.9
],
repeatable: false,
retriggerable: false,
priority: 'response',
npc: ["johan"],
content: 'You knock on Johan\'s door. His arm reaches out as he drags you inside, pressing you against the wall with his arms on your shoulders. What the hell is going on, you wonder, as you blush deeply!<br><<Dialogue "Johan" "Johan">> "I can\' believe it! That list you helped me with? I won the tournament with it! Thank you SO much, I even got some cool prizes!"<</Dialogue>><br>Right, of course. This is still Johan you are talking about. Of course, pinning you to the wall has something to do with one of his board games. Not even realizing what he has just done, he just walks away, showing you some... well, boxes he apparently received?<br><<Dialogue "Johan" "Johan">> "Yeah, yeah, I came first and now I won a THOUSAND DOLLARS in prize money, and another army which I can paint and build!"<</Dialogue>><br><<Dialogue "player" "You">> "Eh... congratulations? I\'m just glad to help."<</Dialogue>><br><<Dialogue "Johan" "Johan">> "Oh, help you did! And here is your share! 500 dollars, half the prize money!"<</Dialogue>><br>Johan stands there smiling, already handing the bills for you, neatly separated. His smile couldn\'t be wider, Johan is so happy about this. And hey, that means some extra cash for you! He hands it over, but immediately starts to talking about how the tourney went. Well, it seems that all there is for you to do at this point is sit down and nod and smile, because Johan shrill soliloquy might not be recognize as any language from this planet. What the hell is an Adepta Sororitas...?<br><br><<link "Continue" "Home">><</link>>'
}, {
name: 'JohanStrongman',
locationTags: ['johan'],
conditions: [
() => State.variables.bodyType === 'strongman',
() => !State.variables.outfit.bonuses().map(bonus => bonus.name).includes('Baggy')
],
repeatable: false,
retriggerable: false,
priority: 'response',
npc: ["johan"],
content: 'Johan may look mostly harmless, but apparently he\'s quite a bit of a foosball savant - he gets incredibly concentrated, and just spins those rods like some sort of machinist genius.<br><br><<Dialogue "player" "You">>"Damn, Johan, how do you keep scoring?<</Dialogue>><br><br>He laughs and blushes a bit:<br><br><<Dialogue "Johan" "Johan">>"Ah, well, I guess I just spent a lot of time practicing by myself, you know, before you moved in and I had someone to play against."<</Dialogue>><br><br>Ouch. I guess he didn\'t really socialize much before you arrived. Still, it\'s quite thrilling - but you are competitive, and not about to let him get away with this!<br><br>While Johan has his technique to lean on, you bet on your sheer power: with the right grip, some of your shots literally make some of his little pin soccer players turn back and let the solid ball break his defense. It\'s quite a close match - but Johan pulls A LOT of advanced tricks. As you two stand one point from victory, he uses two rows to mount the ball behind one of his horizontal plastic guys... and he concentrates in silence. Sure, you could shake the whole table and make it fall, but curiosity gets the best of you.<br><br>Johan purses his lips and squints towards your goal as he gets a feel for the rod... and flips it in a way that sends the ball up in the air, arcing... straight into your goal. You are so impressed that the two of you just start plain out jumping, whooping and cheering!<br><br><<Dialogue "player" "You">>"HOLY SHIT?!? HOW DID YOU DO THAT?<</Dialogue>><br><br><<Dialogue "Johan" "Johan">>"Yeah, it\'s super tricky, so I can\'t do it all the time, but I was pretty lucky just now, I guess."<</Dialogue>><br><br>You run up to him and wrap your arms around his torso, and squeeze him off the ground in a bear hug - he tenses up, and you just hear a CRACK!<br><br>Scared, you let go, and Johan just tumbles down, facing face-down into the ground. Oh no! Fear starts welling into your chest, and you kneel down next to him.<br><br><<Dialogue "player" "You">>"Johan? JOHAN? Are you okay?!?<</Dialogue>><br><br> <<Dialogue "Johan" "Johan">>"Mmmmhmmhhhmmmhm..."<</Dialogue>><br><br>He mumbles, his lips still pressed to the hard floor. You grab his shoulder and raise him up a bit.<br><br><<Dialogue "Johan" "Johan">>"Aaaaaawwwwwch..."<</Dialogue>><br><br><<Dialogue "player" "You">>"Johan? Can you move?<</Dialogue>><br><br>He raises his elbows and tries to lift himself, but his back hurts so much he can\'t get up.<br><br><<Dialogue "player" "You">>"Where does it hurt?!?<</Dialogue>><br><br><<Dialogue "Johan" "Johan">>"Argh! It\'s like that time Ratman got his back broken by Baines... wait... did you break my back?!? AM I GOING TO BE STUCK TO A WHEELCHAIR?!?"<</Dialogue>><br><br><<if $skills[0].level > 3>><<Dialogue "player" "You">>"Johan, I don\'t think spines work like that, I probably just pulled a muscle on your back, and the cracking was just releasing the pressure on your joints and the synovial fluid ...<</Dialogue>><br><br><</if>><<Dialogue "Johan" "Johan">>"I\'m too young to be disabled - I can\'t even pull a proper Professor Y cosplay... well, maybe if I shaved my head..."<</Dialogue>><br><br><<Dialogue "player" "You">>"JOHAN!<</Dialogue>><br><br>You grab him by his armpits, and just lift him back to his feet. Johan winces, putting his hands on his back, but he manages to stay up.<br><br><<Dialogue "Johan" "Johan">>"Oh..."<</Dialogue>><br><br><<Dialogue "player" "You">>"I\'ll go get some ice for your back. Just wait here, alright?<</Dialogue>><br><br>You come back with a nice ice pack, which you apply to Johan\'s back.<br><br><<Dialogue "player" "You">>"I know I\'m kinda strong, but you can rest assured I won\'t be breaking your back...<</Dialogue>><br><br><<if $muscle >= 70>>Well, not by accident... you complete the thought in your head.<br><br><</if>>Johan seems to calm down a bit.<br><br><<Dialogue "player" "You">>"You should probably take it easy for a few days. I can come here and help you, bring you groceries and help with any more demanding tasks - don\'t go trying to move your comic boxes until you are fully healed, alright?<</Dialogue>><br><br>Johan\'s eyes are almost tearing up, as he looks at you in adoration.<br><br><<Dialogue "Johan" "Johan">>"You... you will take care of me?"<</Dialogue>><br><br><<if $submissiveDominant > 1>><<Dialogue "player" "You">>"Yeah, I mean, it was still my fault, just don\'t get used to it, alright?<</Dialogue>><br><br><<else>><<Dialogue "player" "You">>"Of course, don\'t worry. That\'s what friends are for, right?<</Dialogue>><br><br><</if>>You cradle him in your arms like a baby, and carry him to his sofa, which you set up like a provisory bed, getting him something to snack on and drink, as well as the TV remote and some comics.<br><br><<Dialogue "Johan" "Johan">>"I could get used to this..."<</Dialogue>><br><br><<if $submissiveDominant > 1>><<Dialogue "player" "You">>"Just don\'t.<</Dialogue>><br><br><<else>>You laugh at his comment. But, at least, it gives you another excuse to come check on him over the next few days.<</if>>'
}, {
name: 'johanArmWrestle',
locationTags: ['johan'],
conditions: [
() => State.variables.muscle >= 30
],
repeatable: false,
retriggerable: false,
priority: 'response',
npc: ["johan"],
content: '<<Dialogue \"player\" \"You\">>\"Knock knock?<</Dialogue>><br><br>You walk into Johan\'s open apartment after announcing yourself, only to find him lying on the floor with feet hanging up, reading a comic book.<br><br><<Dialogue \"player\" \"You\">>\"Johan?<</Dialogue>><br><br>He blinks a few times and puts the comic down, struggling a bit to sit up on the floor.<br><br><<Dialogue \"Johan\" \"Johan\">>Oh, <<print $playerFirstName>>. Come on in. Uh... I guess you already did? Sorry, I was kind of lost in this issue...<</Dialogue>><br><br>You cock your head as you try to make out the cover - the comic seems to be some splashy commemorative issue with a caped man swinging a hammer. Before you manage to squeeze a question in, Johan is off.<<Dialogue \"Johan\" \"Johan\">>You see, there\'s this short story here, Thor and Hercules, two mythical deities, challenge each other in armwrestling...<</Dialogue>><br><br>He flashes the open book towards you, the two humongous superheroes sitting atop a mountain and grappling hands. There\’s a lot of text boxes as the two spend a few panels on a stalemate... until they literally destroy rocky outcropping under then, falling down, but still going at it despite the lack of a surface to lean on.<br><br>Your brain tries to even wrap itself around the ridiculous scenario, but your loquacious pal proves once again to be faster.<br><br><<Dialogue \"Johan\" \"Johan\">>I mean, SERIOUSLY, how epic is that?!? To break down a MOUNTAIN with the might of your armwrestling? I mean, forget how powerful these two are, forget the implications... the way the rolling commentary elevates this, tantalizing the reader...<</Dialogue>><br><br>Yup. This could take a while.<br><br><<if $shyConfident > 1>>You interrupt your friend with a teasing tone:<br><br><<Dialogue \"player\" \"You\">>\"Hey, Johan... you wanna try to armwrestle? It could be fun!<</Dialogue>><br><br><<else>>But as he babbles on, his steam starts to run out as his ramble gets more and more incoherent until he kind of just stares into the distance, strangely pensive.<br><br><<Dialogue \"Johan\" \"Johan\">>Hey, how would you like to try a little armwrestling match? I mean, I never won a match in my life but...<</Dialogue>><br><br>His eyes seem to slightly glimmer, still hyped from the fictitious match.<br><br><</if>><<if $muscle >= 60>>You are not sure if Johan has given this the proper consideration, but before you know it, he\'s excitedly setting up a table and chair for the face-off. You two sit opposite each other, two arms resting on the table - the comical contrast is almost depressing, as your arm looks big enough to lift him AND the table with almost no effort.<br><br>As you clasp hands, you wait for him to fully grasp what he has gotten himself into. His eyes are still shimmering, certainly still envisioning himself as one of the gods... you wonder if he\'s picturing himself as Thor or Hercules... and frankly, you feel a bit of pity for him.<br><br>A couple of minutes pass. Any second now...<br><br>All of a sudden, Johan blinks a couple of times and his eyes focus on the two arms on the table. You can hear a very audible gulp as reality suddenly sinks in... and so does your stomach. You are now feeling a bit bad for having agreed to this match, but it would hurt his pride even more to give up now.<br><br>And that\’s when it hits you! You try your hardest not to smile and keep your best poker face.<br><br><<Dialogue \"player\" \"You\">>\"Alright, why don\'t you count down?<</Dialogue>><br><br>Johan has an expression of horror in his face, as he slowly counts down.<br><br><<Dialogue \"Johan\" \"Johan\">>Uh... I guess... sure... three...<</Dialogue>><br><br>You can see the regret telegraphed in his eyes, darting around as if somehow he\'s going to find a way out of this mess.<br><br><<Dialogue \"Johan\" \"Johan\">>... two?<</Dialogue>><br><br>Johan takes a deep breath...<br><br><<Dialogue \"Johan\" \"Johan\">>ONE!!!<</Dialogue>><br><br>Johan immediately grimaces and leverages his whole body against your arm, and sadly, you don\'t need to put any effort to hold your arm completely still. However, you conjure your best impression of absolute effort, gritting your teeth and frowning, while tightening your grip just enough to give him a taste, but being incredibly careful not to hurt your friend.<<Dialogue \"Johan\" \"Johan\">>HNNNNGH!<</Dialogue>><br><br>Johan\'s face is beet red, but you are not about to drop your façade. This bit is going to take quite a lot of effort and finesse, but you think you can pull it off...<br><br>Focusing all effort downwards against the table, without breaking Johan\’s arm or hand, you push with all your might. You can see the table slightly bending and hear a faint creaking... yes... if you just push it that little bit more...<br><br><br>CRACK!<\b><br><br>The table splits in two, and you pretend to be as surprised as you can, jumping back and massaging your biceps.<<Dialogue \"player\" \"You\">>\"Damn, Johan, I didn\'t know you had it in you. I thought I had you there for a second, but you put in quite a fight!\"<</Dialogue>><br><br>Johan looks at you, dumbfounded. Did he really fall for your trick? You know he\'s not that dumb... and suddenly...<br><br>Johan just jumps and hugs you, dangling his feet off the ground as you hug him back, still somewhat shocked. He lets out a tear of joy, as he sobbingly says with utmost sincerity:<<Dialogue \"Johan\" \"Johan\">>Thank you, <<print $playerFirstName>>! This... this was like a dream come true.<</Dialogue>><br><br>You bite your lip, as you try your hardest not to cry. The two of you just hold each other in an affectionate embrace for a while as time slowly ticks by...”<<elseif $muscle >= 45>>You are not sure if Johan has given this the proper consideration, but before you know it, he\'s excitedly setting up a table and chair for the face-off. You two sit opposite each other, two arms resting on the table - you have little doubt that this won\'t even be a contest, but you don\’t have the heart to stop him now.<br><br>As you two rest your elbows against the table, any bystander would not have any question about the outcome of this match. Still, Johan seems to still be quite giddy about the concept - as usual, he seems to be leaning more on the fantasy of this scenario than actual reality.<br><br><<Dialogue \"player\" \"You\">>\"You ready? Just say go.\"<</Dialogue>><br><br>Johan, still grinning, shouts “GO!” with no warning, and throws his whole body against your arm. With little effort, you look at him wincing and grimacing, adorable like a little puppy throwing himself against an adult mastiff.<br><br>You let your friend tire himself out as you check the nails of your free hand. Damn, would you look at the time? With little fanfare, you slam his hand against the table in a quick but controlled slam, making him fall out of his chair in the process.<<Dialogue \"player\" \"You\">>\"Hey... are you ok?\"<</Dialogue>><br><br>He is on the ground, eyes closed in shame, grabbing his arm.<<Dialogue \"Johan\" \"Johan\">>Yeah. Nothing broken... except maybe for my pride?<</Dialogue>><br><br>You go around the table and help him get up. You cheer him up, tell him he put a good fight, but remind him that he was a bit out of his depth. Dejected, he replies:<br><br><<Dialogue \"Johan\" \"Johan\">>Yup... I should know better that I am no god of thunder. You, on the other hand? Damn, it feels like on your way to becoming a super-heroine if you keep growing at this pace<</Dialogue>><br><br>You blush slightly, and thank him for the compliment. At least he seems excited enough about your friendship not to dwell too hard on his loss. And with that, you take your leave.<<elseif $muscle >= 25>>This ought to be fun. You two rest your elbows on the table - you might not be exactly what people would describe as strong, but Johan really might have somewhat overplayed his hand in this challenge. As you clasp hands, you notice a hint of a vein on your hand, unlike Johan\’s very dainty one. Both of you grin, looking forward to the challenge.<br><br>The two of you agree to a simple three-count, and Johan proceeds to do the honors. As he counts three, both of you do your best to drive each other\'s hand down.<br><br>While it should come as no surprise, your heart starts beating faster and your arms slowly inches toward the table. You can feel your biceps and trapezius tensing with effort, a small bump proudly popping on your upper arm. Instead of focusing on the match, you just watch, mesmerized, at that humble but hard-earned mound. Time slows to a crawl as you smile with pride at your physical accomplishment, and your mind wanders... how big could you possibly get if you put the effort in?<br><br>Still entranced, you just drive Johan\'s hand against the table. He looks disappointed, but not surprised, as he massages his hand.<br><br><<Dialogue \"Johan\" \"Johan\">>Well, I should have known better. Still... you seem to be getting pretty strong, <<print $playerFirstName>>.<</Dialogue>><br><br>That comment... you freeze for a bit, a huge smile growing on your face, just like your biceps did just moments ago. You feel like a million bucks, like you are glowing... like you have no limits.<br><br><<Dialogue \"Johan\" \"Johan\">><<print $playerFirstName>>?<</Dialogue>><br><br>You snap out of your little daydream, and thank Johan for the match. He gives a shy smile back, and thanks you as well.<<Dialogue \"Johan\" \"Johan\">>Yeah, that was a lot of fun... we should try that again... though... if you keep at it, I feel like it\'s not going to be much of a match!<</Dialogue>><br><br>You resist the urge to give him the biggest hug, and leave the apartment, hopping excitedly back to your home.<<elseif $muscle >= 21>>This ought to be fun. You two rest your elbows on the table - you wonder how this is going to unfold, as your heart races in anticipation. As you clasp hands, you decide to give your all. Both of you grin, looking forward to the challenge.<br><br>The two of you agree to a simple three-count, and Johan proceeds to do the honors. As he counts three, both of you do your best to win.<br><br>It seems like a pretty even match. You struggle a bit and make some progress, but Johan is gritting his teeth and getting red in the face, seemingly putting in even more effort than you. You can\'t help but admire his tenacity, easing up a smidge but still trying to win.<br><br>However, Johan might have overplayed his hand, and all this effort means he just gets completely exhausted soon, and you take the opportunity to drive him down.<br><br><<Dialogue \"Johan\" \"Johan\">>Well played! I guess I should know better than to think that I could have beaten you just because you are a girl...<</Dialogue>><br><br>He looks forlorn. You try your best to cheer the little guy up, though.<br><br><<Dialogue \"player\" \"You\">>\"Well, I\'ve been working out, you know?\"<</Dialogue>><br><br>You smile, and give a quick, mocking flex while you wink at him and playfully stick your tongue out. There really isn\'t much there, but you could swear you saw a little bump pop on your upper arm.<br><br><<Dialogue \"Johan\" \"Johan\">>Thanks... but that was still pretty pathetic. Still, it was fun! Maybe I should try working out too and we can try that again sometime!<</Dialogue>><br><br>You nod, and thank him back before returning to your apartment.<<else>>This ought to be fun. You two rest your elbows on the table - you wonder how this is going to unfold, as your heart races in anticipation. As you clasp hands, you decide to give your all. Both of you grin, looking forward to the challenge.<br><br>The two of you agree to a simple three-count, and Johan proceeds to do the honors. As he counts three, both of you do your best to win.<br><br>It seems like a pretty even match. Neither of you seem to have any edge, but all of a sudden, your eyes cross, and both of you start laughing uncontrollably, completely stopping any effort to win. You both can\'t quit laughing until you are both red in the fact from the lack of oxygen.<br><br><<Dialogue \"Johan\" \"Johan\">>Look at us! I\'m the mighty Thor!<</Dialogue>><br><br>Johan proclaim in a mocking tone, as he raises his fist, holding an imaginary hammer in a pose similar to the cover of his magazine.<br><br><<Dialogue \"player\" \"You\">>\"And I... am the INVINCIBLE HERCULES!<</Dialogue>><br><br>You go into a double-bicep pose with the proper aplomb, though your mocking is quickly curtailed as you glimpse a tiny but unexpected bump on your upper arms? Was that always there?<br><br><</if>>Johan taps you on the back playfully, and thanks you for the match. As you leave, you can\'t help but feel and squeeze your arm in wonder...'
}, {
name: 'JohanCaughtWithMusclePorn',
locationTags: ['johan'],
conditions: [
() => State.variables.muscle >= 30,
() => State.variables.johanOpinion >= 50,
],
repeatable: false,
retriggerable: false,
priority: 'response',
npc: ["johan"],
content: `You come into Johan’s apartment singing loudly, and you just watch as he slams his laptop shut. He leans over it, arms crossed, and his face is getting really red.<br><br>
<<if $carefreeCarefull < -1>>You approach his chair, and lean over his shoulders, saying in a sing-songy voice:<br><br>
<<Dialogue "player" "You">>"Whatchuuuuu doooooiiing, Johan?"<</Dialogue>><br><br>
<</if>>Everyone knows that play. One only slams their laptop closed - especially when someone is approaching - when they are doing something they are ashamed of. You tilt your head, and look at the poor boy, almost completely covering the computer with his body.<br><br>
<<Dialogue "player" "You">>"Come on, Johan, don’t you think I’m like a sister to you? No need to be embarrassed…"<</Dialogue>><br><br>
<<if $carefreeCarefull < -2>>You wink at him<<Dialogue "player" "You">>"Is it porn? I wanna see! Now I’m really curious?"<</Dialogue>><br><br>
<</if>><<if $submissiveDominant > 1>>You move Johan out of the way, and open the lid of the laptop. <<else>>You plead, with the best puppy eyes you can conjure:<br><br>
<<Dialogue "player" "You">>"Awwww, come on, I don’t keep any secrets from you, right? Besides, you left your door unlocked as usual, I can’t imagine you really wanted all that privacy, right?"<</Dialogue>><br><br>
Defeated, Johan steps aside from the laptop and, with eyes closed, opens the lid. <</if>>As the screen lights back up, you see his web browser displaying some tabs of fan art of several barbarian women - the typical RPG fare you’d expect as you flip through the tabs… heroines in skimpy fur or metal bikinis, all of them displaying VERY impressive physiques: extremely well-developed muscles, and just enough fat to give them a soft edge… but very plentiful boobs. You can’t deny… you’d be very hard pressed not to describe any of them as anything less than “very hot.”choice-Well, I can’t deny that you are a man of taste…<<Dialogue "player" "You">>"Whoa… these are SERIOUSLY SIZZLING, Johan."<</Dialogue>><br><br>
You declare, as you bite your lips sensuously. Johan seems shocked at your reaction, which is not what he expected at all.<br><br>
<<Dialogue "player" "You">>"Is this some research for characters for your next tabletop campaign?"<</Dialogue>><br><br>
You keep looking at them, and you find yourself surprisingly turned on - the ripped quads, the action poses with swords, the most incredible tits you’ve ever seen… there’s nothing you don’t like in these photorealistic depictions of women at peak physical condition.<br><br>
<<Dialogue "Johan" "Johan">>"Well… uh… not really… I just…"<</Dialogue>><br><br>
<<Dialogue "player" "You">>"Hey, I’m not one to judge, Johan. You think most girls don’t get all hot and bothered when the werewolf takes his shirt off to show his abs? Seriously, go watch that sparkly vampire movie in a movie theater, half the time you can hear the audience sighing and moaning…"<</Dialogue>><br><br>
<<if $muscle >= 35 && $fat < 25 && $shyConfident > 1>><<Dialogue "player" "You">>"I mean, even I sometimes get a little aroused just checking my progress…"<</Dialogue>><br><br>
You say, as you proudly lift your <<print $outfit.top().name>>, grabbing his hand and rubbing it against your burgeoning abs. Johan just starts coughing nervously.<</if>><br><br>
<<Dialogue "player" "You">>"I mean it, no reason to feel ashamed of it. <<if $shyConfident > 2>>Heck, I might just check some of these buff ladies with you. OH! If I find some, can I share some pics with you?<</if>>"<</Dialogue>><br><br>
<<Dialogue "Johan" "Johan">>"Uhhhhhhhhhhh…"<</Dialogue>><br><br>
You look deep into his eyes.<br><br>
<<Dialogue "player" "You">>"Johan. It’s okay. I really don’t want you to feel like you need to hide this. Do you feel like other guys feel the need to hide that they like boobs or asses?"<</Dialogue>><br><br>
<<Dialogue "Johan" "Johan">>"I guess not…"<</Dialogue>><br><br>
<<Dialogue "player" "You">>"Exactly! And on top of that, you are like my best friend here on campus, so I’d be really, REALLY disappointed if you felt like you couldn’t confide in me, okay?"<</Dialogue>><br><br>
Johan seems to finally loosen up a bit. It seems like he really does value your friendship quite a lot.<br><br>
<<Dialogue "Johan" "Johan">>"Thanks, <<print $playerFirstName>>. I don’t know why I got so hung up on that. I guess it really is silly of me, to think that way."<</Dialogue>><br><br>
You smile and give him a big hug before you leave.<br><br>
<<if $muscle >= 35>><<Dialogue "player" "You">>"Yup, don’t be such a goof!"<</Dialogue>><br><br>
You say as you leave, giving him a wink and a flex, as you stick your tongue out.<br><br>
Was that a nosebleed?<</if>>
<span id="choice">
<<PersonalityCheck $shyConfident >= 2 "What is it, Johan, do muscular women turn you on?">>
<<replace "#choice">>
<<if $muscle >= 35>><<Dialogue "player" "You">>"Wait… did I… is this because… you…"<</Dialogue>><br><br>
Something immediately clicks in your head. Johan HAS been looking at you differently since you started putting on some muscle…<br><br>
<<Dialogue "player" "You">>"Wait… does that mean…"<</Dialogue>><br><br>
You flex a bicep just under Johan’s nose, carefully studying his reaction. His whole body tenses, his pupils dilate as he holds his breath.<br><br>
That, and he’s covering his crotch with his hands. Yeah, I’d say that theory is confirmed.<</if>><br><br>
<<Dialogue "player" "You">>"So you like a girl with some meat on her, huh?"<</Dialogue>><br><br>
Johan’s cheeks get even redder.<br><br>
<<Dialogue "player" "You">>"Johan! This is a judgment-free zone! I see nothing wrong with that - these girls ARE very hot!"<</Dialogue>><br><br>
<<if $muscle >= 35>>However… you do feel the urge to ask…<br><br>
<<Dialogue "player" "You">>"Wait. Was it… did you figure that out because of me? Did I awaken that urge?"<</Dialogue>><br><br>
Johan has now achieved a deep purple color, his eyes bugging out. Who needs a lie detector when you are dealing with Johan?<br><br>
<<Dialogue "player" "You">>"<<if $muscle < 45>>I mean, I hope you realize I’m just getting started, right? <</if>>These puppies are only going to get BIGGER!"<</Dialogue>><br><br>
You emphasize the word, as you put his hand over your flexed biceps. Johan seems to instinctively give your arms a nice squeeze, and his reaction just makes you beam with pride.<</if>>It’s kind of amazing, when you think about it - even when dealing with his horny side, Johan manages to somehow come across as completely wholesome and nice. You just want to smother him completely!<br><br>
<<if $muscle >= 35>><<Dialogue "player" "You">>"Besides… maybe we could have some fun, you know, you could help coach me, make me even more buff. OOOOOOHHH! You could help me take progress pics… there’s so much we could do…"<</Dialogue>><br><br>
<</if>>You give Johan a nice hug, and you decide to add, before you leave:<br><br>
<<Dialogue "player" "You">>"Just keep being yourself, Johan. I couldn’t ask anything else of my best friend!"<</Dialogue>><br><br>
He smiles as he says goodbye, and returns to his computer.
<<link "Continue" $currentScene>><</link>>
<</replace>>
<<Failed>>
<<replace "#choice">>
<<Dialogue "player" "You">>"These muscular girls… do they…"<</Dialogue >> <br><br>
It’s all starting to click… all girls with the same physique, his embarrassed reaction… Johan… is aroused by muscle girls. <<if $muscle >= 35>>Wait! Was your transformation the catalyst for this?<</if>><br><br>
You join Johan’s red-faced club, as the two of you enter in a duel to see who can better avoid eye contact for longer. You start pointing randomly towards the door, and opening and closing your mouth as if you were going to say something, but nothing ever comes out.<br><br>
As both of you continue in this hilarious mimic duel, you slowly work your way to the door, and leave without adding another word.
<<link "Continue" $currentScene>><</link>>
<</replace>>
<</PersonalityCheck>>
</span>`}, {
name: 'JohanLactation',
locationTags: ['johan'],
conditions: [
() => State.variables.breastsFullness != null && ['overflowing', 'full'].includes(State.variables.breastsFullness.toLowerCase()),
() => State.variables.breasts >= 30
],
repeatable: false,
retriggerable: false,
priority: 'response',
npc: ["johan"],
content: `<<Dialogue "Johan" "Johan">>"Take THAT, sordid thief!"<</Dialogue>><br><br>Johan can get quite worked up when he’s playing Slap Bros. Sometimes it’s an intense silence, and sometimes it’s just all kinds of trash talk. He’s doing the latter now.<br><br><<Dialogue "player" "You">>"Oh, you’ll pay for that, savage lizard!"<</Dialogue>><br><br>You respond in kind, as your friend usually makes you feel quite comfortable with the banter.<br><br>The two of you continue to exchange virtual slaps and very real (but playful) insults as the match goes on. Johan may have his competitive streak, not unlike you, but he is a master in making every play session a ton of fun, no matter your skill level.<br><br>You lose track of time, and the verbal combat is just as engaging as the digital one. But suddenly the trash talk comes to a halt, as Johan’s character stops moving on screen. You turn to see him staring at you, mouth agape.<br><br><<Dialogue "player" "You">>"Uh, Johan, is everything okay?"<</Dialogue>><br><br>He continues staring in silence. He’s not looking at your eyes, but a bit lower. Oh…<br><br>You notice the stain on your <<print $outfit.top().name>>, and a few droplets of milk on the ground.<br><br><<if $shyConfident > 1>><<Dialogue "player" "You">>"Oh, yeah… this… happens, sometimes…"<</Dialogue>><br><br>You place an open palm under your breast, trying to get a feel for its contents.<br><br><<Dialogue "player" "You">>"Uh… would you mind… getting me a container?"<</Dialogue>><br><br>Still quite speechless and very embarrassed, Johan brings you a wide pitcher. Without turning around, you just empty your mammaries inside the receptacle, biting your lips briefly from the relieving feeling it gives you. After you finish, you bring the pitcher to the kitchen for disposal.<br><br><<elseif $shyConfident > -1>><<Dialogue "player" "You">>"Oh, oops…"<</Dialogue>><br><br>You cover yourself, but it can only do so much. You almost ask Johan to lend you a shirt, but realize that he probably doesn’t have anything that would fit your chest anyway.<br><br><<Dialogue "player" "You">>"Look… can you excuse me for a second?"<</Dialogue>><br><br>You head to the bathroom, closing the door before relieving your mammaries of your milk on the sink. Since you have your privacy, you don’t need to hide the pleasure you feel from the process, your delighted face gazing back at you and your gorgeous breasts as you do.<br><br>You return to your seat, <<print $outfit.top().name>> still wet, only to find Johan basically in the exact same position, his face unchanged.<<else>>You blush uncontrollably in shame, as you run to the bathroom, slamming the door behind you. You keep chastising yourself as you empty your mammaries on the sink, feeling a little pain instead of the usual pleasure from the faux-pas with your good friend. After you are done, you borrow a towel to wrap around you <<print $outfit.top().name>> and hide the wet marks left behind.<</if>> <<Dialogue "player" "You">>"I suppose the cat is out of the bag. Or should I say cow?"<</Dialogue>><br><br><<Dialogue "Johan" "Johan">>"W-w-what was that?!?"<</Dialogue>><br><br><<Dialogue "player" "You">>"I… I guess lately my boobs have been developing in more ways than one…"<</Dialogue>><br><br>You say, as you feel your plentiful bosom.<br><br><<Dialogue "player" "You">>"Sorry for making you uncomfortable..."<</Dialogue>><br><br><<Dialogue "Johan" "Johan">>"B-b-bu… but how?"<</Dialogue>><br><br><<Dialogue "player" "You">>"Well, I’m pretty sure you noticed I’m going through a bit of a growth spurt… I guess this comes part and parcel?"<</Dialogue>><br><br><<Dialogue "Johan" "Johan">>"I mean, sure… is… is it normal… for girls to do that?!?"<</Dialogue>><br><br><<if $shyConfident > 1>><<Dialogue "player" "You">>"You’d be surprised. Usually, it only happens with women who got pregnant - but in some cases, it can happen to anyone… even men."<</Dialogue>><br><br>Johan’s face goes bright purple. His eyes flutter frantically, and you can tell he is quite awkward with this conversation.<br><br><<Dialogue "player" "You">>"But… hey, don’t worry. I’m perfectly healthy. I’m sorry you had to see this."<</Dialogue>><br><br><<Dialogue "Johan" "Johan">>"No… I mean, I don’t want to feel bad, it’s just… it REALLY got me by surprise. But, I don’t mind, OK?"<</Dialogue>><br><br>You smile. Johan is such a great friend.<<elseif $shyConfident > -1>><<Dialogue "player" "You">>"Well, it’s complicated. It’s not like… super-normal, but even women who didn’t get pregnant can produce milk on some occasions… I guess I’m just one of the “lucky” ones."<</Dialogue>><br><br>You say, making sure to denote the sarcasm in your voice as you say “lucky.”<br><br><<Dialogue "Johan" "Johan">>"Oh, but there are no health issues, right?"<</Dialogue>><br><br><<Dialogue "player" "You">>"Yeah, let’s just say I’m going through a weird phase… I’m sure you noticed."<</Dialogue>><br><br><<else>>Uh-oh. You aren’t sure you feel very comfortable having a “birds and bees” moment with Johan…<br><br><<Dialogue "player" "You">>"Uh… well… it’s nothing to worry about, really. Sorry I made a little show of it…"<</Dialogue>><br><br>Johan can tell you might be more embarrassed than him. He quickly turns it around:<br><br><<Dialogue "Johan" "Johan">>"Ah, no, not at all. I don’t mind… I mean, sometimes I sweat a lot… and I’ve made people uncomfortable. I know how it goes."<</Dialogue>><br><br>He is trying really hard to make you feel better, and you appreciate it.<br><br><<Dialogue "player" "You">>"Thanks, Johan!"<</Dialogue>><br><br><</if>>You two stay there, looking around, unsure what to say next. You lie, saying you forgot some laundry going… and make your way out.<br><br><<if $shyConfident > 1>>After you leave, Johan goes to the kitchen, and finds the jug you forgot there, contents still inside. He looks around, just to make sure he’s really alone… before grabbing the jug to… take care of its contents.<</if>>`
},
{
name: 'PlayerFellInHome_johanHelps',
locationTags: ['home'],
conditions: [
() => State.variables.muscle >= 50,
() => State.variables.fat >= 50
],
repeatable: false,
retriggerable: false,
priority: 'response',
npc: ['johan'],
content: '<<Dialogue "player" "You">>"Whooooooa! Ouch!"<</Dialogue>><br><br> It was bound to happen sooner or later - with that many weights laying around, you just tripped and fell to the ground with a big THUD! The entire room shakes, making objects fall from shelves and other minor mishaps.<br><br> Before you can get up, Johan is slamming the door open.<br><br> <<Dialogue "Johan" "Johan">>"<<print $playerFirstName>>, are you okay? I think we just had an earthquake!!!"<</Dialogue>><br><br> <<if $shyConfident > 1>>You look at him and start laughing.<</if>> <<if $carefreeCarefull < -1>><<Dialogue "player" "You">>"I guess you can just start calling me earthquake…"<</Dialogue>><br><br><</if>> Johan looks at you, down on the ground, foot still stuck around the barbell. Suddenly, he gets that lightbulb moment, as he realizes what just happened.<br><br> <<Dialogue "Johan" "Johan">>"Oh…"<</Dialogue>><br><br> He offers you a hand, and you grab it… and just watch as he basically leverages all his weight against you, trying to pull you up. He can be so adorable at times…<br><br> You let go, making him fall on his butt, and then and lift yourself up. <<Dialogue "player" "You">>"Sorry about that - is everything okay in your apartment?"<</Dialogue>><br><br> <<Dialogue "Johan" "Johan">>"Ah… well… not to worry. Some broken glass, some paint tipped over… a lot of books on the ground, but it’s nothing I can’t clean."<</Dialogue>><br><br> You feel a little bad and offer to help, but he insists:<br><br> <<Dialogue "Johan" "Johan">>"Pfft! I’m used to making messes. I’ll clean it up. But it looks like your apartment was also quite shaken…"<</Dialogue>><br><br> You look around. He’s not wrong. There’s quite a few things tipped, some cups fell and shattered. But thankfully, your minimalist lifestyle has kept the damage to a minimum. Still, Johan is so eager to help you figure it’s better to just let him burn some of his endless energy.<br><br> <<Dialogue "player" "You">>"Why don’t you collect the things that fell and broke, I’ll start putting everything else back where it belongs."<</Dialogue>><br><br> The two of you get to work, just discussing the usual nerd stuff as you go along. <<if $muscle > 45>> You just casually move the heavy furniture around, and Johan sneaks a few looks as you do. <<if $shyConfident > 1>> You make a point of rolling up your sleeves and lifting a large metal table to check if there’s anything under it, just to give him a little show - and you try your best to pretend you didn’t see his eyes bugging out when he saw your arms bulge <</if>>. In his distracted state, he tries to move one of your dumbbells out to the corner. He fails miserably, trying to lift it with both hands, but is unable to even get it off the ground. He starts rolling it, but before he hurts himself, you just swoop in and grab it in your hand, setting it on the corner for him.<br><br> <<Dialogue "Johan" "Johan">>"Uh… thanks… I guess I should start working out too…"<</Dialogue>><br><br> <</if>>After all is done, the apartment looks organized once more. You insist in helping him back, but Johan is adamant he can take care of it himself.<br><br> <<Dialogue "Johan" "Johan">>"Just… watch where you step, please?"<</Dialogue>><br><br> You laugh and say bye.'
},
{
name: 'johanBigDiner',
locationTags: ['johan'],
conditions: [
() => State.variables.muscle >= 50 || State.variables.fat >= 50,
() => State.variables.height >= 200,
() => State.variables.johanOpinion >= 40,
],
repeatable: false,
retriggerable: false,
priority: 'response',
npc: ['johan'],
content: '<<Dialogue "Johan" "Johan">>"Ah, <<print $playerFirstName>>, is that you? Come on in, I’m in the kitchen!"<</Dialogue>><br><br>You follow the good smell into Johan’s very messy kitchen, only to find him wearing an apron with the drawing of a Japanese giant robot. He’s wearing two oven mitts and looks positively adorable. He is, however, quite blind, as his glasses are entirely covered in steam.<br><br><<Dialogue "player" "You">>"Huh… what are you doing?"<</Dialogue>><br><br><<Dialogue "Johan" "Johan">>"Ah, you see, I remember you complaining about how much you were spending on groceries…"<</Dialogue>><br><br>He bumps, knee first, against a chair.<br><br><<Dialogue "Johan" "Johan">>"Ouch! And I decided to make a full meal for you. And I went ALL OUT!"<</Dialogue>><br><br>You look at his setup. It looks like he has a couple of pans on the range, plus something inside the oven. You see a very messy salad already served on his tiny table, where two placemats are fighting for the little space available.<br><br><<Dialogue "player" "You">>"Wow, huh… I guess you really did…"<</Dialogue>><br><br>It’s hard to deny, this must not have been cheap, and it’s also fairly self-evident that he is working WAY OUT of his comfort zone. You didn’t even know Johan OWNED placemats!<br><br><<Dialogue "Johan" "Johan">>"So, huh, why don’t you make yourself comfortable, you can start having a salad while I finish here!"<</Dialogue>><br><br><<Dialogue "player" "You">>"No need to ask twice!"<</Dialogue>><br><br>You take a seat, and start having a salad. You take a guess that he doesn’t own a spinner and made this in a hurry, because the lettuce is very wet… but it IS fresh. You start eating, as he brings a very big plate of pasta.<br><br><<Dialogue "Johan" "Johan">>"With the compliments of the chef!"<</Dialogue>><br><br>Johan proclaims proudly, as he stacks the plates precariously over the crowded table. He takes your empty salad plate and joins you. For you, there’s a really full paste of pasta with hot dogs - about three times as much as he served himself.<br><br><<Dialogue "Johan" "Johan">>"My mom taught me this one, I find it quite tasty!"<</Dialogue>><br><br>He is so proud you don’t have the heart to tell him it sounds like something an 8-year old would make. But as you have a taste, you do have to admit it’s really yummy!<br><br><<Dialogue "player" "You">>"Wow, Johan, this is GREAT!"<</Dialogue>><br><br><<Dialogue "Johan" "Johan">>"Yeah, my mom taught me this Brazilian recipe, the garlic really brings it home!"<</Dialogue>><br><br>You make short work of the really loaded plate, and Johan just watches in wonder as you lick it clean as he is barely done with his much smaller portion. He hurries to catch up, so he can go in back to the oven.<br><br><<Dialogue "Johan" "Johan">>"Here we have some trademark pigs in the blanket…"<</Dialogue>><br><br>He sets a big pile on your plate, and sets aside a couple for himself. You wonder if that was his original planned split, or if he is recalculating after you ate your pasta so fast. Well, you are a growing girl, so you just dig in once again!<br><br>You see him gulping as he watches you devour the treats, munching on his as he alternates between your plate and your considerable size. As you finish, you give your stomach a tap.<br><br><<Dialogue "player" "You">>"That was also great! What’s for dessert?"<</Dialogue>><br><br>His brief satisfaction from your compliment quickly turned into nervousness as you asked about the sweet dish. He looks around, confused.<br><br><<Dialogue "Johan" "Johan">>"Uh… I have some ice cream in the freezer, give me a second, I’ll make you a banana split."<</Dialogue>><br><br>Johan quickly whips up a banana split, complete with whipped cream and a cherry on top - which he prepares with the seriousness of a top chef putting flourishes on his fancy plating. Still, it looks pretty amazing.<br><br>Just as the previous courses, you quickly gulp the sweet dish. At this point Johan is just alarmed at your burgeoning appetite. He is clearly at a loss for words.<br><br><<Dialogue "player" "You">>"Hey, huh… would you mind if I nab that apple to have on my way home?"<</Dialogue>><br><br>Johan just nods, incapable of articulating any complete phrases. He watches your giant frame leaving, apple in hand.<br><br><<Dialogue "player" "You">>"Thank you so much - it really was delectable!"<</Dialogue>><br><br>You don’t have the heart to tell him you are probably going to make yourself a PB&J when you get home.'
},
{
name: 'johanLateDnDParty',
locationTags: ['johan', 'home'],
conditions: [
() => State.variables.daysPlayed >= 10,
() => State.variables.gameDate.getHours() >= 22 || State.variables.gameDate.getHours() <= 6
],
repeatable: false,
retriggerable: false,
priority: 'response',
npc: ['johan'],
content: 'It’s getting pretty late, and you are feeling super sleepy, already having your jammies on (some spiderman boys underwear and a sleeveless shirt) and everything. Put you can’t get yourself to sleep - Johan has guests over… and boy, are they rowdy. You put on your furry crocodile slippers and make your way to his apartment, feeling like a zombie.<br><br>You knock on the door twice. Nothing. You knock again. Nothing. You give a hard knock, and the entire door trembles.<br><br>Johan answers the door, wearing a homemade wizard cap. You blink a couple of times, before articulating semi-coherent thoughts.<br><br><<Dialogue "player" "You">>"Hey, Johan. I know you guys have a campaign going... but it’s getting late and I need to get some sleep. Would you guys mind keeping it down?"<</Dialogue>><br><br><<if $tongue > 2>> You yawn, your immense tongue accidentally rolling out for all to see.<</if>>Before he can answer, his friends start shouting from the table:<br><br><<if $muscle >= 45>><<Dialogue "randomPerson" "Random guy">>"DUDE! You never told you had a FUCKING BARBARIAN living in your building?"<</Dialogue>><br><br><</if>><<if $breasts >= 55>><<Dialogue "randomPerson" "Random guy">>"HOLY SHIT, do you see the milkers on that girl?!? AWOOOOGA!"<</Dialogue>><br><br><</if>><<if $height >= 200>><<Dialogue "randomPerson" "Random guy">>"Uh, is that a literal amazon? She’s, like, huge tall!"<</Dialogue>><br><br><</if>><<if $dick > 1>><<Dialogue "randomPerson" "Random guy">>"Uh… is… is that a bulge in her underwear?"<</Dialogue>><br><br><</if>><<Dialogue "Johan" "Johan">>"Uh, guys… could you… you know, please be a bit more respectful? <<print $playerFirstName>> is my friend… she isn’t used to our… huh… well… hijinks?"<</Dialogue>><br><br>You keep looking at Johan, half-asleep.<br><br><<Dialogue "Johan" "Johan">>"Uh, also, keep it down? It’s pretty late, I guess…"<</Dialogue>><br><br><<Dialogue "randomPerson" "Random guy">>"Hey, Johan, aren’t you gonna introduce us this hottie? Don’t be that guy, share with your bros!"<</Dialogue>><br><br><<if $shyConfident > 1 && $carefreeCarefull < -1 && $submissiveDominant > 1 && ($muscle >= 35 || $height >= 190)>><<Dialogue "player" "You">>"Hey, there. I’m <<print $playerFirstName>>, Johan’s friend, and if you guys don’t shut up right now, I’m going to show you what a natural 20 beating looks like. Thanks. G’night."<</Dialogue>><br><br>You turn around and return to your apartment. You don’t hear another peep.<<elseif $shyConfident > 1 && $carefreeCarefull < -1 && $submissiveDominant > 1>>With your eyes still half-closed, you flip Johan’s friends off, and without saying a word, just turn and return to your apartment. Thankfully, Johan seems to control his friends, and you can sleep peacefully.<<elseif $shyConfident <= 0 && $carefreeCarefull < -1>><<Dialogue "player" "You">>"Hey, guys, nice to meet you. Please, I really do need to get some sleep, so if you could keep it down, I’d really appreciate."<</Dialogue>><br><br>You turn and return to your apartment. Johan manages to turn it down somewhat, but you can still hear them. You just cover your head in your pillow and somehow manage to get some sleep.<<elseif $shyConfident > 1 && $carefreeCarefull < -1>><<Dialogue "player" "You">>"Look, just put a leash on your friends? I’m going back to bed."<</Dialogue>><br><br>You turn and return to your apartment. Johan manages to turn it down somewhat, but you can still hear them. You just cover your head in your pillow and somehow manage to get some sleep.<<else>>You mumble something incomprehensible to Johan, but he gets the gist of it. He shushes his friends aggressively, and they just make fun of him. You go back to your apartment, but they just keep going, rowdy as before. You put some headphones with relaxing music, but you don’t sleep very well.<</if>>'
},
{
name: 'johanPlayerDoorStuck',
locationTags: ['home'],
conditions: [
() => State.variables.muscle >= 80 || State.variables.fat >= 80,
() => State.variables.gameDate.getHours() >= 12
],
repeatable: false,
retriggerable: false,
priority: 'response',
npc: ['johan'],
content: 'Getting back home, you are quite tired after a long day, and you just want to relax. However, in your eagerness to just chill on your sofa, you forget to turn sideways before clearing your front door. And now you find yourself quite stuck.<br><br><<Dialogue "player" "You">>"Uh… Johan? Hello? Anyone else? PLEASE?!?"<</Dialogue>><br><br>You spend a few minutes calling for help. You COULD muscle your way out, but that would most certainly damage the doorframe, and you’d still prefer to have a door you can lock while you are out. You sigh, hoping someone will show up soon or later.<br><br>You keep calling people, and eventually Johan comes down, running.<br><br><<Dialogue "Johan" "Johan">>"<<print $playerFirstName>>! Are you okay?!? What’s wrong?!?"<</Dialogue>><br><br>He spots your back and shoulders, quite squeezed on the door frame.<br><br><<Dialogue "Johan" "Johan">>"Ah, another door crossing malfunction, eh?"<</Dialogue>><br><br><<Dialogue "player" "You">>"Haha, very funny. Can you help me, please?"<</Dialogue>><br><br>Johan quite earnestly tries to push you out of your conundrum, using his shoulder against your wide back. It would be adorable if it wasn’t downright pitiable.<br><br><<Dialogue "player" "You">>"Hey, Johan, I don’t mean to be rude, but if this was a matter of strength, I don’t think I’d need your help. I don’t want to have to replace my door, so I need some way to free myself without shattering the frame."<</Dialogue>><br><br><<Dialogue "Johan" "Johan">>"Hmmmmmm… Oh, wait, I think I got this!"<</Dialogue>><br><br>He runs away, and comes back after a couple of minutes. You can’t see it, but you hear some sloshing.<br><br><<Dialogue "Johan" "Johan">>"Here, I got a bucket of water and some soap!"<</Dialogue>><br><br>Great, can this day get any better?<br><br>Johan prepares the soapy water, and with a sponge he starts getting the frame lubricated. Your clothes absorb some of the water, which isn’t quite helpful, so he tries to get the mixture as sudsy as he can, before he starts just rubbing your shoulders and your arms.<br><br><<Dialogue "Johan" "Johan">>"Geez, <<print $playerFirstName>>, I never realize your muscles were so hard! Can’t you relax a bit? Maybe that would help?"<</Dialogue>><br><br><<Dialogue "player" "You">>"I am fully relaxed. Well, my muscles, for that matter. I am certainly not the happiest camper right now."<</Dialogue>><br><br> <<Dialogue "Johan" "Johan">>"Oh, wow, really? You feel rock-hard. I seriously would not be surprised if these muscles were bulletproof!"<</Dialogue>><br><br>He says, as he rubs your deltoids quite vigorously. You get the distinct impression that, unlike you, he’s having quite a bit of fun. He starts working on your triceps, and you can swear he’s working on some squeezing between rubs.<br><br><<Dialogue "Johan" "Johan">>"No, for real… you look like some of the superheroes in my comic books - you could serve as an alternative to an anatomy chart, really - just look, you can see the definition of each muscle… and your back is all knobbly and stuff."<</Dialogue>><br><br><<if $shyConfident > 1 || $submissiveDominant > 1>><<Dialogue "player" "You">>"Johan, less talking, more scrubbing, please?"<</Dialogue>><br><br><<else>>You sigh. Normally, you enjoy Johan’s banter, but right now, it’s getting a little old.<br><br><</if>>Johan can sense your frustration, and while he IS enjoying this, he starts getting more concerned with the predicament.<br><br><<Dialogue "Johan" "Johan">>"Wait, I got another idea!"<</Dialogue>><br><br>Again, he runs off. This time, you can smell something familiar.<br><br><<Dialogue "Johan" "Johan">>"Here, I have some vaseline! And I called the super!"<</Dialogue>><br><br>Great, this day just keeps getting better and better…<br><br>The two apply the vaseline on the corners of the door, and both start pushing. Eventually, you finally get dislodged, and your powerful legs manage to stop the three of you from falling into the ground.<br><br><<Dialogue "player" "You">>"Thank you very much guys, but I am sure you appreciate the fact I’m too big to take a nice, hot bath in my tub, and I’ll have a very weird shower before I get to chill a little bit… so… tata for now!"<</Dialogue>><br><br>You slam the door before they say anything.'
},
{
name: 'JohanWizardCostume',
locationTags: ['park'],
conditions: [
() => State.variables.johanOpinion >= 20
],
repeatable: false,
retriggerable: false,
priority: 'response',
npc: ['johan'],
content: `The park seems to attract all kinds of people - there are old folks feeding pigeons, lots of joggers, athletes making full use of the basketball courts, couples bringing their kids to the playground, people just taking a calm walk and… what is THAT?!?<br><br> You see a large gathering on a big clearing, wearing full medieval fantasy costumes that range from completely green orcs in furry jackets, to a whole range of full-regalia armor. Everyone seems to be well armed with… foam weapons of every kind? It’s kind of neat, actually, seeing a bunch of long-eared archers, knights, crazy creatures and everything in between.<br><br> You find yourself a nice place to watch, and lean against a shady tree. As the group finishes their preparations, two opposing armies are assembled, and each go to their side of the field. This looks like it could get pretty epic! As the two armies run towards each other, the clash gets more and more heated, with several duels popping up on all corners of the field.<br><br> You notice one of the sides, the one with the darker-clad participants and more non-human creatures, starting to get an advantage. They are clipping through the other side pretty fast, and participants go down and then leave the area. It’s not looking good for the human side… until…<br><br> You see a blue-robed figure with a long beard take center stage, walking with a slow but determined pace. Suddenly, he raises his staff and starts chanting something - the whole team gets another wind, and their redoubled efforts seem to change the tide of the battle. Now the creature side is losing their momentum and taking heavy losses. In a matter of minutes, the dispute is settled, with the light side victorious. Everyone cheers the robed wizard with the beard. Wait a second… is that…?<br><br> <<Dialogue "player" "You">>"Johan?"<</Dialogue>><br><br> You give him a wave, and he quickly spots you, running toward your tree… and stumbling over his long robes. He gets up, removes some dirt from the clothes, and reaches you.<br><br> <<Dialogue "Johan" "Johan">>"Hey, <<print $playerFirstName>>, fancy meeting you here."<</Dialogue>><br><br> <<Dialogue "player" "You">>"I suppose I should be the one saying that… milord? Sir? Not sure how to address you in…"<</Dialogue>><br><br> You wave towards his elaborate costume. It’s actually even more impressive up close, with detailed embroidery, a very convincing beard, and a detailed wooden staff made of foam.<br><br> <<Dialogue "Johan" "Johan">>"That’s JO-HAN the Magnificent for you, milady!"<</Dialogue>><br><br> He bows, and you do a curtsy in return, letting a small laugh out in the process.<br><br> <<Dialogue "Johan" "Johan">>"Well, actually, we still have one more combat today… maybe you’d like to join? I can run you through the basics, and the wardrobe team should have something for you! Come on, it will be fun!"<</Dialogue>><br><br> Whoa, this escalated quickly. On one hand, it DID look quite fun but… on the other hand… it IS wearing a bunch of fantasy costumes in a VERY public park…<br><br> <span id="choice"> <<link "Uh, I think spectator is more my speed, but thanks for the invite.">> <<replace "#choice">> You look at the assortment of weirdos in varied costumes and realize that this is not quite your beat. I mean, it DOES look fun, but you are very aware that you would just be awkward there, as role-playing is still somewhat mystifying to you.<br><br> <<Dialogue "player" "You">>"Oh, thanks for the invite, but I think I’ll pass. I’ll watch, though, and cheer for you!"<</Dialogue>><br><br> <<Dialogue "Johan" "Johan">>"JO-HAN the Magnificent needs no cheering, for he is all powerful!"<</Dialogue>><br><br> Only Johan could possibly proclaim that and sound cute instead of pretentious. You bow in respect, and he makes a very serious face as he gets back in character in order to return to the field.<br><br> You spend the next few minutes watching another bout, but this time things don’t go so well for Johan’s team. Still, you cheer excitedly from beginning to end, and help Johan lick his wounds as you two go back to your building. <<link "Continue" $currentScene>><</link>> <</replace>> <</link>> <<PersonalityCheck $shyConfident >= 2 "Yeah, that sounds hella fun, count me in!">> <<replace "#choice">> You could use a little fun and exercise, and this opportunity looks like it could lead to both! You agree, and let Johan escort you to the wardrobe tent at the end of the field.<br><br> You are immediately surprised with the elaborate setup they have, with a small team entirely dedicated to furnishing people. Some of the players are changing into different roles, and undressing right there and then. Wow! You start looking around at all the options, as a short guy who is running the operation approaches you, and with a quick glance, proclaims he has the PERFECT outfit for you. You wait with baited breath, as he goes and collects all the items for you.<br><br> <<if $muscle >=65>> He brings back a furry pelt and the green paint, along with a GIANT club. Looks like you get to be a big orc. I mean, I suppose you should’ve seen this one coming. You wear the costume proudly, and take the time to properly paint your exposed body parts a very mossy shade of green, impressing yourself with how big and firm your muscles are as you spread the paint. It dawns on you that, being an orc, means you won’t be on Johan’s team.<br><br> You get a very quick tutorial about how this works, and before you know it, there’s some master of ceremonies tooting a horn… and everyone around you starts running to the middle of the field! Fuck! You follow them, getting ready to improvise as you go along.<br><br> Damn, this is kind of weird, but you are almost buying into the role-play here, as you just swing your club and send everyone in your path flying - literally. They must be pretending, right? There’s no way you are strong enough to just be tossing people a few <<if $measurementSystem == 'metric'>>meters<<else>>yards<</if>> away, and you are not even really trying that hard. Still, these people must have some serious stunt experience!<br><br> As you go clearing your path, you spot Johan, apparently being targeted because of the way he turned the tides on the last match. Almost everyone is crowding on top of him, and they are coming in aggressively and violently. Something snaps on your head - you forget that he is the enemy, and you just start running towards him, tackling everyone - friend or foe - that stands between you and him.<br><br> As you arrive into the big mess, you just come to a screeching stop, and use your momentum to hit your club against the ground. You can feel earth shaking, and so do the others, as they turn to you and freeze. Still not quite back to your senses, you just find yourself angrily tossing everyone away from Johan as if they were ants, and by the time you are done, you are the last two standing there.<br><br> However, as you look at Johan’s terrified visage, you realize that you are, in fact, his foe. Before you can make any sense of the situation, he silently kneels, and raises his staff horizontally towards you with both hands in an offering. Oh no, did you just screw this whole thing up?!? You feel pretty bad as you turn around, and see everyone still sort of recovering across the entire field - maybe they WEREN’T pretending after all? You left a veritable trail of devastation… you turn around, and just hug Johan, lifting him clear off the ground as you apologize for your stupid LARP faux-pas.<br><br> But then, you are surprised by something else… EVERYONE starts cheering wildly. What?<br><br> <<Dialogue "Johan" "Johan">>"THAT… WAS… EPIC!!!"<</Dialogue>><br><br> You see some of the people who were filming with their phones going nuts - apparently, you are already trending online on social media, and everyone is amazed - if a bit shaken - with your performance. People are describing this as the LARP of the year, no, the decade, NAY, THE CENTURY!<br><br> The crowd invites you over for some mead and celebration, but you realize you are still a bit in shock yourself, and it won’t be easy getting rid of all this green paint, so you say your goodbyes.<br><br> <<elseif $muscle >=45>> He comes back with a skimpy metal armor and a big sword - I guess it’s time for barbarian <<print $playerFirstName>>, huh? Well, at least it’s quick to change, and it REALLY puts your muscles on display.<br><br> You get a very quick tutorial about how this works, and before you know it, there’s some master of ceremonies tooting a horn… and everyone around you starts running to the middle of the field! Fuck! You follow them, getting ready to improvise as you go along.<br><br> You carry your sword proudly… and frankly, that seems to be enough. Your figure is so imposing that most foes just cower as you poke them with your foam sword, quickly dispatching everyone in your way. You spot Johan, who after becoming MVP of the last match seems to be the target of many enemies - but not on your watch! You rush to his defense, and beautifully executes a true ballet of a swordfight, plowing through the enemies with shock and awe.<br><br> <<Dialogue "player" "You">>"I’ll escort you, let’s go take down that general!"<</Dialogue>><br><br> Johan is so stunned (either by your amazing display or sword mastery or your incredible muscular physique, you are not sure which one) that he just follows in silence. No matter - you proceed to clear a path straight into the enemy base, finding their orc general - it’s a big guy, and he DOES look quite intimidating, as he flips his axe around like a veritable martial arts master!<br><br> You are frozen for a second, having found your match… but neither of you were ready for what happened next: Johan points his staff at you, and shouts:<br><br> <<Dialogue "Johan" "JO-HAN, The Magnificent">>"RIGHTEOUS MIGHT!!!"<</Dialogue>><br><br> You are still frozen and confused, but Johan whispers:<br><br> <<Dialogue "Johan" "Johan">>"It doubles your height and multiplies your weight by 8 - increasing your Strength +4 and Constitution +2!"<</Dialogue>><br><br> You look at the orc general with an evil smile, and you flex every muscle in your body! Your opponent freezes and you see terror in his eyes as you feel yourself growing, every muscle tigheting and become bigger and denser! You could almost swear that the ground looks just a little farther away than before as you pull an inclined epic double-biceps pose, holding your sword aloft in the air. The general’s legs are now visibly shaking, as you strike him - he manages to defend with his enormous axe, but it just breaks in half and you hit him in the forehead!<br><br> The poor guy falls to the ground, and you immediately drop your foam sword in shock, going to check on him. He’s a bit shaken, but he guarantees he’s alright… you help him up, and the entire crowd goes wild! You proceed to give them a little show of your muscles, and everyone cheers even louder. You pick Johan up, and set him on your shoulder, thanking him for the boost. Weirdly, he feels absurdly light, almost as if the spell had worked for real. Ha, you wish!<br><br> You join the others for some merriment, and combat stories are traded among the participants. If you knew LARPing was this much fun, you’d have joined the group a long time ago!<br><br> <<elseif $muscle >=30 && $height >=175>> He brings you a sleek elf ranger costume, complete with a big compound bow and quiver. Nice! You are impressed with how snug it is, making you seem even taller - but also putting all your curves on display. You suspect you might be a little distracting among other LARPers, as you head for the battlefield.<br><br> You get a very quick tutorial about how this works, and before you know it, there’s some master of ceremonies tooting a horn… and everyone around you starts running to the middle of the field! Fuck! You follow them, getting ready to improvise as you go along.<br><br> You don’t know what this costume is doing to your brain, but you almost feel like you have superhuman reflexes and speed. You run across the field, grabbing your bow and just mowing through all opponents almost like you had been doing this for centuries. Your strong legs and arms allow you to zip among the combatants with speed and ease, and pack quite a wallop with your bowstring. Hell, if you knew this was so fun, you’d be LARPing years ago!<br><br> You spot Johan in a bit of a bind, though, as he’s being surrounded by a slew of opponents. Not on your watch, though! You rush to his defense, executing a sliding approach, and you just machine gun an entire side of baddies with 5 perfectly - which stuns the others enough to allow Johan to dispatch the remaining forces with relative ease. Now unencumbered by insurmountable odds, he nods silently and the two of you know exactly what to do - you march on towards the enemy commander.<br><br> The two of you come in like a force of nature, in perfect sync mowing all obstacles that stand between you and the main event. As you see the enormous orc general, you look at a tall tree, and at Johan, and with another nod, it’s like you just had a telepathic conversation. You rush towards the tree, climbing it like it was nothing. Standing on a high branch, you dispatch the defense, while Johan prepares his ultimate spell!<br><br> Amazingly, everything goes as planned, and the two of you claim the battle, and the whole team comes to cheer. Without even thinking, you jump from the tall branch as if you really WERE an elf, and have a slight moment of panic as you realize that gravity very much applies to you still. But you land with a loud THUD! The ground shakes… but you just executed a perfect superhero landing without even realizing! The crowd goes wild, and everyone just grabs and starts carrying the two of you, tossing their two heroes up to the skies to celebrate.<br><br> After things calm down a bit, you look at Johan, who seems exceedingly proud of the shared accomplishment. Once again, a nod is all it takes for the two of you to know exactly what the other is thinking. This moment will live on in legends!<br><br> <<elseif $height <= 155>> He comes with a fairly nondescript peasant costume, and you realize that it lacks shoes - did he really just hand you a halfling costume? COME ON, you are NOT that short! You begrudgingly don the outfit, and prepare for battle.<br><br> You get a very quick tutorial about how this works, and before you know it, there’s some master of ceremonies tooting a horn… and everyone around you starts running to the middle of the field! Fuck! You follow them, getting ready to improvise as you go along.<br><br> Your toy sword feels about as demeaning as your costume, and you just sort of wing it on the battlefield. On the bright side, no one really cares about taking you on. On the other hand, you really don’t feel like much of an opportunity to do anything worth notice. You kinda just coast through the battle, watching it from inside. Once you spot Johan, though, you decide to come in for support!<br><br> Johan… errr… JO-HAN, the Magnificent, seems to be a pretty balanced character, alternating between support of others and tackling some minor foes. You help take some of the heat off of him, when he spots the commander of your team get surrounded.<br><br> <<Dialogue "Johan" "JO-HAN, The Magnificent">>"We must assist our leader! Mayhaps thou could gather some allies while I run to support him! Hark, those berserkers!"<</Dialogue>><br><br> It takes a second for you to process ye oldeth English, but once you figure it out, the plan is simple enough. You go enlist the berserkers, and run to Johan and the commander. The heat is on, and a lot of the bigger creatures are gathering around them. You watch as Johan systematically dispatches the weaker foes, and you try to run interference to give the commander some extra time to tackle the bigger threats.<br><br> Then, Johan, or rather, JO-HAN, the Magnificent, unleashes his powerful blinding spell at the perfect moment, giving your team the opportunity to flip the situation completely! With this battalion dispatched, the remaining forces run towards the enemy commander. But you get so excited that a sneaky Tiefling ends up getting the jump on you with a mortal blow.<br><br> <<Dialogue "Johan" "JO-HAN, The Magnificent">>"NOOOOOOOOO!!!!"<</Dialogue>><br><br> Johan… or rather, JO-HAN, the Magnificent, comes to your side, holding your pretend-lifeless corpse, almost in tears. You whsiper:<br><br> <<Dialogue "player" "You">>"Uh, Johan? I’m a goner, go help the team, you wanna be there for the exciting climax, right?"<</Dialogue>><br><br> <<Dialogue "Johan" "JO-HAN, The Magnificent">>"What wretched journey, for one does not beget their destiny from such follies. Must the innocent be the first to fall? NO, I say!"<</Dialogue>><br><br> <<Dialogue "player" "You">>"What are you doing?!?"<</Dialogue>><br><br> <<Dialogue "Johan" "JO-HAN, The Magnificent">>"To die, perchance, to dream… these foibles betray my determination, as I cannot leave my most dear companion behind, even if the world may fall!"<</Dialogue>><br><br> You open an eye, looking at Johan’s face… he seems to 100% mean every word, with sincere melancholy on his face… you feel a tear welling up on your eye…<br><br> And then the MC toots the horn, to announce the victory of your side, and Johan drops you back on the ground to celebrate. You hit your head, not enough to hurt, but it’s a bit of a shock. You can’t help but giggle as you see Johan running to join in the festivities of your other teammates.<br><br> Ah, never change, Johan. Never change.<br><br> <<else>> You get a simple generic rogue costume… not much to write home about, and you wonder if you should feel offended by it. Still, beggars can’t be choosers, so you change and get ready for the show.<br><br> You get a very quick tutorial about how this works, and before you know it, there’s some master of ceremonies tooting a horn… and everyone around you starts running to the middle of the field! Fuck! You follow them, getting ready to improvise as you go along.<br><br> Using your pitiful foam dagger, you run around sneakily trying to backstab people who are in the middle of other duels. It works fairly well, as you aren’t really calling much attention. You finally spot Johan… errr… JO-HAN, the Magnificent. He seems embroiled in a battle against three goblins, and it isn’t looking good. You run there as fast as you can, and immediately dispatch one of them with a backstab. YES! Now the odds are evened, and each one of you have your own goblin to tackle. JO-HAN has no trouble with his, but you sweat a bit trying to defend yourself from his mace with just the dagger.<br><br> You manage to execute a beautiful rolling tumble as he strikes you, just barely missing his mace as you land behind him, and stab him from behind! He falls to the ground, and you get up and go hug Johan in the excitement of the moment…<br><br> Which turns out to be a pretty stupid mistake, as it leads an incoming necromancer to get both of you in your distraction. Oh, well… at least the time you spent playing was more fun than you expected. You accompany Johan out of the battlefield, and watch the rest of the fight as a spectator. Johan seems even more pumped, shouting more than you expected from the relatively shy guy. All in all, it’s a lot of fun, and you don’t even care which side wins in the end. <</if>> And with the battle done, you change back into your street clothes, and return home. You have a suspicion you won’t be forgetting this day anytime soon. <<link "Continue" $currentScene>><</link>> <</replace>> <<Failed>> <<replace "#choice">> <<Dialogue "player" "You">>"That sounds cool, let’s do this!"<</Dialogue>><br><br> Johan escorts you to their little wardrobe tent, which has a small team helping people get properly dressed. But as you slip in, you see several people in their underwear, changing, and putting absurdly ridiculous costumes. As if undressing so publicly wasn’t enough to make you uncomfortable, your brain is quickly infested by an assortment of images of people pointing and laughing at you in costume, and your temperature drops immediately with a panic attack.<br><br> <<Dialogue "player" "You">>"Uh, you know what, I just remembered, I double-parked my unicorn, I really need to get going before I get a ticket…"<</Dialogue>><br><br> And with dizzying speed, you skedaddle from the LARPing event, leaving a very confused Johan… I mean JO-HAN THE MAGNIFICENT, behind. <<link "Continue" $currentScene>><</link>> <</replace>> <</PersonalityCheck>> </span>`
},{
name: 'JohanTongueStuckHelp',
locationTags: ['home'],
conditions: [
() => State.variables.tongueLenght >= 1,
() => State.variables.johanOpinion >= 20
],
repeatable: false,
retriggerable: false,
priority: 'response',
npc: ['johan'],
content: `It’s so hot today, you decide to have that bottle of imported melon soda you’ve been saving for a special occasion. You crack the bottle open, and thirstily drink its contents in instants.<br><br> That REALLY hits the spot. But there’s still some delicious drops inside the bottle… you remember that your tongue has gotten pretty long, and a lightbulb flashes over your head! You bring the bottle to your lips, and proceed to clean its interior with your snake-like appendage.<br><br> Aaaaaaah, you delight in every drop you salvage from the container, sighing happily… that is, until you come to the realization that you can’t quite pull your tongue out - it’s completely stuck to the bottle! Fuck!<br><br> You panic! Can you break the bottle open? No, you’d probably get shards of glass all over your tongue - and that would hurt! You pull the bottle away, but it just slips from your hands and hurts your tongue with the motion. You try pouring some water to make it more slippery… but that just results in a heavier bottle. You turn it upside down to let the liquid out, but all you accomplish is getting your face wet.<br><br> OK, this is getting out of hand. You need a better brain on the job - someone who is used with handling fragile things and good coordination from assembling tiny stuff… Yup, it’s Johan time!<br><br> Knocking furiously at the door, you wait longer than usual for an answer. You hear a muffled cry, and a minute later Johan comes out in a rush, still dripping wet with a towel on his waist.<br><br> <<Dialogue "Johan" "Johan">>"Sorry, I was in the shower… are you OK, <<print $playerFirstName>>?"<</Dialogue>><br><br> <<Dialogue "player" "You">>"MMMMMMMMHHHHMMM RMMMMLMMMMMM NNHMMMMLLMNNNN!!!"<</Dialogue>><br><br> <<Dialogue "Johan" "Johan">>"WHAT?!?"<</Dialogue>><br><br> You frustratedly point towards your tongue and its attached vessel. Johan, not having his glasses on, squints… until he notices what is going on. He grabs his glasses, and confirms his suspicions.<br><br> <<Dialogue "Johan" "Johan">>"Let me get this straight - you got your tongue stuck to this bottle… and you want help getting it off?"<</Dialogue>><br><br> <<Dialogue "player" "You">>"YETHHH!!!"<</Dialogue>><br><br> A still semi-naked Johan scratches his chin as he observes the bottle and your tongue.<br><br> <<Dialogue "Johan" "Johan">>"May I… huh… touch it? Your tongue, I mean?"<</Dialogue>><br><br> You nod in agreement. He grabs the bottle gently, and pinches your tongue tentatively with the clinical cold analysis of a doctor. He lets out a long “Hmmmmmmmm…” as he studies the situation and rubs his finger against your tongue, trying to get a better understanding of its texture, firmness and whatever else he’s trying to calculate.<br><br> <<Dialogue "Johan" "Johan">>"I will assume you already tried relaxing your tongue and pulling?"<</Dialogue>><br><br> Again, you nod, this time more nervously and frustrated.<br><br> <<Dialogue "Johan" "Johan">>"And breaking the glass seems like an idea. I do have a cutter, but I could only safely do it below the neck, which wouldn’t be much help other than making it a little less cumbersome. I think we’ll have to rely on the old lubrication route, I’m afraid."<</Dialogue>><br><br> You sigh, as he goes to the kitchen and comes back with a stick of butter.<br><br> <<Dialogue "Johan" "Johan">>"On the bright side, this is pretty tasty butter. But I suppose just licking it plain can be a little… I dunno… but you are about to find out, I guess!"<</Dialogue>><br><br> You sit down, and Johan starts buttering up your tongue along the opening. The heat from your body melts the butter, which coats the inside of the bottle. Satisfied with the lubrication, Johan asks for permission to pull. You stead yourself with your hands on the chair, leaning your back away from him as he pulls…<br><br> Ouch, this hurts a bit… but you can feel it slipping…<br><br> Johan pulls harder and harder, and the pain intensifies. You close your eyes, trying to relax your tongue as much as you can…<br><br> Until Johan pulls the bottle off with a loud “POP!”, and tumbles backwards onto the ground, bottle in hand… and towel off his waist.<br><br> It takes a moment for him to recover from the scare. He shakes his head, and celebrates raising the bottle… until he realizes that he is stark naked! He covers his crotch with the bottle, and blushes a deep, dark tone of red. With your tongue now free, you retract it back, still a bit sore, and laugh at Johan.<br><br> <<Dialogue "Johan" "Johan">>"Ahhhh! OOPS!!!"<</Dialogue>><br><br> He grabs the towel and covers himself, before running back to his room to change. You keep moving your tense jaw, still bothered by having to keep it open so long… and decide to give Johan some privacy as you return to your room…<br><br> Though you can’t quite forget what you saw there for a moment. He left very little to the imagination… and frankly… you are left pretty impressed. Good for you, Johan.`
})>><<set setup.events.push(
{
name: 'JohanMuscle30',
locationTags: ['johan'],
conditions: [
() => State.variables.johanLastMuscle + 30 <= State.variables.muscle
],
repeatable: false,
retriggerable: false,
priority: 'immediate',
npc: ["johan"],
content: 'Johan opens the door, barely getting a single look at your body before his eyes go wide. From your shoulders to your feet his eyes wander, not believing what he is seeing. His hands almost drift forward, wanting to see if it’s real, but he stops himself. It was seconds later when he finally stopped staring, and spoke in a weak whimper.<br><br><<Dialogue "Johan" "Johan">> W-What?! You\'re gigantic, how did this happen!?<</Dialogue>><br><<Dialogue "player" "You">> Hmmm? What do you mean?<</Dialogue>><br>Playfully you pretend to not notice, but this only stuns him more.<br><br><<Dialogue "Johan" "Johan">> WHAT DO YOU MEAN?! Look at you, you\'re gigantic! Those arms, those legs, you\'re huge! Have you been doing steroids or secret experiments or whatever?!<</Dialogue>><br><span id="choice"><<link " Just hard work">><<replace "#choice">><br><br><<Dialogue "player" "You">> What, never seen a girl work out before? I\'ve just been hitting the gym!<</Dialogue>><br><<Dialogue "Johan" "Johan">> What?! Nobody gets big THIS fast!<</Dialogue>><br><<Dialogue "player" "You">> I mean, I do, clearly! But do you like it?<</Dialogue>><br>The blush on his cheek tells you enough; clearly, he did.<br><br><<Dialogue "Johan" "Johan">> I-I mean you always looked good-I MEAN, YOU LOOK BIG NOW BUT... I mean... H-How..."<</Dialogue>><br><<Dialogue "player" "You">> Hehe, glad you like it! Now, see you later, I got to hit the gym for a bit, hehe!<</Dialogue>><br>Softly giggling, you leave him there, stunned. And as you waved goodbye, you couldn\'t help but flex those triceps a bit, showing them off.<br><br><<link "Go home" "Home">><</link>><</replace>><</link>><br><br><<link " It’s a secret!">><<replace "#choice">><br><br><<Dialogue "player" "You">> hehe, why should I tell?<</Dialogue>><br>Playfully, you flex a bit, your biceps shooting up. In awe, he stares at them, not believing his eyes. A few times he tries to speak, but he is too stunned.<br><br><<Dialogue "player" "You">> I see you like them. Anyway, I got to go! Have fun today, I think I might head to the gym again!<</Dialogue>><br>With mouth still hanging open, he watched you leave, not quite sure what just happened.<br><br><<link "Go home" "Home">><</link>><</replace>><</link>><br><br><<PersonalityCheck $shyConfident >= 1 " Mind your own business!">><<replace "#choice">><br><br><<Dialogue "player" "You">> Hehe, none of your business!<</Dialogue>><br><<Dialogue "Johan" "Johan">> B-But you\'re gigantic!<</Dialogue>><br><<Dialogue "player" "You">> You\'re right there! So, what do you think?<</Dialogue>><br>Giving him a double biceps pose, his eyes bulge from his head.<br><br><<Dialogue "Johan" "Johan">> I-I mean you always looked good-I MEAN, YOU LOOK BIG NOW BUT... I mean... H-How..."<</Dialogue>><br><<Dialogue "player" "You">> hehe, glad you like it! Now, see you later, I got to hit the gym for a bit!<</Dialogue>><br>Softly giggling, you leave him there, stunned. And as you waved goodbye you can\'t help but flex those triceps a bit, showing them off.<br><br><<link "Go home" "Home">><</link>><</replace>><<Failed>><<replace "#choice">><br><br><<Dialogue "player" "You">> U-uh it\'s none of your... you know.. I\'d rather keep it private.<</Dialogue>><br><<Dialogue "Johan" "Johan">> B-But you\'re gigantic! Aren\'t you worried?! People usually don\'t grow this fast!<</Dialogue>><br><<Dialogue "player" "You">> L-listen, I know but... let\'s not make a big deal of this, okay? I just... I\'m going through some... things.<</Dialogue>><br>Awkwardly, you scratch your neck, the huge muscles in your arm tensing and bulging.<br><br><<Dialogue "Johan" "Johan">> "Y-yes, but you REALLY should visit a doctor about this, this is just... a LOT more than most people can grow in this time!"<</Dialogue>><br>This was not what you expected; he seems really worried...<br><br><<Dialogue "player" "You">>"L-listen, I\'m fine, truly! I just... can\'t tell you right now, okay? I need to figure some things out first myself..." <</Dialogue>><br>With that, you run off. That could\'ve gone better...<br><br><<link "Go home" "Home">><</link>><</replace>><</PersonalityCheck>><br><<PersonalityCheck $carefreeCarefull <= -2 "I took a magic growth potion.">><<replace "#choice">><br><br><<Dialogue "player" "You">> "Oh, I found some kind of weird drink in my apartment, and I think because of it I just keep growing bigger."<</Dialogue>><br>Johan blinks at you, not sure whether to laugh or be worried.<br><<Dialogue "Johan" "Johan">> "A... weird drink... thank makes you more muscular? What? That makes no sense, people don\'t just get bigger!"<</Dialogue>><br><<Dialogue "player" "You">> "Dunno, I think I got pretty big, way faster than normal."<</Dialogue>><br>You give him a quick flex and a wink, making Johan blush cutely. He seems to likes it!<br><br><<Dialogue "Johan" "Johan">> "Aren\'t you afraid it’s... you know, dangerous or bad for you...?"<</Dialogue>><br><<Dialogue "player" "You">> "Maybe? I don\'t know, okay, I just want to enjoy it while it lasts! Gotta go, but I\'ll keep you updated!"<</Dialogue>><br>Softly giggling, you leave him there, stunned. And as you waved goodbye, you can\'t help but flex those triceps a bit, showing them off. And as you leave, you can\'t help but notice Johan getting a bit more red around the face.<br><br><<link "Go home" "Home">><</link>><</replace>><<Failed>><<replace "#choice">><br><br> You try to come up with something to tell him; that you drank a science experiment and suddenly started growing?! What would he think?!? He\'d call the hospital, doctors, the military! You want to tell him, but are simply too worried about the results. <br><<Dialogue "player" "You">> "W-Well I found... I got... Uhm... I GOTTA GO!"<</Dialogue>><br>With that, you dash off, words still stuck in your throat.<br><<link "Go home" "Home">><</link>><</replace>><</PersonalityCheck>></span>'
},
{
name: 'JohanMuscle20',
locationTags: ['johan'],
conditions: [
() => State.variables.johanLastMuscle + 20 <= State.variables.muscle,
() => !State.variables.outfit.bonuses().map(bonus => bonus.name).includes('Baggy')
],
repeatable: false,
retriggerable: false,
priority: 'immediate',
npc: ["johan"],
content: `Having nothing better to do, you head over to Johan’s apartment. You find the door standing ajar, curtains closed and lights dimmed. With curiosity taking the better of you, you decide to step in silently, as you hear a very weird roar coming from where you can see a glow.<br><br> You find Johan sitting cross-legged on his sofa, watching a black and white movie of a giant lizard destroying a city full of buildings. He is stuffing his face with popcorn, completely enraptured by the old flick. You start getting some mischievous ideas, and approach the sofa from behind with a grin.<br><br> <<if $carefreeCarefull < -1 && $muscle >= 60>>You carefully kneel behind the sofa, and put your forearms under it carefully. You wait until the monster starts growling and, in a fluid motion, lift the sofa, Johan, popcorn and all, as you attempt a very bad imitation of the monster’s roar. Johan goes white in the face as his glasses fall to the ground, grabbing hard against the sofa before you put the whole thing down with a laugh. <<elseif $carefreeCarefull < -1 && $height >= 165>>You wait until a scary part of the movie, then suddenly insert your arms under Johan’s armpits from behind, giving him a bear hug as you lift him off the sofa. He lets out a scared yelp and tries to shake free, to little avail, as his glasses fall down to the ground.<br><br> <<Dialogue "player" "You">>"Hey, chill! It’s just moi!"<</Dialogue>><br><br> You gently put him down by your side with a giggle. <<elseif $carefreeCarefull < -1>>You wait until a scary part of the movie, then suddenly wrap your arms around Johan, giving him a tight bear hug. He lets out a scared yelp and tries to shake free, to little avail, as his glasses fall down to the ground.<br><br> <<Dialogue "player" "You">>"Hey, chill! It’s just moi!"<</Dialogue>><br><br> You let go of him with a laugh. <<else>>You perform an athletic jump over the sofa, falling on the spot next to him. Startled, he gives a jump and drops the popcorn while his glasses fall to the ground.<br><br> <</if>> <<Dialogue "Johan" "Johan">>"My glasses! I can’t see anything!"<</Dialogue>><br><br> He waves his arms confusedly ahead of him, trying to feel for his viewing implements. You go turn on the lights as he continues kneeling and blindly unable to find the glasses.<br><br> <<Dialogue "player" "You">>"Hey, It’s okay, let me look for them."<</Dialogue>><br><br> You say as you offer a hand to help him up. He grabs your forearm, and is visibly shaken. He gives it a very firm squeeze, his fingers having trouble completely encompassing the meaty appendage.<br><br> <<Dialogue "Johan" "Johan">>"<<print $playerFirstName>>? Did… did you bring your boyfriend… or your pet bear with you?"<</Dialogue>><br><br> You let out a hearty laugh, as you grab and return his glasses to him. As he puts them on, he looks at you in shock, scanning your whole body top to bottom a few times.<br><br> <<Dialogue "Johan" "Johan">>"<<print $playerFirstName>>? Is that you? You look… uh… bigger…"<</Dialogue>><br><br> <<if $shyConfident >= 1 || $carefreeCarefull < -1>>You roll your eyes with fake innocence, and put a finger on your lower lip with a pout as you bring up your other arm in a very impressive flex. <<Dialogue "player" "You">>"Oh, you are talking about these?"<</Dialogue>><br><br> You raise your other arm for a double biceps flex, still feigning childish innocence.<br><br> <<Dialogue "player" "You">>"I guess I have been working out some. Did you notice?"<</Dialogue>><br><br> <<elseif $shyConfident > 1>> <<Dialogue "player" "You">>"Oh, these?"<</Dialogue>><br><br> You give Johan a show of your flexed biceps, giving them a pat with your other hand.<br><br> <<Dialogue "player" "You">>"I’ve been working out lately, and I guess I’m getting pretty strong."<</Dialogue>><br><br> <<elseif $shyConfident < 0>><<Dialogue "player" "You">>"Sorry, I just couldn’t resist."<</Dialogue>><br><br> You apologize while you blush at his comment, putting your arms behind your back.<br><br> <</if>> <<Dialogue "Johan" "Johan">>"Are you kidding me? You look like you could destroy Tokyo by yourself! Just how strong are you?"<</Dialogue>><br><br> <<Dialogue "player" "You">>"Oh, I’d say plenty. Here, wanna feel?"<</Dialogue>><br><br> You offer your flexed biceps to him. Hesitantly, Johan brings his fingers and pokes at the mound that just sprouted on your upper arm. His mouth is agape as the prods it, <<if $fat >= 35>>the velvety skin giving in briefly as he hits the big sinewy mass under it, hard as rubber.<<else>>your hard-as-steel sinew at full display, its incredible definition allowing him to see each muscle as if looking at an anatomy chart. <</if>> After some tentative poking, Johan wraps his hand around as much of your arm as his fingers allow, giving a small squeeze, completely dumbstruck.<br><br> <<Dialogue "player" "You">>"Come on, Johan, you can do better than that!"<</Dialogue>><br><br> Johan squeezes as hard as he can, his fingertips losing a bit of color as he does - you can barely feel any pressure. <<if $carefreeCarefull < -1>>You grit your teeth and find it in yourself to flex a bit harder, giving your arm an extra pump and forcing Johan’s hand to open a bit wider, smiling proudly at him as you see the color draining from his face as well.<</if>><br><br> Johan gulps audibly. <<Dialogue "Johan" "Johan">>"But… for real… how strong are you? D-did you test your strength?"<</Dialogue>><br><br> You watch as his mind seems to start reeling a bit.<br><br> <<Dialogue "player" "You">>"I mean, I’ve been hitting the weights some, but I’m not sure what you mean."<</Dialogue>><br><br> <<Dialogue "Johan" "Johan">>"Oh, you know. Superheroes have all kinds of power levels. You’d be surprised how much time I spent discussing that on message boards about who is stronger than who, and if they can do this or that."<</Dialogue>><br><br> You really doubt you’d be as surprised as he thinks if you actually found out how much time he spends doing that. In fact, you wouldn’t be surprised at all if he told you he does that every night for hours.<br><br> <<Dialogue "player" "You">>"Well, I dunno, when heroes get their powers, sometimes they will do all kinds of tests, like lifting heavy furniture, crushing or bending something… or, you know, the true-and-tried stuff, like doing hard exercises like pull-ups and stuff."<</Dialogue>><br><br> <span id="choice"> <<PersonalityCheck $shyConfident >= 2 "Crushing and bending? That sounds like fun.">> <<replace "#choice">> <<Dialogue "player" "You">>"What, are you going to pull a steel bars from your magic hat?"<</Dialogue>><br><br> <<Dialogue "Johan" "Johan">>"ACTUALLY…"<</Dialogue>><br><br> He runs off without an explanation, making a beeline to the closet. You hear some loud clanging. After a bit, he walks out… well… walking is a bit of an overstatement. He is moving sideways slowly like a crab, with his knees bent, cradling a girthy steel rebar taller than himself.<br><br> As he approaches, you look quizzically before asking:<br><br> <<Dialogue "player" "You">>"Why the hell do you have a steel rebar?"<</Dialogue>><br><br> He drops the heavy piece to the ground with a loud clang, catching his breath before answering. <<Dialogue "Johan" "Johan">>"Well, I wanted to do this gray wizard cosplay, and all the sticks I found around campus sucked. So I figured I could cover and paint something more solid, and asked my uncle who works in construction for a favor. I seriously think he gave me this as a practical joke, though."<</Dialogue>><br><br> <<if $muscle >= 90 && $shyConfident > 2>> With no hesitation, you reach for the bar, lifting it one handedly with ease. Johan’s eyes widen as you smirk at him, putting your second hand on the other edge of the bar, never breaking eye contact with him.<br><br> You start applying force on the rebar, your smirk growing as much as the muscles on your back, arms and chest. You can swear you hear Johan’s heartbeats accelerating as his jaw drops. Your silhouette seems to dwarf him even more as the rebar slowly bends 10… 20 degrees… your smile becomes more confident as you pass the 45 degree mark, making all the way to 90, but still going.<br><br> Johan has stopped breathing, but you are not quite done yet. You keep bending as your hands approach each other, the effort becoming harder and harder. But you are not about to give up. You make that extra little effort and contort the bar so both ends are slightly past each other, creating a loop. You give Johan a wink, before placing the rebar around his neck playfully.<br><br> Except you kinda forgot he wasn’t quite as capable as you, and he almost falls to the ground as you grab it back before he hurts himself, holding him by the arm with your other hand. <<Dialogue "player" "You">>"Sorry, I guess I really don’t know my own strength after all…"<</Dialogue>><br><br> Johan is quite impressed with your display of strength, but indecisive whether he wants to question you further about your capabilities… or how to display the little memento you just created for him. He starts, unsurprisingly, going off on all the scenes in which superheroes did that in pop culture, and you watch him excitedly talk about special effects and classic comics… his adorkable charm is surprisingly cute. After a while you realize he doesn’t seem to be getting any closer to a point, and decide to return to your apartment before he comes up with a superhero name and uniform for you. <<elseif $muscle >= 90>> <<Dialogue "player" "You">>"Well, nothing ventured, nothing gained, I guess…"<</Dialogue>><br><br> You grab the bar tentatively, downright surprised at how light it feels. You manage to lift it single-handedly, and try to position yourself so to ease the attempt: holding both ends so you can really engage your back and chest in the attempt.<br><br> You take a deep breath and put all your might in the metal bar with your arms. Both of you are taken aback as the piece starts bending, little by little. Johan starts cheering on you, and you just keep going until you looped it completely.<br><br> <<Dialogue "player" "You">>"Wow… I guess I might just have to start looking at superhero job offers online… or maybe construction."<</Dialogue>><br><br> As you look at Johan, he is giddily jumping from one foot to another, with a big smile and bright eyes. He seems pretty excited about the rebar, citing all instances of popular media in which the character did just that, and how he can use that as prop… apparently having forgotten how hard it was for him to carry it.<br><br> He seems lost in thought as he apparently wonders what exactly he will do with his little memento. As he keeps mumbling to himself, you figure your job is done and it’s time to go home, feeling pretty proud of your accomplishment. <<elseif $muscle >= 55>> You look at the piece of metal taunting you on the floor. It’s almost hypnotizing as you get a mental image of yourself in a superhero suit, the bar malleable in your hands. <<Dialogue "player" "You">>"That… looks a bit intimidating. But hey, why not give it a try?"<</Dialogue>><br><br> You reach down and grab the bar with both hands. It feels solid and with some weight to it, but you can handle it easily enough, quite a contrast from Johan’s attempt to carry it. You tentatively move your hands, figuring the best possible grip. This is going to be quite the challenge, but you aren’t about to give up.<br><br> You start pulling the ends down with incredible effort, your back, chest and arms exploding with an incredible pump - which Johan apparently notices, as his eyes dart over your upper body almost ignoring the bar itself.<br><br> And that proves to be a mistake, because soon the piece of metal starts giving in… just a little bit, but it’s enough to give you a head-start. As it slowly bends, you feel fatigue hitting all major muscle groups, but you are too far in to stop now. Your face reddens as you let out a grunt, and it just keeps going. Johan just watches incredulously, his mind refusing to accept your feat.<br><br> The bar finally reaches a 90 degree bend, and you stop with a deep breath. You look at the bar proudly, and Johan reaches out with his hand, slowly feeling the metallic material from the point where it bent and continuing over its corrugated surface…<br><br> But in his shocked surprise, he just keeps going all the way until your fingers make contact. As you two touch, both feel your hearts skipping a beat. As your eyes meet, his hand absent-mindedly continues over your rigid forearm, incredibly pumped from the effort. He continues, feeling your biceps as he slowly makes his way to your equally engorged shoulders. You can see your warm breath leaving your mouth as visible vapor, both your mouths wide open.<br><br> And then Johan shouts: <<Dialogue "Johan" "Johan">>"THAT… WAS INCREDIBLE!"<</Dialogue>><br><br> You are snapped out of your lascivious thoughts, shaking your head and blinking. Johan steps closer to you, as he starts taking imaginary finger measurements of each and every muscle on your body with gusto. He seems lost in thought as he apparently fantasizes about your abilities. Very flustered, you silently just walk out in a hurry, biting your lips as you try not to fantasize yourself about something else. <<elseif $muscle >= 30>> You look at the piece of metal taunting you on the floor. It’s almost hypnotizing as you get a mental image of yourself in a superhero suit, the bar malleable in your hands. <<Dialogue "player" "You">>"Uh… I think this might be going a tad too far?"<</Dialogue>><br><br> You confusedly grab both ends of the bar, feeling its considerable weight as you bring it up towards your chest. You try to figure out the best way to go about this, but the task just plain seems impossible. Johan, however, looks at you excitedly, and you’d hate to disappoint the little guy.<br><br> <<Dialogue "player" "You">>"I’m not sure I have much of a chance…"<</Dialogue>><br><br> Johan, however, seems unfazed. He seems to have an epiphany, and brings up a video on his phone of someone bending a bar on their head, by placing a towel between it and the bar. Before you can object, Johan is already handing you a towel.<br><br> <<Dialogue "Johan" "Johan">>"Hey, it’s the most important item a hitchhiker can carry!"<</Dialogue>><br><br> You look at him confused, but oblige, and soon you have a similar setup to the person from the video. You can’t help but shake the fact that he looked so much bigger and more defined than you… but… you can’t allow yourself to disappoint Johan without even trying.<br><br> Soon you have the bar above your head, cushioned by the towel. You close your eyes and take a deep breath, pouring 110% of your effort into the task. Your teeth are completely exposed as your face reddens, and every fiber of your muscles bulge. Johan looks at you in awe, as your biceps could pass for one of the heroes from his comics. He starts cheering you on, and it magically feels like… you are getting stronger? You could swear you are growing as your muscles pump, and you get a second wind. Your head hurts, but that pain somehow seems to channel directly into your nerves, making you feel more and more powerful.<br><br> You grit your teeth harder and harder, and they feel like they might just shatter at any second. And yet, you persevere. And put more and more effort as your back and chest seem to be pushed to their very limits. And then past it - and yet, the bar refuses to bend.<br><br> You take a deep breath and let out a guttural shout. Suddenly, the bar just immediately bends 25 degrees before falling to the ground.<br><br> You two watch the bar for a full minute in utter disbelief, until you catch your breath and let out an excited “whoop!” Johan is quick to join in, jumping onto your arms as you spin him around. <<Dialogue "player" "You">>"Who’s the superhero now?!?"<</Dialogue>><br><br> <<Dialogue "Johan" "Johan">>"You are, you are!"<</Dialogue>><br><br> You proceed to take a bunch of silly photos, pretending to be hitting Johan on the head with the bar, as if his head was bending it. Many laughs are had, and you eventually decide to go back home. You can’t help but give your flexed biceps a very strong squeeze as you bite your lip and fantasize about how strong you could possibly get. <<else>> <<Dialogue "player" "You">>"Sorry, I think you might be going a bit crazy, Johan."<</Dialogue>><br><br> But he seems adamant that you try anyway. He even pulls up a video of someone your age doing it… but it’s a guy, and a bodybuilder on top of that. But Johan begs you with his best puppy eyes until you give a resigned sigh and agrees to give it a try.<br><br> You awkwardly put a towel on your head like the guy on the video, and proceed to get the bar… which seems to be as heavy as Johan made it seem - but considerably easier for you to handle than it was for him, given your strength differential.<br><br> Still, we are talking about BENDING STEEL. You place it on top of your head, and with some fear you start exerting pressure against it, unsuccessfully. But you look at Johan, his expectant eyes jumping between the immobile bar and your bulging biceps, and something sparks inside of you. No! This won’t do. And suddenly, you feel a fire growing from your very core. You frown, grit your teeth and just start to put more and more effort into the impossible challenge.<br><br> You can’t tell how much time has passed, but the fire keeps growing, and you just keep giving more and more of yourself. At this point, Johan’s eyes are fixed intently on you, as your whole upper body seems to respond to whatever it is you are invoking.<br><br> You let out a primal scream, and a wave of burning fatigue washes over your entire body. You fall on your knees, dropping the bar. Johan is immediately there to hold your torso, his arms wrapped around you with enormous care. You feel your body cramping pretty bad, and he helps you get up and stretch. He offers to get you a hot towel or an ice pack, but you wave him off saying you are okay.<br><br> <<Dialogue "Johan" "Johan">>"Ah, I think I have some menthol analgesic rub in the bathroom!"<</Dialogue>><br><br> Before you can respond, he’s off. You sit back down, massaging your pained muscles, when you notice something unusual… the tile on the floor has a straight pattern. The bar feel parallel to the tile… and yet, one of the tips is slightly past the division of the tiles?<br><br> Johan rushes back with the tub of medicine, which he haphazardly dabs on his fingers and starts rubbing your tight muscles. He offers you a massage, and you are forced to accept.<br><br> <<Dialogue "player" "You">>"Admit it, you offered this medicine just to have an excuse to rub my muscles…"<</Dialogue>><br><br> You say that in jest, but Johan’s face goes red immediately. You let out a big laugh, and he just looks away as he keeps trying very hard to work out the kinks on your back, his soft hands having a hard time properly massaging your solid posterior.<br><br> Still, after he is done, you go back home, the image of the bar against the tile burned in your mind. You may have to give that another go someday, you think to yourself. <</if>> <<link "Continue" $currentScene>><</link>> <</replace>> <<Failed>> <<replace "#choice">> <<Dialogue "player" "You">>"I mean, do you have any steel bars laying around?"<</Dialogue>><br><br> You say with a laugh, but realize that Johan is looking at you with a mischievous smile. He tells you to wait a moment, and goes into his closet, where you hear some clanging. After a bit, he walks out… well… walking is a bit of an overstatement. He is moving sideways slowly like a crab, with his knees bent, cradling a girthy steel rebar taller than himself.<br><br> As he approaches, you look quizzically before asking:<br><br> <<Dialogue "player" "You">>"Why the hell do you have a steel rebar?"<</Dialogue>><br><br> He drops the heavy piece to the ground with a loud clang, catching his breath before answering. <<Dialogue "Johan" "Johan">>"Well, I wanted to do this gray wizard cosplay, and all the sticks I found around campus sucked. So I figured I could cover and paint something more solid, and asked my uncle who works in construction for a favor. I seriously think he gave me this as a practical joke, though."<</Dialogue>><br><br> You look at the scary piece of metal. It’s… a bit intimidating.<br><br> <<Dialogue "player" "You">>"Yeah, maybe we should start with something a bit more modest, perhaps?"<</Dialogue>><br><br> Johan looks deflated at your attitude, but understands it. He reaches for the rebar once again, but you push him aside gently. When you grab it, you are very surprised at how light it feels on your hands, but say nothing. You put it back in the closet, and the two of you change the subject… but for the rest of the day, the ease with which you lifted that piece of metal eats at the back of your mind like a parasite… <<link "Continue" $currentScene>><</link>> <</replace>> <</PersonalityCheck>> <<link "Lifting heavy stuff is what I was made for!">> <<replace "#choice">> <<Dialogue "player" "You">>"I certainly feel quite at home lifting heavy stuff. Did you have something in mind?<</Dialogue>><br><br> You say that cheerfully, but Johan looks at you and gulps again. He stammers a bit as he continues.<br><br> <<Dialogue "Johan" "Johan">>"Well, we need a real test. D-do you think… you can lift my refrigerator?"<</Dialogue>><br><br> <<if $muscle >= 90 && $shyConfident > 2>> You scoff at the idea.<br><br> <<Dialogue "player" "You">>"Sure, let’s have at it! Should be child’s play, really.<</Dialogue>><br><br> You announce confidently, as you make your way to his kitchen. You stand in front of the large old appliance, rubbing your hands with excitement. You wrap your large arms around the device with your knees bent… and with a little grunt, lift the entire thing up a foot or two. It’s not easy, but certainly doable. As if to illustrate your point, you bend your knees for squats a few times just to show off before putting it back down.<br><br> Johan stands by your side, completely speechless.<br><br> <<Dialogue "player" "You">>"See? Told you so!<</Dialogue>><br><br> Johan starts giving little small jumps in place, with the silliest grin ever. He starts spouting superhero stats faster than you can process. You just keep nodding and smiling, thinking that his adorkable charm is surprisingly cute. After a while you realize he doesn’t seem to be getting any closer to a point, and decide to return to your apartment before he comes up with a superhero name and uniform for you. <<elseif $muscle >= 90>> The idea sounds pretty cool, as you imagine yourself like some sort of real-life superhero from one of his comics. <<Dialogue "player" "You">>"I guess it doesn’t hurt to try…<</Dialogue>><br><br> The two of you reach the kitchen. You exchange some confused looks, and you take a deep breath as you brace yourself for the herculean task ahead of you. Bending your knees and wrapping your arms around the metal appliance, you close your eyes and… <<Dialogue "Johan" "Johan">>"W-wow…"<</Dialogue>><br><br> You look down sideways and see the little shadow of the fridge on the ground as you straighten your knees. You can’t believe it, but you did it! This is heavy, but surprisingly manageable. You very slowly and carefully set the fridge down, and realize you are not even THAT winded from it.<br><br> Johan steps closer to you, as he starts taking imaginary finger measurements of each and every muscle on your body with gusto. He seems lost in thought as he apparently fantasizes about your abilities. As he keeps mumbling to himself, you figure your job is done and it’s time to go home. <<elseif $muscle >= 55>> <<Dialogue "player" "You">>"Huh… this seems like a bit of a stretch, but… I guess I COULD try?<</Dialogue>><br><br> You two take solemn paces towards the kitchen, where you watch your goal with reverence. Could you really lift a fridge? It sounds so improbable…<br><br> <<Dialogue "Johan" "Johan">>"D-do you need anything? A minute?"<</Dialogue>><br><br> You shake your head with an expression of pure determination. I mean, other than back injury, what do you really have to lose? You bend your knees and wrap your arms around the appliance, taking a deep breath.<br><br> You put all your might, your entire body shaking as you push yourself to your very limit. Gritting your teeth, you feel every muscle getting pumped, but also very fatigued. You start to regret the idea when suddenly…<br><br> There’s a small rumble, and your knees give a jerk as they raise the refrigerator half a foot off the ground. You let out a small scream as your drop the fridge, making the whole apartment shake enough that you are afraid the floor might collapse.<br><br> The two of you stand there, staring with open mouths at the fridge and each other.<br><br> <<Dialogue "Johan" "Johan">>"YOU DID IT!"<</Dialogue>><br><br> <<Dialogue "player" "You">>"I DID IT!<</Dialogue>><br><br> You two start a rowdy discussion about how cool that was, as the neighbors complain and hit walls. But neither of you care… you two feel like a superhero and her sidekick, and nothing is going to take that away from you right now. <<elseif $muscle >= 30>> <<Dialogue "player" "You">>"I mean, I’m flattered you think so highly of me, Johan, but I think you might be overestimating my strength a bit there.<</Dialogue>><br><br> Johan looks at you with puppy eyes and a pout. You know he’ll just start begging if you don’t, so you shrug and, resigned, make your way to the kitchen.<br><br> You stand right next to the refrigerator. Right now, it feels even bigger than you remember. Johan is following right behind you, squealing in anticipation. You take a deep breath and bend your knees, minding your back for the impossible task ahead of you.<br><br> You grit your teeth and grunt, pushing your entire body to its limits. Every muscle burns, and your breathing goes deeper. But you push yourself, harder and harder. You feel like you are crossing limits you didn’t expect to be so high, and you just keep pushing.<br><br> But the nerves eventually subside, as if the whole world freezed around you, no sounds, no feelings - as if the only things in the universe were you and the fridge. Every law of physics is suddenly revoked, just as the mental limitations you impose on yourself. And at that precise moment, you feel your knees lifting <<if $measurementSystem is "imperial">>a quarter of an inch<<else>>half a centimeter<</if>>.<br><br> And then the whole world comes flushing back, and you step back, scared of yourself. You look at your hands, incredulously, as Johan taps you on the back.<br><br> <<Dialogue "Johan" "Johan">>"Hey, at least you tried. Thanks for doing that for me!"<</Dialogue>><br><br> You are left speechless. Johan is already going on another tangent, so you slowly make your way back to your apartment, still transfixed as you stare into your hands, the realization of your potential sinking in with a mix of fear and excitement. <<else>> <<Dialogue "player" "You">>"Sure, this is a job for MuscleGirl!<</Dialogue>><br><br> The two of you joke as you go to the kitchen, and you play comically as you try with all your strength to move the monolithic appliance.<br><br> Johan cheers on you for a whole minute, half-jokingly and half-seriously, as your face reddens at the futile task. You try as hard as you can until you are out of breath, but the fridge does not budge a single iota. You eventually break into laughter, soon to be joined by Johan as you slip down your knees to the floor.<br><br> <<Dialogue "player" "You">>"I guess MuscleGirl’s weakness is fridgetonyte!<</Dialogue>><br><br> Johan also falls down to the ground with laughter, as the two of you slap each other’s backs. Once you catch your breath, he starts telling you stories of feats of strength from his comic books, which you listen to with due amusement.<br><br> After a while, you decide to head back home. But a little something on the back of your head still nibbles at you, daydreaming about someday being able to do those feats of strength Johan so excitedly talked about. <</if>> <<link "Continue" $currentScene>><</link>> <</replace>> <</link>> <<link "Exercises? Pick your poison!">> <<replace "#choice">> <<Dialogue "Johan" "Johan">>"With pleasure!"<</Dialogue>><br><br> Soon, Johan starts listing a ton of famous scenes and montages of superheroes training, and you have a hard time keeping concentrated as he goes on every tangent possible and imaginable. <<if $skills[0].level > 2>>You are immediately familiar with every exercise he mentions, and getting a bit bored - none of them seem like a worthy challenge. <<else>>While you don’t recognize every exercise he brings up, none of them seem to have the appeal to entice you. <</if>> <<Dialogue "Johan" "Johan">>“... and he actually did the salmon ladder himself for the show!"<</Dialogue>><br><br> Suddenly, your eyes gleam.<br><br> <<Dialogue "player" "You">>"What was that just now?"<</Dialogue>><br><br> <<Dialogue "Johan" "Johan">>"The Purple Arrow? He’s so cool, though I will admit he had that awkward phase in the comics when they paired him with the Purple Lantern, it was a bit cringe…"<</Dialogue>><br><br> <<Dialogue "player" "You">>"No, no… what you said he did himself for the show?"<</Dialogue>><br><br> <<Dialogue "Johan" "Johan">>“... Oh, the salmon ladder? It was such an iconic scene, I swear they keep bringing it up so much it’s gotten kind of played out… but still, you can’t deny it’s cool seeing him bring the bar up the rungs."<</Dialogue>><br><br> You find yourself licking your lips, almost salivating at the idea of trying the salmon ladder - you’ve seen people doing in that ninja competition show: holding a bar that catches on latches on both sides, with more and more latches all the way up, forcing you to use your momentum to thrust yourself up, and catch the bar on the next set of latches. It looks extremely challenging physically… But… where would you find one, you mumble to yourself.<br><br> <<Dialogue "Johan" "Johan">>"Kinda crazy to imagine that the previous tenant here actually built one on the roof, can’t imagine the last time it got used…"<</Dialogue>><br><br> Before he can continue, you are dragging him by his sleeve, on your way to the roof.<br><br> The roof is a bit of a mess. There’s pigeon crap everywhere, and a bunch of broken or forgotten equipment. But as promised, there’s a fully working, if a bit hastily assembled, salmon ladder; its bar laying on the floor, forgotten… but not for long.<br><br> Johan is still going on about the scene as you crack your fingers and grab the bar. It isn’t until you actually set the bar up and latch it to the first rung that he snaps out of it.<br><br> <<Dialogue "Johan" "Johan">>"Uh… <<print $playerFirstName>>?"<</Dialogue>><br><br> Now it’s your turn to forget the world around you: you are 100% focused. There is nothing except for you, the bar you are holding, and that series of latches that go up to the heavens. GAME ON!<br><br> <<if $muscle >= 90>> You brace yourself, doing some perfect-form pull-ups to warm yourself up. Confident, you take a deep breath, and do a quick pull-up while lifting your knees to gain momentum… then it’s like everything is in slow motion as you propel your incredible mass up, and stretch your arms to get the bar caught in the latches of the next rung. Your heartrate shoots up as bar stabilizes itself, and you give an exhilarated laugh! You got this!<br><br> You repeat the process in another tentative step, still cautiously getting the hang of the movement, and again, you climb another rung without issue. At this point, your heart is just racing with the sheer excitement of your own prowess! But you aren’t stopping there. You manage another two rungs the same way… and now you feel completely confident. You just keep propelling yourself up, and it feels like flying. You stop looking at the rungs, just basking in the aerial view of the campus… soaring like a bird. You just keep going up and up and up and up and…<br><br> By the time you notice, you’ve reached the next to last rung. For the first time, you look down, where you see Johan. Wow, whoever built this metal structure… this feels way taller than it should be, with the structure improvised from the scaffolding of a concert stage. You don’t think Johan could even reach your feet if he jumped and stretched his arm. But the adrenaline has taken over, and you feel completely unstoppable. So you warn Johan to step away.<br><br> With complete conviction, you finish the last rung of the ladder, and grin. You propel yourself forward with a small swing, and pull the bar back, unlatching it from the device. You drop it to the side, as you brace yourself…<br><br> With grace, your let your feet take the brunt of the landing impact, bringing one knee and one hand down in a textbook superhero landing. The floor cracks beneath you as it trembles, and Johan loses his balance and falls on his butt behind you. You feel completely invincible.<br><br> <<Dialogue "Johan" "Johan">>"That… was… UNBELIEVABLE! How did you learn to do that? Can you do it again? I should have recorded it on my phone. It’s just like in the movie where the guy figures out he’s a superhero! And… "<</Dialogue>><br><br> Johan just babbles on and on. But you are in another dimension right now. This experience was a revelation, and you start planning about coming here to work out again…<br><br> And then the whole structure starts shaking, and the salmon ladder rumbles and falls apart. I guess it just wasn’t quite ready to handle your mass.<br><br> Johan might be so excited he doesn’t even notice. Not that it matters. You feel like a billion bucks, and decide to go back to your apartment for a much deserved shower. You just hope Johan remembers to go back inside before tomorrow. <<elseif $muscle >= 50>> You assume this is probably harder than it looks. And it looks pretty damn hard as it is. You do a tentative pull up to warm yourself up, getting a feeling for the motion. The cold breeze gives you a shiver, but you are not about to get discouraged.<br><br> You take a deep breath, and jerk yourself up and raise the bar. It barely makes it to the next rung, giving you quite a scare… which is immediately replaced by absolute bliss. You take another deep breath, concentrate… and BOOM! You just managed to do another rung. Suddenly, it dawns on you that you might just make it.<br><br> But then you look up. The makeshift salmon ladder, assembled from welded stage scaffolding, is ridiculously high. You are not so sure you can get so high… but you are still determined to try.<br><br> Again, bracing before each step, you manage to make another two rungs. Your heart rate seems to increase with each success. You look around, getting a magnificent view of the campus from up here. This is so exciting! So you try another rung…<br><br> And the bar latches on one side, but not the other! You try to brace yourself on the scaffolding, but the metal starts creaking and the whole piece starts breaking apart. You manage to slow your descent, but you still fall awkwardly on your ass. Johan, stunned, tries to pull you back, but he can’t budge you <<if $measurementSystem is "imperial">>an inch<<else>>a centimeter<</if>>. You raise your arms and protect both of you from the lose metal pieces - which thankfully are hollow and fairly light, all things considered. Once the chaos is over, Johan is just looking at you, completely flabbergasted.<br><br> <<Dialogue "Johan" "Johan">>"Did… did you just save me from falling debris? "<</Dialogue>><br><br> His eyes beam with adoration. True, you are pretty sure that, even if those pieces had hit him directly on the head, he would probably get a nasty bump at worst. Still, he is so excited from the experience, it would seem like he actually believes you just saved his life. He gives you a tight hug, and you hug him back.<br><br> Damn, he is such a good hugger. His arms feel good and warm around you, and you kind of wish time would just stop. But it doesn’t, and soon both of you decide there’s not much else to do on the now even messier roof.<br><br> <<Dialogue "Johan" "Johan">>"Wait until I tell my friends on the message boards what I’ve been through! I’m going to be FAMOUS!"<</Dialogue>><br><br> You kind of doubt that, but that doesn’t keep Johan’s enthusiasm from being downright contagious. You head back to your apartment, feeling amazing, even if you didn’t make it all the way up. <<elseif $muscle >= 30>> As you look up the ladder, your enthusiasm feels a lot colder: boy, is this weird metal scaffolding TALL! You can’t even have a good idea of how many rungs there are! But you are not about to back down, nuh-huh.<br><br> You try to get a feel for this, doing a pull-up. You know you can manage a few, but this is like next-level compared to that. Still, you swing a couple of times, still trying to understand the physics of it all. You can only procrastinate so much, though… so you kind of just swing up and do it, without thinking!<br><br> Before you know, you realize you made it! You managed to go up one rung! Your heart is racing, your mouth feels a bit dry. This is all insane! Before you know it, you try again, but this time you mess up, losing your balance and getting the bar stuck on the scaffolding. The whole structure shakes as you fall on your butt.<br><br> <<Dialogue "Johan" "Johan">>"<<print $playerFirstName>>! You okay?"<</Dialogue>><br><br> You see concern on Johan’s face. This was just a bit of a tumble, but the little guy is legit worried about you, it’s kind of endearing. You smile at him and say: <<Dialogue "player" "You">>"Oh, I’m fine. It’s just my pride that is hurt! Haha!"<</Dialogue>><br><br> Still, he helps you up, examining you to make sure you are alright. You try to reassure him it was nothing. <<Dialogue "player" "You">>"Really, don’t worry. I guess I just need some practice. Maybe we’ll try again another day."<</Dialogue>><br><br> As you make your way back to the stairs, the whole device finally gives its final creak and falls apart. Dang! I guess you’ll have to find another place to try that. <<else>> OK, this was definitely a bad idea. You remember that pull-ups are already not your forte, and your experimentation on the bar reveals that your chances are actually pretty slim. You manage to balance a little bit, but whenever you try to get enough momentum, your jerking fails to get you off the first rung. You try again a few times, but eventually the latch breaks, and you fall back on your feet, losing your balance and tripping backwards, falling over Johan. He tries to catch you, but can’t really handle it, and he also falls back on his butt, as you land on his lap.<br><br> <<Dialogue "player" "You">>"Thanks for the catch! I guess you are the hero to save me, after all!"<</Dialogue>><br><br> Johan blushes and is completely speechless.<br><br> <<Dialogue "Johan" "Johan">>"Uh… could you get up, please? You’re kinda heavier than you look…"<</Dialogue>><br><br> You apologize as you get up and dust yourself. You offer Johan a hand to help him up, but he refuses, keeping his hands over his lap, his face completely red. Oh, well. I guess it’s time to go back in. Pity that you broke the salmon ladder, though, as you kinda feel like you would like to train there again. <</if>> <<link "Continue" $currentScene>><</link>> <</replace>> <</link>> </span>`
},
{
name: 'JohanFat30',
locationTags: ['johan'],
conditions: [
() => State.variables.johanLastFat + 30 <= State.variables.fat
],
repeatable: false,
retriggerable: false,
priority: 'immediate',
npc: ["johan"],
content: `You waltz energetically into Johan’s apartment, and he’s sitting on his desk with his mounted magnifying glass, carefully painting one of his Battlehammer 2K metal figures, absolutely focused on the task. But as you skip and hop closer, the table shakes slightly, tipping the tiny orc statue on its side. Surprised, you take a small jump back, making the whole floor give a nice shake. Damn, this old building really needs a better foundation!<br><br><<Dialogue "player" "You">>"Oops…"<</Dialogue>><br><br>You look at Johan with a forced smile, but he is absolutely focused on his paint job. I guess not even an earthquake could break his concentration… as you seem to have demonstrated quite literally.<<Dialogue "Johan" "Johan">>"It’s alright!"<</Dialogue>><br><br>He replies cheerfully, as he picks up the fallen warrior, and with a small dab of putty, attaches him firmly to the desk before continuing without ever losing his focus - or looking at you - as if the shaking was as commonplace as a gust of wind.<br><br><<Dialogue "Johan" "Johan">>"No worries! I wasn’t really satisfied with this skin tone, I think I’m going to mix some more paint and start over."<</Dialogue>><br><br>As Johan sets his little bowl for paint, you squeeze your tummy. There’s a considerable layer of fat there. <<if $muscle >= 35>>Covering your abundant muscle, it gives you that strongman look, but you can’t help but wonder what your abs might look like under their protective cover.<<else>>You manage to pull a handful of skin. Huh.<</if>><<Dialogue "player" "You">>"Hey, Johan?"<</Dialogue>><br><br><<Dialogue "Johan" "Johan">>"Yeah, <<print $playerLastName>>, what’s up?"<</Dialogue>><br><br>He replies without turning his face from his little project.<<Dialogue "player" "You">>"Do you think I look fat?"<</Dialogue>><br><br><<Dialogue "Johan" "Johan">>"Nah, you are just…"<</Dialogue>><br><br>He finally turns around to look at you, and stops cold, eyes wide and mouth agape. Gee… thanks, Johan.<<Dialogue "Johan" "Johan">>"Whoa… you… wow… you… grew?"<</Dialogue>><br><br>Johan flip-flops heroically, trying to avoid the… err… elephant in the room? You pout and give your midsection a firm slap. <<if $muscle >= 40>>Your mass is undeniable: despite your large muscles, your girth is clearly greatly enhanced and softened by a generous dose of blubber.<<elseif $muscle < 20>>Your belly wobbles considerably, making you wonder just how much weight you have put on since the last time you visited Johan.<</if>><<Dialogue "player" "You">>"This is… quite a lot."<</Dialogue>><br><br><<Dialogue "Johan" "Johan">>"Yyyyeaaaah… I’m actually a bit surprised. It’s not that it looks bad on you, quite the contrary… it’s just that… I could swear you weren’t this big just a while ago! "<</Dialogue>><br><br><<if $fat >= 55>>You give a few tentative jumps, and the furniture around you seems to shift as the floor shakes, along with your waist. Poor Johan leans forward a bit for balance, and you hear one of the neighbors hit the wall and tells you to knock it off.<</if>><span id="choice"><<link "You know, this is pretty nice, actually.">><<replace "#choice">><<Dialogue "player" "You">>"I dig it, actually. As my grandma used to say, there’s more of me to love!"<</Dialogue>><br><br>You give a lovely twirl, and with a smile and a flourish, spread your arms. You love the momentum you carry, this pure sensation of mass. You are a cuddly but unstoppable force of nature.<br><br>Johan returns the smile.<br><br><<Dialogue "Johan" "Johan">>"It IS a very nice figure, I have to admit. You actually would make for a really nice model for my Battlehammer 2K army!"<</Dialogue>><br><br><<if $shyConfident > 1>>That comment just made your whole day! Before you know, you have the biggest silly smile on your face, and you squeeze Johan in a tight hug.<br><br><<Dialogue "Johan" "Johan">>"Mmmm mmmph mmm!"<</Dialogue>><br><br>He mumbles, smothered against your skin.<<Dialogue "player" "You">>"You are the best, you know that? I could just eat you!"<</Dialogue>><br><br>You let go of him.<<Dialogue "Johan" "Johan">>"Well, hopefully not literally… but that was a very comfy hug, I wouldn’t mind another of those."<</Dialogue>><br><br><<else>>You blush, wrapping your fingers together and flashing a sly smile at Johan. Your heart may have just skipped a beat.<<Dialogue "player" "You">>"Thank you. I’m… glad you like it."<</Dialogue>><br><br><</if>><<if $johanOpinion > 60>>You grab Johan by the collar and pull him for a kiss on the lips. He struggles for a split second, and then relaxes and wraps his arms around your neck. You let go of him and mouth a silent “thank you” before you start leaving, turning briefly to wink at him. You return to your room with a happy skip and a hop. You don’t even care if the other tenants complain.<<elseif $johanOpinion > 30>>You give him a peck on the face as you say goodbye, and leave his apartment with a happy skip and a hop. You don’t even care if the other tenants complain.<<else>>You tilt your head as you say goodbye, and leave his apartment with a happy skip and a hop. You don’t even care if the other tenants complain.<</if>><<link "Continue" $currentScene>><</link>><</replace>><</link>><<link "I really should watch my waistline.">><<replace "#choice">><<Dialogue "player" "You">>"No, this just won’t do!"<</Dialogue>><br><br>You purse your lips and your fists tighten in a ball. You can’t believe you let yourself go like this. But not anymore!<br><br><<Dialogue "player" "You">>"Alright, it’s decided! I’m going to be the meanest, leanest fighting machine you’ve ever seen!"<</Dialogue>><br><br><<if $shyConfident > 1>>You adopt a boxing stance, and start punching the air! Then doing some knee raises with your hands on the back of your head! Jumping jacks! You are pumped, you feel like you could recreate the whole Rocky training montage… and in fact, you plan to do that over the course of the next few days! Watch out, Philadelphia!<br><br>Johan gives a hearty laugh as he watches you goof around.<br><br><<Dialogue "Johan" "Johan">>"Look at you go! You’re like that bunny from the battery commercial… except WAY more energetic! Maybe I should try and train with you."<</Dialogue>><br><br><<Dialogue "player" "You">>"That would be cool! But you better watch out, I’m not stopping until I get a six-pack! No, an eight-pack! You are going to be washing your clothes on my abs!"<</Dialogue>><br><br>You two laugh, and collapse on top of each other. However, due to your mass and Johan’s flimsy frame, he loses his footing, and you two end up on the floor, with you on top of him. You brace yourself with your arms, your noses touching, and your lips very close to his.<<else>>You take a deep breath, and start talking about all the things you are going to do to lose weight. Johan nods in agreement with every suggestion.<<Dialogue "Johan" "Johan">>"Maybe I ought to try and train with you."<</Dialogue>><br><br>You both start to come up with what sounds like a sensible workout routine, but it quickly devolves in a nerdfest of references after you accidentally blurb Saitama’s training. You basically start joking about all the training montages the two of you can remember, and the laughing increases as both of you bend over, unable to breath. But as you take a deep breath, you lean with your arm against Johan, forgetting that his small frame isn’t quite enough to bear your considerable load, and you both end on the floor. You brace yourself with your arms above him, your noses touching, and your lips very close to his.<</if>><<if $johanOpinion > 60>>With wide eyes, both of you gaze deeply into each other, stunned. Time slows to a crawl… Johan is so cute… but you snap out of it as you give him a peck on the lips and get up energetically, leaving with a nicely-paced jog and a wave of your hand.<<elseif $johanOpinion > 30>>With wide eyes, both of you gaze deeply into each other, stunned. Time slows to a crawl… but you snap out of it as you flick his nose playfully and get up energetically, leaving with a nicely-paced jog and a wave of your hand.<<else>>With wide eyes, you gaze at each other, blushing. You awkwardly get up and stammer:<<Dialogue "player" "You">>"I… uh… left my laundry… in the oven… yeah… uh… I gotta go!"<</Dialogue>><br><br>You rush out of the apartment, feeling a shiver on your spine.<</if>><<link "Continue" $currentScene>><</link>><</replace>><</link>></span>`
},
{
name: 'JohanFat20',
locationTags: ['johan'],
conditions: [
() => State.variables.johanLastFat + 20 <= State.variables.fat,
() => !State.variables.outfit.bonuses().map(bonus => bonus.name).includes('Baggy')
],
repeatable: false,
retriggerable: false,
priority: 'immediate',
npc: ["johan"],
content: ''
},
{
name: 'JohanBreasts30',
locationTags: ['johan'],
conditions: [
() => State.variables.johanLastBreasts + 30 <= State.variables.breasts
],
repeatable: false,
retriggerable: false,
priority: 'immediate',
npc: ["johan"],
content: '<<Dialogue "player" "You">> "Hey, Johan! What\'s up?"<</Dialogue>><br>As you approach Johan, you notice that you have to adjust your shirt over your breasts. Again.<br><br><<Dialogue "Johan" "Johan">> "Oh, hey, not mu-"<</Dialogue>><br>Johan\'s eyes nearly pop out of their sockets as he turns and looks at your chest.<br><br><<Dialogue "Johan" "Johan">> "Holy cow! Did you take a potion of super endowment or something?! Where did those come from?!"<</Dialogue>><br><span id="choice"><<PersonalityCheck $carefreeCarefull <= -1 " Thrust out your chest and show off.">><<replace "#choice">><br><br>You pull back your shoulders and stick out your chest, making your bust significantly encroach on Johan\'s personal space.<br><br><<Dialogue "player" "You">> "Hehe, yeah, something like that! Do you like it?"<</Dialogue>><br>You keep smiling and giggling as you turn sideways to show off just how much further out your breasts reach.<br><br><<Dialogue "Johan" "Johan">> "L-l-li... Wh--"<</Dialogue>><br>Johan collapses into you. Clearly, he must have liked it, but it was just too much for him to handle. You ease him onto a nearby piece of furniture, make sure he\'s still breathing, and move on with your day.<br><br><<link "Go home" "Home">><</link>><</replace>><<Failed>><<replace "#choice">><br><br>Playfully, you try to thrust your chest out, but you simply don\'t have it in you. It just comes across as a bit awkward, though you\'re the only one to notice. Johan has his mind elsewhere, after all!<br><br><<Dialogue "player" "You">> "Y-yeah, d-do you like it?"<</Dialogue>><br>No answer comes. Well, this has become a bit... awkward.<br><br><<Dialogue "Johan" "Johan">> "L-l-li... Wh--"<</Dialogue>><br>Waiting a bit more, you expect an actual answer to come but... no. Finally, you just decide to go, leaving Johan there. Perhaps this was not the best idea.<br><br><<link "Go home" "Home">><</link>><</PersonalityCheck>><br><br><<link " Pretend you don\'t know what he means.">><<replace "#choice">><br><br>You cock your head to the side like a puppy and look at him quizzically.<br><br><<Dialogue "player" "You">> "What do you mean? I\'m the same as I\'ve always been."<</Dialogue>><br>In response, Johan looks even more shocked than when he first saw your enhanced boobs.<br><br><<Dialogue "Johan" "Johan">> "The same as you\'ve ever... What?! Your boobs are so much bigger! How could you not notice?!"<</Dialogue>><br>You look down at your chest and grab your breasts before looking back up quizzically.<br><br><<Dialogue "player" "You">> "Are you feeling alright, Johan? Are you sure you\'re not the one that drank something weird?"<</Dialogue>><br>Johan starts moving his mouth as though he has something to say, but seems to be at a loss of words.<br><br><<Dialogue "player" "You">> "You should be careful with that stuff, dude. Anyways, I have some things to take care of, but it was nice seeing you. Later!"<</Dialogue>><br><<Dialogue "Johan" "Johan">> "B-b-bye..."<</Dialogue>><br>Johan barely manages to get the word out as you turn and leave. Turning around, you certainly notice the extra weight on your chest that Johan was referring to.<br><br><<link "Go home" "Home">><</link>><</replace>><</link>><br><br><<link " Berate him for being so crude.">><<replace "#choice">><br><br>You move your arms to cover your breasts as best you can.<br><br><<Dialogue "player" "You">> "Johan! Stop it, you creep!"<</Dialogue>><br><<Dialogue "Johan" "Johan">> "Wha- No! No, that\'s not it! I just meant..."<</Dialogue>><br><<Dialogue "player" "You">> "Yeah, I\'m sure, Johan. Look, I\'ve got things to do. Goodbye."<</Dialogue>><br>And with that, you turn around, noticing the weight gained on your chest, before walking off with purpose. Leaving no time for Johan to respond.<br><br><<link "Go home" "Home">><<set $johanOpinion -= 10>><</link>><</replace>><</link>></span>'
},
{
name: 'JohanBreasts20',
locationTags: ['johan'],
conditions: [
() => State.variables.johanLastBreasts + 20 <= State.variables.breasts,
() => !State.variables.outfit.bonuses().map(bonus => bonus.name).includes('Baggy')
],
repeatable: false,
retriggerable: false,
priority: 'immediate',
npc: ["johan"],
content: 'You could use a little break, and what’s better than a little visit to Johan’s apartment? He’s the true master of distraction! So off you go, knocking on his door.<br><br><<Dialogue \"Johan\" \"Johan\">>\"Come on in!\"<</Dialogue>><br><br>You open the door and head in, hearing some Japanese pop music playing loudly, and find him coming from the kitchen with some cookies and milk on a tray. As he sees you, however, his mouth goes agape and his eyes bulge out, dropping the tray with a mess of crumbles and milk all over.<br><br><<Dialogue \"Johan\" \"Johan\">>\"B… aba… boo… ba… boo…\"<</Dialogue>><br><br>Surprised, you turn around to see if there’s anything behind you, but find nothing. You turn back 180 degrees to face Johan, and your breasts jiggle with the momentum they accrued from your rapid movement. You notice Johan’s eyes following the bounce, as if he was watching the shortest tennis match in history.<br><br><<if $shyConfident > 1>><<Dialogue \"player\" \"You\">>\"Ah, you noticed these bad boys?\"<</Dialogue>><br><br>You straighten your back and push your chest forward, tightening your upper arms around your mammaries, making them stand out magnifically. Johan’s mouth drops even more, and you can’t help but let out a loud laugh at his reaction.<br><br><<elseif $shyConfident < -1>>You blush and cross your arms over your chest, embarrassed, as you avoid Johan’s eyes.<<else>>You cup your breasts, which are quite the handful, giving the two a firm squeeze.<</if>><<Dialogue \"player\" \"You\">>\"I guess I’m a bit of a late bloomer, these certainly have gotten bigger since I last saw you.\"<</Dialogue>><br><br><<Dialogue \"Johan\" \"Johan\">>\"Bi… boo…\"<</Dialogue>><br><br>You watch Johan’s limp arms by his side, as his hands make what seem to be involuntary squeezing motions. His eyes are completely stuck, looking right below your neck.<br><br><<if $submissiveDominant > 1>><<Dialogue \"player\" \"You\">>\"Hey, boy! Eyes up here!\"<</Dialogue>><br><br>You say firmly as you point toward your eyes. Johan still lingers for a second, before he snaps out of it, closes his mouth and looks you in the eyes, very intimidated.<br><br><<elseif $carefreeCarefull < -1 && $muscle >= 50>><<Dialogue \"player\" \"You\">>\"Wanna see a neat trick?\"<</Dialogue>><br><br>You start using your strong pectoral muscles to make each breast bounce, alternatingly, to the rhythm of the J-Pop song playing in the background. You laugh at yourself, but Johan looks like he might just about melt if you keep this up. You stop, and snap your fingers near his nose, and he shakes his head and seemingly wakes up from his trance.<<elseif $carefreeCarefull < -1 && $shyConfident > 1>><<Dialogue \"player\" \"You\">>\"Pretty cool, huh? I used to barely need a bra when I moved in. People used to make fun of me, called me flat as a board. I wish I could see Tracy from high school now…\"<</Dialogue>><br><br>Johan apparently didn’t hear a word of what you said. Or at least is not processing it properly, as you can see some drool coming out of his mouth. You tilt your head to the side with a confused and amused look, and clean the drool with the back of your hand, shocking him back into consciousness as he snaps straight up, his hair standing on end and surprise in his eyes.<</if>><<Dialogue \"player\" \"You\">>\"I’m no telepath, but I’m guessing you approve?\"<</Dialogue>><br><br><<Dialogue \"Johan\" \"Johan\">>\"Oh… you… you look great! And, I mean, I’d say my standards might be a bit unrealistic from all the manga I read but… holy cow! These are some admirable mammaries, if you don’t mind me saying!\"<</Dialogue>><br><br><<if $shyConfident > 1>><<Dialogue \"player\" \"You\">>\"I’m glad you like them! Who knows, if all goes well, maybe I can get them even bigger!\"<</Dialogue>><br><br><<Dialogue \"Johan\" \"Johan\">>\"B-b-bigger…?\"<</Dialogue>><br><br><<Dialogue \"player\" \"You\">>\"Yeah, why not? You said they look great, right? And I think they complement my figure quite well.\"<</Dialogue>><br><br><<Dialogue \"Johan\" \"Johan\">>\"Oh, for sure. Oh, boy…\"<</Dialogue>><br><br><<else>><<Dialogue \"player\" \"You\">>\"Hmmm… I wonder if they will get any bigger…?\"<</Dialogue>><br><br><<Dialogue \"Johan\" \"Johan\">>\"B-b-bigger…?\"<</Dialogue>><br><br><<Dialogue \"player\" \"You\">>\"Can you imagine?\"<</Dialogue>><br><br><<Dialogue \"Johan\" \"Johan\">>\"Oh, for sure. Oh, boy…\"<</Dialogue>><br><br><</if>>You apparently sent his mind reeling again. Maybe you should give him a moment to recompose. You walk to his manga collection and grab a random issue before sitting down on his couch. As you open the fan-printed comic, you see a well-endowed lady wearing a T-shirt that says “MEGA MILK”, cupping her own massive breasts and a face that is… well, “delight” might just not make justice to describe her expression. You can’t quite understand what the Japanese characters are saying, but the irritated blond boy sitting on the floor, with a pillow over his hips… seems suggestive enough.<br><br>Once Johan comes to his senses again, he spots you, and turns purple. With wide eyes and complete silence, he snaps the comic from your fingers and points away, mouthing the words “Excuse me”, while he locks himself in the bathroom.<br><br>Amused, you make your way back to your apartment, playfully fondling your breasts in delight with a smile.'
},
{
name: 'JohanMainQuestQuestion',
locationTags: ['johan'],
conditions: [
() => State.variables.johanMainQuestQuestion
],
repeatable: false,
retriggerable: false,
priority: 'immediate',
npc: ["johan"],
content: '<<Dialogue "Johan" "Johan">>Oh hey! Welcome, come on in! It was... <<print $playerFirstName>>, right?<</Dialogue>><br><<addQuestProgress "mainQuest1" 1>><<set $mainQuestProgressMade to true>><<Dialogue "player" "You">>Yeah, <<print $playerFirstName>>. Anyway, can I come in?<</Dialogue>><br><<Dialogue "Johan" "Johan">>Certainly! Come on in, what can I do for you?<</Dialogue>><br><span id="choice"><<link "Oh, just wanted to drop by.">><<replace "#choice">><<Dialogue "player" "You">>Oh, just wanted to drop by, get to know some of the others in the building, right?<</Dialogue>> <br> <<Dialogue "Johan" "Johan">>Haha, yeah, I can imagine! It\'s always nice to have some friends you can count on around. Hey, want a beer? I got some in the fridge and, oh, I know this GREAT new OurTube show, it\'s about-<</Dialogue>><br> And there he goes again, talking at you, instead of WITH you. But his enthusiasm is so incredibly contagious, it\'s hard not to get caught up in it. The conversation drifts around quite a bit, going from topic to topic.<br><br><<Dialogue "Johan" "Johan">>"Well, it\'s good to have someone in here again. The last guy who lived here made it an ABSOLUTE mess, but then again, he was some sort of biological chemistry major who kept tinkering with stuff in his apartment. After some of his \'supplement peanut butter\' wound up in someone’s fridge and there was some talk of side effects... he just ended being booted off campus. Still, listen, thanks for the beer and welcome to the building! Drop by any time!"<</Dialogue>><br><br><<link "Go back home" "Home">><</link>><</replace>><</link>> <br><<link "Well, I wanted to ask you about something...">><<replace "#choice">><<Dialogue "player" "You">>"Well, this might seem weird but... I found some stuff in my fridge and I think it belonged to the previous tenant... Some sort of... I don\'t know, chemistry stuff...?<</Dialogue>> <br> <<Dialogue "Johan" "Johan">>Oh yeah, that scans. The previous guy was into that. Had a nasty habit of taking his work home with him. Apparently, he used to stink up the entire place or leave his stuff laying around. From what I gather the dean got involved and he was out like that! And yeah, he-<</Dialogue>> <br> Johan keeps talking, but you barely pay any attention. You drank some kind of experiment from a deranged chem student. Strong way to start the year, way to go, <<print $playerFirstName>>. While Johan is still talking, you apologize, saying you need to go. This whole chemical might be worth investigating... <br><br><<link "Go back home" "Home">><</link>><</replace>><</link>></span>'
},
{
name: 'JohanApology',
locationTags: ['johan'],
conditions: [
() => State.variables.johanApology
],
repeatable: false,
retriggerable: false,
priority: 'immediate',
npc: ["johan"],
content: 'Opening the door Johan seemed a lot more... calm today. <br><br><<Dialogue "player" "You">> “...Is something wrong, Johan?"<</Dialogue>><br><<Dialogue "Johan" "Johan">> "No, just... listen, last time I... I said some things and... well, that was unfair. I hope... you know... things are still okay between us...?" <</Dialogue>><br>Talking way slower and more clearly, trying to get the right words out, he\'s awkward nonetheless. Still, it seems he\'s making a genuine attempt to apologize.<br><br><span id="choice"><<link " All good">><<replace "#choice">><br><br><<Dialogue "player" "You">> "It’s all good Johan, we all say the wrong shit now and then! Now, how about we get in, pick something to watch and just move past that little awkwardness?"<</Dialogue>><br><<Dialogue "Johan" "Johan">> "I’m all for that! I\'ve found a great new show, it’s about the current meta builds in ConflictSword 2000 and why the current human Empire is actually NOT that overpowered and-"<</Dialogue>><br>And there he goes again, smiling and talking way too much. It’s almost kinda cute, and he did try to genuinely apologize.<br><br><<link "Go home" "Home">><</link>><</replace>><</link>><br><br><<link " Let\'s forget this">><<replace "#choice">><br><br><<Dialogue "player" "You">> “...Let\'s just not bring it up again, okay?"<</Dialogue>><br>Awkwardly, Johan nods. The two of you watch some shows together, but he didn\'t quite revert into the usual blabbermouth that you got used to. It seems he still regrets the things he said.<br><br><<link "Go home" "Home">><</link>><</replace>><</link>></span>'
},
{
name: 'JohanHeight30',
locationTags: ['johan'],
conditions: [
() => State.variables.johanLastHeight + 30 <= State.variables.height
],
repeatable: false,
retriggerable: false,
priority: 'immediate',
npc: ["johan"],
content: 'You approach Johan from behind while he\'s looking at his phone.<br><br><<Dialogue "player" "You">> "Hey, Johan! How\'s it going?"<</Dialogue>><br><<Dialogue "Johan" "Johan">> "Oh, hey! Pretty goo-..."<</Dialogue>><br>Johan turns to face you, automatically looking where your head used to be, but now he just sees your body. His eyes raise to your head as his jaw drops, as does his phone.<br><br><span id="choice"><<PersonalityCheck $shyConfident >= 0 " Giggle and spin around.">><<replace "#choice">><br><br>You smile and spin around, showing off your new height.<br><br><<Dialogue "player" "You">> "Hehe, wow. Did your jaw stop working?"<</Dialogue>><br>You use a finger to close his jaw, which seems to snap him out of his stupor.<br><br><<Dialogue "Johan" "Johan">> "Holy cow! You\'re so much taller! How?!?"<</Dialogue>><br>Johan reaches down to pick up his phone, sticking it into his pocket.<br><br><<Dialogue "player" "You">> "Hehe, do you like it? It\'s really fun being so much taller!"<</Dialogue>><br><<Dialogue "Johan" "Johan">> "W-l-like it? Yeah! Of course! You look amazing!"<</Dialogue>><br><<Dialogue "player" "You">> "Thanks, Johan. Anyways, I have places I need to be. I\'ll see you later!"<</Dialogue>><br>And with that, you leave Johan, who is still completely befuddled by your recently-acquired lofty stature.<br><br><<link "Continue" "Home">><</link>><</replace>><<Failed>><<replace "#choice">>You really want to be cute, to spin around or some shit, but now that he\'s so focused on you, you just... can\'t.><<Dialogue "player" "You">> "Heh... uhm... Y-you like...?"<</Dialogue>><br><<Dialogue "Johan" "Johan">> "How did you... how did you get so tall?!"<</Dialogue>><br>Well, that\'s even more attention to the fact you\'d rather ignore.<br><br><<Dialogue "player" "You">> "T-this? Oh! W-well... uhm... I gotta go! Later!"<</Dialogue>><br>You quickly leave Johan as he is still dumbstruck about your new height. You believe you handled that pretty well, all things considered.<br><br><<link "Continue" "Home">><<set $johanOpinion += 1>><</link>><</replace>><</PersonalityCheck>><br><br><<link " Play it off and hand him his phone.">><<replace "#choice">><br><br><<Dialogue "player" "You">> "Oh, Johan, you dropped your phone! Here."<</Dialogue>><br>You reach down, much farther than before, and pick up his phone before handing it back to him.<br><br><<Dialogue "Johan" "Johan">> "How did you... how did you get so tall?!"<</Dialogue>><br>Johan seems to be pretty caught up in this whole height thing.<br><br><<Dialogue "player" "You">> "Huh? Well, maybe I had a growth spurt? But, hey, Johan, it was nice seeing you again, I\'ve got to go. See ya later!"<</Dialogue>><br>You quickly leave Johan, as he is still left dumbstruck about your new height. You think you handled that pretty well, all things considered.<br><br><<link "Continue" "Home">><<set $johanOpinion += 2>><</link>><</replace>><</link>><br><br><<link " Ask Johan what\'s wrong with him.">><<replace "#choice">><br><br>You snap your finger in front of Johan\'s face.<br><br><<Dialogue "player" "You">> "Hey, Johan! Did you see a ghost or something?"<</Dialogue>><br>Johan blinks a few times and shakes his head.<br><br><<Dialogue "Johan" "Johan">> "Y- you\'re... How? What? A ghost? No! You\'re so much taller! How?!"<</Dialogue>><br>You shrug your shoulders, noticing just how much taller they are now compared to Johan’s than the last time you spoke with him.<br><br><<Dialogue "player" "You">> "Huh, yeah, I guess I am taller. How \'bout that? Anyways, I\'ve got some things I need to do, but it was nice seeing you, Johan. See ya later!"<</Dialogue>><br>You leave Johan. As you go, you can\'t help but hear as he is still sputtering out half sentences in disbelief regarding your new stature.<br><br><<link "Continue" "Home">><</link>><<set $johanOpinion += 2>><</replace>><</link>></span>'
},
{
name: 'Loan',
locationTags: ['johan'],
conditions: [
() => State.variables.money <= 100
],
repeatable: false,
retriggerable: false,
priority: 'immediate',
npc: ["johan"],
content: 'Opening the door, Johan lets you in with a big smile, though he notices something is... off. You assume he was about to go into a huge rant about some sort of paint or rebalance of a board game - but he notices you\'re just not in the mood for it. <br><br><<Dialogue "Johan" "Johan">> "Hey, is everything alright? You seem a bit... down?"<</Dialogue>><br><br><br><<Dialogue "player" "player">> "Eh, you know, the usual stuff. Just... recently with clothing and food getting more expensive, bills... just hit a financial rough spot lately, is all."<</Dialogue>><br><br><<Dialogue "Johan" "Johan">> "Oh... yeah, I can imagine. Uhm... Listen, I have some money set aside for a hobby project, but I could easily loan you a bit? You know, to help you out some?"<</Dialogue>><br><br><<Dialogue "player" "player">> “... Johan, I can\'t ask that of you. I-"<</Dialogue>><br><br><<Dialogue "Johan" "Johan">> "Heh, listen. I got like 12 unfinished hobby projects on my pile of shame. It’s kind of embarrassing. Here is a hundred bucks, pay me back whenever you can. Now, have I shown you my-"<</Dialogue>><br>Aaaand there he goes, utterly missing the point. He hands you the crisp bill with a smile, and proceeds to showcase you his new project. Some sort of... converted toy gun that looks like something else you can’t quite place. He might be very awkward at times, but in all his cluelessness, he still proves himself to be a reliable friend.<br><br><<link "Continue" "Home">><<set $money += 100>><</link>>'
},
{
name: 'apologizeToJohan',
locationTags: ['johan'],
conditions: [
() => State.variables.apologizeToJohan
],
repeatable: false,
retriggerable: false,
priority: 'immediate',
npc: ["johan"],
content: 'Normally, you’d get a warm welcome. This time, Johan opens the door and remains in the way, not letting you in. <br><br><<Dialogue "Johan" "Johan">> “... Hi. Are you here for... you know. What happened?"<</Dialogue>><br><<Dialogue "player" "You">> "Ehm, yeah. Listen... I fucked up, okay? I know I fucked up, All I can do is apologize. Just... urgh. I made it worse, I know and... I just want to apologize."<</Dialogue>><br>Both of you remain silent for a bit, Johan’s wheels turning inside his head. But finally, you see that same goofy smile slowly fading back in his face.<br><<Dialogue "Johan" "Johan">> "You know what? We’re good. I was kinda angry too, but... why don’t we just forget about it? Wanna play some games and put that behind? Just... be careful, okay? That wasn\'t like you."<</Dialogue>><br>And with that, he steps back and invites you in, making way for another fun session with your dear friend. <br><br><<link "Continue" "Home">><</link>>'
},
{
name: 'JohanDate1',
locationTags: ['johan'],
conditions: [
() => State.variables.johanOpinion >= 40
],
repeatable: false,
retriggerable: false,
priority: 'immediate',
npc: ["johan"],
content: '<<goto "johanDate1.1">>'
},
{
name: 'JohanPassword',
locationTags: ['johan'],
conditions: [
() => State.variables.johanOpinion >= 40,
() => State.variables.hackingUnlocked
],
repeatable: false,
retriggerable: false,
priority: 'immediate',
npc: ["johan"],
content: '<<Dialogue "player" "You">>"JOHAN!"<</Dialogue>><br><br>You slam the door open in a hurry, and the poor boy almost jumps out of his own skin. You stomp unceremoniously into his apartment, holding the USB drive up with a determined gesture - and equally decided eyes.<br><br><<Dialogue "player" "You">>"I need your help! We need to hack into this USB stick - I think it has something to do with the stuff I drank and all these things happening to me."<</Dialogue>><br><br>As you switch your usual roles, Johan is now the one to grab the device from your hand in silence as you mouth off about the whole ordeal. He listens intently, paying close attention to every word.<br><br><<Dialogue "Johan" "Johan">>"Well, you came to the right person! I’ve watched every 005 movie ever, and I read every spy comic you can think of. There’s no way I won’t be able to hack this!"<</Dialogue>><br><br>While you find his confidence entirely misplaced, his eagerness and enthusiasm are absolutely adorable. With the device in hand, he plugs it into his laptop.<br><br><<Dialogue "player" "You">>"It’s not going to be easy. I’ve been bashing my head against the wall for a long time - trying to figure out more about this “Toshi” person who lived in my apartment, guessing passwords at random, looking up stuff about encryption online, trying to have an actual conversation with Tasha to know more… I seriously think I’ve exhausted every possibility known to man. I have no idea how anyone could…"<</Dialogue>><br><br><<Dialogue "Johan" "Johan">>"Done!"<</Dialogue>><br><br><<Dialogue "player" "You">>"WHAT?!?"<</Dialogue>><br><br>You watch incredulously as the green command prompt quietly confirms the decryption of the file was successful.<br><br><<Dialogue "player" "You">>"How the hell did you do that?!?"<</Dialogue>><br><br><<Dialogue "Johan" "Johan">>"Oh, while you were blabbing on and on, I just started guessing. Look, I found the password for the file name Experiment_log_01.txt"<</Dialogue>><br><br>He points to the correct term that did the trick on the screen: assw0rd.<<Dialogue "player" "You">>"Ass Sword? Is that some type of ancient medieval torture? What the heck does that even mean?"<</Dialogue>><br><br>With a very amused grin, Johan just covers the P in “insert Password” on the screen. You scoff, slack-jawed.<br><br><<if $shyConfident > 1 && $muscle > 35>><<Dialogue "player" "You">>"Oh, you are so awesome I could kiss you right now!"<</Dialogue>><br><br>You proclaim, as you lift him by his collar, face right in front of yours. Then you freeze as the two of you blush, and you drop him.<br><br><<else>><<Dialogue "player" "You">>"I… you… wow… Johan, that was incredible. Like… literally. I cannot believe what just happened."<</Dialogue>><br><br><</if>>Still blushing, he scratches his head and says, with a nervous laugh:<br><br><<Dialogue "Johan" "Johan">>"Well, I guess that’s what FRIENDS are for."<</Dialogue>><br><br>You can’t help but detect a hint of derision when he said the word friends… still…<<Dialogue "player" "You">>"Johan! I owe you A BIG ONE! Seriously, think of anything you want as a reward, and I’ll do my best to make sure you get it!"<</Dialogue>><br><br>You rush out, slamming the door. Johan stays there, frozen.<br><br><<Dialogue "Johan" "Johan">>"Any… thing…?"<</Dialogue>><br><br>He says to himself, his face getting even redder as his imagination flies wildly.'
},
{
name: 'johanFutaDiscussion',
locationTags: ['johan'],
conditions: [
() => State.variables.johanOpinion >= 30,
() => State.variables.dickActive,
() => State.variables.dick >= 3
],
repeatable: false,
retriggerable: false,
priority: 'immediate',
npc: ["johan"],
content: '<<set $tempTongueLower to Math.round(($tongueLenght + 8 )* $heightMod)>> <<if $measurementSystem is "imperial">> <<set $tempTongueLower -= 2>> <</if>>It’s always nice to take a little Johan break, and you decide to knock at his door. He shouts for you to come in, and you find him staring at his laptop with an unusually serious stare. Ah, he’s on eBuy, stalking an auction for a model of a Japanese robot of some sort.<br><br><<Dialogue "player" "You">>"Auction sniping?"<</Dialogue>><br><br><<Dialogue "Johan" "Johan">>"What can I say? I’ve always been a dirty camper…"<</Dialogue>><br><br>He says with an ironic tone, but without moving a single other muscle than those of his mouth. You grab his portable game deck and sit down on the couch, legs spread wide as you bend backwards and start playing with the system upside-down, behind your back. There’s something about Johan’s apartment that apparently makes people sit in weird poses, it would seem… must be this laid-back energy.<br><br>A few minutes pass, and Johan taps the mouse loudly, before screaming a very enthused “YES!” He stands up and does a little silly victory dance… before freezing halfway during a splashy handwave, looking even sillier.<br><br>You continue to play on his game deck, but his staring at you is getting a bit weird.<br><br><<Dialogue "player" "You">>"What? I’ve seen you sitting down in weirder poses, don’t even get me started on that!"<</Dialogue>><br><br><<Dialogue "Johan" "Johan">>"Oh… yeah, I guess but… uh…"<</Dialogue>><br><br>He straightens himself up, looking a tad embarrassed. He scratches his head and turns his head away while pointing towards your crotch.<br><br><<Dialogue "Johan" "Johan">>"But, and answer sincerely… do I flaunt my package so brazenly? Because if I do, I hope it didn’t bother you…"<</Dialogue>><br><br><<Dialogue "player" "You">>"Package?"<</Dialogue>><br><br>You notice that your recent fleshy addition to your genitals is quite prominently displayed through the fabric of your <<print $outfit.bottom().name>>, its contours made clear despite still being fully covered.<<if $shyConfident > 1 || $carefreeCarefull < -1>><<Dialogue "player" "You">>"Ah, yes. That is another one of my recent… upgrades…"<</Dialogue>><br><br>Johan is not exactly shocked, but he is a bit uneasy at just how naturally you deal with it - but also at your general lack of shame. He is clearly struggling in his attempt to avert his eyes, but his curiosity is getting the best of him.<br><br><<Dialogue "Johan" "Johan">>"Uh… look, I’m sorry, I really don’t mean to stare but… it’s kinda hard when you… you know… keep it THAT public."<</Dialogue>><br><br><<Dialogue "player" "You">>"Oh, no worries. You can check it out, this is a judgment-free zone, right?"<</Dialogue>><br><br>You two are basically bros, and Johan has consistently made you feel at home no matter how crazy things got, so you feel like you should, at the very least, return the favor.<br><br><<else>>You cross your legs and sit back up, putting the game deck over your waist. Oops… you really aren’t used to this kind of faux-pas, as you hardly even manage short skirts, let alone being mindful of your new tool.<br><br><<Dialogue "player" "You">>"Uh, sorry… still getting used to it. It’s another one of my new upgrades, you know…"<</Dialogue>><br><br>Johan looks confused, but not exactly shocked. He knows you’ve been changing since you moved in, but it would seem like this one was even beyond his unusually high expectations. You can see that his mind is struggling a bit, and you are not quite sure yet of where his train of thought is going - still, it’s nice of him not to treat you in a way that makes you feel too weird.<br><br><</if>><<Dialogue "Johan" "Johan">>"So, huh… wow."<</Dialogue>><br><br><<Dialogue "player" "You">>"Yeah, you can say that again."<</Dialogue>><br><br>Johan fidgets, pretending to not be thinking about it, but you can see he really is curious about it. You can FEEL his pent-up energy accumulating as he probably is hoarding a ton of questions while trying to be polite and not just stare.<br><br><span id="choice"><<link "You know, you can just ask - before your head explodes, preferably,">><<replace "#choice">><<Dialogue "player" "You">>"Johan, something on your mind? I’m guessing you might have… a few questions?"<</Dialogue>><br><br><<Dialogue "Johan" "Johan">>"Actually… so, do you have two peeholes now? Do you still have a vagina? Are you technically a hermaphrodite? Can we test your DNA to see if your genetics changed? What about testicles? Can you impregnate someone or are you shooting blanks? Wait… if you impregnate yourself, would you birth your own twin?!?"<</Dialogue>><br><br>Wow Johan… props on creativity, you somehow managed to surprise even now.<br><br><<Dialogue "player" "You">>"OK, huh, I guess I know that answer for SOME of those questions…"<</Dialogue>><br><br>You are not sharing how disturbed you are by he even wondering about the others…<br><br><<Dialogue "player" "You">>"One peehole still, which now has a penis; Vagina still there, last I checked; Not sure how you define a hermaphrodite; Wasn’t exactly planning to get my DNA tested; And I suppose now you can really say I have some balls on me without hyperbole. I think that about covers the ones I know the answers to…"<</Dialogue>><br><br><<Dialogue "Johan" "Johan">>"That’s incredible. It’s like that episode of Stellar Trek: The Following Generation, in which the commander falls in love with a hermaphrodite alien and it raises all these questions…"<</Dialogue>><br><br>And there he goes into another Johant, as you’ve taken to call his rants. On the bright side, it has distracted him from your dick and eased the awkwardness of the situation quite a bit. On the other hand, his rant about the sexual traits of fictional characters is getting somewhat disturbing, so you decide to be on your way before you regret . <<link "Continue" $currentScene>><</link>><</replace>><</link>><<link "Johan, this is getting a bit awkward…">><<replace "#choice">><<Dialogue "player" "You">>"Uh… you have one too, right? I would assume you know how this works. And I assume the theme is just as awkward for you as it is for me?"<</Dialogue>><br><br><<Dialogue "Johan" "Johan">>"Yeah, I have one, but I was BORN with it. I don’t think you had one when I met you not that long ago..."<</Dialogue>><br><br><<Dialogue "player" "You">>"Point taken. I just assumed we had sorta figured out that I’m going through some changes lately… "<</Dialogue>><<if $muscle >= 35>>You give your tensed tree trunk quads a slap, to illustrate the noticeable muscle growth. <</if>><<if $breasts >= 35>>Cupping your breasts from below, you push your upgraded tits up for emphasis. <</if>><<if $height >= 175>>With your hands on your hips, you look up and down to signal the height difference since first meeting with Johan. <</if>><<if $tempTongueLower > 6>>Slipping your tongue around your lips, you remind him of your now lizard-like appendage. <</if>><br><br><<Dialogue "player" "You">>"You know, me being a growing girl and all… that’s just another aspect of it, I guess."<</Dialogue>><br><br>Johan’s face gets slightly red as his mental pace seems to slow down a bit.<br><br><<Dialogue "Johan" "Johan">>"Well, I guess, as a guy, we get urges that I assumed girls didn’t get as much…"<</Dialogue>><br><br>He’s clearly dancing around the subject. Still, Johan is your friend, and you aren’t sure this is a place you want to go right now.<br><br><<Dialogue "player" "You">>"I guess both of us have a lot to figure out..."<</Dialogue>><br><br><<Dialogue "Johan" "Johan">>"Oh…"<</Dialogue>><br><br>You hear a hint of disappointment in his voice, and then you realize that while you MEANT to say there was a lot to figure out about your physical evolution… it would be very easy for him to read that as figuring out where the relationship stands. You wince and squeeze your palms as you realize what you just did, and in a moment of panic, decide you don’t really want to tackle that can of worms right now.<br><br><<Dialogue "player" "You">>"Uh, well… I guess I have to go finish my laundry before… oh yeah, I gotta go clean my bathroom."<</Dialogue>><br><br>Real smooth, <<print $playerFirstName>>. Well, you and Johan seem to be pretty versed at being awkward, so you just make your way back to your apartment before either of you make things more embarrassing.<<link "Continue" $currentScene>><</link>><</replace>><</link>></span>'
}
)>><<widget dialogPicker>>
/* $args[0]: The character that needs the Dialog. */
<<script>>console.log(setup);<</script>>
<<set _dialog to "">>
<<set _listUsed to "">>
<<set _indexUsed to 0>>
/* Get's all the various tables of the character. */
<<set _triggerName to "$" + $args[0] + "Triggers">>
<<set _triggers to State.getVar(_triggerName)>>
<<set _usedTriggerName to "$" + $args[0] + "UsedTriggers">>
<<set _usedTriggers to State.getVar(_usedTriggerName)>>
<<set _triggerStrings to []>>
<<for _i to 0; _i < _triggers.length; _i ++>>
<<capture _i>>
<<if setup.bodytypes.indexOf(_triggers[_i].trigger) is -1>>
<<set _triggerStrings.push(_triggers[_i].trigger)>>
<<else>>
<<if _triggers[_i].trigger is $bodyType>>
<<set _triggerStrings.push(_triggers[_i].trigger)>>
<<else>>
/* Done to keep various lists in sync. */
<<set _triggerStrings.push("blocked")>>
<<script>>console.log("DialogPicker: skipped dialog because bodytype is no longer relevant");<</script>>
<</if>>
<</if>>
<</capture>>
<</for>>
<<script>>console.log(State.temporary);<</script>>
/* Handles immediate logic. */
<<set _immediatesName to "setup." + $args[0] + "Immediates">>
<<set _immediates to State.getVar(_immediatesName)>>
<<if _immediates.length > 0>>
<<for _i to 0; _i < _immediates.length; _i ++>>
<<capture _i>>
<<if _triggerStrings.includes(_immediates[_i].trigger) and
_usedTriggers.includes(_immediates[_i].trigger) is false>>
<<set _dialog to _immediates[_i].string>>
<<set _triggerIndex to _triggerStrings.indexOf(_immediates[_i].trigger)>>
<<set _listUsed to "_immediates">>
<<set _indexUsed to _i>>
<<break>>
<</if>>
<</capture>>
<</for>>
<</if>>
<<set _possibleRepeatables to 0>>
/* Handles Responses logic. */
<<if _dialog is "">>
<<set _responsesName to "setup." + $args[0] + "Responses">>
<<set _responses to State.getVar(_responsesName)>>
<<set _possibleResponces to []>>
<<for _i to 0; _i < _responses.length; _i ++>>
<<capture _i>>
<<set _triggerUsedDebug to _responses[_i]>>
<<if _triggerStrings.includes(_responses[_i].trigger) and
_usedTriggers.includes(_responses[_i].trigger) is false>>
<<set _possibleResponces.push(_responses[_i])>>
<<set _triggerIndex to _triggerStrings.indexOf(_responses[_i].trigger)>>
<<if _triggers[_triggerIndex].repeatable>>
<<set _possibleRepeatables += 1>>
<</if>>
<</if>>
<</capture>>
<</for>>
<<if _possibleResponces.length > 0>>
<<set _randomResponceInt to random(0, (_possibleResponces.length -1))>>
<<set _randomResponce to _possibleResponces[_randomResponceInt]>>
<<set _triggerIndex to _triggerStrings.indexOf(_randomResponce.trigger)>>
<<set _dialog to _randomResponce.string>>
<<set _listUsed to "responses">>
<<set _indexUsed to _randomResponceInt>>
<<set _responseUsed to true>>
<</if>>
<</if>>
<<set _fullUsedTrigger to _triggers[_triggerIndex]>>
<<if _dialog != "">>
<<if _fullUsedTrigger.repeatable is false>>
<<set _usedTriggers.push(_fullUsedTrigger)>>
<<run _triggers.deleteAt(_triggerIndex)>>
<</if>>
<<run State.setVar(_triggerName, _triggers)>>
<</if>>
<<set _fillerName to "setup." + $args[0] + "Filler">>
<<set _filler to State.getVar(_fillerName)>>
<<if _responseUsed>>
<<if _fullUsedTrigger.repeatable>>
<<if _filler.length > 0>>
<<set _randFiller to random(0,_possibleRepeatables)>>
<<if _randFiller is 0>>
<<set _dialog to "">>
<</if>>
<</if>>
<</if>>
<</if>>
<<if _dialog is "">>
<<set _rand to random(0, (_filler.length -1))>>
<<set _dialog to _filler[_rand]>>
<<set _listUsed to "filler">>
<<set _indexUsed to _rand>>
<</if>>
<<print _dialog>>
<br><br>
<<script>>
console.log("Used " + State.temporary.listUsed + " " + State.temporary.indexUsed);
<</script>>
<<set _name to $args[0]>>
<<script>>console.log(State.temporary.name);<</script>>
<<if $args[0] != "PostSleep">>
<<updateNPCLastSeen _name>>
<</if>>
<</widget>><<widget addTrigger>>
/* $args[0]: the trigger to be added. */
/* $args[1]: Is the trigger repeatable. */
/* $args[2]: Can the trigger be added multiple times. */
<<addTriggerInternal $args[0] $args[1] $args[2]>><</addTriggerInternal>>
<</widget>><<widget getMeasurement>>
/* $args[0]: the measurement to print. */
/* $args[1]: Whether to use cm/inch. */
<<if $args[1] is true>>
<<set _smallMeasurement to true>>
<<else>>
<<set _smallMeasurement to false>>
<</if>>
/* HUGE ideal. */
<<if $muscleGrowthStyle is "Fantasy">>
<<if $args[0] is "weight">>
<<sizeCalc 42 70 60 "$weight">>
<span class="hiden"><<weightConversion $weight>></span>
<<elseif $args[0] is "chest">>
<<sizeCalc 65 110 90 "$chestSize">>
<<numeralConversion $chestSize $args[1]>>
<<elseif $args[0] is "waist">>
<<sizeCalc 60 75 95 "$waistSize">>
<<numeralConversion $waistSize $args[1]>>
<<elseif $args[0] is "hips">>
<<sizeCalc 86 111 120 "$hipsSize">>
<<numeralConversion $hipsSize $args[1]>>
<<elseif $args[0] is "neck">>
<<sizeCalc 26 48 90 "$neckSize">>
<<numeralConversion $neckSize $args[1]>>
<<elseif $args[0] is "upperArm">>
<<sizeCalc 20 50 40 "$upperArmSize">>
<<numeralConversion $upperArmSize $args[1]>>
<<elseif $args[0] is "lowerArm">>
<<sizeCalc 20 38 35 "$lowerArmSize">>
<<numeralConversion $lowerArmSize $args[1]>>
<<elseif $args[0] is "wrist">>
<<sizeCalc 12 14 15 "$wristSize">>
<<numeralConversion $wristSize $args[1]>>
<<elseif $args[0] is "thigh">>
<<sizeCalc 43 76 76 "$thighsSize">>
<<numeralConversion $thighsSize $args[1]>>
<<elseif $args[0] is "knee">>
<<sizeCalc 25 32 32 "$kneeSize">>
<<numeralConversion $kneeSize $args[1]>>
<<elseif $args[0] is "calve">>
<<sizeCalc 25 46 46 "$calveSize">>
<<numeralConversion $calveSize $args[1]>>
<<elseif $args[0] is "ankle">>
<<sizeCalc 16 17 17 "$ankleSize">>
<<numeralConversion $ankleSize $args[1]>>
<<else>>
<<set _errorMessage to "Error in getMeasure widget: " + $args[0]>>
<<print _errorMessage>>
<</if>>
<<elseif $muscleGrowthStyle is "Realistic">>
<<if $args[0] is "weight">>
<<sizeCalc 42 80 84 "$weight">>
<span class="hiden"><<weightConversion $weight>></span>
<<elseif $args[0] is "chest">>
<<sizeCalc 65 78 90 "$chestSize">>
<<numeralConversion $chestSize $args[1]>>
<<elseif $args[0] is "waist">>
<<sizeCalc 60 60 95 "$waistSize">>
<<numeralConversion $waistSize $args[1]>>
<<elseif $args[0] is "hips">>
<<sizeCalc 86 80 120 "$hipsSize">>
<<numeralConversion $hipsSize $args[1]>>
<<elseif $args[0] is "neck">>
<<sizeCalc 26 29 90 "$neckSize">>
<<numeralConversion $neckSize $args[1]>>
<<elseif $args[0] is "upperArm">>
<<sizeCalc 20 50 40 "$upperArmSize">>
<<numeralConversion $upperArmSize $args[1]>>
<<elseif $args[0] is "lowerArm">>
<<sizeCalc 20 23 35 "$lowerArmSize">>
<<numeralConversion $lowerArmSize $args[1]>>
<<elseif $args[0] is "wrist">>
<<sizeCalc 12 13 15 "$wristSize">>
<<numeralConversion $wristSize $args[1]>>
<<elseif $args[0] is "thigh">>
<<sizeCalc 43 50 76 "$thighsSize">>
<<numeralConversion $thighsSize $args[1]>>
<<elseif $args[0] is "knee">>
<<sizeCalc 25 25 32 "$kneeSize">>
<<numeralConversion $kneeSize $args[1]>>
<<elseif $args[0] is "calve">>
<<sizeCalc 25 28 46 "$calveSize">>
<<numeralConversion $calveSize $args[1]>>
<<elseif $args[0] is "ankle">>
<<sizeCalc 16 17 17 "$ankleSize">>
<<numeralConversion $ankleSize $args[1]>>
<<else>>
<<set _errorMessage to "Error in getMeasure widget: " + $args[0]>>
<<print _errorMessage>>
<</if>>
<</if>>
<</widget>><<widget "clothingSelection">>
<<set _slot to $args[0]>>
<span id="outfitTable">
<table id="store">
<tr>
<th>Name</th>
<th>bonuses</th>
<th>Fit</th>
<th>Style</th>
<th>Actions</th>
</tr>
<tr>
<td>
<input type="radio" class="clothingItemRadiobutton" name="slotItem" value='-1'>
<label> Nothing </label>
</td>
<td> - </td>
<td> - </td>
<td> - </td>
<td> - </td>
</tr>
<<for _i to 0; _i < $wardrobe.length; _i ++>>
<<capture _i>>
<<if $wardrobe[_i].slot == _slot>>
<tr>
<td>
<<if setup.getFitFromClothing($wardrobe[_i])>>
<input type="radio" class="clothingItemRadiobutton" name="slotItem" @value=$wardrobe[_i].id>
<label for=$wardrobe[_i].name> $wardrobe[_i].name</label>
<<else>>
❌ <<print $wardrobe[_i].name>>
<</if>>
</td>
<td><<print setup.getReadableBonusFromClothing($wardrobe[_i])>></td>
<td>
<<print setup.getReadableFitFromClothing($wardrobe[_i])>></td>
<td>
<<print $wardrobe[_i].archetypes>>
</td>
<td>
<<link "Throw away">>
<<if $outfit[$wardrobe[_i].slot + 'Id'] === $wardrobe[_i].id>>
<<set $outfit[$wardrobe[_i].slot + 'Id'] to null>>
<</if>>
<<set $wardrobe.splice(_i, 1)>>
<<script>>
$(".macro-live").trigger(":liveupdateinternal");
$(document).trigger(":liveupdate");
if (Dialog.isOpen()) {
Dialog.close();
}
<</script>>
<</link>>
</td>
</tr>
<</if>>
<</capture>>
<</for>>
<<timed 0s>>
<<script>>
const boxes = $('input.clothingItemRadiobutton');
boxes.on('change', function () {
let id = parseInt(document.querySelector('input[name="slotItem"]:checked').value);
id = id === -1 ? null : id;
State.variables.outfit[State.temporary.slot + 'Id'] = id;
$('.macro-live').trigger(':liveupdateinternal');
$(document).trigger(':liveupdate');
if (Dialog.isOpen() == true) {
Dialog.close();
}
});
<</script>>
<</timed>>
</table>
</span>
<</widget>>/* Skills */
<<set $skills to [{
"name": "Working out",
"level": 0,
"experience": 0,
"description": "Experience in working out will allow you to build muscle quicker and with less effort. Once you're experienced enough, you might even be able to work as a personal trainer, or make a career out of it!",
"unlocks": ["• Workouts take 25% less time<br>• Gain muscles 10% faster<br>• Working out gives 10% less exhaustion", "• Gain muscles 10% faster<br>• Gained +1 confidence", "• Gain muscles 20% faster<br>• Working out gives 20% less exhaustion", "• Workouts take 25% less time<br>•Gain muscles 10% faster<br>• Gained +1 confidence"]
}, {
"name": "Cooking",
"level": 0,
"experience": 0,
"description": "Cooking will help you cook healthy meals while making them cost less. You might also be able to put yourself on special diets to better shape your body!",
"unlocks": ["• Cooking is 10% cheaper<br>• Adds an extra 10% to motivation gains from meals","• Cooking is 10% quicker","• Allows you to store prepared meals","• Cooking is 20% quicker", "• Cooking is 20% cheaper<br>• Adds an extra 20% to motivation gains from meals"]
}, {
"name": "Book keeping",
"level": 0,
"experience": 0,
"description": "Book keeping will help you track your expenses and help you with your finances.",
"unlocks": ["• Not implemented yet", "• Not implemented yet", "• Gained +1 carefulness", "• Not implemented yet", "• Gained +1 carefulness"]
}, {
"name": "gaming",
"level": 0,
"experience": 0,
"description": "Hey, playing video games is a skill, alright? Shame you can't make money with it... or can you?",
"unlocks": ["• Not Implemented yet", "• Not Implemented yet", "• Not Implemented yet", "• Not Implemented yet"]
}, {
"name": "modelling",
"level": 0,
"experience": 0,
"description": "Striking the right poses and looking good, there must be a way to make a career out of this!",
"unlocks": ["•Not implemented yet", "• Not Implemented yet", "• Not Implemented yet", "• Not Implemented yet"]
}, {
"name": "potion brewing",
"level": 0,
"experience": 0,
"description": "It's not so much science as trying to decipher some poorly written recipes.",
"unlocks": ["•Not implemented yet", "•Not implemented yet", "•Not implemented yet", "•Not implemented yet", "• Not Implemented yet", "• Not Implemented yet", "• Not Implemented yet"]
}, {
"name": "Sewing",
"level": 0,
"experience": 0,
"description": "Got to make fitting clothes somehow.",
"unlocks": ["• Scrapping a project returns 50% more fabric", "• Clothing can now be made from scratch from a sewing machine", "• Scrapping a project returns 75% more fabric","• Sewing takes 33% less time"]
}
]>>
<<set $fabricScrapPercentage to 0.25>>
<<set $skillIndexes to []>>
<<for _i to 0; _i < $skills.length; _i ++>>
<<capture _i>>
<<set $skillIndexes.push($skills[_i].name)>>
<</capture>>
<</for>><<set $minorCharacters to
[
"Eddy",
"Simon",
"Tasha"
]>>
<<set $johanVisited to false>>
<<set $johanLastMuscle to 20>>
<<set $johanLastFat to 20>>
<<set $johanLastBreasts to 10>>
<<set $johanLastDick to 0>>
<<set $johanLastHeight to 150>>
<<set $johanAmountVisited to 0>>
<<set $johanOpinion to 10>>
<<set $emmaVisited to false>>
<<set $emmaLastMuscle to 20>>
<<set $emmaLastFat to 20>>
<<set $emmaLastBreasts to 10>>
<<set $emmaLastDick to 0>>
<<set $emmaLastHeight to 150>>
<<set $emmaAmountVisited to 0>>
<<set $emmaOpinion to 0>>
<<set $emmaFirstDateTime = new Date('June 1, 2020 13:37:00')>>
<<set $elenaVisited to false>>
<<set $elenaLastMuscle to 20>>
<<set $elenaLastFat to 20>>
<<set $elenaLastBreasts to 10>>
<<set $elenaLastDick to 0>>
<<set $elenaLastHeight to 150>>
<<set $elenaAmountVisited to 0>>
<<set $elenaOpinion to 0>>
<<set $elenashyVisited to false>>
<<set $elenaShyLastMuscle to 20>>
<<set $elenaShyLastFat to 20>>
<<set $elenaShyLastBreasts to 10>>
<<set $elenaShyLastDick to 0>>
<<set $elenaShyLastHeight to 150>>
<<set $elenaShyAmountVisited to 0>>
<<set $elenaShyOpinion to 0>>
<<set $elenaUnlocked to false>>
<<set $krisVisited to false>>
<<set $krisLastMuscle to 20>>
<<set $krisLastFat to 20>>
<<set $krisLastBreasts to 10>>
<<set $krisLastDick to 0>>
<<set $krisLastHeight to 150>>
<<set $krisOpinion to 0>>
<<set $krisAmountVisited to 0>>
<<set $krisObsessedVisited to false>>
<<set $krisObsessedLastMuscle to 20>>
<<set $krisObsessedLastFat to 20>>
<<set $krisObsessedLastBreasts to 10>>
<<set $krisObsessedLastDick to 0>>
<<set $krisObsessedLastHeight to 150>>
<<set $krisObsessedOpinion to 0>>
<<set $krisObsessedAmountVisited to 0>>
<<addTrigger "krisBored" false false>>
<<set $krisInterested to false>>
<<set $krisObsessed to false>>
<<set $krisLove to 0>>
<<set $tashaOpinion to 0>>
<<set $simonOpinion to 0>>
<<set $eddyOpinion to 0>><<widget "updateNPCLastSeen">>
<<set _name to $args[0].toLowerCase()>>
<<set _visitedName to "$" + _name + "Visited">>
<<run State.setVar(_visitedName, true)>>
<<set _muscleName to "$" + _name + "LastMuscle">>
<<run State.setVar(_muscleName, $muscle)>>
<<set _fatName to "$" + _name + "LastFat">>
<<run State.setVar(_fatName, $fat)>>
<<set _breastsName to "$" + _name + "LastBreasts">>
<<run State.setVar(_breastsName, $breasts)>>
<<set _dickName to "$" + _name + "LastDick">>
<<run State.setVar(_dickName, $dick)>>
<<set _heightName to "$" + _name + "LastHeight">>
<<run State.setVar(_heightName, $height)>>
<<set _amountVisitedName to "$" + _name + "AmountVisited">>
<<set _newAmount to State.getVar(_heightName) + 1>>
<<run State.setVar(_amountVisitedName, _newAmount)>>
<</widget>><<for _iCharacterFrameUpdate to 0; _iCharacterFrameUpdate < setup.characters.length; _iCharacterFrameUpdate ++>>
<<capture _iCharacterFrameUpdate>>
<<set _name to setup.characters[_iCharacterFrameUpdate].name.charAt(0).toLowerCase() + setup.characters[_iCharacterFrameUpdate].name.slice(1)>>
<<if _name is "kris" and $krisObsessed is false>>
<<continue>>
<</if>>
<<set _lastMuscleName to "$" + _name + "LastMuscle">>
<<set _lastMuscle to State.getVar(_lastMuscleName)>>
<<if $muscle > _lastMuscle + 30>>
<<set _triggerName to _name + "Muscle" + "30">>
<<addTrigger _triggerName false false>>
<<elseif $muscle > _lastMuscle +20>>
<<set _triggerName to _name + "Muscle" + "20">>
<<addTrigger _triggerName false false>>
<<elseif $muscle > _lastMuscle +10>>
<<set _triggerName to _name + "Muscle" + "10">>
<<addTrigger _triggerName false false>>
<<elseif $muscle > _lastMuscle>>
<<set _triggerName to _name + "Muscle">>
<<addTrigger _triggerName false false>>
<</if>>
<<set _lastFatName to "$" +_name + "LastFat">>
<<set _lastFat to State.getVar(_lastFatName)>>
<<if $fat > _lastFat + 30>>
<<set _triggerName to _name + "Fat" + "30">>
<<addTrigger _triggerName false false>>
<<elseif $fat > _lastFat +20>>
<<set _triggerName to _name + "Fat" + "20">>
<<addTrigger _triggerName false false>>
<<elseif $fat > _lastFat +10>>
<<set _triggerName to _name + "Fat" + "10">>
<<addTrigger _triggerName false false>>
<<elseif $fat > _lastFat>>
<<set _triggerName to _name + "Fat">>
<<addTrigger _triggerName true false>>
<</if>>
<<set _lastBreastsName to "$" +_name + "LastBreasts">>
<<set _lastBreasts to State.getVar(_lastBreastsName)>>
<<if $breasts > _lastBreasts + 30>>
<<set _triggerName to _name + "Breasts" + "30">>
<<addTrigger _triggerName false false>>
<<elseif $breasts > _lastBreasts +20>>
<<set _triggerName to _name + "Breasts" + "20">>
<<addTrigger _triggerName false false>>
<<elseif $breasts > _lastBreasts +10>>
<<set _triggerName to _name + "Breasts" + "10">>
<<addTrigger _triggerName false false>>
<<elseif $breasts > _lastBreasts>>
<<set _triggerName to _name + "Breasts">>
<<addTrigger _triggerName false false>>
<</if>>
<<set _lastDickName to "$" +_name + "LastDick">>
<<set _lastDick to State.getVar(_lastDickName)>>
<<if $dick > _lastDick + 10>>
<<set _triggerName to _name + "Dick" + "10">>
<<addTrigger _triggerName false false>>
<<elseif $dick > _lastDick + 5>>
<<set _triggerName to _name + "Dick" + "5">>
<<addTrigger _triggerName false false>>
<</if>>
<<set _lastHeightName to "$" +_name + "LastHeight">>
<<set _lastHeight to State.getVar(_lastHeightName)>>
<<if $height > _lastHeight + 30>>
<<set _triggerName to _name + "Height" + "30">>
<<addTrigger _triggerName false false>>
<<elseif $height > _lastHeight + 10>>
<<set _triggerName to _name + "Height" + "10">>
<<addTrigger _triggerName false false>>
<<elseif $height > _lastHeight>>
<<set _triggerName to _name + "Height">>
<<addTrigger _triggerName false false>>
<</if>>
<</capture>>
<</for>><<link "Go back" "ShoppingCenter">><<addMinutes 5>><</link>>The town's Big & Tall Boutique is ironically tiny, though the selection they offer for 'enhanced size' customers is pretty good. The clothes ARE more expensive, but at least they fit bigger folks decently.
<<ClothingStoreWidget $bigTallInventory>>
<<link "Go back" "ShoppingCenter">><<addMinutes 5>><</link>><h1> Credits </h1>
<h2>Art:</h2>
<a href="https://twitter.com/sovietmarmalade" target="_blank" rel="noopener noreferrer">SovietMarmalade</a>
<h2>Beta testers:</h2>
Fukuda Kazuma
Neochu-Hybrid
Azazellz
Rajtar
Zeni G
Abax
Dionysus
DanMingle
LL
James with the Games
Samui-Oni
EgomaniacalJaguar
CaptainGeneralKitten
Waffle
<h2>Co-Writers:</h2>
Fukuda Kazuma
MrSnrub
Abax
Rajtar
ShadShadson
Samui-Oni
CaptainGeneralKitten
[[Return|$return]]<<nobr>>
<<set _rand to random(0,2)>>
<<set _message to "As the liquid pours down your throat, you can only describe it as 'meaty'. It’s thick and you swear there are strings of meat still in it. As it reaches your stomach, it feels like a punch to the gut, almost making you fall over!">>
<<if _rand >= 1>>
<<set _message += " The tense, sickening feeling continues to travel through your body as all your muscles contract at once. Though it should feel horrible, it makes you think of the most intense workout you can imagine, and all your muscles just feel BIG!">>
<<set $muscle += setup.balance.musclePotionsAllowancePerDay>>
<<addMuscleSlow setup.balance.musclePotionsAllowancePerDay>>
<</if>>
<<if _rand >= 2>>
<<set _message += " As the feeling recedes, you can't help but flex, a new vein crawling over your arm. GOD, this felt good! You feel lighter, more agile, just... great!">>
<<set $fat -= random(1,5)>>
<<set $breasts -= random(5,10)>>
<</if>>
<<script>>
if (Dialog.isOpen() == false) {
var dialog = Dialog.setup("Muscle Boost 29D");
new Wikifier(dialog, State.temporary.message);
Dialog.open();
}
<</script>>
<</nobr>><<nobr>>
<<widget "addDickSlow">>
<<if $futa>>
<<set $dickStore += parseFloat($args[0]) * $growthMod>>
<</if>>
<</widget>>
<</nobr>><<nobr>>
<<set _rand to random(0,2)>>
<<set _message to "Drinking the liquid feels just... awkward. Some parts of the liquid are thicker than others, and some of it dribbles on your chin. The overly sweet and sour taste just lingers far too long on your tongue. If you had to take a guess at what this was, you'd say someone boiled a crab in soda and added in pineapple, then strained it through their socks. As the oily liquid glides down, all you can do is focus on not throwing up.">>
<<set _message += " The odd, almost sickening feeling travels through your body and spreads, lingering in your limbs. They feel awkward and dull, reminding you of your early teenage years. Even the soreness is familiar.">>
<<addHeightSlow setup.balance.heightAllowancePerDay>>
<<set $tiredness += 10>>
<<if _rand >= 2>>
<<set _message += " A haze passes over your mind, making it hard to concentrate. A bunch of lewd thoughts invade your mind as you start sweating buckets. It all is gone as quickly as it came, but every now and then you still get some throughout the day.">>
<<addDickSlow 2>>
<<addBreastsSlow setup.balance.breastAllowancePerDay>>
<<set $tiredness += 10>>
<<set $lactationUnlockedPoints += 1>>
<</if>>
<<script>>
if (Dialog.isOpen() == false) {
var dialog = Dialog.setup("Puberty++");
new Wikifier(dialog, State.temporary.message);
Dialog.open();
}
<</script>>
<</nobr>><<nobr>>
<<set _rand to random(0,2)>>
<<set _message to "This... tastes quite good! Warm, refreshing and creamy, but not too sweet! Licking your lips, you feel like you could have this more often!">>
<<set $motivation += 20>>
<<set _rand to random(0,2)>>
<<if _rand >= 1>>
<<set _message += " You feel refreshed, like you just had a nourishing meal. It makes you want more of this stuff!">>
<<addBreastsSlow setup.balance.breastAllowancePerDay>>
<<set $lactationUnlockedPoints += 1>>
<<if $lactationUnlocked && $milkProduction <= setup.balance.milkProductionFactor>>
<<set $milkProduction += 1>>
<<set _message += " Your nipples swell up a bit, with a pleasant warmth. You're quite sure your breasts just got more productive again!">>
<</if>>
<</if>>
<<if _rand >= 2>>
<<set _message += " And you don't know why, but you WANT more too! Your body just kind of screams for it! Maybe it’s time for a nice snack, and you crave something nice, creamy and buttery!">>
<<set $lactationUnlockedPoints += 1>>
<<if $lactationUnlocked && $milkProduction <= setup.balance.milkProductionFactor>>
<<set $milkProduction += 1>>
<</if>>
<<addFatSlow 5>>
<</if>>
<<script>>
if (Dialog.isOpen() == false) {
var dialog = Dialog.setup("Lact-aid");
new Wikifier(dialog, State.temporary.message);
Dialog.open();
}
<</script>>
<</nobr>><<nobr>>
<<widget "addHeightSlow">>
<<set $heightStore += parseFloat($args[0]) * $growthMod>>
<</widget>>
<</nobr>>Browsing for a bit, you look for any jobs are available. You get the impression that the entire town is in a bit of a slump. Most positions either demand you have a degree, or travel WAY far! But as you search, you get a notification from some big streaming site. Hmmm. If there are no jobs available, all you need to get started with streaming is a webcam. Any good electronics store should have those. It’s not guaranteed income but... it might be worth a try, right? You also see an advertisement for one of the fitness stores in town; the bulk barn. The advertisement is't the clearest on what its about, but you think they're looking for some extra help?
<br><br>
Just as you were about to give up, something catches your eyes. A small advertisement for a low-level data entry job in one of the bigger firms in town. Let's see... strict dress code... no experience required! And it pays surprisingly well! You could schedule a job interview, if you are interested!
<br><br>
<span id="choice">
<<link "Let's do it!">>
<<replace "#choice">>
<<set $jobInterview to true>>
<<set _day to $gameDate.getDay()>>
<<set $jobInterviewDate to new Date('June 1, 2020 13:37:00')>>
<<if _day + 2 != 0 and _day +2 != 6>>
<<set $jobInterviewDate.setDate($gameDate.getDate() + 2)>>
<<elseif _day + 1 != 0 and _day + 1 != 6>>
<<set $jobInterviewDate.setDate($gameDate.getDate() + 1)>>
<<elseif _day + 3 != 0 and _day +3 != 6>>
<<set $jobInterviewDate.setDate($gameDate.getDate() + 3)>>
<</if>>
<br><br>
Sending an email with you basic information and your CV, you try to kill time browsing the web for a bit. Suddenly, you get an email back! It's from one 'Emma Fray' at 'Financial Gains and Bulk Orders LLC.';
<br><br>
'Dear prospective candidate,
<br><br>
We at Financial Gains and Bulk Orders LLC are always looking for new talent to add to our dynamic and goal-oriented team. Upon reviewing your resume and application, we believe you would be a positive addition to our team. For this reason, we would like to schedule an interview for <<print $jobInterviewDate.toLocaleString("en-US", { weekday: 'long', month: 'short', day: 'numeric', year: 'numeric' } )>>, 14:00. We strongly encourage the use of formal attire in our workspace.
<br><br>
With the highest regards,
<br><br>
Emma Fray, Human Resources
<br><br>
<<gameLink "Time to prepare for it!" "Home" motivation:30>><</gameLink>>
<</replace>><</link>>
<br><br>
<<gameLink "Maybe some other time." "Home" motivation:-10>><</gameLink>>
</span><<if $jobInterview>>
<<goto "jobInterviewRoot">>
<</if>>
<<set _bodyDismissal to $muscle > 60 or $height > 240 or $fat > 80 or $breasts > 60 or $dick > 20>>
<<set _jobSideGrade to $muscle > 40>>
<<if _jobSideGrade and $daysWorkedOffice > 8 and $jobInterview is false and $jobWarehouse != true and $jobSideGradeOffered != true>>
<<set $jobSideGradeOffered to true>>
<<goto "jobSideGrade">>
<</if>>
<<if _bodyDismissal and $dismissalOffered is false and $daysWorkedOffice > 8 and $jobInterview is false and $jobWarehouse is false>>
<<goto "jobDismissal">>
<</if>>
<<if $officeWarning > 3 and $daysWorkedOffice > 8 and $jobInterview is false>>
<<goto "jobFiring">>
<</if>>
<<set _rand to random(1,3)>>
<<for _i to 0; _i < $skills.length; _i ++>>
<<capture _i>>
<<if $skills[_i].name is "Book keeping">>
<<set _SkillI to _i>>
<</if>>
<</capture>>
<</for>>
<<set _rand to random(-1,1)>>
<<set _relevantSkill to $skills[_SkillI].level + _rand>>
<<set _relevantSkill to Math.clamp(_relevantSkill, 0, 4)>>
Arriving at the office, you make sure to get a big mug of what appears to be coffee and start your PC.
<<if $gameDate.getHours() >= 11>> Your eyes catch Emma's, who looks at you and then to the clock with an unhappy expression. Seems like you'll need to watch the time more closely...
<</if>>
Your entire inbox is full of tasks due today, meaning you won't have stop and think for a single second. As you get through it, you already know this is going to be a 'fun' day.
<br><br>
<span id="work">
<<if $emmaVisited is false>><<link "chat with Emma" "EmmaWork">><<set $eventCounter to setup.balance.eventTresshold + 1>><<set $emmaVisited to true>><</link>><br><br><</if>>
<<set _minutes to 0>>
<<script>>
var dt2 = new Date(State.variables.gameDate.getTime());
dt2.setHours(17);
var diff =(dt2.getTime() - State.variables.gameDate.getTime()) / 1000;
diff /= 60;
console.log("got here: " + State.variables.gameDate);
console.log("got here: " + dt2);
console.log("got here: " + diff);
State.temporary.minutes = diff;
<</script>>
<<if $jobWarehouse != true>><<gameLink "get to work" "workResult" time:_minutes minexhaustion:30 exhaustion:30 motivation:-10>><</gameLink>><<else>><<link "Go to the warehouse to work there" "jobWarehouse">><<set $boxesShifted to 0>><</link>><</if>>
<br><br>
</span><<set _failed to false>>
Arriving at the building you find a typical office space; a tall building with black glass on all sides. It seems the architect wanted to break with the style of the city as much as possible just from how much it stand out from the rest of the city. Adjusting your clothing you get in, trying to be as confident as possible. You're warmly greeted by a receptionist who barely looks at you before being brought to a small offfice, another applicant waiting there in uncomfortable chairs. For a split second it reminds you of a meatgrinder but you supress those thoughts as you wait. Almost half an hour later its finally your turn, a calm but cold voice calling out.
<br><br>
<<Dialogue "Emma" "Emma">>"NEXT."<</Dialogue>>
<br>
<<if $height > 300 or $muscle > 60 or $fat > 60 and _failed is false>>As you swallow you slowly get up, your entire body filling the small hallway and the chair groaning with relieve as your weight is released from it. With a huge amount of effort you squeeze yourself through the door into the tiny office, where a small but suprisingly professional women is waiting. Her suit is in pristine condition while unimpressed eyes look you over. Well, they appear unimpressed. But perhaps it's better to say she's holding something back; the lady seems oddly judgemental.
<br><br>
<<Dialogue "Emma" "Emma">>"Please, be welcome. I'm Emma Fray, human resourse manager at Financial Gains and Bulk orders ltd. Before we start... you do realize you'll need to work in an office cubicle, yes? Now, no offense but do you really think you can work here at your... physique...? Now, we could go on with the job interview but I should tell you upfront we unfortunately do not have facilities to accomodate someone your size."<</Dialogue>><br><br>
<<set _failed to true>>
<<link "...I'll see myself out." "Home">><</link>>
<<elseif $dick > 20 or $breasts > 80 or $outfitWarning < $outfitNudeWarning>>
As you walk in you find a tiny office where a small but suprisingly professional women is waiting. Her suit is in pristine condition while unimpressed eyes look you over. You can't help but feel like she's judging you already and none to impressed by your looks, ESPECIALLY not by your outfit.
<br><br>
<<Dialogue "Emma" "Emma">>"Please, be welcome. I'm Emma Fray, human resourse manager at Financial Gains and Bulk orders ltd. However, we DID ask in our email that you wear representative business clothing. And with your current outfit I cannot see you representing us or being part of our team. Thank you for your time."<</Dialogue>>
<br><br>
...It seems your outfit was just... a bit too revealing. And looking down at your tight cloths barely hiding some parts of you, you can't really call them out on it. Shit.<br><br>
<<set _failed to true>>
<<link "...I'll see myself out." "Home">><</link>>
<<elseif $muscle > 40 or $height > 210 or $fat> 60 or $breasts > 60>>
As you walk in, getting through the door with some difficulty, you find a tiny office where a small but suprisingly professional women is waiting. Her suit is in pristine condition while unimpressed eyes look you over. You can't help but feel like she's judging you already and none to impressed by your... appearance.
<br><br>
<<Dialogue "Emma" "Emma">>"Please, be welcome. I'm Emma Fray, human resourse manager at Financial Gains and Bulk orders ltd. Today we will be discussing your possible employement as junior administrative employee. Now, what we offer here at-"<</Dialogue>>
<br><br> She goes through a list of what the job offers, pointedly not making any remarks about your appearance. But you know she noticed, and she noticed you noticed her noticing, making it all slightly awkward. Several times her gaze pases over you in judgement.
<<else>>
As you walk in you find a tiny office where a small but suprisingly professional women is waiting. Her suit is in pristine condition while unimpressed eyes look you over. You can't help but feel like she's judging you already and none to impressed by your looks.
<br><br>
<<Dialogue "Emma" "Emma">>"Please, be welcome. I'm Emma Fray, human resourse manager at Financial Gains and Bulk orders ltd. Today we will be discussing your possible employement as junior administrative employee. Now, what we offer here at-"<</Dialogue>>
<br><br> She goes through a list of what the job offers, now and then her eyes travelling over you in judgement.
<br><br>
<</if>>
<<if _failed is false>>
<<if $breasts > 40>> Her gaze passes over your huge chest too and... her gaze lingers there a moment longer than she does at the rest of your body. It seems she's too polite to say anything, but definetly does notice it! She stalls her speaking for a bit, clearly distracted.
<</if>>
<<if $dick > 12>> And you can't help but notice her eyes travel towards your... bulge several times.And while she doesn't say anything it's clear she's NOT used to dealing with it!
<</if>>
<<if $muscle > 40>> Several times you notice her gaze passing over your arms, your pecs, or your thick thighs. And though her looks remains judgemental she doesn't seem to dislike them. In fact she almost seems... impressed?!
<br><br>
<<Dialogue "Emma" "Emma">>"You look impressive, by the way. Well done.
<<if $muscle > 60>>
But please do know we have a strict now drugs policy... and that does include steroids."<</if>>
<</Dialogue>>
<br><br>
<</if>>
<<if $height > 210>> Everytime she looks you in the eye she has to look up a lot, and each time you catch that little sliver of suprise.
<br><br>
<<Dialogue "Emma" "Emma">>"Now we pride ourselves on our diverse staff and we will try to accomendate someone your... size but I do hope you understand there are limits to what we can achieve."
<</Dialogue>>
<br><br>
<</if>>
<<if ['professional', 'stylish'].includes($outfit.style())>> Her eyes travel over your outfit too a few times, and...
<br><br>
<<Dialogue "Emma" "Emma">>"I see you have dressed for the occasion though. That speaks to your favor. Not everyone could be bothered, I'm sad to say."
<</Dialogue>>
<br><br>
<<else>>
<br><br>
<<Dialogue "Emma" "Emma">>"We did ask for you to wear office wear to this interview though. Small point of advice; if a position requires a certain dresscode, do follow it."
<</Dialogue>>
<br>Well, the lady is almost spitting that out like acid...
<</if>>
<br><br>
<<Dialogue "Emma" "Emma">>"ANYWAY! That was a lot of talking on my part but I'd like to hear why YOU think you're qualified for this position. "
<</Dialogue>>
<<display "jobInterviewQuestions">>
<</if>><<for _i to 0; _i < $skills.length; _i ++>>
<<capture _i>>
<<if $skills[_i].name is "Book keeping">>
<<set _skillI to _i>>
<</if>>
<</capture>>
<</for>>
<<set $jobInterview to false>>
<<set $jobInterviewOver to true>>
<<set $jobInterview to true>>
<<set _day to $gameDate.getDay()>>
<<set $jobInterviewDate to new Date('June 1, 2020 13:37:00')>>
<<if _day + 7 is 1>>
<<set $jobInterviewDate.setDate($gameDate.getDate() + 7)>>
<<elseif _day + 6 is 1>>
<<set $jobInterviewDate.setDate($gameDate.getDate() + 6)>>
<<elseif _day + 5 is 1>>
<<set $jobInterviewDate.setDate($gameDate.getDate() + 5)>>
<<elseif _day + 4 is 1>>
<<set $jobInterviewDate.setDate($gameDate.getDate() + 4)>>
<<elseif _day + 5 is 1>>
<<set $jobInterviewDate.setDate($gameDate.getDate() + 5)>>
<<elseif _day + 5 is 1>>
<<set $jobInterviewDate.setDate($gameDate.getDate() + 5)>>
<<elseif _day + 5 is 1>>
<<set $jobInterviewDate.setDate($gameDate.getDate() + 5)>>
<</if>>
<br><br>
<<set $firstJobDay to $gameDate>>
<br>
<span id="question1">
<<link "Talk about your book-keeping skills">>
<<replace "#question1">>
<<if $skills[_skillI].level < 2>>
<<Dialogue "player" "You">>"Errr, well, I might not know much about... you know, administration or bookkeeping but... I have a real can-do attitude and I don't mind working late!"<</Dialogue>>
<br>
Emma blinks a few times, her face frozen with visible confusion and annoyance. Taking a deep breath, she pinches the bridge of her nose.
<br><br>
<<Dialogue "Emma" "Emma">>“... Do you have ANY relevant skills...?"<</Dialogue>>
<br><br>
<span id="question2">
<<link "...No, but I can try?">>
<<replace "#question2">>
<<Dialogue "player" "You">>"Well... no, but I am a fast learner, and I will give it my best shot?"<</Dialogue>><br>
<<Dialogue "Emma" "Emma">>“... Fine. We're severely understaffed and I need more people ASAP. We'll start you off at a reduced wage. You start next Monday at 9 AM, and the shift ends at 5 PM. The workdays go from Mondays to Thursdays. Congratulations, Ms. <<print $playerLastName>>."<</Dialogue>><br>
While rubbing her temple, she gives you a contract to sign. You get the feeling that as soon as you leave her office, she will go for a large mug of coffee, which she sorely needs.<br><br>
<<link "...You got the job?!" "Home">><<set $job to true>><<set $jobOffice to true>><<set $jobInterview to false>><</link>>
<</replace>><</link>><br><br>
<<link "...I'll see myself out." "Home">><<set $jobInterview to false>><</link>>
</span>
<<elseif $skills[_skillI].level < 4>>
<<Dialogue "player" "You">>"Though I have no professional experience in the area, I've done some online courses and have a decent amount of knowledge on it. Here are some samples of my work and-"<</Dialogue>>
<br>
Impressed, Emma grabs the papers you prepared. Browsing through them, she is convinced you at least know enough for the job, and while far from a professional, her lips slowly form into a hesitant smile.
<<Dialogue "Emma" "Emma">>"While its clear you're not traditionally educated on this... I can certainly appreciate the effort and dedication it took for you to accomplish this in your free time. I think we can start you off as a paid trainee. You would work Mondays through Thursdays, from 9 AM to 5PM. We'll give the basic orientation, and, of course, as you improve, so will your wages. Your thoughts?"<</Dialogue>><br>
<<link "I look forward to working with you!" "Home">><<set $job to true>><<set $jobOffice to true>><<set $jobInterview to false>><</link>>
<<link "This is not for me, sorry." "Home">><<set $jobInterview to false>><</link>>
<<elseif $skills[_skillI].level < 5>>
You can't help but smile, your recent attempts at learning some accounting are certainly paying off here.
<<Dialogue "player" "You">>"You'll find I've done several certified online courses and have gone through plenty of materials on the topic."<</Dialogue>>
<br>
With confidence, you slide her a list, and immediately clear that she is very pleased.<br><br>
<<Dialogue "Emma" "Emma">>"Well, since this is an entry level position, you certainly seem qualified enough... I think we can safely start you off as a trainee, which comes with an entry-level salary. You would work from Mondays through Thursdays, 9 AM to 5 PM. We'll run you through the basic orientation, and, assuming there are no issues, I plan to approve a small pay bump to your initial wage, given your education. Would these be agreeable terms?"<</Dialogue>><br>
<<link "I look forward to working with you!" "Home">><<set $job to true>><<set $jobOffice to true>><<set $jobInterview to false>><</link>>
<<link "This is not for me, sorry." "Home">><<set $jobInterview to false>><</link>>
<</if>>
<</replace>><</link>><br><br>
<<if $muscle > 40>><<link "Try to flex your way through the interview">>
<<replace "#question1">>
A stupid idea stirs up in your head, and against your better judgement, you decide to roll with it. Putting on a playful face, you decide to lean back, 'accidentally' showing off your <<getMeasurement "upperArm" true>> arms. Emma's eyes immediately change from curiosity to interest; clearly she was intrigued, at the very least!<br><br>
<<Dialogue "player" "You">>"Well, though my experience is... unorthodox... you could say I bring a lot to the table for Financial <b>Gains</b> and <b>Bulk</b> Orders LLC! I have a LOT of experience with BIG, LONG TERM GAINS-"<</Dialogue>><br>
Slowly you move your arms and push your chest out, making sure to make it pop. You're still not unable to properly read Emma’s reaction, but you’ve got this far, there’s no turning back now.<br><br>
<<Dialogue "player" "You">>"-And you can say I've got plenty of GROWTH potential! You're looking at some solid, rock-hard numbers and I'll be SURE to get them even bigger! I mean, higher! And with your help, I'm sure we can INFLATE those targets even-"<</Dialogue>><br>
Suddenly Emma cannot hold her giggling any longer. Her fist slams against the desk loudly as tears form on her eyes. It almost seems like she would run out of breath when a ripping sound came from your clothes, strained from your posing! Emma looks up, smiling and a bit stunned, trying to calm herself down.<br><br>
<<Dialogue "Emma" "Emma">>"Goddamn it, I never expected... ANYONE... would have the guts to pull a stunt like that. God, that was... did you really expect that would work? That you could flex and that... that... that I'd give you the job just because of those delectable muscles? I... really, the sheer hubris... <</Dialogue>><br>
Yet, she pauses for a moment, recomposing herself with a deep breath. She looks at you, twice as serious as when she started, pursing her lips. Then she rolls her eyes and continues:<br><br>
<<Dialogue "Emma" "Emma">>"You know what? At least I can’t fault you for your determination. And seeing as all I got today was incompetent buffoons and the overly confident incompetents, I might as well give you a chance! But I will scrutinize your work, and any mistakes will cost you the job. Do I make myself clear?"<</Dialogue>><br>
<<link "... That worked?!" "Home">><<set $job to true>><<set $jobOffice to true>><<set $jobInterview to false>><</link>>
<</replace>><</link>><br><br><</if>>
<<link "Try to bullshit your way through.">>
<<replace "#question1">>
<<Dialogue "player" "You">>"Well, you'll find I have a great synergistic energy which can be exploited with maximum expenditure to move unilaterally towards business targets. Combined with my single-implementation pattern of thinking, I will work to my utmost limit to streamline my business analytical systems while deriving towards optimal entropic retention."<</Dialogue>><br>
Emma blinks a few times, resting her forehead on her hand.
<<Dialogue "Emma" "Emma">>“... Get out."<</Dialogue>><br>
<<link "Got it!" "Home">><<set $jobInterview to false>><</link>>
<</replace>><</link>>
</span><<if $height <= 225 and $height >= 200>>
Offices really are not made for people your size; Your desk, your cubicle... everything just feels incredibly cramped!
<<elseif $height <= 250 and $height >= 225>>
Offices really are not made for people your size; Your desk, your cubicle... everything just feels cramped! And that’s not even dealing with the doorways, which are a challenge of their own!
<<elseif $height >= 250>>
Offices really are not made for people your size; Your desk, your cubicle... everything just feels cramped! You are almost forced to crawl through the building!
<</if>><<nobr>>
<<set _officeEvents to [
{warning: false,
message: ""
},
{warning: false,
message: ""
}
]>>
/* height */
<<if $height <= 170>>
<<set _officeEvents.push(
{warning: false,
message: "During the day you keep having problems with your chair, or your desk being the wrong height. Ugh, couldn't they at least get some stuff your size? You're not the biggest, but still!"})>>
<</if>>
<<if $height <= 200 and $height >= 180>>
<<set _officeEvents.push(
{warning: false,
message: "While you're on lunch break, one of your colleagues makes a snide remark about how tall you are, stating that 'at least you can reach the counter in the kitchen'. Too bad for him Emma heard that, causing him to quickly be called into her office. It seems they do not tolerate that kind of behavior here!"})>>
<</if>>
<<if $height <= 230 and $height >= 190>>
<<set _officeEvents.push(
{warning: false,
message: "While you try to work, people keep coming up to you, asking whether you play basketball, or making some thinly-veiled and quite lame attempts at flirting. It’s only when the sharp whip of Emma's voice is heard that everyone returns to their seats."})>>
<</if>>
<<if $height <= 230 and $height >= 190>>
<<set _officeEvents.push(
{warning: false,
message: "While you try to work, people keep coming up to you, asking whether you play basketball, or making some thinly-veiled and quite lame attempts at flirting. It’s only when the sharp whip of Emma's voice is heard that everyone returns to their seats."})>>
<</if>>
<<if $height >= 220>>
<<set _officeEvents.push(
{warning: false,
message: "As you lean back to think about a particularly challenging account, you suddenly hear a loud creaking, and suddenly fall backwards as the back of your chair breaks clean off! All eyes turn to you, but everyone is too polite to say anything, as you go hunt for a new one, blushing deeply."})>>
<</if>>
<<if $height >= 220>>
<<set _officeEvents.push(
{warning: false,
message: "While you work at the way too small desk, you try to stretch a bit, just to get your spine in alignment again. But as you do so, you push against the ceiling, one of the plates coming loose and dropping on the floor! With a bright red face, you put it back, muttering a silent apology."})>>
<</if>>
/* breasts */
<<if $breasts >= 40>>
<<set _officeEvents.push(
{warning: false,
message: "As you work, you notice people constantly staring at your chest. Making sure your clothing fits well, you try to cover them up a bit, but it does little in keeping everyone from stealing furtive glimpses."})>>
<<set _officeEvents.push(
{warning: false,
message: "As you stretch a bit during work, you accidentally show a BIT too much cleavage, to the stunned surprise of your proximal coworkers. Oops!"})>>
<<set _officeEvents.push(
{warning: false,
message: "As you go on about your work, you can't help but notice some coworkers trying to catch a look at your breasts. Creeps."})>>
<</if>>
<<if $breasts >= 60>>
<<set _officeEvents.push(
{warning: true,
message: "As you go on about your work, you can't help but notice some coworkers trying to catch a look at your breasts. Creeps."})>>
<<set _officeEvents.push(
{warning: false,
message: " As you work, you notice people constantly staring at your chest. Making sure your clothing fits well, you try to cover them up a bit, but it does little in keeping everyone from stealing furtive glimpses."})>>
<</if>>
<<if $breasts >= 80>>
<<set _officeEvents.push(
{warning: true,
message: "During work, people keep staring at your chest, and it’s really noticeable at this point. They do it even as Emma walks by, and forces her to remind everyone to get back to work. Emma is clearly not pleased by that..."})>>
<<set _officeEvents.push(
{warning: false,
message: "Your breasts are... incredibly noticeable. That's just a fact. But must EVERYONE keep staring like that?! Come on people, this is an office!"})>>
<<set _officeEvents.push(
{warning: true,
message: "As you try to get some work done, your chest just feels incredibly restricted. You HAVE to get to the bathroom to let them breath a bit. As you lean against the back wall, you finally give them some air, and you can't help but realize how the office dress code doesn’t play very nice with your figure."})>>
<</if>>
<<if $breasts >= 100>>
<<set _officeEvents.push(
{warning: true,
message: " Your breasts are... incredibly noticeable. That's just a fact. But must EVERYONE keep staring like that?! Come on people, this is an office!"})>>
<</if>>
/* Lactation */
<<if $lactationSetting && $outfit.bonuses().map(bonus => bonus.name).includes('Lactation-proof') == false>>
<<if $breastsFullness === 'overflowing'>>
<<set _officeEvents.push(
{warning: false,
message: "During your shift you're working when you notice some co-workers staring at your chest. You stare back, thinking them just rude but then you notice the wet spots on your outfit! You rush to the bathroom to clear it up, only a few people noticing."})>>
<<set _officeEvents.push(
{warning: true,
message: "During your shift you're working when you notice some co-workers staring at your chest. You stare back, thinking them just rude but then you notice the wet spots on your outfit! You rush to the bathroom to clear it up, but you're pretty sure Emma saw it..."})>>
<</if>>
<<if ['overflowing', 'full'].includes(State.variables.breastsFullness)>>
<<set _officeEvents.push(
{warning: false,
message: "During your shift you keep getting distracted as your tits are just painfully full. It isn't noticable, but your co-workers does notice you seem a bit distracted."})>>
<</if>>
<</if>>
<<if $lactationSetting && $outfit.bonuses().map(bonus => bonus.name).includes('Lactation-proof')>>
<<if $breastsFullness === 'overflowing'>>
<<set _officeEvents.push(
{warning: false,
message: "During your shift you do your work when you notice that under your clothing, your breasts start leaking. Luckily, you wear the right outfit and can easily go to the bathroom to clean it up!"})>>
<<set _officeEvents.push(
{warning: false,
message: "During your shift you do your work when you notice that under your clothing, your breasts start leaking. Luckily, you wear the right outfit and can easily go to the bathroom to clean it up!"})>>
<</if>>
<<if ['overflowing', 'full'].includes(State.variables.breastsFullness)>>
<<set _officeEvents.push(
{warning: false,
message: "During your shift you keep getting distracted as your tits are just painfully full. It isn't noticable, but your co-workers does notice you seem a bit distracted."})>>
<</if>>
<</if>>
/* muscle */
<<if $muscle >= 40>>
<<set _officeEvents.push(
{warning: false,
message: "During a coffee break, people keep asking you about your workout regime, sharing some well-earned compliments. Heh, some of them even claim they can outlift you. Cute."})>>
<<set _officeEvents.push(
{warning: false,
message: "As you walk past the watercooler, you hear some whispering from your coworkers, barely audible. You don't know what exactly what they are saying, but given the hushed tones and the word 'steroids', you can guess who they were talking about."})>>
<</if>>
<<if $muscle >= 60>>
<<set _officeEvents.push(
{warning: false,
message: "As you lean back to think about a particularly challenging account, you suddenly hear a loud creaking, and suddenly fall backwards as the back of your chair breaks clean off! All eyes turn to you, but everyone is too polite to say anything, as you go hunt for a new one, blushing deeply."})>>
<<set _officeEvents.push(
{warning: false,
message: "As you walk past the watercooler you hear some whispering from your co-workers, barely audible. You don't know what it was about but given the hushed tones and that you heard 'steroids', you can guess who it was about."})>>
<<set _officeEvents.push(
{warning: false,
message: "As you walk past the watercooler, you hear some whispering from your coworkers, barely audible. You don't know what exactly what they are saying, but given the hushed tones and the word 'steroids', you can guess who they were talking about."})>>
<<set _officeEvents.push(
{warning: false,
message: "When you get to the breakroom to heat your lunch in the microwave, you idly tap the machine’s buttons... cracking them open! You didn't even notice, yet there is a huge dent in the housing! Sheepishly, you look away, amazed at your own strength."})>>
<</if>>
<<if $muscle >= 80>>
<<set _officeEvents.push(
{warning: false,
message: " As you walk past the watercooler, you hear some whispering from your coworkers, barely audible. You don't know what exactly what they are saying, but given the hushed tones and the word 'steroids', you can guess who they were talking about."})>>
<<set _officeEvents.push(
{warning: true,
message: "During the day you idly scroll past the multiple accounts in your files. Deciding to just rest your back a bit, you lean forward, resting your huge arms on the table... and you hear the wood groan briefly before it collapses! Everyone turns to look at you, but nobody dares to say anything!"})>>
<<set _officeEvents.push(
{warning: false,
message: "While rushing through some records, you hear a subdued crunch, and as you look down, you notice your mouse just... cracked in half. Seems you tapped straight through it, huh."})>>
<</if>>
/* clothes */
<<if ['tight'].includes(setup.getFitDescriptionOfClothes($outfit.top()))>>
<<set _officeEvents.push(
{warning: false,
message: "During the day, your top is just a bit too tight, never being quite comfortable. That wouldn't be too bad if it wasn't being a BIT too revealing at times!"})>>
<<set _officeEvents.push(
{warning: true,
message: "During the working day, you try hard to ignore the tightness of your clothes, but you really should've worn some better suited to your size. You keep having to adjust it, and you're sure people got a bit too much to look at during the day."})>>
<<elseif ['too small'].includes(setup.getFitDescriptionOfClothes($outfit.top()))>>
<<set _officeEvents.push(
{warning: true,
message: "It had to happen, given the tight clothing you were wearing! You moved just a bit too quickly, and you just ripped through them! The entire office heard the ripping noises, and you have no choice but to try and cover it up and HOPE the workday is over soon!"})>>
<</if>>
<<if ['tight'].includes(setup.getFitDescriptionOfClothes($outfit.bra()))>>
<<set _officeEvents.push(
{warning: false,
message: "During the day, your bra is just uncomfortably tight, forcing you to take several breaks to adjust it."})>>
<<set _officeEvents.push(
{warning: false,
message: "Though you try to ignore it, you're sure that with how tight your bra is, your coworkers must have noticed it. Here's hoping they don't notice anything particularly inappropriate..."})>>
<<elseif ['too small'].includes(setup.getFitDescriptionOfClothes($outfit.bra()))>>
<<set _officeEvents.push(
{warning: true,
message: "During the day, you ignore the sounds coming from your bra, as it courageously tried to contain your breasts. With a sudden snap, it breaks in two, your tits noticeably coming free! You're not sure whether your coworker noticed, but you need to go home NOW!"})>>
<</if>>
<<if ['tight'].includes(setup.getFitDescriptionOfClothes($outfit.bottom()))>>
<<set _officeEvents.push(
{warning: false,
message: "Your pants were just a bit too tight, and as you walk around, you catch people staring at your legs. Creeps."})>>
<<set _officeEvents.push(
{warning: true,
message: "During the day, you try to pretend everything is normal, but your bottom wear is just WAY too tight. Let's hope nobody notices it!"})>>
<<elseif ['too small'].includes(setup.getFitDescriptionOfClothes($outfit.bottom()))>>
<<set _officeEvents.push(
{warning: true,
message: "During the day, you try and pretend everything is normal, but your bottom wear is just WAY too tight. Let's hope nobody notices it!"})>>
<</if>>
/* tongue */
<<set _tempTongue to Math.round(($tongueLenght + 9 )* $heightMod)>>
<<if $tongueLenght > 2>>
<<set _officeEvents.push(
{warning: false,
message: "As your get bored with your work, you yawn, and accidentally your tongue rolls out. Some coworkers get to see its full <<numeralConversion _tempTongue>> length! One of them drops his coffee mug on the ground, mercifully taking the attention away from you."})>>
<</if>>
/* dick */
<<if $dick > 8>>
<<set _officeEvents.push(
{warning: false,
message: "As the day goes on, you see some peoples’ eyes drifting towards your noticeable bulge. They're too polite to say anything, but you know they are aware of it."})>>
<<set _officeEvents.push(
{warning: false,
message: "In the middle of the day, you suddenly feel something... coming to attention. Realizing you're growing hard out of nowhere, you rush towards the bathroom, hoping nobody spotted the noticeable bulge of your erection!"})>>
<<set _officeEvents.push(
{warning: false,
message: "During work, you get bored, idly scratching your bulge a bit... to the surprise of one coworker sitting across from you. His wide eyes meet yours. You know he knows. He knows you know he knows."})>>
<<set _officeEvents.push(
{warning: false,
message: "As you walk past the watercooler, you hear the word 'bulge' as it suddenly gets really quiet as you walk past. Subtle guys, real subtle."})>>
<<set _officeEvents.push(
{warning: false,
message: "As the day goes on, you see some peoples’ eyes drifting towards your noticeable bulge. They're too polite to say anything, but you know they know."})>>
<</if>>
<<if $dick >= 20>>
<<set _officeEvents.push(
{warning: false,
message: "As the day goes on, you see some peoples’ eyes drifting towards your noticeable bulge. They're too polite to say anything, but you know they know."})>>
<</if>>
<<if $dick >= 30>>
<<set _officeEvents.push(
{warning: false,
message: "During the day, everyone desperately tries NOT to look at your bulge. It’s against company policy to discriminate based on appearance, but you KNOW this is pushing it."})>>
<</if>>
<<if $dick >= 40>>
<<set _officeEvents.push(
{warning: true,
message: "During the day, everyone desperately tries to NOT look at your bulge. It’s against company policy to discriminate based on appearance, but you KNOW this is pushing it."})>>
<</if>>
<<if $dick >= 50>>
<<set _officeEvents.push(
{warning: true,
message: "During the day everyone desperately tries to NOT look at your bulge. It’s against company policy to discriminate based on appearance, but you KNOW this is pushing it."})>>
<</if>>
<<if $dick >= 60>>
<<set _officeEvents.push(
{warning: true,
message: "During the day everyone desperately tries to NOT look at your bulge. It’s against company policy to discriminate based on appearance, but you KNOW this is pushing it."})>>
<</if>>
<<set _eventI to random(0, (_officeEvents.length - 1))>>
<<set $officeEvent to _officeEvents[_eventI].message>>
<<if _officeEvents[_eventI].warning and $difficulty != "sandbox">>
<<set $officeWarning += 1>>
<</if>>
<<print $officeEvent>>
<</nobr>>When you arrive at the office and turn on your PC you notice your entire agenda has been cleared. And replaced with a single meeting with Emma. Fuck.
As you enter her office, she welcomes you in, handing you a cup of the GOOD coffee from the personal machine in her office. Patiently, she sits you down, your file in front of her. Despite all these signs, something is off, as she doesn't seem angry at all. But her professional tone does put you on edge.
<<Dialogue "Emma" "Emma">>"Please, take a seat Miss <<print $playerLastName>>. You've been with us for... some time now, and I have got to say, we are decently pleased with your performance. There’s always a learning curve, but your deliveries have yet to disappoint."<</Dialogue>>
You sigh with relief, some of the tension dissipating. However, Emma gets up, and sits on her desk. Oh, shit.
<<Dialogue "Emma" "Emma">>"HOWEVER... It cannot have escaped you that your... physique makes working here at the office a larger challenge than... what we are used to. Now, as company policy, we cannot discriminate on appearance, bodily ability or build. And we at Financial Gains and Bulk Orders LLC, we strive to follow that policy to the letter. But, you happen to be a rather... extreme case, and at this point we have to discuss costs and benefits. Miss <<print $playerLastName>>, we are not firing you. However, we would like to settle this amiably. For this reason, we're ready to offer you a settlement; We can terminate your contract immediately, and in return you will be given severance package of $2000. Would these be agreeable terms?"<</Dialogue>>
<span id="choice"><<link "Deal!">><<set $officeFired to true>><<replace "#choice">><<Dialogue "player" "You">> "I... don't know what to say! But... taking everything in consideration..."<</Dialogue>>
<span id="choice2"><<link "Take it!">><<replace "#choice2">>You hesitate only for a moment, before grabbing her hand.
<<Dialogue "player" "You">> "I’ll take it!"<</Dialogue>>
Emma smiles warmly, clearly happy this got settled in a friendly way.
<<Dialogue "Emma" "Emma">>"Very well. Then, on behalf of Financial Gains and Bulk Orders LLC, let me thank you for all your hard work. We do truly appreciate it, and we're most happy that we could manage to settle it like this. So, <<print $playerFirstName>>, thank you SO much for all your work, and I wish you the best in the future."<</Dialogue>>
<<link "And thank you for everything too!" "Home">><<set $money += 2000>><<set $officeFired to true>><</link>>
<</replace>><</link>>
<<link "Negotiate for more">><<replace "#choice2">>You hesitate, scratching your head.
<<Dialogue "player" "You">> "Well... I'm not sure. It’s a nice offer and all but, this is my job, I do depend on the income. While your offer is generous..."<</Dialogue>>
<<Dialogue "Emma" "Emma">>“... It is not a long-term solution. Very well. I have the authority to raise the amount to $2500, but that is my final offer."<</Dialogue>>
<<Dialogue "player" "You">> "I’ll take it!"<</Dialogue>>
Emma smiled warmly, clearly happy this got settled in a friendly way.
<<Dialogue "Emma" "Emma">>" Very well. Then, on behalf of Financial Gains and Bulk Orders LLC, let me thank you for all your hard work. We do truly appreciate it, and we're most happy that we could manage to settle it like this. So, <<print $playerFirstName>>, thank you SO much for all your work, and I wish you the best in the future."<</Dialogue>>
<<link "And thank you for everything too!" "Home">><<set $money += 2500>><<set $officeFired to true>><</link>>
<</replace>><</link>></span>
<</replace>><</link>>
<<link "No thank you.">><<replace "#choice">><<Dialogue "player" "You">> “...While it’s a very... um... generous offer, I am unable to accept it. This is my job."<</Dialogue>>
There is a long silence before Emma speaks again, her face becoming just that bit colder.
<<Dialogue "Emma" "Emma">>"Very well. In that case, the offer is withdrawn, and I look forward to continuing our working relation."<</Dialogue>>
<<link "...Get to work." "office">><<set $dismissalOffered to true>><</link>>
<</replace>><</link>>
</span>When you arrive at the office and turn on your PC you notice your entire agenda has been cleared. And replaced with a single meeting with Emma. Fuck.
As you enter her office, she welcomes you in, handing you a cup of the GOOD coffee from the personal machine in her office. Patiently, she sits you down, your file in front of her. Despite all these signs, something is off, as she doesn't seem angry at all. But her professional tone does put you on edge.
<<Dialogue "Emma" "Emma">>" Please, take a seat Miss <<print $playerLastName>>. You've been with us for... some time now, and I have got to say, we are decently pleased with your performance. There’s always a learning curve, but your deliveries have yet to disappoint. However. Recent events have made your performance here lacking, and detrimental to the productivity of this department. I'm sure you're aware of which events I'm referring to. Therefore, we have decided to let you go. Please clear your desk, and you'll be escorted out of the office. A last check, covering this week, in the sum of $500, will be deposited to your account."<</Dialogue>>
<<Dialogue "player" "You">> "W-WHAT?! You're just firing me?!"<</Dialogue>>
<<Dialogue "Emma" "Emma">>"We have come to the conclusion that it'd be better for all parties if we split ways. We once again thank you for your work, and wish you luck in your future endeavors."<</Dialogue>>
<<link "...shit." "Home">><<set $officeFired to true>><</link>><<nobr>>
<<widget "addFatInstant">>
<<set $fat += parseFloat($args[0]) * $growthMod>>
<<set $fat to Math.clamp($fat, 0, 99999)>>
<</widget>>
<</nobr>>/* Elena */
<<set setup.events.push({
name: 'ElenaFiller1',
locationTags: ['elena'],
conditions: [],
repeatable: true,
retriggerable: false,
priority: 'filler',
npc: ['elena'],
content: 'It struck you that, no matter how long you spend at the gym, you never really lose that sense of fulfillment from working out. Since you started, you intuitively feel like each rep should lead into another, each flex should be bigger than the one before, and each set should target more muscles in your growing body. It was easy for you to get lost in this philosophy, lifting weights being more of a physically demanding activity meant your mind could wander. It was only until you realized that your partner, Elena, had been paying a bit more attention to you. <br><br>She was close by, performing her favorite bench presses in order to get her already massive chest to get more pumped, perhaps double in size. It wasn’t hard to tell those were her favorite muscles to work on. But every so often, one of her eyes would be attracted to you, for reasons unknown. So perhaps...<br><br>As her eyes fell upon you again, you increase the intensity of your workout, grunting as your body heaves heavy iron back and forth, muscles popping and flexing in almost hypnotic rhythmic motions. It was then you caught her in your trap, the amber-skinned girl was distracted enough that she briefly struggles with her bar. <br><br>You sit back to watch as, in noticing you caught her, Elena almost immediately returns her focus to her own workout. She takes in a deep breath, expanding the meaty slabs upon her torso, and with another nearly mute yet animalistic grunt, she shoots the oversized barbell back upwards with an eruption of vein and striations. Quickly, she reracks her equipment and takes a quick glance at you. <br><br>Your face of approval and satisfaction now elicits a positive response, though her face is flush with red. With the slightest confirming nod from you, the shy girl looks down upon her chest, lets out a long breath, and flexes her pecs as hard as she can. Her mounds of muscle dance surprisingly high, her head now smooshed to the cheeks in sinew, and yet, it comes across as just about the most adorable thing you\'ve ever seen.<br><br><<link "Continue" "gym">><</link>>'
})>><<set setup.events.push({
name: 'EmmaFiller1',
locationTags: ['emma'],
conditions: [],
repeatable: true,
retriggerable: false,
priority: 'filler',
npc: ['emma'],
content: '<<set $emmaOpinion += 1>>As you move towards your cubicle to finish your assignment, you spot Emma coming out of one of the neighboring spaces, looking somewhat exasperated.<br><br><<Dialogue "player" "You">> "Is everything alright?"<</Dialogue>><br><<Dialogue "Emma" "Emma">> "Ah, yes. It’s nothing, really." <</Dialogue>><br><<Dialogue "player" "You">>"Are you sure? You look very concerned."<</Dialogue>><br><<Dialogue "Emma" "Emma">>"Well, I suppose the cat is out of the bag. You see, it has come to my attention that Jeff is slacking off. His performance is unacceptable, and to make matters worse, he made some inexcusable mistakes this week. I\'ve just had a talk with him about his productivity. If he wants to stay here, he needs to change his attitude. I did not mean to divulge this publicly… but let this be an example to you, not to make the same mistakes he did.”<</Dialogue>><br>She gives you a stern look and you involuntarily shudder, obviously you\'d never want to be on the receiving end of her wrath.<br><br><<Dialogue "player" "You">> "Of course! I\'ll be working to the best of my ability.”<</Dialogue>><br><<Dialogue "Emma" "Emma">> "Good, make sure that you do. And please, keep this between us."<</Dialogue>><br>With that, she walks away from you, moving towards her office. You too return to your work, making sure not to give her any reason to scold you as well.<br><br><<link "return" "office">><</link>>'
}, {
name: 'EmmaFiller2',
locationTags: ['emma'],
conditions: [],
repeatable: true,
retriggerable: false,
priority: 'filler',
npc: ['emma'],
content: 'After finishing one of your tasks, you make your way to the office kitchen to get a much-deserved dose of caffeine. To be quite honest, the coffee that they have here is pretty awful, if you had to put it in words it\'s like some had mistakenly used battery acid instead of water. It\'s so sour, it\'s hard to swallow. Just as you take a sip from your cup, you hear a voice from behind.<br><br><<Dialogue "Emma" "Emma">> "Terrible, isn\'t it?"<</Dialogue>><br>You jump a bit when you hear Emma\'s voice, how the hell did she sneak up on you? Turning around, you see her standing behind you with her own cup, and while her face looks as if it was made out of stone, you notice a glint of amusement in her eyes.<br><br><span id="choice"><<link " Agree with her">><<replace "#choice">><br><br><<Dialogue "player" "You">> "Yeah... it\'s quite awful.”<</Dialogue>><br><<Dialogue "Emma" "Emma">> "Higher-ups wanted to cut costs on the coffee, so we have to drink whatever this is.”<</Dialogue>><br><<Dialogue "player" "You">> "I suppose we should be thankful that we have been given this coffee all.”<</Dialogue>><br><<Dialogue "Emma" "Emma">> "Agreed. I\'d love to have one of similar quality to the one they make at Coffee Corner. I\'m quite partial to their Ristretto, they make it just perfect!.”<</Dialogue>><br><<Dialogue "player" "You">> "Oh I didn\'t even know they had this type of coffee. What is so special about Ristretto?.”<</Dialogue>><br><<Dialogue "Emma" "Emma">> "It\'s a bit similar to Espresso but to make Ristretto you use very little water and a lot of ground coffee. It is served as a "shot", it\'s very strong and wakes you up instantly! I\'m not a morning person so such a drink is a godsend for me!.”<</Dialogue>><br>You are somewhat surprised that the normally restrained Emma can talk with such enthusiasm. Suddenly remembering about your current task, you look at the clock mounted at the wall.<br><br><<Dialogue "player" "You">> "Ah, it\'s time for me to get back to work.”<</Dialogue>><br><<Dialogue "Emma" "Emma">> "Listen... I have a personal espresso machine in my office - it’s somewhat fiddly and I don’t have the time to keep it constantly stocked, but if you are having a particularly hard day and have some down time, let me know and maybe we can share a cup of the good stuff, just don’t tell the others."<</Dialogue>><br>You are shocked at the informal invitation, but smile and nod in agreement. And with that, you politely excuse yourself and return to your cubicle.<br><br><<link "return" "office">><<set $emmaOpinion += 2>><</link>><</replace>><</link>><br><br><<link " Be indifferent">><<replace "#choice">><br><br>You shrug your shoulders.<br><br><<Dialogue "player" "You">> "It is what it is"<</Dialogue>><br>She gives you a very slight smile and nods.<br><br><<Dialogue "Emma" "Emma">> We can\'t do anything about it anyway, besides it\'s not as if this was the worst coffee in the world.”<</Dialogue>><br><<Dialogue "player" "You">> "As long as it has caffeine and it wakes me up, I can live with this.”<</Dialogue>><br>Suddenly, you hear buzzing coming from Emma\'s pocket. <br><br><<Dialogue "Emma" "Emma">> "Ah, excuse me.”<</Dialogue>><br>She picks it up and walks out of the kitchen towards her office. Looks like she barely has time to chat with people. It makes you wonder how busy she really is!<br><br><<link "return" "office">><</link>><br><br><</replace>><</link>></span>'
}, {
name: 'EmmaFiller3',
locationTags: ['emma'],
conditions: [],
repeatable: true,
retriggerable: false,
priority: 'filler',
npc: ['emma'],
content: 'Upon entering the office, you notice one of your coworkers struggling with a large box of documents and folders, which is half as tall as she is. It looks like she will drop it on the floor at any moment, and it’s just nerve-racking to watch as her knees wobble violently. Out of the corner of your eye, you notice Emma smoothly swooping in and nonchalantly placing one arm under the box, quickly removing the load from the poor girl\'s arms. The girl tries to take the box back, but Emma waves her free hand dismissively, shaking her head and implying it’s no big deal. You come forward towards Emma, concerned:<br><br><<Dialogue "player" "You">> "Do you need help with that?"<</Dialogue>><br><<Dialogue "Emma" "Emma">> "No, I\'ve got it covered, but thanks for the offer.”<</Dialogue>><br><<Dialogue "player" "You">> "Are you sure?"<</Dialogue>><br>She shakes her head again and let’s out a short laugh. Scanning her entire figure, you note that while her well-tailored clothes hide her physique well, she definitely seems to be quite toned everywhere!<br><br><<Dialogue "Emma" "Emma">> "If I couldn\'t lift this box, I would be quite the disappointment to my trainer!"<</Dialogue>><br>And with that, she walks away, balancing the box effortlessly on one arm. Looks like Emma\'s visits to the gym are really paying off!<br><br><<link "return" "office">><</link>><br><br>'
}, {
name: 'EmmaFiller4',
locationTags: ['emma'],
conditions: [],
repeatable: true,
retriggerable: false,
priority: 'filler',
npc: ['emma'],
content: '<<set $emmaOpinion += 1>>As you walk into Emma\'s personal office, you notice that she\'s signing some documents using an unusual-looking pen, which is pink colored and has images of cartoon princesses all over it. It\'s pretty funny watching an important executive having such a pen to sign important documents!<br><br><<Dialogue "player" "You">> "Are you a fan of those cartoons, Emma?"<</Dialogue>><br>She looks at her pen and gives a short laugh.<br><br><<Dialogue "Emma" "Emma">> "No, not really. However, my niece is a big fan of them and she always makes me watch her favorite movies with her."<</Dialogue>><br><<Dialogue "player" "You">> "Then this pen is a gift from her?"<</Dialogue>><br><<Dialogue "Emma" "Emma">> "Precisely, she would give me hell if I got rid of it. Frankly, our CEO always laughs when he notices the pen, but I can handle the jokes if it makes little Annie happy!"<</Dialogue>><br>You would never imagine that Emma\'s has a soft spot for children, but it certainly looks that way! This situations is heart-warming, and reveals un expected side of her!<br><br><<link "return" "office">><</link>>'
}, {
name: 'EmmaFiller5',
locationTags: ['emma'],
conditions: [],
repeatable: true,
retriggerable: false,
priority: 'filler',
npc: ['emma'],
content: '<<set $emmaOpinion += 1>>You look at the clock and notice it\'s almost time for a short break and a deserved cup of coffee! As you move towards the kitchen, you are met with a bizarre sight, it\'s Emma slowly shambling towards the kitchen looking... well the word "tired" would be an understatement. Judging by her slouched shoulders and sleep-deprived eyes, looks like she had a rough time.<br><br><<Dialogue "player" "You">> "Hey, Emma, is everything alright?"<</Dialogue>><br><<Dialogue "Emma" "Emma">> "If I may, actually, no..."<</Dialogue>><br>She says it, as she pours herself a cup of coffee, she looks almost blissful when taking a big swig.<br><br><<Dialogue "Emma" "Emma">> "Well, honestly, yesterday was terrible. I had a revolving door of complaints from half the staff, and it doesn\'t help that my assistant is away on vacation!"<</Dialogue>><br><<Dialogue "player" "You">> "Sounds rough.”<</Dialogue>><br><<Dialogue "Emma" "Emma">> "Yeah, what\'s more, our CEO decided yesterday that we need to hire more people and I\'ve had to review over 50 CVs, most of which were insultingly bad, and by the time I was done, it was already past 10 PM!"<</Dialogue>><br>She then starts to rant about the candidates and how they can\'t even write a proper email, and so on. However, it seems that talking about her problems is taking some weight from her shoulders, and after she\'s done, her eyes seem to be more alive than before!<br><br><<Dialogue "Emma" "Emma">> "Thank you for listening, miss <<print $playerLastName>> but it would seems it\'s time for us to get back to work."<</Dialogue>><br>You give her a nod, and return to your cubicle. You hope that you\'ll never have to deal with a workload of this magnitude, and you realize how resilient Emma really is!<br><br><<link "return" "office">><</link>>'
}, {
name: 'EmmaFiller6',
locationTags: ['emma'],
conditions: [],
repeatable: true,
retriggerable: false,
priority: 'filler',
npc: ['emma'],
content: '<<set $emmaOpinion += 1>>During one of your report reviews inside Emma\'s office, you notice that in the corner of the room lies a tennis racket. Looking at Emma, it\'s obvious that she takes great care of herself and that she plays sports in her spare time. You point towards the racket and ask her about it.<br><br><<Dialogue "player" "You">> "How often do you play tennis?"<</Dialogue>><br>She glances towards the racket and turns her phone to show you a picture, in the middle stands the HR executive, along with a tall, good looking woman, who’s hugging Emma tightly with a big smile. You can clearly see that there is a family resemblance between the two. <br><br><<Dialogue "Emma" "Emma">> "I practice tennis from time to time, mostly due to the fact that my older sister really likes playing and she often drags me with her to the court.” <</Dialogue>><br>She snickers, probably reminiscing of some pleasant memory.<br><br><<Dialogue "player" "You">> "Is she a professional player?"<</Dialogue>><br><<Dialogue "Emma" "Emma">> "No, though her trainer tries to persuade her to start a career in that direction, he even found some sponsors! But she refused all of them since she wants to keep it as more of a hobby."<</Dialogue>><br>It\'s really nice that Emma is sharing something about her life, and you enjoy seeing her speak about her passions. Unfortunately, your conversation is cut short by a female coworker bringing some documents for Emma to sign. You excuse yourself and go return to your cubicle, letting your boss return to her work.<br><br><<link "return" "office">><</link>>'
}, {
name: 'EmmaFiller7',
locationTags: ['emma'],
conditions: [],
repeatable: true,
retriggerable: false,
priority: 'filler',
npc: ['emma'],
content: '<<set $emmaOpinion += 1>>Chaos is the best word that could describe today\'s situation in the office. Due to a power outage, everyone who was writing a report or preparing a project lost all of their progress. To add salt to the wound, someone started blaming one of their coworkers and it looks like Emma is being forced to mediate the quarrel. After an hour or so, you notice that the tired HR executive is taking a short break on a couch in the communal area. Concerned, you sit next to her.<br><br><<Dialogue "player" "You">> "Tough day?"<</Dialogue>><br>She sighs and taps a file lying next to her.<br><br><<Dialogue "Emma" "Emma">> "Oh, you wouldn\'t believe, Mark has filed a formal complaint accusing Jack of sabotaging his project.”<</Dialogue>><br><<Dialogue "player" "You">> "Really? Why would he do something like that?"<</Dialogue>><br><<Dialogue "Emma" "Emma">> "No clue, there is no evidence of foul play and our technician said that it was a technical issue in our backup server. So to be honest, in my opinion Mark\'s complaint was frivolous.<</Dialogue>><br>You shake your head. Some people have a really vivid imagination. Besides, Jack wouldn\'t have much to gain from sabotaging Mark, so you\'d have to agree with Emma’s conclusion.<br><br><<Dialogue "player" "You">> "So, you won\'t do anything about it?"<</Dialogue>><br><<Dialogue "Emma" "Emma">> "No, unless Mark has irrefutable proof, but I doubt it.”<</Dialogue>><br>You have to give her credit, she takes everything seriously, but also knows her boundaries. As you glance at Emma you, notice her gazing at the watch in the corner of the room.<br><br><<Dialogue "Emma" "Emma">> "Well, break time is over. We should get back to work.”<</Dialogue>><br>Right, you nod and return to your cubicle to continue with your tasks.<br><br><<link "return" "office">><</link>>'
})>><<set setup.events.push({
name: 'EmmaBulkBarnVisited',
locationTags: ['emma'],
conditions: [
() => State.variables.bulkBarnVisited
],
repeatable: false,
retriggerable: false,
priority: 'response',
npc: ['emma'],
content: 'When entering Emma\'s office, you notice that her desk is adorned with various files and documents, but among them stands a familiar looking oversized plastic bottle. Looks like BCAA, if you had to guess, and it means that Emma was at Bulk Barn to buy some supplements.<br><br><<Dialogue "player" "You">> "Hey, I couldn\'t help but notice that this is BCAA from Bulk Barn, do you work out?"<</Dialogue>><br>Emma reveals a small grin and nods.<br><br><<Dialogue "Emma" "Emma">> "Yes, I do visit the gym quite often, it started as a hobby, but now I\'m quite committed to it!"<</Dialogue>><br>You glance at her and note that she clearly looks like someone who avidly works out! Her broad shoulders, toned legs and wide arms make for quite the impressive physique, and even though they are mostly hidden under her well-tailored business suit, the swell of her muscles is noticeable. <br><br><span id="choice"><<link " Compliment her">><<set $emmaOpinion += 5>><<replace "#choice">><br><br><<Dialogue "player" "You">> "Well, looks like those visits to the gym paid off! You look really good!"<</Dialogue>><br><<Dialogue "Emma" "Emma">> "Oh, thank you, yes, I\'m quite proud of my physique, that\'s why I\'m maintaining my routine and supplement intake"<</Dialogue>><br>You both spend some time discussing different supplements, workout techniques and health related topics. It\'s nice to talk like this with Emma, who is normally more reserved.<br><br><<link "return" "office">><</link>><</replace>><</link>><br><br><<link " Act unimpressed">><<set $emmaOpinion -= 10>><<replace "#choice">><br><br><<Dialogue "player" "You">> "To be fair, your musculature could use some work, I wouldn’t even peg you as a weightlifter."<</Dialogue>><br>Emma\'s eyes narrow and, while her face didn\'t move an inch, you have a feeling that you\'ve insulted her. Her voice goes cold as ice.<br><br><<Dialogue "Emma" "Emma">> "That is true, however, the big difference between professional weightlifters and me is that my primary job is as an executive, which means that I\'m quite busy most of the time.”<</Dialogue>><br>Yeah, you shouldn\'t have said that, your words were clearly insensitive and hurtful. Better to cut your losses and retreat. You swiftly excuse yourself and leave.<br><br><<link "return" "office">><</link>><</replace>><</link>><br><br><<link " Avoid the topic">><<set $emmaOpinion += 1>><<replace "#choice">><br><br><<Dialogue "player" "You">> "Good for you, Emma! But, I really should go and finish my assignment, see you later.”<</Dialogue>><br>She looks a bit surprised, but quickly composes herself and bids you farewell.<br><br><<link "return" "office">><</link>><</replace>><</link>></span>'
}, {
name: 'EmmaBreasts10',
locationTags: ['emma'],
conditions: [
() => State.variables.emmaLastBreasts + 10 <= State.variables.breasts,
() => !State.variables.outfit.bonuses().map(bonus => bonus.name).includes('Baggy')
],
repeatable: false,
retriggerable: false,
priority: 'response',
npc: ['emma'],
content: 'Another day of typing on your computer and filing documents, it\'s nothing too boring, but still, you would prefer to be doing something more active. You lift your head and notice Emma coming towards you with a folder in her hands.<br><br><<Dialogue "Emma" "Emma">> "Miss <<print $playerLastName>> I\'d like you to file these reports, they will be needed for the meeting with our CEO.”<</Dialogue>><br>However as she talks, her eyes drift to your chest, noticing your newly enhanced boobs. Her staring doesn’t go unnoticed by you.<br><br><span id="choice"><<PersonalityCheck $shyConfident >= 1 " Show off">><<replace "#choice">><br><br>You stretch languidly and thrust your chest forward, creating quite the alluring show. However, as you look back at Emma, you find out that she has lifted her eyebrows and looks, well... unamused. <br><br><<Dialogue "Emma" "Emma">> Miss <<print $playerLastName>>, as I said, those documents will be needed presently. As soon as you are finished, bring them to me."<</Dialogue>><br><<Dialogue "player" "You">> "Yes, of course."<</Dialogue>><br>That\'s a bummer, looks like your efforts to tease Emma didn\'t work out as you had planned. However, as she walks out of your cubicle, Emma briefly turns and gives a last passing glance at your breasts. Maybe your efforts weren\'t entirely ineffective?<br><br><<link "return" "office">><</link>><</replace>><<Failed>><<replace "#choice">><br><br>You stretch languidly and thrust your chest forward creating quite the alluring show, however, as you look back at Emma, you find out that she lifted her eyebrows and looks well... unamused. <br><br><<Dialogue "Emma" "Emma">> Miss <<print $playerLastName>>, as I said, those documents will be needed presently. As soon as you are finished, bring them to me.”<</Dialogue>><br><<Dialogue "player" "You">> "Yes, of course.”<</Dialogue>><br>That\'s a bummer, looks like your efforts to tease Emma didn\'t work out as you planned.<br><br><<link "return" "office">><</link>><</replace>><</PersonalityCheck>><br><br><<link " Ignore it and carry on">><<replace "#choice">><br><br><<Dialogue "player" "You">> "Yeah, no problem. I\'ll be sure to take care of it."<</Dialogue>><br><<Dialogue "Emma" "Emma">> "Thank you very much, if you have any questions, please ask my secretary and she\'ll be able to liaise with you."<</Dialogue>><br>And with that, Emma walks out of your cubicle. Her professionalism is definitely quite impressive and, while she did stare at your boobs for a short while, she quickly got into her stride and did what she does best. Looking at your clock, you come to the conclusion that you should resume your work if you want to finish this task on time.<br><br><<link "return" "office">><<set$emmaOpinion -= 1>><</link>><</replace>><</link>><br><br><<link " Remind her where your eyes are">><<replace "#choice">><br><br>You cough softly and give her a pointed look, Emma\'s head swiftly moves upward and, with some satisfaction, you note that her cheeks are now slightly pink.<br><br><<Dialogue "Emma" "Emma">> "Um, yes, if you\'ll excuse me, Miss <<print $playerLastName>>, I have to attend to a very important meeting in a moment.”<</Dialogue>><br>She quickly retreats in the direction of her personal office, clearly embarrassed. But, in her credit, she didn\'t stammer or sputter like Johan would!<br><br><<link "return" "office">><<set $emmaOpinion += 1>><</link>><</replace>><</link>></span>'
}, {
name: 'EmmaMuscle10',
locationTags: ['emma'],
conditions: [
() => State.variables.emmaLastMuscle + 10 <= State.variables.muscle,
() => !State.variables.outfit.bonuses().map(bonus => bonus.name).includes('Baggy')
],
repeatable: false,
retriggerable: false,
priority: 'response',
npc: ['emma'],
content: 'After arriving at your desk, you find a small note. On it is says that you are to meet with Emma in her office to discuss some work-related matters. Upon entering, you can\'t help but notice that Emma is glancing at your new, improved physique.<br><br><<Dialogue "Emma" "Emma">> "Miss <<print $playerLastName>>, I\'ve been expecting you. However, before we begin, there is something I want to ask you personally. I couldn\'t help but notice that you\'ve gained some musculature, are you perhaps working out at the gym?"<</Dialogue>><br><span id="choice"><<PersonalityCheck $shyConfident >= 1 "Sure do!">><<replace "#choice">><br><br>You flex your arms, then strike a pose presenting your body and recent gains. Glancing at the HR executive, it seems like Emma is sticking to her stoic face, although she does give you an appraising look. It would seem that she isn\'t disappointed! <br><br><<Dialogue "player" "You">> "Yeah I\'ve been hitting the gym quite often lately.”<</Dialogue>><br><<Dialogue "Emma" "Emma">> "Then I must congratulate you, such improvement in a small amount of time is definitely outstanding. To be quite honest, I would love to gain muscle as fast as you.”<</Dialogue>><br>Both of you end up talking for a while about workout techniques and routines. You are quite impressed by Emma\'s expertise, she obviously knows her stuff!<br><br><<link "return" "office">><<set $emmaOpinion += 10>><<set $motivation += 10>><</link>><</replace>><<Failed>>You try to be confident and flex, but you just can\'t bring yourself to do it. As you\'re mustering your confidence, Emma places a uncharacteristic hand on your shoulder with a warm smile. <br><<Dialogue "Emma" "Emma">> "Don\'t worry, your gains speak for themselves. Well done! I hope they help with the confidence too.”<</Dialogue>><br>With a small wink she walks off, leaving you feeling a bit confused but, most of all, motivated.<br><br><<link "return" "office">><<set $motivation += 20>><<set $emmaOpinion += 20>><</link>><</replace>><</link>><</PersonalityCheck>><br><br><<link " Ignore her question">><<replace "#choice">><br><br><<Dialogue "player" "You">> "You wanted to talk to me?"<</Dialogue>><br>If Emma is surprised by your blunt avoidance of her question, she doesn\'t show it.<br><br><<Dialogue "Emma" "Emma">> " Yes, I\'d like to talk about your latest assignment, you see....”<</Dialogue>><br>She then starts to review your documents, giving you some tips on how to improve them. Her knowledge is undoubtedly vast and, more importantly, it sounds like she speaks from experience. You think you learned quite a bit from her!<br><br><<link "return" "office">><<set $emmaOpinion += 2>><</link>><</replace>><</link>><br><br><<link " Deny">><<replace "#choice">><br><br><<Dialogue "player" "You">> "I don\'t think I look different at all.”<</Dialogue>><br>She tilts her head to the side and gives you a quizzical look, it doesn\'t look like you\'ve convinced her!<br><br><<Dialogue "Emma" "Emma">> "Really? These arms don\'t look like they belong to someone who doesn\'t regularly attend a gym.”<</Dialogue>><br>You shrug.<br><br><<Dialogue "player" "You">> "Weird, isn\'t it?.”<</Dialogue>><br>Emma looks at you amusedly and shakes her head. It seems that she didn\'t believe you, but instead of getting confrontational, she dropped the matter and moved on!<br><br><<link "return" "office">><<set $emmaOpinion += 2>><</link>><</replace>><</link>></span>'
}, {
name: 'EmmaHeight10',
locationTags: ['emma'],
conditions: [
() => State.variables.emmaLastHeight + 10 <= State.variables.height,
() => !State.variables.outfit.bonuses().map(bonus => bonus.name).includes('Baggy')
],
repeatable: false,
retriggerable: false,
priority: 'response',
npc: ['emma'],
content: 'You enter Emma\'s office to deliver one of the assignments she requested to be handed personally. She gives you a careful look, noticing your newly-acquired height. Her gaze lingers at your legs a bit longer than one would call appropriate. You leave the documents on her desk.<br><br><<Dialogue "Emma" "Emma">> "Miss <<print $playerLastName>>, thank you, I\'ll take a look at those files in a moment. But please tell me, is it possible that you are still going through puberty? Because you look a bit taller than I remember, if only a few <<if $measurementSystem == "metric">>centimeters<<else>>inches<</if>> or so."<</Dialogue>><br><span id="choice"><<link " Confirm it">><<replace "#choice">><br><br><<Dialogue "player" "You">> "Yeah, something like that. I\'m what you would call a late bloomer, I guess.”<</Dialogue>><br><<Dialogue "Emma" "Emma">> "I see... obviously, your growth spurt is beyond your power, but please make sure that you are clothed following our dress code, we do not tolerate indecency in this office.”<</Dialogue>><br><<Dialogue "player" "You">> "Of course, I\'ll make sure of it.”<</Dialogue>><br><<Dialogue "Emma" "Emma">> " Well, I shouldn\'t keep you here for too long Miss <<print $playerLastName>>, you can go back to work.”<</Dialogue>><br>And with that, you return to your cubicle. Looking back at her words, you guess that Emma is quite serious about the dress code.<br><br><<link "return" "office">><</link>><<set $emmaOpinion += 1>><</replace>><</link>><br><br><<link "Deny it">><<replace "#choice">><br><br><<Dialogue "player" "You">> "No, I don\'t think so. Besides, people at my age don\'t grow any more"<</Dialogue>><br>Emma blinks a few times, she seems a bit confused by your response, though she quickly conceals the reaction, and her usual serious look surfaces once more.<br><br><<Dialogue "Emma" "Emma">> "I guess you are right, must\'ve been a trick of the light or something. You may go now.”<</Dialogue>><br>As she clearly dismissed you, there is no point in lingering at her office. However, you don\'t think that you\'ve fooled her with your denial.<br><br><<link "return" "office">><<set $emmaOpinion += 1>><</link>><</replace>><</link>><br><br><<PersonalityCheck $carefreeCarefull <= -2 "Be playful">><<replace "#choice">><br><br><<Dialogue "player" "You">> "Now that you mention it, looks like I grew a few <<if $measurementSystem == "metric">>centimeters<<else>>inches<</if>>! I thought it was strange that everything was a bit shorter than usual!"<</Dialogue>><br>Emma gives you a puzzled look, which is unexpected, given her usual attitude. If this was a comic, you would expect to see question marks all over her head!<br><br><<Dialogue "Emma" "Emma">> “... You just noticed it now?"<</Dialogue>><br>Suddenly looking very tired, she buries her head into her hands. You have a hunch that you have given her a small headache.<br><br><<Dialogue "player" "You">> "Ah I really should be going, the next assignment won\'t finish itself!"<</Dialogue>><br>Quickly retreating, you stifle your giggling. Annoying Emma was by no means smart, but it surely was amusing!<br><br><<link "return" "office">><<set $emmaOpinion -= 1>><</link>><</replace>><<Failed>><<replace "#choice">><br><br><<Dialogue "player" "You">> "Now that you mention it, looks like I grew a few <<if $measurementSystem == "metric">>centimeters<<else>>inches<</if>>! I thought it was strange that everything was a bit shorter than usual!"<</Dialogue>><br> Emma gives you a puzzled look, which is unexpected, given her usual attitude. If this was a comic, you would expect to see question marks all over her head!<br><br><<Dialogue "Emma" "Emma">> “... You just noticed it now? You should be getting to a hospital IMMEDIATELY and get a full checkup, this is NOT normal. Are you feeling okay?!?"<</Dialogue>><br>Suddenly looking very concerned, you realize your joke has backfired. There is genuine concern all over her face, and all the fun is gone.<br><br><<Dialogue "player" "You">> "Ah, I really should be going, my next assignment won\'t finish itself! But don\'t worry, I\'m getting it checked!"<</Dialogue>><br>Quickly retreating, you hope that didn\'t ruin her mood.<br><br><<link "return" "office">><<set $emmaOpinion -= 2>><</link>><</replace>><</PersonalityCheck>><br><br></span>'
}, {
name: 'EmmaBreasts10-1',
locationTags: ['emma'],
conditions: [
() => State.variables.emmaLastBreasts + 10 <= State.variables.breasts,
() => !State.variables.outfit.bonuses().map(bonus => bonus.name).includes('Baggy')
],
repeatable: false,
retriggerable: false,
priority: 'response',
npc: ['emma'],
content: 'When entering the office, you are met with confused and in some cases even lecherous stares from your workers. Their target is clear: your enlarged breasts. Well, to be fair, gaining a few cup sizes in that department was going to attract some attention, no matter what. However, as you sit at your desk, you can hear them whispering about "implants" and the like. Their gossip is cut short as Emma comes in and sternly tells them to get back to work. She then comes inside your cubicle.<br><br><<Dialogue "Emma" "Emma">> "Miss <<print $playerLastName>>, You\'ll have to excuse your coworkers... enthusiasm. They clearly have too much time on their hands.<</Dialogue>><br>She gives you quick glance, obviously noticing your enlarged tits, which clad in a tight top make for quite the sight.<br><br><<Dialogue "Emma" "Emma">> "Additionally, I\'ll remind you that... cheap plastic surgeon services can be quite harmful for one\'s health.”<</Dialogue>><br><span id="choice"><<link "Deny those accusations">><<replace "#choice">><br><br><<Dialogue "player" "You">> "Um, Miss Fray, these aren\'t implants... my breasts are all natural!”<</Dialogue>><br>She looks at you with doubt, it\'s obvious to you that she has some retort on the tip of her tongue, but her her professional attitude precludes her from voicing it. <br><br><<Dialogue "Emma" "Emma">> "We shouldn\'t be wasting time chit-chatting, I\'ll be going to my office.”<</Dialogue>><br>And with that abrupt response, she walks away. Well, knowing Emma, her incredulity was to be expected. You sigh in exasperation, aware that rumors about you getting implants aren\'t going to disappear!<br><br><<link "return" "office">><<set $emmaOpinion += 2>><</link>><</replace>><</link>><br><br><<link " Nod meekly">><<replace "#choice">><br><br><<Dialogue "player" "You">> "Yes, I know that. It\'s just..."<</Dialogue>><br>However, Emma cuts you off and gives you a stern look.<br><br><<Dialogue "Emma" "Emma">> "No buts! You are still young, you should be taking better care of yourself!"<</Dialogue>><br>She then gives you a lecture about risks related to implants and much more. Her concern is actually quite touching!<br><br><<link "return" "office">><<set $emmaOpinion += 1>><</link>><</replace>><</link>><br><br><<link " Wave her off">><<replace "#choice">><br><br><<Dialogue "player" "You">> "Even if that was true, my body is my concern and no one else\'s!"<</Dialogue>><br>Though reading Emma\'s facial expressions is hard, you notice disapproval in her eyes.<br><br><<Dialogue "Emma" "Emma">> "Indeed. If you have no interest in the knowledge I’d like to impart you with, I\'ll take my leave.”<</Dialogue>><br>You shake your head as you watch her move towards her office. While you feel just a tad guilty about your harshness, it doesn\'t really matter what others think of you!<br><br><<link "return" "office">><<set $emmaOpinion -= 1>><</link>><br><br><</replace>><</link>></span>'
}, {
name: 'EmmaMuscle11',
locationTags: ['emma'],
conditions: [
() => State.variables.emmaLastMuscle + 10 <= State.variables.muscle,
() => !State.variables.outfit.bonuses().map(bonus => bonus.name).includes('Baggy')
],
repeatable: false,
retriggerable: false,
priority: 'response',
npc: ['emma'],
content: 'Upon entering the workspace, you are met with the surprised looks of your coworkers. While they try to be discreet with their stares, it\'s quite obvious that your new fit body is getting checked out by members of both genders. To be quite honest, it\'s pretty flattering! On your way to your cubicle, you notice that Emma is standing next to your desk and seems to be waiting for you. <br><br><<Dialogue "Emma" "Emma">> "Hello, Miss <<print $playerLastName>> I\'m returning your reports after a review and, I must say, you did a decent job with them.”<</Dialogue>><br><<Dialogue "player" "You">> "Thank you.”<</Dialogue>><br>Similarly to your coworkers, Emma also glances at your body. Her stare lingers on your wide, strong shoulders and thick defined legs. However, you notice a bit of disapproval in her eyes.<br><br><<Dialogue "Emma" "Emma">> "I think we\'ve discussed steroids and company policy, did we not?"<</Dialogue>><br>She crosses her arms and tilts her head to the side, judgingly. You do feel a bit hurt by her statement, because while you growth is certainly unprecedented, it doesn\'t mean you were using steroids!<br><br><span id="choice"><<link "Angrily deny those accusations">><<replace "#choice">><br><br>You cross your arms menacingly, which only highlights their impressive size and muscularity.<br><br><<Dialogue "player" "You">> "I would never use steroids! It\'d be appreciated if you didn\'t make such unfounded accusations in the future!"<</Dialogue>><br>And with that, you sit on your chair with exaggerated intent, making it squeak loudly, protesting your weight. Emma is taken aback by your outburst, but she gives you a short nod and leaves without saying a word. This probably wasn\'t the best course of action that you could\'ve taken, but hey, you will not stand by under baseless accusations!<br><br><<link "return" "office">><<set $officeWarnings += 1>><<set $emmaOpinion -= 5>><</link>><</replace>><</link>><br><br><<link "Calmly refute her theory">><<replace "#choice">><br><br><<Dialogue "player" "You">> "You are a smart woman Emma, do you see any standard symptoms of me taking steroids? Besides, even is that even a decent explanation for my rapid growth?"<</Dialogue>><br>You show off your muscles by flexing your arms and striking a few poses for her. The HR executive looks impressed with your gains, but still frowns, obviously trying to figure out how it would be possible for someone to grow so fast.<br><br><<Dialogue "Emma" "Emma">> "Indeed, there is no proof of any telltale side effects. However, I have NO idea how you achieved this! Maybe you should slow down a bit nonetheless, Miss <<print $playerLastName>>. Such big changes in your body can\'t be good for your health!<</Dialogue>><br>She spends the next 15 minutes lecturing you about strength training related injuries, it\'s honestly quite touching that she worries so much!<br><br><<link "return" "office">><<set $emmaOpinion += 5>><</link>><</replace>><</link>><br><br><<link "Ignore her words">><<replace "#choice">><br><br>Instead of answering her, you sit on your chair, pull out a document from your drawer and start filling it up.<br><br><<Dialogue "player" "You">> "I have a lot of work to do, miss Fray, so unless there is something job-related, would you please excuse me?"<</Dialogue>><br>You don\'t give her a single glance as you start writing. Emma seems a bit lost. It would seem that your response got her off guard. Maybe she expected some sort of denial? Either way, she quickly excuses herself and leaves your cubicle.<br><br><<link "return" "office">><<set $emmaOpinion -= 1>><</link>><</replace>><</link>></span>'
}, {
name: 'EmmaExpertBookKeeper',
locationTags: ['emma'],
conditions: [
() => State.variables.skills[2].level >= 4
],
repeatable: false,
retriggerable: false,
priority: 'response',
npc: ['emma'],
content: 'Like every other day, your work keeps you busy, new tasks piling up constantly. But to be quite honest, you\'ve gotten way better at bookkeeping. As of now, there are hardly any challenges and you are probably one of the best in the office at what you do. Your thoughts are interrupted by a soft cough, and as you lift your head, you find Emma standing next to you, a warm expression on her face.<br><br><<Dialogue "Emma" "Emma">> "Miss <<print $playerLastName>> you\'ve been with us for some while, and I\'ve come to say that your efforts are much appreciated. Your skills definitely deserve praise and a reward as well!"<</Dialogue>><br>You are surprised by Emma\'s kind words, which aren\'t very common, though quite welcome! <br><br><<Dialogue "player" "You">> "Thank you, I\'m glad to hear it.”<</Dialogue>><br>She hands you a small, wrapped package and, while she nods in approval, you open it. Inside the package is a sportive smartwatch. You fiddle around with it for a short while, and it appears to be a high end model!<br><br><<Dialogue "Emma" "Emma">> "I wanted to give you a gift and since you\'ve said that you have been exercising regularly, and I realized that this would be the perfect reward for your excellent work."<</Dialogue>><br>To be quite honest, you didn\'t expect that Emma would be so thoughtful.<br><br><<Dialogue "player" "You">> "Wow... I don\'t know what to say. Thanks, Emma, I’m really grateful!"<</Dialogue>><br>She gives you a smile and shakes her head. <br><br><<Dialogue "Emma" "Emma">> "This is nothing but a small token of gratitude. As I said, your hard work deserves to be noticed and rewarded.”<</Dialogue>><br>She gives you a nod and leaves your cubicle, going returning to her office. It\'s nice knowing that she appreciates your efforts - both in the office and at the gym!<br><br><<link "return" "office">><<set $officeWarning -= 1>><<set $emmaOpinion += 10>><</link>>'
}, {
name: 'EmmaDick5',
locationTags: ['emma'],
conditions: [
() => State.variables.emmaLastDick + 5 <= State.variables.dick,
() => !State.variables.outfit.bonuses().map(bonus => bonus.name).includes('Baggy')
],
repeatable: false,
retriggerable: false,
priority: 'response',
npc: ['emma'],
content: 'You\'ve been working for a while in the office and your lunch break is fast approaching. Like most workers, you go to the cafeteria to eat your meal and relax for a short while. In the corner of your eye, you notice a short, brown-haired lady who is staring at you, more specifically, at your nether regions. She leans toward her friend and starts whispering. Is something wrong with your clothing? You glance down and discover the root issue. Because of your new "addition", your clothes around this area bulge visibly. Well, this is quite awkward! You leave the cafeteria and go towards the bathroom to do something about it. Unfortunately, on your way you come across Emma, who smiles and starts moving toward you.<br><br><<Dialogue "Emma" "Emma">> "Hello, miss <<print $playerLastName>>, are you on a break right now? I wanted to review some of your reports and I\'d like to hear your thoughts.”<</Dialogue>><br>During her speech, she glances downwards and obviously notices your bulge. She lifts her eyebrow and looks at you with a strange expression.<br><br><span id="choice"><<link "Excuse yourself and leave">><<replace "#choice">><br><br><<Dialogue "player" "You">> "Hey, miss Fray, listen, I\'ve got to go to the bathroom, I\'ll be right back!"<</Dialogue>><br>And with that, you quickly retreat, hoping to avoid confrontation with the HR executive. Seems like your dick could be quite problematic, you should most certainly be careful about incidents such as this!<br><br><<link "return" "office">><</link>><</replace>><</link>><br><br><<PersonalityCheck $shyConfident >= 1 "Play it cool">><<replace "#choice">><br><br><<Dialogue "player" "You">> "Ah, yes, of course. I\'ll be happy to help you!"<</Dialogue>><br>Carefully, you turn your body to the side, trying to hide your member. Emma is taken aback by your confidence, seems like she might have brought up your bulge, but decided against it. Both of you head to her office to review the reports. You definitely got lucky that she didn\'t say anything about your pecker!<br><br><<link "return" "office">><</link>><</replace>><<Failed>><<replace "#choice">><br><br><<Dialogue "player" "You">> "Ah, yes, of course. I\'ll be happy to help you!"<</Dialogue>><br> Carefully, you turn your body to the side, trying to hide your member. Emma is taken aback by your confidence, seems like she might have brought up your bulge, but decided against it. However, in your hurry you end up accidentally grazing your bulge against her body. With ice cold eyes, she stares at you.<br><br><<Dialogue "Emma" "Emma">> “... I will leave you with a warning this time, but dress more appropriately for work starting tomorrow.”<</Dialogue>><br><br><<link "return" "office">><<set $emmaOpinion -=10>><<set $officeWarning += 1>><</link>><</replace>><</PersonalityCheck>><br><br><<PersonalityCheck $shyConfident >= 2 " Be confident">><<replace "#choice">><br><br>Wait, why are you hiding your tool? If people want to look at it, might as well let them! It\'s not your concern if Emma is going to say something about it!<br><br><<Dialogue "player" "You">> "Yeah, no problem.”<</Dialogue>><br>She glanced again at your bulge, but quickly raises her head and clears her throat.<br><br><<Dialogue "Emma" "Emma">> "Um... right, please follow me.”<</Dialogue>><br>Well, this is unexpected, is she blushing? You raise your head high and smirk, your self-assurance bubbling up. It seems that even Emma can get embarrassed!<br><br><<link "return" "office">><</link>><</replace>><<Failed>><<replace "#choice">><br><br><<Dialogue "player" "You">> "Ah yes, of course. I\'ll be happy to help you!"<</Dialogue>><br> Carefully, you turn your body to the side, trying to hide your member. Emma is taken aback by your confidence, seems like she might have brought up your bulge, but decided against it. However, in your hurry you end up accidentally grazing your bulge against her body. With ice cold eyes she stares at you.<br><br><<Dialogue "Emma" "Emma">> “... I will leave you with a warning this time, but dress more appropriately for work starting tomorrow.”<</Dialogue>><br><br><<link "return" "office">><<set $emmaOpinion -=10>><<set $officeWarning += 1>><</link>><</replace>><</PersonalityCheck>></span>'
}, {
name: 'EmmaDick10',
locationTags: ['emma'],
conditions: [
() => State.variables.emmaLastDick + 10 <= State.variables.dick,
() => !State.variables.outfit.bonuses().map(bonus => bonus.name).includes('Baggy')
],
repeatable: false,
retriggerable: false,
priority: 'response',
npc: ['emma'],
content: 'It never crossed your mind before how much having a penis would impact your daily life. How do guys deal with it all the time? If anything, every task is now even harder because between your legs rests a bigger than average dick, which for most males would be a source of pride. Unfortunately for you, everyday tasks are much harder, since random erections tend to make a big tent in your female-tailored pants or skirts, which force you to suddenly have to hide from your coworkers. Today is no different, and since most people have their lunch-break around noon, this means that later in the day the cafeteria is empty and you’d rather take advantage of that. However, Emma’s workaholic routine means she\'s joining you in the otherwise empty eating area.<br><br><<Dialogue "Emma" "Emma">> "I\'ve had quite a bit of work today, which means that I\'m eating lunch much later than usual.”<</Dialogue>><br>It\'s kind of refreshing seeing a talkative Emma, unlike her somewhat stiff and not very personable demeanor when on duty.<br><br><<Dialogue "player" "You">> "Yeah, I get what you mean, but you shouldn\'t overwork yourself.”<</Dialogue>><br><<Dialogue "Emma" "Emma">> "Don\'t worry, I\'m taking good care of myself.”<</Dialogue>><br>Both of you spend some time talking about random topics while eating your respective meals. As you take a long look at Emma, you are struck by how attractive she is. While she isn\'t wearing the most appealing clothes, she looks amazingly good in them, and surprisingly, her body seems quite athletic as well. Wide shoulders, toned legs and a tight midriff are some of her best qualities. Suddenly, your thoughts are interrupted by a shift in your underwear. Oh no, this isn\'t good! An erection right now isn\'t a good idea. Heck, what should you do? You don\'t want Emma to notice this.<br><br><span id="choice"><<link " Sit still and pretend that you\'re still eating">><<replace "#choice">><br><br>You start chewing slower, maybe Emma will leave before you? Taking a quick glance at her, you discover that she\'s pretty much done with her meal. Emma takes her tray and looks at you.<br><br><<Dialogue "Emma" "Emma">> "Well, I should be going back to work, don\'t sit here too long.”<</Dialogue>><br>Yes! Looks like you were right.<br><br><<Dialogue "player" "You">> "Of course, I\'ll be done in a moment.”<</Dialogue>><br>As the HR executive leaves the room, you make sure to sit in the cafeteria for a short while until your erection fades. That was close! You ought to be mindful of events such as this in the future.<br><br><<link "return" "office">><</link>><</replace>><</link>><br><br><<link "Make an excuse and leave quickly">><<replace "#choice">><br><br>Deciding that a fast retreat is your best option, you stand up with your tray and try to hold it at crotch level, hoping that it\'ll hide your erect dick. Emma lifts her eyebrows and gives you a confused stare, but you don\'t give her any chances to say anything.<br><br><<Dialogue "player" "You">> "Oh, Emma, it just came to me that I have to finish my task right now. See ya!"<</Dialogue>><br>And with that, you swiftly retreat from the cafeteria. Emma certainly believes you are behaving weirdly, but that\'s a better alternative than her seeing your boner!<br><br><<link "return" "office">><</link>><</replace>><</link>><br><br><<PersonalityCheck $shyConfident >= 3 "Be bold">><<replace "#choice">><br><br>Wait, perhaps there is no need to hide? You stand up confidently and try to leave the cafeteria without making a fuss. However, looking at Emma, it’s obvious that she has spotted your stiff boner. She looks a bit embarrassed, but nonetheless seems adamant about voicing her thoughts.<br><br><<Dialogue "Emma" "Emma">> "Miss <<print $playerLastName>>, may I suggest wearing looser clothing? We don\'t want any sexual harassment complaints in the future.”<</Dialogue>><br>Now it\'s your turn to be embarrassed, as you blush and look down, but not before giving her a nod, which seems to be enough for her at the time being.<br><br><<link "return" "office">><</link>><</replace>><<Failed>><<replace "#choice">>You try to stand up confidently and... it’s a disaster. Your posture is horrible, you got a horrible goofy smile on your face and, worse of all, that tenting erection is the focus of all attention. To her credit, Emma does not overreact. Instead, she simply looks at you square in the eyes, not amused.<br><br><<Dialogue "Emma" "Emma">> "Miss <<print $playerLastName>>, may I suggest wearing looser clothing? We don\'t want any sexual harassment complaints in the future. I will be leave you with a warning this time, and if this happens again, it could compromise your career with us."<</Dialogue>><br><br>Well, that went... horribly.<br><br><<link "return" "office">><<set $emmaOpinion -= 20>><<set $officeWarning += 1>><</link>><</replace>><</PersonalityCheck>></span>'
}, {
name: 'EmmaHomeTailoredClothing',
locationTags: ['emma'],
conditions: [
() => State.variables.outfit.bonuses().map(bonus => bonus.name).includes('Hand-made')
],
repeatable: false,
retriggerable: false,
priority: 'response',
npc: ['emma'],
content: '<<set $emmaOpinion += 1>>It was a familiar scene, you and Emma around the coffee machine, early in the morning. She looks over your outfit, a bit puzzled.<br><<Dialogue "Emma" "Emma">> "Miss <<print $playerLastName>>, where did you get those clothes?”<</Dialogue>><br>Shit. It seemed she noticed that you made them yourselves; this might be against company policy. Do you tell her?<br><br> <span id="choice"><<link "Tell her">><<replace "#choice">><br><<Dialogue "player" "You">> "Ehm, I actually made them myself. You know, to save costs, and as a fun hobby…?”<</Dialogue>><br><<Dialogue "Emma" "Emma">> "Impressive! I often have trouble finding clothes too, so I can sympathize. Excellent work, perhaps I might ask you to make me something one of these days. Should you be open to it, of course. Now, I must run. Meeting!"<</Dialogue>><br>And with that, she is gone. But it seems she genuinely admired your work!<br><br><<link "return" "office">><</link>><</replace>><</link>><br><<link "Don\'t tell her">><<replace "#choice">><br><<Dialogue "player" "You">> "Ehm, Oh no, just... store bought, you know! Heh, I just know where to look."<</Dialogue>><br><<Dialogue "Emma" "Emma">> "Well, please tell me where you get these. I often have trouble finding clothes that fit, and yours could easily pass for tailor-made. But I must run now, meeting!"<</Dialogue>><br>And with that she is gone. But it seems she genuinely admired your work!<br><br><<link "return" "office">><</link>><</replace>><</link>></span>'
}, {
name: 'EmmaStreamed',
locationTags: ['emma'],
conditions: [
() => State.variables.streamedFlag
],
repeatable: false,
retriggerable: false,
priority: 'response',
npc: ['emma'],
content: 'Sitting down in your chair, a wave of dread washes over you. On your monitor is a little pink note with Emma\'s neat handwriting on it. It simply tells you to go see her, \'but no hurry\'. Knowing that \'no hurry\' means \'HURRY\', you immediately head to her office, without even getting your usual morning coffee.<br><<Dialogue "Emma" "Emma">> "Miss <<print $playerLastName>> Ah, good morning. You saw my note, thank you for coming so promptly. Now, it has come to my attention that recently you have been streaming online. Is that correct?”<</Dialogue>><br><<Dialogue "player" "You">> "S-Streaming?”<</Dialogue>><br><<Dialogue "Emma" "Emma">> "Yes, streaming. Now, generally we do not concern ourselves with what our employees do in their free time, but I would also like to say that we want our employees fresh and able to work in the morning. So please, consider your hours. Also, I’d like to remind you not to mention your employer, for the obvious liabilities. And should your income here be unsatisfactory, you should raise that issue directly with me. I\'d hate to learn your position requires you to have a second job. That is all...”<</Dialogue>><br>She simply goes back to work, like nothing had happened. As you leave the office you\'re rather stunned; it wasn\'t a reprimand, but you sure as hell aren\'t sure if it bothered her. Perhaps Emma is genuinely a bit worried...?<br><br><<link "return" "office">><<set $emmaOpinion += 2>><</link>>'
}, {
name: 'EmmaExpertCook',
locationTags: ['emma'],
conditions: [
() => State.variables.skills[1].level >= 4
],
repeatable: false,
retriggerable: false,
priority: 'response',
npc: ['emma'],
content: `You head to the company’s cafeteria, with your packed lunch in hand. You can hear your stomach rumbling as you carry the larger-than-usual transparent plastic container with your carefully-prepped meal - it’s kind of amazing how much your appetite has grown since you started undergoing these changes. <<if $muscle >= 65>>Not too long ago, this would probably have been enough for your whole work week.<<elseif $muscle >= 40>>Not too long ago, this would probably have been enough for three meals.<<else>>Not too long ago, you couldn’t even dream of eating all of this by yourself.<</if>><br><br>You eagerly sit down on one of the available seats, slightly salivating as you open the container, its delicious spicy aroma wafting gently. You grab your fork as you prepare to dig in, as you spot with the corner of your eye Emma grabbing her own carefully labeled container from the refrigerator. She raises her head, discreetly smelling and looking delighted.<br><br>The first bite of your seasoned chicken tastes as good as you expected, bringing a joyous smile to your face. You give a little squirm of delight, satisfied with your own cooking prowess.<br><br><<Dialogue "Emma" "Emma">>"Miss <<print $playerLastName>>, I hope I am not intruding, but did you make that meal yourself?"<</Dialogue>><br><br>Taken by surprise, you give a quick answer, mid-chew:<<Dialogue "player" "You">>"Yesh…"<</Dialogue>><br><br>You quickly cover your mouth and nod positively. Emma stands by your side, carefully scanning the food within your container.<br><br><<Dialogue "Emma" "Emma">>"I have to say, I am positively impressed. This is a very protein-rich selection, but you seem to have carefully controlled your carbs and covered all your nutritious needs. And yet…"<</Dialogue>><br><br>She closes her eyes and she takes another delighted whiff.<br><br><<Dialogue "Emma" "Emma">>"I can tell from the aroma alone that this seems exceptionally well seasoned… is that… a hint of ginger?"<</Dialogue>><br><br><<Dialogue "player" "You">>"Uh… yeah. Well, I was inspired by murgh makhani, so I used some garam masala and chili powder, but took the fatty part out, foregoing the butter and yogurt. I didn’t want the chicken to get too dry, though, so I have to be very careful not to overcook it."<</Dialogue>><br><br>She seems to be trying very hard not to stare at your meal, but failing. Her eyes dart between your carefully portioned protein and vegetable accompaniment.<br><br><<if $muscle >= 45 && $fat >= 30>><<Dialogue "Emma" "Emma">>"You calculated these macros, right? I hope I’m not being too forward, but I can tell from your physique that you clearly are mindful of your nutrition, and, I must admit, this prep is a thing of beauty."<</Dialogue>><br><br><</if>><span id="choice"><<link "You offer her a bite of your meal">><<replace "#choice">>You look around awkwardly, before offering her a bite, wondering if you are pushing some work boundaries. Emma seems reluctant to accept, but clearly not for a lack of desire.<br><br><<Dialogue "Emma" "Emma">>"I… I really should not deviate too much from my own nutrition plan. It is very carefully planned and tested."<</Dialogue>><br><br>She says this, but you can see her eyes still briefly gazing at your food.<br><br><<if $emmaOpinion > 30 || $skills[1].level > 3>><<Dialogue "player" "You">>"How about… we exchange some bites? Your meal doesn’t look too shabby either"<</Dialogue>><br><br>You sneak a peek at her own plate, which is impeccably functional and meticulously prepared - if a bit predictable and unoriginal. She is clearly indecisive regarding your offer, which is a first for you.<br><br><<Dialogue "Emma" "Emma">>"It would be a travesty to pass on such an exquisite treat… but…."<</Dialogue>><br><br>She looks around, making sure there’s no one around in the diminutive kitchen area. Having confirmed that you two have some privacy, she uses her clean spoon to grab a single piece of the sliced chicken, bringing it to her mouth.<br><br>She slowly chews it, closing her eyes and letting out a rare and brief expression of delight. You notice that, despite already wearing heels, she tip-toes even more, her already noticeable calves balling into a very defined heart-shape. It would seem that your chicken is quite a success in her book.<<Dialogue "Emma" "Emma">>"That is… nothing short of inspired. Would you mind… emailing me the recipe later? Please use my personal account, I would not want to discuss non-work related issues on my corporate account."<</Dialogue>><br><br>After you agree, she gives you her personal email, and starts walking to sit by herself on the corner. She never offered you a bite of her meal, but you are not about to bring that up, as you proceed to finish your own. <<set $emmaOpinion += 10>><<else>> <<Dialogue "Emma" "Emma">>"Believe me, the offer certainly is tempting… but there are some workplace boundaries to think of."<</Dialogue>><br><br><<Dialogue "player" "You">>"That’s a pity. Suit yourself."<</Dialogue>><br><br>You reply, taking another mouthful of chicken and vegetable. Emma walks to another seat further away from you, and you can swear you hear her muttering to herself about her own macros and spices. <<set $emmaOpinion += 5>><</if>><<link "Continue" $currentScene>><</link>><</replace>><</link>><<link "You invite her to sit and talk about cooking">><<replace "#choice">>You motion for her to sit by your side so you can exchange some cooking tips. Emma seems to briefly hesitate, but against her better judgment, pulls a chair next to yours and slowly fires one or two questions about the spices you use. She eventually works her way up to exchanging experiences about her macros and her own prep. She even volunteers a funny tirade regarding her long weekend cooking sessions and how she had to buy a new freezer just to store her meals.<br><br>You laugh at her story, while she still maintains her serious façade, but you notice she seems more relaxed and even lets a smile slide at some point. Maybe you should volunteer to do prep together someday? Given the bulk preparation you two seem to share, it could actually be a lot more efficient if you worked together…<br><br>You shake the idea off for now, as Emma does seem to be very mindful of work and personal boundaries… but the idea still lingers on the back of your head.”<<set $emmaOpinion += 15>><<link "Continue" $currentScene>><</link>><</replace>><</link>></span>`
}, {
name: 'EmmaExpertWorkout',
locationTags: ['emma'],
conditions: [
() => State.variables.skills[0].level >= 4,
() => State.variables.muscle >= 30
],
repeatable: false,
retriggerable: false,
priority: 'response',
npc: ['emma'],
content: 'You open your work email and you visibly recoil as you see a request from Todd. It’s become a bit of a ritual - whenever he screws up, he somehow manages to dump the mess on your lap, and it’s usually a lot of work. You open the attached spreadsheet and lo and behold… digital chaos.<br><br>You comically hit your forehead against your desk a couple of times, and, still down, give a deep sigh. <<if $submissiveDominant > 1>> After you steel yourself for the task ahead, you start untangling the absolute spaghetti of data, trying very hard to dispel your mental image of choking Todd at the parking lot.<<else>>Well, not much you can do, really, other than brace yourself and get to work. <</if>>After resigning yourself to this gruesome task, you crack your fingers and start digging into the dark recesses of Todd’s swamp of a spreadsheet.<br><br><<if $skills[2].level > 2>>Thankfully, your data entry skills are better than average, and you start, piece by piece, unraveling the mistakes, trying not to dwell on the fact that it would have probably been easier to work off of the raw data he was given than trying to work it back into shape. It’s the story of your life.<br><br>It takes a while, but you are now psychologically exhausted. You decide to take a little break and go for a walk on the balcony.<<else>>Your eyes start to glaze as you stare into the information abyss. What the hell, Todd. You can barely figure out where to start, and are forced to send an email requesting the raw data so you can make head or tails of this. You try to wobble your brain back in its socket while you wait for the info, and decide you need a break, so you head for the balcony.<</if>><br><br>You arrive at the secluded balcony, where most people come to have a smoke, and you sigh in relief realizing you have the place for yourself. You lean against the railing, looking at the trees and birds as you seek to recenter yourself. A gentle breeze blows against your face, and you close your eyes, basking on the warmth of the sun. It’s as if you have chlorophyll running through your veins, feeling re-energized by the experience - it feels incredibly good.<br><br>In fact, you feel so pumped that you feel a sudden need to just… do something physical. Taking advantage of being the only person on the balcony, you decide to take a moment for a good stretch. You raise your leg above the railing, reaching for the sole of your shoe. You give your hamstring an incredible stretch, touching your thighs as you breath out with serenity, your calves at full display while you do so.<br><br>Distracted as you are, you hear a small creak behind you. You turn your face to the side, and spot Emma, arms folded around a hefty pile of documents - which is probably even heavier than it looks, since paper is actually much heavier than you might think in such a large ream - her neck craned back to look at you as she was passing by the balcony door.<br><br><<if $shyConfident < 1>>You quickly gather yourself up, pretending to dust your bottom wear as you stabilize yourself.<br><br><</if>><<Dialogue "player" "You">>"Oh, hello, miss Fray. Didn’t see you there before, do you need anything?"<</Dialogue>><br><br><<Dialogue "Emma" "Emma">>"Perhaps not the most the most appropriate place for a stretch, miss <<print $playerLastName>>, even if I do concede you are clearly on your break, so it might not be entirely my business to comment on that. However, I must admit, that was a beautiful display of form and flexibility."<</Dialogue>><br><br><<if $shyConfident> 2 && $carefreeCarefull < -1>> <<Dialogue "player" "You">>"Oh, that?"<</Dialogue>><br><br>You stand on your left tiptoe and slowly and casually raise your right leg above your head with flair, doing a couple of controlled calf raises in a playful manner as you smile. You can feel the sweet burn on your lower leg, and Emma can’t help but stare at it, her lips lightly pursing at your athletic display.<br><br> <<Dialogue "player" "You">>"Never a bad time for a quick workout!"<</Dialogue>><br><br> <<Dialogue "Emma" "Emma">>"Actually, I’d rather you’d avoid such displays at the office, miss <<print $playerLastName>>. The last thing I need is for my employees to get distracted… let alone the headache of a decency complaint."<</Dialogue>><br><br>You frown slightly and pull your leg down. <<Dialogue "Emma" "Emma">>"Still…"<</Dialogue>><br><br>She continues…<br><br><<elseif $shyConfident> 2 && $carefreeCarefull >= -1>> <<Dialogue "player" "You">>"Well, I certainly try…"<</Dialogue>><br><br>You say, as you absent-mindedly give your quadriceps a nice, casual and modest flex. Well, modest in the sense that you are not downright posing, because your legs expand quite dramatically, and Emma’s eyes seem to slightly widen at your brief demonstration.<br><br> <<Dialogue "player" "You">>"Thanks for noticing! I actually quite enjoy working out, I would say it’s a hobby, but frankly, it’s kind of a passion."<</Dialogue>><br><br><<else>> <<Dialogue "player" "You">>"Thanks for noticing! I actually quite enjoy working out, I would say it’s a hobby, but frankly, it’s kind of a passion."<</Dialogue>><br><br><</if>><<Dialogue "Emma" "Emma">>"I can tell you must have put some serious effort to achieve such results. But effort alone isn’t enough. It’s clear that you have the technique as well… and I would assume the discipline that tends to go with it. "<</Dialogue>><br><br><<if $shyConfident< 0>>You blush at her praise, which you know from experience doesn’t come lightly.<br><br><</if>><<Dialogue "player" "You">>"Yeah, I’ve certainly invested the time in improving my training, and I’d like to believe it is paying off."<</Dialogue>><br><br><<Dialogue "Emma" "Emma">>"Oh, it most certainly has."<</Dialogue>><br><br><span id="choice"> <<link "Return the compliment, noticing her impressive physique">> <<replace "#choice">> <<Dialogue "player" "You">>"And, coming from you… I’d say that is quite high praise. I mean… I’d hazard a guess that you must have spent a decent amount of time training."<</Dialogue>><br><br>Emma is slightly taken aback at your praise, but certainly glad that you did notice.<<Dialogue "Emma" "Emma">>"Well, yes. I do take pride in my fitness accomplishments. It was a matter of hard work, especially with the hours I keep at the office, so I must ensure that my routines are very efficient."<</Dialogue>><br><br>The two of you spend some time exchanging details of your own lifting routines. Neither of you notice as the minutes fly by, discussing training splits, weight loads, specific exercises and minutiae about form.<br><br> <<Dialogue "player" "You">>"If you don’t mind, I can always use some tips. I can’t shake the feeling you would make an excellent trainer!"<</Dialogue>><br><br>Emma gives you a small smile, hugging her documents slightly tighter.<<Dialogue "Emma" "Emma">>"I am not sure I have much to teach you… I get the impression your gains and knowledge are… well… nothing short of miraculous for someone your age."<</Dialogue>><br><br>Suddenly, Emma glances at her sports watch and realizes how much time has passed, getting visibly agitated.<br><br><<Dialogue "Emma" "Emma">>"Oh my, look at time! How am I going to finish all this now?"<</Dialogue>><br><br>She looks a bit anxious, but not disappointed, as she shuffles back in, but not before thanking you for the conversation. You also hurry back to your desk, a proud smile on your face. <<link "Continue" $currentScene>><</link>><</replace>> <</link>> <<PersonalityCheck $shyConfident >= 1 "Give her a little demonstration of your muscles">> <<replace "#choice">> <<Dialogue "player" "You">>"Well, allow me to demonstrate, then."<</Dialogue>><br><br>You start by exposing your full arm downwards, giving a nice flex that reveals your sinewy muscle, from shoulder to wrist. Your triceps bulge impressively along your biceps, veins nicely adorning the chiseled appendage. From that, you proceed into a most muscular pose almost by instinct, your pectorals and deltoids stretching your clothing almost uncomfortably.<br><br>Emma gulps silently, and she briefly loosens her grip on the documents she was holding against her chest, making the papers fall all over the balcony. The two of you shuffle to grab all of them - thankfully without letting any of them fly away - as Emma collects herself… not so much from the accidental mishap as from the shock of your muscular prowess.<br><br> <<Dialogue "Emma" "Emma">>"Oh my, look at time! I should be going!"<</Dialogue>><br><br>She quickly returns to her previous task, but you do notice she looks back for a split second to sneak a last peek at you on her way out. <<link "Continue" $currentScene>><</link>> <</replace>> <<Failed>> <<replace "#choice">><<Dialogue "player" "You">>"Well, check THIS out!"<</Dialogue>><br><br>You start raising your fists in a double-biceps pose, but you accidentally hit the paper pile Emma was holding, sending the ream flying in the air. Some of the pages fall over the balcony, and you apologize profusely as you run down to help undo the mess you just caused.<br><br>Well, that could have gone better…<<link "Continue" $currentScene>><</link>> <</replace>> <</PersonalityCheck>></span>'
}, {
name: 'EmmaExpertSewing',
locationTags: ['emma'],
conditions: [
() => State.variables.skills[6].level <= 4
],
repeatable: false,
retriggerable: false,
priority: 'response',
npc: ['emma'],
content: ''
}, {
name: 'EmmaExpertBookKeeping',
locationTags: ['emma'],
conditions: [
() => State.variables.skills[2].level >= 4
],
repeatable: false,
retriggerable: false,
priority: 'response',
npc: ['emma'],
content: 'You are sitting at your desk, concentrating on your tasks as usual, but something just feels off. You see from the corner of your eye some people rushing through the corridor. It’s not that unusual, but you can’t shake the feeling that something weird is going on. You press on, trying to finish your duties.<br><br>Soon, however, you notice something truly out of the ordinary: Emma is one of the people running around in a hurry, looking anxious - which seems truly out of character for her.<br><br><<if $shyConfident > 2>>Concerned, you decide to check with Emma what is going on.<br><br><<Dialogue "player" "You">>"Hey, Emma, is everything alright? I couldn’t help but notice the commotion around the office…"<</Dialogue>><br><br><<Dialogue "Emma" "Emma">>"Ah, miss <<print $playerLastName>>. Excellent observational skills, but I’m afraid I can’t chit-chat right now. We are in a bit of a pickle."<</Dialogue>><br><br><<Dialogue "player" "You">>"What’s going on? Anything I can help with?"<</Dialogue>><br><br><<Dialogue "Emma" "Emma">>"Mr. Thompson is absent today, and he apparently did not finish the report he was supposed to present to one of our major clients - who decided to come in personally for a presentation on it. On top of that, today we have seven different project deadlines coming up, and half of those are late. I need to guarantee all of those are ready today, but I will also need to fill in for Mr. Thompson on the presentation, which I need to make sure is ready before he arrives."<</Dialogue>><br><br><<Dialogue "player" "You">>"Yikes. Emma, I know you are extraordinary at what you do, but… don’t take this the wrong day - at the end of the day, you are still human. Like I said before, let me help you."<</Dialogue>><br><br><<Dialogue "Emma" "Emma">>"Are you sure, miss <<print $playerLastName>>? This is a big responsibility, and if you were to underdeliver, there would be consequences."<</Dialogue>><br><br><<elseif $shyConfident >= 1>>You continue your tasks, but now you are positive something is off. However, this really seems above your pay grade, so you figure it’s best to just keep plugging those numbers. But as time passes, the commotion just seems to increase. Eventually, the usual office whispering starts: it would seems like a major client is coming for an important meeting, but Mr. Thompson not only did not finish the report that was supposed to be presented to them, but he is completely absent and no one can get in touch with him. Work started cascading down the ladder, and you can see Emma is running around reassigning tasks on the fly around the office, trying to salvage what could quickly become disastrous for the company.<br><br>You’ve seen Emma handle bigger stuff than this, so you figure there might be more to it. Well, maybe you can help somehow?<br><br><<else>>This looks way above your paygrade, so you just stick to your current task.<br><br> <</if>> However, as the chaos increases, the situation quickly becomes an all-hands-on-deck as people are pulled off their current tasks to help. Apparently, there are several projects running late that need to be handed in today, and Emma will have to take over a presentation Mr. Thompson was supposed to have finished - but he just didn’t show up at work and his whole project was not ready.<br><br>You see Emma running past your desk, uncommonly agitated, and you muster all your courage to interrupt her and volunteer.<br><br><span id="choice"><<PersonalityCheck $carefreeCarefull >= 2 "Let me take over for Mr. Thompson, you handle the late projects.">><<replace "#choice">>As you usually keep up with all current projects, you have a pretty good idea of all that is going on. So you go out on a limb and make a very daring proposal:<br><br><<Dialogue "player" "You">>"Look, Emma, I’m very familiar with Mr. Thompson’s project. Even though I wasn’t part of the team, I know it well enough to pick it up and finish the report. But if you are to micromanage all the other late deliveries, it will be hard for you to stay up-to-date and present it properly. Let me handle the presentation."<</Dialogue>><br><br>Emma is quite taken aback. You know you are offering to carry a huge burden, like some sort of corporate Atlas. She looks deep in your eyes, as if she could measure your mettle just by gazing into your soul.<<if $shyConfident >= 2>>But you stand tall and unflinching, staring back at her resolutely. She can’t even hide her surprise.<br><br><<Dialogue "Emma" "Emma">>"Alright, miss <<print $playerLastName>>. I will leave that to you. But you must not disappoint me, do you hear?"<</Dialogue>><br><br><<else>>You realize you are taking a bit of a risk, and you try your best to give her confidence in your proposal.<br><br><<Dialogue "player" "You">>"We don’t have many options. I wouldn’t offer this if I didn’t think I could do it. But there isn’t much time to lose, so just give me the go ahead and I’ll do it. You can trust me."<</Dialogue>><br><br>Emma sighs, still some concern on her face.<br><br><<Dialogue "Emma" "Emma">>"Do not disappoint me, miss <<print $playerLastName>>."<</Dialogue>><br><br><</if>>And with that, she turns around and goes back to the team. You grab your computer and head to the presentation room. Reaching the shared folder, you find everything Mr. Thompson had already delivered… and it’s not looking great. Your eyes dart around all the confusing data, and you feel a tinge of doubt as you get a proper idea of the size of the mess you got yourself into. But you know how good you are at this, and nothing is going to stand in your way.<br><br>Your fingers deftly fly over the keyboard, tapping furiously as you organize the report, sending the occasional email to members of the team to get clarity on some minor details. Every time you look at the clock, it feels like time has flown much faster than you expected, but you steel yourself and keep focused on the task at hand.<br><br>As you approach your goal, you look at the clock and realize you only have 15 minutes until the presentation. You spend the next 5 minutes going over all the last bits of revision before you go call Emma.<br><br>As you leave the presentation room, your legs are a bit cramped from all the stress - but no time to stretch. You scan around, and it doesn’t take too long to spot Emma’s rather full and imposing silhouette, and you make your way towards her.<br><br><<Dialogue "player" "You">>"Hey, Emma. I’m done. There should be enough time to review the presentation before you join me with the client."<</Dialogue>><br><br>Emma looks back at you, unable to conceal her worry. She goes straight to business, as expected.<br><br><<Dialogue "Emma" "Emma">>"Headquarters just called. There is going to be a video conference with all local managers, and I must participate. I won’t be able to review the presentation… and I won’t be there."<</Dialogue>><br><br>You are taken off-guard. Your heart skips a beat - this is a bit beyond what you originally bargained for.<br><br><<Dialogue "Emma" "Emma">>"You can do this, <<print $playerFirstName>>. Go wash your face, and I’ll have the clients meet you in the presentation room. The tall, gray-haired man with a mole on his right cheek is the president, Mr. Clark."<</Dialogue>><br><br>Alright, <<print $playerFirstName>>, it’s not time to panic. You rush to the bathroom, and wash your face as instructed, make sure you are looking your best. Now is the moment of truth. You look in the mirror, and inspect yourself. <<if $shyConfident >= 2>>Somehow, you are surprised - this is not the same small, insecure girl that arrived at this campus not that long ago. You see a grown, confident and experienced woman. You feel like you could take over the world. So let’s go do it!<<else>>Emma trusts you. And this should be enough. You got this.<</if>><br><br>You walk back to the presentation room. You make sure there’s water for everyone, and that the presentation is all queued up. As the clients walk in, you introduce yourself to Mr. Clark, and apologize for Emma’s absence. <<if $muscle >= 80 || $height >= 180>>This presentation might get a little uncomfortable, as the whole delegation seems to have a hard time not staring at your gigantic body. You keep nervously adjusting your clothes, and hope they will actually keep their eyes on the screen for a change. <<elseif $muscle >= 50>>Your physique is probably something businessmen are not quite used to, as you feel somewhat naked with the constant “discreet” (well, that’s what they probably think, at least) stares you keep getting. But you march on, undeterred. <<elseif $muscle >= 35>>One of his underlings, as you give him a handshake, asks you if you work out while he stares at your arm. You give him a nervous smile and nod. <</if>>You proceed through the presentation, explaining just enough to keep it brief, but clear. The client has a few questions, <<if $shyConfident >= 2>>and you have all the answers ready to go, decisively quashing any doubts with precision and confidence.<<elseif $shyConfident >= 0>>and you do your best to answer them, stammering a bit here and there<<else>>making you doubt yourself and freeze. They look at you inquisitively, and you start going over your notes as your heart rate goes through the roof.<</if>>Just then, Emma quietly makes her way into the room. She apologizes for her tardiness, and picks up just in time to finish the meeting. The clients seem very pleased, and thank Emma emphatically as she escorts them to the elevator. Phew! <<if $muscle >= 60>> As they leave, though, you can’t help but overhear one of them comment: “what do they feed their employees here?”<</if>><br><br>As you walk back to your desk, adrenaline still pumping, Emma comes back, looking pleased.<br><br><<Dialogue "Emma" "Emma">>"I will let you know, <<print $playerFirstName>>, these are some of our most demanding clients. They were very pleased with your report."<</Dialogue>><br><br><<if $shyConfident >= 2>><<Dialogue "player" "You">>"Well, I was just doing my job…"<</Dialogue>><br><br><<Dialogue "Emma" "Emma">>"No, <<print $playerFirstName>>, you were technically doing Mr. Thompson’s, and arguably my job. And doing it very well, it would seem."<</Dialogue>><br><br><<else>><<Dialogue "player" "You">>"Uh, I tried my best, but I admit it got a tad hairy there at times…"<</Dialogue>><br><br><<Dialogue "Emma" "Emma">>"Nonsense, you went beyond the call of duty and performed admirably!"<</Dialogue>><br><br><</if>>You are slightly surprised - Emma does not dispense this kind of praise lightly. You beam with pride. She offers you her hand, and you accept her handshake. Wow, that is SOME grip she has - you literally never remember anyone ever giving you a firmer handshake in your entire life. <<if $muscle >= 45 && $shyConfident > 1>>Your squeeze as hard as you can right back, which doesn’t seem to go unnoticed, and somehow makes her push even harder, Emma’s face completely unfazed. This lingers on for a bit, before she continues:<<elseif $muscle >= 35>>/* This one is empty on purpose */<<else>>You force your best smile, while secretly hoping she doesn’t break something.<</if>><br><br><<Dialogue "Emma" "Emma">>"You have proven yourself, I did not realize you had these book-keeping and presentation skills. I see a bright future for you in the company."<</Dialogue>><br><br>Feeling incredibly accomplished, you thank Emma.<<Dialogue "Emma" "Emma">>"I would invite you for a celebration, but unfortunately I do have some personal things I would like to do tonight…"<</Dialogue>><br><br><<Dialogue "player" "You">>"Oh, and what is that?"<</Dialogue>><br><br><<Dialogue "Emma" "Emma">>"I won’t bore you with the details, but after this much stress, I just need to vent all pent off energy and frustration at the gym, or I can’t manage to get a proper night’s sleep."<</Dialogue>><br><br>I guess it should be no surprise - Emma certainly seems like the kind of person that would throw herself with complete commitment at everything she does. You thank her again before returning home, feeling prouder than ever.<<link "Continue" $currentScene>><</link>><</replace>><<Failed>><<replace "#choice">><<Dialogue "player" "You">>"I think I can take over Mr. Thompson’s project, so that’s one thing off your plate."<</Dialogue>><br><br><<Dialogue "Emma" "Emma">>"What are you planning to do? Just complete the presentation? I could delegate that, but since I’m the one who has to present it, it won’t do me much good - since I need to know it like the back of my hand to present it in just a couple of hours."<</Dialogue>><br><br><<Dialogue "player" "You">>"Oh… I guess I can check with the rest of the teams and try to help where I can on the late projects."<</Dialogue>><br><br><<Dialogue "Emma" "Emma">>"That would be great. Now, if you will excuse me, I really do need keep up with everything or we won’t make it."<</Dialogue>><br><br>You go back to your desk and check the internal project management software to see where you can be the most help. Thankfully, your skills allow you to see where you can make the most difference, and you get a hold of the proper stakeholders and send the proper emails so you can make yourself useful.<br><br>It is a gruesome few hours, and everyone is on edge. But as the workday comes to a late close, the team manages to pull a victory by the skin of their teeth. A slightly disheveled Emma gathers everyone at the office.<br><br><<Dialogue "Emma" "Emma">>"Hello, everyone. I’d like to say a few words to everyone. Despite the curveball we were handed today, you have performed beautifully. Yes, we made some mistakes that led us to this terrible situation, but I was glad to see everyone coming together to deliver the results we needed. I am proud of every one of you. Hopefully, we won’t have to face another day like today… but if we do, I’d like nothing more than to count on a team like this one."<</Dialogue>><br><br>Everyone cheers, but despite her slightly not-perfect hair, Emma seems like her serious everyday self. Sure, you managed to deliver an inordinate amount of work today, but your great bookkeeping skills might have gotten lost amidst the chaos. Pity.<br><br>As you shut down your computer and start getting ready to go home, Emma stops by your desk, and now that you are up close and personal, you can feel that she has got a slight nervous edge to her. I guess she is human, after all, you muse to yourself, suppressing a giggle.<br><br><<Dialogue "Emma" "Emma">>"Miss <<print $playerLastName>>. I looked at the deliveries today. You actually got more done than anyone else today. We would have never quite managed without you. So I just wanted to extend my personal congratulations before you left."<</Dialogue>><br><br><<Dialogue "player" "You">>"Oh… it was nothing. At the end of the day, if anyone delivered less than they did, we would not have made it."<</Dialogue>><br><br><<Dialogue "Emma" "Emma">>"While that is true, you still made the difference. And a good boss is expected to give proper feedback and encouragement. Not only that, but this could have reflected very poorly on me had things not gone well. So, I’d also like to extend my personal congratulations and gratitude."<</Dialogue>><br><br>You smile and thank Emma, feeling proud of yourself. You still can’t shake the feeling you could have shined even more if you had the chance…<<link "Continue" $currentScene>><</link>><</replace>><</PersonalityCheck>><<link "I can manage the late projects, you go cover for Mr. Thompson">><<replace "#choice">><<Dialogue "player" "You">>"I am familiar with all projects, you go focus on Mr. Thompson’s presentation, and I will manage everyone else. You can trust me."<</Dialogue>><br><br>Emma looks at you, a hint of doubt and concern in her eyes. Silently, you can see she is weighing her options before replying:<<Dialogue "Emma" "Emma">>"This is a lot of responsibility you are taking. There’s no room for errors here. Normally, I would never agree to this, but I am out of options. Miss <<print $playerLastName>>, do not disappoint me."<</Dialogue>><br><br>And with that, she turns around and goes back to her office.<br><br>Right! It’s time to roll up your sleeves and get to work!<<if $shyConfident > 1>>You stand at the front of the room, raise your hands and call everyone’s attention:<<Dialogue "player" "You">>"Hey, everyone! Emma tasked me with coordinating efforts to get all projects delivered. Please, I need to talk to all project leaders, one at a time. I will call each of you sequentially to my desk to coordinate. Everyone who doesn’t have a deadline today, wait by the whiteboard and I will assign tasks accordingly. If anyone thinks they are unable to deliver, send me an email immediately."<</Dialogue>><br><br>With a plan hatched, you start distributing everyone a job. Looking at the project management software, you decide to switch some people into tasks they are more efficient at. Whenever there is a moment of respite, you start collaborating as well.<br><br>The rest of the day goes by like a flash. There is barely any time to breath, but you seem to be on track to deliver all the late projects by EOB, or close enough that it shouldn’t be a problem.<<else>>You hastily open the project management software, and your eyes scan every task and resource with robotic precision. A vision starts crystallizing in your mind, as you send email after email to each stakeholder, explaining that Emma tasked you with managing the late projects, and giving directions on how to proceed. You ask the proper questions and try to come up with the most efficient way to deliver everything.<br><br>You go after the project leaders, trying to liaise so that you can get the most out of each team. There’s barely any time to waste, but you think you might just pull this off. It’s a constant struggle, with several minor adjustments being made as the day goes by - but you can’t help but smile every time a task is ticked off the board, and one by one the projects are being completed.<br><br>With less than 30 minutes until EOB, you realize two of the projects are going to require people to work a little late, but you should be able to complete them in an acceptable timeframe.<</if>>Proud of your accomplishment, you send everyone a congratulatory email. Morale seems higher than when you started, and it’s hard not to feel a bit proud. And that’s when you see Emma leaving the presentation room, with what seems to be a group of very satisfied clients. She makes her way to your desk, a mix of curiosity and apprehension in her eyes.<br><br><<Dialogue "Emma" "Emma">>"Thank you for holding the fort. How did you fare with the projects?"<</Dialogue>><br><br><<Dialogue "player" "You">>"Five of the seven projects were successfully delivered by EOB. The other two will be done today, hopefully in the next couple of hours. How was the presentation?"<</Dialogue>><br><br><<Dialogue "Emma" "Emma">>"The client received the full report in time, and was pleased with the quality of the presentation. Which I could not have done without your help. Thank you, <<print $playerFirstName>>. You went beyond the call of duty, and performed beyond my highest expectations."<</Dialogue>><br><br>You beam with pride, knowing that this kind of praise does not come easily from Emma. She offers you her hand, and you accept her handshake. Wow, that is SOME grip she has - you literally never remember anyone ever giving you a firmer handshake in your entire life. <<if $muscle >= 45 && $shyConfident > 1>>Your squeeze as hard as you can right back, which doesn’t seem to go unnoticed, and somehow makes her push even harder, Emma’s face completely unfazed. This lingers on for a bit, before she continues:<<elseif $muscle >= 35>>/* This one is empty on purpose */<<else>>You force your best smile, while secretly hoping she doesn’t break something.<</if>><br><br><<Dialogue "Emma" "Emma">>"You have proven yourself, I did not realize you had these bookkeeping and managing skills. I see a bright future for you in the company."<</Dialogue>><br><br>Feeling incredibly accomplished, you thank Emma.<<Dialogue "Emma" "Emma">>"I would invite you for a celebration, but unfortunately I do have some personal things I would like to do tonight…."<</Dialogue>><br><br>You hear her mumbling to herself “especially after a day like this”, and wonder what she is talking about… in any case, you are happy to have pulled this off, and return home feeling incredibly accomplished.<<link "Continue" $currentScene>><</link>><</replace>><</link>><<link "Tell me what I can do!">><<replace "#choice">><<Dialogue "player" "You">>"If there’s anything I can do, let me know!"<</Dialogue>><br><br><<Dialogue "Emma" "Emma">>"Each project leader could use some extra help. I can’t really micromanage that much right now, but I’m sure you can find someone who needs extra hands on deck."<</Dialogue>><br><br>You proceed to check all projects, and once you see the one that needs more help, you volunteer with the project leader. After you finish your task, you reevaluate and ask the next project leader, jumping from task to task quickly. The task board quickly starts clearing up, and while not all projects will be done by EOB, it looks like they should be ready before the end of the day.<br><br>As the business day comes to a close, you see Emma leaving the presentation room, for the first time with a slightly-less-than-perfectly-professional look. If she looks like that, you figure she must be utterly exhausted. And yet, as soon as the suit-laden entourage boards the elevator, she turns around and gets back to micromanaging everyone, helping increase productivity.<br><br>It is way past everyone’s time to clock out, but finally every project due is turned in. There’s a big commotion as the last one is finished, and the whole team erupts in celebrations, clapping echoing through the fluorescent-lit office. Emma goes to the front of the room, as she calls everyone’s attention.<br><br><<Dialogue "Emma" "Emma">>"I am very proud of every single one of you. You have not only performed exceptionally under pressure, but displayed a lot of commitment by staying here this late. While I cannot stay due to a personal engagement, I have ordered some pizzas and drinks which should be delivered here shortly for those of you who stayed this late. Please see this as my personal thank you."<</Dialogue>><br><br>Before she leaves, you approach Emma.<br><br><<Dialogue "player" "You">>"Hey, sorry for keeping you here longer… I just wanted to say… we couldn’t have done it without you, Emma."<</Dialogue>><br><br><<Dialogue "Emma" "Emma">>"Well, the same could be said of you, miss <<print $playerLastName>>. Don’t think I haven’t seen your deliveries: you actually overperformed every single member of the team today."<</Dialogue>><br><br><<if $shyConfident > 1>><<Dialogue "player" "You">>"Glad to be helpful. It was still a group effort, however."<</Dialogue>><br><br><<Dialogue "Emma" "Emma">>"Indeed, all the more reason why your effort will not go unnoticed. Now, if you will excuse me, I have a date..."<</Dialogue>><br><br>As she leaves, you hear her mumbling something about it being the day she crushes her PB? Well, it doesn’t matter - she still made your day with her compliment, and you return home feeling very fulfilled.<<else>>You stammer a bit, with a mumbled “thank you”. Emma nods, and makes her way out of the office. What a day it was! But you still feel pretty good about yourself. <</if>><<link "Continue" $currentScene>><</link>><</replace>><</link>></span>'
}, {
name: 'EmmaBigLunch',
locationTags: ['emma'],
conditions: [
() => State.variables.muscle >= 70
],
repeatable: false,
retriggerable: false,
priority: 'response',
npc: ['emma'],
content: 'Your cubicle is starting to get a bit cramped due to your size, but even more than your body is starting to be a problem - as your desk also has limited space for your belongings and your spreading elbows.<br><br>As you try to sit comfortably, you keep pushing your lunchbox to the side of the desk, where it is dangerously close to falling. You feel weird just putting it on the ground, and there’s definitely not enough space in the cafeteria’s rather small fridge. So there it stays…<br><br>Emma stops by to check your progress on one of the reports you have due today. She notices the large plastic container on your desk.<br><br><<Dialogue \"Emma\" \"Emma\">>\"Miss <<print $playerLastName>>, you do realize we offer lockers for personal belongings in the lounge, right? You don’t need to keep this box here - it clearly is affecting your performance.\"<</Dialogue>><br><br><<Dialogue \"player\" \"You\">>\"Oh, that? That’s my lunch, I’d feel weird keeping it in the locker, I would be concerned it would leave a smell, you know? I don’t want to be THAT person.\"<</Dialogue>><br><br>Emma does a double take, alternating between looking at your lunch and you, some two or three times, before resuming.<br><br><<Dialogue \"Emma\" \"Emma\">>\"THAT entire container. That is YOUR lunch? As in, just yours? For one meal?\"<</Dialogue>><br><br><<if $shyConfident < 0>><<Dialogue \"player\" \"You\">>\"Uh… errr… I’m… I’m sorry, I will find another place to store it, I didn’t mean to cause an issue…\"<</Dialogue>><br><br><<Dialogue \"Emma\" \"Emma\">>\"No, you are not breaking any company policies, just make sure it doesn’t affect your output.\"<</Dialogue>><br><br><<elseif $shyConfident > 1 && $height >= 205>><<Dialogue \"player\" \"You\">>\"Well, I’m a growing girl, you know… I have been eating quite a lot lately…\"<</Dialogue>><br><br>You turn your swiveling chair around, look down and give your long legs a good stretch, and you can hear Emma gulp, her pupils dilating a bit. <<elseif $shyConfident > 1 && $muscle >= 50>><<Dialogue \"player\" \"You\">>\"Well, I’m a growing girl, you know… I have been eating quite a lot lately…\"<</Dialogue>><br><br>You sneak a small, casual flex of your biceps, give it a couple of firm taps. Emma’s eyes widen a bit for a split second.<<elseif $shyConfident > 1 && $fat >= 50>><<Dialogue \"player\" \"You\">>\"Well, I’m a growing girl, you know… I have been eating quite a lot lately…\"<</Dialogue>><br><br>You give your belly a slap, and you notice a hint of contempt on Emma’s lips - only for a fraction of a second.<</if>><<Dialogue \"Emma\" \"Emma\">>\"Err… well, carry on.\"<</Dialogue>><br><br>You see her march off, slightly shaken from this little exchange.'
},
{
name: 'EmmaGym',
locationTags: ['gym'],
conditions: [
() => State.variables.gameDate.getHours() >= 18,
() => State.variables.emmaOpinion > 40
],
repeatable: false,
retriggerable: false,
priority: 'response',
npc: ['emma'],
content: 'You stride into the gym with your bag, and head for front desk to pay the fee. As you wait for the attendant to clear the turnstile, you idly look around and something catches your eye: there’s a fairly buff woman doing squats with the most perfect form you’ve ever witnessed. However, it’s not her carefully positioned glutes that call your attention, but her hair. Those short strawberry-blond bangs and that bun look awfully familiar somehow, but you can’t quite place them.<br><br> You make your way to the changing room, where you put your workout leotard on and store your bag in a locker. As you come out, you see that same figure, still facing away from you, on the machine doing calf presses with quite a heavy load. Again, you are slightly mesmerized by the very slow and deliberate motions - most of the gymgoers who set that many plates usually haphazardly repeat the exercises with swinging motions that aren’t very elegant. But this lady just EMANATES focus and discipline. You can’t help but feel a bit jealous.<br><br> As you sit down to perform some concentration curls on a bench, you see the woman finishing her set and grabbing a large bottle, which she shakes before taking a sip. And as you see the lips reaching the plastic nipple of the bottle, you tilt your head and whisper to yourself in surprise.<br><br> <<Dialogue "player" "You">>"Emma?<</Dialogue>><br><br> Yes, it is definitely your boss. Though it’s almost alien to you seeing her not in a tailored suit. More so, you are surprised to find out that she had not, as you believed previously, been wearing huge shoulder pads - she had some of the most enviable deltoids and trapezius you’ve ever witnessed. You can’t help but stare a bit in disbelief.<br><br> She dutifully wipes the pads on the machine she just used, and starts walking towards you. <<if $shyConfident > 1>>You put your weight down and approach your coworker with a smile. <<else>>You grab your dumbbell again, looking intently at it as to avoid eye contact. However, as Emma passes by, she spots and approaches you. <</if>> <br><br><<Dialogue "EmmaFitness" "Emma">><<print $playerFirstName>>... uh… Miss <<print $playerLastName>>?<</Dialogue>> You drink in Emma’s figure - wow, it’s kind of amazing how much her tailored suit hides her physique. You were always aware of her shapely calves and glutes, but having the opportunity to see her in a very tight-fitting lycra sports bra and yoga pants reveals so much more than you expected. Despite its muted colors, the functional outfit is surprisingly immodest when compared to your usual idea of business-comes-first Emma. Instead of her usual formal glasses, she dons what looks to be a pretty expensive pair of sports glasses, fastened to her head suggesting she could use them for more than just lifting weights.<br><br> While you always suspected your boss to be in great shape, actually witnessing her in this is a whole other story. She could easily be used as an anatomy chart, with what could only be described as very deliberate symmetry - all muscle groups equally developed, almost like a work of art.<<if $skills[0].level > 2>>You could easily think she was about to compete in professional bodybuilding, if not for that off-season fluff - a dead-ringer for a bulking cycle (which only reinforces that very obstinate aura of functionality she exudes at all times.)<</if>><br><br> <<Dialogue "player" "You">>"Emma? I didn’t know you frequented this gym. I don’t think I’ve ever seen you around here.<</Dialogue>><br><br> <<Dialogue "EmmaFitness" "Emma">>That is correct, I very seldomly come here - I have a very rigorous training regimen, but my busy work schedule will sometimes necessitate a certain degree of improvisation. I had to meet a client in this neighborhood, and unfortunately, we spent more time than I expected going over figures. But it takes more than that for me to forego my training. There aren’t many gyms around this area with a squash court… so here I am.<</Dialogue>> You can’t help but marvel at her composed figure: she’s covered with a thin sheen of sweat, but her breathing seems almost entirely unaffected by the amount of effort she was exerting just seconds ago, and her posture is nothing short of… imposing.<br><br> <<if $muscle >= 55>>Emma discreetly scans your engorged biceps from the pump.<br><br> <<Dialogue "EmmaFitness" "Emma">>It would seem you also take your training seriously, you certainly have put some effort on your own physique.<</Dialogue>><br><br>Was that a hint of… admiration… coming from her? <<elseif $muscle >= 35 || $fat <= 25>> <<Dialogue "EmmaFitness" "Emma">>It takes quite a bit of determination to take on this journey, but it would seem you are on the right path.<</Dialogue>><br><br> <<else>> <<Dialogue "EmmaFitness" "Emma">>I take my training sessions very seriously. I don’t allow myself that much personal time, so I hope you understand I am not one for idle chit-chat in the middle of my routine.<</Dialogue>><br><br> <</if>> You gulp, somewhat unsure of what to say. <<Dialogue "player" "You">>"Wow, I hope you don’t mind me saying this, but you are quite an inspiration. Your focus and your technique are… my goals.<</Dialogue>><br><br> Emma lets a very faint smile slide.<br><br> <<Dialogue "EmmaFitness" "Emma">>It is nice to see a familiar face here, I am not used to fraternizing during my training since my time is quite limited. However, I realize there are some well-documented benefits in having a workout partner.<</Dialogue>><br><br> Did your boss just… invite you to train alongside her? You aren’t quite sure, but you feel like pinching yourself nonetheless. <span id="choice"> <<link "Would you mind working out with me?">> <<replace "#choice">><<if $skills[0].level > 3 && $muscle >= 55>><<Dialogue "player" "You">>"You know, while I certainly tend to get in the zone while I lift, I would be honored to spot you… if you think I can be of some help. What are coworkers for, am I right?<</Dialogue>><br><br>You see Emma squinting slightly, giving some thought to your offer before actually replying.<br><br><<Dialogue "EmmaFitness" "Emma">>Well, there certainly aren’t many people here I would trust to handle spotting my lifts….<</Dialogue>><br><br>You look expectantly at her, holding an urge to bite your lip as you low-key start tip-toeing up and down in anticipation. Emma probably catches that, as she responds:<<Dialogue "EmmaFitness" "Emma">>You know what… I’ve been trying to reach a new personal best on my bench press. I could use a spotter.<</Dialogue>><br><br>Knowing you are in for a treat, you tailor the rest of your routine around Emma’s plan. While she’s not great at encouragement, you can barely believe the knowledge she holds, giving you tips and pointers at every opportunity. She’s like the perfect, albeit very strict, mentor. She pushes you harder than you have every pushed yourself - but never making you feel bad about it.<br><br>Likewise, watching her perform each exercise is like watching a Greek statue come to life - there’s a mix of beauty, finesse and sheer determination in every movement. If it wasn’t impolite, you’d be recording her with your phone just to watch it over and over.<br><br>In time, she tries to push herself harder, and that’s when you step in to spot. As she lays down for a bench press, you stand above the loaded barbell, ready to help. Her hands grip the bar, her knuckles white from the effort, as the bar slowly but decidedly is lifted up… and down… you keep your hands floating under it, in case she fails. You can hear Emma breathing harder than usual, yet her movement is consistently rocksteady. While you don’t want to look away from the straining metal rod, you steal some glances at your boss’s face: her eyes are laser focused; her expression the ultimate demonstration of pure concentration.<br><br>Yet she perseveres. Her methodical process continues as she cranks rep after rep, her back arching and her chest inflating in what you can only describe as poetry in motion. It takes some effort on your part to keep your mouth closed and not drool at the absolutely inspirational display of raw effort and strength happening mere <<if $measurementSystem == "metric">>centimeters<<else>>inches<</if>> below your nose.<br><br>However, as she starts her tenth rep, you notice something. It’s subtle, but you see her jaw clenching; her upper arms give a very slight wobble. Her upwards movement, unlike every rep prior, is not smooth and controlled. In a split second, your mind races as you realize how hard she had been pushing herself this whole time without letting the universe know. For the first time ever, you feel like she might actually be inching towards what you never suspected she might have - a limit.<br><br>The bar continues to go up in shaky increments, and your instincts are screaming for you to grab the bar and help her on the last rep, but almost as if you shared some sort of bodybuilding mental link, you restrain yourself, merely letting your palms get closer to the bar. Time slows to a crawl, and seconds feel like minutes as Emma continues to slowly work her way up.<br><br>She manages to lift the bar a bit more than halfway through before you have to step in, the added strength of the two of you completing the motion. Carefully, you two rest the bar back on the stand. Emma’s face is inscrutable, and you try to figure out if she’s proud of her new personal best or disappointed that she needed the spot on that last part. Either way, she stands up, rock-faced, and curtly thanks you for your help.<<else>><<Dialogue "player" "You">>"Would you mind if I tagged along with you? I certainly could use a few pointers.<</Dialogue>><br><br>Emma’s visage remains stone-cold serious, and you momentarily wonder if you overstepped your boundaries. But then she cracks a small smile, and your shoulders relax.<<Dialogue "EmmaFitness" "Emma">>It would be an honor. While I have studied a lot to achieve my goals, I could never had achieved these goals without the help of my mentor. The least I can do is reciprocate with someone else.<</Dialogue>><br><br>You can’t quite pinpoint what has changed, but something about Emma’s demeanor is… different? She still carries herself the same way, but as she goes from exercise to exercise, she takes the time to demonstrate the motions, and watches carefully as you repeat them, giving very clear and well explained corrections. She’s less of a boss and more of a professor, the sports glasses a hilarious contrast, making her seem like the world’s strongest librarian. You follow as the Sancho to her Quixote, stacking plates and helping her wipe after herself.<br><br>As the minutes pass, both of you seem to get a bit more laid back. Eventually, Emma starts nonchalantly posing in front of a mirror, admiring her physique as if you had evaporated. You see it in her eyes, the whole universe is gone, there is only her body and those ever-higher goals she sets for herself. You can’t help it, and unironically clap as you praise her:<<Dialogue "player" "You">>"Someday… I’ll be like you. Thanks for being such an amazing teacher and inspiration, Emma.<</Dialogue>><br><br>She snaps out of her trance, and you could swear that you saw her briefly blush. But she just gives you a silent nod and proceeds to thank you for the company.<</if>><<Dialogue "player" "You">>"That was great, Emma.<</Dialogue>><br><br><<Dialogue "EmmaFitness" "Emma">>I won’t lie… I didn’t know what I was missing by always training on my own. Maybe someday we could have a stab at a friendly game of squash? God knows I could use some entertainment after some of the more frustrating workdays.<</Dialogue>><br><br>You try to encourage that idea, without seeming overly eager. Playing with her would certainly be a very interesting challenge!<br><br>You wipe yourself on your way to the shower, looking forward for more opportunities to train with your boss.<<link "Continue" $currentScene>><</link>> <</replace>> <</link>> <<link "I don’t want to take any more of your time. See you at work!">> <<replace "#choice">>With that, you thank her for her time and get back to your own workout. You try your hardest to concentrate on your own exercises, but you can’t help but stare at Emma any time she starts a new set - you can only dream to be like that someday!<<link "Continue" $currentScene>><</link>> <</replace>> <</link>> </span>'
}, {
name: 'EmmaAtFitnessStore',
locationTags: ['fitnessStore'],
conditions: [
() => State.variables.emmaOpinion >= 30
],
repeatable: false,
retriggerable: false,
priority: 'response',
npc: ['emma'],
content: `You make your way into the Bulk Barn, grabbing a basket and perusing the shelves of oversized plastic bottles. You navigate through them with your index finger, looking for today’s haul. As you distractedly step sideways, the elbow carrying your basket hits a very solid wall. Except it’s not masonry, but very solid meat.<br><br><<Dialogue "Emma" "Emma">>Miss <<print $playerLastName>>?<</Dialogue>><br><br>You turn to see that recognizable tailored suit, which would look entirely out of place in this store, if not for the fact that this person was hugging with her opposite arm a tall pile of supplements in an amazing display of balance and stability.<br><br><<Dialogue "player" "You">>"Oh, Emma? Sorry, I didn’t see you there.<</Dialogue>><br><br>You smile as you awkwardly put your hand on the back of your head and close your eyes. As you reopen them, you glance at the respectable amount of products she has with her.<<if $skills[1].level > 3>>As you scan each individual package, you marvel at wide selection she has with her… and your mind quickly estimates that this purchase will not come cheap!<br><br><<Dialogue "player" "You">>"That’s a lot of creatine and BCAA you got there - and you didn’t skimp on the quality either, huh?<</Dialogue>><br><br>Emma seems temporarily stunned at your discerning eye for supplements.<<Dialogue "Emma" "Emma">>Yes, I suppose I do go through quite a lot of it… and I also demand the best quality when it comes to my pre and post-workout mixes.<</Dialogue>><br><br>You look back at the sole bottle of the cheapest protein powder they have in stock in your basket, and quickly hide it behind your back. Emma either doesn’t notice it, or more probably, is too polite to comment on it. However, she does set down her pile by the cashier, and starts grabbing some other products on a separate basket.<<Dialogue "Emma" "Emma">>I know everyone reacts a bit different to supplements and it involves a lot of personal trial and error, but I’ve had some great results with these: this brand of citruline malate does wonders for my recovery - and this creatine has enabled me to really push myself. Consider these… a treat.<</Dialogue>><br><br>She brings the two products to the counter and rings them up, giving you the bag.<<else>>You feel a bit self-conscious with your frugal and mostly uninformed selection of supplements, slightly shrinking your posture in shame.<br><br><<Dialogue "player" "You">>"You really seem to know what you are doing.<</Dialogue>><br><br><<Dialogue "Emma" "Emma">>I won’t lie, preparing my supplements is less of a science and more of an art. It took me years of trial and error to fine-tune it to my current selection… and even now I still experiment a bit.<</Dialogue>><br><br><<Dialogue "player" "You">>"That’s impressive! I wish I was on top of this like you are...<</Dialogue>><br><br>You let out a small giggle, and Emma stares at you for a moment. You feel judged, but instead of a chastising sermon, she speaks with the inflection of a lecture.<<Dialogue "Emma" "Emma">>Your nutritional intake is a very personal deal. I can’t do it for you, but I can teach some basics. Take this creatine, for instance - if dosed correctly, it will allow you to push yourself harder and get more workouts in. And this BCAA should improve your recovery, allowing you to build more muscle.<</Dialogue>><br><br>You feel like you should be writing all of this down, but an effort to commit it to memory will have to do.<</if>>You thank Emma profusely, and she starts going on about her macros. Your eyes glaze over, and by the time you notice, she’s left the store, talking to herself about her nutritional intake as you stand there with your supplements, slightly confused.`
},{
name: 'OfficeCasualOutfit',
locationTags: ['office'],
conditions: [
() => !['professional','stylish'].includes($outfit.style()),
() => State.variables.emmaOpinion >= 15
],
repeatable: false,
retriggerable: false,
priority: 'response',
npc: ['emma'],
content: `It’s another day of mindless office work. As you rush through your tasks, you notice an urgent email from Emma, its menacing red exclamation mark as scary as any horror flick you’ve ever seen. Gulping, you click on, and find a message that reads only “please see me in my office posthaste.” Oh, boy, is it THAT bad?<br><br> You lock your computer, get up, and make your way to her office <<if $carefreeCarefull < -1 || $submissiveDominant > 2>>expecting some sort of warning or something. Whatever. <<else>>as beads of sweat start forming on your forehead, your breathing getting deeper and your heart racing. Ugh, you just want this to be over. <</if>><br><br> You find the door slightly open, assuming she was already waiting especifically for you. Before you can process, she shouts out for you to come in. Deep breath.<br><br> <<Dialogue "player" "You">>"You wanted to see me, Ms. Fray?"<</Dialogue>><br><br> Frowning, she just motions toward the chair without moving her eyes away from her computer screen. You sit down, and she stops what she is doing and looks deep into your eyes with a very stern expression.<br><br> <<Dialogue "Emma" "Emma">>"Ms. <<print $playerLastName>>, I assume you familiarized herself with our interal policies manual as it was given to you during your onboarding procedure, yes?"<</Dialogue>><br><br> <<Dialogue "player" "You">>"I... guess?"<</Dialogue>><br><br> <<Dialogue "Emma" "Emma">>"So, here, have another copy. Could you please read me the section on the dress code for junior and middle level employees?"<</Dialogue>><br><br> Oh, you know EXACTLY what’s she going on about. You look at your <<print $outfit.top().name>> and <<print $outfit.bottom().name>>, and realize it’s not really kosher. Uh oh.<br><br> <<Dialogue "Emma" "Emma">>"Since it’s the first time I’m bringing this up, today I will let you go with a warning. But we have this dress code for a reason, and I will not make any exceptions. If you have issues with the regulations, feel free to complain or make suggestions through the proper channels. But in the meantime, I expect you to comply with this. Am I clear?"<</Dialogue>><br><br> <<Dialogue "player" "You">>"Crystal!"<</Dialogue>><br><br> You get up, and walk back to your station with a curt nod. Emma barely acknowledges it, as she is looking back at her screen. You really should have known better - and it’s better to make sure you have some professional clothes for the office.`
},{
name: 'EmmaWardrobeMalfunction',
locationTags: ['emma'],
conditions: [
() => State.variables.skills[6] >= 1,
() => State.variables.emmaOpinion >= 30
],
repeatable: false,
retriggerable: false,
priority: 'response',
npc: ['emma'],
content: `Just another day at the office - there’s quite a few tasks on your menu, and you are tackling them as usual. <<if $skills[2].level > 2>> The data comes in, tables come out. You are just going through them at your usual rapid pace. You barely notice anything going around. <<else>> It’s still a bit of a fight, getting these reports done, but struggle or not, these tasks are getting done! <</if>> But as the tapping of the keyboard continues, you notice Emma, in her usual fast pace, roaming the corridors of the office. It seems like some boxes of office supplies got delivered earlier than expected, and she’s expected to find some place to store the excess.<br><br> She directs the people from the office supply store, who carry their carts very slowly, and you can see it’s making her somewhat anxious. She points at the some of the shelves where they can store the boxes, but the deliveryman does not seem inclined to do it, just leaving the boxes next to the shelf, smack dab in the middle of the way. Emma sighs, and starts putting them up herself.<br><br> You figure she could use the help, saving the file and walking up to the shelf.<br><br> <<Dialogue "player" "You">>"Hey, Emma, need a hand with these boxes? They can’t just stay in the corridor!"<</Dialogue>><br><br> <<Dialogue "Emma" "Emma">>"Ah… no, don’t worry, get back to work, I can handle these!"<</Dialogue>><br><br> She seems unusually flustered by your offer… weird.<br><br> <<if $muscle >= 40>> You just start putting the boxes up on the shelf, and Emma tries very hard to not act surprised, but also somewhat relieved? Eventually, the lower shelves are filled, and Emma is stretching to put the last one on the top shelf when… <<else>> You try to lift one of the boxes - Geez! These are crazy heavy… how is Emma doing this?<br><br> <<Dialogue "Emma" "Emma">>"It’s quite alright, miss <<print $playerLastName>>, I’ve got this."<</Dialogue>><br><br> You watch as Emma stacks the boxes up on the shelves, and she is visibly uncomfortable, so you start heading back to your desk but… <</if>> RRRRRIP!<br><br> Emma’s very tailored suit rips under her sleeve. She quickly pushes the last box she was trying to fit at the top shelf and she just covers it as fast as she can, bringing her other around her chest and arm!<br><br> In this awkward position, almost like hugging herself, she starts shuffling about in quick, small steps one way, then another - she’s scoping all possible escape routes, like a trapped mouse. This is a stark contrast to the confident boss you’ve learned to depend on. <span id="choice"> <<link "Emma, would you like me to sew that for you?">> <<replace "#choice">> You approach Emma, giving her less personal space than usual so your body is shielding her from the other workers. And close to her, you whisper:<br><br> <<Dialogue "player" "You">>"Listen, I have a sewing kit in my pocket. Do you want to go to the ladies room, and I can fix that for you?"<</Dialogue>><br><br> Emma, not one to EVER be without words, just nods curtly. You continue serving as her shield, as the two of you make it into the restroom, while she scans the room to make sure no one else notices, each step shy and tentative.<br><br> Emma confirms there is no one else there, and enters one of the stalls as you lock the door to the restroom. She hands you her suit over the door, and you sit on the sink and start sewing.<br><br> <<if $skills[6].level > 2>> You carefully start mending the little accident - thankfully, the fabric is intact, and that makes it a quick and simple task! <<else>> You are not quite THAT good at sewing yet, but you are decided to do your very best! <</if>> <<Dialogue "Emma" "Emma">>"Thank you, miss <<print $playerLastName>>, you are a life-saver!"<</Dialogue>><br><br> <<Dialogue "player" "You">>"Hey, no worries. It happens to the best of us, you know? The important thing is that no one will notice."<</Dialogue>><br><br> <<Dialogue "Emma" "Emma">>"Tell me about it, I do have an image to maintain here at the office!"<</Dialogue>><br><br> The more you look at the suit, though, you realize that it was very carefully tailored to her… and for it to have ripped like this… <<Dialogue "player" "You">>"This is beautifully tailored, you had this made for you, huh?"<</Dialogue>><br><br> <<Dialogue "Emma" "Emma">>"Yes - even men need to have their suits tailored, despite their bodies being less varied than women’s. And it’s important to show that you take your image seriously."<</Dialogue>><br><br> <<Dialogue "player" "You">>"Speaking of which… wow, seems like you have quite a wide back and shoulders! I always figured you had a lot of padding but…"<</Dialogue>><br><br> Again… silence coming from Emma. You can’t see her, but you can almost FEEL that this conversation is making her uneasy.<br><br> <<Dialogue "player" "You">>"I bet you were a swimmer in school! Either way, you totally rock this suit! You should be proud."<</Dialogue>><br><br> <<if $skills[6].level > 2>> There! The suit looks perfect, you’d be hard pressed to even know it ever had any issues! <<else>> The hole is fixed. The sleeve is a bit wonky, and you warn Emma to avoid raising her arm past shoulder level until she brings it back to her tailor <</if>> You hand the suit back over the stall door. Emma comes out, impeccable as usual.<br><br> <<Dialogue "Emma" "Emma">>"I have no words for you, <<print $playerFirstName>>, this could have been a disaster… but… can I count on your discretion?"<</Dialogue>><br><br> You assume she’s talking about the ripping… and not about…<br><br> <<Dialogue "player" "You">>"Let me just check the stitch, make sure the thread is not showing…"<</Dialogue>><br><br> Before she can react, you reach arm and back, and Emma twitches as you do so. But as you press into the fabric, there is no give - the suit is hugging her body like a skin… and whatever is under it… is very firm - hard, even.<br><br> Emma’s eyes open a bit more than usual and she takes a deep breath.<br><br> <<Dialogue "Emma" "Emma">>"That will be quite alright, miss <<print $playerLastName>>, it seems like the suit will last me the day. Once again, thank you!"<</Dialogue>><br><br> And with that, she unlocks the bathroom and is out. Well, I guess it’s back to work… but you find it somewhat hard to stop speculating about Emma’s body. <<link "Continue" $currentScene>><</link>> /* TODO - Maybe increase the relationship with Emma here? - Waffle */ <</replace>> <</link>> <<link "She seems unusually embarrassed, maybe I should leave her to deal with it.">> <<replace "#choice">> You go back to your seat, as Emma returns hurriedly to her office. You always figured all that volume on her shoulders was just padding but… that rip… it really looked like her back and shoulders were putting A LOT of stress on that fabric…<br><br> She just stays there until it’s time to clock out, resolving all further issues by email instead of her usual in-person approach. Unusual, to say the least… <<link "Continue" $currentScene>><</link>> <</replace>> <</link>> </span>`
}, {
name: 'EmmaLiftSomething',
locationTags: ['emma'],
conditions: [
() => State.variables.emmaOpinion >= 15
],
repeatable: false,
retriggerable: false,
priority: 'response',
npc: ['emma'],
content: `<<set $emmaOpinion += 5>>It’s not a regular day at work: there was a major IT snafu, and the entire network is down. People are unable to work on most tasks, so there’s quite a few people congregating by the watercooler.<br><br> It’s a rowdy bunch, and soon Emma joins the group:<br><br> <<Dialogue "Emma" "Emma">>"I understand we are having some issues, and most of you are unable to get your job done. I have no problem with an unscheduled break, but please, keep it down, some people are still working and need to concentrate."<</Dialogue>><br><br> You admire Emma - she knows how to be strict without putting anyone down - and her point was important and well delivered. Not only that, she realizes that just forcing people back to their desks would be bad for morale, so she stays to mingle with the group and keep everyone focused.<br><br> However, Bill decides to grab one of the big paper crates from one of the high shelves. He puts up the bench, and starts slowly sliding the very heavy package… unaware that, in doing so, he’s also pushing another that is leaning next to it.<br><br> Before anyone notices, the other industrial-sized cardboard box is falling right on top of poor Mrs. Yorkshire, the 70-year old secretary! Emma, who was right behind her, just extends her hand up, and catches the box, which probably weights in the vicinity of <<if $measurementSystem == 'metric'>>30-40 pounds<<else>>15-20kg<</if>>!<br><br> All the chatter comes to a complete stop. Everyone is just staring at Emma, easily holding the box between her hands, right above Mrs. Yorkshire’s head - her arms straining the sleeves of her tailored suit. There is complete silence - did “all-business boss” just grab and hold a box that weighs more than a child like it was nothing? Emma is visibly nervous about the whole thing, all eyes trained on her.<br><br> <<if $muscle >= 50>> You quickly walk to her side, and casually grab the box underhand, like a waiter holding a tray, making sure not to let your arms tense any more than necessary.<br><br> <<Dialogue "player" "You">>"Geez, Emma, thank GOD this was just an empty cardboard box, right? Can you imagine how HEAVY it would be if it was full?!?"<</Dialogue>><br><br> <<Dialogue "Emma" "Emma">>"Uh… yeah… of course, miss <<print $playerLastName>>."<</Dialogue>><br><br> She sighs with relief, though you can see she is looking at you, a mix of surprise and awe.<br><br> <<Dialogue "player" "You">>"I guess I’ll just take this box to the supply room for recycling, there’s no point in keeping these empty boxes here, right, boss?"<</Dialogue>><br><br> <<Dialogue "Emma" "Emma">>"O-of course, you do that, please.."<</Dialogue>><br><br> You walk out with the box, trying your best to make it seem completely weightless - which, to be fair, to you, it is.<br><br> You go back to your desk after hiding the box.<br><br> <<else>> You elbow the half-empty water tank from the cooler, making it fall to ground and making a huge, splashy mess! You purposefully slip on the puddle, falling to your butt and getting your clothes all damp. Everyone is looking at your little spectacle, while Emma casually hides the box on the side of the shelf.<br><br> <<Dialogue "player" "You">>"Geez, how CLUMSY can I be?!? Look at this mess…"<</Dialogue>><br><br> Making sure that Emma has now put the heavy box away, you get up.<br><br> <<Dialogue "player" "You">>"Geez, Emma, thank GOD this was just an empty cardboard box, right? Can you imagine how HEAVY it would be if it was full?!?"<</Dialogue>><br><br> <<Dialogue "Emma" "Emma">>"Uh… yeah… of course, miss <<print $playerLastName>>."<</Dialogue>><br><br> <<Dialogue "player" "You">>"Look, I’m going to check with the custodial staff to take care of this mess and replace the water tank… if that’s alright?"<</Dialogue>><br><br> <<Dialogue "Emma" "Emma">>"Please do, miss <<print $playerLastName>> - and… make sure this does not happen again."<</Dialogue>><br><br> She says in a very stern tone, but you are fairly sure she doesn’t mean it like that. And given the wet mess, everyone goes back to their respective desks.<br><br> <</if>> Later on, after the network is back, you receive an email from Emma in your personal account. It reads:<br><br> Thank you for helping me be discreet and keep my hobby out of the work environment. I set some boundaries, and for several reasons I believe certain things I’d rather keep to myself - not only because I don’t want people to perceive me differently - but also because they are deeply personal. I suspect you understand this very well.<br><br> It is, however, nice knowing I am not alone in this here at the office. So once again, thank you. –Emma<br><br> Reading this brings a smile to your face. She may be quite guarded, but she is not wrong - your kindred with Emma solidifies as you spend more time with her. /* TODO - Maybe increase the relationship with Emma here? - Waffle */`
}, {
name: 'EmmaCoworkerSlackingOff',
locationTags: ['emma'],
conditions: [
() => State.variables.emmaOpinion >= 10
],
repeatable: false,
retriggerable: false,
priority: 'response',
npc: ['emma'],
content: `It’s just one of those days at the office - file comes in with formatting problems and takes twice as much work to process; your chair malfunctions, forcing you to constantly adjust it; and a little plumbing accident means you need to use the bathroom on another floor. All in all, not the most pleasant day, and your patience is at its limits.<br><br> So when you realize that you might just have to work late today, you see your cubicle neighbor, Mark, talking loudly on the company landline - he’s very busy describing the trip he came back from last week.<br><br> <<Dialogue "randomPerson" "Random guy">>"You should have seen me, there I was, surfing on those beautiful beaches - not a care in the world. Sucks to be back at work, though."<</Dialogue>><br><br> “Not really”, you think to yourself, knowing that he has some deliveries that are keeping you from finishing YOUR work - and probably contributing to your probable long work hours today. But you keep plugging at your task.<br><br> 15 minutes later, Mark is STILL on the phone, feet hanging up, and he hasn’t so much as looked at his screen. It’s making your blood boil a bit…<br><br> <span id="choice"> <<PersonalityCheck $shyConfident >= 2 "OK, that’s enough, Mark. Back to work!">> <<replace "#choice">> You slam your hands on your desk, making Mark shake in his seat. <<Dialogue "player" "You">>"Are you planning to get any work done today? Or are you just going to keep entertaining all of us with your adventures at the beach?"<</Dialogue>><br><br> He covers the mouthpiece of the phone.<br><br> <<Dialogue "randomPerson" "Random guy">>"Hey, come on, let me just finish this story and I’ll get right back to it, chill out!"<</Dialogue>><br><br> You sit down, irritated, and he goes back to the phone.<br><br> <<Dialogue "randomPerson" "Random guy">>"Sorry, it’s this girl who sits across from me at work, must be her time of the month or something."<</Dialogue>><br><br> <<if $submissiveDominant > 1 || $muscle >= 45>> <<Dialogue "player" "You">>"THAT’S IT! You hang up that phone right now, Mark, or I’m going to shove it somewhere you won’t like!"<</Dialogue>><br><br> As you stand up, Mark’s face goes white. Having never seen you from the nose below, he is quite intimidated by your physique - but even more so by your reaction, believe it or not.<br><br> He just hangs up the phone mid sentence, squeaking “sorry”, as he lowers his feet and gets back to work.<br><br> At the end of the day, Emma stops by your desk.<br><br> <<Dialogue "Emma" "Emma">>"Miss <<print $playerLastName>>, may I have a moment?"<</Dialogue>><br><br> <<Dialogue "player" "You">>"Of course."<</Dialogue>><br><br> You lock your station, dreading what you know is coming.<br><br> <<Dialogue "Emma" "Emma">>"Listen, there’s a lot of chatter about… the incident… this afternoon. I must preface this by reminding you that we expect a certain standard of behavior in this office, and it is my understanding that you have not observed it."<</Dialogue>><br><br> <<Dialogue "player" "You">>"I’m sorry, Emma. It won’t happen again."<</Dialogue>><br><br> She continues…<br><br> <<Dialogue "Emma" "Emma">>"That being said… Mr. Garrison had already been advised multiple times regarding his misconduct, and I can only guess you did not act unprovoked. So I am going to ignore this happened. Let this be just a warning - but please, do not stoop to his level - I know you are better than that."<</Dialogue>><br><br> <<Dialogue "player" "You">>"Of course. I apologize."<</Dialogue>><br><br> <<if $emmaOpinion > 20>> She nods, before approaching your ear. <<Dialogue "Emma" "Emma">>"I must admit, however, I very much almost did the same thing multiple times before. So, thank you for putting him in his place - I hear he really got in line after being… reprimanded by you."<</Dialogue>><br><br> <</if>> <<else>> <<Dialogue "player" "You">>"Come on, Mark, don’t be an ass!"<</Dialogue>><br><br> He completely ignores you, and just keeps talking. <<Dialogue "player" "You">>"Seriously? You are just going to ignore me and keep talking on the phone?"<</Dialogue>><br><br> Apparently, he is.<br><br> Well, two can play that game. You “accidentally” kick the phone jack under his desk, making his line go mute. He taps the base a few times, and frustrated, calls IT for help. Without much more to do, he just resigns himself back to work - albeit at his usual glacial pace.<br><br> Well, better than nothing, I guess… <</if>> <<link "Continue" $currentScene>><</link>> <</replace>> <<Failed>> <<replace "#choice">> <<Dialogue "player" "You">>"Mark, can you keep it down? Also, please, I do need your report so I can finish my stuff here before the sun sets."<</Dialogue>><br><br> Still on the phone, he continues… <<Dialogue "randomPerson" "Random guy">>"Sorry, it’s this girl who sits across from me at work, must be her time of the month or something."<</Dialogue>><br><br> <<if $submissiveDominant > 1 || $muscle >= 55>>You tighten your fists, and find yourself uncontrollably getting up, pure anger in your face. Mark looks at you, having only before seen you from the nose up, and goes white in the face.<br><br> <<Dialogue "randomPerson" "Random guy">>"Ummm, I’m sorry, babe, I gotta hang up, I just remember I have a ton of work to do here… byyyeeeee…"<</Dialogue>><br><br> Now sweating, a hint of terror in his eyes, he starts working at an unprecedented pace. Huh… maybe you look a bit more intimidating than you realized… <<else>> You bite your tongue, and start taking deep breaths.<br><br> <<Dialogue "player" "You">>"Just breath in… and out… phew… think of peaceful thoughts."<</Dialogue>><br><br> You continue your work, but you feel like you might just be beyond your break point. You try to convince yourself that every office has a Mark, and you are just going to have to deal with it. <<if $muscle >= 55>>Your keyboard, however, takes the fall for the incident, as you end up cracking it in the middle with your angry - and maybe a bit too forceful - keystrokes. Oh, great, IT is going to love me for this…<</if>> <</if>> <<link "Continue" $currentScene>><</link>> <</replace>> <</PersonalityCheck>> <<link "I should just file a complaint with HR, I guess…">> <<replace "#choice">> You decide to send an email to Human Resources, explaining Mark’s disrupting behavior AND his lack of work discipline. It must not have been his first strike, because within MINUTES Emma walks into his cubicle, and pushes the phone button, dropping his call. He shuffles around, bringing his feet back to the ground.<br><br> <<Dialogue "Emma" "Emma">>"Mr. Garrison, I believe we have spoken before about the use of the company landline for personal calls, or am I misremembering something?"<</Dialogue>><br><br> <<Dialogue "randomPerson" "Random guy">>"Uhhh… I’m sorry miss…"<</Dialogue>><br><br> <<Dialogue "Emma" "Emma">>"Also, I should let you know, there have been some complaints from other people on this floor regarding how loud you are. Not only that, but I noticed you are quite late in every single delivery assigned to you. I understand you just came back from your vacation, but that is no excuse."<</Dialogue>><br><br> <<Dialogue "randomPerson" "Random guy">>"O-of course not. I apologize."<</Dialogue>><br><br> <<Dialogue "Emma" "Emma">>"I should warn you, Mr. Garrison, that you are past grounds for immediate dismissal. However, I am willing to give you one last chance, assuming there are zero complaints about you going forward. Do I make myself clear?"<</Dialogue>><br><br> <<Dialogue "randomPerson" "Random guy">>"Crystal!"<</Dialogue>><br><br> He immediately goes back to his work, looking very shaken and nervous. Emma walks out like a queen, and you have to resist the urge to just stand up and start clapping. As soon as she out of view, Mark shoots you the evil eye… but you respond by just sticking your tongue out at him. <<if $submissiveDominant > 1 || $muscle >= 45>> Frankly, he’s probably lucky Emma intervened, because if he kept at it, you are fairly sure you might have put him in the hospital yourself.<</if>> <<link "Continue" $currentScene>><</link>> <</replace>> <</link>> <<link "I’ll just have to deal with this, even if it means working til later…">> <<replace "#choice">> You decide to suck it up and just leave Mark be. He’s just not worth the hassle or the trouble you could get in if you did half the stuff you wanted to…<<if $submissiveDominant > 1 || $muscle >= 45>> Frankly, he’s probably lucky, because if you didn’t have a conscience, it’s a good bet you might have put him in the hospital yourself.<</if>> <<link "Continue" $currentScene>><</link>> <</replace>> <</link>> </span>`
},{
name: 'EmmaUsbWarning',
locationTags: ['emma'],
conditions: [
() => State.variables.hackingUnlocked
],
repeatable: false,
retriggerable: false,
priority: 'response',
npc: ['emma'],
content: `You try your hardest to concentrate on your work, but the USB stick is burning a hole in your pocket, stealing all your attention. You start tapping your foot faster and faster as time goes on… the numbers start scrambling on the screen, and reforming in your imagination in the shape of that fateful metal container from the day you moved…<br><br> And then you suddenly stomp both your feet. That’s it. You can’t hold it anymore. You nervously grab the USB drive and stick it in the work computer, breaking at least three different rules. But you don’t care, this can’t wait - you MUST know more about what is going on with your body.<br><br> You browse the contents of the device, the same seven files taunting you. Having that information so close you can taste it… but completely inaccessible… it just boils your blood. You start looking up information on cracking file passwords, but that goes nowhere fast. You try searching for more info on the creator of the sticks… nada. You tap the index of your left hand against the table harder and harder… you find yourself sighing and gritting your teeth as…<br><br> <<Dialogue "Emma" "Emma">>"AHEM!"<</Dialogue>><br><br> You jump from your chair, knowing just how busted you are.<br><br> <<Dialogue "Emma" "Emma">>"Miss <<print $playerLastName>>, I am seriously disappointed in you. Do you realize how many workplace policies you are in violation of right now?"<</Dialogue>><br><br> <<if $shyConfident > 1 || $submissiveDominant > 1>> <<Dialogue "player" "You">>"Four, if I’m counting right…"<</Dialogue>><br><br> You whisper under your breath. Emma is not amused. <<else>> You gulp loudly as you shrink in your chair. You look at Emma with puppy eyes, but her reaction is entirely unaffected. <</if>> <<Dialogue "Emma" "Emma">>"I hope you fully realize the seriousness of your actions. Just beyond the blatant disregard of your work, you should know that our security protocols do not allow the use of any file-transfer medium as it not only compromises internal securities, but also flies in the face of all the NDAs you signed."<</Dialogue>><br><br> That’s it. You are in deep shit. It’s do or die time.<br><br> <span id="choice"> <<PersonalityCheck $shyConfident >= 1 "You fess up, explaining why this is so important, as you apologize for the slip-up">> <<replace "#choice">> <<Dialogue "player" "You">>"Emma, you are completely right. I did screw up. May I… explain?"<</Dialogue>><br><br> She looks at you, as serious as ever. You take that as a yes.<br><br> <<Dialogue "player" "You">>"I’ve been dealing with some personal issues… that have been affecting my body. And it’s messing with me in ways I can’t describe, you see…"<</Dialogue>><br><br> She interrupts you, the serious face becoming a little softer.<br><br> <<Dialogue "Emma" "Emma">>"Let’s take this into my office, if you don’t mind?"<</Dialogue>><br><br> She leads you into her private office, and closes the blinds. Motioning for you to sit down, you comply, and she sits on her own chair.<br><br> <<Dialogue "Emma" "Emma">>"Please, go on, <<print $playerFirstName>>."<</Dialogue>><br><br> <<if $emmaLearnedPotion>> <<Dialogue "player" "You">>"Remember… about those chemicals I told you about?"<</Dialogue>><br><br> You can tell from Emma’s face that she might have suspected… but still wasn’t quite ready for this.<br><br> <<Dialogue "Emma" "Emma">>"I suppose I should know this day would come… and I made a promise to you.."<</Dialogue>><br><br> <<else>> You start a long ramble, describing the unusual container you found when you first moved in. And then you go into great detail about all the physical changes taking place in your body. Emma listens carefully, her poker face almost breaking at times.<br><br> <<Dialogue "Emma" "Emma">>"I cannot deny… I have noticed your body changing, and I speculated about it… but never would I have imagined…"<</Dialogue>><br><br> <</if>> She trails off, looking out the window.<br><br> <<Dialogue "Emma" "Emma">>"May I…?"<</Dialogue>><br><br> She motions for the USB stick. You hand it over, with a tinge of fear.<br><br> <<Dialogue "Emma" "Emma">>"Listen, I cannot permit you to use company resources for this. However…"<</Dialogue>><br><br> You lift your chin, looking at Emma expectantly.<br><br> <<Dialogue "Emma" "Emma">>"I have an airgapped machine for official investigations, as well as some proprietary security tools we use in internal investigations. With your permission, I would like to try and see what I can gather from these files. If you allow me, of course."<</Dialogue>><br><br> You jaw drops, and you take a second to recompose.<br><br> <<Dialogue "player" "You">>"Wait. Seriously? You’d do that for me? I… I… Emma, I can’t thank you enough…"<</Dialogue>><br><br> <<Dialogue "Emma" "Emma">>"No promises, but I will try my best. I must admit I am also very intrigued. Besides, what kind of boss would I be if I wasn’t concerned about my employees and their well being?"<</Dialogue>><br><br> You watch her, feeling like this is all a dream.<br><br> <<Dialogue "Emma" "Emma">>"Thanks for trusting me, <<print $playerFirstName>>… now, please, get back to work. I don’t want to attract any more attention."<</Dialogue>><br><br> You nod, and she tells you one last time not to worry as you leave her office.<br><br> Best.<br> Boss.<br> EVER! <<set $emmaWarnedUsb to true>> <<link "Continue" $currentScene>><</link>> <</replace>> <<Failed>> <<replace "#choice">> <<Dialogue "player" "You">>"Emma, I’m sorry… you are right… I screwed up. It’s just… (sigh)..."<</Dialogue>><br><br> As you slump even more, Emma’s face becomes laden with concern. She puts a hand on your shoulder, and asks if you’d rather talk in private. You nod, and she escorts you to her office.<br><br> <<Dialogue "Emma" "Emma">>"What is it, miss <<print $playerLastName>>? I’ve never seen you this consternated. Is everything alright?"<</Dialogue>><br><br> You take a deep breath, and look Emma in the eyes.<br><br> <<Dialogue "player" "You">>"I… I really am sorry. You have no idea what is going on… it’s all gotten out of control and…"<</Dialogue>><br><br> <<Dialogue "Emma" "Emma">>"<<print $playerFirstName>>, talk to me. I’m getting worried."<</Dialogue>><br><br> <<Dialogue "player" "You">>"It’s… it’s… THIS!"<</Dialogue>><br><br> You wave your hand over your body.<br><br> <<Dialogue "player" "You">>"I… I know you noticed. That I’ve been undergoing these physiological changes… when I moved here… I drank this thing that was left in my apartment when I moved in… since then… my body now has a mind of its own… and it’s scary."<</Dialogue>><br><br> Emma stands up, and puts a hand on your shoulder.<br><br> <<Dialogue "Emma" "Emma">>"What does that have to do with what you were doing?"<</Dialogue>><br><br> You explain what you know about these potions, what has been happening to you, and the mysterious thumb drive. She listens intently, apparently never even blinking, just nodding as you retell your incredible tale.<br><br> <<Dialogue "Emma" "Emma">>"I mean… you are right… I have noticed your body changing, and I speculated about it… but never would I have imagined…"<</Dialogue>><br><br> She trails off, looking out the window.<br><br> <<Dialogue "Emma" "Emma">>"May I…?"<</Dialogue>><br><br> She motions for the USB stick. You hand it over, holding not to start sobbing.<br><br> <<Dialogue "Emma" "Emma">>"Listen, I cannot permit you to use company resources for this. However…"<</Dialogue>><br><br> You lift your chin, looking at Emma expectantly.<br><br> <<Dialogue "Emma" "Emma">>"I have an airgapped machine for official investigations, as well as some proprietary security tools we use in internal investigations. With your permission, I would like to try and see what I can gather from these files. If you allow me, of course."<</Dialogue>><br><br> You break into tears, and hug Emma, thanking her profusely in what little coherence you can articulate. She awkwardly taps your back:<br><br> <<Dialogue "Emma" "Emma">>"There… there… now, please, get back to work. I don’t want to attract any more attention to this than necessary."<</Dialogue>><br><br> She hands you a box of tissues, and reassures you that she will do her best to help you.<br><br> Best.<br> Boss.<br> EVER! <<set $emmaWarnedUsb to true>> <<link "Continue" $currentScene>><</link>> <</replace>> <</PersonalityCheck>> <<PersonalityCheck $carefreeCarefull >= 2 "You come up with the most believable lie you can think of as an excuse">> <<replace "#choice">> <<Dialogue "player" "You">>"Emma, no, this is a giant mix-up. These files, they are part of my current delivery. I just had to consult some external sources when I was doing overtime at home, and I had to bring the data in."<</Dialogue>><br><br> Emma looks at you, extremely disappointed and… sad?<br><br> <<Dialogue "Emma" "Emma">>"Miss <<print $playerLastName>>, it is not enough for you to break all these rules, you also have to lie to my face? I truly expected you would know better."<</Dialogue>><br><br> Uh oh. This sounds very serious.<br><br> <<Dialogue "Emma" "Emma">>"You have pushed way beyond the grounds for termination, you understand that?"<</Dialogue>><br><br> You feel your heart about to come out through your throat.<br><br> <<Dialogue "Emma" "Emma">>"However, I am also a believer in second chances, and this is your first strike. So let this be a warning. A FINAL warning. I do not want to see you pull another stunt like this. EVER. Do I make myself clear?"<</Dialogue>><br><br> <<Dialogue "player" "You">>"Crystal."<</Dialogue>><br><br> Emma sighs, and turns around. She doesn’t leave until she hears you getting back to your previous task.<br><br> After she is gone, you put the USB stick away, and while you are thankful for still having a job, you feel like crap. <<set $emmaWarnedUsb to true>> <<link "Continue" $currentScene>><</link>> <</replace>> <<Failed>> <<replace "#choice">> <<Dialogue "player" "You">>"No, you see, this isn’t what it looks like. Really, it’s just that… Ummmmmm… well..."<</Dialogue>><br><br> <<Dialogue "Emma" "Emma">>"Spare me of the theatrics, miss <<print $playerLastName>>. This behavior is entirely unacceptable and grounds for termination. But since it’s also your first time, I’ll let you get away with a warning. But let me be clear, next time I won’t be so benevolent."<</Dialogue>><br><br> You nod, and she leaves, her high heels clacking so menacingly you might get PTSD from that sound in the future. You put the device away, and get back to work - your concentration is not any better, but at least now you aren’t obsessing over the files. <<set $emmaWarnedUsb to true>> <<link "Continue" $currentScene>><</link>> <</replace>> <</PersonalityCheck>> </span>`
},{
name: 'emmaLearnedPotion',
locationTags: ['emma'],
conditions: [
() => State.variables.emmaLastMuscle >= 30,
() => State.variables.muscle >= 40,
() => State.variables.emmaOpinion <= 30
],
repeatable: false,
retriggerable: false,
priority: 'response',
npc: ['emma'],
content: `You are happily tapping away at the keyboard, to the rhythm of one of your favorite childhood cartoon songs. All is good at work.<br><br> <<Dialogue "Emma" "Emma">>"Miss <<print $playerLastName>>, may I have a word with you, in my office?"<</Dialogue>><br><br> EEP! She walks away. Uh oh! You are not even sure what you have done! Very uncomfortably, you make your way to her office.<br><br> <<Dialogue "Emma" "Emma">>"Close the door, please, and have a seat."<</Dialogue>><br><br> At this point, your heart is coming out of your mouth.<br><br> <<Dialogue "Emma" "Emma">>"Miss <<print $playerLastName>>, I don’t usually like talking to my employees regarding their personal lives, but I hope you understand when I make an exception here…"<</Dialogue>><br><br> OK, now you are just plain confused.<br><br> <<Dialogue "Emma" "Emma">>"It has come to my attention… I mean, how could you expect it not too… that you have made some… significant… improvements to your physique."<</Dialogue>><br><br> Still speechless, you just look at her, unsure of what to say.<br><br> <<Dialogue "Emma" "Emma">>"I am not one to freely share my outside hobbies within the work environment, but let’s just say that I am well familiar with the topic of bodybuilding. And I know your growth absolutely cannot be natural."<</Dialogue>><br><br> She sighs. You start seeing hints of a more personal side of Emma.<br><br> <<Dialogue "Emma" "Emma">>"While we DO have some policies regarding the use of recreational drugs, we do not hold any rules regarding steroids. THAT SAID, I would like to make a personal plea to you, for I know the terrible side effect these substances can have… and even with them, I’ve never seen anything like this, so I cannot hold my concern silent any longer, <<print $playerFirstName>>."<</Dialogue>><br><br> That’s… a lot. Wow. You didn’t want to interrupt her, but also didn’t feel like letting her give herself so much rope to hang herself… at the same time… how do you even explain that?<br><br> <<Dialogue "player" "You">>"Uh, so, Emma, this is going to be really hard to…"<</Dialogue>><br><br> <<Dialogue "Emma" "Emma">>"Look, right now, I am not your boss. Let’s put our professional relationship aside. I’m talking to you, only a concerned acquaintance."<</Dialogue>><br><br> Awww… even though she didn’t use the word “friend”, this still warms your heart.<br><br> Doesn’t make it any easier to explain, however.<br><br> <<Dialogue "player" "You">>"Oh, boy! Where do I even start…? OK, Emma, I’m not exaggerating, this IS hard to explain. You see… I’m sort of… a victim of a college experiment gone awry…"<</Dialogue>><br><br> <<Dialogue "Emma" "Emma">>"Excuse me, you WHAT?"<</Dialogue>><br><br> It is officially the very first time you see Emma lose it. You have to hold in a laugh, but you know now is not the time for that.<br><br> <<Dialogue "player" "You">>"Look, the short version is… when I moved in, I accidentally drank this… potion… that the previous tenant, some sort of scientist… left behind. These changes? Yeah, I’m putting some work in, but they are a result of something I drank."<</Dialogue>><br><br> <<Dialogue "Emma" "Emma">>"Miss <<print $playerLastName>>, that is absolutely preposterous. There is absolutely no way I could fall for that. I mean, the sheer biological implications… something metabolized by ingestion having such a long effect… such an INTENSE effect…"<</Dialogue>><br><br> <<Dialogue "player" "You">>"Oh, I’m 100% with you on the preposterous, except I’m living through it. Also, you can probably look up about the scientist - apparently it made the news when he spread these potions all over the campus I’m living in. Here, let me send you a link."<</Dialogue>><br><br> Emma grabs her phone, and starts scrolling through the news. Her eyes don’t hide her disbelief, but she clearly sees that you are not just making this up. <<Dialogue "Emma" "Emma">>"You will have to give me a second to process all of this, <<print $playerFirstName>>. It’s… uh… a lot."<</Dialogue>><br><br> <<Dialogue "player" "You">>"You are telling ME?"<</Dialogue>><br><br> You give her a flex of your humongous arm.<br><br> <<Dialogue "player" "You">>"When I arrived here in the beginning of the summer, I was a tiny stick of a girl."<</Dialogue>><br><br> You show her a picture. You tell her that was you in May.<br><br> Emma just blinks. At this part, Occam’s Razor seems to be settling in, or at least some surreal version of it.<br><br> <<Dialogue "Emma" "Emma">>"A-aren’t you concerned about side effects? Have you seen a doctor?"<</Dialogue>><br><br> <<Dialogue "player" "You">>"Well, someone else was subjected to this, and she seems to be doing alright. As far as I can tell, I am showing none of the usual side-effects of steroids. In fact, everything points out to my body literally performing at peak human potential… or… maybe even beyond?"<</Dialogue>><br><br> Emma just lets a big puff of air out.<br><br> <<Dialogue "Emma" "Emma">>"I… but… miss <<print $playerLastName>>, that can’t… "<</Dialogue>><br><br> <<Dialogue "player" "You">>"Sorry for springing this on you, Emma."<</Dialogue>><br><br> <<Dialogue "Emma" "Emma">>"No, it’s just… look, why don’t you go back to your desk? "<</Dialogue>><br><br> You feel bad, it wasn’t your intention to confuse her so much. You apologize, and return to your desk.<br><br> Emma stays on her chair for quite a long time, in a pensive mood that is very uncharacteristic for her. <<set $emmaLearnedPotion to true>>`
},
{
name: 'EmmaApologize',
locationTags: ['emma'],
conditions: [
() => State.variables.emmaLearnedPotion
],
repeatable: false,
retriggerable: false,
priority: 'response',
npc: ['emma'],
content: `As you make your way to your desk, Emma runs by your side and grabs you by your hand, without saying a work, and just tugs you to her office.<br><br> Confused, you watch as she displays a hint of guilt in her demeanor. She motions for you to sit down, and she does so as well. Taking a deep breath, she seems to look inside for fortitude before she begins.<br><br> <<Dialogue "Emma" "Emma">>"I owe you an apology, <<print $playerFirstName>>... for the way I left things the other day."<</Dialogue>><br><br> <<Dialogue "player" "You">>"Emma, it’s alright, I really sprung quite a…"<</Dialogue>><br><br> She raises a finger and interrupts you.<br><br> <<Dialogue "Emma" "Emma">>"Please, let me finish. This is important. I let my personal emotions have the best of me, and I have treated you very poorly. I let my knee-jerk reaction took over, and never stopped to think how that would affect you. And this is something I cannot forgive myself for."<</Dialogue>><br><br> You smile, trying to make it as clear as possible that you hold no grudge.<br><br> <<Dialogue "player" "You">>"Hey, I had to go through all of this personally… I think I have an idea how shocking it can be."<</Dialogue>><br><br> <<Dialogue "Emma" "Emma">>"But that’s exactly it, you see? You already have your plate full, and it is not fair for me to burden you with my issues on top of that."<</Dialogue>><br><br> She takes a moment, and looks at you, with a very somber face. <<Dialogue "Emma" "Emma">>"You’ll have to forgive me. I… I wasn’t ready for this.But, you… I must admit, <<print $playerFirstName>>... I’m… part of me is actually…"<</Dialogue>><br><br> She hesitates before completing the thought. She clearly gave it some thought, but it’s hard for her to vocalize it.<br><br> <<Dialogue "Emma" "Emma">>"I think I’m both thrilled and envious. I mean, as your boss, this is very inappropriate for me to say…"<</Dialogue>><br><br> You put your hand over hers. She jerks, briefly, but doesn’t pull it away.<br><br> <<Dialogue "player" "You">>"How about you tell it… as a friend?"<</Dialogue>><br><br> Now Emma is completely speechless.<br><br> <<Dialogue "player" "You">>"It’s okay. You’ve always been there for me, Emma."<</Dialogue>><br><br> <<Dialogue "Emma" "Emma">>"I… (ahem)... I would just like you to know you have my full support regarding your health… should you ever need it... "<</Dialogue>><br><br> You smile, feeling very thankful.<br><br> <<Dialogue "player" "You">>"That means the world to me, Emma. Thank you so much."<</Dialogue>><br><br> A brief but awkward silence follows.<br><br> <<Dialogue "Emma" "Emma">>"Well, I suppose you should go back to your desk. I don’t want any gossip about you being in here for so long."<</Dialogue>><br><br> <<Dialogue "player" "You">>"Of course."<</Dialogue>><br><br> You get up, and return to your desk.`
},{
name: 'EmmaTakesDownBodybuildingShowLeaflet',
locationTags: ['emma'],
conditions: [
() => State.variables.daysPlayed >= 5
],
repeatable: false,
retriggerable: false,
priority: 'response',
npc: ['emma'],
content: `As you pass by to grab a drink of water, you see the employee message board. There are a few notices… hmmm, Alice is selling peanut butter cupcakes? You may have to check those out. But one of the leaflets attached calls your attention.<br><br> There’s going to be a bodybuilding competition in town sometime later this summer. Hmmmm… that’s kind of cool. There’s a black and white image of a massive man, pulling off an impressive muscular pose. You have to admit, it looks pretty awesome. You daydream with the idea of competing… but then remember you still have quite a bit of work to do, and return to your seat.<br><br> Hours pass. Emma is doing the rounds, as usual, and as she approaches the bulletin board, her eyes seem to jump to it from a distance. She hurriedly paces to it, and rips the leaflet you saw earlier, in quite an aggressive manner. She doesn’t look happy about it.<br><br> <<Dialogue "Emma" "Emma">>"Alright, who posted this to the message board?!?"<</Dialogue>><br><br> Jeff scaredly raises his hand from his cubicle.<br><br> <<Dialogue "Emma" "Emma">>"Need I remind you of the rules of the employee message board?"<</Dialogue>><br><br> Jeff seems legitimately confused. He questions Emma about what rule she is referring to. Now Emma seems flustered, stuttering as she looks for a justification.<br><br> <<Dialogue "Emma" "Emma">>"Well, ummm, we… we have certain decency standards at the workplace… and… and this picture of a semi-naked man… with all these… muscles… this… this is unacceptable!"<</Dialogue>><br><br> Everyone is now confused. Emma does not have a history of being particularly prude, and is now just acting odd. She crumples the leaflet, and tosses it in the almost empty wastebin next to the board, before running back to her office in the same hurried pace from before.<br><br> Well, that was weird.<br><br> After everyone returns back from lunch, you notice that the wastebin hasn’t been emptied… but the leaflet seems conspicuously missing… hmmm…`
},
{
name: 'EmmaUsbPassword',
locationTags: ['emma'],
conditions: [
() => State.variables.emmaWarnedUsb
],
repeatable: false,
retriggerable: false,
priority: 'response',
npc: ['emma'],
content: `You sit on your desk, ready for a long day of work ahead… but you notice an urgent email from Emma. It reads only:<br><br> Meet me at my office.<br> -Emma<br><br> Okay? Hope it’s not serious - you’ve never seen her call someone into her office by email like this…<br><br> You knock on her door.<br><br> <<Dialogue "Emma" "Emma">>"Come in."<</Dialogue>><br><br> You very carefully open and close the door, and silently sit by her desk. <<Dialogue "Emma" "Emma">>"I’ll keep this brief. I used the company resources to break the encryption. Unfortunately, we use a third-party system that requires a one-time payment for activation per task… so I could only work on one file without going over my discretionary fund and call attention to this side project."<</Dialogue>><br><br> She slides a piece of folded paper over to you, along with the USB stick.<br><br> <<Dialogue "Emma" "Emma">>"I’m sorry I couldn’t do more, miss <<print $playerLastName>>."<</Dialogue>><br><br> You are at a loss for words.<br><br> <<Dialogue "player" "You">>"Emma… I have no way to proper thank you for this…"<</Dialogue>><br><br> <<Dialogue "Emma" "Emma">>"There’s no need for thanks. I didn’t look into the file, but I admit my curiosity was not small. I will let it up to you to share anything you desire regarding this."<</Dialogue>><br><br> You grab the paper and the device, and get up.<br><br> <<Dialogue "player" "You">>"Emma… really… thank you, from the bottom of my heart!"<</Dialogue>><br><br> Emma stops and stammers a bit… <<Dialogue "Emma" "Emma">>"Oh, i-it’s… nothing a boss wouldn’t do for a good employee. Now go, I don’t want people reading too much into you being in my office this early."<</Dialogue>><br><br> You give her a big hug, and return to your station, closing the door behind you.<br><br> Emma sighs, removing her glasses and leaning her hand against her eye.<br><br> <<Dialogue "Emma" "Emma">>"You be careful about this, <<print $playerFirstName>>, you hear…?"<</Dialogue>><br><br> She says to herself.`
}
)>><<set setup.events.push({
name: 'EmmaDate1',
locationTags: ['emma'],
conditions: [
() => State.variables.emmaOpinion >= 30
],
repeatable: false,
retriggerable: false,
priority: 'immediate',
npc: ['emma'],
content: '<<goto "emmaDate1">>'
}, {
name: 'EmmaDate2',
locationTags: ['emma'],
conditions: [
() => State.variables.emmaOpinion >= 40,
() => State.variables.emmaFirstDateDone
],
repeatable: false,
retriggerable: false,
priority: 'immediate',
npc: ['emma'],
content: '<<goto "Emma Date Two Intro">>'
},{
name: 'EmmaPromotion1',
locationTags: ['emma'],
conditions: [
() => State.variables.emmaPromotion1
],
repeatable: false,
retriggerable: false,
priority: 'immediate',
npc: ['emma'],
content: 'As you enter the office and power up your workstation, an email from Emma instructs you to see her in her office. Since the door is open, you decide to see what it’s all about. <br><<Dialogue "Emma" "Emma">> "Ah, there you are, Miss <<print $playerLastName>>. Please, take a seat. Now, how would you rate your own performance?"<</Dialogue>><br>You look at her, a bit stunned. Things have been going easy, but you have been slacking a bit. The work wasn\'t much of a challenge, so why not? What to say here...<br><br><span id="choice"><<link "Decently, right...?">><<replace "#choice">><br><br><<Dialogue "player" "You">> "Ehm, I think it went... decently? I\'m doing my job and I hadn\'t had any complaints so..."<</Dialogue>><br>Emma takes a few seconds to size you up, as if she expected more from you. <br><<Dialogue "Emma" "Emma">> "I\'d say you\'re doing better than \'decently\'. Your performance has been excellent, and fake modesty is misplaced here. You really should put more faith in yourself, miss <<print $playerLastName>>. After all, we\'re giving you a promotion."<</Dialogue>><br> Emma smiles at you, pushing a lone piece of paper forward with her finger. It’s a new contract, with bigger pay, yet the similar responsibilities. It seems they really appreciate your performance! Emma leans back, smiling. <<Dialogue "Emma" "Emma">> "You earned it, <<print $playerFirstName>>. Your pay will be increased immediately. Now, I got a LOT to do so..."<</Dialogue>><br>With that you leave the office, still a bit stunned. Well, it seems you got some more money to spend now!<br><<link "return" "office">><<set $officePromotionBonus to 2>><</link>><</replace>><</link>><br><br><<PersonalityCheck $shyConfident >= 1 "Bluff.">><<replace "#choice">><br><br><<Dialogue "player" "You">> "Heh, yeah, I think I\'ve been doing really well! I made sure to keep everything on schedule, and I\'ve even picked up the slack from Mike! Heh, good old Mike!"<</Dialogue>><br>Emma looks at you, her gaze communicating nothing. You almost start sweating from the tension in the room but... then she starts smiling!<br><<Dialogue "Emma" "Emma">> "You did impress us, yes! And that\'s why we\'re giving you a promotion, and a raise! You CERTAINLY earned it. And no worries, Mike and I will be speaking soon. Now, I\'m sure you have plenty on your plate, so expect your increased pay soon. And once again... well done."<</Dialogue>><br>With that you leave the office, still a bit stunned. Well, it seems you got some more money to spend now! But Emma seemed genuinely pleased, displaying a warm smile, which you remember fondly.<br><<link "return" "office">><<set $officePromotionBonus to 2>><</link>><</replace>><<Failed>><<replace "#choice">><br><br><<Dialogue "player" "You">> "Heh, yeah I think I\'ve been doing really well! I made sure to keep everything on schedule, and I\'ve even picked up the slack from Mike! Heh, good old Mike!"<</Dialogue>><br>Emma looks at you, her gaze communicating nothing. You almost start sweating from the tension in the room, when her mouth stiffens a bit.<br><<Dialogue "Emma" "Emma">> "You did impress us, and your performance was well above expectations. And that\'s why we\'re giving you a promotion, along with a raise. However, I would encourage you not to comment officially about the performance of other coworkers, for obvious reasons. That will be all."<</Dialogue>><br>With that you leave the office, still a bit stunned. Well, it seems you got some more money to spend now! But Emma seemed genuinely displeased, her cold stare burned into your mind.<br><<link "return" "office">><<set $officePromotionBonus to 2>><</link>><</replace>><</PersonalityCheck>><br><br><<PersonalityCheck $carefreeCarefull >= 1 "Give a detailed explanation.">><<replace "#choice">><br><br>Carefully, you give a detailed explanation of your performance; you excel at responding every ticket efficiently, you detail how your bookkeeping skills help, and that the work has become second-nature. No boasting, no lying, just facts.<br><br><<Dialogue "player" "You">> "-and that, combined with my recent numbers, shows a clear upward trend."<</Dialogue>><br>Emma listens to every word, and smiles.<br><br><<Dialogue "Emma" "Emma">> "... I knew fast-tracking you for a promotion was a good idea. Congratulations, you\'re not a junior associate any longer! You\'ll be getting a new position and a raise, effective immediately. You\'ll have similar responsibilities, though we do expect you to help the team more often. Well done, truly. I don\'t see people like you often. But you will have to excuse me now, I have a lot on my plate..."<</Dialogue>><br>Well this is a welcome surprise! It seems your hard work has earned you a promotion, increasing your income!<br><br><<link "return" "office">><<set $officePromotionBonus to 2>><</link>><</replace>><<Failed>><br><br>Carefully, you try to give a detailed explanation of your performance; you excel at responding every ticket efficiently, you detail how your bookkeeping skills help, and that the work has become second-nature. Emphasis on try, as you keep misquoting and correcting numbers, losing track of your train of thought and just muttering and stuttering a lot. It’s a bit of a disaster, but Emma patiently smiles and gives you time to finish.<br><br><<Dialogue "player" "You">> "-a-and that, c-combined with my recent numbers, shows a clear trend. I mean, upward trend."<</Dialogue>><br>Emma listens to every word, and smiles.<br><br><<Dialogue "Emma" "Emma">> "... I knew fast-tracking you for that promotion was a good idea. you\'re not a junior associate any longer! You\'ll be getting a new position and a raise, effective immediately. You\'ll have similar responsibilities, though we do expect you to help the team more often. Well done, truly. I don\'t see people like you often. But you will have to excuse me now, I have a lot on my plate..."<</Dialogue>><br>Well, this is a welcome surprise! It seems that your hard work has earned you a promotion, increasing your income!<br><br><<link "return" "office">><<set $officePromotionBonus to 2>><</link>><</PersonalityCheck>></span>'
}, {
name: 'EmmaPromotion2',
locationTags: ['emma'],
conditions: [
() => State.variables.emmaPromotion2
],
repeatable: false,
retriggerable: false,
priority: 'immediate',
npc: ['emma'],
content: 'Once more as you boot up your PC you get a notification that you\'re to meet Emma in her office. Normally, there wouldn\'t be any subject line here but this time its different. Now the subject line is quite simple; \'New promotion\'. It seems that with your work you\'ve impressed Emma again, and this is confirmed as you walk into her office and she sits there smiling. <br><<Dialogue "Emma" "Emma">> "Welcome, Miss <<print $playerLastName>>. Please, take a seat. Now once more we\'re here because... well, let me be frank. You\'ve done amazing work, and I\'m rewarding you. With the way you\'re handling those accounts and filing everything, you deserve anohter promotion. Normally the company doesn\'t do that with someone so newly with us, but I frankly told upper managment that you\'d get it."<</Dialogue>><br>Emma is genuinely smiling, looking suprisingly energized. Clearly she gives a lot to the company and puts a LOT of herself in her work. But here you see her relaxed and even proud of you! Her smile, normally hidden by a perpetual frown, makes her almost appear bubbly.<br><br><span id="choice"><<link "Thank her">><<replace "#choice">><br><br><<Dialogue "player" "You">> "A-another promotion?! Really? Well... thank you, really! I appreciate it, thank you Emma!<</Dialogue>><br><<Dialogue "Emma" "Emma">> "No no, thank you, miss <<print $playerLastName>>. Your excellent work has given us many new clients, and its nothing but deserved that you get this promotion."<</Dialogue>><br> Emma smiled at you, pushing a paper forward. It was another new contract, with even bigger pay, yet the same responsibilities. It seems they really liked your performance! Emma leaned back, smiling. After signing it, and a few more congratulations, you left her office. Well, it seems you got some more money to burn now!<br><<link "return" "office">><<set $officePromotionBonus to 4>><</link>><</replace>><</link>><br><br><<PersonalityCheck $shyConfident >= 1 "Boast about it.">><<replace "#choice">><br><br><<Dialogue "player" "You">> "Hah, Finally! I\'ve been doing so much work around here, I was wondering when I was going to get one!"<</Dialogue>><br>Emma looks at you, her gaze saying nothing. Have you overplayed your hand, pushed it too much? But then she broke the tension, smiling.<br><<Dialogue "Emma" "Emma">> "Heh, okay, some boasting is deserved big shot. Just don\'t get too cocky now. But seriously, you did earn it. Your work is excellent, and you\'re an asset to the company. Enjoy your promotion."<</Dialogue>><br>Gently she slides the paper to you, and with that you are promoted.<br><<link "return" "office">><<set $officePromotionBonus to 4>><</link>><</replace>><<Failed>><<replace "#choice">><br><br><<Dialogue "player" "You">> "Hah, Finally! I\'ve been doing so much work around here, I was wondering when I was going to get one!"<</Dialogue>><br>Emma looks at you, her gaze saying nothing. You almost start sweating from the tension in the room, when her mouth stiffens a bit as the formerly warm smile drops a bit..<br><<Dialogue "Emma" "Emma">> "...Don\'t get cocky with me. I put myself on the line to get you this promotion and I don\'t think this is fitting here, now is it? Here is your promotion, and I expect you will deliver results. Good day."<</Dialogue>><br>With that coldness you left the office. You got the promotion, but it seems you\'ve struck a nerve with Emma.<br><<link "return" "office">><<set $officePromotionBonus to 3>><</link>><</replace>><</PersonalityCheck>><br><br><<link "Humbly accept.">><<replace "#choice">><br><br><br><br><<Dialogue "player" "You">> "I... wow. Thank you, Emma. ".<</Dialogue>><br>You politely nodded, and it was clear not many words were needed. Emma appreciated you. You had humbly thanked her, and her smile grew even wider.<br><br><<Dialogue "Emma" "Emma">> "You\'re an asset to us. Now, go out there and make me proud!".<</Dialogue>><br>You were given a second promotion, and you get the idea Emma appreciates you more and more.<br><br><<link "return" "office">><<set $officePromotionBonus to 4.5>><</link>><</replace>><</link>></span>'
}, {
name: 'EmmaHeight30',
locationTags: ['emma'],
conditions: [
() => State.variables.emmaLastMuscle + 30 <= State.variables.muscle
],
repeatable: false,
retriggerable: false,
priority: 'immediate',
npc: ['emma'],
content: '<<set $emmaOpinion += 2>>You\'d never guess that simply walking into the office could be such a problem. However, as you look at the entrance, you are reminded of the fact that, well... in terms of height, you are now much taller than before. Also taller than your coworkers! As you ponder over this fact, you notice Emma standing next to you, looking you up and down with an expression of utter amazement.<br><br><<Dialogue "Emma" "Emma">> "Miss <<print $playerLastName>>?"<</Dialogue>><br><<Dialogue "player" "You">> "Ummm, yes?"<</Dialogue>><br><<Dialogue "Emma" "Emma">> "If I remember correctly, the last time I saw you, you were a bit shorter. Then how is it possible that today, you can\'t even walk into the office?"<</Dialogue>><br><span id="choice"><<link " Tell her that you\'ve grown">><<replace "#choice">><br><br><<Dialogue "player" "You">> "Growth spurt is the answer, I guess?"<</Dialogue>><br>Clearly frustrated with your answer, she rolls her eyes and points at you.<br><br><<Dialogue "Emma" "Emma">> "Miss <<print $playerLastName>>, I\'ll give you a short biology lesson. Adult humans don\'t go through a second puberty, and even if that was the case with you, it\'s impossible to grow that fast!"<</Dialogue>><br>What seems to be the beginning of a long rant is cut short by one of your coworkers handing Emma a folder, which has \'URGENT! \' written on it in big, red letters. She takes the folder and marches towards her office, but not before giving you a stern look that says "We\'ll talk about it later". Welp, it\'s time for you to get to work!<br><br><<link "return" "office">><<set $emmaOpinion += 2>><</link>><</replace>><</link>><br><br><<link " Tell her that you don\'t know">><<replace "#choice">><br><br><<Dialogue "player" "You">> "To be honest, I have no clue how this happened".<</Dialogue>><br>The HR executive lifts her eyebrow but her face softens when she looks at you.<br><br><<Dialogue "Emma" "Emma">> "If you feel unwell and can\'t work today, you can take the day off. I will vouch for it."<</Dialogue>><br><<Dialogue "player" "You">> "Thanks, but there’s no need for that."<</Dialogue>><br>She nods curtly.<br><br><<Dialogue "Emma" "Emma">> "Alright then, but a word of advice, I strongly suggest you go to the hospital for a medical checkup".<</Dialogue>><br>And with that, she goes on with her workday, as do you. However, a stray thought comes up: how are you going to sit on your chair with legs this long...?<br><br><<link "return" "office">><</link>><</replace>><</link>><br><br><<link " Ignore her ">><<replace "#choice">><br><br>Instead of giving her an answer, you lower your elongated body through the door with some difficulty. It\'s quite the ordeal, but you manage to get through. Meanwhile, Emma just stands still and watches in bewilderment at being ignored. Thinking back, maybe this wasn\'t the wisest choice?<br><br><<link "return" "office">><</link>><</replace>><</link>></span>'
}, {
name: 'EmmaMuscle30',
locationTags: ['emma'],
conditions: [
() => State.variables.emmaLastMuscle + 30 <= State.variables.muscle
],
repeatable: false,
retriggerable: false,
priority: 'immediate',
npc: ['emma'],
content: 'Humans are creatures of habit and routine. This quotation applies to most people - and thus includes you as well. Usually, when you go to the office, you tend to take the elevator because the office is on the tenth floor and the lift is very convenient compared to the stairs. Today is no different, and you walk towards the elevator with every intention of using it. However, as you look at the automatic doors, you notice something new. Since you\'ve grown A LOT, the elevator is... a bit too small for someone of your size. What\'s more, you notice that Emma is standing in the back of the elevator, she doesn\'t even notice you because she\'s wearing earbuds and looks to be lost in thought reading a file. Still, you are no quitter, and you force your body through the door as the carriage grates and groans in protest. <br><br>Emma lifts her head, confronted by a literal wall of muscles coming her way, which pushes her even further into the corner. She lets out an indignant grunt, but there is nothing she can do to resist the sheer weight of your body, and it seems that she\'s now trapped under your immense bulk.<br><br><<Dialogue "Emma" "Emma">> "Hey! What\'s happening?!"<</Dialogue>><br><<Dialogue "player" "You">> "Ah... sorry."<</Dialogue>><br><<Dialogue "Emma" "Emma">> "Miss <<print $playerLastName>>? Wha... How?!"<</Dialogue>><br><<Dialogue "player" "You">> "Um... I\'ve been working out?"<</Dialogue>><br>She gasps and looking at her, you imagine she probably has some sharp retort at the tip of her tongue, but after taking a deep breath, she calms down.<br><br><<Dialogue "Emma" "Emma">> "That\'s a bit of an understatement."<</Dialogue>><br>The HR executive pokes and tries to move your tree trunk thighs, which are pushing against her whole body and trapping her in the corner. While it\'s nothing new that Emma is quite strong, your legs don\'t even budge.<br><br><span id="choice"><<PersonalityCheck $submissiveDominant >= 2 " Tease her">><<replace "#choice">><br><br>A mischievous idea comes to mind. You flex your legs, and as they expand and harden, Emma gasps, your legs pressing her body even more against the walls of the elevator. With difficulty, she pats your legs hard - which you barely even feel.<br><br><<Dialogue "Emma" "Emma">> "Cut it out! If you keep at it, I\'m not going to be able to breathe!"<</Dialogue>><br>Ugh, Party pooper. You stifle a giggle, but relax your muscles. Emma\'s face is red as she gives you a sharp look. You grin a little, noticing that she looks pretty cute when embarrassed. However, your fun is cut short as a soft DING is heard from the elevator, which arrived at the tenth floor where the office is located. After a short while, you both manage to squeeze out, Emma straightens her crumpled clothes and looks back at you.<br><br><<Dialogue "Emma" "Emma">> "We\'ll talk about this later. For now, we have a lot of work to get to."<</Dialogue>><br>And with that, she leaves, moving towards her office.<br><br><<link "return" "office">><<set $emmaOpinion -= 5>><</link>><</replace>><<Failed>><<replace "#choice">>Already your imagination is going wild; you pinning Emma there, making her squirm while her hands explore your legs... Her tiny hands pushing you away. Yet, before you can act on it, you hear the ding of the elevator, and she gets out. Urgh... such a nice little daydream!<br><br><<link "return" "office">><<set $emmaOpinion -= 5>><</link>><</replace>><</PersonalityCheck>><br><br><<link " Be apologetic">><<replace "#choice">><br><br><<Dialogue "player" "You">> "Sorry, I\'ll try to move towards the other side to give you more space."<</Dialogue>><br>Easier said than done, as the elevator is quite small and your massive body can barely move. Still, you manage to lean to the side and give Emma some precious breathing space.<br><br><<Dialogue "Emma" "Emma">> "Oof... thanks. May I suggest taking the stairs next time? Or at least wait until you can have the elevator for yourself?"<</Dialogue>><br><<Dialogue "player" "You">> "Yeah, that seems like a good idea."<</Dialogue>><br><<Dialogue "Emma" "Emma">> "Besides, how is it possible that you look like a comic book hero? I don\'t mean to be rude, but the last time I saw you, you seemed a lot smaller."<</Dialogue>><br>She scans your body from top to bottom, her eyes lingering on your massive biceps and giant traps. You have no idea how to explain your gains, but you\'re saved by the elevator coming to a halt and opening. Looks like you\'ve reached your destination!<br><br><<Dialogue "Emma" "Emma">> "This will be a topic for next time. Let\'s get going, we have to hurry or we\'ll be late."<</Dialogue>><br>Right, she sounds serious. Still, there is truth in her words, you don\'t want to be tardy!<br><br><<link "return" "office">><<set $emmaopinion += 2>><</link>><</replace>><</link>><br><br><<link "Say that you can\'t move as well">><<replace "#choice">><br><br><<Dialogue "player" "You">> "Um... I can\'t really move my leg, Emma, there just isn\'t enough space."<</Dialogue>><br>She frowns, but doesn\'t say anything. Even though she tried her best to push your leg, which is pinning her against the corner, her efforts are unsuccessful. Hopefully she doesn\'t get angry about the ordeal. Time slows to a crawl as the awkward silence continues during the ride, but finally Emma speaks up.<br><br><<Dialogue "Emma" "Emma">> "Is there some sort of logical explanation for your... sudden growth?"<</Dialogue>><br><<Dialogue "player" "You">> "Honestly? I don\'t think so."<</Dialogue>><br>She sighs and shakes her head in exasperation. Looks like she gave up trying to satisfy her curiosity. In any case, she isn\'t able push the issue any further, as the elevator doors open, signaling the end of your journey. After getting out, you both exit and walk towards your respective desks. Judging by this encounter, you get a feeling that your new body might make things difficult in the future!<br><br><<link "return" "office">><<set $emmaOpinion += 2>><</link>><</replace>><</link>></span>'
}, {
name: 'EmmaLoan',
locationTags: ['emma'],
conditions: [
() => State.variables.money <= 100
],
repeatable: false,
retriggerable: false,
priority: 'immediate',
npc: ['emma'],
content: 'Walking to the coffee machine, you pour yourself a BIG mug of coffee, trying to shake the lingering tiredness. You don\'t even hear Emma approaching from behind as she flashes a thin smile. <br><<Dialogue "Emma" "Emma">> "Rough night, Miss <<print $playerLastName>>?"<</Dialogue>><br>You almost jump out of your skin, and while Emma might be disguising her amusement, you can swear you saw a brief smirk. <br><<Dialogue "player" "You">> "Ugh, no, no, just... haven\'t been sleeping too well lately."<</Dialogue>><br> <br><<Dialogue "Emma" "Emma">> "... May I ask why?"<</Dialogue>><br><<Dialogue "player" "You">> "It’s nothing, really."<</Dialogue>><br><<Dialogue "Emma" "Emma">> "<<print $playerFirstName>>. As head of human resources, I\'m responsible for keeping everyone in this team happy and productive. Please, if there is any way I can help..."<</Dialogue>><br><<Dialogue "player" "You">> "Well, lately, food and clothing is really eating into my savings... "<</Dialogue>><br><<Dialogue "Emma" "Emma">> "I see. Well... in that case, I can authorize a one-time advance to your paycheck. We do not do this on the regular, and I would deeply appreciate it if you didn\'t mention this with the others. I will see to it that it’s deposit into your bank account ASAP."<</Dialogue>><br> You blink a few times, still holding your coffee. Did she just... She did? What the hell just happened?!? While you collect your thoughts, she\'s off again, talking to someone else.<br><br><<link "return" "office">><<set $money += 200>><<set $emmaOpinion += 2>><</link>>'
}) >><<set $EmmaTriggers to ["blocked"]>>
<<set $EmmaUsedTriggers to ["blocked"]>>/* ElenaShy */
<<set setup.events.push({
name: 'ElenaShy1',
locationTags: ['elena'],
conditions: [
() => !State.variables.elenaOpenedUp
],
repeatable: false,
retriggerable: false,
priority: 'response',
npc: ['elena'],
content: '<<set $elenaOpinion += 1>>Once again, you spot the gigantic girl lifting, this time doing bench presses. She\'s lifting a massive amount of weight, clearly struggling to push it up. You can barely hear it, but she\'s grunting in the softest, sweetest squeak you\'ve ever heard. Finally, the weight stops moving; it’s clear she needs some help!<br><br><span id="choice"><<link " Help her!">><<replace "#choice">><br><br>Rushing over, you grab the bar. But before you can really start putting it back on the rack, the weight starts moving up, the girl letting out a soft, tiny defiant growl. As she reracks the bar, her eyes open and go wide as she sees her unexpected spotter.<br><br><<Dialogue "player" "You">> "... That was damn impressive!"<</Dialogue>><br><<Dialogue "Elena" "Elena">> "S-sorry!"<</Dialogue>><br>Before you can say anything, she rushes off towards the changing room, leaving her towel there.<br><br><<link "... What was that all about?" "gym">><</link>><</replace>><</link>><br><br><<link " Wait for a bit">><<replace "#choice">><br><br>While you watch, she seems to get a second wind, the weight slowly moving up again. Her pecs almost explode in size as she lets out a tiny, muted and defiant growl. Finally, she reracks the weight before sitting up, only then noticing you. Immediately, she starts blushing and starts unracking the weight, ignoring you.<br><br><<link "... What was that about?" "gym">><</link>><</replace>><</link>></span>'
}, {
name: 'ElenaShy2',
locationTags: ['elena'],
conditions: [
() => !State.variables.elenaOpenedUp
],
repeatable: false,
retriggerable: false,
priority: 'response',
npc: ['elena'],
content: '<<set $elenaOpinion += 1>>In the corner of the room you spot her again; the mysterious gigantic woman. Again, she\'s lifting by herself. But this time, there’s something different. As she brushes some hair to the side of her face, you notice she has earbuds in. Softly, she sings along with the music happily. Her lifts are equally upbeat, and noticeably more relaxed. Though you\'d love to chat with her, you get the idea it would be best to let her just enjoy herself today.<br><br><<link "... What was that about?" "gym">><</link>>'
}, {
name: 'ElenaShy3',
locationTags: ['elena'],
conditions: [
() => !State.variables.elenaOpenedUp
],
repeatable: false,
retriggerable: false,
priority: 'response',
npc: ['elena'],
content: '<<set $elenaOpinion += 1>>Walking through the gym, you see the massive girl working out once more, completely silent in her corner of the room. She seems to ignore the world around her, only focusing on her lifting. It’s odd, someone so muscular being so quiet and subdued. Suddenly, her eyes shift, and through the mirror your eyes cross for only a split second before slightly panicking. <br><br><span id="choice"><<link " Leave her be">><<replace "#choice">><br><br>Deciding to leave her be, you just go on with your own routine. It seems she appreciates her personal space, and she\'s busy working out anyway.<br><br><<link "Well, that could\'ve gone better." "gym">><</link>><</replace>><</link>><br><br><<link " Talk to her">><<replace "#choice">><br><br><<Dialogue "player" "You">> "Oh, hey! Uh... how is the workout going?"<</Dialogue>><br><<Dialogue "Elena" "Elena">> "..."<</Dialogue>><br>It might be your imagination, but you could swear you just saw her head bob, in what probably was supposed to be a nod of agreement, barely noticeable!<br><br><<Dialogue "player" "You">> \'Oh! Thats great! Um... well, keep going!"<</Dialogue>><br><<Dialogue "Elena" "Elena">> "..."<</Dialogue>><br><br><<link "Well, that could\'ve gone better." "gym">><</link>><</replace>><</link>></span>'
}, {
name: 'ElenaShy4',
locationTags: ['elena'],
conditions: [
() => !State.variables.elenaOpenedUp
],
repeatable: false,
retriggerable: false,
priority: 'response',
npc: ['elena'],
content: '<<set $elenaOpinion += 1>>Walking through the gym, you see the massive girl working out once more, completely silent in her corner of the room. She seems to ignore the world around her, only focusing on her lifting. It’s odd, someone so muscular being so quiet and subdued. Suddenly, her eyes shift, and through the mirror your eyes cross for only a split second before slightly panicking. <br><br><span id="choice"><<link " Leave her be">><<replace "#choice">><br><br>Deciding to leave her be, you just go on with your own routine. It seems she appreciates her personal space, and she\'s busy working out anyway.<br><br><<link "Well, that could\'ve gone better." "gym">><</link>><</replace>><</link>><br><br><<link " Talk to her">><<replace "#choice">><br><br><<Dialogue "player" "You">> "Oh, hey! Uh... how is the workout going?"<</Dialogue>><br><<Dialogue "Elena" "Elena">> "..."<</Dialogue>><br>It might be your imagination, but you could swear you just saw her head bob, in what probably was supposed to be a nod of agreement, barely noticeable!<br><br><<Dialogue "player" "You">> \'Oh! Thats great! Um... well, keep going!"<</Dialogue>><br><<Dialogue "Elena" "Elena">> "..."<</Dialogue>><br><br><<link "Well, that could\'ve gone better." "gym">><</link>><</replace>><</link>></span>'
})>>
/* Elena */
<<set setup.events.push({
name: 'ElenaMuscle10',
locationTags: ['elena'],
conditions: [
() => State.variables.elenaOpenedUp,
() => State.variables.elenaLastMuscle + 10 <= State.variables.muscle,
() => !State.variables.outfit.bonuses().map(bonus => bonus.name).includes('Baggy')
],
repeatable: false,
retriggerable: false,
priority: 'response',
npc: ['elena'],
content: '<<Dialogue "player" "You">> “Hey, Elena! Ready for today’s session? We’re gonna hit your favorite muscle group!”<</Dialogue>><br>You wave to your partner who, in response, blushes almost immediately. You feel your chest tightening, having hoped that the awkwardness with her would be gone by now.<br><br><<Dialogue "Elena" "Elena">> “S-since when have you gotten… s-so big?” Her eyes dance with admiration, taking in your entire body, almost as if eagerly waiting to appreciate the inspiring mechanics of your corded sinew.<</Dialogue>><br><span id="choice"><<link " Yeah, I got pretty big">><<replace "#choice">><br><br><<Dialogue "player" "You">> “I guess I have been hitting the gym pretty hard, huh? My body tends to surprise me as well” <</Dialogue>><br>You give your enthralled partner a bit of a flex, feeling the power hidden beneath your skin quickly rise to the surface, materializing confounding striations across your pecs and biceps.<br>As her eyes widen, the color drains from her face and you see her knees start buckling. Before you know it, you are rushing to catch Elena mid-fall. Perhaps it would be best to save the showboating for a more private environment. Eventually, she recovers her senses, and you carefully dust her off with a confident smile. She looks back adoringly, and the two of your proceed with your workouts, with redoubled effort.<br><br><<link "Continue" "gym">><</link>><</replace>><</link>><br><br><<link " Oh, I hadn\'t noticed.">><<replace "#choice">><br><br><<Dialogue "player" "You">> “You really think I’ve made progress? I never even noticed…”<</Dialogue>><br>You look upon your body, and while it is undeniably massive, everything still feels normal, even stagnant. It was only when the caramel-skinned beauty pointed it out, admiring your musculature with a smile, that you started to truly realize it. <br><br><<Dialogue "Elena" "Elena">> “I think you look //più bella//! Your biceps, traps... p-p-pecs... all of them are //molto grande//... very big! You’ve worked really hard!”<</Dialogue>><br>Despite her troubled cadence, her are thick with warmth, and a feeling of positive self-esteem blossoms in your chest. You reply with a thankful smile, and move on to begin your workout.<br><br><<link "Continue" "gym">><</link>><</replace>><</link>></span>'
}, {
name: 'ElenaMuscle',
locationTags: ['elena'],
conditions: [
() => State.variables.elenaOpenedUp,
() => State.variables.elenaLastMuscle <= State.variables.muscle,
() => !State.variables.outfit.bonuses().map(bonus => bonus.name).includes('Baggy')
],
repeatable: false,
retriggerable: false,
priority: 'response',
npc: ['elena'],
content: 'You walk into the gym, going straight for the little corner you claimed with your new gym buddy. There, you find her turning to give you a warm, if reserved, smile. Her eyes wander over your body as it draws closer to hers, though… a few seconds pass and she still remains completely silent.<br><br><<Dialogue "player" "You">> “Uh… hi there!”<</Dialogue>><br>Elena jolts back a bit, seemingly caught in her trance. The familiar blush begins to fill around her guilty expression. <br><br><<Dialogue "Elena" "Elena">> “S-sorry! I… just noticed you’ve gotten a little b-bigger! I\'m impressed!”<</Dialogue>><br><<Dialogue "player" "You">> “I’m sure with further training, I’ll be as big as you soon enough, just you wait!”<</Dialogue>><br>She carries her pride for you clearly in her face, excited by your determination, and fairly certain you will reach your goal. And with that, you both urge each other to get going in your respective routines!<br><br><<link "Continue" "gym">><</link>>'
}, {
name: 'ElenaHomeTailoredClothing',
locationTags: ['elena'],
conditions: [
() => State.variables.elenaOpenedUp,
() => State.variables.outfit.bonuses().map(bonus => bonus.name).includes('Hand-made')
],
repeatable: false,
retriggerable: false,
priority: 'response',
npc: ['elena'],
content: 'You arrive at the gym, ready for the workout of your life. You go to the bathroom and change, heading to the bars for a much-needed stretch. As you start, however, you feel you are being watched.<br><br>You turn around to find Elena anxiously looking at you. When you look back, however, she gives the cutest surprised hop. You giggle at the image, and ask her what is up.<br><br><<Dialogue "Elena" "Elena">>"//Scuzi//, but…"<</Dialogue>><br><br>She shyly rubs her feet against the floor, looking down as she shakes her head slowly.<br><br><<Dialogue "Elena" "Elena">>"I saw your clothes when you arrive… you looked //più bella//. It’s so hard to find nice clothes in my size, where did you get them?"<</Dialogue>><br><br><<Dialogue "player" "You">>"Oh, those? I made them."<</Dialogue>><br><br><<Dialogue "Elena" "Elena">>"//MA CHE//?!?"<</Dialogue>><br><br>Elena shouts, revealing a booming voice you were entirely unaware she was capable of. As everyone inside the gym turns to look at her, she cowers behind you, in a very unsuccessful attempt to hide herself.<br><br>You give her a couple of minutes to recompose herself, and she eventually gets back to her previous excited state.<br><br><<Dialogue "Elena" "Elena">>"You are telling me you can tailor //i vestiti//? And they looked that great?"<</Dialogue>><br><br><<if $shyConfident > 1>> <<Dialogue "player" "You">>"Yeah, I’m a pretty good seamstress, I won’t deny."<</Dialogue>><br><br><<else>><<Dialogue "player" "You">>"I had a very good teacher. Also, he knows what it is like being this big, I guess."<</Dialogue>><br><br><</if>><<Dialogue "Elena" "Elena">>"Can… can I see them up close?"<</Dialogue>><br><br><<Dialogue "player" "You">>"Well, I just changed into my workout clothes, you wouldn’t mind waiting until…"<</Dialogue>><br><br>You see Elena’s begging puppy eyes, the golden saucers just digging into your soul, and you just can’t bring yourself to make her wait. You agree, and she excitedly drags you back to the lockers.<br><br>You rescue the fruits of your labor, and hand them over for Elena to inspect. Her eyes widen again, as she carefully scrutinizes the seams. She holds it out, looking at the entire article, before briefly rubbing the fabric against her cheeks, closing her eyes and smiling with delight. You snort, suppressing a laugh, and she puts the clothes down, very embarrassed.<br><br><<Dialogue "Elena" "Elena">>"You are amazing, <<print $playerFirstName>>. You must have put so much effort, spend so much time and hard work… REAL hard work, not this //imbroglio//…"<</Dialogue>><br><br>She mutters the last part of the sentence very softly to herself, and you have no idea what that word means, but she seems slightly ashamed of something. Still, she apparently can’t let go of the clothes, mesmerized but your craftsmanship. You clear your throat, and she snaps out of it, handing it back to you.<br><br><span id="choice"><<link "Would you like me to make you some?">><<replace "#choice">><<Dialogue "player" "You">>"I’m glad you like them. I can only imagine you also have a hard time finding something to wear… would you like me to make you something?"<</Dialogue>><br><br>Her jaw drops, and her eyelids flutter furiously. It takes a few seconds for her to completely process your offer, it seems, as she remains speechless.<br><br><<Dialogue "Elena" "Elena">>"W-would you? I’m not imposing? I’d hate to cause you any trouble…"<</Dialogue>><br><br><<if $carefreeCarefull < -1>><<Dialogue "player" "You">>"Nah, not at all. If you have any references, I can try to make something that you want - I mean, obviously, I can only adjust to your figure so much, so please keep in mind that there are some limitations and it might not look exactly the same…"<</Dialogue>><br><br>As you ramble, you notice that Elena is frozen solid. It seems like you broke her. You snap your fingers a couple of times, and get no reaction. You poke her downright scary solid chest. Nada. You put both hands on her shoulders, trying to shake her awake. You are about to put your ear to her chest to see if her heart is still beating…<br><br>Suddenly, she lets out a cute excited squeal of glee. Without acknowledging you, she walks out of the room, hopping excitedly as you feel the building slightly shake. You walk after her, and poke her on the back.<br><br><<else>><<Dialogue "player" "You">>"Yeah, sure. I still have the patterns on my computer, I just need to take your measurements to make sure I can scale them to make one that fits you."<</Dialogue>><br><br><<Dialogue "Elena" "Elena">>"//G-grazie//."<</Dialogue>><br><br>She looks like she is about to tear up. You put a hand on her shoulder, and insist it really isn’t that big of a deal.<</if>><<Dialogue "player" "You">>"So… I guess we should schedule a date, you know, for you to come home so I can take your measurements. Maybe you want to hang out while I work, see the process, who knows, maybe I can teach you a thing or two."<</Dialogue>><br><br>Elena gets flushed as you propose that.<br><br><<Dialogue "Elena" "Elena">>"G-g-g-go… to your house?"<</Dialogue>><br><br><<Dialogue "player" "You">>"I mean, it’s just this rundown apartment, nothing too fancy… but you know, it’s where the magic happens."<</Dialogue>><br><br>Elena seems to get a bit nervous and uneasy with the proposal.<<Dialogue "player" "You">>"Hey, no worries. We’ll figure out when it’s best for you."<</Dialogue>><br><br>She gives you a curt nod, and silently goes back to her training. You still spot her randomly grinning during the rest of the night, though.<<link "Continue" $currentScene>><</link>><</replace>><</link>><<link "Thank you, your compliment means a lot.">><<replace "#choice">><<Dialogue "player" "You">>"I’ll be frank, I don’t really get a lot of compliments… I kinda suspect people can’t see past my size enough to look at my clothes, heh!"<</Dialogue>><br><br>Elena is noticeably affected by this comment, and she suddenly shows a hint of melancholy.<br><br><<Dialogue "Elena" "Elena">>"//Mi dispiace//… I’m sorry… I didn’t mean to… bring up anything painful…"<</Dialogue>><br><br><<if $shyConfident > 1>><<Dialogue "player" "You">>"Nah, no biggie. Actually, I kinda like turning heads wherever I go. Sometimes I even will flex on purpose just to see the reaction of some people…"<</Dialogue>><br><br>Elena seems to withdraw a bit at the comment. <<else>><<Dialogue "player" "You">>"I know what you mean. But no worries, I don’t really mind… well, except when I accidentally outgrow my clothes in public. Then I suppose it’s a bit more concerning."<</Dialogue>><br><br>She frowns when you say that, and you suspect she’s had to deal with this very scenario. <</if>>You change the subject, and entertain her a bit with some of the challenges of sewing something for that size, like scaling the patterns accordingly. She listens with rapt attention, gobbling up every word. Eventually, you two decide you put your training aside for too long, and return to the weight room, anxious to get a good workout.<<link "Continue" $currentScene>><</link>><</replace>><</link>></span>'
}, {
name: 'ElenaExpertCook',
locationTags: ['elena'],
conditions: [
() => State.variables.elenaOpenedUp,
() => State.variables.skills[1].level >= 4
],
repeatable: false,
retriggerable: false,
priority: 'response',
npc: ['elena'],
content: 'You are in the middle of a challenging set of chin-ups, raising and lowering yourself in a controlled fashion. You gaze at your form intently in the gym mirror, proud of the stable motion. So it is with some confusion that you observe a not-so-discreet Elena, eyes closed, sniffing the air as if following something… until she gently bumps her cute button nose on your back, bringing her hands to her face and getting extremely flustered at her embarrassing little show.<br><br><<Dialogue "Elena" "Elena">>"//S-scuzi//… I’m sorry…"<</Dialogue>><br><br>You bring yourself down methodically, enough to make a professional rock climber green with envy, and turn around to inspect Elena’s nose. She covers her face even more, including her eyes, and you can’t help but laugh out loud.<br><br><<Dialogue "player" "You">>"Hey, it’s okay. Did you hurt yourself?"<</Dialogue>><br><br><<Dialogue "Elena" "Elena">>"No… I’m sorry… I got distracted with this amazing aroma of bread… sorry, I get a bit carried away with the carbs…"<</Dialogue>><br><br><<Dialogue "player" "You">>"Oh, yeah… that’s the bread I baked earlier… didn’t realize the smell was still lingering on me…"<</Dialogue>><br><br><<Dialogue "Elena" "Elena">>"Y-y-you cook?"<</Dialogue>><br><br><<if $shyConfident > 2>><<Dialogue "player" "You">>"I mean, Gordon Ramsey called me the other day, he wanted his Master Chef title back…"<</Dialogue>><br><br>You say, jokingly, as you boast about your culinary prowess, as well as your extensive knowledge of nutrition.<br><br><<else>><<Dialogue "player" "You">>"I mean… I dabble, I guess…"<</Dialogue>><br><br><</if>>/* Added a missing if closing tag - Waffle */You comment that working out this much and maintaining a body this big certainly is a lot of work, and you were kind of forced to invest some time learning more about cooking and nutrition.<br><br>Elena looks at you intently, devouring each and every word about your kitchen accomplishments like a starved person would gobble up a large meal. She pays close attention as you discuss the details of your careful diet with the same attention as when you describe the appetizing nuances of the dishes you prepared.<br><br>You can see she is almost salivating as you continue, until you remember that you actually have a loaf of the bread in a tupperware in your gym bag. You ask if she would like to try it.<br><br><<Dialogue "Elena" "Elena">>"Can I?"<</Dialogue>><br><br>You two take a break, heading back to the locker, where you offer her the loaf. She holds the piece of bread in both rather large hands, giving the illusion of being a lot smaller than it actually is. Still, you are surprised at how delicate her hands look, as she holds the baked goods as if they were the most precious treasure in the entire world.<br><br>And then she gives the bread a tiny nibble. She chews it for a bit, closing her eyes and smiling as she rocks to-and-fro in the most adorable happy dance you’ve ever seen. You can’t help but smile with delight at Elena, who for a moment makes you forget you are in the presence of a literal giant, and not a little 8 year old girl.<br><br><<Dialogue "Elena" "Elena">>"//Stupendo//!"<</Dialogue>><br><br>She is so concentrated on the bread that you wonder if she even remembers that you are there. Yet, after a bit, she starts looking a little glum as she starts to reminisce.<br><br><<Dialogue "Elena" "Elena">>"We //italiani//, love to cook. And we love to eat. But… We can also get a little… intense…"<</Dialogue>><br><br>You cock your head to the side, slightly confused at where this is going.<br><br><<Dialogue "Elena" "Elena">>"In Italian cooking, there’s a right way and a wrong way to do things. And… a lot of Italians get quite cross if you don’t do things the right way. My uncles used to have very heated arguments about putting the vinegar or the oil on the salad first… and it got… very scary."<</Dialogue>><br><br>You feel like this is something pretty personal for her. You are left unsure of what to say.<br><br><<Dialogue "Elena" "Elena">>"I really wanted to cook, but I never had the courage to ask my //nonna// to teach me, she would always fill my plate over and over, and say that I was so //magra//… so thin, that I needed some meat in my bones."<</Dialogue>><br><br>You start to laugh out loud at the idea of that, and Elena seems to catch on the irony of it, and laughs along with you.<br><br><<Dialogue "Elena" "Elena">>"So, you know, I never got around to learning… and I kind of got afraid of it. I wish I had learned, though…"<</Dialogue>><br><br><span id="choice"><<link "Hey, why don’t we make dinner together someday?">><<replace "#choice">>Elena looks at you, stunned at your proposal.<br><br><<Dialogue "Elena" "Elena">>"Would you teach me? I-I don’t want to impose…"<</Dialogue>><br><br><<Dialogue "player" "You">>"Pffft… are you kidding? I enjoy cooking. Having someone else to help just makes it even more fun!"<</Dialogue>><br><br>Elena’s golden eyes brighten as she starts to daydream about cooking with you. <<if $carefreeCarefull < -1>>You have a brief mental image of her wearing nothing but a cute apron, biting your lip as you picture her straining the fabric to its very limits and leaving very little to the imagination. It’s her time to call your name and you catch yourself drooling a bit at the thought.<</if>><br><br><<Dialogue "player" "You">>"Yeah, let’s have a date some of these days. Just let me know what you would like to make, so I can get the ingredients and prepare ahead of time."<</Dialogue>><br><br>Elena starts jumping with joy, and the lockers rumble around you. You quickly intervene before any accidents occur, and escort her back to the weight room, where she continues to daydream about food for the rest of her workout.<<link "Continue" $currentScene>><</link>><</replace>><</link>><<link "I can show you some cooking channels I learned from.">><<replace "#choice">>You grab your phone and start showing her all the cooking channels you follow on different sites, full of recipes and explanations, most of them with great video tutorials that helped you get to your current culinary proficiency.<br><br>Elena looks intently at your phone, showing an uncommon degree of excitement. You send her a big batch of links, and she squeals with delight as her phone chimes with a dainty ringtone. She still seems to be a bit insecure at the ordeal, but you insist that she can call you at any time with questions - heck, maybe you can even do a videoconference to help her if she has any issues.<br><br>Elena thanks you profusely, and the two of you return to your interrupted workouts.<<link "Continue" $currentScene>><</link>><</replace>><</link>></span>'
}, {
name: 'ElenaExpertWorkout',
locationTags: ['elena'],
conditions: [
() => State.variables.elenaOpenedUp,
() => State.variables.skills[0].level >= 4
],
repeatable: false,
retriggerable: false,
priority: 'response',
npc: ['elena'],
content: 'You arrive at the gym, anxious to employ the knowledge you\'ve gained to its fullest advantage. <<if $fat >= 50 || $breasts >= 50 || $height >= 210 || $muscle >= 50>> Of course, no such entry would be devoid of you trying to squeeze your very being past the turnstiles, your proportions beyond what the designers envisioned for a person\'s size<</if>>. Once you get ready and head to the weights, you notice a familiar big, tanned girl working out over at the bench press. With a smirk, you head over to said girl and peek your head over her.<br><br><<Dialogue "player" "You">> "Hehe, hard at work or hardly working?"<</Dialogue>><br><<Dialogue "Elena" "Elena">> "EEEP!"<</Dialogue>><br>Your sudden appearance startles Elena, causing her to drop the bar into her chest. Thankfully though, she was just warming up, allowing her to quickly recover and lift the weight off her chest<<if $muscle >= 40>>, with some additional help from your part<</if>>. Said reaction also had you worried at first, but you were glad that Elena could recover at least<br><br><<Dialogue "player" "You">> "Crap, are you okay, Elena?"<</Dialogue>><br>The bodybuilder shyly nods in response, softly rubbing her chest after the bar slammed down on it<br><br><<Dialogue "Elena" "Elena">> "Y-you spooked me there, <<print $playerFirstName>>... that hurt a bit..."<</Dialogue>><br><<if $shyConfident > 1 || $submissiveDominant > 1>><br><br><<Dialogue "player" "You">> "Heh, come on, you\'re a big girl! I\'m sure the bar felt like nothing, am I right?"<</Dialogue>><br>Immediately, you see Elena begin to clam up, her shoulders closing in and clasping her hands close to her chest. Upon noticing this, you instantly try and backtrack your compliment<br><br><<Dialogue "player" "You">> "A-actually never mind, that was stupid of me to say. I\'m sorry for startling you, that was entirely on me."<</Dialogue>><br>Elena begins to loosen a bit due to your apology, though she\'s still quite a bit tense because of your boldness. You sometimes forget, but she really does require her space<br><br><<else>><br><br><<Dialogue "player" "You">> "Let me get you some water or something, you just sit here and rest for a bit, okay?"<</Dialogue>><br>As you come back from the rest area with a bottle of water, you notice how Elena is already back at it. However, you notice how her form was a bit lacking. Whilst you initially planned on bringing it to her attention, you remember what happened the last time you did that and decide to wait for Elena to finish her set. Doing so causes her to look up at you more calmly, less tense than during the initial incident<br><br><<Dialogue "player" "You">> "Hey, so? how\'s the workout going?"<</Dialogue>><br><<Dialogue "Elena" "Elena">> M-my shoulders are a bit sore, I don\'t know what happened..."<</Dialogue>><br><<Dialogue "player" "You">> "Actually, I think I might have an idea."<</Dialogue>><br>You hand her the water bottle, and Elena takes a few slow sips, looking at you curiously.<br><br><<Dialogue "player" "You">> "Your arms looked a bit too separated. How about you try and put them closer together?"<</Dialogue>><br><<Dialogue "Elena" "Elena">> "Closer? Uhm, yeah, I-I think I can do that?"<</Dialogue>><br>After Elena had her sip of water and got back to the bench, she follows your advice by putting her arms closer to the center of the bar <<if $carefreeCarefull > 1>>, whilst you keep your hands as reminders around her elbow, spotting her to avoid any further incidents<</if>>. After finishing her set, she stands up and looks at you with the softest of smiles.<br><br><<Dialogue "Elena" "Elena">> "T-that felt a bit better! I guess I had been doing this wrong all along?"<</Dialogue>><br><<Dialogue "player" "You">> "Yeah! I\'ve been reading up more and more on proper form for each exercise. Heh, guess it really paid off, huh?"<</Dialogue>><br>Elena, still smiling, gives you a quaint nod.<br><br><<Dialogue "Elena" "Elena">> "//Si//! thank you! I appreciate it."<</Dialogue>><br><</if>> After all of this, the two of you enjoy a nice session lifting weights together, making pleasant small talk and keeping things light.<br><br><<link "Continue" "gym">><</link>>'
}, {
name: 'ElenaExpertSewing',
locationTags: ['elena'],
conditions: [
() => State.variables.elenaOpenedUp,
() => State.variables.skills[6].level >= 4
],
repeatable: false,
retriggerable: false,
priority: 'response',
npc: ['elena'],
content: `As you reach up to adjust the pulldown machine, you hear a familiar ripping sound. This has become a somewhat normal occurrence since you started growing like this - and by now, you have come prepared for this.<br><br>You fish out the little box from your pocket, and proceed to remove the hoodie vest you are wearing over your sports bra. You quickly find the small tear by the arm hole. Armed with your trusty line and needle, you start fixing the fabric before it gives you any more trouble.<br><br>Elena watches from afar, intently. She slowly approaches, sort of pretending to look at different machines as she makes her way to the bench you are sitting on.<br><br><<Dialogue "player" "You">>"Hey, Elena. How is your training going?"<</Dialogue>><br><br><<Dialogue "Elena" "Elena">>"Eh… good, good."<</Dialogue>><br><br>She grabs a pair of comically large dumbbells as does some hammer curls that are clearly too easy for her (despite being more weight than any other member of this establishment could use for a chest press), clearly just looking for an excuse to watch as you deftly maneuver the needle across the vest.<br><br>Without taking your eyes from the project, you risk a question.<br><br><<Dialogue "player" "You">>"Do you need anything repaired? I have the thread and needle out, I might as well work on it now, if you want."<</Dialogue>><br><br><<Dialogue "Elena" "Elena">>"You… you know how to fix clothes?"<</Dialogue>><br><br>She asks with the curiosity of a six year old, still somehow seeming to think her feigned disinterest is fooling anyone.<br><br><<Dialogue "player" "You">>"Sure! I mean, in fact, this vest? It’s the complimentary one the gym was giving last week, I had it altered since… well, their biggest size wouldn’t even clear my shoulders - thankfully, it was sleeveless already!"<</Dialogue>><br><br>Elena gasps with surprise, really impressed by your careful and precise movements. She’s been looking at your fingers for a good three minutes now - in fact, when she tried to return the dumbbells, she just piled them precariously on top of other dumbbells, an accident waiting to happen.<br><br>You finish your little project, raising it up for inspection before giving a proud smile and putting it back on. You warn Elena about her dumbbell snafu, and she blushes before hurriedly putting the weights away properly.<br><br><<Dialogue "Elena" "Elena">>"Do you… I mean, would you mind… would it a problem… maybe, you think you could… fix and alter some clothes… for me?"<</Dialogue>><br><br><span id="choice"><<link "Of course, it really is no biggie!">><<replace "#choice">><<if $carefreeCarefull < -1>><<Dialogue "player" "You">>"Sure! It’s no biggie… I mean, I guess it IS big, just in the sense that…well… I mean, you are pretty b… I mean, you are a growing girl and… huh… can you just slap me before I embarrass myself anymore?"<</Dialogue>><br><br>Elena is briefly surprised, until she realizes you are just joking after your silly faux-pas. Then she giggles a bit, and apologizes.<<else>><<Dialogue "player" "You">>"Of course, shouldn’t be a problem… except… huh… how big are the alterations we are talking about?"<</Dialogue>><br><br>You size her up, starting to realize you haven’t asked what size the original clothes are.<br><br><<Dialogue "player" "You">>"I mean, I will need matching fabric, and depending on how much I need to add, this can get a bit pricey… but… uh… yeah, it would be my pleasure."<</Dialogue>><br><br><</if>>She seems quite pleased, however, at the thought or recovering some of the pieces she must have lost over time. In fact, you wonder how many clothes she has that she can wear outside of the gym, as even her trademark tan gym leotard seems to be one deep breath away from snapping like a slingshot.<br><br>Elena seems to have a lot of questions regarding the logistics of the process, but is still a smidge too shy to bother you about it right now. You agree to meet her later to get the clothes, but forget to ask for an opportunity to get her measurements so you can work on it.<br><br>As you think about it, you realize you might just need to get a bigger measuring tape…<<link "Continue" $currentScene>><</link>><</replace>><</link>><<link "That seems a bit intimidating…">><<replace "#choice">>You start to think about what her wardrobe looks like, then you imagine the amount of clothes she must have overgrown - worse yet, by just HOW MUCH she has overgrown them. The mere thought makes your stomach churn.<<Dialogue "player" "You">>"Look, Elena, I’m so sorry… it’s just that, you know, adjusting clothes gets exponentially more difficult as you scale the size and…"<</Dialogue>><br><br>Good one, <<print $playerFirstName>>. Way not to keep your mouth shut.<br><br><<Dialogue "player" "You">>"I mean, it’s not you, it’s me, I’m just a bit insecure about a project this big…"<</Dialogue>><br><br>SWEET JESUS, JUST SHUT UP ALREADY!<br><br><<Dialogue "player" "You">>"But, huh, I don’t even know if I have enough material, and I would feel totally bad if I got a piece you loved and made it worse, you know? I kind of have a high standard for myself, I’m sure you understand."<</Dialogue>><br><br><<Dialogue "Elena" "Elena">>"//Certo//… of course… don’t worry, I understand."<</Dialogue>><br><br>Elena looks downright dejected, and it breaks your heart. But she surely cannot hold it against you. You start to imagine what it must be like, having to find a wardrobe for her daily life - as even her trademark tan gym leotard already seems uncomfortably tight on her. Still, this seems like a potentially huge commitment, and you are too afraid to make any promises.<br><br>You go back to your training, but you can’t help but feel like you dropped the ball here.<<link "Continue" $currentScene>><</link>><</replace>><</link>></span>`
}, {
name: 'ElenaExpertBookKeeping',
locationTags: ['elena'],
conditions: [
() => State.variables.elenaOpenedUp,
() => State.variables.skills[2].level >= 4
],
repeatable: false,
retriggerable: false,
priority: 'response',
npc: ['elena'],
content: ''
}, {
name: 'ElenaAndplayerDeadlift',
locationTags: ['elena'],
conditions: [
() => State.variables.elenaOpenedUp,
() => State.variables.muscle >= 40,
() => State.variables.elenaOpinion >= 40
],
repeatable: false,
retriggerable: false,
priority: 'response',
npc: ['elena'],
content: 'You are putting the treadmill through its paces, running at a very high speed on an incline, your weight making the device shake and groan. But it’s so satisfying you don’t even notice you are probably exceeding its usual operation parameters…<br><br><<Dialogue \"Elena\" \"Elena\">>\"Hey, <<print $playerFirstName>>, I don’t want to interrupt or anything… but, when you are done… do you think maybe you’d like to partner with me for some deadlifts?\"<</Dialogue>><br><br>The way she looks at you, so shy and adorable, makes you want to just squish her enormous frame.<br><br><<if $shyConfident > 1>><<Dialogue \"player\" \"You\">>\"Are you kidding? I love doing deadlifts… and with someone who can actually give me a run for my money, on top of that? Count me in, babe!\"<</Dialogue>><br><br>Elena blushes, but you can still see a hint of a smile. She awkwardly points to the station where the barbells are stored, and makes her way there as you towel off sweat and get off the treadmill to join her.<br><br> <<elseif $shyConfident == 0>><<Dialogue \"player\" \"You\">>\"Actually, that’s an invitation that I can’t refuse. Can you just give me a sec to finish here and I’ll be right there with you, OK?\"<</Dialogue>><br><br>Elena nods, happily, and makes her way to the area where the barbells are, waiting for you.<br><br><<elseif $shyConfident < 0>><<Dialogue \"player\" \"You\">>\"Uh, wow… I’d… I’d be honored, Elena. It’s not every day that I get to train with someone of your level.\"<</Dialogue>><br><br><<Dialogue \"Elena\" \"Elena\">>\"I… I mean, I could say the same… I could use the company, sometimes I get a bit lonely.\"<</Dialogue>><br><br>You get off the treadmill and look at her. Elena really means it, even with all her determination and effort, there’s a certain… melancholy… in her late-night training. You feel something stir inside of you, wanting so bad to be that person that can share her passion.<br><br><<Dialogue \"player\" \"You\">>\"Lead the way!\"<</Dialogue>><br><br>She looks into your eyes, eagerly, and gives a very emphatic head nod, before she turns around and the two of you walk to the respectable selection of barbells in front of the mirror.<br><br><</if>>Elena carefully sets the weights on her barbell, then asks how much weight you usually train with.<br><br><<if $muscle > 80>>You tell her, and she stares surprisedly for a second. But she doesn’t say a thing - she just goes on to load your barbell with even more weight.<<elseif $muscle > 70>>You tell her that you two can probably share the same weight, and she is delighted by the coincidence.<<elseif $muscle > 65>>You tell her that you would not usually try that much… but that having such a great companion is certainly going to motivate you to work even harder and you’ll use her setup. She worries a bit about you getting hurt, but you explain that it’s not THAT much more… and that you are certain she’ll help you reach a new level today.<br><br> <<else>>You tell her, and she loads a lighter barbell for you. Inside, you are telling yourself that someday you’ll be as strong as her…<<Dialogue \"player\" \"You\">>\"You are my goal…\"<</Dialogue>><br><br>You whisper softly to yourself. Elena freezes while setting the fasteners to the barbell… did she hear that…?<br><br><</if>>Ready to start, Elena insists firmly that you go first.<br><br><<if $skills[0].level > 3>>You bend down and grab the weights with perfect form, while Elena stands behind to spot.<<Dialogue \"Elena\" \"Elena\">>\"Y-your form… //p-perfetta//!!!\"<</Dialogue>><br><br>You make sure to keep a slow pace, making the most out of the exercise. You could swear you even hear a small gasp coming from your partner as you finish your set with enviable form.<br><br><<else>>You grab the bar and start the set, and Elena steps in briefly, placing her hands on your body to make slight corrections to your form. You try not to get distracted, but her hands feel so good, so gentle…<br><br>Snap out of it, <<print $playerFirstName>>! You continue, making mental notes of Elena’s corrections, trying to be very aware of your body for future workouts.<br><br><<Dialogue \"Elena\" \"Elena\">>\"//Molto bene//. You are a quick learner.\"<</Dialogue>><br><br><</if>>After you finish, it’s Elena’s turn. You stand behind her as a spotter, and watch her gracefully bend down and pick up the weight. She moves with the grace of a dancer, but the determination of a lion. You watch her perfect form, her gaze intently fixed on the mirror doing the same. She keeps completing rep after rep as if all were the very first, like she doesn’t get tired. You don’t know what true beauty is, but it could very well be this. Despite her size, Elena somehow makes this motion feel almost… poetic. Like a machine that was engineered specifically for aesthetic beauty in its purposeful cycle.<br><br>After she is finished, you are still somewhat stunned.<br><br><<Dialogue \"Elena\" \"Elena\">>\"//Bambina//, you are up.\"<</Dialogue>><br><br>You shake your head awake, and return to the weight. <<if $shyConfident < 0>>You feel a little awkward now, Elena is a tough act to follow. You grab the weight, but now looking self-consciously at the mirror. You start your second set of deadlifts, but you’ve gotten into your head and can’t really concentrate.<br><br><<Dialogue \"Elena\" \"Elena\">>\"<<print $playerFirstName>>... are you alright?\"<</Dialogue>><br><br>Your form is wobbly and wonky. You try to fix one problem and create another two. Your movements are janky and erratic. And it’s not the load, it’s your head that’s getting in the way.<br><br>Elena comes in behind you gently, and grabs the weight with an underhand grip. Together, the two of you continue, and the feeling of her skin against yours somehow makes your worries melt away. You resume your previous, much improved, form… and all is good in the world. By the time you notice, Elena has already stepped back and you are finishing your set. She claps, congratulating you, and you blush deeply.<<elseif $shyConfident > 1>>You want to impress Elena, and end up adding even more weight to the bar. She questions your decision politely, but you insist. You grab the bar, but now your reps are not nearly as nice as last time, waving and shaking all the way. Elena just steps back, giving you more space, but clearly prepared to step in if something happens.<br><br>After you are done, you realize this was a bad idea, and just remove the excess weight, feeling slightly ashamed.<</if>>Done with your set, it’s Elena’s turn again. She goes for the bar, and it is no surprise that it’s a reprise of the last set: fluid and precise. You admire her every motion and every <<if $measurementSystem == \"metric\">>centimeter<<else>>inch<</if>> of her body… until you look at her through the mirror, and your eyes meet.<br><br>It feels like a spark flying between the two of you, literal electricity running through your spine. And the feeling seems to be mutual, as Elena gasps and her grip loosens, her form shaking from that simple gaze. Faster than your brain can process, you have stepped in behind her, in a hug, grabbing the weight as your bodies meet.<br><br>Elena feels very warm to touch, but also surprisingly soft for someone so muscular. And instead of jerking back at the touch, she just closes her eyes, and resumes the exercise, humming contently.<br><br>You remain there, holding the weight - and her indirectly - as the set comes to completion. You take a silent step back, and she turns around, her usual shy expression slightly melted into… a very warm (but still shy) smile.<<Dialogue \"Elena\" \"Elena\">>\"//Grazie//, <<print $playerFirstName>>. Thank you… for the spot.\"<</Dialogue>><br><br><<Dialogue \"player\" \"You\">>\"Ah, it was nothing…\"<</Dialogue>><br><br>You lie.<br><br>Each one of you continue for another set, as if nothing had happened. But it did. And you can’t shake the feeling that Elena might just be opening up to you a bit.'
}, {
name: 'playerBreaksMachineWithElena',
locationTags: ['elena'],
conditions: [
() => State.variables.elenaOpenedUp,
() => State.variables.muscle >= 60,
() => State.variables.elenaOpinion >= 40,
],
repeatable: false,
retriggerable: false,
priority: 'response',
npc: ['elena'],
content: 'You feel like today is good day to break some records. You walk up to the thigh abductor and push the pin into the last slot, as you usually do. But today, you are just going to crank out as many reps as you can, <<<<if $submissiveDominant > 1>>to hell with anyone in line to use the machine!<<else>>and if anyone wants a turn, you’ll politely tell to wait for a bit, that this could be a while…<</if>><br><br>You sit down, and just start cranking reps. You lose count somewhere along the mid-thirties, as you start just staring at the defined contours of your legs. You feel the buildup of lactic acid, that burning sensation that you strive for every time you hit the weights, but you are just going to endure.<br><br>It starts getting harder and harder to continue, but you don’t care. You just keep marching on, gritting your teeth and squeezing those handles with your fingers (which, unbeknownst to you, are now slightly bent out of shape). But you just… keep… going…<br><br>You swear your legs are on fire. The movement has become much slower and labored. You close your eyes, and promise yourself you are going to get at least another 5 reps in…<br><br>As you get halfway through your goal, you just have to push on with sheer determination… but since your eyes are closed, you kind of lose track of the range of the machine…<br><br>You snap your eyes open when you hear the distinct sound of metal creaking… you just bent the supports out of shape, which makes you relax and drop the whole stack down with a loud clang that shakes the whole gym into attention.<br><br>Before you know it, Elena is kneeling down by your side, examining your legs for injuries. Not long after, every employee of the gym is also there, firstly to make sure no one is hurt… then just plain puzzled by what they encounter.<br><br><<Dialogue \"Elena\" \"Elena\">>\"<<print $playerFirstName>>, //sei ferita//? Are you hurt?\"<</Dialogue>><br><br>Quite uncommonly for her, she has her hands all over your legs, inspecting them like her own life depended on it.<br><br><<Dialogue \"player\" \"You\">>\"Hey, hey, it’s okay, I’m fine.\"<</Dialogue>><br><br>You get up, and Elena is still very flustered.<<Dialogue \"Elena\" \"Elena\">>\"What happened?\"<</Dialogue>><br><br>She is pretty much ignoring the damage you caused to the machine, and hovering all over you, as if there is some bruise, cut or wound waiting for be found.<br><br><<if $shyConfident > 2>><<Dialogue \"player\" \"You\">>\"Are you kidding, Elena? These muscles are pure steel, it would take A LOT MORE to hurt me…\"<</Dialogue>><br><br>You flex your quads to further drive the point, and Elena frowns.<br><br><<Dialogue \"Elena\" \"Elena\">>\"You need to be more careful, //bambina//! Just because you are so big and strong doesn’t mean you get to wave that around!\"<</Dialogue>><br><br>You seem to have hit a nerve. You apologize, but she’s still somewhat uneasy about the whole thing.<br><br><<elseif $shyConfident > 0>><<Dialogue \"player\" \"You\">>\"Whoa… I got in the zone, and when I realized what happened, it was too late… but I’m okay, don’t worry, Elena.\"<</Dialogue>><br><br>Elena still seems to doubt you a bit, but at least she calmed down.<br><br><<else>><<Dialogue \"player\" \"You\">>\"I… I guess I don’t know my own strength… I was just… .\"<</Dialogue>><br><br>Your heart is still racing, and you blush with the realization of the mess you caused - not only the damage to the equipment, but how concerned everyone is. You feel legitimately sorry.<br><br><<Dialogue \"Elena\" \"Elena\">>\"Shhh! It’s okay, //bambina//.\"<</Dialogue>><br><br>Elena, in a very unusual display of affection, hugs you.<<Dialogue \"Elena\" \"Elena\">>\"It’s going to be fine. Don’t worry.\"<</Dialogue>><br><br><</if>>While you two talk to each other, there’s a few employees of the gym completely flabbergasted by the mess of bent equipment. They are inspecting every bit of the machine, as if there is some sort of logical explanation to what happened. I mean, other than an incredibly strong girl…'
},{
name: 'ElenaMeasureArms',
locationTags: ['elena'],
conditions: [
/* TODO how to get upper arm size in real time? - Waffle BOB: real time is not needed; the benchmark just needs to be met*/
() => State.variables.upperArmSize >= 75,
() => State.variables.elenaOpenedUp
],
repeatable: false,
retriggerable: false,
priority: 'response',
npc: ['elena'],
content: `Sweating pouring from your face, you finish a truly intense set of concentration curls. You feel an insane pump, and you find yourself flexing to the mirror - surprising even yourself with the massive mountain that erupts from your arm. Elena is on the other bench, completely lost on her own set of the same exercise. You watch, mesmerized, as her arm contracts and relaxes to insane proportions.<br><br> <<if $shyConfident > 1>>Knowing your are both beyond normal standards, you decide to have a look how you two compare. You borrow the measuring tape from the gym, and walk up to Elena as she finishes her set.<br><br> <<Dialogue "player" "You">>"Those are some respectful pipes, girl!"<</Dialogue>><br><br> She looks at you with an expression of complete confusion.<br><br> <<Dialogue "Elena" "Elena">>"i tubi?!?"<</Dialogue>><br><br> You flex your arms as an illustration.<br><br> <<Dialogue "Elena" "Elena">>"Ah, i bicipiti!!!"<</Dialogue>><br><br> She is proud of figuring out the figure of speech, and you can’t resist the cuteness. She gives her own arm a tentative flex, and her own mounds reveal a perfectly peaked display of vascularity. Without warning, you drape the tape over it, and she reels back for a second.<br><br> <<Dialogue "player" "You">>"Please, Elena, you NEED to indulge my curiosity, or I won’t be able to sleep tonight!"<</Dialogue>><br><br> <<Dialogue "Elena" "Elena">>"Uh, bene…"<</Dialogue>><br><br> She squeals very softly. <<else>>Seeing such monstrous muscles sends your curiosity into hyperdrive, and you find yourself borrowing the measuring tape from the gym. You walk up to Elena:<br><br> <<Dialogue "player" "You">>"Hey, Elena… have you ever measured your arms?"<</Dialogue>><br><br> She looks at you with an expression of complete confusion.<br><br> <<Dialogue "Elena" "Elena">>"I… uh… I don’t usually take measurements. I usually gauge my progress with il peso… the weights."<</Dialogue>><br><br> <<Dialogue "player" "You">>"Well, would you indulge my curiosity, PLEEEEEASE?!?"<</Dialogue>><br><br> Elena cannot say no to that. <</if>> Elena flexes her arm, and you can tell she’s putting all her effort. She looks at her own arm, seeming to be almost surprised at how much mass she has put in it. You wrap the tape, and read the result: <<numeralConversion 75>>. She seems downright shocked now. You congratulate her, and the hand her the tape:<br><br> <<Dialogue "player" "You">>"OK, now you do me!"<</Dialogue>><br><br> Again, Elena is momentarily confused with your expression, but complies immediately as you flex your own pythons. You feign a face of bigger effort than you are actually exerting for effect, and Elena is, again, very surprised at the enormous muscles on display.<br><br> She looks at the tape, but she’s covering the result, so you can’t see…<br><br> <<Dialogue "player" "You">>"So?!? Are you gonna keep me in suspense here?"<</Dialogue>><br><br> Elena just stares at the tape. You have to poke her to elicit a response.<br><br> <<Dialogue "Elena" "Elena">>"... <<getMeasurement "upperArm" true>>..."<</Dialogue>><br><br> <<if $shyConfident > 1>>You let out a loud WHOOOP! As you go in a full double biceps pose, feeling completely invincible. Elena just stares at you in disbelief.<br><br> <<Dialogue "Elena" "Elena">>"Voi… mi ha superato… you have surpassed me…"<</Dialogue>><br><br> You stop your monkeying around, concerned with her. Is she disappointed you have grown bigger than her?<br><br> <<Dialogue "player" "You">>"Hey, Elena, I’m sorry, I didn’t mean to make you feel bad… this was not to diminish you… it’s just that I feel so excited with my growth… I couldn’t hold it in, you know?"<</Dialogue>><br><br> Elena looks at you with a warm, melancholy smile.<br><br> <<Dialogue "Elena" "Elena">>"No, no! It’s not that! I am so orgogliosa - proud - of you. It’s just… your reaction, your joy… it is so genuine… it’s almost contagious. But… it does not come naturalmente for me.<</Dialogue>><br><br> <<Dialogue "player" "You">>"Wait, you are proud of me?"<</Dialogue>><br><br> It’s almost hard to believe, but Elena looks at you, her eyes moistening with joyful tears.<br><br> <<Dialogue "Elena" "Elena">>"Your passione… it moves me. No, it’s not only that… I’m a bit invidiosa… envious, too!<</Dialogue>><br><br> She looks deeply into your eyes, and runs the back of her hand against your cheek.<br><br> <<Dialogue "Elena" "Elena">>"Grazie… mi fiore…<</Dialogue>><br><br> You are left speechless as your training companion leaves. <<else>> You are just as surprised as Elena. You know how big SHE is, having a general sense of your own size is a different thing, however. And now that you have a comparison… and you know you are EVEN BIGGER than this giant of a person… it takes a second to sink in.<br><br> But then you look back at Elena… the shock on her face, you can’t quite explain it. Does she resent you for surpassing her? Is she bothered by your size? You take her hand, looking at it instead of her eyes.<br><br> <<Dialogue "player" "You">>"I didn’t mean to make you uncomfortable… I’m sorry."<</Dialogue>><br><br> Elena pulls her hand and does her trademark hand-shaking-while-looking-like-a-deer-under-headlights classic move.<br><br> <<Dialogue "Elena" "Elena">>"No, no! I’m very happy for you. It’s just so strano… so weird… that I’m not the biggest one around anymore. It took me a secondo to process that, is all.<</Dialogue>><br><br> <<Dialogue "player" "You">>"Oh, you and me both, Elena!"<</Dialogue>><br><br> You two share a laugh, and Elena offers to let you measure other body parts, if you want.<br><br> <<Dialogue "Elena" "Elena">>"Nah, I can do that at home. If I were to interact with your muscles, I would rather…<</Dialogue>><br><br> You interrupt yourself before you say anything else, and you two blush, then share another laugh before returning to your respective workouts. <</if>>`
},{
name: 'ElenaChess',
locationTags: ['park'],
conditions: [
() => State.variables.elenaOpenedUp,
() => State.variables.elenaOpinion >= 20,
() => State.variables.gameDate.getHours() >= 8 && State.variables.gameDate.getHours() <= 16
],
repeatable: false,
retriggerable: false,
priority: 'response',
npc: ['elena'],
content: `One thing you love about the park is just how big and full of nooks and crannies it is. You love exploring and finding new areas - and today, you just realized that it has a whole garden full of dedicated chess tables.<br><br> Even more surprising… you see a very familiar face sitting by her lonesome in one of them, inspecting the board as if it held some sort of magical secret.<br><br> <<Dialogue "player" "You">>"Sup, Elena?"<</Dialogue>><br><br> The mini-giantess jumps, startled, then looks at you and relaxes again - thankfully, her chair seems to be pretty resilient. <<Dialogue "Elena" "Elena">>"Oh, <<print $playerFirstName>>. Didn’t expect to see you here…"<</Dialogue>><br><br> Elena just radiates this serene beauty, and seeing her outside of the gym just reinforces that. She looks downright adorable in her summer dress, and without the focus on her training, you might mistake her for some kind of muscle dryad.<br><br> <<Dialogue "player" "You">>"So… you’re into chess?"<</Dialogue>><br><br> <<Dialogue "Elena" "Elena">>"I don’t play much scacchi… I don’t have that many amici… friends… and not many people come here…"<</Dialogue>><br><br> You can almost cut her melancholy tone with a knife. It breaks your heart. So you sit down on the white side, and move a pawn. Elena looks at you very surprised, then smiles broadly as she makes her own move.<br><br> Elena’s game is impressive, if not downright scary. Going against your expectations, she takes almost no time before making her moves, showing zero sign of hesitation. But she has an incredible awareness of the board and seems to be able to look more moves ahead than you could ever dream of. But you sense no competitive urge, no sense of worry, just a background hum of happiness to share this moment with someone.<br><br> In a matter of minutes, she has your queen under checkmate. You tip the piece, and she falls back to her shy expression, almost as if she suspects she has slighted you somehow.<br><br> <<Dialogue "player" "You">>"That was a damn impressive victory, Elena… are you SURE you don’t play much?"<</Dialogue>><br><br> She shakes her hands in front of her, blushing<br><br> <<Dialogue "Elena" "Elena">>"Per niente… not really… I just… enjoy that feeling of all the pieces, working together for something, giving meaning to il tavolato… the board."<</Dialogue>><br><br> You are in utter awe of this philosophical side of Elena. You reset the board, letting her start this time.<br><br> <<Dialogue "player" "You">>"I hope you weren’t going easy on me, because I’m going to bring my A game this time!"<</Dialogue>><br><br> Again, Elena dominates the board. But as you look at her contemplative streak, you decide to play with more subterfuge, giving yourself an almost deceitful edge to your style. It seems to work, as Elena appears incapable of perceiving malice. Even then, it’s just barely enough for you to fence in her queen.<br><br> <<Dialogue "Elena" "Elena">>"See, you are pretty good too!"<</Dialogue>><br><br> You scoff at her comment.<br><br> <<Dialogue "player" "You">>"Are you kidding me? I basically had to trick you to even stand this tiny chance - and I bet this would not work twice!"<</Dialogue>><br><br> Elena blushes once again. She looks wistfully at you.<br><br> <<Dialogue "Elena" "Elena">>"Would you mind… one more partita?"<</Dialogue>><br><br> With a happy smile, you reset the board.<br><br> This time, however, your heart is not really in the game. You can’t help but just watch the sun bathing Elena’s olive skin, her hair glistening as it waves in the wind, her eyes glowing with such innocence… <<Dialogue "Elena" "Elena">>"<<print $playerFirstName>>? Your turn.<</Dialogue>><br><br> You snap out of your trance, and find the board looking almost alien to you. You stammer as your hand hovers a bunch of pieces, and you find yourself making a very stupid move. But as Elena puts her hand to make her move, you confusedly try to grab the piece you just moved for a redo and both of your hands touch.<br><br> <<if $shyConfident < 0>> With a gasp, both of you take your hands back. You apologize, and let her make her original move - which clinches another checkmate for her.<br><br> <<Dialogue "player" "You">>"That… was beautiful…"<</Dialogue>><br><br> <<Dialogue "Elena" "Elena">>"Oh, no… that was just fortuna… luck.<</Dialogue>><br><br> <<Dialogue "player" "You">>"I didn’t mean the play…"<</Dialogue>><br><br> You say, as you gaze admiringly into her eyes. And then you realize what you just did, and cover your mouth. Elena, however, doesn’t react shyly this time. She puts her hand on yours, and says with incredible sweetness:<br><br> <<Dialogue "Elena" "Elena">>"Grazie…."<</Dialogue>><br><br> <<else>> Elena starts to pull her hand back, but you hold it in yours. Yes, her hand is calloused from handling obscene amounts of weight on a daily basis… and yet… it feels so soft. But you can also feel she is shaking a bit, and as you see the anxiety in her eyes, you let go. <</if>> Looking at her phone, Elena realizes what time it is, and gets up in a hurry.<br><br> <<Dialogue "Elena" "Elena">>"È tardi… I should go…"<</Dialogue>><br><br> She grabs her belongings and starts walking off, but she turns to you one last time.<br><br> <<Dialogue "Elena" "Elena">>"We should do this again. If… you don’t mind, certo?<</Dialogue>><br><br> <<Dialogue "player" "You">>"It would be my honor…"<</Dialogue>><br><br> You say, as you watch her enormous silhouette walk away through the flower garden with dainty steps, holding her purse on her elbow with the forearm pointing up. How can someone so big look so graceful, you wonder.`
},{
name: 'ElenaHiddenPhoto',
locationTags: ['elena'],
conditions: [
() => State.variables.elenaOpenedUp,
() => State.variables.elenaOpinion >= 25
],
repeatable: false,
retriggerable: false,
priority: 'response',
npc: ['elena'],
content: `You watch your form as you perform some truly challenging hero curls, admiring your arms, while you notice a couple of dudes hunched over their phones, snort and laughing at the corner. You’ve actually been quite amused by some gym memes you saw at your apartment earlier, and figure you might join in on the fun. You carefully release the handles, one at a time, and go check on the joke that is making the two people so amused.<br><br> <<Dialogue "randomPerson" "Random guy 1">>"Ohhh, make it one of those boomerang videos, and add a caption like… I know! “I drink steroids for breakfast!” That’s going to get a ton of likes."<</Dialogue>><br><br> <<Dialogue "randomPerson" "Random guy 2">>"It might just beat the one where we said we didn’t know they allowed elephants at the gym!"<</Dialogue>><br><br> Confused, you discreetly approach from behind, trying to get a look at what they have on their screen. You find out that they are posting Picstagram stories of Elena, which they apparently have been filming without her knowledge.<br><br> <<Dialogue "randomPerson" "Random guy 1">>"What if we make one teasing her for confusing the term muscle pump and make a joke about her using an air pump instead?"<</Dialogue>><br><br> <<Dialogue "randomPerson" "Random guy 2">>"Hmmm… too convoluted, maybe we just compare her to a balloon or something? I’m sure we can make a video of her taking a deep breath while benching, she wouldn’t even notice…"<</Dialogue>><br><br> <<Dialogue "randomPerson" "Random guy 1">>"OHHH! I think you are on to something - she looks extra-freaky when she does that. We might just break the 10k likes from last time!"<</Dialogue>><br><br> Your blood starts boiling. Elena is already shy and makes a point to only come to the gym late at night because she doesn’t want others seeing her… and here these two are making viral memes making fun of her? It’s a good thing Elena doesn’t really hang out on social media that much - if she knew about this, she might stop getting out of her house entirely!<br><br> The thing is, the more the two talk and laugh, the harder your fists tighten and your jaw clenches. You find yourself on the verge of cracking your teeth, so much you are gritting them. Your breath is heavy, and you frankly wouldn’t be surprised if you turned green and bulked out like that comic character - you are THAT angry.<br><br> You take a deep breath, because you are seriously a hair away from seeing red and just bulldozing everything in front of you. You make a mental note of how strong you are, and that comes with certain responsibilities - it could be pretty disastrous if you REALLY lost your temper. But you care deeply about Elena, and you realize you’d go the distance to protect her from this cruel world… still… deep sigh, <<print $playerFirstName>>.<br><br> <span id="choice"> <<link "This will not stand, I need to teach them a serious lesson.">> <<replace "#choice">> You tap one of the guys on the shoulder. Without looking at you, he waves off, saying they are busy now. You crack your knuckles, which makes quite a loud noise, and finally catches their attention properly. <<if $height >= 185>>Your shadow completely engulfs them, reinforcing just how much bigger you are. <</if>>As they turn, they freeze for a second as they fully realize how dwarfed they are by you, despite both being serious gym-goers.<br><br> <<Dialogue "player" "You">>"Excuse me, I couldn’t help but overhear you talking about my friend."<</Dialogue>><br><br> The two stammer, locking the phone and hiding it behind their backs. <<Dialogue "randomPerson" "Random guy 1">>"Uh, us? No, we… we were just… looking at some funny memes."<</Dialogue>><br><br> You crack your knuckles a second time for impact. They both gulp.<br><br> <<if $muscle >= 85>> Without taking your eyes off them, you reach to the side and grab a barbell.<br><br> <<Dialogue "player" "You">>"Oh, is that so? Because I value privacy AND my friends. I might get REALLY upset if someone were to film my friends without permission - let alone make fun of them."<</Dialogue>><br><br> You start putting pressure on the barbell. Your traps, arms, chest and lats flare, making you look even bigger - like a cobra preparing to strike.<br><br> <<Dialogue "player" "You">>"It makes me angry. And when I get angry… I sometimes lose control."<</Dialogue>><br><br> The metal rod creaks in your hands, as it starts slowly bending. The two take a half-step back.<br><br> <<Dialogue "player" "You">>"You see… my friend doesn’t always take the initiative to defend herself, so I need to be EXTRA vigilant of her. Which is why I make sure I’m strong enough to take care of her. In fact, I make sure I’m STRONGER than her."<</Dialogue>><br><br> You fully twist the barbell in half, and let a strong gust of air from your nose, like a boar ready to strike. That makes the two guys jump. You toss the bent barbell to them, and the two fumble and almost let the heavy twisted bar fall.<br><br> <<Dialogue "player" "You">>"So you better HOPE I don’t find a single video or picture of her online when I get home later tonight… or I might get REALLY angry. Is that clear?"<</Dialogue>><br><br> <<elseif $submissiveDominant > 1>> You look at them, and reach for their phone. They try to stop you from getting it, but they don’t have much of a choice against your incredible might.<br><br> <<Dialogue "player" "You">>"Really? Then I want to see it too. Why don’t you unlock it and share, then?"<</Dialogue>><br><br> They look at each other, quickly panicking. They stammer, trying to come up with excuses, but failing to even articulate a proper sentence.<br><br> <<Dialogue "player" "You">>"Come ON! I really want to see the funny memes! If I’m not amused… I may have to find some fun in trying to figure out if I can crack a smartphone with just one hand!"<</Dialogue>><br><br> You start tensing your hand, and the poor device seems to slightly bend before you even put any real effort. The owner of the device just unlocks it before you do any real damage, and you can see the video of Elena with a funny caption on Picstagram.<br><br> <<Dialogue "player" "You">>"Oh, so THAT is what you find funny? Big, muscular girls are a joke to you, is that it? I don’t think I get it, could you explain, please?"<</Dialogue>><br><br> Their faces get drained of all blood as they experience terror from your mass and dominance. You step closer, enough for them to feel the heat radiating from your sweaty body.<br><br> <<Dialogue "player" "You">>"What? Aren’t buff girls funny? Why aren’t you laughing, huh?"<</Dialogue>><br><br> You return the phone to the guy.<br><br> <<Dialogue "player" "You">>"I am giving you 10 seconds to delete that account, any posts of my friend you have on social media… and God help you if I find another image of her online. Do I make myself CLEAR?"<</Dialogue>><br><br> He almost drops the phone as he rushes back to his Picstagram control panel, as his friend apologizes profusely. You tell them to NEVER come back to the gym at night, or there will be consequences. <<elseif $shyConfident > 1>> You grab your own phone, and switch the camera to selfie mode. You start recording a Picstagram account of yourself flexing, showing the two guys in the background. Loudly, you start narrating during your video:<br><br> <<Dialogue "player" "You">>"Still laughing at people who say I’m strong for a GIRL… I can’t believe there are dorks like those guys who think that a gym is a place to put people down on social media. Can you imagine those WIMPS judging people?"<</Dialogue>><br><br> You focus on them over your enormous arms, making them look pretty pitiful - even if they are in decent shape. You give one of them a wedgie, still recording, lifting the guy by the trunk clear off the ground. You show them the video you just made.<br><br> <<Dialogue "player" "You">>"Huh, what do you know, making fun of people on social media IS funny. Maybe I should post this and tag you two… maybe you guys want to armwrestle me and post that two? Wouldn’t that be a hoot?"<</Dialogue>><br><br> They stammer, trying to come up with an answer, and you can see the terror in their faces as they realize the humiliation they could endure if this went live.<br><br> <<Dialogue "player" "You">>"OOOOOOOR… we could agree that shaming people on social media is dumb, and you delete your account right now and pray I never find ANY pictures or videos of my friend being made fun of, how about that?"<</Dialogue>><br><br> <<else>> <<Dialogue "player" "You">>"Look, I’m not one for violence, but I am really protective of my friend. You don’t want me reporting your account for harassment, right? Can we all just agree that it’s dumb? Now delete that before I show what my anti-bullying stance is in detail, how about that?"<</Dialogue>><br><br> <</if>> The two nod, and run away trying to quickly delete their Picstagram account. You hope that Elena never gets to see that, knowing how much it would hurt her. How can people be so mean? While part of you wishes that Elena would stand up for herself, you can’t help but appreciate her innocence and peaceful nature even more. <<link "Continue" $currentScene>><</link>> <</replace>> <</link>> <<PersonalityCheck $shyConfident >= 2 "Maybe I just need to explain that Elena is shy and they should refrain from doing that, they’ll understand.">> <<replace "#choice">> <<Dialogue "player" "You">>"Hey, you two. Yeah, you."<</Dialogue>><br><br> They look at you, confused.<br><br> <<Dialogue "randomPerson" "Random guy 2">>"GEEEEEEEZ LOUISE! Are they just giving steroids as a sign-in bonus for girls at this gym?"<</Dialogue>><br><br> <<Dialogue "player" "You">>"Haha. Did anyone ever tell you two are really funny? No? Why am I not surprised?"<</Dialogue>><br><br> The two snort with more laughs, and you roll your eyes.<br><br> <<Dialogue "player" "You">>"Alright, fun time is over now. I’m going to give you the benefit of the doubt and ASSUME you two aren’t aware, but Elena is actually very shy and sensitive, and it would really hurt her if she found out people are making fun of her size online."<</Dialogue>><br><br> <<Dialogue "randomPerson" "Random guy 1">>"Well, duh, why wouldn’t they? The girl is a freak - and apparently, so are her friends, damn!"<</Dialogue>><br><br> You wince, and give a very angry smile. Control yourself, <<print $playerFirstName>>, it’s just some teen guys who don’t know better, let’s make them grow as people, right?<br><br> <<Dialogue "player" "You">>"Look, how would you feel if someone made fun of you wearing a sleeveless top thinking your arms are somehow worth showing off?"<</Dialogue>><br><br> <<Dialogue "randomPerson" "Random guy 1">>"DAAAAAYUMMMM! You just got SERVED, dude!"<</Dialogue>><br><br> <<Dialogue "player" "You">>"And YOU are one to talk? I’ve heard about skipping leg day, but the chicken coop called, they wanted their drumsticks back."<</Dialogue>><br><br> They both get silent and awkward, as you give them both a playful but strong tap on the back.<br><br> <<Dialogue "player" "You">>"See, now imagine me posting our little conversation online to all your friends, and random people on the Internet. Not so much fun, right? And Elena happens to be very shy on top of that."<</Dialogue>><br><br> They seem divided about the whole thing - they clearly know the clout they got from their viral videos, but they apparently had never been on the receiving end of the bullying.<br><br> <<Dialogue "player" "You">>"She means quite a lot to me, so I will insist that you delete anything you already posted about her, and refrain from taking any more footage of her without permission. How about that?"<</Dialogue>><br><br> You can see the pair isn’t sure how to proceed. Your point clearly came across, but they are very used to just shaming others online for clout. So… you figure you might just have to get down to their level after how.<br><br> <<Dialogue "player" "You">>"Tell you what - why don’t we armwrestle for it? If you win - you can keep the videos live. BUT if I win, you have to take her stuff down and post the video of me beating you… in fact, I’m willing to take on both of you at once!"<</Dialogue>><br><br> They are intrigued by the proposal, but quickly realize there’s a very real chance that you could probably take the two of them down… and how much fun they would be made of online.<br><br> <<Dialogue "randomPerson" "Random guy 1">>"I GUESS we could take it all down. I suppose we were mean doing it in the first place…"<</Dialogue>><br><br> <<Dialogue "player" "You">>"THAT’S what I wanted to hear!"<</Dialogue>><br><br> You tap both of them on the head, and watch as they remove the videos. You hope they learned their lesson, and will be more mindful of other people’s feelings in the future when trying to go viral… or… well, you might just have to feature them on your own Picstagram in the future after all! <<link "Continue" $currentScene>><</link>> <</replace>> <<Failed>> <<replace "#choice">> <<Dialogue "player" "You">>"Uh… excuse me, but I think you guys are making fun of my friend on social media?"<</Dialogue>><br><br> They turn to see who is talking to them, and are quite surprised to see another mammoth girl.<br><br> <<Dialogue "randomPerson" "Random guy 2">>"GEEEEEEEZ LOUISE! Are they just giving steroids as a sign-in bonus for girls at this gym?"<</Dialogue>><br><br> You blush a bit, sighing in frustration but decide to stand your ground.<br><br> <<Dialogue "player" "You">>"Look, I just don’t think that’s nice, alright? She’s pretty shy and she would be devastated if she found out people are making fun of her online."<</Dialogue>><br><br> <<Dialogue "randomPerson" "Random guy 1">>"Well, who is she to complain about devastation? I bet she leaves a trail of destruction wherever she goes!"<</Dialogue>><br><br> You feel your anger welling more and more. You close your eyes and take another deep breath.<br><br> <<Dialogue "player" "You">>"I’m just asking nicely, please, don’t make fun of her, she already has a complex about her body, it would REALLY hurt her, OK?"<</Dialogue>><br><br> <<Dialogue "randomPerson" "Random guy 2">>"Why shouldn’t she? A freak like that really should have some issues - and I’m not just talking about breaking chairs wherever she goes!"<</Dialogue>><br><br> You bite your tongue as you wince, taking yet another deep breath. Your heart is now racing. Your knuckles are turning white from squeezing them so much.<br><br> <<Dialogue "player" "You">>"All I am saying is, can you be mindful of her feelings? I’m sure there are other cool viral things you can post for social clout."<</Dialogue>><br><br> <<Dialogue "randomPerson" "Random guy 1">>"I dunno, man! Not even sure she HAS feelings. I’m pretty sure a train could hit her and she wouldn’t even notice…"<</Dialogue>><br><br> Without thinking, your anger takes over and you punch the concrete wall to your side, cracking it. The impact also makes one of the weight racks tumbles. The two guys experience pure terror at your display of rage and strength, and immediately go speechless.<br><br> <<Dialogue "player" "You">>"I really am asking nicely. Could you just DELETE those posts RIGHT NOW?"<</Dialogue>><br><br> It takes a few seconds for them to unfreeze from the shock, but they go and delete the whole account right before your eyes.<br><br> <<Dialogue "player" "You">>"And, again, nicely, please refrain from ever filming her without permission? In fact, why don’t you make that a general rule, how about that?"<</Dialogue>><br><br> They nod in agreement, and walk back without facing away from you. You take a deep breath of relief, your introverted side gasping for air after this weird incident. You check your hand, which is bruised and slightly cut from the impact. Still, you look at the cracked concrete, kind of amazed at your own strength. But even that fades away as you think of poor Elena, unaware of this horribly bullying. You pray she never finds out about these videos, as you know it would probably be devastating. <<link "Continue" $currentScene>><</link>> <</replace>> <</PersonalityCheck>> </span>`
})>>/* ElenaShy */
<<set setup.events.push({
name: 'ElenaShyIntro',
locationTags: ['elena'],
conditions: [
/* Left here to make sure its clear this is supposed to be able to begin from the beginning of the game - bob */
() => true
],
repeatable: false,
retriggerable: false,
priority: 'immediate',
npc: ['elena'],
content: '<<set $elenaOpinion += 1>>As you walk through the gym, you spot this absolutely MASSIVE girl doing bicep curls in front of the mirror. Glistening sweat is pouring off her tanned skin, while her brown bangs curtain her face a bit, resting just above her huge pecs. With absolute focus, she keeps repeating the motion, seemingly unaware of anything around her. Yet, despite her size, everything about her gives you this dainty vibe: the sounds she makes, being secluded in a corner, and maintaining this slouched posture, almost as if she was willingly trying to miniaturize herself. It is all at odds with her enormous frame. Carefully approaching her, you grab some weights and started lifting by her side, hoping for a chance to engage in some small talk.<br><br><span id="choice"><<link " Damn you\'re gigantic!">><<replace "#choice">><br><br><<Dialogue "player" "You">> "Damn girl, what have they been feeding you?! You look amazing!"<</Dialogue>><br><<Dialogue "Elena" "Elena">> "..."<</Dialogue>><br><<Dialogue "player" "You">> "... Was that too forward?"<</Dialogue>><br><<Dialogue "Elena" "Elena">> "..."<</Dialogue>><br><<Dialogue "player" "You">> "... I won\'t disturb you again, sorry..."<</Dialogue>><br><br><<link "Well, that could\'ve gone better." "gym">><</link>><</replace>><</link>><br><br><<link " You come here often?">><<replace "#choice">><br><br><<Dialogue "player" "You">> "Hey pretty lady, do you come here often?"<</Dialogue>><br><<Dialogue "Elena" "Elena">> "..."<</Dialogue>><br><<Dialogue "player" "You">> "... Was that too forward?"<</Dialogue>><br><<Dialogue "Elena" "Elena">> "..."<</Dialogue>><br><<Dialogue "player" "You">> "... I won\'t disturb you again, sorry."<</Dialogue>><br><br><<link "Well, that could\'ve gone better." "gym">><</link>><</replace>><</link>><br><br><<link " Impressive weights!">><<replace "#choice">><br><br><<Dialogue "player" "You">> "That\'s some really impressive weights that you\'re curling there! How much is it?"<</Dialogue>><br><<Dialogue "Elena" "Elena">> "..."<</Dialogue>><br><<Dialogue "player" "You">> "... Trying to focus on the workout?"<</Dialogue>><br><<Dialogue "Elena" "Elena">> "..."<</Dialogue>><br><<Dialogue "player" "You">> "...I\'ll leave you to it."<</Dialogue>><br><br><<link "Well, that could\'ve gone better." "gym">><</link>><</replace>><</link>><<addTrigger "elenaShy1" true false>></span>'
}, {
name: 'ElenaShyOpeningUp',
locationTags: ['elena'],
conditions: [
() => State.variables.elenaOpenedUp
],
repeatable: false,
retriggerable: false,
priority: 'immediate',
npc: ['elena'],
content: '<<set $elenaUnlocked to true>><<addMinutes 120>><<set$elenaOpinion += 20>>As you finally rest upon the bench to begin your workout, a slight huff leaves your chest. Even your breath seems to require more energy, but your body feels like a power plant, your massive shape almost incongruent with your reserves of stamina. Your oversized hand takes a firm grasp of the biggest weights you can find, lifting slowly and graciously, respecting the grind that you eagerly look forward to. With that, your workout begins, pumping iron while maintaining proper form carefully, catching eyes here and there from ongoing gym members, including one in particular that hadn’t noticed you before. As the exercise continues, the fire in your body are kindled, along with heaps of muscle mass expanding due to excitement and use. Each pump is counted, calculated, and executed to the best of your ability, resulting in yet another amazing workout. <br><br>Before you know it, time flew beyond your ken, as two hours already passed. With your body feeling undeniable fatigue, you still crave for more. The used weights were slowly laid to rest, dripping with about as much sweat as your face. The corded muscles on your rugged back pulled and flexed, craning your torso upward, eyes scanning the environment like a predator ready to pounce. It was then that you envisioned your physique through the mirror, you newly-found gains a joy to behold. And yet, a massive dark figure stood above you, eyes beaming down at your every move. As your mind registers the interloper, a loud gasp fills your lungs as you nearly leap back from your seat. <br><br>A quiet squeak was reciprocated, with just as much shock, and the unexpected hunk scurries back a little bit, trying to hide its face behind rather dainty hands and flexed pecs. Once the initial shock has passed, you finally find it in yourself to stand up properly, turning to find the shy giant actually hasn’t fled, and despite her unmatched stature, her legs shake from fear. For something so wobbly, those legs still seem solid like adult trees. <br><br>As you approach her, she seems to tentatively lower her hands, revealing sparkling honey-colored eyes completely trained on you, all of you. Soon, a blush follows. It takes a few moments, but your eyebrows eventually furl with the realization of what just transpired.<br><br><<Dialogue "player" "You">> "Hey, it\'s you again."<</Dialogue>><br><<Dialogue "Elena" "Elena">> "!!!..."<</Dialogue>><br>Her surprise at such a statement causes her pecs to contract involuntarily, shifting her entire posture, and even with her tan skin, her blush somehow becomes even redder. It only takes a moment for her to turn back and rush to the women’s lockers. This time, you can tell something different has happened. Just before she disappeared around the corner, she briefly turned to look back, eyes meeting yours in what seemed to be the most eager yet hesitant invite one could muster. Without a moment’s notice, you trail off after the caramel giant, intrigued to confirm if she finally has something to say to you.<br><br>Once you had arrive in the locker room, there she stood, still partially covering herself from sheer embarrassment, but now cornered, nowhere left to run. You approached slowly, as if trying to reassure a scared wild animal, which is the exact energy she is exuding. Before her expression grows too concerned, you stop in your tracks, standing a firm six paces away from this mountain of woman.<br><br><<Dialogue "player" "You">> “Hey, there.” <</Dialogue>><br>Perhaps this time she might respond. The warm curiosity in your voice seems to finally reassure her, almost like she was expecting screaming or disdain instead. Slowly, she lowers her gigantic arms to reveal her vulnerable expression, still besmirched by that deep blush. <br><br><<Dialogue "Elena" "Elena">> “H-hello…” <</Dialogue>><br><<Dialogue "player" "You">> “It’s nice to meet you, finally. I’ve been a bit curious ever since we first spoke… er, tried to, at least. My name is <<print $playerFirstName>>. What about you?”<</Dialogue>><br><<Dialogue "Elena" "Elena">> “Oh! //S-scuzi//. //Sono// Elena. I mean, I’m Elena.”<</Dialogue>><br>She seems conflicted, scared beyond belief to even open herself this much, and yet eager to show herself to you. Subtlety wasn’t exactly her strong suit, though, considering her muscles constantly flex and bulge beyond her control, suggesting suppressed intent. You try not to avoid excessive eye contact to make her more at ease. <br><br><<Dialogue "player" "You">> “Wow, that’s a pretty name. I really like it!”<</Dialogue>><br><<Dialogue "Elena" "Elena">> “O-oh, thank you. It is Italian. //S-sono italiana//.”<</Dialogue>><br><<Dialogue "player" "You">> “I see.”<</Dialogue>><br>You don’t really know anything of the language, perhaps just the name of a few typical dishes. But somehow her meaning seems to easily surface from her empathetic nature. <br><br><<Dialogue "player" "You">> “So, I’ve been meaning to ask, seeing as, well, you\'re about my size, maybe… you’d want to work out together? We kinda fell off the bell curve, so I think it might be nice to help each other.”<</Dialogue>><br>Her eyes widen in sheer disbelief of her ears. <br><br><<Dialogue "Elena" "Elena">> “I’ve been meaning to ask you the same thing!”<</Dialogue>><br>She blurted it out finally, revealing what she’d apparently been wanting to do all this time.<br><br><<Dialogue "Elena" "Elena">> “I… really admire how big you are, and I couldn’t keep myself from looking. So… I… would love… to… work out with… you…”<</Dialogue>><br>Although poor Elena seems to struggle to keep it together, you nod, trying to meet her halfway in her contained expression, but communicating that you understood her intent. You can feel her struggle, given her shy nature, it seems like a herculean task for her to open up to other people, so she must fight with loneliness quite a bit. But it seems like you were given a golden chance just now!<br><br><<Dialogue "player" "You">> “Sounds like a good deal! How about I meet you here tomorrow, around the same time, huh?”<</Dialogue>><br><<Dialogue "Elena" "Elena">> “//S-si//!”<</Dialogue>><br>With that, you muster an awkward smile before trampling away with a sense of victory. Curiosity may have killed the cat, but there are plenty of lives where that came from.<br><br><<link "You got her to open up!." "gym">><</link>>'
})>>
<<set setup.events.push({
name: 'ElenaDate1',
locationTags: ['elena'],
conditions: [
() => State.variables.elenaOpenedUp,
() => State.variables.elenaOpinion >= 30,
() => State.variables.elenaShyOpinion >= 30
],
repeatable: false,
retriggerable: false,
priority: 'immediate',
npc: ['elena'],
content: '"CLANG" <br><br>The abrupt sound of falling metal plates doesn’t break the focus of either you or your giant partner, now well into your long and arduous session. In fact, it goes by almost completely unnoticed, since you are both in the zone, in a mostly empty gym. Sure, other gymgoers drop big barbells all the time there – but never with enough plates to make the entire building shake. Still, the poor janitor there almost had a heart attack, wondering if that was an earthquake or an alien invasion.<br><br><<Dialogue "player" "You">>“That’s another one.”<</Dialogue>><br><br><<Dialogue "Elena" "Elena">>“Y-yeah. It’s not as easy for some people, I… guess.”<</Dialogue>><br><br>You take a moment to catch your breath, realizing you had been going at this exercise nonstop. Your arms pulsate with the needy hunger you’ve battled with for the duration of this exciting yet grueling session. One could liken it to edging in a way, and with how proficient you’ve gotten at it, there was a bit of excitement to be had.<br><br>It seems like the moment wasn’t just yours though. Elena, your workout partner, lifts herself up with one massive crunch, her maze of abdominal muscles squished and outlined in a perfect manner, gravity bringing her massive chest to hang slightly over them. <br><br><<Dialogue "player" "You">>“Say… I don’t think I’ve ever asked, but what are your thoughts on exercising outdoors?”<</Dialogue>><br><br>The tan girl pauses for a moment, that familiar blush showing its colors.<br><br><<Dialogue "Elena" "Elena">>“O-of course! Not often, though. You probably can imagine, it’s… harder for me to do it in public.”<</Dialogue>><br><br><<Dialogue "player" "You">>“Riiiiiight, I can certainly sympathize. But I try my best not to worry too much about what other people think. I just focus on the important things, the here and now.”<</Dialogue>><br><br>She slowly nods, taking a while to digest that statement, long enough for her to murmur it back to herself. Her voice is quiet as always. You allow her a moment to contemplate that, and find yourself joining her. What is important to her?<br><br>Well, working out is obviously a priority. But there must be something else you might discern given your growing intimacy with her. As these moments of golden silence mount, muffling the other gym goers grunting and groaning as they struggle with their weights, you still come up empty in the end. Come to think of it, you never really thought to ask her. With no better time than the present, you throw the proverbial line. <br><br><<Dialogue "player" "You">>“Hey, how about I take you out someday, and we spend some time discussing things that are important to us? You know, with two of us together, maybe we don’t stick out so much.”<</Dialogue>><br><br>Like a puppy being called by its owner, Elena bursts away from her thoughts, a heat wave painting her face while her brain reluctantly tries to wrap itself around your request.<br><br><<Dialogue "Elena" "Elena">>”Y-you want to… take ME out?... Like //un appuntamento//?”<</Dialogue>><br><br><<Dialogue "player" "You">>”S-sure, you can say that. I’ve…”<</Dialogue>><br><br><span id="choice"><br><<link "Never been on one before, but I think it could be fun! Just the two of us.">><<replace "#choice">>Elena lifts her head from her prominent chest, trying not drown in embarrassment like usual. <br><br><<Dialogue "Elena" "Elena">>“O-oh, //si//! I think it would be fun too! I just need a little time… to get ready and all of these things.”<</Dialogue>><br><br><<Dialogue "player" "You">>“That’s no problem, I kind of half-expected you to say no, actually.”<</Dialogue>><br><br>Your sincerity nets you a bit of a side eye from Elena. She isn’t normally as… outwardly expressive like that, but given the sensitive nature of the present conversation, it’s understandable. You flash a smile and try to calm her nerves, and she loosens up and heaves a small sigh. <br><br><<Dialogue "player" "You">>“What time would work best for you?”<</Dialogue>><br><br><<Dialogue "Elena" "Elena">>”How about... tomorrow, at...fiiiiiive? In the afternoon?”<</Dialogue>><br><br><<link "Tomorrow at five, it’s a date!" "gym">><</link>><br><br><</replace>><</link>><br><br><<link "I think we’ll have a good time! Just the two of us.">><<replace "#choice">>Elena lifts her head from her swelling chest, trying not to drown in embarrassment like usual. <br><br><<Dialogue "Elena" "Elena">>“O-oh, //si//! I think it would be fun too! I just need a little time… to get ready and all of these things.”<</Dialogue>><br><br><<Dialogue "player" "You">>“ That’s no problem, I kind of half-expected you to say no, actually.”<</Dialogue>><br><br> Your sincerity nets you a bit of a side eye from Elena. She isn’t normally as… outwardly expressive like that, but given the sensitive nature of the present conversation, it’s understandable. You flash a smile and attempt to calm her nerves, as witness as she loosens up and heaves a small sigh. <br><br><<Dialogue "player" "You">>“ What time would work best for you?”<</Dialogue>><br><br><<Dialogue "Elena" "Elena">>” How about... tomorrow, at...fiiiiiive? In the afternoon?”<</Dialogue>><br><br><<link "Tomorrow at five, it’s a date!" "gym">><</link>><br><br><</replace>><</link>><br></span><br><br><br><<set $elenaDate to true>>'
}, {
name: 'ElenaDate2',
locationTags: ['elena'],
conditions: [
() => State.variables.elenaOpenedUp,
() => State.variables.elenaOpinion >= 50,
() => State.variables.elenaShyOpinion >= 50,
() => State.variables.elenaDate1Finished
],
repeatable: false,
retriggerable: false,
priority: 'immediate',
npc: ['elena'],
content: `As you awkwardly find a way to cross the gym’s turnstile with your mammoth thighs, you find Elena doing something unusual - not actually exercising. She’s usually pretty focused while at the gym, rarely ever dilly-dallying or interacting with others, getting to work as soon as she arrives and leaving right after she finishes - so you are quite surprised to see her in the common area of the entrance.<br><br>It’s… quite a sight. Elena is crouched in front of the notice board in the lobby - the corkboard is set to “eye level”, but the little giantess proves that this is a somewhat relative concept. She looks at one colorful flier with the same intent of a child who stands guard in front of a fireplace on Christmas Eve: her eyes gleam with a hopeful eagerness and you can hear a loud sigh as you approach her.<br><br><<if $shyConfident > 1>><<Dialogue "player" "You">>"What’s up, Elena? Thinking of joining a class? I bet you’d love some Tai Chi…"<</Dialogue>><br><br><<else>>You approach silently, and she’s so entranced by the flier that she doesn’t even notice. You clear your throat, making her snap her eyes to you.<br><br><</if>><<Dialogue "Elena" "Elena">>"Oh… hi, <<print $playerFirstName>>. Sorry. I… got distracted."<</Dialogue>><br><br>Once again her voice was so soft, like a little songbird.<<Dialogue "player" "You">>"I can see that…"<</Dialogue>><br><br>You look at the pamphlet that had her so transfixed - it’s a commercial about a next exhibit at the local museum. The notice is adorned with a big red and yellow flower you’ve never seen before, described as the “queen of orchids”.<br><br><<Dialogue "player" "You">>"Southeast Asian flowers, huh? That sounds pretty neat!"<</Dialogue>><br><br>Again, Elena sighs, her expression filled with melancholy. You tilt your head, confused - you genuinely expected her to be quite excited about the prospect of seeing these plants up close. <<if $shyConfident > 0>><<Dialogue "player" "You">>"What? I assume you are planning to go… right?"<</Dialogue>><br><br><<else>>You look at her, confused. Why does she seem so sad? You frown and keep looking at her, but decide not to prod and hope for some clarification.<br><br><</if>><<Dialogue "Elena" "Elena">>"I want to go so bad… but… I haven’t been in a museo since… you know…"<</Dialogue>><br><br>She stands up straight, and the message comes perfectly clear. <<if $height < 220>>She towers over you, almost casting a shadow over even your impressive form.<</if>><br><br><<Dialogue "Elena" "Elena">>"You know what it’s like… always full of bambini… children."<</Dialogue>><br><br>Elena’s passionate gaze melts into a sad frown. You can swear she’s holding a sob inside, her breathing coming with effort.<br><br><<Dialogue "Elena" "Elena">>"I bambini… I scare them. I can’t bear to ruin such a magical experience as the museo for them. It was one of my favorite pastimes back in Italia, you know? I would spend hours - history, art, even lo zoo. It was always magical."<</Dialogue>><br><br>Without even noticing, your fists ball in a tight squeeze. This feels horribly wrong deep inside - Elena’s selfless sacrifice… she might be a humongous specimen, but the mere idea of anyone (or ANYTHING) being afraid of her surfaces a mix of anguish, confusion and rage in you.<br><br>Quickly, your brain decides that it is your mission to make sure she gets to see this exhibit. The question is: how do you convince her to face her insecurity to do so?<br><br> <span id="choice1"> <<PersonalityCheck $shyConfident >= 1 "Tell them you're busy">><<replace "#choice1">>You think hard for a second, there HAS to be a way she can go to the museum without having to worry about the children. You remember your own childhood, when you were embarrassed about a bad haircut you once got, and your parents had to struggle to get you to leave the house.<br><br>And then it hits you like lightning.<br><br><<Dialogue "player" "You">>"Hey, Elena, I just remembered. The Natural History Museum has special hours during the summer. They open early on mondays, and it’s super empty, and no school would schedule a museum visit on that timeslot."<</Dialogue>><br><br>Elena audibly gasps. You can see her eyes widening as she realizes it’s the same plan she concocted for her gym visits after her transformation.<br><br><<Dialogue "Elena" "Elena">>"This… this could work!"<</Dialogue>><br><br>You smile triumphantly, and decide to take a risky swing…<br><br><<Dialogue "player" "You">>"I… uh, would love to go with you… I mean, if you don’t mind, that is."<</Dialogue>><br><br>Her golden eyes turn to you, her mouth slowly opening as if to say something, but then turning into a big smile.<br><br><<Dialogue "player" "You">>"No pressure, of course. I will totally understand if you just want to go by yourself."<</Dialogue>><br><br><<Dialogue "Elena" "Elena">>"M-mi piacerebbe molto. I… would love to. To go with you, that is… if you can - I don’t mean to impose."<</Dialogue>><br><br>It’s your turn to smile. With giddy anticipation, the two of you figure out the details for the museum visit on the next Monday morning. You can feel butterflies of anxiety fluttering in your stomach as it dawns on you that this is really happening… and in just a few days!<br><br>Elena profusely thanks you as she points towards the weights, indicating that she’s going back to her workout, and you follow her, realizing it will be hard to concentrate on the weights tonight.<<script>>const dateCopy = new Date(State.variables.gameDate.getTime());const nextMonday = new Date(dateCopy.setDate(dateCopy.getDate() + ((7 - dateCopy.getDay() + 1) % 7 || 7),),);State.variables.elenaDateTwoDate = nextMonday;<</script>><<link "Continue" "gym">><</link>><</replace>> <<Failed>><<replace "#choice1">><<Dialogue "player" "You">>"Huh… why don’t we get you some sunglasses or something? No one will recognize you."<</Dialogue>><br><br>You almost want to slap yourself for the stupid suggestion, which you immediately realize is completely pointless on so many levels. Elena’s shoulders slump, making her somehow look and feel… small? That alone would be shocking, but it’s the sadness in her that really stings, penetrating your heart like a knife.<br><br>This sparks even more emotion in you, making you rip the flier off the notice board, making the thumbtack fly as you intently scan the entire document in hopes of finding SOMETHING useful. The sudden motion makes Elena step back, scared. You don’t realize how fierce you look as you do, your protective side surfacing like a tiger defending its offspring from predators - you just HAVE to find a way to make this work!<br><br>And as you flip the pamphlet over, you notice something - along the address of the museum, there’s a notice that the place has special summer hours, exceptionally opening on Monday mornings. Hey, that probably means the place will be pretty empty… and the chances of a school excursion are slim to none!<br><br><<Dialogue "player" "You">>"Elena, look! The Natural History Museum has special hours during the summer! They open early on mondays!!! It’s going to be super empty, and no school would schedule a museum visit at that time!"<</Dialogue>><br><br>Elena is completely taken aback. In an uncharacteristically forward fashion, she snags the paper from your hands and confirms the details. Her eyes spark with joy and hope once more.<br><br><<Dialogue "player" "You">>"I would love to go with you, how about next Monday? You think that works for you?"<</Dialogue>><br><br>Elena blushes something fierce, and you can almost feel the hairs on her arms standing up as she looks at you like a deer under headlights. She turns her head sideways, trying to avoid direct eye contact, and then launches on an unexpected hunt for the lost thumbtack. Damn! You probably should have broken that subject slowly…<br><br>Elena finds the errant thumbtack, and turns her back to you as she affixes the leaflet back on the notice board. It’s taking all your self-control not to bring your palm to your forehead in frustration for your silly faux-pas with your shy companion. If only you could turn back time…<br><br><<Dialogue "Elena" "Elena">>"Mi piacerebbe molto. I would love that."<</Dialogue>><br><br>Wait, what? It was just a low whisper, which you almost didn’t hear since she was turned away from you but… did she just…?<br><br><<Dialogue "player" "You">>"Uh… so… see you there?"<</Dialogue>><br><br>She turns, still somewhat avoiding eye contact, and quickly nods with a smile. Before you can reply, she’s off to lift weights, leaving you dumbfounded. I guess it’s really happening! You smile radiantly, and start leaving the gym… when you realize you haven’t worked out yet, and do a 180 towards the weight rack, realizing you’ll probably be very distracted during your exercises… <br><br><<link "Continue" "gym">><</link>><<script>>const dateCopy = new Date(State.variables.gameDate.getTime());const nextMonday = new Date(dateCopy.setDate(dateCopy.getDate() + ((7 - dateCopy.getDay() + 1) % 7 || 7),),);State.variables.elenaDateTwoDate = nextMonday;<</script>><</replace>><</PersonalityCheck>> <<link "She just needs to face her concern - children can be very understanding!">><<replace "#choice1">><<Dialogue "player" "You">>"Elena, my dear… this is clearly very important to you. I totally get that you might feel uncomfortable around kids - but you can’t deny yourself such a rare experience because of that!"<</Dialogue>><br><br>Elena deflates right in front of your eyes, slouching and somehow tensing at the same time. You clearly touched a nerve there - which wasn’t your intention, but you are not about to give up because of that. You put your hand on her shoulder, and look at her face, trying to meet her eyes that now point to the ground.<br><br><<Dialogue "player" "You">>"Hey… I’m gonna just say it - kids these days? They’ve seen EVERYTHING on the Internet. Heck, I blush at some stuff kids think it’s natural. I would not be surprised if they want to take selfies when they see you."<</Dialogue>><br><br>Elena tentatively raises her chin, cocking an eyebrow in a confused expression. Yeah, maybe that wasn’t the biggest help, she probably isn’t too thrilled with the idea of being seen as a freak either.<br><br><<Dialogue "player" "You">>"Listen, either way, my point is: you can’t live your life worried about what others think to the point where you don’t do the things you love. I… I can’t bear to live in a world where you are missing out..."<</Dialogue>><br><br>You find yourself slightly stuttering as you finish the sentence, and it’s your turn to look away. When your eyes go back to Elena, she’s now staring at you, a tinge of guilt in her expression. She sighs once again, and looks back at the pamphlet.<br><br><<Dialogue "Elena" "Elena">>"Do you think there’s a time when the museo is more empty?"<</Dialogue>><br><br>Your chest puffs up proudly and you take a deep, excited breath as you see the hesitation in Elena.<br><br><<Dialogue "player" "You">>"Yeah, actually - the museum has special Monday morning hours during the summer. It’s very empty at those times."<</Dialogue>><br><br>Elena is still frowning, and you can see there is still a lot of hesitation.<br><br><<Dialogue "Elena" "Elena">>"W-would you mind… coming with me? I don’t know that I have the coraggio to do it alone."<</Dialogue>><br><br>You let out a loud giggle, and you put a hand on her shoulder as you proudly proclaim:<br><br><<Dialogue "player" "You">>"It would be my honor. I mean, the exhibit sounds very interesting… but I’d love to spend some more time with you - and you getting to see this neat stuff you love? Nothing would make me happier!"<</Dialogue>><br><br>Elena blushes, then smiles. The two of you confirm to meet there on the next Monday morning, and then proceed to go hit some weights together.<br><br><<link "Continue" "gym">><</link>><<script>>const dateCopy = new Date(State.variables.gameDate.getTime());const nextMonday = new Date(dateCopy.setDate(dateCopy.getDate() + ((7 - dateCopy.getDay() + 1) % 7 || 7),),);State.variables.elenaDateTwoDate = nextMonday;<</script>><</replace>><</link>></span>`
}, {
name: 'ElenaMuscle30',
locationTags: ['elena'],
conditions: [
() => State.variables.elenaOpenedUp,
() => State.variables.elenaLastMuscle + 30 <= State.variables.muscle
],
repeatable: false,
retriggerable: false,
priority: 'immediate',
npc: ['elena'],
content: '<<set $elenaOpinion += 5>><<Dialogue "player" "You">> “Hey, Elena! Ready for today’s session? We’re gonna hit your favorite muscle group!”<</Dialogue>><br>You wave to your partner who, in response, blushes almost immediately. You feel your chest tightening, having hoped that the awkwardness with her would be gone by now.<br><br><<Dialogue "Elena" "Elena">> “S-since when have you gotten… s-so big?”<</Dialogue>><br> Her eyes dance with admiration, taking in your entire body, almost as if eagerly waiting to appreciate the inspiring mechanics of your corded sinew.<span id="choice"><<link " Working out hard!">><<replace "#choice">><br><br><<Dialogue "player" "You">> “I guess I have been hitting the gym pretty hard, huh? My body tends to surprise me as well” <</Dialogue>><br>You give your enthralled partner a bit of a flex, feeling the power hidden beneath your skin quickly rise to the surface, materializing confounding striations across your pecs and biceps.<</Dialogue>><br>As her eyes widen, the color drains from her face and you see her knees start buckling. Before you know it, you are rushing to catch Elena mid-fall. Perhaps it would be best to save the showboating for a more private environment. Eventually, she recovers her senses, and you carefully dust her off with a confident smile. She looks back adoringly, and the two of your proceed with your workouts, with redoubled effort.<br><br><<link "Continue" "gym">><</link>><</replace>><</link>><br><br><<link " Oh, I hadn\'t noticed.">><<replace "#choice">><br><br><<Dialogue "player" "You">> “You really think I’ve made progress? I never even noticed…”<</Dialogue>><br>You look upon your body, and while it is undeniably massive, everything still feels normal, even stagnant. It was only when the caramel-skinned beauty pointed it out, admiring your musculature with a smile, that you started to truly realize it. <br><br><<Dialogue "Elena" "Elena">> “I think you look //più bella//! Your biceps, traps... p-p-pecs... all of them are //molto grande//... very big! You’ve worked really hard!”<</Dialogue>><br>Despite her troubled cadence, her are thick with warmth, and a feeling of positive self-esteem blossoms in your chest. You reply with a thankful smile, and move on to begin your workout.<br><br><<link "Continue" "gym">><</link>><</replace>><</link>></span>'
}, {
name: 'ElenaBreasts30',
locationTags: ['elena'],
conditions: [
() => State.variables.elenaOpenedUp,
() => State.variables.elenaLastBreasts + 30 <= State.variables.breasts
],
repeatable: false,
retriggerable: false,
priority: 'immediate',
npc: ['elena'],
content: 'You arrive at the gym after a long day, just ITCHING to push yourself to your very limit, to clean the slate of the day with a generous dose of sweat and endorphins. You look around, watching the sea of steel, just waiting to be subjugated… you walk around, running your finger through the racked dumbbells in crescent order, licking your lips in anticipation.<<if $muscle >= 85>>You make your way to the end of the rack, grabbing the largest weight with unwavering determination.<<else>>You work your way to the appropriate dumbbell, and get your serving of heavy metal.<</if>>As you reach the bench, you try to lean your elbow on your leg for some concentration curls, but your breasts kind of make that slightly challenging - the dangling mammaries just restrict your motion awkwardly, but you persevere.<br><br>However, not everyone seems to share your enthusiasm. As you check the mirror to try and nail your form, you catch a glimpse of Elena (squatting such a comical amount of weight that the bar is bending significantly) frozen mid-rep, looking at you with a frown and a pout. But the second your eyes cross, she looks away and resumes her exercise way too fast.<br><br>You know better than to try and go talk to her right away, so you go on with your routine. You feel especially pumped today, <<if $shyConfident > 2>>posing extensively in front of the mirror, smiling with pride as you bask in your progress. You hear an annoyed sigh from a very expected source, but decide not to dignify it with a response. <<else>>giving your engorged muscles a very nice squeeze. You smile at their firmness.<</if>><br><br>While you switch machines, you see Elena setting up for bench presses. It is no small feat to load the bar as much as she needs to get a proper challenge, so you decide to go help her.<br><br>You wave silently at her with a smile, but she doesn’t seem nearly as receptive as usual. While she’s not acting downright mousey as when you first met her, she is also strangely cold. As you load huge plate after huge plate on your side of the bar, she just avoids your gaze entirely. As usual, you load the bar until it can hold no more plates, applying the fastener on that tiny bit of the rod a small nightmare, while the support rack groans under the intense cargo. Since you started working out together, Elena has increased how much she benches because she could not use this much weight without a spotter… and really, who else could spot her?<br><br>She lays down on the bench, still miffed, and you stand over the weight, but your considerable breasts keep you from having a good look at her face.<br><br>Elena cranks five very sloppy reps, much faster than she usually does to get a good negative, and many less than her usual three sets of fifteen. She just lets go of the bar suddenly, <<if $muscle >= 95>>leaving you there, holding the titanic bar, which you bring to the ground in controlled fashion,<<else>>making you jerk forward with the sudden titanic load, which takes all of your prodigious might to bring it down to the ground, almost hurting your back in the process,<</if>>as she huffs and walks away from you.<br><br><<if $shyConfident > 1>>You approach the hulking girl, confused with her attitude change.<br><br><<Dialogue "player" "You">>"Hey, what gives? You are acting weird today, Elena."<</Dialogue>><br><br><<else>>You slowly approach the hulking girl, her shoulders slumping more than usual. You gently place your hand on them, feeling the movement as she takes deep breaths.<br><br><</if>><<Dialogue "Elena" "Elena">>"//Mi dispiace//… I’m sorry."<</Dialogue>><br><br>You are taken aback, quite confused. Did she do something you missed? You previously suspected you had done something to slight her, but, she seems genuinely sorry.<br><br><<Dialogue "player" "You">>"About what? You think I’m jealous of your strength or something? It’s a pleasure to work out with you, Elena."<</Dialogue>><br><br><<Dialogue "Elena" "Elena">>"No, I mean…"<</Dialogue>><br><br>She gesticulates towards your plentiful breasts.<<Dialogue "Elena" "Elena">>"You’ve gotten so big lately, it must be //difficile//, so hard, for you."<</Dialogue>><br><br>Confused, you cup your own breasts up, bunching them like a push-up bra. The effect is quite notable, making them look even bigger on your frame as they get closer to your chin.<span id="choice"><<link "Yeah, these can be quite a burden…">><<replace "#choice">><<Dialogue "player" "You">>"It’s true. I love to run, but it can get quite painful with these… I’ve yet to find a sports bra that can give them enough support…"<</Dialogue>><br><br>You give a relaxed laugh, as you amuse yourself with the predicament you got yourself into.<br><br><<Dialogue "player" "You">>"But frankly, THESE…?"<</Dialogue>><br><br>You raise your arm in a bicep flex, the large mound of muscle stretching like a balloon as you cop a feel.<br><br><<Dialogue "player" "You">>"I would never have guessed I’d get this big and strong. It’s all so new and different to me. Having to be more careful handling delicate stuff, things being so much lighter than I expect…"<</Dialogue>><br><br><<if $height > 195>>You tip-toe and put a hand on top of your head, as to indicate your height.<br><br><<Dialogue "player" "You">>"And that’s not even talking about THIS… I still hit my forehead against door jambs on a regular basis."<</Dialogue>><br><br>You stand back down and relax.<</if>><<Dialogue "player" "You">>"I can only imagine how hard it must be for you, Elena."<</Dialogue>><br><br><<Dialogue "Elena" "Elena">>"//Esatto//!!!"<</Dialogue>><br><br>The huge girl exclaims in emphatic agreement, while looking at you, melancholic.<<Dialogue "player" "You">>"What, you are worried about me? Pffft!"<</Dialogue>><br><br>You reply in jest, relaxing as a smile grows on your face.<br><br><<Dialogue "player" "You">>"Yeah, there are challenges, sure. Do I break things every now and then? Sure. Am I spending way too much on food? You betcha. Working on my wardrobe is a nightmare, surely. But this girl?"<</Dialogue>><br><br>You emphatically hit your puffed chest with an open palm, standing proudly.<br><br><<Dialogue "player" "You">>"If there’s one thing I can say, is that I can take care of myself. And if I ever were in doubt… well, I have your strong shoulders to lean on."<</Dialogue>><br><br>You see Elena’s eyes tearing up, as her lower lip trembles slightly. She smiles, her honey eyes shining like the sun itself. This girl, she has the beauty of a budding flower, you think to yourself.<br><br><<Dialogue "Elena" "Elena">>"I… suppose I was being a bit silly."<</Dialogue>><br><br><<Dialogue "player" "You">>"It’s okay. You were only trying to protect me. And there really aren’t that many people that make me feel that way..."<</Dialogue>><br><br>You say, as you return a smile to her.<br><br>Putting this silly spat aside, you return to your respective grueling workouts.<<link "Continue" $currentScene>><</link>><</replace>><</link>><<link "Actually, it took some effort to get these.">><<replace "#choice">><<Dialogue "player" "You">>"It WAS hard. You had no idea what I had to do finally get some boobs!"<</Dialogue>><br><br>You give your breasts a firm squeeze, as you bite your lips seductively.<br><br><<Dialogue "player" "You">>"For the longest time, I was flat as a board, you know? Kids used to make fun of me, they teased me saying I was flat as a board, saying these were mosquito bites… it hurt, you know, like I had somehow failed at being a woman."<</Dialogue>><br><br>Elena gasps as she covers her mouth, realizing her faux-pas.<br><br><<Dialogue "player" "You">>"So, you know, I did what I do best, I guess. I hustled. Watched what I put in my mouth, exercised. The works."<</Dialogue>><br><br>You bounce your left and right boob alternatingly with your mighty pecs, in an amusing dance.<br><br><<Dialogue "player" "You">>"It did take some effort, but here I am. I feel like I finally belong in my own body. So if you ask me, I’m quite fond of my sweater puppies!"<</Dialogue>><br><br><<if $carefreeCarefull < -1>>You palm your right breast around your nipple, giving it a squeeze as you say “woof!”. Elena gives an awkward laugh, and gives you a playful shove - which could probably tip a cow, but thankfully you are solid enough that you just end up giving a couple of steps back before you stabilize yourself again.<</if>><<Dialogue "player" "You">>"So, you know, no need to worry. I certainly don’t worry about the stuff I imagine YOU go through. Actually, seeing you, Elena, is an inspiration for me - your dedication, all the effort you put in. Maybe someday, I’ll be almost as big as you."<</Dialogue>><br><br>Elena’s eyes widen. She looks like a deer under headlights. She raises her hand, shyly and tentatively towards you. You step forward, pushing your breasts against her hand, and placing your hand over hers.<br><br><<Dialogue "player" "You">>"See? They don’t bite."<</Dialogue>><br><br><<if $height > 195 || $carefreeCarefull < -1>>You wrap your other arm around her shoulder, and ease her head into your breasts, as you shush her. She closes her eyes, and you two hug each other for a few seconds that feel like an eternity.<br><br><</if>>You smile at her confidently, and she looks at you, still somewhat stunned - not with her usual shy hesitation or her previous nervousness… but her eyes beam with serene admiration. It makes you tingle inside, and you give her a tap on the back.<<Dialogue "player" "You">>"You don’t need to worry about me, really. I have you on my side, so what do I have to fear?"<</Dialogue>><br><br><<Dialogue "Elena" "Elena">>"I guess you are right."<</Dialogue>><br><br><<Dialogue "player" "You">>"Great! Because these weights aren’t going to lift themselves. Wanna help me with the barbell?"<</Dialogue>><br><br>And so you two get back to your respective workouts, with renewed enthusiasm.<<link "Continue" $currentScene>><</link>><</replace>><</link>><<link "To be sincere, I’m quite fond of them.">><<replace "#choice">>You hug your own breasts lovingly, rubbing your chin over the top of them with delight.<br><br><<Dialogue "player" "You">>"They are so fluffy. And you wouldn’t believe how good I look on a dress now…"<</Dialogue>><br><br><<if $shyConfident > 1>>You strike a seductive pose, lifting your buttocks and breasts confidently as you turn your head sideways and puck your lips. It makes you feel sexy as you watch yourself on the large mirrors, but you can see Elena is quite taken aback by the display.<br><br><</if>>You run your hand over your curves, coming to a bit of an epiphany about how much you have changed lately. She is right about something, It IS a bit shocking.<br><br><<Dialogue "player" "You">>"While I AM loving all of this… you are right that it can be a bit… shocking? I guess jarring might be the better word?"<</Dialogue>><br><br>Elena nods in agreement. She still seems a bit melancholic about this development, and you’d be lying if you said it doesn’t break your heart a bit.<br><br><<if $shyConfident > 2>>You give Elena a wink, and whisper in a seductive tone:<br><br><<Dialogue "player" "You">>"I mean, I think I look pretty hot, wouldn’t you say?"<</Dialogue>><br><br><<elseif $shyConfident <= -1>><<Dialogue "player" "You">>"Do you… do you think this doesn’t look good on me?"<</Dialogue>><br><br><<else>><<Dialogue "player" "You">>"I mean, don’t you like the way I look?"<</Dialogue>><br><br><</if>>Elena’s eyes get big like saucers, she looks like a deer under headlights. Maybe you put her on the spot too hard?<br><br><<Dialogue "Elena" "Elena">>"No! No!!! You look… //più bella//! Very, very beautiful."<</Dialogue>><br><br><<Dialogue "player" "You">>"This is important to me, Elena. It means a lot to me, for people to appreciate the way I look… like…"<</Dialogue>><br><br>You approach her, running the tip of your index over her arm, drawing a line between the crevices of her biceps and triceps.<br><br><<Dialogue "player" "You">>"... like I admire what you achieved with your body."<</Dialogue>><br><br>Elena’s darker complexion doesn’t blush as easily, but you can tell she is quite flushed - it looks like steam might be about to come out of her ears at any second. You decide to take a step back as she turns her face to the side, but even without looking, she grabs your hand in hers.<br><br><<Dialogue "Elena" "Elena">>"//Aspeta//!"<</Dialogue>><br><br>She doesn’t even need to translate for you to realize she is telling you to hold on.<br><br><<Dialogue "Elena" "Elena">>"//Mi dispiace//… you are right. I overreacted. Thank you for opening my eyes."<</Dialogue>><br><br>You smile at her. She starts with a tentative, forced smile, but as your eyes linger on her golden, beaming irises, she seems to warm up from the inside slowly, and her smile soon follows.<br><br><<Dialogue "player" "You">>"Well, if you don’t mind, I’d definitely love to see those muscles of yours blooming as you continue training."<</Dialogue>><br><br>Elena lets the cutest giggle out, and nods. You two go back to your respective routines, and she seems much more relaxed.<<link "Continue" $currentScene>><</link>><</replace>><</link>></span>'
}, {
name: 'ElenaFat30',
locationTags: ['elena'],
conditions: [
() => State.variables.elenaOpenedUp,
() => State.variables.elenaLastFat + 30 <= State.variables.fat
],
repeatable: false,
retriggerable: false,
priority: 'immediate',
npc: ['elena'],
content: 'You catch your breath as you make your way to the gym, anxious to burn some calories. As you start preparing for your training, you spot Elena, already having at her own routine, the thin sheen of sweat making her glisten, keeping to the furthest corner of the building, as is her custom. Despite having warmed up with your run there, you decide to really push yourself on the treadmill.<<if $muscle >= 60>>You set the machine for the highest incline, and crank the speed all the way up.<<elseif $muscle >= 35>>You set a nice running pace, preparing to sweat your ass off.<<else>>You input your normal warm-up settings on the machine, and start with your quick jog.<</if>><<if $fat >= 60>>The treadmill creaks loudly with the load, and your midsection wobbles quite a bit, affecting your balance - but you are focused, and intend to keep pushing yourself to your limit. <<elseif $fat >= 35>>As you pick up speed, your tummy starts wobbling in rhythm with your steps.<</if>><<if $breasts >= 50>>Your boobs shake quite vigorously, and you are thankful that your bra heroically keeps up, reducing the pain from all the motion.<</if>>You steal occasional glances at Elena during your run, noticing that she seems to be having a hard time keeping her eyes off of you. While she is usually acutely aware of anyone who walks into the gym, she seems strangely invested in you at the moment.<br><br>You finish your run, and dab the sweat off of your forehead. It seems like the aerobics part of your workout is a tad more challenging than you would have liked, but now you are primed for some primo weightlifting, which you look forward to.<br><br>You approach the pec deck, eager to start. You wave at Elena as you pass her by, and she seems to be even more watchful of you than usual, but remains silent - so you just sit down and start your routine on the machine.<br><br>Still, Elena seems to be having a hard time concentrating on her own exercises, and just sort of lingers around the machine you are using. After you finish your last set, you figure you should ask talk to her.<br><br><<Dialogue "player" "You">>"Hey, Elena! How are you doing?"<</Dialogue>><br><br>She lets out a surprised “eep!” before responding: <<Dialogue "Elena" "Elena">>"Oh… hi… I’m fine… and… you?"<</Dialogue>><br><br><<Dialogue "player" "You">>"Never better! Ready to push myself, just like you."<</Dialogue>><br><br>She doesn’t seem satisfied with that answer, however.<<if $shyConfident > 1>>Confused, you decide to confront her.<br><br><<Dialogue "player" "You">>"Are you sure? You keep… staring."<</Dialogue>><br><br>She starts apologizing profusely in Italian, waving her hands in front of herself.<<elseif $shyConfident >= -1>><br><br><<Dialogue "player" "You">>"Alright then..."<</Dialogue>><br><br>You turn away from her to do some tricep pulldowns, but she still lingers. Eventually, she seems to acquiesce to her concerns.<<else>>You are not sure what to do, and certainly don’t feel like pushing her any harder. So you turn away from her to do some tricep pulldowns. But she still lingers. You keep going at your routine, and Elena gets less and less concentrated on her own. Eventually, she seems to acquiesce to her concerns.<</if>><<Dialogue "Elena" "Elena">>"<<print $playerFirstName>>... Uh… //come se dice//… err… I hope I’m not… intruding?... but… "<</Dialogue>><br><br><<if $shyConfident > 2>><<Dialogue "player" "You">>"Just spit it out, Elena!"<</Dialogue>><br><br>She somehow finds it in her to shrink her enormous frame, steps back, and says that it was nothing. You shrug, and get back to your routine. Elena just runs back to the showers, and you don’t see her again.<<link "Continue" $currentScene>><</link>><<else>><<if $shyConfident > 1>><<Dialogue "player" "You">>"What’s wrong, Elena? You can talk to me…"<</Dialogue>><br><br>Elena crosses her right leg in front of the left one, embarrassed. It looks absolutely adorable, as you witness her blushing and trying to find her words - an insecurity that seems almost completely incompatible with the oversized giant in front of you. You hold her hand, and she flustered stares at you before spitting out her words:<<elseif $shyConfident > -1>>You watch her expectantly, giving her time to work up her courage. Eventually she finds it, and proclaims, concernedly: <<else>>You avoid constant eye contact, feeling slightly anxious at what she has to say. You start to feel a bit of worry, wondering if you did something to upset her.<</if>><br><br><<Dialogue "Elena" "Elena">>"I… uh… noticed… your, uh, //pancia//… your tummy. "<</Dialogue>><br><br>You let out a slight giggle, and she gets even more flustered. You need to reinforce that it’s all okay, before she continues.<br><br><<Dialogue "Elena" "Elena">>"I’m concerned for your health. You are going through these big changes so fast, you need to make sure you have this under control, or it could be dangerous. "<</Dialogue>><br><br>She seems genuinely concerned for your well being.<br><br><span id="choice"><<PersonalityCheck $shyConfident <= -1 "This? I actually think it looks damn good on my figure">><<replace "#choice">><br><br><<Dialogue "player" "You">>"Oh, yeah, I guess I did put on some weight..."<</Dialogue>><br><br><<Dialogue "Elena" "Elena">>"Aren’t you //preoccupata//… worried? ."<</Dialogue>><br><br><br><br><<Dialogue "player" "You">>"Actually, I think it looks good on my figure."<</Dialogue>><br><br><<Dialogue "Elena" "Elena">>"When I started… changing… I was so scared. Like I had somehow lost control… I had this growth spurt, and I was terrified it would //danneggiare//… uh… affect me…"<</Dialogue>><br><br><br><br><<Dialogue "player" "You">>"I mean, Elena, I understand you are concerned you might get stuck on a door… but… look how great I look! Don’t you think my figure is rubenesque?"<</Dialogue>><br><br><<Dialogue "Elena" "Elena">>"You are familiar with Peter Paul Rubens?"<</Dialogue>><br><br>Elena looks legit shocked at first, but then bites her lip as she looks at you, apparently lost in thought as you imagine she’s picturing you in one of his paintings.<br><br><<Dialogue "player" "You">>"Elena? Hello?"<</Dialogue>><br><br>Her face goes purple with embarrassment, as she looks around in a hurry, muttering in Italian what you believe to be some sort of compliment about your looks before skedaddling to the showers.<br><br>Well, at least she doesn’t seem to be worried about you anymore.<<link "Continue" $currentScene>><</link>><</replace>><<Failed>><<replace "#choice">><br><br><<Dialogue "player" "You">>"Yeah, I have put on some weight, that’s true… but I feel like my figure has never looked better!"<</Dialogue>><br><br>You slap your ass for emphasis, and she is quite taken aback. <<Dialogue "Elena" "Elena">>"Aren’t you //preoccupata//… worried, about your health? ."<</Dialogue>><br><br><br><br><<Dialogue "player" "You">>"Nah, this junk on my trunk is awesome! <<if $breasts >= 50>>You can bet this milkshake is going to bring all the boys to the yard!<</if>>"<</Dialogue>><br><br>Elena looks a bit dejected, pouting at what you just said.<br><br><<Dialogue "Elena" "Elena">>"Well, just promise me you will watch so it doesn’t make you sick?"<</Dialogue>><br><br>You flex a respectable bicep as you proudly proclaim:<br><br><<Dialogue "player" "You">>"Are you kidding me? Do I look like I am not taking care of myself?"<</Dialogue>><br><br><<Dialogue "Elena" "Elena">>"I… guess…"<</Dialogue>><br><br>You tap her on the back as you continue to assuage her fears. Still, it seems like something else you said has bothered her…<<link "Continue" $currentScene>><</link>><</replace>><</PersonalityCheck>><<link "Yeah, I suppose I’ve let myself go a bit…">><<replace "#choice">><<Dialogue "player" "You">>"I guess I did put on some weight lately…"<</Dialogue>><br><br>You say as you grab a roll of fat from your midsection.<br><br><<Dialogue "Elena" "Elena">>"You must not let it get out of control! You can //bruciare il grasso// with some aerobics and... "<</Dialogue>><br><br>You just stop and just listen to Elena ramble about aerobic exercise, heart rates and so forth, in a rare case of her forgetting her usual shy nature. You lean your chin against your hand, watching her endearingly digress on all the stuff you can do to get trimmer… until she realizes you are staring at her, your eyes shining with admiration.<br><br><<Dialogue "Elena" "Elena">>"Err… I mean, I would be honored to help and //esercitare// with you… if you want, //ovviamente//!"<</Dialogue>><br><br><<if $shyConfident > 1>> You get up and give Elena a very tight hug.<<Dialogue "player" "You">>"You are so adorable I want to squish you! Well, as much as I am able to, that is!"<</Dialogue>><br><br>Elena could probably break free easily if she wanted to, but you can feel her heart racing, like prey that has just been snatched by an apex predator, pretending to be dead in hopes of securing an escape.<<else>>You smile at the proposal, and raise a hand for a high-five. Elena looks at you quizzically, and you are not sure if she’s unfamiliar with the gesture or just shy, so you grab her hand for a handshake. You squeeze with all your might, which could probably break an average person’s bones, but she just hangs there, limply and awkwardly.<</if>><<Dialogue "player" "You">>"I promise not to give up until you can wash your clothes on my abs!"<</Dialogue>><br><br>Still a bit fazed by hurricane <<print $playerFirstName>> but clearly pleased, Elena vows to help you lose weight. You find yourself strangely anxious to spend more time with her… maybe, just maybe, in time you might see her come out of her shell.<<link "Continue" $currentScene>><</link>><</replace>><</link>></span><</if>>'
})>><<set $ElenaTriggers to []>>
<<set $ElenaUsedTriggers to ["blocked"]>>
<<set $ElenaShyTriggers to []>>
<<set $ElenaShyUsedTriggers to ["blocked"]>><<nobr>>
<<widget "addFatSlow">>
<<set $fatStore += parseFloat($args[0]) * $growthMod>>
<</widget>>
<</nobr>>Must have:
ELENA FOLLOWUP
• Story Update - Bob
• Rework dialogs to events - DONE
• park content - DONE
• Rebalance food time - DONE
• late game balance - DONE
• Potions Discoverable - DONE
• body measurable - DONE
• Lactation, including in the art
• Lactation
• More reactions and events DONE
• Furniture and uses
• Event system - DONE
• More events - DONE
Should Have - DONE
• More dialogs for all characters - DONE
Could have
• Cum, including in the art
Won't have
• Other dates<<nobr>>
<<widget "clothingSize">>
<<set _size to parseInt($args[0])>>
<<if _size is 0>> XXS
<<elseif _size is 1>> XS
<<elseif _size is 2>> S
<<elseif _size is 3>> M
<<elseif _size is 4>> L
<<elseif _size is 5>> XL
<<elseif _size < 8>>
<<set _amountX to Math.ceil((_size - 5) / 2)>>
X<<for _i to 0; _i < _amountX; _i ++>>X<</for>>L
<<else>>
<<print _size - 4>>XL
<</if>>
<</widget>>
<</nobr>><<nobr>>
<<widget "outfitDescription">>
<<if $outfit.style() != undefined>>The best way to describe your outfit is '<<print $outfit.style()>>'.<</if>> <<if $outfit.top() != undefined>>You're wearing a nice <<print $outfit.top().name>> with under it <<if $outfit.bra() != undefined>>a <<print $outfit.bra().name>> <<else>> nothing<</if>>.<<else>>You're not wearing a top, <<if $outfit.bra() != undefined>> your <<print $outfit.bra().name>> on full display. It might work in a gym, but it wouldn't be appropriate in many other places.<<else>>and no bra. Yeah, this wouldn't work for going outside.<</if>><</if>>
<<if $outfit.bottom() != undefined>>The <<print $outfit.bottom().name>> you're wearing is a nice addition to it <<if $outfit.underwear() == undefined>>. You're not wearing any underwear though, and it's not the most comfortable, if you're honest. But you're sure nobody will notice. You hope. <<else>> and your <<print $outfit.underwear().name>> brings some nice comfort.<</if>><<else>> You're not wearing any pants or something, <<if $outfit.underwear() != undefined>>Leaving your underwear on full display. Unless you're going swimming, you can't go out like this. <<else>> and neither are you wearing any underwear. You should put something on. <</if>>
<</if>>
<<if $outfit.shoes() != undefined>>Your <<print $outfit.shoes().name>> look good on you too!<<else>> You're not wearing any shoes though; might be comfortable if you do that, should you go outside.<</if>>
<</widget>>
<</nobr>><<if $simonOpinion is 0>><<goto "SimonIntroduction">><<elseif $simonOpinion >= 10 && $sewingUnlocked != true>><<goto "tailorUnlock">><<elseif $sewingUnlocked && $fabric > 0 && $quests[$sewingTutotial].started is true && $quests[$sewingTutotial].completed is false>><<goto "sewingTutorial">><</if>>Tucked into a tiny corner of the mall is a tailor. The signage is minimalist to the point of nonexistence, and the inside of the shop isn't any flashier. Bare walls and hard concrete floors with rack upon rack of clothes in every size imaginable, from doll-tiny to so big they seem like some sort of prank. And in the middle of it all sits a huge man, hunched over working the sowing machine with thick, muscular arms. He barely speaks, only nodding to acknowledge your arrival. Few know anything about him, but if the derelict sign outside is any indication, this is Simon, of Simon Sewing & Tailoring.
<<if $sewingUnlocked && $furniture.indexOf("sewing machine") is -1>><<if $money >= 100>><<link "Buy sewing machine ($100)" "Tailor">><<set $furniture.push("sewing machine")>><<set $money -= 100>><</link>><<else>> Buy sewing machine ($100) - you can't afford it.<</if>><</if>>
<<TailorWidget>>
<<link "Go back" "ShoppingCenter">><<addMinutes 5>><</link>><<widget "TailorWidget">>
<<set _outfitClothesIds to setup.getOutfitClothesArray().map(clothes => clothes.id)>> /* IDs of currently wearing clothes */
<<set _wardrobeTemp to $wardrobe.filter(clothes => !_outfitClothesIds.includes(clothes.id))>> /* clothes in wardrobe not wearing */
<<set _newClothes to JSON.parse(JSON.stringify(_wardrobeTemp))>>
<<set _getAllReadableSizes to function (clothes) {
const sizes = {};
for (let i = 0; i < setup.sizeDatabase.length; i++) {
sizes[setup.getReadableFitFromSize(i, clothes.slot, clothes.tolerance)] = i;
}
return sizes;
}>>
<table id="store">
<tr>
<th>Name</th>
<th>Current size</th>
<th>New size</th>
<th>Price</th>
<th>Have tailored</th>
</tr>
<<for _iTailoredList to 0; _iTailoredList < _wardrobeTemp.length; _iTailoredList ++>>
<<capture _iTailoredList>>
<tr class="row" @data-num="_iTailoredList">
<td><<print _wardrobeTemp[_iTailoredList].name>></td>
<td>
<<liveblock>>
<<print setup.getReadableFitFromClothing(_wardrobeTemp[_iTailoredList])>>
<</liveblock>>
</td>
<td>
<<listbox "_newClothes[_iTailoredList].size" autoselect>>
<<optionsfrom _getAllReadableSizes(_newClothes[_iTailoredList])>>
<</listbox>>
</td>
<td>
<<set _newClothes[_iTailoredList].price to 0>> /* initialize to 0 price */
<<liveblock>>
<span class="price">
<<print '$' + _newClothes[_iTailoredList].price>>
</span>
<</liveblock>>
</td>
<td class="action">
<<liveblock>>
<<if $money < _newClothes[_iTailoredList].price>>
You can't afford this
<<elseif _newClothes[_iTailoredList].size === _wardrobeTemp[_iTailoredList].size>>
Select a new size.
<<else>>
<<linkreplace "get tailored - 00:10 🕛">>
<<set $simonOpinion += 1>>
Tailored!
<<if _wardrobeTemp[_iTailoredList].bonuses.find(bonus => bonus.name === setup.clothingBonuses.Tailored.name) == null>>
<<set _wardrobeTemp[_iTailoredList].bonuses.push(setup.clothingBonuses.Tailored)>>
<</if>>
<<set _wardrobeTemp[_iTailoredList].size to _newClothes[_iTailoredList].size>>
<<set $money -= _newClothes[_iTailoredList].price>>
<<set _newClothes[_iTailoredList].price to 0>> /* reset tailoring price */
<<addMinutes 5>>
<<update>>
<</linkreplace>>
<</if>>
<</liveblock>>
</td>
</tr>
<</capture>>
<</for>>
</table>
<<timed 0s>><<script>>
$('.macro-listbox#listbox--newclothes-itailoredlistsize').on('change', function () {
const selectedSize = parseInt($(this).children(':selected').val());
const row = $(this).parents('.row');
row.find('.price').fadeOut(250, function () {
const rowIndex = parseInt(row.attr('data-num'));
const sizeMod = State.temporary.wardrobeTemp[rowIndex].size;
const sizeDifference = Math.abs(selectedSize - sizeMod);
const price = State.temporary.newClothes[rowIndex].size === State.temporary.wardrobeTemp[rowIndex].size ?
0 :
Math.round((20 * (0.5 * (State.temporary.wardrobeTemp[rowIndex].size + 1))) * (1 + ((sizeDifference / 3) * (sizeDifference / 3))));
State.temporary.newClothes[rowIndex].price = price;
$(this).fadeIn(250);
row.trigger(':liveupdate'); /* update current row only */
});
});
<</script>><</timed>>
<</widget>><<set setup.emptyClothes to {
id: -1,
name: 'clothes',
tolerance: null,
archetypes: [],
bonuses: [],
size: null,
slot: null
}>>
<<set setup.allStyles to [
'casual',
'tomboy',
'nerdy',
'professional',
'stylish',
'punk',
'sporty',
'sexy',
'girly'
]>>
/* Predefined clothing bonuses */
<<set setup.clothingBonuses to {
/*included */
Baggy: {
name: "Baggy",
description: "Hides all physical changes except for height, allowing you to suprise people when no longer wearing them.",
tightEffect: function () {
},
breakEffect: function () {
},
hideInStores: false
},
/*included */
LactationProof: {
name: "Lactation-proof",
description: "These clothes help you hide awkward 'leaking' incidents.",
tightEffect: function () {
},
breakEffect: function () {
},
hideInStores: false
},
/*included */
WorkoutWear: {
name: "Workout-wear",
description: "10% extra muscle growth from workouts when wearing an outfit with this bonus.",
tightEffect: function () {
},
breakEffect: function () {
},
hideInStores: false
},
/*included */
Comfortable: {
name: "Comfortable",
description: "Gain 10% extra motivation whenever you do something that gives motivation.",
tightEffect: function () {
},
breakEffect: function () {
},
hideInStores: false
},
/*included */
ExtraWarm: {
name: "Extra warm",
description: "Loose a bit of fat whenever you wear this.",
tightEffect: function () {
},
breakEffect: function () {
},
hideInStores: false
},
/*included */
Stretchy: {
name: "Stretchy",
description: "Stretchy enough that you can go outside in a stretchy outfit even if it really doesn't fit anymore... if you're confident enough.",
tightEffect: function () {
},
breakEffect: function () {
},
hideInStores: false
},
ShowingOff: {
name: "Showing-off",
description: "Makes your breasts more visible and look bigger.",
tightEffect: function () {
},
breakEffect: function () {
},
hideInStores: false
},
/*included */
Intimidating: {
name: "Intimidating",
description: "People will approach you less when walking outside.",
tightEffect: function () {
},
breakEffect: function () {
},
hideInStores: false
},
FavoriteStyle: {
name: "Favorite style",
description: "This outfit is really you, suiting your favorite style to a T.",
tightEffect: function () {
},
breakEffect: function () {
},
hideInStores: true
},
Tailored: {
name: "Tailored",
description: "This outfit is mostly tailored to you, giving you some extra size allowance.",
tightEffect: function () {
},
breakEffect: function () {
},
hideInStores: true
},
Crafted: {
name: "Hand-made",
description: "This outfit has a lot of hand-made elements, making it perfectly suitable for you!",
tightEffect: function () {
},
breakEffect: function () {
},
hideInStores: true
}
}>>
/* The predefined sizes in the game. */
<<set setup.sizeDatabase to [
{
muscleMin: 0,
muscleMax: 20,
fatMin: 0,
fatMax: 20,
heightMin: 0,
heightMax: 150,
breastsMin: 0,
breastsMax: 15,
thighsMin: 0,
thighsMax: 2,
assMin: 0,
AssMax: 2,
dickMin: 0,
dickMax: 3,
ballsMin: 0,
ballsMax: 3
},
{
muscleMin: 15,
muscleMax: 25,
fatMin: 15,
fatMax: 25,
heightMin: 140,
heightMax: 160,
breastsMin: 5,
breastsMax: 15,
thighsMin: 1,
thighsMax: 3,
assMin: 1,
AssMax: 3,
dickMin: 1,
dickMax: 4,
ballsMin: 1,
ballsMax: 3
},
{
muscleMin: 20,
muscleMax: 30,
fatMin: 20,
fatMax: 30,
heightMin: 150,
heightMax: 170,
breastsMin: 10,
breastsMax: 15,
thighsMin: 0,
thighsMax: 4,
assMin: 1,
AssMax: 3,
dickMin: 2,
dickMax: 5,
ballsMin: 1,
ballsMax: 3
},
{
muscleMin: 25,
muscleMax: 35,
fatMin: 25,
fatMax: 35,
heightMin: 160,
heightMax: 180,
breastsMin: 15,
breastsMax: 20,
thighsMin: 2,
thighsMax: 4,
assMin: 1,
AssMax: 3,
dickMin: 3,
dickMax: 6,
ballsMin: 1,
ballsMax: 3
},
{
muscleMin: 30,
muscleMax: 40,
fatMin: 30,
fatMax: 40,
heightMin: 170,
heightMax: 180,
breastsMin: 20,
breastsMax: 25,
thighsMin: 2,
thighsMax: 4,
assMin: 1,
AssMax: 3,
dickMin: 4,
dickMax: 7,
ballsMin: 1,
ballsMax: 3
},
{
muscleMin: 35,
muscleMax: 45,
fatMin: 35,
fatMax: 45,
heightMin: 180,
heightMax: 190,
breastsMin: 25,
breastsMax: 30,
thighsMin: 3,
thighsMax: 5,
assMin: 2,
AssMax: 4,
dickMin: 5,
dickMax: 8,
ballsMin: 2,
ballsMax: 4
},
{
muscleMin: 40,
muscleMax: 50,
fatMin: 40,
fatMax: 50,
heightMin: 190,
heightMax: 200,
breastsMin: 30,
breastsMax: 35,
thighsMin: 4,
thighsMax: 6,
assMin: 3,
AssMax: 5,
dickMin: 6,
dickMax: 9,
ballsMin: 3,
ballsMax: 5
},
{
muscleMin: 45,
muscleMax: 55,
fatMin: 45,
fatMax: 55,
heightMin: 200,
heightMax: 210,
breastsMin: 35,
breastsMax: 40,
thighsMin: 4,
thighsMax: 7,
assMin: 4,
AssMax: 6,
dickMin: 7,
dickMax: 10,
ballsMin: 4,
ballsMax: 6
},
{
muscleMin: 50,
muscleMax: 60,
fatMin: 50,
fatMax: 60,
heightMin: 210,
heightMax: 220,
breastsMin: 40,
breastsMax: 45,
thighsMin: 5,
thighsMax: 8,
assMin: 4,
AssMax: 7,
dickMin: 8,
dickMax: 11,
ballsMin: 4,
ballsMax: 7
},
{
muscleMin: 55,
muscleMax: 65,
fatMin: 55,
fatMax: 65,
heightMin: 220,
heightMax: 230,
breastsMin: 45,
breastsMax: 50,
thighsMin: 5,
thighsMax: 8,
assMin: 5,
AssMax: 5,
dickMin: 9,
dickMax: 12,
ballsMin: 5,
ballsMax: 8
},
{
muscleMin: 60,
muscleMax: 70,
fatMin: 60,
fatMax: 70,
heightMin: 230,
heightMax: 240,
breastsMin: 50,
breastsMax: 55,
thighsMin: 6,
thighsMax: 9,
assMin: 6,
AssMax: 9,
dickMin: 10,
dickMax: 13,
ballsMin: 6,
ballsMax: 9
},
{
muscleMin: 65,
muscleMax: 75,
fatMin: 65,
fatMax: 75,
heightMin: 240,
heightMax: 250,
breastsMin: 55,
breastsMax: 60,
thighsMin: 7,
thighsMax: 10,
assMin: 7,
AssMax: 10,
dickMin: 12,
dickMax: 15,
ballsMin: 7,
ballsMax: 10
},
{
muscleMin: 70,
muscleMax: 80,
fatMin: 70,
fatMax: 80,
heightMin: 250,
heightMax: 260,
breastsMin: 60,
breastsMax: 65,
thighsMin: 8,
thighsMax: 11,
assMin: 8,
AssMax: 11,
dickMin: 13,
dickMax: 16,
ballsMin: 8,
ballsMax: 11
},
{
muscleMin: 75,
muscleMax: 85,
fatMin: 75,
fatMax: 85,
heightMin: 260,
heightMax: 270,
breastsMin: 65,
breastsMax: 70,
thighsMin: 9,
thighsMax: 12,
assMin: 9,
AssMax: 12,
dickMin: 14,
dickMax: 17,
ballsMin: 9,
ballsMax: 12
},
{
muscleMin: 80,
muscleMax: 90,
fatMin: 80,
fatMax: 90,
heightMin: 270,
heightMax: 280,
breastsMin: 70,
breastsMax: 75,
thighsMin: 10,
thighsMax: 13,
assMin: 10,
AssMax: 13,
dickMin: 15,
dickMax: 18,
ballsMin: 10,
ballsMax: 13
},
{
muscleMin: 85,
muscleMax: 95,
fatMin: 85,
fatMax: 95,
heightMin: 280,
heightMax: 290,
breastsMin: 75,
breastsMax: 80,
thighsMin: 11,
thighsMax: 14,
assMin: 11,
AssMax: 14,
dickMin: 16,
dickMax: 19,
ballsMin: 11,
ballsMax: 14
},
{
muscleMin: 90,
muscleMax: 100,
fatMin: 90,
fatMax: 100,
heightMin: 290,
heightMax: 300,
breastsMin: 80,
breastsMax: 85,
thighsMin: 12,
thighsMax: 15,
assMin: 12,
AssMax: 15,
dickMin: 17,
dickMax: 20,
ballsMin: 12,
ballsMax: 15
},
{
muscleMin: 95,
muscleMax: 105,
fatMin: 95,
fatMax: 105,
heightMin: 300,
heightMax: 310,
breastsMin: 85,
breastsMax: 90,
thighsMin: 13,
thighsMax: 16,
assMin: 13,
AssMax: 16,
dickMin: 18,
dickMax: 21,
ballsMin: 13,
ballsMax: 16
},
{
muscleMin: 100,
muscleMax: 110,
fatMin: 100,
fatMax: 110,
heightMin: 310,
heightMax: 320,
breastsMin: 90,
breastsMax: 95,
thighsMin: 14,
thighsMax: 17,
assMin: 14,
AssMax: 17,
dickMin: 19,
dickMax: 22,
ballsMin: 14,
ballsMax: 17
},
{
muscleMin: 105,
muscleMax: 115,
fatMin: 105,
fatMax: 115,
heightMin: 320,
heightMax: 330,
breastsMin: 95,
breastsMax: 100,
thighsMin: 15,
thighsMax: 18,
assMin: 15,
AssMax: 18,
dickMin: 20,
dickMax: 23,
ballsMin: 15,
ballsMax: 18
},
{
muscleMin: 115,
muscleMax: 999,
fatMin: 115,
fatMax: 999,
heightMin: 330,
heightMax: 999,
breastsMin: 100,
breastsMax: 999,
thighsMin: 16,
thighsMax: 999,
assMin: 16,
AssMax: 999,
dickMin: 21,
dickMax: 999,
ballsMin: 16,
ballsMax: 999
}
]>>
/* The name for the given size index of setup.sizeDatabase */
<<set setup.getSizeName to function (sizeIndex) {
if (sizeIndex < 0) {
throw 'The size index must be 0 or bigger';
}
if (sizeIndex === 0) {
return 'XS';
} else if (sizeIndex === 1) {
return 'S';
} else if (sizeIndex === 2) {
return 'M';
} else if (sizeIndex < 7) {
let sizeName = '';
for (let i = 0; i < sizeIndex - 3; i++) {
sizeName += 'X';
}
return sizeName + 'L';
} else {
return sizeIndex - 3 + 'XL';
}
}>>
/* The names for the all sizes listed in setup.sizeDatabase */
<<set setup.getAllSizeNames to function () {
let sizeNames = [];
for (let size = 0; size < setup.sizeDatabase.length; size++) {
sizeNames.push(setup.getSizeName(size));
}
return sizeNames;
}>>
/* The names for the sizes listed in setup.sizeDatabase*/
/* TODO deprecated. Use setup.getSizeName(sizeIndex) or setup.getAllSizeNames() instead. Remove this when possible - waffle */
<<set setup.sizeStrings to [ /**/
'XS',
'S',
'M',
'L',
'XL',
'XXL',
'XXXL',
'4XL',
'5XL',
'6XL',
'7XL',
'8XL',
'9XL',
'10XL',
'11XL',
'13XL',
'14XL',
'15XL'
]>>
/* Central list of all clothing in the game. From this objects will be
added to the stores. Divided by category. undefined values are intended,
and will be filled in when they enter the stores. */
<<set setup.allClothes to []>>
/* Populates the central clothing list with items from
https://docs.google.com/spreadsheets/d/1IznLvsPDhgNDmq0T1S87PWJoSo-FiUSQuqK7YRyupI4/edit?usp=sharing */
<<script>>
console.log('prepping data for clothing');
var jObjects = JSON.parse(`[
{
"name": "plain t-shirt",
"slot": "top",
"tolerance": "1.3",
"bonusesString": "WorkoutWear Comfortable",
"archetypes": "casual tomboy",
"baseCost": "20",
"AA": "0.9",
"AAMIN": "0",
"AAMAX": "6",
"AACM": "1",
"BB": "0.9",
"BBMIN": "3",
"BBMAX": "7",
"BBCM": "1",
"BT": "0.95",
"BTMIN": "4",
"BTMAX": "9",
"BTCM": "1.2",
"TT": "0.9",
"TTMIN": "0",
"TTMAX": "6",
"TTCM": "0.9",
"WEB": "1",
"WBMIN": "0",
"WBMAX": "18",
"WBCM": "1.2"
},
{
"name": "geeky t-shirt",
"slot": "top",
"tolerance": "1.3",
"bonusesString": "Comfortable Stretchy",
"archetypes": "casual tomboy nerdy",
"baseCost": "35",
"AA": "0.5",
"AAMIN": "0",
"AAMAX": "5",
"AACM": "1",
"BB": "0",
"BBMIN": "null",
"BBMAX": "null",
"BBCM": "null",
"BT": "0.75",
"BTMIN": "4",
"BTMAX": "9",
"BTCM": "1.2",
"TT": "0.75",
"TTMIN": "0",
"TTMAX": "8",
"TTCM": "0.9",
"WEB": "1",
"WBMIN": "0",
"WBMAX": "18",
"WBCM": "1.2"
},
{
"name": "button down shirt",
"slot": "top",
"tolerance": "1.3",
"archetypes": "casual nerdy professional",
"baseCost": "35",
"AA": "0.95",
"AAMIN": "0",
"AAMAX": "5",
"AACM": "1",
"BB": "0",
"BBMIN": "null",
"BBMAX": "null",
"BBCM": "null",
"BT": "0.8",
"BTMIN": "4",
"BTMAX": "9",
"BTCM": "1.2",
"TT": "0.5",
"TTMIN": "0",
"TTMAX": "8",
"TTCM": "0.9",
"WEB": "1",
"WBMIN": "0",
"WBMAX": "18",
"WBCM": "1.2"
},
{
"name": "dress shirt",
"slot": "top",
"tolerance": "1.1",
"archetypes": "nerdy stylish professional",
"baseCost": "50",
"AA": "0.95",
"AAMIN": "0",
"AAMAX": "5",
"AACM": "1",
"BB": "0",
"BBMIN": "null",
"BBMAX": "null",
"BBCM": "null",
"BT": "0.8",
"BTMIN": "4",
"BTMAX": "9",
"BTCM": "1.2",
"TT": "0.4",
"TTMIN": "0",
"TTMAX": "8",
"TTCM": "0.9",
"WEB": "1",
"WBMIN": "0",
"WBMAX": "18",
"WBCM": "1.2"
},
{
"name": "torn shirt",
"slot": "top",
"tolerance": "1.5",
"bonusesString": "Stretchy",
"archetypes": "punk tomboy sporty",
"baseCost": "15",
"AA": "0.7",
"AAMIN": "0",
"AAMAX": "5",
"AACM": "1",
"BB": "0.75",
"BBMIN": "2",
"BBMAX": "7",
"BBCM": "1",
"BT": "0.75",
"BTMIN": "4",
"BTMAX": "9",
"BTCM": "1.2",
"TT": "0.6",
"TTMIN": "0",
"TTMAX": "8",
"TTCM": "0.9",
"WEB": "0.95",
"WBMIN": "0",
"WBMAX": "18",
"WBCM": "1.2"
},
{
"name": "black halter top",
"slot": "top",
"tolerance": "1.3",
"bonusesString": "Intimidating",
"archetypes": "sexy stylish punk",
"baseCost": "85",
"AA": "0.85",
"AAMIN": "0",
"AAMAX": "5",
"AACM": "1",
"BB": "0",
"BBMIN": "null",
"BBMAX": "null",
"BBCM": "null",
"BT": "0.5",
"BTMIN": "4",
"BTMAX": "9",
"BTCM": "1.2",
"TT": "0.25",
"TTMIN": "0",
"TTMAX": "8",
"TTCM": "0.9",
"WEB": "1",
"WBMIN": "0",
"WBMAX": "18",
"WBCM": "1.2"
},
{
"name": "crop top",
"slot": "top",
"tolerance": "1.3",
"bonusesString": "WorkoutWear",
"archetypes": "sexy casual",
"baseCost": "65",
"AA": "0.75",
"AAMIN": "0",
"AAMAX": "5",
"AACM": "1",
"BB": "0",
"BBMIN": "null",
"BBMAX": "null",
"BBCM": "null",
"BT": "0.5",
"BTMIN": "4",
"BTMAX": "9",
"BTCM": "1.2",
"TT": "0.25",
"TTMIN": "0",
"TTMAX": "8",
"TTCM": "0.9",
"WEB": "1",
"WBMIN": "0",
"WBMAX": "18",
"WBCM": "1.2"
},
{
"name": "tank top",
"slot": "top",
"tolerance": "1.3",
"bonusesString": "WorkoutWear",
"archetypes": "sporty tomboy casual",
"baseCost": "20",
"AA": "0.65",
"AAMIN": "0",
"AAMAX": "5",
"AACM": "1",
"BB": "0.95",
"BBMIN": "2",
"BBMAX": "7",
"BBCM": "1",
"BT": "0.85",
"BTMIN": "4",
"BTMAX": "9",
"BTCM": "1.2",
"TT": "0.75",
"TTMIN": "0",
"TTMAX": "8",
"TTCM": "0.9",
"WEB": "1",
"WBMIN": "0",
"WBMAX": "18",
"WBCM": "1.2"
},
{
"name": "halter top",
"slot": "top",
"tolerance": "1.3",
"bonusesString": "ShowingOff",
"archetypes": "sexy stylish",
"baseCost": "25",
"AA": "0.5",
"AAMIN": "0",
"AAMAX": "5",
"AACM": "1",
"BB": "0.75",
"BBMIN": "2",
"BBMAX": "7",
"BBCM": "1",
"BT": "0.65",
"BTMIN": "4",
"BTMAX": "9",
"BTCM": "1.2",
"TT": "0.45",
"TTMIN": "0",
"TTMAX": "8",
"TTCM": "0.9",
"WEB": "1",
"WBMIN": "0",
"WBMAX": "18",
"WBCM": "1.2"
},
{
"name": "fish-net top",
"slot": "top",
"tolerance": "1.5",
"bonusesString": "ShowingOff",
"archetypes": "punk sexy stylish",
"baseCost": "85",
"AA": "0.7",
"AAMIN": "0",
"AAMAX": "5",
"AACM": "1",
"BB": "0",
"BBMIN": "null",
"BBMAX": "null",
"BBCM": "null",
"BT": "0",
"BTMIN": "null",
"BTMAX": "null",
"BTCM": "null",
"TT": "0.2",
"TTMIN": "0",
"TTMAX": "8",
"TTCM": "0.9",
"WEB": "0.9",
"WBMIN": "0",
"WBMAX": "18",
"WBCM": "1.5"
},
{
"name": "hoodie",
"slot": "overwear",
"tolerance": "1.5",
"bonusesString": "Baggy LactationProof ExtraWarm",
"archetypes": "casual tomboy punk sporty",
"baseCost": "50",
"AA": "0.8",
"AAMIN": "0",
"AAMAX": "5",
"AACM": "1",
"BB": "0.5",
"BBMIN": "2",
"BBMAX": "7",
"BBCM": "1",
"BT": "0.65",
"BTMIN": "4",
"BTMAX": "9",
"BTCM": "1.2",
"TT": "0.3",
"TTMIN": "0",
"TTMAX": "8",
"TTCM": "0.9",
"WEB": "1",
"WBMIN": "0",
"WBMAX": "18",
"WBCM": "1.2"
},
{
"name": "black trenchcoat",
"slot": "overwear",
"tolerance": "1.3",
"bonusesString": "Baggy",
"archetypes": "tomboy punk",
"baseCost": "120",
"AA": "0.3",
"AAMIN": "0",
"AAMAX": "5",
"AACM": "1",
"BB": "0",
"BBMIN": "null",
"BBMAX": "null",
"BBCM": "null",
"BT": "0",
"BTMIN": "null",
"BTMAX": "null",
"BTCM": "null",
"TT": "0.2",
"TTMIN": "0",
"TTMAX": "8",
"TTCM": "0.9",
"WEB": "0.9",
"WBMIN": "0",
"WBMAX": "18",
"WBCM": "1.5"
},
{
"name": "tailored jacket",
"slot": "overwear",
"tolerance": "1.1",
"archetypes": "professional stylish",
"baseCost": "200",
"AA": "0.8",
"AAMIN": "0",
"AAMAX": "5",
"AACM": "1",
"BB": "0",
"BBMIN": "null",
"BBMAX": "null",
"BBCM": "null",
"BT": "0.3",
"BTMIN": "4",
"BTMAX": "9",
"BTCM": "1.2",
"TT": "0.1",
"TTMIN": "0",
"TTMAX": "8",
"TTCM": "0.9",
"WEB": "1",
"WBMIN": "0",
"WBMAX": "18",
"WBCM": "1.8"
},
{
"name": "leather jacket",
"slot": "overwear",
"tolerance": "1.1",
"archetypes": "punk",
"baseCost": "95",
"AA": "0.3",
"AAMIN": "0",
"AAMAX": "5",
"AACM": "1",
"BB": "0.2",
"BBMIN": "2",
"BBMAX": "7",
"BBCM": "1",
"BT": "0.4",
"BTMIN": "4",
"BTMAX": "9",
"BTCM": "1.2",
"TT": "0.3",
"TTMIN": "0",
"TTMAX": "8",
"TTCM": "0.9",
"WEB": ".9",
"WBMIN": "0",
"WBMAX": "18",
"WBCM": "1.5"
},
{
"name": "vest",
"slot": "overwear",
"tolerance": "1.1",
"archetypes": "stylish professional",
"baseCost": "50",
"AA": "0.45",
"AAMIN": "0",
"AAMAX": "5",
"AACM": "1",
"BB": "0",
"BBMIN": "null",
"BBMAX": "null",
"BBCM": "null",
"BT": "0.45",
"BTMIN": "4",
"BTMAX": "9",
"BTCM": "1.2",
"TT": "0.4",
"TTMIN": "0",
"TTMAX": "8",
"TTCM": "0.9",
"WEB": "1",
"WBMIN": "0",
"WBMAX": "18",
"WBCM": "1.2"
},
{
"name": "sweater",
"slot": "overwear",
"tolerance": "1.5",
"bonusesString": "Baggy LactationProof Comfortable ExtraWarm",
"archetypes": "casual nerdy",
"baseCost": "35",
"AA": "0.8",
"AAMIN": "0",
"AAMAX": "5",
"AACM": "1",
"BB": "0",
"BBMIN": "null",
"BBMAX": "null",
"BBCM": "null",
"BT": "0.45",
"BTMIN": "4",
"BTMAX": "9",
"BTCM": "1.2",
"TT": "0.25",
"TTMIN": "0",
"TTMAX": "8",
"TTCM": "0.9",
"WEB": "1",
"WBMIN": "0",
"WBMAX": "18",
"WBCM": "1.2"
},
{
"name": "cat ear hoodie",
"slot": "overwear",
"tolerance": "1.5",
"bonusesString": "Baggy LactationProof Comfortable ExtraWarm",
"archetypes": "nerdy casual girly",
"baseCost": "50",
"AA": "0.2",
"AAMIN": "0",
"AAMAX": "5",
"AACM": "1",
"BB": "0",
"BBMIN": "null",
"BBMAX": "null",
"BBCM": "null",
"BT": "0",
"BTMIN": "null",
"BTMAX": "null",
"BTCM": "null",
"TT": "0.1",
"TTMIN": "0",
"TTMAX": "8",
"TTCM": "0.9",
"WEB": "0.95",
"WBMIN": "0",
"WBMAX": "18",
"WBCM": "1.5"
},
{
"name": "track top",
"slot": "overwear",
"tolerance": "1.5",
"bonusesString": "WorkoutWear ExtraWarm",
"archetypes": "sporty casual tomboy",
"baseCost": "65",
"AA": "0.3",
"AAMIN": "0",
"AAMAX": "5",
"AACM": "1",
"BB": "0.95",
"BBMIN": "2",
"BBMAX": "7",
"BBCM": "1",
"BT": "0.75",
"BTMIN": "4",
"BTMAX": "9",
"BTCM": "1.2",
"TT": "0.3",
"TTMIN": "0",
"TTMAX": "8",
"TTCM": "0.9",
"WEB": "1",
"WBMIN": "0",
"WBMAX": "18",
"WBCM": "1.2"
},
{
"name": "gothic vest",
"slot": "overwear",
"tolerance": "1.1",
"archetypes": "punk",
"baseCost": "75",
"AA": "0.2",
"AAMIN": "0",
"AAMAX": "5",
"AACM": "1",
"BB": "0",
"BBMIN": "null",
"BBMAX": "null",
"BBCM": "null",
"BT": "0.2",
"BTMIN": "4",
"BTMAX": "9",
"BTCM": "1.2",
"TT": "0.2",
"TTMIN": "0",
"TTMAX": "8",
"TTCM": "0.9",
"WEB": "0.9",
"WBMIN": "0",
"WBMAX": "18",
"WBCM": "1.8"
},
{
"name": "spiked jacket",
"slot": "overwear",
"tolerance": "1.1",
"bonusesString": "Intimidating",
"archetypes": "punk stylish sexy",
"baseCost": "75",
"AA": "0",
"AAMIN": "null",
"AAMAX": "null",
"AACM": "null",
"BB": "0",
"BBMIN": "null",
"BBMAX": "null",
"BBCM": "null",
"BT": "0",
"BTMIN": "null",
"BTMAX": "null",
"BTCM": "null",
"TT": "0.1",
"TTMIN": "0",
"TTMAX": "8",
"TTCM": "0.9",
"WEB": "0.8",
"WBMIN": "0",
"WBMAX": "18",
"WBCM": "1.8"
},
{
"name": "sports bra",
"slot": "bra",
"tolerance": "1.1",
"bonusesString": "WorkoutWear",
"archetypes": "sporty",
"baseCost": "50",
"AA": "0",
"AAMIN": "null",
"AAMAX": "null",
"AACM": "null",
"BB": "0.75",
"BBMIN": "2",
"BBMAX": "7",
"BBCM": "1",
"BT": "0",
"BTMIN": "null",
"BTMAX": "null",
"BTCM": "null",
"TT": "0.1",
"TTMIN": "0",
"TTMAX": "8",
"TTCM": "0.9",
"WEB": "1",
"WBMIN": "0",
"WBMAX": "18",
"WBCM": "1.2"
},
{
"name": "cotton bra",
"slot": "bra",
"tolerance": "1.2",
"bonusesString": "Comfortable",
"archetypes": "casual",
"baseCost": "40",
"AA": "0.75",
"AAMIN": "0",
"AAMAX": "5",
"AACM": "1",
"BB": "0",
"BBMIN": "null",
"BBMAX": "null",
"BBCM": "null",
"BT": "0.35",
"BTMIN": "4",
"BTMAX": "9",
"BTCM": "1.2",
"TT": "0.3",
"TTMIN": "0",
"TTMAX": "8",
"TTCM": "0.9",
"WEB": "1",
"WBMIN": "0",
"WBMAX": "18",
"WBCM": "1.2"
},
{
"name": "push-up bra",
"slot": "bra",
"tolerance": "1.1",
"bonusesString": "ShowingOff",
"archetypes": "casual sexy",
"baseCost": "60",
"AA": "0.75",
"AAMIN": "0",
"AAMAX": "5",
"AACM": "1",
"BB": "0",
"BBMIN": "null",
"BBMAX": "null",
"BBCM": "null",
"BT": "0.35",
"BTMIN": "4",
"BTMAX": "9",
"BTCM": "1.2",
"TT": "0.3",
"TTMIN": "0",
"TTMAX": "8",
"TTCM": "0.9",
"WEB": "1",
"WBMIN": "0",
"WBMAX": "18",
"WBCM": "1.2"
},
{
"name": "lace bra",
"slot": "bra",
"tolerance": "1.1",
"bonusesString": "ShowingOff",
"archetypes": "stylish sexy girly",
"baseCost": "80",
"AA": "0.7",
"AAMIN": "0",
"AAMAX": "5",
"AACM": "1",
"BB": "0",
"BBMIN": "null",
"BBMAX": "null",
"BBCM": "null",
"BT": "0",
"BTMIN": "null",
"BTMAX": "null",
"BTCM": "null",
"TT": "0",
"TTMIN": "null",
"TTMAX": "null",
"TTCM": "null",
"WEB": "1",
"WBMIN": "0",
"WBMAX": "18",
"WBCM": "1.2"
},
{
"name": "maternity bra",
"slot": "bra",
"tolerance": "1.3",
"bonusesString": "LactationProof Stretchy",
"archetypes": "casual",
"baseCost": "50",
"AA": "0.7",
"AAMIN": "0",
"AAMAX": "5",
"AACM": "1",
"BB": "0",
"BBMIN": "null",
"BBMAX": "null",
"BBCM": "null",
"BT": "0",
"BTMIN": "null",
"BTMAX": "null",
"BTCM": "null",
"TT": "0.1",
"TTMIN": "0",
"TTMAX": "8",
"TTCM": "0.9",
"WEB": "1",
"WBMIN": "0",
"WBMAX": "18",
"WBCM": "1.2"
},
{
"name": "checkered skirt",
"slot": "bottom",
"tolerance": "1.3",
"bonusesString": "ExtraWarm",
"archetypes": "casual nerdy",
"baseCost": "60",
"AA": "0.7",
"AAMIN": "0",
"AAMAX": "5",
"AACM": "1",
"BB": "0",
"BBMIN": "null",
"BBMAX": "null",
"BBCM": "null",
"BT": "0",
"BTMIN": "null",
"BTMAX": "null",
"BTCM": "null",
"TT": "0.2",
"TTMIN": "0",
"TTMAX": "8",
"TTCM": "0.9",
"WEB": "1",
"WBMIN": "0",
"WBMAX": "18",
"WBCM": "1.2"
},
{
"name": "dress pants",
"slot": "bottom",
"tolerance": "1.1",
"bonusesString": "ExtraWarm",
"archetypes": "stylish professional",
"baseCost": "100",
"AA": "0.7",
"AAMIN": "0",
"AAMAX": "5",
"AACM": "1",
"BB": "0",
"BBMIN": "null",
"BBMAX": "null",
"BBCM": "null",
"BT": "0.7",
"BTMIN": "4",
"BTMAX": "9",
"BTCM": "1.2",
"TT": "0.1",
"TTMIN": "0",
"TTMAX": "8",
"TTCM": "0.9",
"WEB": "0.9",
"WBMIN": "0",
"WBMAX": "18",
"WBCM": "1.2"
},
{
"name": "torn jeans",
"slot": "bottom",
"tolerance": "1.1",
"bonusesString": "Intimidating",
"archetypes": "punk casual tomboy",
"baseCost": "40",
"AA": "0.4",
"AAMIN": "0",
"AAMAX": "5",
"AACM": "1",
"BB": "0",
"BBMIN": "null",
"BBMAX": "null",
"BBCM": "null",
"BT": "0.55",
"BTMIN": "4",
"BTMAX": "9",
"BTCM": "1.2",
"TT": "0.4",
"TTMIN": "0",
"TTMAX": "8",
"TTCM": "0.9",
"WEB": "0.95",
"WBMIN": "0",
"WBMAX": "18",
"WBCM": "1.5"
},
{
"name": "black skirt",
"slot": "bottom",
"tolerance": "1.3",
"archetypes": "punk professional",
"baseCost": "50",
"AA": "0.6",
"AAMIN": "0",
"AAMAX": "5",
"AACM": "1",
"BB": "0",
"BBMIN": "null",
"BBMAX": "null",
"BBCM": "null",
"BT": "0",
"BTMIN": "null",
"BTMAX": "null",
"BTCM": "null",
"TT": "0.3",
"TTMIN": "0",
"TTMAX": "8",
"TTCM": "0.9",
"WEB": "1",
"WBMIN": "0",
"WBMAX": "18",
"WBCM": "1.2"
},
{
"name": "jeans",
"slot": "bottom",
"tolerance": "1.1",
"bonusesString": "Comfortable",
"archetypes": "casual nerdy",
"baseCost": "30",
"AA": "0.95",
"AAMIN": "0",
"AAMAX": "5",
"AACM": "1",
"BB": "0",
"BBMIN": "null",
"BBMAX": "null",
"BBCM": "null",
"BT": "0.75",
"BTMIN": "4",
"BTMAX": "9",
"BTCM": "1.2",
"TT": "0.4",
"TTMIN": "0",
"TTMAX": "8",
"TTCM": "0.9",
"WEB": "1",
"WBMIN": "0",
"WBMAX": "18",
"WBCM": "1.2"
},
{
"name": "jogging pants",
"slot": "bottom",
"tolerance": "1.3",
"bonusesString": "Baggy WorkoutWear",
"archetypes": "casual sporty",
"baseCost": "30",
"AA": "0",
"AAMIN": "null",
"AAMAX": "null",
"AACM": "null",
"BB": "0.95",
"BBMIN": "2",
"BBMAX": "7",
"BBCM": "1",
"BT": "0.5",
"BTMIN": "4",
"BTMAX": "9",
"BTCM": "1.2",
"TT": "0.2",
"TTMIN": "0",
"TTMAX": "8",
"TTCM": "0.9",
"WEB": "1",
"WBMIN": "0",
"WBMAX": "18",
"WBCM": "1.2"
},
{
"name": "yoga pants",
"slot": "bottom",
"tolerance": "1.3",
"bonusesString": "WorkoutWear Stretchy",
"archetypes": "sporty",
"baseCost": "40",
"AA": "0.2",
"AAMIN": "0",
"AAMAX": "5",
"AACM": "1",
"BB": "0.65",
"BBMIN": "2",
"BBMAX": "7",
"BBCM": "1",
"BT": "0.65",
"BTMIN": "4",
"BTMAX": "9",
"BTCM": "1.2",
"TT": "0.3",
"TTMIN": "0",
"TTMAX": "8",
"TTCM": "0.9",
"WEB": "1",
"WBMIN": "0",
"WBMAX": "18",
"WBCM": "1.2"
},
{
"name": "shorts",
"slot": "bottom",
"tolerance": "1.3",
"bonusesString": "Comfortable",
"archetypes": "sporty nerdy tomboy",
"baseCost": "50",
"AA": "0.65",
"AAMIN": "0",
"AAMAX": "5",
"AACM": "1",
"BB": "0.95",
"BBMIN": "2",
"BBMAX": "7",
"BBCM": "1",
"BT": "0.5",
"BTMIN": "4",
"BTMAX": "9",
"BTCM": "1.2",
"TT": "0.3",
"TTMIN": "0",
"TTMAX": "8",
"TTCM": "0.9",
"WEB": "1",
"WBMIN": "0",
"WBMAX": "18",
"WBCM": "1.2"
},
{
"name": "baggy pants",
"slot": "bottom",
"tolerance": "1.5",
"bonusesString": "Baggy Comfortable",
"archetypes": "casual tomboy",
"baseCost": "40",
"AA": "0.75",
"AAMIN": "0",
"AAMAX": "5",
"AACM": "1",
"BB": "0",
"BBMIN": "null",
"BBMAX": "null",
"BBCM": "null",
"BT": "0.5",
"BTMIN": "4",
"BTMAX": "9",
"BTCM": "1.2",
"TT": "0.2",
"TTMIN": "0",
"TTMAX": "8",
"TTCM": "0.9",
"WEB": "1",
"WBMIN": "0",
"WBMAX": "18",
"WBCM": "1.2"
},
{
"name": "boyshorts",
"slot": "underwear",
"tolerance": "1.3",
"bonusesString": "Comfortable Stretchy",
"archetypes": "tomboy casual",
"baseCost": "20",
"AA": "0.3",
"AAMIN": "0",
"AAMAX": "5",
"AACM": "1",
"BB": "0.4",
"BBMIN": "2",
"BBMAX": "7",
"BBCM": "1",
"BT": "0.4",
"BTMIN": "4",
"BTMAX": "9",
"BTCM": "1.2",
"TT": "0.1",
"TTMIN": "0",
"TTMAX": "8",
"TTCM": "0.9",
"WEB": "1",
"WBMIN": "0",
"WBMAX": "18",
"WBCM": "1.2"
},
{
"name": "briefs",
"slot": "underwear",
"tolerance": "1.3",
"bonusesString": "Comfortable",
"archetypes": "casual",
"baseCost": "25",
"AA": "0.8",
"AAMIN": "0",
"AAMAX": "5",
"AACM": "1",
"BB": "0",
"BBMIN": "null",
"BBMAX": "null",
"BBCM": "null",
"BT": "0.5",
"BTMIN": "4",
"BTMAX": "9",
"BTCM": "1.2",
"TT": "0.1",
"TTMIN": "0",
"TTMAX": "8",
"TTCM": "0.9",
"WEB": "1",
"WBMIN": "0",
"WBMAX": "18",
"WBCM": "1.2"
},
{
"name": "hipster shorts",
"slot": "underwear",
"tolerance": "1.3",
"archetypes": "stylish casual",
"baseCost": "35",
"AA": "0.4",
"AAMIN": "0",
"AAMAX": "5",
"AACM": "1",
"BB": "0",
"BBMIN": "null",
"BBMAX": "null",
"BBCM": "null",
"BT": "0",
"BTMIN": "null",
"BTMAX": "null",
"BTCM": "null",
"TT": "0.1",
"TTMIN": "0",
"TTMAX": "8",
"TTCM": "0.9",
"WEB": "0.9",
"WBMIN": "0",
"WBMAX": "18",
"WBCM": "1.5"
},
{
"name": "sneakers",
"slot": "shoes",
"tolerance": "1.3",
"bonusesString": "WorkoutWear Comfortable",
"archetypes": "casual sporty nerdy",
"baseCost": "60",
"AA": "0.95",
"AAMIN": "0",
"AAMAX": "5",
"AACM": "1",
"BB": "0.65",
"BBMIN": "2",
"BBMAX": "7",
"BBCM": "1",
"BT": "0.95",
"BTMIN": "4",
"BTMAX": "9",
"BTCM": "1.2",
"TT": "0.4",
"TTMIN": "0",
"TTMAX": "8",
"TTCM": "0.9",
"WEB": "1",
"WBMIN": "0",
"WBMAX": "18",
"WBCM": "1.2"
},
{
"name": "runners",
"slot": "shoes",
"tolerance": "1.3",
"bonusesString": "WorkoutWear",
"archetypes": "casual sporty nerdy",
"baseCost": "75",
"AA": "0",
"AAMIN": "null",
"AAMAX": "null",
"AACM": "null",
"BB": "0.65",
"BBMIN": "2",
"BBMAX": "7",
"BBCM": "1",
"BT": "0.75",
"BTMIN": "4",
"BTMAX": "9",
"BTCM": "1.2",
"TT": "0.4",
"TTMIN": "0",
"TTMAX": "8",
"TTCM": "0.9",
"WEB": "1",
"WBMIN": "0",
"WBMAX": "18",
"WBCM": "1.2"
},
{
"name": "combat boots",
"slot": "shoes",
"tolerance": "1.3",
"bonusesString": "Intimidating",
"archetypes": "punk tomboy",
"baseCost": "100",
"AA": "0.4",
"AAMIN": "0",
"AAMAX": "5",
"AACM": "1",
"BB": "0",
"BBMIN": "null",
"BBMAX": "null",
"BBCM": "null",
"BT": "0",
"BTMIN": "null",
"BTMAX": "null",
"BTCM": "null",
"TT": "0.3",
"TTMIN": "0",
"TTMAX": "8",
"TTCM": "0.9",
"WEB": "0.9",
"WBMIN": "0",
"WBMAX": "18",
"WBCM": "1.8"
},
{
"name": "platform boots",
"slot": "shoes",
"tolerance": "1.3",
"archetypes": "stylish",
"baseCost": "80",
"AA": "0.75",
"AAMIN": "0",
"AAMAX": "5",
"AACM": "1",
"BB": "0",
"BBMIN": "null",
"BBMAX": "null",
"BBCM": "null",
"BT": "0.4",
"BTMIN": "4",
"BTMAX": "9",
"BTCM": "1.2",
"TT": "0.2",
"TTMIN": "0",
"TTMAX": "8",
"TTCM": "0.9",
"WEB": "0.9",
"WBMIN": "0",
"WBMAX": "18",
"WBCM": "1.8"
},
{
"name": "lace up boots",
"slot": "shoes",
"tolerance": "1.3",
"archetypes": "punk stylish sexy",
"baseCost": "120",
"AA": "0.75",
"AAMIN": "0",
"AAMAX": "5",
"AACM": "1",
"BB": "0",
"BBMIN": "null",
"BBMAX": "null",
"BBCM": "null",
"BT": "0.7",
"BTMIN": "4",
"BTMAX": "9",
"BTCM": "1.2",
"TT": "0.2",
"TTMIN": "0",
"TTMAX": "8",
"TTCM": "0.9",
"WEB": "1",
"WBMIN": "0",
"WBMAX": "18",
"WBCM": "1.5"
},
{
"name": "heels",
"slot": "shoes",
"tolerance": "1.3",
"archetypes": "stylish professional",
"baseCost": "75",
"AA": "0.95",
"AAMIN": "0",
"AAMAX": "5",
"AACM": "1",
"BB": "0",
"BBMIN": "null",
"BBMAX": "null",
"BBCM": "null",
"BT": "0.95",
"BTMIN": "4",
"BTMAX": "9",
"BTCM": "1.2",
"TT": "0.4",
"TTMIN": "0",
"TTMAX": "8",
"TTCM": "0.9",
"WEB": "1",
"WBMIN": "0",
"WBMAX": "18",
"WBCM": "1.5"
},
{
"name": "flip flops",
"slot": "shoes",
"tolerance": "1.3",
"bonusesString": "Comfortable",
"archetypes": "nerdy casual",
"baseCost": "10",
"AA": "0.75",
"AAMIN": "0",
"AAMAX": "5",
"AACM": "1",
"BB": "0.4",
"BBMIN": "2",
"BBMAX": "7",
"BBCM": "1",
"BT": "0.95",
"BTMIN": "4",
"BTMAX": "9",
"BTCM": "1.2",
"TT": "0.4",
"TTMIN": "0",
"TTMAX": "8",
"TTCM": "0.9",
"WEB": "1",
"WBMIN": "0",
"WBMAX": "18",
"WBCM": "1.2"
},
{
"name": "ankle boots",
"slot": "shoes",
"tolerance": "1.3",
"archetypes": "stylish professional casual",
"baseCost": "120",
"AA": "0.75",
"AAMIN": "0",
"AAMAX": "5",
"AACM": "1",
"BB": "0",
"BBMIN": "null",
"BBMAX": "null",
"BBCM": "null",
"BT": "0.7",
"BTMIN": "4",
"BTMAX": "9",
"BTCM": "1.2",
"TT": "0.3",
"TTMIN": "0",
"TTMAX": "8",
"TTCM": "0.9",
"WEB": "1",
"WBMIN": "0",
"WBMAX": "18",
"WBCM": "1.2"
},
{
"name": "stilleto heels",
"slot": "shoes",
"tolerance": "1.3",
"bonusesString": "Intimidating",
"archetypes": "stylish sexy",
"baseCost": "175",
"AA": "0.65",
"AAMIN": "0",
"AAMAX": "5",
"AACM": "1",
"BB": "0",
"BBMIN": "null",
"BBMAX": "null",
"BBCM": "null",
"BT": "0",
"BTMIN": "null",
"BTMAX": "null",
"BTCM": "null",
"TT": "0.2",
"TTMIN": "0",
"TTMAX": "8",
"TTCM": "0.9",
"WEB": "0.9",
"WBMIN": "0",
"WBMAX": "18",
"WBCM": "1.8"
}
]`);
for (let i = 0; i < jObjects.length; i++) {
jObjects[i].storeInfo = {};
if (!isNaN((Number(jObjects[i].TT)))) {
jObjects[i].storeInfo.tasha = {
chance: Number(jObjects[i].TT),
availableSizes: [Number(jObjects[i].TTMIN), Number(jObjects[i].TTMAX)],
costModifier: Number(jObjects[i].AACM)
};
}
delete jObjects[i].TT;
delete jObjects[i].TTMIN;
delete jObjects[i].TTMAX;
delete jObjects[i].TTCM;
if (!isNaN((Number(jObjects[i].BB)))) {
jObjects[i].storeInfo.bulkBarn = {
chance: Number(jObjects[i].BB),
availableSizes: [Number(jObjects[i].BBMIN), Number(jObjects[i].BBMAX)],
costModifier: Number(jObjects[i].BBCM)
};
}
delete jObjects[i].BB;
delete jObjects[i].BBMIN;
delete jObjects[i].BBMAX;
delete jObjects[i].BBCM;
if (!isNaN(Number(jObjects[i].BT))) {
jObjects[i].storeInfo.bigTall = {
chance: Number(jObjects[i].BT),
availableSizes: [Number(jObjects[i].BTMIN), Number(jObjects[i].BTMAX)],
costModifier: Number(jObjects[i].BTCM)
};
}
delete jObjects[i].BT;
delete jObjects[i].BTMIN;
delete jObjects[i].BTMAX;
delete jObjects[i].BTCM;
if (!isNaN(Number(jObjects[i].WEB))) {
jObjects[i].storeInfo.online = {
chance: Number(jObjects[i].WEB),
availableSizes: [Number(jObjects[i].WBMIN), Number(jObjects[i].WBMAX)],
costModifier: Number(jObjects[i].WBCM)
};
}
delete jObjects[i].WEB;
delete jObjects[i].WBMIN;
delete jObjects[i].WBMAX;
delete jObjects[i].WBCM;
if (!isNaN(Number(jObjects[i].AA))) {
jObjects[i].storeInfo.allisonsApparel = {
chance: Number(jObjects[i].AA),
availableSizes: [Number(jObjects[i].AAMIN), Number(jObjects[i].AAMAX)],
costModifier: Number(jObjects[i].AACM)
};
}
delete jObjects[i].AA;
delete jObjects[i].AAMIN;
delete jObjects[i].AAMAX;
delete jObjects[i].AACM;
jObjects[i].tolerance = Number(jObjects[i].tolerance);
jObjects[i].baseCost = Number(jObjects[i].baseCost);
jObjects[i].size = 0;
jObjects[i].id = undefined;
jObjects[i].bonuses = [];
if(jObjects[i].bonusesString != undefined){
for (let j = 0; j < jObjects[i].bonusesString.split(' ').length; j++) {
if (setup.clothingBonuses[jObjects[i].bonusesString.split(' ')[j]] != undefined) {
jObjects[i].bonuses.push(setup.clothingBonuses[jObjects[i].bonusesString.split(' ')[j]]);
}
else {
console.log("couldn't find bonus " + jObjects[i].bonusesString.split(' ')[j]);
}
}
}
delete jObjects[i].bonusesString;
if(jObjects[i].archetypes != undefined){
var archetypes = [];
for (let j = 0; j < jObjects[i].archetypes.split(' ').length; j++) {
archetypes.push(jObjects[i].archetypes.split(' ')[j]);
}
jObjects[i].archetypes = archetypes;
}
console.log(jObjects[i]);
}
setup.allClothes = jObjects;
<</script>>
/* Only the biggest size determines which clothing fits. This method determines that. */
<<set setup.biggestPlayerSize to function (slot) {
var statsToCheck = [];
var sizes = [];
if(slot == undefined){
statsToCheck = ['muscle', 'fat', 'height', 'breasts', 'ass', 'thighs', 'dick', 'balls'];
sizes = [State.variables.muscle - 20, State.variables.fat - 20, State.variables.height -150, State.variables.breasts - 10, State.variables.ass * 10, State.variables.thighs * 10, State.variables.dick * 10, State.variables.balls * 10];
}
else if(slot == 'top' || slot == 'overwear'){
statsToCheck = ['muscle', 'fat', 'height', 'breasts'];
sizes = [State.variables.muscle - 20, State.variables.fat - 20, State.variables.height -150, State.variables.breasts - 10];
}
else if(slot == 'bra'){
statsToCheck = ['muscle', 'fat', 'breasts'];
sizes = [State.variables.muscle - 20, State.variables.fat - 20, State.variables.breasts - 10];
}
else if(slot == 'bottom' || slot == 'underwear'){
statsToCheck = ['muscle', 'fat', 'height', 'ass', 'thighs', 'dick', 'balls'];
sizes = [State.variables.muscle - 20, State.variables.fat - 20, State.variables.height -150, State.variables.ass * 10, State.variables.hips * 10, State.variables.dick * 10, State.variables.balls * 10];
}
else if(slot == 'shoes') {
return 'height';
}
else{
throw 'unknown slot found in setup.biggestPlayerSize.';
}
var max = Math.max(...sizes);
var index = sizes.indexOf(max);
return statsToCheck[index];
}>>
/* Gets a short description of how the given clothing fit for the player */
<<set setup.getFitDescription to function (sizeIndex, slot, tolerance = 1) {
const statsToCheck = setup.biggestPlayerSize(slot);
const lowerBound = setup.sizeDatabase[sizeIndex][statsToCheck + 'Min'];
const upperBound = setup.sizeDatabase[sizeIndex][statsToCheck + 'Max'];
if (State.variables[statsToCheck] < lowerBound) {
return 'too big';
} else if (State.variables[statsToCheck] >= upperBound * tolerance) {
if (State.variables.outfit.bonuses().map(bonus => bonus.name).includes('Stretchy')) {
return 'tight';
} else if (State.variables.outfit.bonuses().map(bonus => bonus.name).includes('Tailored')) {
if (State.variables[statsToCheck] >= upperBound * (tolerance + 0.1)) {
return 'too small';
} else {
return 'too small';
}
} else if (State.variables.outfit.bonuses().map(bonus => bonus.name).includes('Hand-made')) {
if (State.variables[statsToCheck] >= upperBound * (tolerance + 0.2)) {
return 'too small';
} else {
return 'too small';
}
} else {
return 'too small';
}
} else if (State.variables[statsToCheck] >= upperBound) {
return 'tight';
}
return 'fits';
}>>
/* returns wearing clothes. Ignores empty slots */
<<set setup.getOutfitClothesArray to function () {
return [
State.variables.outfit.top(),
State.variables.outfit.overwear(),
State.variables.outfit.bra(),
State.variables.outfit.bottom(),
State.variables.outfit.underwear(),
State.variables.outfit.shoes()
].filter(clothes => clothes != null || clothes !== setup.emptyClothes);
}>>
<<set setup.getTightOutfitClothesArray to function () {
return setup.getOutfitClothesArray()
.filter(clothes => ['tight', 'too small'].includes(setup.getFitDescriptionOfClothes(clothes)));
}>>
<<set setup.isOutfitTight to function () {
return setup.getTightOutfitClothesArray().length > 0;
}>>
<<set setup.getNudeOutfitSlots to function () {
const nudeSlots = [];
if ((State.variables.outfit.top() == null || State.variables.outfit.top() === setup.emptyClothes) && (State.variables.outfit.overwear() == null || State.variables.outfit.overwear() === setup.emptyClothes)) {
nudeSlots.push('top');
nudeSlots.push('overwear');
}
if (State.variables.outfit.bottom() == null || State.variables.outfit.bottom() === setup.emptyClothes) {
nudeSlots.push('bottom');
}
return nudeSlots;
}>>
<<set setup.isOutfitNude to function () {
return setup.getNudeOutfitSlots().length > 0;
}>>
<<set setup.getFitDescriptionOfClothes to function (clothes) {
if (clothes == null || clothes === setup.emptyClothes) {
return null;
}
return setup.getFitDescription(clothes.size, clothes.slot, clothes.tolerance);
}>>
/* return whether ALL the clothes currently wearing are 'fits' */
<<set setup.isOutfitFits to function () {
return setup.getOutfitClothesArray()
.filter(clothes => clothes != null)
.map(clothes => setup.getFitDescriptionOfClothes(clothes))
.find(fitDescription => fitDescription !== 'fits') == null
}>>
/* Gets which predefined size from setup.sizeDatabase the player can fit in */
<<set setup.playerSizeNeeded to function (slot) {
const fits = [];
for (let sizeIndex = 0; sizeIndex < setup.sizeDatabase.length; sizeIndex++) {
let fit = setup.getFitDescription(sizeIndex, slot);
fits.push(fit === 'fits');
}
const allSizeNames = setup.getAllSizeNames();
if (fits.filter(size => size === true).length === 0) {
/* if every size is not 'fits', fallback to "Over [MAX_SIZE_STRING]" */
return 'Over ' + allSizeNames[allSizeNames.length - 1];
}
return allSizeNames[fits.indexOf(true)] + ' - ' + allSizeNames[fits.lastIndexOf(true)];
}>>
<<set setup.getSmallestPlayerSizeNeeded to function (slot) {
const fits = [];
for (let size = 0; size < setup.sizeDatabase.length; size++) {
fits.push(setup.getFitDescription(size, slot) === 'fits');
}
return fits.indexOf(true);
}>>
/* Gets the human readable bonuses from the clothing. */
<<set setup.getReadableBonusFromClothing = function (clothingItem, showActive = false) {
if (clothingItem == null || clothingItem === setup.emptyClothes || clothingItem?.bonuses?.length <= 0) {
return '-';
}
let description = '';
for (let i = 0; i < clothingItem.bonuses.length; i++) {
if (i > 0) {
description += '<br>';
}
let bonus = clothingItem.bonuses[i];
if(showActive){
if(State.variables.outfit.bonuses().map(outfitBonus => outfitBonus.name).includes(bonus.name)){
description += '<b> ●' + bonus.name + '</b><br>' + bonus.description;
}
else{
description += '<span style="opacity:50%"><b> ●' + bonus.name + '</b><br>' + bonus.description + '</span>';
}
}
else{
description += '<b> ●' + bonus.name + '</b><br>' + bonus.description;
}
}
return description;
}>>
/* The single method that describes the price of clothing. For balancing, adjust this. For now it's done linearly, to make sure that the progression isn't too hard. */
<<set setup.getPriceFromClothing = function (clothingItem) {
if (clothingItem == null || clothingItem === setup.emptyClothes) {
throw 'undefined clothingitem in getPriceFromClothing';
}
return parseInt(clothingItem.price + (clothingItem.price * clothingItem.size));
}>>
/* Gets the human readable archetypes from the clothing. */
<<set setup.getReadableArchetypesFromClothing to function (clothingItem) {
if(clothingItem == undefined || clothingItem === setup.emptyClothes){
return '-';
}
if (clothingItem.archetypes.length > 0)
{
var text = '';
for (let i = 0; i < clothingItem.archetypes.length; i++) {
text += ' ●' + clothingItem.archetypes[i] + '<br>'
}
return text;
}
else {
return '-'
};
}>>
/* Retrieves boolean fit/doesn't fit. */
<<set setup.getFitFromClothing = function (clothingItem) {
if(clothingItem == null || clothingItem === setup.emptyClothes){
return '-';
}
var fits = setup.getReadableFitFromClothing(clothingItem);
if(fits.includes('✅')){
return true;
}
else if (fits.includes('❌')){
return false;
}
else {
return true;
}
}>>
/* retrieves human readable fit from size, slot and tolerance. */
<<set setup.getReadableFitFromSize = function (size, slot, tolerance) {/**/
let fit = setup.getFitDescription(size, slot, tolerance);
if (fit === 'fits') {
return setup.getSizeName(size) + '✅';
} else if (fit === 'too small' || fit === 'too big') {
return setup.getSizeName(size) + '❌';
} else {
return setup.getSizeName(size) + '🔶';
}
}>>
/* retrieves human readable fit from the clothing. */
<<set setup.getReadableFitFromClothing = function (clothingItem) {/**/
if (clothingItem == null || clothingItem === setup.emptyClothes) {
return '-';
}
return setup.getReadableFitFromSize(clothingItem.size, clothingItem.slot, clothingItem.tolerance);
}>>
/* create clothing table for a shop or a wardrobe */
<<set setup.setClothesTable = function (allClothes) {
const slotFilter = $('#listbox-shoppingslot').children(':selected').text();
const stylesFilter = $('#listbox-shoppingstyle').children(':selected').text();
const bonusesFilter = $('#listbox-shoppingbonuses').children(':selected').text();
State.temporary.filteredStoreClothes = allClothes /* from a clothes list */
.filter(clothes => slotFilter === '-' || clothes.slot === slotFilter) /* filter by slotFilter */
.filter(clothes => stylesFilter === 'All styles' || clothes.archetypes.includes(stylesFilter)) /* filter by stylesFilter */
.filter(clothes => bonusesFilter === '-' || clothes.bonuses.map(bonus => bonus.name).includes(bonusesFilter)) /* filter by bonusesFilter */
.map(clothes => ({
...clothes,
size: setup.getSmallestPlayerSizeNeeded(clothes.slot) /* add 'size' attribute. The pre-selected size */
}));
$('.macro-live').trigger(':liveupdateinternal');
$(document).trigger(':liveupdate');
}>>
/*Populates the stores with clothing from the allclothes list. */
<<set setup.storePopulator to function () {
const storeNames = ['allisonsApparel', 'bulkBarn', 'bigTall', 'shoeStore', 'tasha', 'online'];
for (const storeName of storeNames) {
/* The diceroll to see what the store has in inventory.*/
const randomInt = Math.random();
State.variables[storeName + 'Inventory'] = [];
console.log('adding items to store: ' + storeName + ', with luck of ' + randomInt);
for (const setupClothes of setup.allClothes) {
/* Missing info means not available in this store. Skip. The droprate (chance) must also be met.
Couldn't use continue due to nested for loop.
Code smell for sure, but right now prioritizing functionality over clean code. Look into later - Bob */
if (setupClothes?.storeInfo?.[storeName]?.chance == null || setupClothes?.storeInfo?.[storeName]?.chance < randomInt) {
continue;
}
/* deep copy an element from setup.allClothes */
const clothes = JSON.parse(JSON.stringify(setupClothes));
console.log('Adding item ' + clothes.name);
/* transfers data */
clothes.price = Math.floor(clothes.baseCost * clothes.storeInfo[storeName].costModifier);
/* This adds some daily variance to the sizes available.*/
const sizeMod = 2 - Math.floor(randomInt / 3);
clothes.storeInfo[storeName].availableSizes[1] += Math.min(sizeMod, setup.sizeDatabase.length - 1);
clothes.availableSizes = clothes.storeInfo[storeName].availableSizes;
/* adds data to store. */
State.variables[storeName + 'Inventory'].push(clothes);
}
console.log('Final inventory for ' + storeName + 'Inventory: ');
console.log(State.variables[storeName + 'Inventory']);
}
}>>
<<script>>
$(document).on(':passageinit', function (ev) {
/* update the old outfit functions every passageinit */
/* TODO remember to remove this event after any new releases 2023-01-04 */
const outfit = State.variables.outfit;
if (!(outfit && (outfit.top() == null || outfit.bottom() == null || outfit.bra() == null || outfit.underwear() == null || outfit.overwear() == null || outfit.shoes() == null))) {
return;
}
outfit.top = function () {
return State.variables.wardrobe.find(item => item.id == this.topId) || setup.emptyClothes;
};
outfit.bottom = function () {
return State.variables.wardrobe.find(item => item.id == this.bottomId) || setup.emptyClothes;
};
outfit.bra = function () {
return State.variables.wardrobe.find(item => item.id == this.braId) || setup.emptyClothes;
};
outfit.underwear = function () {
return State.variables.wardrobe.find(item => item.id == this.underwearId) || setup.emptyClothes;
};
outfit.overwear = function () {
return State.variables.wardrobe.find(item => item.id == this.overwearId) || setup.emptyClothes;
};
outfit.shoes = function () {
return State.variables.wardrobe.find(item => item.id == this.shoesId) || setup.emptyClothes;
};
outfit.style = function () {
if (this.top() == undefined && this.bottom() == undefined && this.overwear() == undefined && this.bra() == undefined && this.bottom() == undefined && this.underwear() == undefined && this.shoes() == undefined) {
return undefined;
}
/*find most common object*/
function mode(arr) {
return arr.sort((a, b) =>
arr.filter(v => v === a).length
- arr.filter(v => v === b).length
).pop();
}
/*setup objects*/
var retval = [];
var presentArchetypes = [];
/*add all the archetypes of the clothing to a single heap*/
if (this.top() != undefined && this.top().archetypes != undefined) {
presentArchetypes.push(this.top().archetypes);
}
if (this.bottom() != undefined && this.bottom().archetypes != undefined) {
presentArchetypes.push(this.bottom().archetypes);
}
if (this.underwear() != undefined && this.underwear().archetypes != undefined) {
presentArchetypes.push(this.underwear().archetypes);
}
if (this.bra() != undefined && this.bra().archetypes != undefined) {
presentArchetypes.push(this.bra().archetypes);
}
if (this.overwear() != undefined && this.overwear().archetypes != undefined) {
presentArchetypes.push(this.overwear().archetypes);
}
if (this.shoes() != undefined && this.shoes().archetypes != undefined) {
presentArchetypes.push(this.shoes().archetypes);
}
presentArchetypes = mode(presentArchetypes.flat());
/*get how many times each different archetype is present*/
return presentArchetypes;
};
}
);
<</script>><<include "InitializeAllClothes">>
<<include "initBalance">>
<<include "initEvents">>
<<set setup.characters to
[
{
name: "Johan",
relationshipLevels: ["Strangers", "Neighbors", "Friends", "“FRIENDS“", "Lovers"]
},
{
name: "Emma",
relationshipLevels: ["Boss", "Boss", "Office buddies", "Friends", "Partner"]
},
{
name: "Elena",
relationshipLevels: ["Strangers", "aquintances", "Friends", "Lifting buddies", "Lovers"]
},
{
name: "ElenaShy",
relationshipLevels: ["Strangers", "aquintances", "Friends", "Lifting buddies", "Lovers"]
},
{
name: "Kris",
relationshipLevels: ["Strangers", "Who the fuck knows", "Fuck buddies", "Friends", "Lovers"]
},
{
name: "KrisObsessed",
relationshipLevels: ["Strangers", "Who the fuck knows", "Fuck buddies", "Friends", "Lovers"]
},
{
name: "PostSleep",
relationshipLevels: ["Strangers", "Who the fuck knows", "Fuck buddies", "Friends", "Lovers"]
}
]>>
<<set setup.bodytypes to ["skinny", "average", "thick", "fat", "obese", "thin", "athletic", "strong", "heavy", "bodybuilder", "heroic", "strongman", "sumowrestler", "hulk", "gigantic", "monstrous"]>>
<<set setup.getRivalName to function () {
return State.variables.rivalGender === 'male' ? 'Nathan' : 'Natalie';
}>><<nobr>>
<<widget "rivalName">>
<<= setup.getRivalName()>>
<</widget>>
<</nobr>><<nobr>>
<<widget "rivalHe">>
<<if $rivalGender === 'male'>>
he
<<else>>
she
<</if>>
<</widget>>
<</nobr>><<nobr>>
<<widget "RivalHe">>
<<if $rivalGender === 'male'>>
He
<<else>>
She
<</if>>
<</widget>>
<</nobr>><<nobr>>
<<widget "rivalHis">>
<<if $rivalGender === 'male'>>
his
<<else>>
her
<</if>>
<</widget>>
<</nobr>><<nobr>>
<<widget "RivalHis">>
<<if $rivalGender === 'male'>>
His
<<else>>
Her
<</if>>
<</widget>>
<</nobr>><<nobr>>
<<widget "rivalHim">>
<<if $rivalGender === 'male'>>
him
<<else>>
her
<</if>>
<</widget>>
<</nobr>><<nobr>>
<<widget "rivalHim">>
<<if $rivalGender === 'male'>>
Him
<<else>>
Her
<</if>>
<</widget>>
<</nobr>><<nobr>>
<<widget "rivalHim">>
<<if $rivalGender === 'male'>>
his
<<else>>
hers
<</if>>
<</widget>>
<</nobr>><<nobr>>
<<widget "rivalHim">>
<<if $rivalGender === 'male'>>
his
<<else>>
hers
<</if>>
<</widget>>
<</nobr>><<nobr>>
<<set _rand to random(0,2)>>
<<set _message to "Damn, this is sour! Is this something to drink or some kind of detergent?! The aftertaste only gets worse as it almost seeps into your tongue. Immediately, something feels... off. For some reason, a heatwave travels over you, like your entire body is boiling. And you can almost swear you feel a bit lighter.">>
<<set $fat -= 1>>
<<set _rand to random(0,2)>>
<<if _rand >= 1>>
<<set _message += "It keeps going for a while, and you're not sure whether this is a good or bad thing.">>
<<addFatSlow -2>>
<<set $fat -= 1>>
<</if>>
<<if _rand >= 2>>
<<set _message += "Finally, you let out a soft burp. Despite not having had a meal in a bit, you are not hungry at all. Odd.">>
<<addFatSlow -2>>
<<set $fat -= 1>>
<</if>>
<<script>>
if (Dialog.isOpen() == false) {
var dialog = Dialog.setup("FA-LOSS 133X");
new Wikifier(dialog, State.temporary.message);
Dialog.open();
}
<</script>>
<</nobr>><<nobr>>
<<set _rand to random(0,2)>>
<<set _message to "It almost comes out in a glob, but DAMN, is this awesome! It’s the most buttery cream or most creamy butter you ever tasted, and despite feeling yourself fattening up, this stuff is just TOO GOOD to pass!">>
<<set _rand to random(0,2)>>
<<if _rand >= 1>>
<<set _message += " You keep chugging it, letting it drip down your chin, staining your clothing. This stuff is the best meal you ever had!">>
<<addFatSlow 2>>
<<set $fat += 2>>
<</if>>
<<if _rand >= 2>>
<<set _message += " Finally, you let out a loud burp.">>
<<addFatSlow 2>>
<<set $fat += 2>>
<</if>>
<<script>>
if (Dialog.isOpen() == false) {
var dialog = Dialog.setup("FA-GAIN 23A");
new Wikifier(dialog, State.temporary.message);
Dialog.open();
}
<</script>>
<</nobr>><<nobr>>
<<if $dickActive is false and $futa>>
<<set _message to "The taste of it is not the worst, your best stab at a description is... almost carrot-like? But, like, a really THICK carrot, though you have NO idea how you got that mental image from taste alone. A warm feeling spreads through your groin, giving you the feeling that it’s building something.">>
<<set $dickStore += 1>>
<<elseif $dickActive and $futa>>
<<set _rand to random(0,2)>>
<<set _message to " The taste of it is not the worst, your best stab at a description is... almost carrot-like? But, like, a really THICK carrot, though you have NO idea how you got that mental image from taste alone. A warm feeling spreads through your groin, making your dick throb. Yet, oddly enough, it does not seem to be lengthening.">>
<<set $dickGirthMod += 0.1>>
<<set _rand to random(0,2)>>
<<if _rand >= 1>>
<<set _message += "It clearly is pushing outwards, though. Your dick is becoming girthier!">>
<<set $dickGirthMod += 0.1>>
<</if>>
<<if _rand >= 2>>
<</if>>
<</if>>
<<script>>
if (Dialog.isOpen() == false) {
var dialog = Dialog.setup("Girth grow");
new Wikifier(dialog, State.temporary.message);
Dialog.open();
}
<</script>>
<</nobr>><<nobr>>
<<if $dickActive is false and $futa>>
<<set _message to " The bright blue liquid easily slips down your throat, though the long neck is awkward to drink from. The taste is odd, almost medicinal like a fruit-flavored multivitamin. There's something bubbly about it, rising and falling only to become stronger after you drink it. A warm feeling spreads through your groin, giving you the impression of something extending out of nowhere.">>
<<set $dickStore += 1>>
<<elseif $dickActive and $futa>>
<<set _rand to random(0,2)>>
<<set _message to " The bright blue liquid easily slips down your throat, though the long neck is awkward to drink from. The taste is odd, almost medicinal like a fruit-flavored multivitamin. The taste is almost bubbly, rising and falling only to become stronger after you drink it. In your pants, though, you feel some... movement. You feel something stirring as your dick slowly starts hardening, pushing against your clothes. It keeps growing more and more erect, but something is off. It's getting bigger WAY faster than it's getting harder! The feeling coming from it is insane, radiating an indescribable heat. As you clutch it with both hands, your tongue hangs from your mouth and eyes roll up, and you know you are in for an intense ride. Your hands spread outwards, your dick expanding outwards in all directions.">>
<<set $dickErectionMod += 0.1>>
<<set _rand to random(0,2)>>
<<if _rand >= 1>>
<<set _message += "You basically collapse from the pleasure, your legs just giving out under you. A pent-up orgasm just won't come, making it more and more intense as slowly your mind is fogged up by lust. You spend some time just laying there, unable to do anything else but feel the huge piece of meat grow and grow.">>
<<set $dickErectionMod += 0.1>>
<<addMinutes 30>>
<</if>>
<<if _rand >= 2>>
<<set _message += "The pressure keeps building, almost to a painful degree. Though you can't even notice it any more, slowly precum starts dribbling out, indicating you will finally get the release you so desperately seek.">>
<<set $dickErectionMod += 0.1>>
<<addMinutes 30>>
<</if>>
<<set _message += "Looking down, you notice that your erect dick is FAR bigger than normal, a veritable veiny sausage between your legs. Painfully hard, you start stroking it, hoping you can come soon. It seems its sensitivity grew proportionally with its size, and it takes mere seconds for you to ejaculate like a geyser, thick ropes covering the wall in front of you. When you are finally done, you find yourself laying against the wall, breathing heavily. Slowly, your dick shrinks down to its original size; it seems you just get bigger when you are erect.">>
<</if>>
<<script>>
if (Dialog.isOpen() == false) {
var dialog = Dialog.setup("Erecto-10");
new Wikifier(dialog, State.temporary.message);
Dialog.open();
}
<</script>>
<</nobr>><<nobr>>
<<if $dickActive is false and $futa>>
<<set _message to " Drinking it feels off. Liquid should not go down your throat in CHUNKS. Yet, the taste is not too bad; like buttery popcorn. It feels odd in your stomach, and you clutch your belly, afraid it won't go down well. But as quickly as it came, it fades, that unusual feeling instead traveling directly into your groin. A warm feeling spreads through it, giving you the sensation that it's building up, rolling into itself.">>
<<set $dickStore += 1>>
<<elseif $dickActive and $futa>>
<<set _rand to random(0,2)>>
<<set _message to " Drinking it feels off. Liquid should not go down your throat in CHUNKS. Yet the taste is not too bad; like buttery popcorn. It feels odd in your stomach, and you clutch your belly afraid it won't go down well. But as quickly as it came, it just fades, the unusual feeling instead traveling down into your groin. Suddenly, you feel a sharp stab in your balls, pressure building up inside them. As you buckle over, you can practically feel them throbbing.">>
<<set $balls += 1>>
<<set _rand to random(0,2)>>
<<if _rand >= 1>>
<<set _message += " You can feel your heartbeat pumping in them, every pulse driving them bigger, and bigger, and bigger, the pressure becoming unbereable.">>
<<set $balls += 1>>
<<addMinutes 30>>
<</if>>
<<if _rand >= 2>>
<<set _message += " The pressure keeps building, almost to a painful degree. Though you can't even notice it any more, slowly precum starts dribbling out, indicating you will finally get the release you so desperately seek.">>
<<set $balls += 1>>
<<addMinutes 30>>
<</if>>
<<set _message += " As the pressure becomes too big, a glob of precum dribbles from your dick. Each throb is accompanied by another hearty dose, the pressure still building. These squirts turn into a constant flow, a puddle quickly gathering under you. As you climax, a huge jet sprays forward, hitting the wall across from you. Exhausted, you collapse to the ground, satisfied.">>
<</if>>
<<script>>
if (Dialog.isOpen() == false) {
var dialog = Dialog.setup("SPHE-GRO-001");
new Wikifier(dialog, State.temporary.message);
Dialog.open();
}
<</script>>
<</nobr>><<widget radarChart>>
<<set $shyConfident to Math.clamp($shyConfident, -3, 3)>>
<<set $carefreeCarefull to Math.clamp($carefreeCarefull, -3, 3)>>
<<set $submissiveDominant to Math.clamp($submissiveDominant, -3, 3)>>
<div id=canvasContainer>
<canvas id="secondCanvas" width="854" height="854">Your browser does not support the HTML canvas tag.</canvas>
<canvas id="myCanvas" width="854" height="854">
Your browser does not support the HTML canvas tag.
<img alt="" src="data:image/png;base64,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aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNSAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMjEtMDQtMDlUMDk6NDY6MDcrMDI6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAyMS0wNC0wOVQwOTo0NzoyNiswMjowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMjEtMDQtMDlUMDk6NDc6MjYrMDI6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDxwaG90b3Nob3A6SUNDUHJvZmlsZT5HZW5lcmljIFJHQiBQcm9maWxlPC9waG90b3Nob3A6SUNDUHJvZmlsZT4KICAgICAgICAgPHhtcE1NOkluc3RhbmNlSUQ+eG1wLmlpZDpjNjcwNDgzNS00YWNjLWNmNGMtYmI0My1lMjE5NDEzZTdhZGI8L3htcE1NOkluc3RhbmNlSUQ+CiAgICAgICAgIDx4bXBNTTpEb2N1bWVudElEPnhtcC5kaWQ6YzY3MDQ4MzUtNGFjYy1jZjRjLWJiNDMtZTIxOTQxM2U3YWRiPC94bXBNTTpEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06T3JpZ2luYWxEb2N1bWVudElEPnhtcC5kaWQ6YzY3MDQ4MzUtNGFjYy1jZjRjLWJiNDMtZTIxOTQxM2U3YWRiPC94bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ+CiAgICAgICAgIDx4bXBNTTpIaXN0b3J5PgogICAgICAgICAgICA8cmRmOlNlcT4KICAgICAgICAgICAgICAgPHJkZjpsaSByZGY6cGFyc2VUeXBlPSJSZXNvdXJjZSI+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDphY3Rpb24+Y3JlYXRlZDwvc3RFdnQ6YWN0aW9uPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6aW5zdGFuY2VJRD54bXAuaWlkOmM2NzA0ODM1LTRhY2MtY2Y0Yy1iYjQzLWUyMTk0MTNlN2FkYjwvc3RFdnQ6aW5zdGFuY2VJRD4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OndoZW4+MjAyMS0wNC0wOVQwOTo0NjowNyswMjowMDwvc3RFdnQ6d2hlbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OnNvZnR3YXJlQWdlbnQ+QWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKFdpbmRvd3MpPC9zdEV2dDpzb2Z0d2FyZUFnZW50PgogICAgICAgICAgICAgICA8L3JkZjpsaT4KICAgICAgICAgICAgPC9yZGY6U2VxPgogICAgICAgICA8L3htcE1NOkhpc3Rvcnk+CiAgICAgICAgIDx0aWZmOk9yaWVudGF0aW9uPjE8L3RpZmY6T3JpZW50YXRpb24+CiAgICAgICAgIDx0aWZmOlhSZXNvbHV0aW9uPjcyMDAwMC8xMDAwMDwvdGlmZjpYUmVzb2x1dGlvbj4KICAgICAgICAgPHRpZmY6WVJlc29sdXRpb24+NzIwMDAwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjY1NTM1PC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj44NTQ8L2V4aWY6UGl4ZWxYRGltZW5zaW9uPgogICAgICAgICA8ZXhpZjpQaXhlbFlEaW1lbnNpb24+ODU2PC9leGlmOlBpeGVsWURpbWVuc2lvbj4KICAgICAgPC9yZGY6RGVzY3JpcHRpb24+CiAgIDwvcmRmOlJERj4KPC94OnhtcG1ldGE+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgCjw/eHBhY2tldCBlbmQ9InciPz4+0tomAAAAIGNIUk0AAG2YAABzjgAA8nsAAITaAABulAAA5RoAADMnAAAZF5lJHH8AAdxUSURBVHja7P3LtjPLuq4HvSlpjDnnXvu43HazscFgFgWaC4DNqQCXwI1wBVwEJW6CCkW4B6BRdrML2I3Dxgbv41pzzTXHGH9XBoUu9R4KxeE7RkRKka39f+89T0qlUql49L7f+20hhADDafvvATjFM9IVCL+fBNsQ9rUxt90ox7cZ7J9zvJxjLS0/EY+Fus/Gvu+/V48xt+xEPL6N8Jgnwna153ZqP/5WO55Th21a60u2ka5/qp/jbWuv87Uucb37/rZNcNzxcslxnAjng7Pf3HOS7K9yHrbaudE+vvRxT5VrFwCwA7h/ZKU/pcvCbblkmfe+dets7GPlPKZkvyjsW7INnJ6LxzHEP7336XEcVsdguaznPlrztNuAsJyzL8m6lGOz3KfVY0n2+7zef47/qxkHncyhKn6P8p7X42cnjF7TaF+BuW2gHF9g7r/1nErHyzlWwXLRe545r3oMtXs9BNdTbjzW2o6yfWWdEBj7U2xTPP7CZ6PtVyeGE3VMAcU5CZ223Rn7hfG60lMUxj7+a0z74JM4w0W6d36DckFitokDM9pzITkO6evFWcdiGRVk0GGexzaW62oG0bNBlcV5eF7vr/A/nw+str+q3MMloLkr4XQ2uJLu2/L9Vjn2ILhHhNa+Le5dOxPKQIAKwv0/WH2OtCBCsE2YfdxgPQyRnDsBGHcDIqvXredjzcApPhsOHlwf8UKx+PbH4huYl7/zGYCjxTYe63guGzmvpRRZwo8WXo4KVZr91tf7K/zP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" id="radarBackground"></canvas>
</div>
<<set $shyConfident to Math.clamp($shyConfident, -3, 3)>>
<<set $submissiveDominant to Math.clamp($submissiveDominant, -3, 3)>>
<<set $carefreeCarefull to Math.clamp($carefreeCarefull, -3, 3)>>
<<timed 0s>><<script>>
var c2 = document.getElementById("secondCanvas");
var ctx2 = c2.getContext("2d");
var width2 = c2.width;
var height2 = c2.height;
ctx2.beginPath();
ctx2.lineWidth = "6";
ctx2.fillStyle = "white";
ctx2.font = "40px Arial";
ctx2.fillText("Shyness", width2 * 0.4, 0 + 60);
ctx2.beginPath();
ctx2.fillText("Confidence", width2 * 0.4, height2);
ctx2.beginPath();
ctx2.fillText("Carefull", width2 * 0.8, height2 * 0.225);
ctx2.beginPath();
ctx2.fillText("Carefree",0, height2 * 0.8);
ctx2.beginPath();
ctx2.fillText("Submissive", 0, height2 * 0.225);
ctx2.beginPath();
ctx2.fillText("Dominant",width2 * 0.8, height2 * 0.8);
var c = document.getElementById("myCanvas");
var ctx = c.getContext("2d");
var width = c.width;
var height = c.height;
ctx.strokeStyle = "white";
ctx.moveTo(width * 0.5, 0);
ctx.lineWidth = 5;
ctx.lineTo(width, height * 0.25);
ctx.lineTo(width, height * 0.75);
ctx.lineTo(width * 0.5, height);
ctx.lineTo(0 , height * 0.75);
ctx.lineTo(0 , height * 0.25);
ctx.lineTo(width * 0.5, 0);
ctx.stroke();
ctx.moveTo(width * 0.5, height * 0.125);
ctx.lineTo(width * 0.875, height * 0.315);
ctx.lineTo(width * 0.875, height * (1 - 0.315));
ctx.lineTo(width * 0.5, height * 0.875);
ctx.lineTo(width * 0.125, height * (1 - 0.315));
ctx.lineTo(width * 0.125, height * 0.315);
ctx.lineTo(width * 0.5, height * 0.125);
ctx.stroke();
ctx.moveTo(width * 0.5, height * 0.25);
ctx.lineTo(width * 0.75, height * 0.375);
ctx.lineTo(width * 0.75, height * (1 - 0.375));
ctx.lineTo(width * 0.5, height * 0.75);
ctx.lineTo(width * 0.25, height * (1 - 0.375));
ctx.lineTo(width * 0.25, height * 0.375);
ctx.lineTo(width * 0.5, height * 0.25);
ctx.stroke();
ctx.moveTo(width / 2 , 0);
ctx.lineTo(width /2 , height);
ctx.stroke();
ctx.moveTo(width, height * 0.25);
ctx.lineTo(0 , height * 0.75);
ctx.stroke();
ctx.lineTo(0 , height * 0.25);
ctx.lineTo(width, height * 0.75);
ctx.stroke();
var point1 = {x: width * 0.5, y: height * 0.40};
var point2 = {x: width * 0.6, y: height * 0.45};
var point3 = {x: width * 0.6, y: height * 0.55};
var point4 = {x: width * 0.5, y: height * 0.6};
var point5 = {x: width * 0.4, y: height * 0.55};
var point6 = {x: width * 0.4, y: height * 0.45};
var shynessConfidence = [
{X: width * 0.5, y: 0},
{X: width * 0.5, y: height * 0.125},
{X: width * 0.5, y: height * 0.25},
{X: width * 0.5, y: height * 0.5},
{X: width * 0.5, y: height * 0.75},
{X: width * 0.5, y: height * 0.875},
{X: width * 0.5, y: height}
];
var submissiveDominant =[
{X: 0, y: height * 0.25},
{X: width * 0.125, y: height * 0.315},
{X: width * 0.25, y: height * 0.375},
{X: width * 0.5, y: height * 0.5},
{X: width * 0.75, y: height * (1 - 0.375)},
{X: width * 0.875, y: height * (1 - 0.315)},
{X: width, y: height * 0.75}
];
var carefreeCarefull =[
{X: 0, y: height * 0.75},
{X: width * 0.125, y: height * (1 - 0.315)},
{X: width * 0.25, y: height * (1 - 0.375)},
{X: width * 0.5, y: height * 0.5},
{X: width * 0.75, y: height * 0.375},
{X: width * 0.875, y: height * 0.315},
{X: width, y: height * 0.25}
];
var shynessConfidenceStat = (State.variables.shyConfident) + 3;
var submissiveDominantStat = (State.variables.submissiveDominant) + 3;
var carefreeCarefullStat = (State.variables.carefreeCarefull) + 3;
if(shynessConfidenceStat < 3)
{point1.x = shynessConfidence[shynessConfidenceStat].X;
point1.y = shynessConfidence[shynessConfidenceStat].y;
}
else if(shynessConfidenceStat > 3)
{point4.x = shynessConfidence[shynessConfidenceStat].X;
point4.y = shynessConfidence[shynessConfidenceStat].y;
};
if(submissiveDominantStat < 3)
{point6.x = submissiveDominant[submissiveDominantStat].X;
point6.y = submissiveDominant[submissiveDominantStat].y;
}
else if(submissiveDominantStat > 3)
{point3.x = submissiveDominant[submissiveDominantStat].X;
point3.y = submissiveDominant[submissiveDominantStat].y;
};
if(carefreeCarefullStat < 3)
{point5.x = carefreeCarefull[carefreeCarefullStat].X;
point5.y = carefreeCarefull[carefreeCarefullStat].y;
}
else if(carefreeCarefullStat > 3)
{point2.x = carefreeCarefull[carefreeCarefullStat].X;
point2.y = carefreeCarefull[carefreeCarefullStat].y;
};
ctx.beginPath();
ctx.strokeStyle = 'rgba(255, 165, 0, 0)';
ctx.moveTo(point1.x, point1.y);
ctx.lineTo(point2.x, point2.y);
ctx.lineTo(point3.x, point3.y);
ctx.lineTo(point4.x, point4.y);
ctx.lineTo(point5.x, point5.y);
ctx.lineTo(point6.x, point6.y);
ctx.closePath();
ctx.stroke();
var img = document.getElementById("radarBackground");
img.style.width = width;
img.style.height = height;
console.log(img);
var pat = ctx.createPattern(img, "repeat");
ctx.fillStyle = pat;
ctx.fill();
console.log("shy/confident: " + shynessConfidenceStat);
console.log("submissive/dominant: " + submissiveDominantStat);
console.log("carefree/carefull: " + carefreeCarefullStat);
<</script>><</timed>>
<</widget>><<set $KrisTriggers to []>>
<<set $KrisUsedTriggers to ["blocked"]>>
<<set $KrisObsessedTriggers to []>>
<<set $KrisObsessedUsedTriggers to ["blocked"]>><<set setup.events.push(
{
name: 'krisBored',
locationTags: ['kris'],
conditions: [
/* Left here to make sure its clear this is supposed to be able to begin from the beginning of the game - bob */
() => true
],
repeatable: false,
retriggerable: false,
priority: 'immediate',
npc: ['kris'],
content: '<<set $krisOpinion += 1>><<set $krisObsessedOpinion += 1>><<Dialogue "Kris" "Kris">> "And here is your... whatever you ordered. Drink up, we could use the seat."<</Dialogue>><br>From behind you, a short punk looking girl slams a drink down on your table. She looks utterly disinterested and makes no effort to hide it. Her eyes scan you for a split second, if that, and it would seem that is all she deemed you worth of. Looking at the drink, it is obviously not what you ordered.<br><br><<PersonalityCheck $shyConfident >= 1 "Excuse me, this isn\'t what I ordered.">><<Dialogue "player" "You">>"Excuse me, I think this is the wrong order."<</Dialogue>><br>She stops cold, turns around, and without even looking at your beverage, utters with a shrug:<br><br><<Dialogue "Kris" "Kris">>"Wait… I don\'t care!"<</Dialogue>><br> Behind the counter, another employee stares so hard at her you can almost hear him fuming, making it clear this is not an isolated incident.<br> <br><<Dialogue "Kris" "Kris">>"Urgh, FINE! I\'ll get you something different, whatever."<</Dialogue>> <br>In under a minute, you get a new drink. While her attitude was... horrible, you can’t help but notice she can do it properly if she feels inclined to.<<Failed>>You try to speak up, to tell her your order was wrong, but you catch her just glancing sideways in your direction as she walks away. You don\'t dare to complain, and with a smirk, she sneakily suggests that she knew it all along.<<set $krisOpinion += 2>><<set $krisObsessedOpinion += 1>><</PersonalityCheck>>'
}
)>>
<<set setup.events.push(
{
name: 'KrisDate1',
locationTags: ['kris'],
conditions: [
() => State.variables.krisObsessedOpinion >= 30,
() => State.variables.krisOpinion >= 30,
() => State.variables.krisInterested
],
repeatable: false,
retriggerable: false,
priority: 'immediate',
npc: ['kris'],
content: 'Arriving at the Coffee Corner, you find the one and only Kris, as expected. You\'ve come in quite often, and she knows your habits by now, like any good predator. You\'ve even gotten used to that big, toothy grin when you walk up to the counter. You don\'t even need to say anything. As you cross the threshold, <<if $muscle >= 50 || $fat >= 50 || $breasts >= 50 || $height >= 210>>already her eyes travel all over your \'unique\' body, positively salivating as she undresses you in her mind.<</if>><<if setup.isOutfitTight()>> Not that this requires a lot of imagination, given how tight your clothing is.<</if>> But still, Kris is in a mood. A horny mood.<br><br><<Dialogue "KrisObsessed" "Kris">> "Oh, fuck, you look... you look... BIG today... sit down, babe, I want to hear the chair GROANING under you. I... UNGH!"<</Dialogue>><br><br>Sitting down, <<if $muscle >= 50 || $fat >= 50 || $breasts >= 50 || $height >= 210>>the chair groans from all the extra mass on your body. <<elseif $muscle >= 75 || $fat >= 70 || $breasts >= 70 || $height >= 710>>you can feel the wood slowly straining and creaking, until finally it gives way under you, and you fall to the floor.<</if>>. Kris raises herself over the counter, grinning like a maniac and drooling over the scene. But for once, she just keeps staring and staring and...<br><br><<Dialogue "player" "You">> "Um, are you just going to watch..?"<</Dialogue>><br><br>Kris stares at you, rather confused. The drooling stops, and though she\'s still undressing you in her mind, you get the idea that she actually has no idea what she wants to do with you, given your unintentional double-entendre. You could push it, or wait and see how this plays out.<br><br><span id="choice1"><<PersonalityCheck $shyConfident >= 2 "Call her bluff">><<replace "#choice1">><<Dialogue "player" "You">> "... You haven’t actually thought this fantasy of yours through, huh?"<</Dialogue>><br><br>With wild eyes, Kris looks at you, almost accusingly. <br><br><<Dialogue "Kris" "Kris">> "What the FUCK are you talking about?! Of course I got this all planned out, I-"<</Dialogue>><br><br><<Dialogue "player" "You">> "... Okay, then. Do your worst. I’m waiting."<</Dialogue>><br><br>She remains silent as time passes, her breathing becoming deeper every time she inhales. Checkmate. Kris just stares at you with rather intense eyes. She eventually does regain some focus, trying to come up with SOMETHING, anything! Well, it seems you\'ll have to help her along a bit. It’s quite surprising to leave Kris so... befuddled!<br><br><<Dialogue "player" "You">> "... A date. How about we go on a date together?"<</Dialogue>><br><br>Kris looks at you rather stunned. It is clear she wasn’t expecting that? She has been drooling over you for God knows how long now, and she wasn’t ready for you to make a move? Now that you think of it, what does Kris even WANT? Well, time to figure that out! <br><br><<Dialogue "Kris" "Kris">>"S-sure! Where shall we- No, no! I\'m picking the venue! Let\'s see... um... the park... no... the beach? No... um..."<</Dialogue>><br><br><<Dialogue "player" "You">> "Why don’t we keep it simple and go out for dinner somewhere?"<</Dialogue>><br><br><<Dialogue "KrisObsessed" "Kris">> "Yeah, dinner! I was JUST about to say that! You’re on, tomorrow, 6 PM, I\'ll text you the address, you fucking slab of delicious meat!"<</Dialogue>><br><br><<Dialogue "player" "You">> "... Thanks for the input, Kris. Sounds great. I’ll see you then."<</Dialogue>><br><br><<link "Continue" "BookStore">><</link>><br><</replace>><<Failed>><<replace "#choice1">><<Dialogue "player" "You">> "Wow, you suck at this!"<</Dialogue>><br><br>You tried to sound witty, but it just came off as mean. Kris looks none too pleased, and before you think it out, you just chuckle awkwardly.<br><br><<Dialogue "Kris" "Kris">> "… You think you are so clever? Okay, then, tomorrow, 6 PM, I\'ll text you the address. Dress nicely."<</Dialogue>><br><br>Well, it seems the tables have turned... again. But you also got a date with Kris, which is a plus. Though there is a large spectrum of \'plus\' there.<br><br><<link "Continue" "BookStore">><</link>><</replace>><</PersonalityCheck>><br><br><<link "Wait and see">><<replace "#choice1">>Aaaaand nothing. You called Kris\'s bluff, and she doesn\'t know how to respond. Of course she didn\'t have a next move in mind; she clearly operates exclusively on the present. Sitting down on a broken chair quickly turns awkward, but leaves you with a curious question. What IS Kris\'s actual endgame regarding you?<br><br><<Dialogue "player" "You">> "So... um... how about we go out one of these days? Somewhere else, you know? One can only have so much coffee. Maybe have an actual conversation that doesn’t involve consumption of drinks? And, you know, do something that isn’t just lecherous staring and spouting insinuations...?"<</Dialogue>><br><br><<Dialogue "Kris" "Kris">> "... Are you talking about… a DATE? Um... sure? Why not?"<</Dialogue>><br><br>She doesn\'t sound that enthusiastic, almost like dating somehow didn\'t even cross her mind. What kind of relationship do you two even have?!<br><br><<Dialogue "Kris" "Kris">> "How does tomorrow at 6 PM sound? I\'ll text you the address."<</Dialogue>><br><br><<Dialogue "player" "You">> "um, sure. Sounds... good? I guess I\'ll see you then."<</Dialogue>><br><br><<Dialogue "Kris" "Kris">> "Yeah. See you then."<</Dialogue>><br><br><<link "Continue" "BookStore">><</link>><</replace>><</link>></span><<set $krisDate1Delay to true>>'
},
{
name: 'krisObsessedSecondAttempt',
locationTags: ['kris'],
conditions: [
() => State.variables.krisObsessedSecondAttempt,
() => State.variables.krisInterested
],
repeatable: false,
retriggerable: false,
priority: 'immediate',
npc: ['kris'],
content: `Behind the counter stands that unpredictable freak, Kris. Approaching her, you straighten your back, looking down on her.<br><br><<Dialogue "player" "You">>"Listen, if you're going to be all weird again I'm just going to get my coffee elsewhere, you know?"<</Dialogue>><br><br>Her eyes drift over your arms, your chest, clearly trying to measure whether you grew again. Yet she stops at your eyes, aware of your displeasure.<br><br><<Dialogue "KrisObsessed" "Kris">>"Right, right, sorry! I... didn't leave the best impression last time, did I? Listen, uh. I'm sorry. I mean it! I'm sorry! But... you understand you pretty much are my deepest erotic dreams given flesh? Urgh, okay.... um... Can I... you know, buy you a drink so that we can sit down and talk about this...?"<</Dialogue>><br><br> <span id="choice1"><br> <<link "Sure, but this is your last chance">> <<replace "#choice1">><br>You follow her to a vacant table, where she removes her apron, signaling her unscheduled (and probably not boss-approved) break. She takes a few moments to brace herself, in clear deep thought. After some time, while you take some leisure sips from your hot cup, she leans forward and starts speaking, sounding like a contract negotiator.<br><br> <<Dialogue "KrisObsessed" "Kris">>"Okay, I admit I came on FAR too strongly. I'll give you that. And for that, I apologize. Give me a chance to explain myself, so we're on the same page?"<</Dialogue>><br><br>It was remarkable; when she puts her heart to it, she CAN be a reasonable person.<br><br> <<Dialogue "KrisObsessed" "Kris">>"So, you see, I got a size fetish. I ain't ashamed of saying it, and SURELY ain't hiding it. And when I say size fetish, I MEAN IT. A bodybuilder walks through that door, and I take an extra break to finger myself in the- OH, come on, don't act so disgusted, I wash my hands after I’m done. But it’s not just muscles: big tits, incredibly tall giants, huge bulges, GIGANTIC -"<</Dialogue>><br><br> With her hand she makes squeezing motions, almost drooling over herself as her breath becomes ragged and you can see sweat forming on her brow, puffs of smoke coming from her lips. You find yourself unconsciously shrinking into your chair, but it’s just too small for you. The only way you could ever describe Kris's orientation is omnisexual; she'll fuck anyone or anything if they're big in any way. She goes into a long-winded and awkward loud description of all the kinds of people (or body parts) she likes. In a nearby table, a child starts crying. <br><br> <<Dialogue "KrisObsessed" "Kris">>"- AND THEN I WILL RAM THAT BELLPEPPER STRAIGHT INTO THEIR - Oh. Oh, I... um. Sometimes I get a bit carried away. Heh. Sorry. That happens. A lot. Heh. But... yeah. As you can see, I... well, I got an obsession. And when you came in, it was like a dream come true. Your rapid growth? It makes the stuff in my brain go all kinds of haywire. I literally start fantasize about you growing before my eyes."<</Dialogue>><br><br> <span id="choice2"><br> <<link "That is not okay!">><<replace "#choice2">> <br><<Dialogue "player" "You">>"... That description was FAR more vivid than I thought possible. And... listen, I’m happy for you, being comfortable with who you are… b-but you can't expect me to just... become your little sex toy like that! I'm a person too, you know?!?"<</Dialogue>><br><br><<Dialogue "KrisObsessed" "Kris">>"Yes, I know, and that was on me. However... listen. I... still mean it, you know, when I mean I want… how to put it? To sponsor you. Help you. Whatever you wanna call it. But... I promise to respect you as a person, stop when you say so..."<</Dialogue>><br><br><<Dialogue "player" "You">>"You're still going on about this? Even when I explicitly told you ‘no’?"<</Dialogue>><br><br><<Dialogue "KrisObsessed" "Kris">>"Yes, And can you blame me? Listen: You. Are. Perfect. And I want to help you! Listen, okay, you might not trust me. I get that. Here. This is my credit card. Just take it, it’s got a pretty high limit on it, I know how to play up my credit score. Just... use it how you see fit, as long as it helps you get huge. Deal? And don't worry, I know how to take care of myself."<</Dialogue>><br><br>The card lays there on the table between the two of you. She just stares anxiously, her eyes darting between you and the card, biting her lips, like a fisherman certain that his target is about to bite. She really means it!<br><br> <span id="choice3"> <<link "Take it!">> <<replace "#choice3">><br>This is just too good to pass. Slowly and carefully, you reach for the card. The plastic, it feels like it’s the real deal... HER credit card. Cautiously, you look over her, and she simply smiles.<br><br><<Dialogue "player" "You">>"I'll take this, but this isn’t some sort of tacit agreement for you to get all... weird with me, got it?"<</Dialogue>><br><br><<Dialogue "KrisObsessed" "Kris">>"All that I ask is that you come over every now and then, so I can at least appreciate it, and perhaps help you a bit. Now, I’ve got to go back to work so..."<</Dialogue>><br><br>Before you get a chance to answer, she stands, puts her apron back on, and walks away. You stare, fully expecting a smirk or dirty wink from her, but she simply looks back, and giving you a friendly smile. <br><<set $money += 1000>><<set $krisOpinion += 5>><<set $krisObsessedOpinion += 5>> <<set $KrisObsessed to true>><<addTrigger "krisObsessedResponses">><<removeTrigger "krisBored1" "Kris">><<link "Continue" $currentScene>><</link>><</replace>><</link>><br><br><<link "Don't take it.">><<replace "#choice3">><br><<Dialogue "player" "You">>"...I'm flattered, but no. I can't accept this. And I'm still not comfortable with being your... I don't even know what to call it. Sexual target? Sex object?"<</Dialogue>><br><br><<Dialogue "KrisObsessed" "Kris">>"Fine. I admit I went too far. I... won't bother you again. Just... pop over for a drink now and then, okay? I know deep in my heart that you won’t stop growing. I can feel it."<</Dialogue>><br><br>With that, she gets up, puts her apron on, and walks away. You can't help but notice her enthusiasm sizzling away and as she gets back to work, her mood even sourer than before. Is that a tinge of guilt you feel? No, it couldn’t be…?<br><<set $KrisDisabled to true>><<link "Continue" $currentScene>><</link>><</replace>><</link>><br> </span><br> <</replace>><</link>> </span> <br> <</replace>> <</link>><br><br> <<PersonalityCheck $shyConfident >= 2 "Tell her to fuck off.">> <<replace "#choice1">><br><<Dialogue "player" "You">>"... Just get me my coffee and fuck off already."<</Dialogue>><br><br><<Dialogue "KrisObsessed" "Kris">>"Right, fine! Just... trying to be friendly. And people wonder why I just lech instead of trying to interact. Urgh. Here's your... whatever."<</Dialogue>><br><br>As you sit down, you notice the manager talking to Kris. The conversation gets heated fast, though you can't quite hear it. But you get the idea that Kris has overstepped the line one too many times. The discussion turns rather livid and Kris storms out, throwing her apron to the floor. Well, that is the end of that...<<set $KrisDisabled to true>><br><br><<link "Continue" $currentScene>><</link>> <</replace>> <<Failed>> <<replace "#choice1">><br> <<Dialogue "player" "You">>"... Just… get me my coffee... p-please?"<</Dialogue>><br><br>Well, that was a bust. Kris smirks, knowing you just didn't have it in you to stand up to her. Without saying a word, she hands you the coffee, and as you timidly sit down, the seat groans from the pressure, and you can't help but notice that this coffee tastes... off.<br><<set $KrisObsessed to true>><<set $krisOpinion += 2>><<set $krisObsessedOpinion += 1>> <<addTrigger "krisObsessedResponses">><<removeTrigger "krisBored1" "Kris">><br><<link "Continue" $currentScene>><</link>> <</replace>> <</PersonalityCheck>> </span>`
},
{
name: 'krisObsessed',
locationTags: ['kris'],
conditions: [
() => State.variables.krisInterested
],
repeatable: false,
retriggerable: false,
priority: 'immediate',
npc: ['kris'],
content: '<<set $krisOpinion += 5>><<set $krisObsessedOpinion += 5>>As you enter the shop, the punk girl is idling behind the counter, looking at her phone with an expression of utter boredom. Clearly disinterested, she barely even looks up as she begins spouting the usual spiel. <br><br><<Dialogue "Kris" "Kris">>"Yeah what can I ge-"<</Dialogue>><br><br>But then her eyes get a glimpse of you, and she stops mid-sentence. They go wide, and examine your entire body. She stops at your most recently \'enhanced\' features, and like possessed by a demon, the corners of her mouth curl up in a sick grin.<br><br><<Dialogue "KrisObsessed" "Kris">>"You\'ve... grown."<</Dialogue>><br><br><<Dialogue "player" "You">>"W-what? No, I haven\'t!"<</Dialogue>><br><br><<Dialogue "KrisObsessed" "Kris">>"Don\'t you dare bullshit me! I\'ve seen you before, and I would have noticed if you were this big! I -"<</Dialogue>><br><br>Looking around, she realizes that she\'s drawing attention from other customers, a queue slowly growing behind you. Without warning, she grabs your wrist, dragging you into the storage room while shouting for a colleague to cover for her. With surprise on her side, you find yourself surrounded by boxes of varied supplies. The girl corners you, her arms on either side of you. Her eyes burn with fierce passion, a far cry from the indifferent rude employee from seconds ago. Reading her nametag, you see she\'s called Kris, and from the look in her eyes, she has plans for you.<br><br><<Dialogue "KrisObsessed" "Kris">>"Right, listen here, biggie. I KNOW you were not this big before. This... I know how people look. I know how much people can grow, how long it takes by doing what, and you\'ve WAY exceeded ANYTHING possible. So stop playing coy and tell me how the FUCK you got so.... BIG!"<</Dialogue>><br><br><<PersonalityCheck $shyConfident >= 1 "Tell her to back off">><br>Forcefully, you push Kris away, throwing the small girl across the room. She lands on some empty boxes, toppling the pile, now on the farther side of the room. <br><br><<Dialogue "player" "You">>"WHAT THE FUCK IS YOUR PROBLEM?!"<</Dialogue>><br><br>At first, her expression betrays her anger, like her fantasy has just been ruined. She tries to regain some composure, getting up and adjusting and patting her apron, then looking you straight in the eyes, unafraid to explain herself.<br><br><<Dialogue "Kris" "Kris">>"Alright, perhaps I got a bit carried away. But listen, I. Love. Big. EVERYTHING. Big muscles. Tall people. Huge tits. Meaty dicks... the bigger, the better. And yeah, I got a low-key obsession. BUT... I can see it in your eyes. You WANT to grow. And I’m sure you are not beyond accepting a little help. I\'m sure finding clothes is hard, or buying all that good stuff... SURELY you\'d be willing to accept some help there, am I wrong?"<</Dialogue>><br><br>She is not wrong. And given your accelerating growth, you expect the same from the issues she raised. Awkwardly, you scratch your head. She went for the heart, presenting her case very convincingly. <br><br><<Dialogue "KrisObsessed" "Kris">>"Seems I struck a nerve, huh? SOOOOO... what do you say? Think of me like a sponsor! I\'ll help you, as long as you... keep being you. Keep doing whatever you are already doing."<</Dialogue>><br><br><span id="choice2"><<link "That help could come in handy...">><br><<replace "#choice2">><<Dialogue "player" "You">>"... I mean food is going to get prohibitively expensive sooner or later... and so will the clothes..."<</Dialogue>><br><br><<Dialogue "KrisObsessed" "Kris">>"Big girl, listen to me. I get it! You don\'t know how many nights I\'ve spent fantasizing about this, I\'m probably more prepared than you will ever be! Think about it. I can only imagine how scary this could be! All that growing, the changes... all I’m saying is that I have a simple proposition. Whenever you feel overwhelmed or in need of some help, come here and I\'ll help you. Simple as that! I don\'t ask for anything in return just... just that I get to WATCH."<</Dialogue>><br><br>She closes the gap between you, her arm now around your waist. All smiles and friendliness, it seems she is firing up the charm offensive.<br><br><<Dialogue "player" "You">>"... That makes sense... I guess?"<</Dialogue>><br><br><<Dialogue "KrisObsessed" "Kris">>"Then we got a deal! Don\'t worry, you won\'t even notice a thing! Except the world shrinking around you, hehe! I’ll be your sugar mama. Or size mama, that has a nice ring to it!"<</Dialogue>><br><br>With that, she pushes you back to the shop. Somehow, you feel you got hoodwinked, but you\'re not quite sure how.<br><br><<addTrigger "krisObsessedResponses">><<removeTrigger "krisBored1" "Kris">><<link "Continue" "BookStore">><</link>><br><</replace>><br><</link>><br><<PersonalityCheck $carefreeCarefull <= -1 "Eh, you\'ll manage!">><<replace "#choice2">><br><<Dialogue "player" "You">>"I don\'t care, I\'ll manage, and the last thing I need is some sort of... obsessive pervert who thinks this sort of shit is okay!"<</Dialogue>><br><br>Kris taps her fingers against her arm, displeased.<br><br><<Dialogue "Kris" "Kris">>"... I might\'ve come across too strong. But listen, all I am offering is some help and-"<</Dialogue>><br><br><<Dialogue "player" "You">>"I. Don\'t. Care. Listen, you dragged me in here, forced me to listen to your crazy fantasies, and I’ve had enough. I\'ll manage, so leave me alone!"<</Dialogue>><br><br>With that, you storm off, leaving Kris there. She bites her thumb, looking less than pleased, but fact is: she doesn\'t go after you this time.<br><<set $krisObsessedSecondAttempt to true>><br><<link "Continue" "BookStore">><</link>><br><</replace>><<Failed>><<replace "#choice2">><br><<Dialogue "player" "You">>"I\'ll manage... somehow..."<</Dialogue>><br><br>Kris smirks. Gotcha.<br><br><<Dialogue "Kris" "Kris">>"... You don\'t sound so confident there. Listen, all I\'m offering is this... you come here once in a while, and I\'ll take care of everything. Just think of it like this: I\'m a fan of yours, and I want to support you! Thats not too bad, is it?"<</Dialogue>><br><br><<Dialogue "player" "You">>"... Fine. Just... don\'t get all stalkery again okay?"<</Dialogue>><br><br><<Dialogue "KrisObsessed" "Kris">>"Pffft, no worries! I just want to worship your amazing body. Now... what was your name?"<</Dialogue>><br><br><<Dialogue "player" "You">>"<<print $playerFirstName>>."<</Dialogue>><br><br><<Dialogue "KrisObsessed" "Kris">>"Big <<print $playerFirstName>>, I\'m Kris, your new biggest fan, and I look forward to helping you out! Or should I say, growing you out!"<</Dialogue>><br><br>With a friendly smile, she extends her hand. Once her obsessions are in check, you get a hint of a kind person. Hesitating, you accept her hand. You guess you got your first obsessive fan...?<br><br><<addTrigger "krisObsessedResponses">><<removeTrigger "krisBored1" "Kris">><<link "Continue" "BookStore">><</link>><br><</replace>><</PersonalityCheck>></span><br><br><<Failed>>Out of sheer desperation, you can\'t help but spill everything. The new apartment, the bottles you found, how your body responds to it. With every word, she leans in more and more, that maniacal grin widening. It’s a weird situation for you, and even somewhat intimidating. Yet oddly enough, she seems to bask in it. With the way she looks at you and your body, you get the feeling you are enabling her fantasies. And you can swear she smells your fear.<br><br><<Dialogue "KrisObsessed" "Kris">>"You... can grow. You took some magical science potion and you can... grow. Like, out of nowhere. Huh. Alright, big girl, here\'s the deal. I\'m going to help you grow, take things to another level, shatter world records, and go even further, I\'ll-"<</Dialogue>><br><br>She was breathing heavily, biting her lips, eyeing you hungrily. You don\'t even dare to move, her tiny form preying you and sending all kinds of signals in your lizard brain. Her chest heaves as she stands there, panting. <br><br><<Dialogue "KrisObsessed" "Kris">>"You come here... every day from now on... and I\'ll get you everything you need to grow. Coffee is on me. If you get what I mean... big girl...?"<</Dialogue>><br><br>Hesitantly, you nod. It seems you just agreed to become Kris\'s personal project...<br><<set $submissiveDominant -=1>><br><span class="important">You gained +1 submissive</span><br><<addTrigger "krisObsessedResponses">><<removeTrigger "krisBored1" "Kris">><<link "Continue" "BookStore">><</link>><br><</PersonalityCheck>>'
},
{
name: 'krisObsessedMuscle30',
locationTags: ['kris'],
conditions: [
() => State.variables.krisLastMuscle + 30 <= State.variables.muscle,
() => State.variables.krisInterested
],
repeatable: false,
retriggerable: false,
priority: 'immediate',
npc: ['kris'],
content: '<<set $krisOpinion += 20>><<set $krisObsessedOpinion += 20>>The moment you walked through the door, shoulders brushing the doorframe, Kris had eyes only for you. A hushed silence overtakes the little café, people staring at your bulging arms. They impose themselves on the room, commanding everyone\'s attention. The walk to the counter feels far longer than normal. Stepping up to it, you could almost smell Kris\'s excitement. When she finally speaks, after inspecting you all over, she speaks with eerie tranquility.<br><br><<Dialogue "KrisObsessed" "Kris">>"Heh... look at you. You\'ve grown. More than I ever imagined you would... so big... so... so massive. You\'re my dream come true, you know."<</Dialogue>><br>You were about to speak when you realize she isn\'t actually talking to you. She\'s talking to... herself, to the world... you are merely a prop in this monologue. Yet, the passion she devotes...<br><br><<Dialogue "KrisObsessed" "Kris">>"I\'ll make you bigger. Even bigger. Far bigger, far more muscular, oh, yes... I got something some BIG plans... until then... just you keep growing, girl..."<</Dialogue>><br> There\'s no coffee this time; only a lingering promise of things to come.<br><<link "Continue" "BookStore">><</link>>'
},
{
name: 'krisObsessedBreasts30',
locationTags: ['kris'],
conditions: [
() => State.variables.krisLastBreasts + 30 <= State.variables.breasts,
() => State.variables.krisInterested
],
repeatable: false,
retriggerable: false,
priority: 'immediate',
npc: ['kris'],
content: '<<set $krisOpinion += 10>><<set $krisObsessedOpinion += 10>>You thought you\'d get used to walking into a place with your constantly enhanced body... especially your growing chest... but people keep staring. The place goes completely silent as you walk up to the counter, except for, of course, Kris. <br><br><<Dialogue "KrisObsessed" "Kris">>"Whoa! HOOOLY SHIT, did those boobs grow! What did you do, rob the implant store while I wasn\'t looking?! Those look fucktastic, girl, some primo tits you got there!"<</Dialogue>><br><br><<Dialogue "player" "You">>"... could you keep your voice down a bit, please...?"<</Dialogue>><br><br>Everyone was listening, and the staring did not diminish, either. <br><br><<Dialogue "KrisObsessed" "Kris">>"Why? Ashamed of your sweater puppies? I love \'em, girl, and so will you!"<</Dialogue>><br><br><<PersonalityCheck $shyConfident >= 2 "Tell her to zip it!">><br><<Dialogue "player" "You">>"Will you just shut the fuck up?! Either you quiet down or I\'m gone!"<</Dialogue>><br><br><<Dialogue "KrisObsessed" "Kris">>"Right, fine! Just... wanted to be appreciative. Ugh. Here\'s your... coffee. On the house. Heh."<</Dialogue>><br><br>Looking at her smirk and the suspicious coffee, you can\'t help but think something is... off. Yet you take your cup, quickly making your way out. At least she kept her voice down.<br><br><<link "Continue" "BookStore">><</link>><<Failed>><br><<Dialogue "player" "You">>"P-please, can you keep it down? P-please?"<</Dialogue>><br><br><<Dialogue "KrisObsessed" "Kris">>"Aaaaw, big girl ashamed of her bazongas? Just take your drink and sit down. Enjoy, it’s on the house!"<</Dialogue>><br><br><<link "Continue" "BookStore">><</link>><</PersonalityCheck>>'
},
{
name: 'krisObsessedHeight30',
locationTags: ['kris'],
conditions: [
() => State.variables.krisLastHeight + 30 <= State.variables.height,
() => State.variables.krisInterested
],
repeatable: false,
retriggerable: false,
priority: 'immediate',
npc: ['kris'],
content: 'You make your way to the Coffee Corner, looking forward to your daily dose of caffeine. As you approach the counter, you spot Kris behind the cash register, looking down as she writes a customer’s name on a cup.<br><br>She puts the cup on the counter and raises her head, looking straight into your midriff. Her pupils dilate, and a sly grin slowly reveals itself. She seems to be… not shaking exactly, but vibrating at a high frequency?<br><br><<Dialogue "Kris" "Kris">>"…"<</Dialogue>><br><br><<if $muscle >= 45 && $fat >= 25 >>Her eyes linger at your chiseled abs, its contours hinted even through your clothes. She squeezes her hands hard, her knuckles whitening with the pressure.<<elseif $muscle >= 35 && $fat >= 45 >>Her eyes linger at your massive core, your bear of a waist like a honeypot for her hungry eyes. She squeezes her hands hard, her knuckles whitening with the pressure.<</if>><<if $breasts >= 50>>Her gaze continues upwards, stopping again at your prodigious mammaries, eyes widening. For someone who works with milk on a daily basis, she still looks like she could just jump and start sucking you right there. <<else>>Her gaze continues upwards, gazing at your breasts with delight. But this is just a quick stop on her journey to her paradisiacal final destination.<</if>>Her head starts tilting up, as she devours your chin visually from below. Her breathing intensifies in a very inappropriate manner as her eyes meet yours. Her vibration intensifies like a time bomb about to go off.<br><br><<Dialogue "player" "You">>"Uh… can I have a large espresso?"<</Dialogue>><br><br>Her grin becomes a downright maniacal smile that could put the Cheshire Cat to shame. You would not be surprised if she just ripped her apron off and jumped you right there and then.<br><br><<Dialogue "Kris" "Kris">>"BITCH, THE ONLY LARGE THING SOMEONE IS HAVING HERE IS YOU!"<</Dialogue>><br><br>Without warning, Kris stumbles over the counter, dropping the tip jar as she flops over frantically. Still laying on the ground, she gropes your substantial and long calves as she methodically climbs you.<br><br><<if $shyConfident < 1>>Your face goes bright red with the little show the two of you are putting on. You want to slowly start inching towards the door, but she’s all over you, making you unable to do more than a slight shuffle without causing a bigger scene. The scene would be hilarious if not absolutely humiliating (well, for you, that is, Kris seems to be beyond that).<br><br>As you slide towards the door with the pace of a slug, every patron in the store watches you both. Welp, I guess I’m gonna have to find another coffee shop, because I’m never stepping in here ever again, you think to yourself.<<elseif $muscle >=45 &&$height >= 180 && $submissiveDominant > 2>>You grab Kris by her collar, and rip her out from you and into the air in front of you, in an impressive display of sheer brute force. But instead of discouraging her, it seems to turn her on even more. She is now completely flushed, panting as warm clouds of vapor visually manifest from her mouth as she stretches her hands to try and grab you, eventually settling for just squishing your sizeable forearms while she bites her lips.<br><br>Coldly avoiding her gaze, you make your way to the ice cream freezer, methodically slide its door open, and dunk her there, shaking her off as you walk back to the counter, where another employee just stands in utter confusion at the little spectacle they just watched.<br><br><<Dialogue "Kris" "Kris">>"Totally worth it…"<</Dialogue>><br><br>Kris mutters from afar, shivering but still smiling.<<else>>As Kris makes her way past your waist, you look at her and ask:<br><br><<Dialogue "player" "You">>"Err… What do you think you are doing?"<</Dialogue>><br><br><<Dialogue "Kris" "Kris">>"Are you FUCKING KIDDING? When did you become A FUCKING GIANT? I want to explore every inch of that mountainous body! I want you to cradle me in your arms like a little doll while I suck your ti…!"<</Dialogue>><br><br><<Dialogue "player" "You">>"Kris? Can we do this later? I really need my coffee…"<</Dialogue>><br><br>It doesn’t look like she’s going to snap out of this. You guess your caffeine will have to wait. Also, now you have to stop at the post office to get a change of address form… to a different country, possibly.<</if>>'
}
)>><<set setup.KrisResponses to [
]>>
<<set setup.events.push(
{
name: 'krisLoan',
locationTags: ['kris'],
conditions: [
() => State.variables.krisInterested,
() => State.variables.money <= 100
],
repeatable: false,
retriggerable: false,
priority: 'response',
npc: ['kris'],
content: 'With some hesitation you approach the counter. Normally you\'d just come here to get coffee, or to speak with Kris. But today you had another reason. It almost feels stupid to go to KRIS of all people for this, but you have surprisingly few options left. Kris studies you the moment you come in, and already noticed something... off.<br><br><<Dialogue "Kris" "Kris">> "Heya, what can I get you my perfectly little growing giantess?"<</Dialogue>><br>The smirk was there, but something was different. She already seems to have figured it out. Right, this is the last chance to turn back; is it a good idea to ask Kris for money...? Clothes and everything have gotten so expensive, and you\'re really struggling lately.<br><br><span id="choice"><<link " Ask her.">><<replace "#choice">><br><br><<Dialogue "player" "You">> "Listen, Kris. I... I’ve got a problem. Food is just getting more expensive than I can handle, and I need new clothes all the time, I was wondering if you could-"<</Dialogue>><br>Her eyes widen, her familiar flushed face becoming even redder. Uh, oh.<br><br><<Dialogue "Kris" "Kris">> "Say no more my... BIG... GROWING.... MIRACLE! Heh, fucking hell, I knew you were growing fast but this... THIS... UNGH! Fuck, yeah, take some money, why don’t you?"<</Dialogue>><br>Opening the cash register, she grabs nearly $500, and just thrusts it against your torso. <br><br><<Dialogue "player" "You">> "I-is that okay?!?"<</Dialogue>><br><<Dialogue "Kris" "Kris">> "That\'s a me problem, my little giant darling! You just... grow. Keep growing for mama! Now, I need a fucking break, where is my-"<<set $money += 500>><</Dialogue>><br><<link "Continue" "BookStore">><</link>><</replace>><</link>><br><br><<link "Don\'t ask her.">><<replace "#choice">><br><br>You can\'t bring yourself to ask her, not her, of all people. She\'s already obsessed, and frankly, deep into creepy territory.<br><br><<Dialogue "player" "You">> "It\'s… nothing, just didn’t enough sleep. Um.... can I get an affogato?"<</Dialogue>><br><<Dialogue "Kris" "Kris">> "... You know you can ask me anything, anytime, right? Just... know I\'m here for you."<</Dialogue>><br>Damn. Of course NOW she\'s going to be supportive, of all times. Getting your drink, you carry on, trying to think of other potentials venues for monetary relief.<br><br><<link "Continue" "BookStore">><</link>><</replace>><</link>></span>'
},
{
name: 'krisStreamed',
locationTags: ['kris'],
conditions: [
() => State.variables.krisInterested,
() => State.variables.streamedFlag
],
repeatable: false,
retriggerable: false,
priority: 'response',
npc: ['kris'],
content: '<<set $krisOpinion += 3>><<set $krisObsessedOpinion += 3>>You walk into the café yet another time, <<if $fat >= 50 || $breasts >= 50 || $height >= 210 || $muscle >= 50>> squeezing your rather large assets through the door and accidentally bumping into a customer or two, <</if>>hoping that there would be at least some semblance of - <br><br><<Dialogue "Kris" "Kris">> "HEY, YOU THERE, COME RIGHT THE FUCK OVER HERE!"<</Dialogue>><br>Well, that didn\'t take long. Kris rushes over from her station, grabbing you by the wrist and pulling you over to the side. Before you get a chance to open your mouth and protest, Kris\'s own hand shoots forward and covers your mouth. Her cheeks get flushed and she bits her lip lecherously. Oh, damn it, it is going to be one of those days, isn\'t it?<br><br><<Dialogue "Kris" "Kris">> "Hehehe, well, well, well. You didn\'t tell me you had such a knack for the screen!"<</Dialogue>><br><<Dialogue "player" "You">> "Uh, what the hell are you talking about…?"<</Dialogue>><br><<Dialogue "Kris" "Kris">> "Oh, please, don\'t play coy with me, bitch. You know damn well what I mean!"<</Dialogue>><br>You blink a few times, still confused, which causes Kris to roll her eyes.<br><br><<Dialogue "Kris" "Kris">> "Your streaming channel, showing off the goods to the masses?"<</Dialogue>><br>Ah. Fuck.<br><br><<Dialogue "player" "You">> "Ah? Heheh... y-you saw that, huh?"<</Dialogue>><br>Kris bits her lip harder, staring into your soul in 50 flavors of stranger danger.<br><br><<Dialogue "Kris" "Kris">> "Oh, you bet your sweet ass, I saw you. Flexing the good stuff like it was some accident? MMMPH, if only I was there, I would have applied oil all over you!"<</Dialogue>><br>Oh, this is bad, this is really, really, REALLY bad.<br><br><span id="choice"><<link "Reprimand Kris">><<replace "#choice">><br><br><<Dialogue "player" "You">> "Look, I don\'t know what the hell you saw, but if you think this gives you a right to just treat me like a walking sex doll -"<</Dialogue>><br><<Dialogue "Kris" "Kris">> "Whoa whoa whoa, what? Fuck that, that wasn\'t what I meant! No, I just wanted to give you props for it!"<</Dialogue>><br><<Dialogue "player" "You">> "Uuuuuuuuuuh, what?"<</Dialogue>><br><<Dialogue "Kris" "Kris">> "No \'uh\', ok? Look, streaming? This shit takes BALLS. One wrong move and all of a sudden people start accusing of being a cam-whore or fake gamer or some crap like that. You doing it and enjoying it like that? Girl, I WISH people were as bold as you!"<</Dialogue>><br><<Dialogue "player" "You">> "Oh? Well? That\'s… awfully supportive of you? You mean that?"<</Dialogue>><br><<Dialogue "Kris" "Kris">> "Heh, fuck yeah! I may thirst and spend OnlyFaps-level cash on your sexy ass, but believe me when I say you have my full support in that endeavor, on a philosophical level, even!"<</Dialogue>><br>It may have started as some extra income to help with the bills, but this encouragement coming from Kris really put a smile on your face. Satisfied, Kris finally lets you go, so she can continue to ignore the long queue of impatient customers she doesn’t give a shit about.<br><<link "Continue" "BookStore">><</link>><</replace>><</link>><br><br><<link "Try and skedaddle">><<replace "#choice">><br><br><<Dialogue "player" "You">> "Hehehe, yeeeeeeah? Look, Kris, I just want to get my coffee and get going, so I\'m just going to - "<</Dialogue>><br>Kris slams her arm against the wall, blocking off your path. <<if $height >= 210 || $muscle >= 50>> How the hell did she manage, given that her arm is barely waist-high against you, you can\'t explain. But the energy she was putting out was too menacing to even try and pry her arm away. <</if>> She brings her face against your slowly, looking like she was about to raise every red flag in the book.<br><br><<Dialogue "Kris" "Kris">> "And you have my full support."<</Dialogue>><br><br><<Dialogue "player" "You">> "Uuuuuuh?"<</Dialogue>><br><<Dialogue "Kris" "Kris">> No \'uhs\', ok? Look, streaming? This shit takes BALLS. One wrong move and all of a sudden people start accusing of being a cam-whore or fake gamer or some crap like that. You doing it and enjoying it like that? Girl, I WISH people were as bold as you!"<</Dialogue>><br><<Dialogue "player" "You">> Oh? Well? That\'s awfully supportive of you? You mean it?"<</Dialogue>><br><<Dialogue "Kris" "Kris">>" Heh, Fuck yeah! I may thirst and spend OnlyFaps-level cash on your sexy ass, but believe me when I say you have my full support in that endeavor, on a philosophical level, even!"<</Dialogue>><br>It may have started as some extra income to help with the bills, but this encouragement coming from Kris really put a smile on your face. Satisfied, Kris finally lets you go, so she can continue to ignore the long queue of impatient customers she doesn’t give a shit about.<br><br><<link "Continue" "BookStore">><</link>><</replace>><</link>></span>'
},
{
name: 'JohanVisitsKris',
locationTags: ['kris'],
conditions: [
() => State.variables.krisInterested,
() => State.variables.johanOpinion >= 30,
() => State.variables.krisOpinion >= 30
],
repeatable: false,
retriggerable: false,
priority: 'response',
npc: ['kris','johan'],
content: 'You wait in line, when you recognize not one, but two familiar voices. The first is obviously the sarcastic tones of Kris and the other... is that… Johan?!<br><br><<Dialogue "Johan" "Johan">>"… Just give me my damn mint tea, it\'s what I ordered!"<</Dialogue>><br><<Dialogue "Kris" "Kris">>"Yeah, and it\'s such a fucking bother to make, so just drink that fucking coffee, twerp."<</Dialogue>><br><<Dialogue "Johan" "Johan">>"What is your problem?! I asked for a specific drink, I’m not paying for something else!"<</Dialogue>><br><<Dialogue "Kris" "Kris">>"YOU are my problem, SIR. Fiiiine, I\'ll make you your fucking plant soup!"<</Dialogue>><br>It seems Kris at her usual games, and Johan is not having it. What should you do...? <br><span id="choice"><<PersonalityCheck $shyConfident >= 1 "Help Johan.">><<replace "#choice">><br><<Dialogue "player" "You">>"Kris, just give Johan what he ordered."<</Dialogue>><br>Summoning some courage, you stand by your friend, your presence dominating the room. Kris looks at you, surprised. Then both of them speak at the same time:<br><<Dialogue "Kris" "Kris">>"You know him?"<</Dialogue>><br><<Dialogue "Johan" "Johan">>"You know her?"<</Dialogue>><br><<Dialogue "player" "You">>"Yeah, I know both of you. Now, Kris - "<</Dialogue>><br><<Dialogue "Kris" "Kris">>"Hey, hey, no worries! Any friends of my big girl is a friend of mine! And sorry for the trouble, sir, here, have a free cheesecake, on the house!"<</Dialogue>><br>You and Johan stand there, rather stunned. Did Kris really just pull a complete 180°? Sitting down with him, you are still somewhat taken back. <<Dialogue "Johan" "Johan">>"Thanks for the help but... how do you know her?"<</Dialogue>><br><<Dialogue "player" "You">>"Yeah, we got... acquainted. Sorry for all that, she\'s a bit of a pest at times."<</Dialogue>><br><<Dialogue "Johan" "Johan">>"Hey, you came through for me! That\'s all that matters!"<</Dialogue>><br>You giggle at the contrast between your two friends, as you hang out and watch Kris passing by every so often, refilling both of your cups several times. All things considered, that could\'ve gone a LOT worse!<br><br><<link "Continue" "BookStore">><<set $johanOpinion += 10>><<set $krisOpinion +=2>><</link>><</replace>><<Failed>><<replace "#choice">><br><<Dialogue "player" "You">>"Kris, j-just give Johan what he wants. P-please?"<</Dialogue>><br>Failing to find any courage to stand up to her, you try to aid your friend. But it doesn’t seem to do much good... Kris turns her eyes to you, grinning. Both of them speak at the same time:<br><<Dialogue "Kris" "Kris">>"You know him?"<</Dialogue>><br><<Dialogue "Johan" "Johan">>"You know her?"<</Dialogue>><br>As Kris leers, you barely dare to speak. She\'s in control here, and she knows it.<br><<Dialogue "KrisObsessed" "Kris">>"Hey, no worries! Any friend of my BIG GIRL is a friend of mine! Why don\'t the two of you sit down, and I\'ll get you both something NICE and SPECIAL!"<</Dialogue>><br>She raises her eyebrows suggestively a couple of times while you and Johan stand there, rather stunned. As you make your way to a booth, Johan looks at you, a puzzled expression on his face. Sitting down, you wait. Kris comes over and... oh, God. She knows she\'s in control. <<Dialogue "KrisObsessed" "Kris">>"Hehe, Heeeey, babe! Here is your SPECIAL coffee, lap it up, it will make you big and strong!"<</Dialogue>><br>She leans in, squeezing your arms, leaning to graze her torso over your chest, and… she kisses you. Deeply blushing, you can\'t help but watch Johan’s stunned reaction. Your eyes desperately beg for him not to this up. But he knows, and you can\'t help but realize all of this has proven just how submissive you really are to Kris.<br><br><<link "Continue" "BookStore">><<set $submissiveDominant -= 2>><<set $krisOpinion +=5>><</link>><</replace>><</PersonalityCheck>><br><<PersonalityCheck $carefreeCarefull >= 1 "Try to get away">><<replace "#choice">>Sometimes, the only winning move is to not play. With determined steps, you try to leave the establishment. The two continue loudly arguing, but you JUST manage to sneak away, neither of them having spotted you. Thank God! <br><br><<link "Continue" "BookStore">><</link>><</replace>><<Failed>><<replace "#choice">>Sometimes the only winning move is to not play. With determined steps, you try to leave the establishment. The two continue loudly arguing, but either because of your bulk or the fact you knocked over a plant, all eyes are now on you, including Johan’s and Kris’s, as you fail in your stealthy escape. Johan seems especially hurt by your attitude. <br><<Dialogue "Johan" "Johan">>"... Are you seriously just trying to sneak away from this? You know what, I\'m done. I\'m fucking done, fuck you both."<</Dialogue>><br>He storms out, clearly not amused by any of this. You watch him storm out, genuinely angry, and Kris just HAS to have the last word.<br><<Dialogue "Kris" "Kris">>"... Fucking nerd!"<</Dialogue>><br><<link "Continue" "BookStore">><<set $johanOpinion -= 10>><<set $apologizeToJohan to true>><</link>><</replace>><</PersonalityCheck>></span>'
},
{
name: 'krisHomeTailoredClothing',
locationTags: ['kris'],
conditions: [
() => State.variables.krisInterested,
() => State.variables.outfit.bonuses().map(bonus => bonus.name).includes('Hand-made')
],
repeatable: false,
retriggerable: false,
priority: 'response',
npc: ['kris'],
content: '<<Dialogue "KrisObsessed" "Kris">>"Hey, hey, there is my... huh. You look… different? Today. Did you do something with your outfit?"<</Dialogue>><br>Of course Kris would notice immediately. She watches you like a hawk<br><<Dialogue "player" "You">>"Um, I got them tailored and - "<</Dialogue>><br><<Dialogue "KrisObsessed" "Kris">>"...nah, you didn\'t GET them tailored. I know what that looks like and that\'s not it. Where did you get those?"<</Dialogue>><br><<Dialogue "player" "You">>"Um... I made them myself... at home. Lately I’ve been sewing, as a hobby, so I - "<</Dialogue>><br><<Dialogue "KrisObsessed" "Kris">>"That is SO fucking cool, and bound to come in handy, given how much you are growing! Listen, I\'ll see if I can hustle some fabric for you! Just hang tight, grow bigger, and make bigger clothes!"<</Dialogue>><br>Aaand she is off, leaving you there with your (cold) coffee. Well, you hope the customers behind you don\'t need service...<br><<link "Continue" "BookStore">><<set $krisOpinion +=2>><<set $krisObsessedOpinion += 2>><</link>>'
},
{
name: 'krisExpertCook',
locationTags: ['elena'],
conditions: [],
repeatable: false,
retriggerable: false,
priority: 'response',
npc: ['kris'],
content: ''
},
{
name: 'krisExpertWorkout',
locationTags: ['kris'],
conditions: [
() => State.variables.krisInterested,
() => State.variables.skills[0].level >= 4
],
repeatable: false,
retriggerable: false,
priority: 'response',
npc: ['kris'],
content: 'You approach the counter, hoping for nothing more than a simple cup of coffee. Of course, with Kris - <br><br><<Dialogue "Kris" "Kris">> Heeeeeeeeeey, big girl, what\'cha doin\'?<</Dialogue>><br>- Yeah, there was never going to be such a thing as a \'simple cup of coffee\'.<br><br><<Dialogue "player" "You">> Oh? Hey, Kris. Yeah, I was just hoping I could get the usual?<</Dialogue>><br>Kris smirks, as she just pulls your exact order from under the counter, practically slamming it down in front of her whilst miraculously not spilling a drop with that motion.<br><br><<Dialogue "Kris" "Kris">> Hehe, already knew you were coming from a mile away. Just... UNNNNNNGH, those bulges always make my day!<</Dialogue>><br>As you raise an eyebrow in confused acceptance, your hand reaches for the cup, causing your massive pecs to bunch up and bounce <<if $boobs > 50>> along with the inevitable jiggle of your beachball boobs<</if>>. Your eyes widen, not out of embarrassment or surprise, but rather with a sense of dread. As if the universe was hellbent on proving you right, Kris bits her lip, and somehow her already obsessed gaze intensifies<br><br><<Dialogue "Kris" "Kris">> Hey? What was that just now? DO IT AGAIN!<</Dialogue>><br><<Dialogue "player" "You">> Uh? What? What are you talking about?<</Dialogue>><br><<Dialogue "Kris" "Kris">> Come oooooon, you know what I’m talking about, hot stuff. Can\'t you bounce those babies a bit for poor old Kris?<</Dialogue>><br>For a few seconds, you hesitate.<br><br><<Dialogue "Kris" "Kris">> I\'ll give you some cash if you doooo!<</Dialogue>><br>God, why had you been reduced to this? The singsong begging is a bit much, but cash is cash. With a grumble, you begin slowly bouncing your pecs in alternating fashion, while casually pouring some sugar in your coffee, your brawny chest granting the barista wishes and netting you a tidy, if a bit demeaning, profit.<br><br><<set $money += 50>><<link "Continue" "BookStore">><<set $krisObsessedOpinion += 2>><</link>>'
},
{
name: 'krisExpertSewing',
locationTags: ['kris'],
conditions: [],
repeatable: false,
retriggerable: false,
priority: 'response',
npc: ['kris'],
content: ''
},
{
name: 'krisExpertBookkeeping',
locationTags: ['kris'],
conditions: [],
repeatable: false,
retriggerable: false,
priority: 'response',
npc: ['kris'],
content: ''
},
{
name: 'krisMeetsEmma',
locationTags: ['kris'],
conditions: [
() => State.variables.krisInterested,
() => State.variables.krisObsessedOpinion >= 30,
() => State.variables.emmaOpinion >= 30,
],
repeatable: false,
retriggerable: false,
priority: 'response',
npc: ['kris', 'emma'],
content: 'Feeling slightly adventurous, you order the new Colombian coffee blend the Coffee Corner is advertising on its blackboard. The aroma alone makes you shiver, and you enjoy every last sip slowly and with great joy. But your concentration is shattered when you notice a familiar face arriving at the cashier, her burly frame hard to miss in the crowd.<br><br><<Dialogue \"Emma\" \"Emma\">>\"I would like a Gibraltar, using the Guatemalan beans, with a dash of cinnamon.\"<</Dialogue>><br><br>Uh-oh. You recognize that other expression. Not on Emma…<br><br><<Dialogue \"KrisObsessed\" \"Kris\">>\"Are you sure you just want a dash of cinnamon? Because you look VERY SPICY to me!\"<</Dialogue>><br><br>Oh, boy. You might just need some popcorn for this.<br><br>Emma looks evidently bothered by the innuendo, but plays it cool.<br><br><<Dialogue \"Emma\" \"Emma\">>\"And make it to-go, please, I don’t have much time.\"<</Dialogue>><br><br><<Dialogue \"KrisObsessed\" \"Kris\">>\"Oh, I can get behind you going somewhere… with me, big mama!\"<</Dialogue>><br><br><<Dialogue \"Emma\" \"Emma\">>\"AHEM! Excuse me…\"<</Dialogue>><br><br>Emma lowers her glasses, bending down to read the nametag on Kris’s apron.<br><br><<Dialogue \"Emma\" \"Emma\">>\"… Kris… but I find this behavior outright unprofessional. Please avoid this kind of language or I might have to speak to your manager.\"<</Dialogue>><br><br>You find your eyes stuck at this exchange, the cup of coffee permanently stuck on your lips as you watch intently for the outcome.<br><br><<Dialogue \"KrisObsessed\" \"Kris\">>\"Hmmm… yes, that suit and this demanding businesswoman thing you got going REALLY compliments your generous figure, lady. What do you say we go in the back and you can play strict teacher with me… I could REALLY use a spanking! I’ve got a slapper I’m DYING to try out!!!\"<</Dialogue>><br><br>Emma pulls out the implement from her back pocket, and gives herself a very loud slap on her tush.<br><br><<Dialogue \"KrisObsessed\" \"Kris\">>\"Oh, yeah, that is what I’m talking about. What do you say we go somewhere more private and we do some librarian roleplay, you and me?\"<</Dialogue>><br><br>Emma still looks at her coldly and unflinching. At this point, you are on the edge of your seat - this is better than TV! You’ve seen reality shows with less drama! As you take another sip of your drink, Kris bends over the counter and slaps Emma’s butt with the implement.<br><br><<Dialogue \"KrisObsessed\" \"Kris\">>\"Come on, I can see in your eyes, just how bad you want to discipline me. And don’t think you fool me with that buttoned-up suit, I have a sixth sense for big girls… and you are ONE BIG MAMMA! Just look at those stretched buttons on your shirt…\"<</Dialogue>><br><br>Kris starts licking her lips and making grabby motions with her hands, it would seem like she is intent on pushing Emma past her breaking point, but failing so far. However, you feel like the gauntlet has been thrown, and your instincts are confirmed as Kris escalates this cold war: she flat out reaches across and squeezes Emma’s sleeve - a mix of surprise and delight on her face.<br><br><<Dialogue \"KrisObsessed\" \"Kris\">>\"WHOA! You REALLY are hiding the goods, mommy! You are a hardbody under all that corporate packaging! What I wouldn’t give to be in your board meeting, bringing a bad report so you have to chastise me in front of the whole room!\"<</Dialogue>><br><br>Emma very carefully but emphatically slaps Kris’s hand away. It’s subtle, but a barrier has been crossed. You can’t quite put your finger on it, but something has changed in Emma’s composure - it’s like she is… tense? Almost like you could perceive her heartbeat accelerating below her veneer of self-composure.<br><br><<Dialogue \"Emma\" \"Emma\">>\"Listen here, KRIS. I want some coffee. This is a simple business transaction, and all I expect is for you to follow the training I’m sure was given to you on how to handle a customer. So I’m giving you a last chance before I am forced to call your manager and file a formal complaint.\"<</Dialogue>><br><br>Emma is very smart, but she is failing to understand that she’s playing right into Kris’s hand. The more serious she gets, the brattier is the response. And this one… might just have lit her fuse. Kris slides over the counter, and slides a hand under Emma’s very tight skirt, partially revealing some incredibly toned thighs. Emma takes a very forceful step back, and you could swear she’s pulling her hand back to slap Kris in the face…<br><br>However, that hand goes to adjust her glasses. Instead of blowing up, she gets more serious and calmer.<br><br><<Dialogue \"Emma\" \"Emma\">>\"I apologize, clearly, this establishment does not vet their employees well enough. I shall take my business elsewhere. Have a good day.\"<</Dialogue>><br><br>And, with that, Emma turns and leaves. Kris shouts, shaking the unnamed cup in the air:<br><br><<Dialogue \"KrisObsessed\" \"Kris\">>\"ARE YOU SURE YOU DON’T WANT TO PUNISH ME? I EVEN WROTE “MOMMY” ON YOUR CUP, DO YOU WANT TO KEEP THAT AS A SOUVENIR?\"<</Dialogue>><br><br>You watch, cup still firmly glued to your lips this entire time, as the manager runs after Emma to apologize, and Kris just retreats to the back, biting her lip and rolling her half-closed eyes in an expression that would be at home in any porn movie. Well, you always wanted to see the irresistible force paradox resolved, and this is probably as close as you are going to get.'
},
{
name: 'krisMilksThePlayer',
locationTags: ['kris'],
conditions: [
() => State.variables.krisInterested,
() => State.variables.krisObsessedOpinion >= 30,
() => State.variables.breastsFullness === 'overflowing'
],
repeatable: false,
retriggerable: false,
priority: 'response',
npc: ['kris'],
content: `You get into some casual talk with Kris during her shift at the Coffee Corner. It's been relatively tame given who you are talking to, but you never really know with her. It's a refreshing change of pace, to be able to talk to her about the new movie she'd just watched, or the new meal you tried to cook the other day. Your little moment is unfortunately cut short by a sudden tightness in your chest, one that you have grown familiar with. You wince a bit, and look around for an escape route. You're going to have to find somewhere to duck away to take care of yourself, or else you're going to risk a very embarrassing leak.<br><br><<Dialogue "player" "You">>"Kris? Where's the restroom around here?">><</Dialogue>><br><br><<Dialogue "Kris" "Kris">>"Sorry. Only one we've got is for employees. And even then, the plumbing is all messed up."<</Dialogue>><br><br><<Dialogue "player" "You">>Shoot...<</Dialogue>><br><br>Your eyes dart around, praying for some private spot to relieve yourself inside the coffee shop. Kris eyes you curiously, until her eyes wander over your body and notices your arms wrapped around your breasts. You see her eyes widen as she puts two and two together. She leans in and lowers her voice to a whisper.<br><br><<Dialogue "Kris" "Kris">>"Good God. Are you... leaking?"<</Dialogue>><br><br>You drop to a whisper to answer to her pleading question.<br><br><<Dialogue "player" "You">>"Yes! This is the worst! I need to relieve myself, like, RIGHT NOW, or I'm going to spray all over the counter!"<</Dialogue>><br><br>Kris's eyes haven't lost their laser focus on your bursting breasts. She nods along quietly as her mouth hangs slightly open. If you let her go for a while longer, you're fairly certain she would start drooling, or worse yet… personally taking care of your milk.<br><br><<Dialogue "player" "You">>"Kris!"<</Dialogue>><br><br><<Dialogue "Kris" "Kris">>"Right! Come on, come with me."<</Dialogue>><br><br>She slips away behind the counter and gestures for you to follow. You tail her, leading you to a door marked "Employees Only". She slips her key, unlocks the door, and hurriedly points for you to go inside. You slip through and she follows you inside, locking the door behind her. It seems Kris has led you into a storage closet. It's a little cramped, but there's still enough room for both of you to just get around. She dashes and rummages through one of the storage shelves, grabbing a stereotypical tin bucket and hands it over to you.<br><br><<Dialogue "Kris" "Kris">>"Here. Not fancy, but it should get the job done for you. Just some old stuff we used for Thanksgiving decoration last year."<</Dialogue>><br><br><<Dialogue "player" "You">>"Oh, my God. Kris, you're a lifesaver, thank you so much. I'll be quick, I can come back out and join you in a minute."<</Dialogue>><br><br>You sigh in relief, and grab the hem of your top, ready to quickly relieve the pressure from your chest. Just as you are about to pull your breasts free, you realize that Kris hasn't moved from her spot. She's still staring at you in the same zombified state.<br><br><<Dialogue "player" "You">>"... I said: thank you, Kris. I'm good, I'll see you outside."<</Dialogue>><br><br><<Dialogue "Kris" "Kris">>"I can help."<</Dialogue>><br><br><<Dialogue "player" "You">>"Excuse me?!?"<</Dialogue>><br><br><<Dialogue "Kris" "Kris">>"Come on, you're in a hurry, right? You could use some help! Just look at those bazongas you're lugging around, I bet you can't even handle one of them on your own! Come on, please?"<</Dialogue>><br><br><span id="choice"><<link "Okay. Come on, give me a hand.">><<replace "#choice">>You huff. You don't know what's gotten into you, but this actually doesn’t seem like the worst idea. You raise the tip of your top up, letting your breasts flop free.<br><br><<Dialogue "player" "You">>"Okay. Come on, get over here."<</Dialogue>><br><br>Kris's face looks like you just handed her a million dollars. She practically leaps forward, hands clasping at your breasts and milk leaking out between her fingers.<br><br><<Dialogue "player" "You">>"Ah! AH! Ahhhh. H-hey, go easy there!"<</Dialogue>><br><br><<Dialogue "Kris" "Kris">>"Hey, I'm just doing my job!<</Dialogue>><<if $Dominant >= 1>><<Dialogue "player" "You">>"Fine, if that's how you're gonna be..."<</Dialogue>><br><br>Kris dove so eagerly that she's practically bear hugging you. That actually comes in handy for what you had in mind. You grab Kris by her hair and firmly press her mouth against your exposed nipple. Fresh milk readily sprays out into her mouth.<br><br><<Dialogue "player" "You">>"Drink up, girl!"<</Dialogue>><br><br>You hold Kris firmly in place and, to your surprise, you feel her eagerly sucking on your breast. In fact, you can hear her moan and feel her shuddering as you empty your tit into her. You blush at the sight, not entirely sure how to feel about this whole scenario. But you're getting your needs taken care of, Kris is indubitably enjoying yourself. And you don't hate this feeling either, to be perfectly honest.<br><br>A few minutes later, and a quick switch from one breast to the other, you finally feel yourself drained dry. Kris releases her hungry mouth from your nipple with loud pop, putting her hands on her stomach.<br><br><<Dialogue "player" "You">>"Wow. I really didn't think you had it in you. Good work."<</Dialogue>><br><br>Kris contentedly pats her belly as you cover back up.<<Dialogue "Kris" "Kris">>"Whew! That's my lunch taken care of, anyway. Thank you, mommy."<</Dialogue>><br><br><<Dialogue "player" "You">>"Don't be creepy. Come on. You should probably get back to work before your customers get mad at you."<</Dialogue>><br><br><<Dialogue "Kris" "Kris">>"Aw, buzzkill. Though, you're probably right. Come on, let's get out of here."<</Dialogue>><<else>><<Dialogue "player" "You">>"Be careful! If you're too rough, you're gonna-"<</Dialogue>><br><br>Without even realizing it, you've been backed into a wall. Kris pins you gently, leaning and latching her mouth onto one of your leaking nipples. She sucks hungrily, and you can feel milk rushing out of yourself faster than you ever have before, waves of pleasure washing over your entire body. Against your will, quiet squeals escape your lips. Kris responds by wrapping her arms around you in a bear hug and eagerly burying her face in your blossoming breast. Your breath quickens and you can feel your face blushing as Kris proceeds to suck you dry while you moan and squirm under her touch. Finally, that breast is done with, and she lets go with a loud pop.<br><br><<Dialogue "Kris" "Kris">>"Look at you, giving it all up like a good girl!"<</Dialogue>><br><br><<Dialogue "player" "You">>"Gah! Just shut up and finish the job!"<</Dialogue>><br><br><<Dialogue "Kris" "Kris">>"So forceful all of a sudden! Well, if you say so…"<</Dialogue>><br><br>She eagerly shoves her face against your other breast. Incapable of putting up any resistance, your knees quiver and you pant as she eagerly sucks at your teat. It all happens in a flash making you lose the concept of time, but you finally feel dry. Kris seems to realize this as well, as she removes her hands from you with a contented sigh.<br><br><<Dialogue "Kris" "Kris">>"Damn. You ought to see someone about selling your milk, that was some good stuff!"<</Dialogue>><br><br>You haven't quite recovered your breath yet, so all you can muster is a quiet groan and a defiant look.<br><br><<Dialogue "player" "You">>"Well, *gasp* you sure look like you… *huff*… enjoyed yourself."<</Dialogue>><br><br><<Dialogue "Kris" "Kris">>"I could say the same thing, darling."<</Dialogue>><br><br><<Dialogue "player" "You">>"... Shut up."<</Dialogue>><br><br><<Dialogue "Kris" "Kris">>"Just sayin'."<</Dialogue>><br><br><<Dialogue "player" "You">>"Don't you have work to get back to?"<</Dialogue>><br><br><<Dialogue "Kris" "Kris">>"Shit. I guess you are right. Bet there’s a line out the door. But it was worth it! Talk to me again if you need another milking, cowgirl!"<</Dialogue>><br><br>Kris lets herself out of the closet with a wink and a wave. Blushing as a result of torrent of emotions inside you right now, you cover back up and wait a few brief moments before you let yourself out as well.<</if>><<link "Continue" $currentScene>><</link>><</replace>><</link>><<link "Are you kidding? No!">><<replace "#choice">><<Dialogue "player" "You">>"You can't be serious!"<</Dialogue>><br><br><<Dialogue "Kris" "Kris">>"I'm serious as a heart attack! Come on, let me have it at those mommy milkers!"<</Dialogue>><br><br><<Dialogue "player" "You">>"Kris. Thank you, but I'm taking care of this myself. I'll see you outside."<</Dialogue>><br><br>You glare at her, the look on her face makes it clear that you got your point across. She huffs and rolls her eyes.<br><br><<Dialogue "Kris" "Kris">>"Okay, okay, message received. Youcan have the place for as long as you need it. I'll be outside when you're done."<</Dialogue>><br><br>Kris waves and lets herself back out of the closet, waving as she goes. Finally at peace, you free your breasts from the confines of your shirt, and you prepare the bucket under one nipple. Sweet relief comes as you squeeze your breast, milk spurting forth, frothing loudly into the bucket. A few minutes later, you are blissfully empty and, without any better option, you simply leave the bucket of dairy lying on the floor. You hope none of the employees mistakes it for the actual product.<<link "Continue" $currentScene>><</link>><</replace>><</link>></span>`
},
{
name: 'KrisBreaksIn',
locationTags: ['home'],
conditions: [
() => State.variables.krisInterested,
() => State.variables.krisObsessedOpinion >= 30,
() => State.variables.muscle >= 40
],
repeatable: false,
retriggerable: false,
priority: 'response',
npc: ['kris'],
content: 'You get to your apartment, unlocking the door while you casually look at your phone. You close and lock the door, and as you turn on the lights…<br><br><<Dialogue "player" "You">>"WHAT THE FUCK?"<</Dialogue>><br><br>You find Kris, sitting cross-legged on the sofa with a very revealing short skirt… enshrined in a smorgasbord of supplement bottles, arranged in a perfect circle around her, like a veritable throne to bodybuilding.<br><br><<Dialogue "Kris" "Kris">>"Hello, my darling. I was expecting you."<</Dialogue>><br><br><<Dialogue "player" "You">>"CLEARLY?!?"<</Dialogue>><br><br>You respond, as you wave your hands over her elaborate setup. She uncrosses her legs seductively (uh… is she not wearing underwear?) as she leans her elbow on the armrest and puts a hand on her chin and proclaims, waving her other arm towards the bottles:<br><br><<Dialogue "Kris" "Kris">>"BEHOLD! An offering for my mistress!"<</Dialogue>><br><br> This is nuts - there’s enough supplements here to cost a small fortune. <<if $skills[0].level > 2 || $skills[1].level > 3>>A quick glance shows that she did not skimp, either - it’s all top-shelf stuff.<</if>> She just stares at you, licking her lips, while you take stock of her little stunt.<br><br><<if $submissiveDominant > 1 && $muscle >= 40>> You cross your arms and straighten your back, tapping your foot as you stare Kris right back in the eyes.<br><br> <<Dialogue "player" "You">>"I see. I suppose you have been a very good girl. I wonder… if you deserve a reward?"<</Dialogue>><br><br> Kris loses her composure entirely at that reply. She digs her conjoined hands between her legs, leaning forward with a thirsty look, quite speechless and eager. She reminds you of a little puppy, just drooling at the prospect of a treat.<br><br> <<Dialogue "player" "You">>"Hmmmm… but I wonder what the little one has made herself worth of with this…"<</Dialogue>><br><br><<elseif $shyConfident < 0>> <<Dialogue "player" "You">>"Errr… Kris, I’m sorry, but this isn’t really OK… could you… just… you know…"<</Dialogue>><br><br> You take a deep breath, slumping your shoulders.<br><br> <<Dialogue "player" "You">>"... leave?"<</Dialogue>><br><br> Kris stands up, and takes slow and deliberate steps towards you. She licks her index finger, and runs it over your shoulder, down your arms, before taking your hand on hers.<br><br> <<Dialogue "Kris" "Kris">>"I don’t know about that… I’ve already been such a good girl, I feel like I deserve a reward, wouldn’t you say…?"<</Dialogue>><br><br> She slowly and methodically grabs your elbow with her other hand, and lifts your arm in a 90 degree angle, eyeing your biceps and triceps hungrily. She then proceeds to open her mouth, and give your biceps a very gentle full-mouthed bite, while keeping eye contact with you.<br><br><<else>> <<Dialogue "player" "You">>"*Sigh*... I’m not getting rid of you unless I throw you a bone, am I?"<</Dialogue>><br><br> <<Dialogue "Kris" "Kris">>"Babe, now you are speaking my language!"<</Dialogue>><br><br> She says with another seductive wink, as she waits eagerly to see what you have to offer.<br><br><</if>><span id="choice"> <<PersonalityCheck $submissiveDominant >= 2 "Well, I guess I need to put Kris in her place.">> <<replace "#choice">>You kick off your shoes, and grab your <<print $outfit.top().name>> by the collar, and slowly and seductively pull it off. Kris looks like she could just explode, but you plant your bare foot straight on her chest, applying enough pressure to make her gasp.<br><br><<Dialogue "player" "You">>"Do you see this body? The body you are going to make grow bigger and bigger? It means I’m the boss here. Is that clear?"<</Dialogue>><br><br>Kris nods emphatically, eyes wide open, her breath dripping with desire. You put a little bit more pressure on her chest with your foot - not enough to hurt her, but more than enough for her to fully grasp what you could do to her.<br><br><<Dialogue "player" "You">>"I didn’t hear you address me respectfully."<</Dialogue>><br><br><<Dialogue "Kris" "Kris">>"Yes, mistress!"<</Dialogue>><br><br><<Dialogue "player" "You">>"That’s better. Hmmm… that is a nice cache of supplements you have procured… just imagine… how big I will get…"<</Dialogue>><br><br>Without removing your foot, you tighten your quads, and you can see her eyes bulging at the little show.<br><br><<Dialogue "player" "You">>"Of course, you will need to behave if you expect to be treated to it."<</Dialogue>><br><br><<Dialogue "Kris" "Kris">>"Of course, mistress!"<</Dialogue>><br><br><<Dialogue "player" "You">>"I will now remove my foot, and you will crawl out of here, and only come back when I permit. Do I make myself clear?"<</Dialogue>><br><br>Kris whimpers, pouting at the request.<br><br><<Dialogue "player" "You">>"Do I need to discipline you?"<</Dialogue>><br><br>Kris nods, her eyes shining with hope.<br><br><<Dialogue "player" "You">>"Then… EARN IT."<</Dialogue>><br><br>She immediately understands that it means following your orders. She crawls to the ground, and makes her way to the door.<<Dialogue "Kris" "Kris">>"Can… can I get up to open the door?"<</Dialogue>><br><br><<Dialogue "player" "You">>"Yes, now out with you."<</Dialogue>><br><br>Kris gets up, fumbles with the key for a bit, and leaves.<br><br>You wonder if maybe you went a little too far… will this make Kris more responsive… or is it just going to make her more worked up? Time you tell… but in the meantime… well, you won’t be running out of supplements for a while. <<link "Continue" $currentScene>><<set $krisObsessedOpinion += 10>><</link>><</replace>><<Failed>> <<replace "#choice">>You push Kris to the back of the chair forcefully, and open your mouth to say something, but then freeze… this is so awkward!<br><br><<Dialogue "Kris" "Kris">>"What’s wrong? Are you going to punish me for being naughty?"<</Dialogue>><br><br>She asks, her cheeks becoming quite flushed as she pants, little puffs of vapor coming from her deeper and deeper and deeper breathing.<br><br>You gulp as you take a step back, and that seems to encourage her: she kneels on the floor, and starts walking on her fours towards you, like a female cheetah about to strike its prey. You keep stepping back to keep your distance, and she starts crawling faster. Before you know it, you are running towards the door, regretting the fact you locked it earlier as you fumble for the key…<br><br>Kris has now jumped on your back, and has wrapped her legs and arms around your torso, holding tightly to you. You try to reach back and pull her, but you can’t manage, as you flail around the room. Eventually, you trip on the supplement bottles, falling face-first on the ground.<br><br><<Dialogue "Kris" "Kris">>"You can run, but you can’t escape."<</Dialogue>><br><br>She announces proudly as she nibbles on your ear. I guess you win this round, Kris… <<link "Continue" $currentScene>><<set $krisObsessedOpinion += 5>><</link>> <</replace>> <</PersonalityCheck>> <<link "I suppose these muscles deserve to be worshiped">> <<replace "#choice">><<if $shyConfident > 1 || $submissiveDominant > 1>> You push her to the back of the chair, and take a couple of steps back, never breaking eye contact. You grab your <<print $outfit.top().name>> by the collar, and slowly and seductively pull it off. Her eyes seem like they are about to pop out of her skull as you give her a confident smile and start a litany of muscle poses. <<if $skills[0].level > 3>> You start with a perfect-form rear lat spread, followed by a textbook side chest. <<elseif $fat <= 20>> You first give her a nice show of your tightened abs, running your palm over them, before flexing your biceps, giving each a little peck. <<else>> You put your right leg forward, giving it a good shake before flexing it fully, stretching your <<print $outfit.bottom().name>> to its limits. <</if>> Kris starts standing from her seat and is about to pounce you, but you merely raise your leg and, with the tip of your foot, press her chest back into the chair without uttering a single word, just shaking your finger and going “tsk, tsk tsk”.<br><br> <<Dialogue "player" "You">>"You want this?"<</Dialogue>><br><br> You proclaim, as you perform a side triceps pose facing away from her, still keeping eye contact.<br><br> <<Dialogue "player" "You">>"You are going to have to earn it, little girl."<</Dialogue>><br><br> That seems to send Kris over the edge, and she trembles and melts on her seat, biting her lips.<br><br> <<Dialogue "player" "You">>"We’ll see if we can get you to follow your orders properly. Now get out of here, and maybe… MAYBE… next time you might even touch… in the meantime… just think how BIG they will be with all these supplements."<</Dialogue>><br><br> Kris nods repeatedly, and without saying a word, gets up and leaves. Hopefully you can set some boundaries in the future… but…<br><br> You can’t really say you didn’t enjoy this a little bit.”<<else>> Well, you guess there’s no harm in giving her a little show, given the nice - if unrequested - gift. You roll your sleeves and present her with a flexed arm.<br><br> <<Dialogue "player" "You">>"It’s looking pretty good, right?"<</Dialogue>><br><br> Kris jumps out of the chair, and starts caressing your biceps and triceps. You playfully wiggle your wrist to and fro, making the muscle dance under her fingers, and she is visibly delighted. You proceed to stretch and bend your arm, making the biceps lower and raise, a hypnotizing dance for the eager coffee brewer.<br><br> She continues to caress your arm, but as you give a last, harder flex, she flat out squeezes with all her might - and seems very impressed at the unshakable firmness of your sinew. She then sneaks a little lick over the peak of your biceps.<br><br> <<Dialogue "player" "You">>"Alright, you’ve had your show now. Time to go."<</Dialogue>><br><br> <<Dialogue "Kris" "Kris">>"Only after you promise that you will use my gift and grow bigger… harder… STRONGER!!!"<</Dialogue>><br><br> She emphasizes each word more than the one before. With your patience running low, you nod in agreement, and she smiles one last time before making her way out. As she closes the door, she peeks one last time:<br><br><<Dialogue "Kris" "Kris">>"I’ll be watching… you…"<</Dialogue>><br><br> You seriously consider asking Johan if he has some sort of bug sniffer…”<</if>> <<link "Continue" $currentScene>><<set $krisObsessedOpinion += 2>><</link>> <</replace>> <</link>> <<link "You know what? I can just kick you out!">> <<replace "#choice">><<Dialogue "player" "You">>"Kris, we passed creepy a long time ago. This is beyond even a “Krishap”."<</Dialogue>><br><br><<if $submissiveDominant > 1>> You march towards her, grab her by the wrist, twist it behind her back, and start marching her out of the door. You can literally see her nipples hardening beneath her shirt. You roll your eyes and push her out of your apartment and slam the door - but you can still hear her panting outside.<br><br> <<Dialogue "Kris" "Kris">>"So… see you tomorrow?"<</Dialogue>><br><br> You wonder how much it will cost to change the locks…<<else>> You walk behind Kris, putting your palms on her back and pushing her towards the door. She presses the heels of her raised rubber sneakers against the hard floor, making a skidding sound as you muscle her out of the apartment. She seems quite proud of the resistance she is offering with her small frame. The slow procession continues as she giggles all the way out, and you close the door behind her.<br><br> <<Dialogue "Kris" "Kris">>"Huh… I think I might have left my keys in there…"<</Dialogue>><br><br> You hit your forehead, frustrated.<</if>><<link "Continue" $currentScene>><<set $krisObsessedOpinion += 2>><</link>> <</replace>> <</link>></span>'
},
{
name: 'KrisSternTalkingTo',
locationTags: ['kris'],
conditions: [
() => State.variables.krisInterested,
() => State.variables.krisObsessedOpinion >= 30
],
repeatable: false,
retriggerable: false,
priority: 'response',
npc: ['kris'],
content: 'As you enter the Coffee Corner, something is off. You hear a loud conversation coming from the back. As you get in, you recognize the voice of the manager, who is really railing on Kris about her behavior. You sneak a look through the kitchen door, and her boss is clearly incensed, waving hands wildly and almost spitting. Kris, on the other hand, looks back like she gives zero fucks about the whole thing, and could not be more bored.<br><br>You feel bad about eavesdropping, but you actually feel a bit sorry for Kris, even though you know she probably deserves every bit of chastising she is receiving. Her boss is now literally threatening to fire her, and she basically just shrugs. Having clearly exceeded all limits of patience, the boss just storms off, and you decide to pretend you weren’t there, and get yourself a table.<br><br>Kris comes out, looking weirdly drained. She is not even properly ogling a female basketball player standing by the back in her skimpy shorts and sleeveless jersey. This looks serious.<br><br>Kris walks to your table with the energy of a zombie, casually holding an order pad.<br><br><<Dialogue "Kris" "Kris">>"Can I get you anything, <<print $playerFirstName>>?"<</Dialogue>><br><br><<Dialogue "player" "You">>"Hey, Kris! What’s up, you seem a little down today?"<</Dialogue>><br><br>You ask, trying to elicit some response, but she just shrugs.<br><br><<Dialogue "player" "You">>"Tough day at work, I bet…"<</Dialogue>><br><br><<Dialogue "Kris" "Kris">>"Whatever, I don’t give a fuck. Can I get you anything?"<</Dialogue>><br><br><span id="choice"><<link "Look, I heard what your boss said…">><<replace "#choice">><<Dialogue "player" "You">>"Hey, I need to confess, I kinda eavesdropped on you and your boss just now…"<</Dialogue>><br><br>Again, shrug.<br><br><<Dialogue "player" "You">>"You know, I kinda know how that goes. I had my moments when I was younger, I had a spot where I could find no motivation, and I felt I was going nowhere. But at some point I decided to turn my life around, and that’s how I made it to college here. But, yeah, it wasn’t easy. I’m sure you have something you are passionate about, right?"<</Dialogue>><br><br><<Dialogue "Kris" "Kris">>"Not really. The only reason I’m here is to pay the rent and look at hot chicks. I would work at the gym, but… well, I’d rather not talk about that."<</Dialogue>><br><br><<Dialogue "player" "You">>"Well, there! The gym! You like working out? You could study to be a personal trainer!"<</Dialogue>><br><br><<Dialogue "Kris" "Kris">>"Nah… I was there to look at fit chicks. Heh… they got me so worked up, I’d get downright insane in my workouts…"<</Dialogue>><br><br>She trails off, looking into the distance and feeling her own upper arm absent-mindedly. It seems like she’s lost in some old memories, a hint of a smile on her face.<br><br><<Dialogue "player" "You">>"So, maybe that’s something to give some thought. You could study photography, learn the ropes and work as a fitness photographer!"<</Dialogue>><br><br><<Dialogue "Kris" "Kris">>"Too much work… and what for? Who would hire a perv who just wants to get their rocks off?"<</Dialogue>><br><br>For someone so enthusiastic about their carnal desires, it makes you kinda sad to see how unmotivated Kris can be.<br><br><<if $shyConfident > 1>><<Dialogue "player" "You">>"You do realize that there are people who work as professionals in the kink scene, right?"<</Dialogue>><br><br><<Dialogue "Kris" "Kris">>"Yeah, but even that is work, right? I don’t get to do what I want, I get to do what I’m paid for."<</Dialogue>><br><br><<Dialogue "player" "You">>"I mean, sure… but can’t you find a niche where those two are one and the same?"<</Dialogue>><br><br>You can’t imagine that Kris wasn’t aware of that, so you guess that maybe something happened that discouraged her? It intrigues you…<br><br><<if $submissiveDominant > 1>><<Dialogue "player" "You">>"Just tossing an idea out there… but maybe, if you want to fool around with some kinky stuff, you know, as practice… I certainly wouldn’t mind to engage in some casual play with you…"<</Dialogue>><br><br>Kris finally snaps out of her funk, looking at you with her usual thirsty expression.<<Dialogue "Kris" "Kris">>"You really mean that?"<</Dialogue>><br><br><<Dialogue "player" "You">>"Yeah, just, you know… I’d say we could be friends with benefits?"<</Dialogue>><br><br>She really seems to like that idea. And that’s enough to light her fuse and get her back to her old self - by the time you notice, she’s already harassing the basketball player. Now, let’s just hope she doesn’t get fired…<</if>><<else>>Unsure of how to be of any more help, you give Kris a tap on the back. It still breaks your heart, but other than being her sex object, you aren’t sure how you can help her any more right now…<</if>><<link "Continue" $currentScene>><</link>><</replace>><</link>><<link "I guess just get me a cappuccino.">><<replace "#choice">>You order a cappuccino. Without looking at her pad, Kris just seems to scribble randomly with her pen and never says a word. She goes back to the counter, and you watch as she eventually just forgets the whole thing and starts to ogle the basketball player.<br><br>I guess it was Kris after all. Still, you can’t help but feel bad for the girl.<<link "Continue" $currentScene>><</link>><</replace>><</link>></span>'
}
)>><<set setup.events.push(
{
name: 'krisBoredFiller1',
locationTags: ['kris'],
conditions: [
() => !State.variables.krisInterested
],
repeatable: true,
retriggerable: false,
priority: 'filler',
npc: ['kris'],
content: 'The same girl that brought you your coffee the last time was here again, <<if $shyConfident > 0>>and you hope this time she\'ll take that attitude elsewhere.<<else>> and you hope she won\'t be the one bringing you another drink.<</if>> After you order and sit down, you start just people-watching, realizing every employee is quite busy... except for the punk girl. She merely sits at the back, and you can barely see her phone screen. On it is a plethora of pictures of bodybuilders, except bigger than any you\'ve ever seen. Surely those images must be manipulated somehow? While turning around, you sit there, hoping she hads\'t noticed you watching her. <br><br>Five minutes later, she comes over and almost tosses the drink sideways on your table.<br><br><<Dialogue "Kris" "Kris">>"Enjoy your whatever it is."<</Dialogue>><br> It seems her attitude was just always like this. As you grab the drink, you take a sip without looking. Something is off. You can\'t quite place it, maybe they just changed the recipe?<<link "Continue" "BookStore">><</link>>'
},
{
name: 'krisBoredFiller2',
locationTags: ['kris'],
conditions: [
() => !State.variables.krisInterested
],
repeatable: true,
retriggerable: false,
priority: 'filler',
npc: ['kris'],
content: 'Today you decide to treat yourself, why not? With your coffee, you order a nice slice of carrot cake, something made in-house and served fresh. Sitting down, you look forward to it, gazing out the window with a smile. But the moment is ruined when, again, that rude girl comes over and slams your order against the table. <br><br><<Dialogue "Kris" "Kris">>"Here, eat."<</Dialogue>><br><<Dialogue "player" "You">>"Um, sorry, but I ordered some cheesecake with this… ?"<</Dialogue>><br>The girl sighs, her shoulders slumping. <br><br><<Dialogue "Kris" "Kris">>"Ugh, FINE. Anything else, princess?"<</Dialogue>><br>She scuttles off, not waiting for an answer, and comes back with an oversized slice of the delicacy. It looks amazing, and as you take the first bite, you practically melt inside. <br><br><<Dialogue "player" "You">>\Oh, this is amazing, my compliments to whoever made it!"<</Dialogue>><br><br><br><<Dialogue "Kris" "Kris">>"That\'d be me, not that I care."<</Dialogue>><br><<link "Continue" "BookStore">><</link>>'
},
{
name: 'krisBoredFiller3',
locationTags: ['kris'],
conditions: [
() => !State.variables.krisInterested
],
repeatable: true,
retriggerable: false,
priority: 'filler',
npc: ['kris'],
content: 'As you order, the rude girl stands behind the counter once again.<br><<Dialogue "Kris" "Kris">>"Can we get this over with? What do you want?"<</Dialogue>><br><<Dialogue "player" "You">>"Um... just a coffee, please, black. And... um... maybe a muffin?"<</Dialogue>><br>You place the order, but the girl doesn\'t respond. Instead, she has eyes only for the large hairy man who just entered the shop; some kind of bodybuilder or something.<br><<Dialogue "KrisObsessed" "Kris">>"Goddamn, those are some nice arms..."<</Dialogue>><br><<Dialogue "player" "You">>"Um... my order… ?"<</Dialogue>><br><<Dialogue "KrisObsessed" "Kris">>"Yeah, yeah, whatever, here is your fucking stuff. God DAMN, why can’t they all just take some enhancers..."<</Dialogue>><br>Quickly, you grab your stuff, not quite sure how to respond to this.<<link "Continue" "BookStore">><</link>>'
},
{
name: 'krisBoredFiller4',
locationTags: ['kris'],
conditions: [
() => !State.variables.krisInterested
],
repeatable: true,
retriggerable: false,
priority: 'filler',
npc: ['kris'],
content: 'Shit. It’s the rude girl again. Still, you need your coffee and you\'ll get it. Summoning your confidence, you try to be assertive. <br><<Dialogue "player" "You">>"Uh, hi. Um... just a black coffee, please."<</Dialogue>><br>She looks at you sideways, barely reacting.<br><<Dialogue "Kris" "Kris">>"You\'ll like our cold brew better. Get that."<</Dialogue>><br>That wasn’t friendly advice, she just pretty much ordered you to buy something else!<br><<PersonalityCheck $shyConfident >= 1 "I\'ll have what I ordered">><<Dialogue "player" "You">>"And I\'d rather just give you the coffee that is already made. What is your problem?"<</Dialogue>><br>She rolls her eyes, her annoyance is clear.<br><br><<Dialogue "Kris" "Kris">>"Fine, fine. Make the wrong choice."<</Dialogue>><br> Sitting down with the drink, you sip the warm coffee. But... you know what? Maybe she was right. Something nice and cold would\'ve been more refreshing. But she didn\'t have to be so blunt!<<Failed>>You\'re just not able to stand up for yourself;<<Dialogue "player" "You">>"S-sure I\'ll take the cold brew."<</Dialogue>><br>She smirks, seemingly enjoying this. With a practiced hand, she pours it with quite an unexpected flourish, handing it in a big mug.<br><<Dialogue "Kris" "Kris">>"Heh, you are one of the smart ones, I can tell."<</Dialogue>><br>As you sit down and take a sip of the surprisingly refreshing beverage, you realize perhaps she was right all along?<</PersonalityCheck>><<link "Continue" "BookStore">><</link>>'
},
{
name: 'krisBoredFiller5',
locationTags: ['kris'],
conditions: [
() => !State.variables.krisInterested
],
repeatable: true,
retriggerable: false,
priority: 'filler',
npc: ['kris'],
content: 'Going to the counter you find... nobody there. You tap the service bell and look around as the rude girl pops from the storage room.<br><<Dialogue "Kris" "Kris">>"Yeah, yeah, no need to get your panties in a twist, what can I get you?"<</Dialogue>><br>She\'s still looking at her phone, not even dignifying you with a glance, scratching her nose idly instead.<br><<Dialogue "player" "You">>"Um... I\'ll have a... hmm.. latte macchiato, please?"<</Dialogue>><br>For once, the girl sets to work, not taking her eyes from her phone, which is actually sort of impressive. She makes the entire drink one-handedly, still concentrated on whatever is on her phone screen. Without a word, she shoves the final result against your stomach, before returning to the storage room.<<link "Continue" "BookStore">><</link>>'
}
)>>
<<set setup.events.push({
name: 'krisObsessedFiller1',
locationTags: ['kris'],
conditions: [
() => State.variables.krisInterested
],
repeatable: true,
retriggerable: false,
priority: 'filler',
npc: ['kris'],
content: '<<krisGift "potion">><<set $krisOpinion += 2>><<set $krisObsessedOpinion += 2>>There she is again, Kris. The moment you get in, she\'s practically jumping up and down from excitement. She instructs you to cut in front of the line, gathering some ugly looks from the other waiting patrons, as she scans you, noting your height, chest and muscles. Her grin widens, knowing you\'ve grown. <br><br><<Dialogue "KrisObsessed" "Kris">>"There she is, my favorite big girl! Hehe, how are you?!? God, you\'re bigger every time I see you! Listen, I’ve been doing some digging, and I have a little gift for you!"<</Dialogue>><br>She holds out a small vial, the label reading <<print $KrisGift>>. You stand there, a bit stunned; how the hell did she get this?! From the other side of the counter, Kris simply smirks. <<Dialogue "KrisObsessed" "Kris">>"Heh, don\'t question it, just… enjoy... and grow a bit bigger for me, will ya?"<</Dialogue>><br><br><<link "Continue" "BookStore">><</link>>'
},
{
name: 'krisObsessedFiller2',
locationTags: ['kris'],
conditions: [
() => State.variables.krisInterested
],
repeatable: true,
retriggerable: false,
priority: 'filler',
npc: ['kris'],
content: 'Approaching the counter, you see Kris standing there with a BIG smirk. <br><<Dialogue "KrisObsessed" "Kris">>"Hey, hey, my favorite pet project! Hehe, I got a BIG surprise for you today, girl... but how about you flash me a quick flex first?"<</Dialogue>><br>The emphasis was oddly placed in \'pet project\', with more focus on ‘pet‘ than ‘project‘. Yet, she looks at you in anticipation, her face filled with glee. <br><br><span id="choice"><<PersonalityCheck $shyConfident >= 1 "Flex!">><<replace "#choice">>With some hesitation, you give her a flex of your arms. <<if $muscle > 60>><<set $krisOpinion += 5>><<set $krisObsessedOpinion += 5>>The muscle rises with the slightest movement, and it keeps going. As your arms grow, the air seems to pulse, and Kris\'s eyes grow with it. Bigger and bigger they widen, even though you barely put any effort into the little show. Her entire face becomes flush with lust and you just know she\'s going to take an extended break afterwards.<br><<Dialogue "KrisObsessed" "Kris">>"Oh, FUCK! Yeah, t-that\'s the stuff... l-listen, I got a BIG gift for you, babe... h-here you go..."<</Dialogue>><br><br>With shaking hands she pulls out a BIG wad of money, which she places on your palm and closes it. It has to be almost $2000! She is really insistent, making sure you will leave with it.<br><<Dialogue "KrisObsessed" "Kris">>"Keep growing, big girl..."<</Dialogue>><br><<link "Continue" "BookStore">><<set $money += 2000>><</link>><<elseif $muscle > 40>>With some hesitation, you make the massive bicep dance, each and every fiber bulging and twitching at your command. Kris is leaning over the counter, almost close enough to kiss them. Her breath is hot and deep, washing over you as she drinks in the sight.<br><<Dialogue "KrisObsessed" "Kris">>"Oh, FUCK! Yeah, t-that\'s the stuff... l-listen I got a BIG gift for you, babe... h-here you go..."<</Dialogue>><br><br> With shaking hands she pulls out a BIG wad of money, which she places on your palm and closes it. It has to be almost $500! She is really insistent, making sure you will leave with it.<br><<Dialogue "KrisObsessed" "Kris">>"Keep growing, big girl..."<</Dialogue>><br><<link "Continue" "BookStore">><<set $money += 500>><<set $krisOpinion += 4>><<set $krisObsessedOpinion += 4>><</link>><<else>>As you flex your arms the muscle lifts your skin, the bump growing and pulsing like a mouse. Kris is smirking, though you\'re not sure it’s because she enjoys the flex or because you complied so promptly. <br><br><<Dialogue "KrisObsessed" "Kris">>"Hehe, nice! And as your reward, babe... $100. Yeah, I know. Just take it, you earned it."<</Dialogue>><br>She shoves the bill at you, not arguing about it. Money is money, but it does feel kinda... weird, making money this way.<br><br><<link "Continue" "BookStore">><<set $money += 100>><<set $krisOpinion += 2>><<set $krisObsessedOpinion += 2>><</link>><</if>><</replace>><<Failed>>While Kris basically ordered you to flex, you look around, realizing there are too many people for you to do so discreetly. Slowly, you shake your head, not daring to reply verbally. Kris frowns, clearly displeased at her pet’s disobedience. <br><br><<Dialogue "Kris" "Kris">>"Fine. Then... I guess no treat for you. For fuck’s sake, having a body like that and flaunting it..."<</Dialogue>><br>With loud grumbling, she goes on with her work, clearly disappointed with you. From her hands, an envelope gets tossed in the trash. Yup, that’s one gift you apparently turned down.<br><br><<link "Continue" "BookStore">><</link>><</PersonalityCheck>></span>'
},
{
name: 'krisObsessedFiller3',
locationTags: ['kris'],
conditions: [
() => State.variables.krisInterested
],
repeatable: true,
retriggerable: false,
priority: 'filler',
npc: ['kris'],
content: '<<set $krisOpinion += 2>><<set $krisObsessedOpinion += 2>>Approaching the counter, another employee takes your order. It’s actually quite refreshing! However, before you get single word out, Kris comes barging from the storage room, practically trampling the poor guy. <br><br><<Dialogue "KrisObsessed" "Kris">>"MY customer, Derrick, fuck off! Oh, heeeeey, big girl, how are you doing? Hehe, God, you\'re looking MIGHTY BIG today... UNNNNGH!"<</Dialogue>><br><br>It doesn\'t even matter what you are wearing, you can sense her undressing you in her head. And not even trying to be discreet!<br><br><<Dialogue "player" "You">>"... Could I get my coffee now?"<</Dialogue>><br><br><<Dialogue "KrisObsessed" "Kris">>"Hehe, wouldn\'t let you leave without it! Here you go, with a VERY SPECIAL something from me in it! Enjoy!"<</Dialogue>><br><br>As you sit down, you take a whiff. Hmm. Smells like coffee. Looks like coffee. With a very careful sip you notice that... it tastes like coffee. Hmm. What to do...<br><br><span id="choice"><<link "Drink it">><<replace "#choice">><br>Daring to take a sip it tastes... fine. There is no problem. Perhaps you are getting stressed over nothing? Perhaps she just used fancier beans? Still, you feel unusually energized after this!<<addMuscleSlow 3>><br><br><<link "Continue" "BookStore">><</link>><</replace>><</link>></span>'
},
{
name: 'krisObsessedFiller4',
locationTags: ['kris'],
conditions: [
() => State.variables.krisInterested
],
repeatable: true,
retriggerable: false,
priority: 'filler',
npc: ['kris'],
content: '<<set $krisOpinion += 2>><<set $krisObsessedOpinion += 2>>Yup, there is is. Kris. Yet, there’s something different, somehow. More subdued? Calmer, even? Tired. But upon seeing you, she perks up and smiles. <br><br><<Dialogue "KrisObsessed" "Kris">>"Hehe, oh, hey, big girl... Sorry, I\'m… a bit tired today. Had a... long night. Here, check this out."<</Dialogue>><br><br>Without any semblance of shame or irony, she snaps her phone against your face, showing you a picture of... Jesus Christ, a huge female bodybuilder. Her tits were enormous, clearly implants, and even her lips seemed inflated to an insane degree. Kris simply smiles as you take it all in.<br><br><<Dialogue "KrisObsessed" "Kris">>"And I\'m going to make you so much bigger... so insanely bigger... monstrously, freakishly bigger… heh… heh... you\'re my little pet project... heh… heh... bigger... I... I’ll have a special gift for you soon, little pet..."<</Dialogue>><br><br>With that disturbing comment, she hands you your drink. Does she mean it? You leave the counter, confused.<br><br><<link "Continue" "BookStore">><</link>>'
},
{
name: 'krisObsessedFiller5',
locationTags: ['kris'],
conditions: [
() => State.variables.krisInterested
],
repeatable: true,
retriggerable: false,
priority: 'filler',
npc: ['kris'],
content: '<<set $krisOpinion += 2>><<set $krisObsessedOpinion += 2>><<krisGift "potion">>This time, Kris is hanging out in the back, taking a smoke break. It seems her colleagues have no qualms about letting you out back, possibly relieved to keep her away from customers for a little while longer. And who is going to stop you, anyway? As you leave towards the external area in the back by the dumpster, it’s odd to see her so... calm and relaxed. Softly smoking, she has her eyes closed, not noticing you approaching her. You tap her shoulder, and she looks straight at you, with a naughty smile. <<Dialogue "KrisObsessed" "Kris">>"Heh, my personal project coming to me... hehe, sorry, I\'m kinda exhausted, had to do some... private stuff tonight. Hehe... but I got you something... here..."<</Dialogue>><br><br>From her jacket she pulls a... small metallic bottle, with the label <<print $KrisGift>>. You can’t help but also recognize the same pricetag used at Tasha’s Thrifts, still attached. Did she...? A bit stunned, you leave, hoping she paid for this.<br><br><<link "Continue" "BookStore">><</link>>'
},
{
name: 'krisObsessedFiller6',
locationTags: ['kris'],
conditions: [
() => State.variables.krisInterested
],
repeatable: true,
retriggerable: false,
priority: 'filler',
npc: ['kris'],
content: '<<set $krisOpinion += 2>><<set $krisObsessedOpinion += 2>><<krisGift "potion">>As you walk in the café, people look at you oddly. You get the idea that word about your... whatever you call this thing you have going with Kris… is getting around. As you approach the counter, someone stands there, looking at you with the kind of stupor only a long career in retail can provide. With that utter monotone, he tells you that Kris isn\'t here today - but that she has left you something. From below the counter, he pulls a small metallic bottle, which he hands over to you. Great. Now she has accomplices in the workplace.<br><br><<link "Continue" "BookStore">><</link>>'
},
{
name: 'krisObsessedFiller7',
locationTags: ['kris'],
conditions: [
() => State.variables.krisInterested
],
repeatable: true,
retriggerable: false,
priority: 'filler',
npc: ['kris'],
content: '<<set $krisOpinion += 2>><<set $krisObsessedOpinion += 2>>Walking up to the counter, you wonder how Kris will react to your new... build. Recently you have gotten a lot wider and she\'s never one keep her observations to herself. And so far, you\'ve only seen her fawn over big muscles, big dicks, big boobs... will she even like your new girth? Adjusting your clothing one last time, it’s your turn. Kris hasn\'t noticed you, but when she does... she smiles.<br><br><<Dialogue "KrisObsessed" "Kris">>"Hehe, bloody hell, you look amazing... trying a new diet? Don\'t tell me! You want some extra cheesecake with your coffee? I can put something... special in it!"<</Dialogue>><span id="choice"><br><<link "Yes please!">><<replace "#choice">><br>With a huge grin, Kris serves you a generous slice of cheesecake, chocolate sauce dripping from every corner. So much whipped cream that it practically tumbles over. But you can also spot an odd sheen, though, making it look richer than usual. Sitting down, you pick a tiny piece of it with your fork. And then a bigger piece. Soon enough, your find yourself gulping it by the handful, and Kris just pops out of nowhere with another slice. And then another. You don\'t know what\'s coming over you, but you find yourself unable to resist! By the time you are done... you feel like you might have eaten the entire thing! That is sure to affect your waistline!<br><br><<link "Continue" "BookStore">><<addFatSlow 10>><</link>><</replace>><</link>><br><<link "No, thanks.">><<replace "#choice">><br><br><<Dialogue "player" "You">>"Eh, no, thank you, I\'m good."<</Dialogue>><br><br>Kris doesn\'t appreciate your answer, but for once she doesn\'t go on about it.<br><br><<link "Continue" "BookStore">><</link>><</replace>><</link>></span>'
},
{
name: 'krisObsessedFiller8',
locationTags: ['kris'],
conditions: [
() => State.variables.krisInterested
],
repeatable: true,
retriggerable: false,
priority: 'filler',
npc: ['kris'],
content: '<<set $krisOpinion += 2>><<set $krisObsessedOpinion += 2>>You are surprised to notice that Kris is not at the counter as you enter the Coffee Corner. Instead, she\'s smoking outside, checking her phone. It seems she\'s quite distracted as she takes no notice of you. Leaning against the back window, it would be quite easy to steal a glance at her phone, find out what she\'s looking at... or who she\'s talking to.<br><br><span id="choice"><<link "look">><<replace "#choice">>Leaning against the glass you can just hear fragments of a conversation…<br><br><<Dialogue "KrisObsessed" "Kris">>"Yeah, yeah... need it by tomorrow. Yeah, it’s for my new project. Hehe... even bigger. You should\'ve seen her. Hmm? Listen, I don\'t care about the fucking cost, I\'ll pay you, you know I\'m good for it! Tell you what, I\'ll pay you double next time. Yeah, yeah, fine! Just get me the stuff, she\'s gonna get huge!"<</Dialogue>><br><br>It seems Kris might be accruing a lot of debt, and you don\'t have to think hard to figure the reason. Perhaps you could bring it up later...? <br><br><<link "Continue" "BookStore">><</link>><</replace>><</link>><br><<link "Don\'t look">><<replace "#choice">>Prying your eyes away, resist the temptation. It\'d be so interesting to read, and you\'re quite sure Kris would do the same to you... but you can\'t sink to her level, she does deserve her privacy. Quietly, you return to the shop entrance, avoiding her for today.<br><br><<link "Continue" "BookStore">><</link>><</replace>><</link>></span>'
}
)>><<widget removeTrigger>>
/* $args[0]: the trigger to be removed. */
/* $args[1]: The character to remove it from. */
/* $args[2]: Can the trigger be added multiple times. */
<<set _triggerToAdd to {trigger: $args[0], repeatable: $args[1]}>>
<<set _triggerString to $args[0]>>
<<set _repeatable to $args[1]>>
<<set _redoable to $args[2]>>
<<for _i to 0; _i < setup.characters.length; _i ++>>
<<capture _i>>
<<if setup.characters[_i].name is $args[1]>>
/* Gets the character trigger list. */
<<set _characterTriggerName to "$" + setup.characters[_i].name + "Triggers">>
<<set _characterTriggers to State.getVar(_characterTriggerName)>>
<<for _j to 0; _j < _characterTriggers.length; _j ++>>
<<capture _j>>
<<if _characterTriggers[_j].trigger is $args[0]>>
<<run _characterTriggers.deleteAt(_j)>>
<</if>>
<</capture>>
<</for>>
<<run _characterTriggers.delete($args[0])>>
<<run State.setVar(_characterTriggerName, _characterTriggers)>>
<</if>>
<</capture>>
<</for>>
<</widget>><<widget "krisGift">>
<<if $args[0] is "potion">>
<<set _KrisGiftI to random(0, ($consumables.length - 1))>>
<<set $consumables[_KrisGiftI].amount += 1>>
<<set $consumables[_KrisGiftI].forSale -= 1>>
<<set $KrisGift to $consumables[_KrisGiftI].name>>
<<elseif $args[0] is "supplement">>
<<elseif $args[0] is "clothing">>
<<else>>
<</if>>
<</widget>><<if $krisObsessed is false>>
<<if $krisLastMuscle + 20 <= $muscle || $krisLastBreasts + 20 <= $breasts || $krisLastHeight + 20 <= $height || $krisLastDick + 5 <= $dick || $bodyType == "bodybuilder" || $bodyType == "strongman"|| $bodyType == "hulk"|| $bodyType == "heroic"|| $bodyType == "monstrous"|| $bodyType == "gigantic"|| $bodyType == "strong" || $muscle > 30>>
<<set $krisInterested to true>>
<<set $krisObsessed to true>>
<<set $krisObsessedVisited to $krisVisited>>
<<set $krisObsessedLastMuscle to $krisLastMuscle>>
<<set $krisObsessedLastFat to $krisLastFat>>
<<set $krisObsessedLastBreasts to $krisLastBreasts>>
<<set $krisObsessedLastDick to $krisLastDick>>
<<set $krisObsessedLastHeight to $krisLastHeight>>
<<set $krisObsessedAmountVisited to $krisAmountVisited>>
<<set $krisObsessedOpinion to $krisOpinion>>
<<set $KrisObsessedTriggers to $KrisTriggers.concat($KrisObsessedTriggers)>>
<<set $KrisObsessedUsedTriggers to $KrisUsedTriggers.concat($KrisObsessedUsedTriggers)>>
<</if>>
<</if>><<nobr>>
<<widget "personalityIncrease">>
<<if $args[0] is "shy">>
<<set $shyConfident -= $args[1]>>
<<elseif $args[0] is "confident">>
<<set $shyConfident += $args[1]>>
<<elseif $args[0] is "carefree">>
<<set $carefreeCarefull -= $args[1]>>
<<elseif $args[0] is "carefull">>
<<set $carefreeCarefull += $args[1]>>
<<elseif $args[0] is "submissive">>
<<set $submissiveDominant -= $args[1]>>
<<elseif $args[0] is "dominant">>
<<set $submissiveDominant += $args[1]>>
<<else>>
<</if>>
<<set $shyConfident to Math.clamp($shyConfident, -3, 3)>>
<<set $carefreeCarefull to Math.clamp($carefreeCarefull, -3, 3)>>
<<set $submissiveDominant to Math.clamp($submissiveDominant, -3, 3)>>
<</widget>>
<</nobr>><div id="charSheetInfo" style="height: 100%;
width: 100%;
position: relative;
z-index: 1;
top: 0;
overflow-x: hidden;
padding-top: 20px;
vertical-align: top;
">
<h3>Skills:</h3>
<<for _i to 0; _i < $skills.length; _i ++>><<nobr>>
<<capture _i>>
<h3><<print $skills[_i].name>>:
<<if $skills[_i].level is 0>>inexperienced
<<elseif $skills[_i].level is 1>>beginner
<<elseif $skills[_i].level is 2>>intermediate
<<elseif $skills[_i].level is 3>>expert
<<elseif $skills[_i].level is 4>>master
<</if>> </h3>
<table class="skill" @data-num="_i" style="width:100%;">
<tr>
<<if $skills[_i].level >= 0>>
<td class="skillbar" @data-num="_i" style=" background:Crimson;">
</td>
<<else>>
<td class="skillbar" @data-num="_i" style=" background:#4d4d4d;">
</td>
<</if>>
<<if $skills[_i].level >= 1>>
<td class="skillbar" @data-num="_i" style="background:Tomato;">
</td>
<<else>>
<td class="skillbar" @data-num="_i" style=" background:#4d4d4d;">
</td>
<</if>>
<<if $skills[_i].level >= 2>>
<td class="skillbar" @data-num="_i" style="background:Orangered;">
</td>
<<else>>
<td class="skillbar" @data-num="_i" style=" background:#4d4d4d;">
</td>
<</if>>
<<if $skills[_i].level >= 3>>
<td class="skillbar" @data-num="_i" style="background:yellow;">
</td>
<<else>>
<td class="skillbar" @data-num="_i" style=" background:#4d4d4d;">
</td>
<</if>>
<<if $skills[_i].level >= 4>>
<td class="skillbar" @data-num="_i" style="background:gold;">
</td>
<<else>>
<td class="skillbar" @data-num="_i" style=" background:#4d4d4d;">
</td>
<</if>>
</tr>
</table>
<<print $skills[_i].description>>
<br>
Unlocked skill benefits:
<br>
<<for _iSkillLevel to 0; _iSkillLevel < $skills[_i].level; _iSkillLevel ++>>
<<capture _iSkillLevel>>
<<print $skills[_i].unlocks[_iSkillLevel + 0]>><br>
<</capture>>
<</for>>
<br>
<</capture>><</nobr>>
<</for>>
</div><div id="charSheetInfo" style="height: 100%;
width: 100%;
position: relative;
z-index: 1;
top: 0;
overflow-x: hidden;
padding-top: 20px;
vertical-align: top;
">
<h3>relationships:</h3>
<<for _iNpc to 0; _iNpc < setup.characters.length; _iNpc ++>><<nobr>>
<<capture _iNpc>>
<<set _npcName to "$" + setup.characters[_iNpc].name.charAt(0).toLowerCase() + setup.characters[_iNpc].name.slice(1) + "Opinion">>
<<set _npcOpinion to State.getVar(_npcName)>>
<<if setup.characters[_iNpc].name is "KrisObsessed">>
<<continue>>
<</if>>
<<if _npcOpinion > 0>>
<<Dialogue setup.characters[_iNpc].name setup.characters[_iNpc].name>>
<<if _npcOpinion <= 20>><<print setup.characters[_iNpc].relationshipLevels[0]>>
<<elseif _npcOpinion <= 40>><<print setup.characters[_iNpc].relationshipLevels[1]>>
<<elseif _npcOpinion <= 60>><<print setup.characters[_iNpc].relationshipLevels[2]>>
<<elseif _npcOpinion <= 80>><<print setup.characters[_iNpc].relationshipLevels[3]>>
<<else>><<print setup.characters[_iNpc].relationshipLevels[4]>>
<</if>>
<</Dialogue>>
<br>
<<else>>
<<Dialogue "???" "???">>
???
<</Dialogue>>
<br>
<</if>>
<</capture>><</nobr>>
<</for>>
<<for _iMinorNpc to 0; _iMinorNpc < $minorCharacters.length; _iMinorNpc ++>><<nobr>>
<<capture _iNpc>>
<<set _npcName to "$" + $minorCharacters[_iMinorNpc].toLowerCase() + "Opinion">>
<<set _npcOpinion to State.getVar(_npcName)>>
<<if _npcOpinion > 0>>
<<Dialogue _npcs[_iMinorNpc] _npcs[_iMinorNpc]>>
<<if _npcOpinion <= 20>>Stranger
<<elseif _npcOpinion <= 40>>Customer
<<elseif _npcOpinion <= 60>>Friend
<<elseif _npcOpinion <= 80>>Friend
<<else>>Friend
<</if>>
<</Dialogue>>
<br>
<<else>>
<<Dialogue "???" "???">>
???
<</Dialogue>>
<br>
<</if>>
<</capture>><</nobr>>
<</for>>
</div><<set $tashaOpinion += 10>>The thrift store is just fun to browse, and with all that has been going on, it's an easy way to pass time. Going through the various bins and displays, you find all kind of stuff; old toys, ancient furniture, weirdly labeled metal cannist - Wait, what? You grab the receptacle from the display, feeling the weight in your hand. It's almost identical to the one you found in your fridge, the one you drank by accident. Panicking, you search for the owner, finding a diminutive old lady. Running over to her, you grab her in a hurry, perhaps a bit rougher than you should.
<<Dialogue "player" "You">>"E-Excuse me?! W-where did you get this bottle from?!"<</Dialogue>>
<<Dialogue "Tasha" "Tasha">>"Hmmmm? Oh, that will be 5 dollars, my dear..."<</Dialogue>>
<<Dialogue "player" "You">>"What? NO! I mean, where did you get this? Miss, please, this is rather important..."<</Dialogue>>
Finally she seems to comprehend your query, adjusting her glasses and inspecting the odd metallic cannister and its label.
<<Dialogue "Tasha" "Tasha">>"Let me see... Ah, yes. The university was getting rid of several boxes of the stuff a while ago. But someone mixed them in our stock room, so it takes a while to sort them out and get them on the shelves. And every now and then someone finds one and sells it back. Just come back later, I swear they keep popping up like mushrooms. Maybe I can be of more help after I’m done cleaning the stock room."<</Dialogue>>
At least now you have a clue. The boxes were left behind, and have gone to... God knows where. It might be a good idea to check in with Tasha every now and then, and inquire further about where she got them from or if she knows anything else. But given how hard it is to keep a proper conversation with her, this might be a challenge unto itself.
<<link "Go back" "SecondHandStore">><<addMinutes 5>><</link>>Double-click this passage to edit it.Double-click this passage to edit it.You almost didn’t see the discreet tailor shop there, but you quickly realize this could come in handy. With the move and all that has been going on, your clothing isn't in the best shape. Inside the cramped workshop, a giant hunches over a tiny and ancient-looking pedal-powered sewing machine. He has several pins in his mouth, and is calmly working on some unrecognizable article of clothing, spools of fabric surrounding him.
<<Dialogue "player" "You">>"Um, excuse me. Do you repair clothes?"<</Dialogue>>
<<Dialogue "Simon" "Simon">>"..."<</Dialogue>>
<<Dialogue "player" "You">>"Sir? I need something adjusted?"<</Dialogue>>
He slowly and casually takes pin by pin from his mouth, very meticulously placing them on a blue cushion resting on this work surface.<br><br>
<<Dialogue "Simon" "Simon">>"... I'm busy."<</Dialogue>>
<<Dialogue "player" "You">>"Right but... um, I got this ripped... think you could fix it later? No hurry."<</Dialogue>>
<<Dialogue "Simon" "Simon">>"... Leave it on top of that pile."<</Dialogue>>
He raises his chin towards a tall pile of varied articles of clothing. You carefully place it there, and the man doesn’t even acknowledge it. His squinting eyes continue purely focused on the task at hand. You can’t help but notice that, despite his immense size, his hands are so incredibly deft it's almost entrancing to watch.
<<link "Go back" "Tailor">><<addMinutes 5>><<set $simonOpinion += 1>><</link>><<script>>
if (!Dialog.isOpen()){
var dialog = Dialog.setup("Goal Completed; Job gained!");
new Wikifier(dialog, "You finally got a job! New responsibilities, and income that opens new possibilities. And with this success comes a nice boost in confidence!");
Dialog.open();}
else {
Dialog.append("<br><br>And... Goal Completed: Job acquired!<br><br>You finally got a job! New responsibilities, and income that opens new possibilities. And with this success comes a nice boost in confidence!")
}
<</script>><<set $shyConfident += 1>><<nobr>>
<<set $DateSuccess to 0>>
<<if ndef $shyConfident>>
<<script>>
State.variables.shyConfident = Math.floor(Math.random() * (3 - -3 + 1)) + -3;
State.variables.carefreeCarefull = Math.floor(Math.random() * (3 - -3 + 1)) + -3;
State.variables.submissiveDominant = Math.floor(Math.random() * (3 - -3 + 1)) + -3;
<</script>>
<<set _debugging to true>>
<</if>>
<<set _barbarian to ($carefreeCarefull * -1) + ($shyConfident * 1)>>
<<set _cleric to ($submissiveDominant * -1) + ($carefreeCarefull * 1)>>
<<set _paladin to ($submissiveDominant * 1) + ($shyConfident * 1)>>
<<set _warlock to ($carefreeCarefull * -1) + ($submissiveDominant * -1)>>
<<set _rogue to ($carefreeCarefull * -1) + ($submissiveDominant * -1)>>
<<set _wizard to ($carefreeCarefull * 1) + ($shyConfident * 1)>>
<<if _barbarian > -7>>
<<set _highest to "barbarian">>
<<set _highestValue to _barbarian>>
<<set $dndCharacter to {
name: "",
class: "barbarian",
race: "half-demon"
}>>
<</if>>
<<if _cleric > _highestValue>>
<<set _highest to "cleric">>
<<set _highestValue to _cleric>>
<<set $dndCharacter to {
name: "",
class: "cleric",
race: "dwarven"
}>>
<</if>>
<<if _paladin > _highestValue>>
<<set _highest to "paladin">>
<<set _highestValue to _paladin>>
<<set $dndCharacter to {
name: "",
class: "paladin",
race: "half-celestial"
}>>
<</if>>
<<if _warlock > _highestValue>>
<<set _highest to "warlock">>
<<set _highestValue to _warlock>>
<<set $dndCharacter to {
name: "",
class: "warlock",
race: "orc"
}>>
<</if>>
<<if _rogue > _highestValue>>
<<set _highest to "rogue">>
<<set _highestValue to _rogue>>
<<set $dndCharacter to {
name: "",
class: "rogue",
race: "human"
}>>
<</if>>
<<if _wizard > _highestValue>>
<<set _highest to "wizard">>
<<set _highestValue to _wizard>>
<<set $dndCharacter to {
name: "",
class: "wizard",
race: "elf"
}>>
<</if>>
<<if _debugging>>
<<print $dndCharacter.class>>
<br>
<</if>>
<</nobr>>Opening the door <<if $muscle >= 50 || $fat >= 50 || $breasts >= 50 || $height >= 210>>and squeezing through<</if>><<if setup.isOutfitTight()>> with your tattered clothes almost getting ripped<</if>>, you find yourself facing an unfamiliar sight; Johan sits behind a table with a fake beard, wizard's robe and candles on a table littered with oddly shaped dice, tiny figurines and a hexagonal grid map. The moment you enter, his voice booms out, as theatrical as Johan can get;
<<Dialogue "Johan" "Johan">>"Welcome, mortal visitor to the plane of - Oh, it's you! Hahaha, I was expecting some other people, but I guess it’s a bit early! Come on in! I'm just having DnD in - oh, about an hour or so. Guess I got set up a too early. I’m kinda anxious, believe it or not!"<</Dialogue>>
<<Dialogue "player" "You">>"Oh... right. Er, if you're expecting people, I'll come back -"<</Dialogue>>
<<Dialogue "Johan" "Johan">>"No, no! Do stay! Have you ever played some tabletop RPG before? "<</Dialogue>>
<<Dialogue "player" "You">>"You mean like the pen and paper stuff with the elves? Like, those garden statues?"<</Dialogue>>
Johan’s chin drops, like you just said some blasphemy - he doesn’t look insulted, just really surprised.<br><br>
<<Dialogue "Johan" "Johan">>"Listen, now that you're here, why don't you give it a spin?! I promise it's not as weird or intimidating as it looks!"<</Dialogue>>
That's one hell of a promise because it does look weird. But he seems to be having fun, so what do you have to lose? Sitting down, <<if $muscle >= 90 || $fat >= 70 || $breasts >= 100 || $height >= 300>>on the floor as to not damage anything with your mass,<<elseif $muscle >= 50 || $fat >= 50 || $breasts >= 50 || $height >= 210>>, the chair groans under you,<</if>> a table full of nerdy shit is sprawled out before you. And with all the enthusiasm Johan is known for, he begins.
<<Dialogue "Johan" "Johan">>"So, this is Dungeons and Dragons, Fifth edition. In it, you play an adventurer while I take the role as storyteller; it is by my whims that you will succeed and fail! My whims... and those of the dice! Now, we first should make a character. What would you like to play as? A strong and fierce barbarian?! A clever but sneaky rogue?! A wise wizard, expert in the arcane arts?! Or a nimble elven ranger? Wait, wait, you clearly don't know what any of that means. Hmmm... With your personality... I think... yeah! <<print $dndCharacter.race>> <<print $dndCharacter.class>>!"<</Dialogue>>
With a big smile, he scribbles for a while before handing you a piece of paper with a LOT of numbers on it. Yet despite how intimidating it is, Johan carefully explains everything bit by bit; what different attributes are, what skills you got, even dropping some tips on how to play. The passion in his eyes is contagious, he lives for this. You were used to him talking AT you, now he is being very inviting, allowing you to join in his passion.
<<if $dndCharacter.class is "barbarian">>Turns out you got handed a big half-demonic barbarian; big, beefy, and hits hard. Heh. Almost like he knows.
<<elseif $dndCharacter.class is "cleric">>The character you play is a cleric, following some kind of deity in this fantasy setting. Your character mostly supports others and is a rather shy and meek half-elf. Not that far off.
<<elseif $dndCharacter.class is "paladin">>The character you play is a paladin, following some kind of deity in this fantasy setting. With heavy armor, a burning desire to cleanse heresy and enough zeal to sink a battleship, you're sure this is going to be fun!
<<elseif $dndCharacter.class is "warlock">>The character you play is a warlock, granted magical powers by a demon. Or devil. Apparently that makes a huge difference. But no matter what, you've got a magical sugar daddy and a whole world to make yours!
<<elseif $dndCharacter.class is "rogue">>The character you play is a sneaky rogue, ready to steal, backstab and assassinate! Oh, you can't wait to see what you can do with this all!
<<elseif $dndCharacter.class is "wizard">>The character you play is a wise wizard, knowing all kinds of spells and shit. Neat!
<</if>>
<<link "continue" "JohanDate1.2">><</link>><<nobr>>
<<set _rand to random(0,2)>>
<<set _message to "Jesus, this drink is sweet! You expected something like this from the smell, but this almost feels like just straight up sugar syrup! It sticks to your lips, and you can almost feel it slither down your throat... yet somehow the feeling goes lower than that...">>
<<set _rand to random(0,2)>>
<<set $ass += 1>>
<<script>>
if (Dialog.isOpen() == false) {
var dialog = Dialog.setup("ASS-69");
new Wikifier(dialog, State.temporary.message);
Dialog.open();
}
<</script>>
<</nobr>><<set $sewingUnlocked to true>>For the umpteenth time, you enter the now tiny shop, trying to get past the stacks of fabrics and articles of clothing. And for the umpteenth time, you drop your clothes on the huge pile, knocking over a stack of fabric in the progress. Cursing under your breath, having had enough, you are faced with an unexpected reaction.
<<Dialogue "Simon" "Simon">>"... Need some help?"<</Dialogue>>
The constant whirr of the machine, a constant in this small room, stops dead, and the wooden chair screeches for the first time, Simon standing up (well, as much as he can given the low ceiling). The shock makes you jump, knocking over another pile of clothes.
<<Dialogue "player" "You">>"No, no, I can clean this up, no problem!"<</Dialogue>>
<<Dialogue "Simon" "Simon">>"Didn't mean the pile. I meant your outfit."<</Dialogue>>
<<Dialogue "player" "You">>"Y-yeah... that's why I'm here. To get something adjusted. Again."<</Dialogue>>
<<Dialogue "Simon" "Simon">>"No."<</Dialogue>>
<<Dialogue "player" "You">>"N-no...?"<</Dialogue>>
<<Dialogue "Simon" "Simon">>"No. You come in here, day after day with torn clothes and adjustments. You're going to need to make your own clothes soon or later, especially if you keep growing that much."<</Dialogue>>
How did he - Well, he did see you come in day after day with new clothes, and witnessed all your changes first-hand. But how is he so casual about all this? There is something else going on, you know it.
<<Dialogue "Simon" "Simon">>"I got this sewing machine you can buy. You get some fabric and I'll teach you how to use it."<</Dialogue>>
<<Dialogue "player" "You">>"B-but... "<</Dialogue>>
<<Dialogue "Simon" "Simon">>"You're a good customer, and at this point I feel like I'm robbing you. Buy the machine. Buy some cloth. I get mine from Tasha, she always has some lying around. Come back when you got both, and I'll explain the basics."<</Dialogue>>
It would seem he is serious about it. Well, you could use the help, so it sounds like a good plan.
<<addQuest "sewingTutotial">>
<<link "Go back" "Tailor">><<addMinutes 5>><</link>><<Dialogue "player" "You">>"I got what you asked. I think."<</Dialogue>>
<<Dialogue "Simon" "Simon">>"Good. Let's begin."<</Dialogue>>
Ever a man of few words, he simply turns around and takes the fabric from your arms. Nodding at you to stand closer, he quickly gets to work. His voice is calm and oddly soothing, and surprisingly patient. You can see why he sits here, working to intently: there is an odd, calming zen quality to it. A practical teacher, he sits you down with the old sewing machine, and quickly lets you get to work, making some basic procedures. Before you even realize it, an hour has passed. Simon gets up, looking at your work.
<<Dialogue "Simon" "Simon">>"Shoddy work, but it will do for now."<</Dialogue>>
<<Dialogue "player" "You">>"Um... okay?"<</Dialogue>>
<<Dialogue "Simon" "Simon">>"You just started. Shoddy work is enough for now. That wasn't an insult."<</Dialogue>>
Well, he's not once to mince words. His directness doesn't feel like derision. In fact, it seems closer to a compliment, if anything! But with this new skill, managing your growing need for clothing will become a LOT easier. You can now adjust clothing, and who knows! If you keep improving, you might just be able to make your own clothes soon enough.
<<Dialogue "player" "You">>"Seriously, how can I thank you for this?"<</Dialogue>>
<<Dialogue "Simon" "Simon">>"No need. You needed some help, and I like helping people. And besides, I've been wanting to get rid of that machine for a while now. Just takes up space. And if you ever need lessons, you know where to find me."<</Dialogue>>
<<link "Go back" "Tailor">>
<<set $quests[$sewingTutotial].completed to true>>
<<set $quests[$sewingTutotial].progress to 1>>
<<set $carefreeCarefull += 1>>
<<include $quests[$sewingTutotial].finishedDialogue>>
<<addMinutes 60>>
<</link>><<widget "sewingTailoringWidget">>
<<set _filteredWardrobeClothes to $wardrobe>>
<<set _range to 10>>
<span id="outfitTable">
<table id="store">
<tr>
<td>
Show slot:<br>
<<listbox "$shoppingSlot" autoselect>>
<<optionsfrom ['-', 'top', 'bottom', 'underwear', 'overwear', 'bra', 'shoes']>>
<</listbox>>
</td>
<td>
Show only with style:<br>
<<set _stylesCopy to [...setup.allStyles]>>
<<set _stylesCopy.unshift('All styles')>>
<<listbox "$shoppingStyle" autoselect>>
<<optionsfrom _stylesCopy>>
<</listbox>>
</td>
<td>
Show only with bonus:<br>
<<set _bonusCopy to function () {
var arr = ['-'];
for (var prop in setup.clothingBonuses) {
if (setup.clothingBonuses.hasOwnProperty(prop)) {
var innerObj = {};
innerObj[prop] = setup.clothingBonuses[prop];
arr.push(Object.values(innerObj)[0].name);
}
}
return arr;
}>>
<<listbox "$shoppingBonuses" autoselect>>
<<optionsfrom _bonusCopy()>>
<</listbox>>
</td>
</tr>
</table>
</span>
<<timed 0s>>
<<script>>
const inputs = $('#listbox-shoppingslot, #listbox-shoppingstyle, #listbox-shoppingbonuses, #checkbox-shoppingaffordable');
const clothes = State.variables.wardrobe;
inputs.on('change', function () {
setup.setClothesTable(clothes);
});
setup.setClothesTable(clothes);
<</script>>
<</timed>>
<<liveblock>>
<<set _newClothes to clone(_filteredWardrobeClothes)>>
<<set _wardRobeCopy to []>>
<<for _i to 0; _i < _filteredWardrobeClothes.length; _i ++>>
<<capture _i>>
<<set _wardRobeCopy.push(
{
clothing: _newClothes[_i],
fabric: 0,
timeNeeded: 0,
timeSpend: 0,
newSize: 0
}
)>>
<</capture>>
<</for>>
<<set _getAllReadableSizes to function (clothes) {
const sizes = {};
for (let i = 0; i < setup.sizeDatabase.length; i++) {
sizes[setup.getReadableFitFromSize(i, clothes.slot, clothes.tolerance)] = i;
}
return sizes;
}>>
<table id="store">
<tr>
<th>Name</th>
<th>Current size</th>
<th>New size</th>
<th>Time to make in minutes</th>
<th>Fabric needed</th>
<th>Have tailored</th>
</tr>
<<for _i to 0; _i < _wardRobeCopy.length; _i ++>>
<<capture _i>>
<tr id="row" @data-num="_i">
<td><<print _wardRobeCopy[_i].clothing.name>></td>
<td>
<<print setup.getReadableFitFromClothing(_wardRobeCopy[_i].clothing)>>
</td>
<td>
<<listbox "_wardRobeCopy[_i].size">>
<<optionsfrom _getAllReadableSizes(_wardRobeCopy[_i].clothing)>>
<</listbox>>
</td>
<td>
<span class="selected">0</span>
</td>
<td>
<span class="selectedFabric">0</span>
</td>
<td>
<<linkreplace "Add to projects">>
<<if $fabric > 0 && $fabric >= _wardRobeCopy[_i].fabric && _wardRobeCopy[_i].timeNeeded != 0>>
<<set _wardRobeCopy[_i].clothing.size to _wardRobeCopy[_i].newSize>>
<<set $sewingProjects.push(_wardRobeCopy[_i])>>
<<set $fabric -= _wardRobeCopy[_i].fabric>>
<<set $wardrobe.deleteAt(_i)>>
<<goto "sewing">>
<<elseif $fabric < _wardRobeCopy[_i].fabric || $fabric == 0>>
Not enough fabric
<<else>>
Please select a new size.
<</if>>
<</linkreplace>>
</td>
</tr>
<</capture>>
<</for>>
</table>
<<timed 0s>><<script>>
var boxes = $(".macro-listbox#listbox--wardrobecopy-isize");
boxes.on("change", function () {
var mod = $(this).children(":selected").val();
console.log("mod: " + mod);
$(this).parents("#row").find(".selected, .selectedFabric").fadeOut(250, function () {
var rowInxed = Number($(this).parents("#row").attr("data-num"));
var sizeMod = State.temporary.wardRobeCopy[rowInxed].clothing.size;
var difference = Math.abs(mod - sizeMod);
var value = difference * 60;
State.temporary.wardRobeCopy[rowInxed].timeNeeded = value;
State.temporary.wardRobeCopy[rowInxed].newSize = parseInt(mod);
console.log(mod);
State.temporary.wardRobeCopy[rowInxed].fabric = parseInt(difference);
$(this).parents("#row").find(".selected").text(value).fadeIn(250);
$(this).parents("#row").find(".selectedFabric").text(difference).fadeIn(250);
});
});
<</script>><</timed>>
<</liveblock>>
<</widget>><<link "go home" "Home">><</link>><<script>>
if (!Dialog.isOpen()){
var dialog = Dialog.setup("Goal Completed; Sewing learned!");
new Wikifier(dialog, "With your new sewing machine and the skill to use it, you can start adjusting your clothes, or later even make new ones!<br> And the effort allows you to focus better, giving you +1 carefulness!");
Dialog.open();}
else {
Dialog.append("<br><br>And... Goal Completed: Sewing learned!<br><br>With your new sewing machine and the skills to use it, you can start adjusting your clothes, or even make new ones given enough practice! The effort allows you to focus better, giving you +1 carefulness!")
}
<</script>>Next to the sewing machine you have all the projects you're currently working on. You could either decide to tailor something with the <<print $fabric>> bolts of fabric you got, or scrap one of your projects. Scrapping a project refunds <<print $fabricScrapPercentage * 100>>% of the fabric, rounded down.
<<sewingProjectsWidget>>
<<linkreplace "tailor something">><<sewingTailoringWidget>><</linkreplace>>
<<skillCheck "Sewing" 2>>
<<if $returnVal is true>>
<<linkreplace "craft something">>
<<clothingCraftingWidget>><</linkreplace>><</if>>
<<link "Go back" "Home">><</link>><<widget "sewingProjectsWidget">>
<table id="store">
<tr>
<th>Name</th>
<th>Minutes needed</th>
<th>Size when finished</th>
<th></th>
<th></th>
</tr>
<<for _iSewingProject to 0; _iSewingProject < $sewingProjects.length; _iSewingProject ++>>
<<capture _iSewingProject>>
<<script>>
console.log(State.variables)
<</script>>
<tr id="row" @data-num="_iSewingProject">
<td><<print $sewingProjects[_iSewingProject].clothing.name>></td>
<td>
<<print $sewingProjects[_iSewingProject].timeNeeded>>
</td>
<td>
<<print setup.getSizeName($sewingProjects[_iSewingProject].newSize)>>
</td>
<td><<if $motivationPercentage >= $exhaustionPercentage and $exhaustion +20 <= $maxExhaustion>>
<<skillCheck "Sewing" 2>>
<<if $returnVal is true>>
<<set _sewingTimeString to "time:20">>
<<set _sewingTimeSpend to 20>>
<<else>>
<<set _sewingTimeString to "time:30">>
<<set _sewingTimeSpend to 30>>
<</if>>
<<gameLink "Work on project" "sewing" exhaustion:5 _sewingTimeString>>
<<set $sewingProjects[_iSewingProject].timeNeeded -= 30>>
<<if $sewingProjects[_iSewingProject].timeNeeded is 0 ||
$sewingProjects[_iSewingProject].timeNeeded < 0>>
<<set $sewingProjects[_iSewingProject].clothing.size to $sewingProjects[_iSewingProject].newSize>>
<<set $sewingProjects[_iSewingProject].clothing.bonuses.push(setup.clothingBonuses.Crafted)>>
<<set $sewingProjects[_iSewingProject].clothing.id to Date.now()>>
<<set $wardrobe.push($sewingProjects[_iSewingProject].clothing)>>
<<set $sewingProjects.deleteAt(_iSewingProject)>>
<<script>>
if (Dialog.isOpen() == false) {
var dialog = Dialog.setup("Project finished");
new Wikifier(dialog, "It took some time, but you finally finished your project! Here's hoping it still fits. You can now find it under your wardrobe again.");
Dialog.open();
}
<</script>>
<<else>>
<<skillIncrease "Sewing" 10>>
<</if>>
<</gameLink>>
<<else>>
Too tired to work
<</if>>
</td>
<td>
<<linkreplace "Scrap project">>
<<set $fabric += Math.floor($sewingProjects[_iSewingProject].fabric * $fabricScrapPercentage)>>
<<set $sewingProjects.deleteAt(_iSewingProject)>>
<<goto "sewing">>
<</linkreplace>>
</td>
</tr>
<</capture>>
<</for>>
</table>
<</widget>><<widget "clothingCraftingWidget">>
<<set _allClothes to clone(setup.allClothes)>>
<<set _allClothesTypes to []>>
<<set _emptyList to [""]>>
<<for _i to 0; _i < _allClothes.length; _i ++>>
<<capture _i>>
<<set _allClothesTypes.push(_allClothes[_i].name)>>
<</capture>>
<</for>>
<<set _newProject to
{
i: 0,
name: "",
style: "",
fabric: 0,
timeNeeded: 0,
newSize: 0,
dump:0
}
>>
<<set _style to "">>
<table id="store">
<tr>
<th>Type</th>
<th>Size</th>
<th>Time to make in minutes</th>
<th>Fabric needed</th>
<th></th>
</tr>
<tr id="row">
<td>
<<listbox "_newProject.name">>
<<optionsfrom _allClothesTypes>>
<</listbox>>
</td>
<td>
<<listbox "_newProject.dump">>
<<optionsfrom setup.getAllSizeNames()>>
<</listbox>>
</td>
<td>
<span class="time">60</span>
</td>
<td>
<span class="fabric">1</span>
<<timed 0s>><<script>>
State.temporary.newProject.fabric = 1;
State.temporary.newProject.timeNeeded = 60;
var boxes = $(".macro-listbox#listbox--newprojectdump, .macro-listbox#listbox--newprojectname");
boxes.on("change", function () {
var mod = $(".macro-listbox#listbox--newprojectdump").children(":selected").val();
var index = $(".macro-listbox#listbox--newprojectname").children(":selected").val();
console.log(mod);
console.log(index);
State.temporary.newProject.newSize = mod;
State.temporary.newProject.i = index;
$(this).parents("#row").find(".time").fadeOut(250, function () {
var value = (parseInt(mod) + parseInt(1)) * 60;
State.temporary.newProject.timeNeeded = value;
$(this).text(value).fadeIn(250);
});
$(this).parents("#row").find(".fabric").fadeOut(250, function () {
var value = parseInt(mod) + parseInt(1);
State.temporary.newProject.fabric = value;
$(this).text(value).fadeIn(250);
});
});
<</script>><</timed>>
</td>
<td>
<<link "craft" "sewing">>
<<if $fabric >= _newProject.fabric>>
<<set _newCraftingProject to {
clothing: setup.allClothes[_newProject.i],
fabric: _newProject.fabric,
timeNeeded: _newProject.timeNeeded,
timeSpend: 0,
newSize: _newProject.newSize
}>>
<<set _newCraftingProject.clothing.size to _newProject.newSize>>
<<set $sewingProjects.push(_newCraftingProject)>>
<<set $fabric -= _newProject.fabric>>
<<script>>
console.log(State.temporary.newCraftingProject);
<</script>>
<<else>>
Not enough fabric
<</if>>
<</link>>
</td>
</tr>
</table>
<</widget>><<nobr>>
<<set $krisDate1Finished to true>>
<<set $DateSuccess to 0>>
<<if ndef $shyConfident>>
<<script>>
State.variables.shyConfident = Math.floor(Math.random() * (3 - -3 + 1)) + -3;
State.variables.carefreeCarefull = Math.floor(Math.random() * (3 - -3 + 1)) + -3;
State.variables.submissiveDominant = Math.floor(Math.random() * (3 - -3 + 1)) + -3;
<</script>>
<<set _debugging to true>>
<</if>>
<<addMinutes 15>>
<</nobr>>
Arriving at the address Kris texted, you find yourself in front of a very peculiar bar. The atmosphere of the old building betrays the many stories it must carry. The red bricks are heavily stained, and the prevalent smell of smoke and heavy alcohol drifts towards you from a distance. There is a huge bouncer standing outside the door, looking at you. <<if $muscle > 75>>You can tell from his eyes that he is secretly hoping you don’t cause any trouble, because he does not want to mess with you. Heh, You can’t blame him, he’s huge himself, but you are on a class of your own!<<elseif $muscle > 50 || $fat > 50>> He checks you out, giving you a respectful nod. Seems like he has respect for your size.<<elseif $breasts > 35>> His eyes linger on your chest. Of course they do. Yet, he respectfully returns to his neutral position the moment he notices you're uncomfortable.<<else>> The stare is intimidating enough, telling you not to cause problems.<</if>> Soon enough, Kris walks by, in a very casual but appropriate outfit for this joint. Unsurprisingly, her first reaction is eyeing you hungrily.
<<Dialogue "KrisCasualObsessed" "Kris">>"Hehe, fuck, you look amazing. Did you get this big just for me?"<</Dialogue>>
Not waiting for a response, she grabs your arm, practically dragging you inside. The bouncer moves to stop you, but it would seem he knows Kris well. The moment he sees her, he steps aside to let the two of you in.
<<Dialogue "player" "You">>"You come here often?"<</Dialogue>>
<<Dialogue "KrisCasualObsessed" "Kris">>"You bet I do. This is a bar that is popular with a lot of the powerlifters in town, for hooking up and… other things. So plenty of beef for the window shoppers, I love it!<<if $muscle > 50>> But now I got you, and we’re gonna put them all to shame, I can’t wait to see their reaction!<</if>>"<</Dialogue>>
Arriving at a booth, you sit down<<if $muscle >50 || $fat > 50 || $breasts > 50 || $height > 200>>, though you have to make quite an effort to squeeze in. <</if>>Kris loves the sight of you. Of course she does. Her eyes continually drift to your arms, your chest... almost never your face, though.
<<Dialogue "KrisCasualObsessed" "Kris">>"... Fuck, I love every bit of you. So, how was your day? Lifted plenty? Ate enough?"<</Dialogue>>
<<PersonalityCheck $shyConfident > 1 "Show off">><<goto "KrisShowOff">><<Failed>><<goto "KrisShowOff">><</PersonalityCheck>>
[[KrisTalk<-Tell her about your day]]<<nobr>>
<<set _rand to random(0,2)>>
<<set _message to "Well, at least it's a small bottle? You can down it in a single sip, barely any liquid in it. The drink goes down smoothly but feels incredibly heavy on your stomach. So heavy, in fact, that you get the feeling your entire body just sinks in a bit.">>
<<set $height -= 5>>
<<if _rand >= 1>>
<<set _message += " The feeling doesn't go down, your body just feeling compressed somehow.">>
<<set $muscle += 2>>
<<set $fat += 2>>
<</if>>
<<if _rand >= 2>>
<<set _message += " Something else you notice is just how stiff your fingers and muscles feel; almost like you had worked on them too hard or something. Odd.">>
<<addMuscleSlow 2>>
<<addFatSlow 2>>
<</if>>
<<script>>
if (Dialog.isOpen() == false) {
var dialog = Dialog.setup("B-shrink");
new Wikifier(dialog, State.temporary.message);
Dialog.open();
}
<</script>>
<</nobr>><<nobr>>
<<set _rand to random(0,2)>>
<<set _message to "The tall, slim bottle looks rather inviting. But it makes for an incredibly awkward drink. Hell, you even wonder where the bottles themselves come from, let alone the liquid inside! Though, is this one even a liquid? Going down, it feels more like jelly than a beverage.">>
<<addHeightSlow setup.balance.heightAllowancePerDay>>
<<if _rand >= 1>>
<<set _message += " A shudder goes through you, and for some odd reason you get a sensation that can only be described at stretching. Your entire body just feels a little bit thinner.">>
<<set $muscle -= 3>>
<<set $fat -=3>>
<</if>>
<<if _rand >= 2>>
<<set _message += " Something else you notice is just how stiff your fingers and muscles feel, almost like you had worked them too hard or something. Odd.">>
<<set $muscle -= 3>>
<</if>>
<<script>>
if (Dialog.isOpen() == false) {
var dialog = Dialog.setup("B-gr0w");
new Wikifier(dialog, State.temporary.message);
Dialog.open();
}
<</script>>
<</nobr>><<nobr>>
<<set _rand to random(0,2)>>
<<set _message to "It’s odd how the green liquid almost has a life of its own. It just keeps swirling, even when you don't touch the bottle at all. Downing it isn't unpleasant either, reminding you of nice matcha tea.">>
<<set $motivation += 50>>
<<if _rand >= 1>>
<<set _message += " The taste lingers for quite a while, which you didn't expect. It's quite pleasant; it would make for a great breakfast drink.">>
<<set $motivation += 50>>
<</if>>
<<script>>
if (Dialog.isOpen() == false) {
var dialog = Dialog.setup("Mot-V10");
new Wikifier(dialog, State.temporary.message);
Dialog.open();
}
<</script>>
<</nobr>><<nobr>>
<<set _rand to random(0,2)>>
<<set _message to "Shaking container, you watch as the almost vibrant yellow liquid stirs, wondering whether you really should drink this. But... here goes nothing. Downing it, you immediately feel your throat burning, but the good kind of burn; a burn that reinvigorates you, a burn that makes the tiredness disappear. ">>
<<set $exhaustion -= 50>>
<<if _rand >= 1>>
<<set _message += " What you didn't expect though is the kickback. The moment it hits your stomach, the warmth becomes almost unbearable, nearly knocking you over. Luckily, you remain standing, the feeling fading, leaving only renewed energy in its place.">>
<<set $exhaustion -= 50>>
<</if>>
<<script>>
if (Dialog.isOpen() == false) {
var dialog = Dialog.setup("Exhaust-B-g0n3");
new Wikifier(dialog, State.temporary.message);
Dialog.open();
}
<</script>>
<</nobr>><<set $johanFirstDateSuccess to 0>>Johan excitedly returns to his seat opposite you, looking from behind what you can only describe as a tiny cardboard wall sitting on his table and covering his mysterious ream of unknown documents. He mutters to himself, and seems to be thinking very hard. You set your little figurine in place on one of the little hexagons on the mat in front of you as Johan springs up excitedly.
<<Dialogue "Johan" "Johan">>"Okay! So... As we begin our story, you have already been travelling for weeks. You've been following rumors of a magical <<if $dndCharacter.class is "paladin" || $dndCharacter.class is "barbarian">>hammer<<elseif $dndCharacter.class is "cleric" || $dndCharacter.class is "wizard">>staff<<elseif $dndCharacter.class is "warlock" || $dndCharacter.class is "rogue">>amulet<</if>> that is supposed to contain untold power! The sort of thing that could decide the fate of the world! And at last, you're so close! You should be able to reach it today, but... alas! Your map says there should be a bridge here, but nothing! Just a ravine, at least <<if $measurementSystem == 'metric'>>four meters<<else>>a dozen feet<</if>>across! You look left and right, but this bridge is nowhere in sight. You could go looking for another way to cross, but who knows long that would take? Now, this is a predicament... How will you solve this problem?"<</Dialogue>>
He grins ear to ear, and looks at you expectantly.
<<Dialogue "player" "You">>"Oh, uh... So, is it my turn now? What should I do?"<</Dialogue>>
<<Dialogue "Johan" "Johan">>"That's the beauty of it! It's like we're writing a story together, and you're in control of the main character. Think it over for a bit. Imagine <<if $dndCharacter.class is "barbarian">>you're a mighty and savage barbarian<<elseif $dndCharacter.class is "cleric">>you're a holy woman wielding the power of your gods<<elseif $dndCharacter.class is "paladin">>you're a literal knight in shining armor<<elseif $dndCharacter.class is "warlock">>you hold dark, eldritch magic in your hand<<elseif $dndCharacter.class is "rogue">>you're a sly, stealthy thief or assassin type<<else>>you're an actual wizard, with all kinds of spells in your book<</if>>. How would you get around this?"<</Dialogue>>
[[Can't I do magic? Is there any way I can just... magic myself over the canyon?->Obstacle- Magic]]
[[It doesn't sound like it's super wide. I bet I could jump it.->Obstacle- Jump]]
[[Hmm. No easy way past it. I might have to get creative here...->Obstacle- Other]]<<if $dndCharacter.class is "cleric" or $dndCharacter.class is "paladin">>Johan pauses for a moment. His face scrunches up as if he's thinking hard.
<<Dialogue "Johan" "Johan">>"While, yes, you have magic at your fingertips, I'm struggling to think of a spell that you have access to that would help..."<</Dialogue>>
<<Dialogue "player" "You">>"Well, I'm a sort of priest, right? Can I, like... pray to my god for help?"<</Dialogue>>
You see a smile on Johan's face.
<<Dialogue "Johan" "Johan">>"I like the way you think. Roll your d20, that 20-sided die there, and let's see what happens."<</Dialogue>>
You fumble briefly through the small pile of dice in front of you, before Johan helpfully points out the roundest of the bunch. You give it a roll across the table. It comes to a stop revealing a 10.
<<Dialogue "player" "You">>"Is that good?"<</Dialogue>>
<<Dialogue "Johan" "Johan">>"It's... exactly the middle of the road. Let's say you stop and make a quick prayer to your deity. As you speak, you begin to believe you feel their presence with you, and your confidence rises. Do you still want to go through with this?"<</Dialogue>>
<<Dialogue "player" "You">>"...Yeah. Let's do it."<</Dialogue>>
<<Dialogue "Johan" "Johan">>"Okay! With your renewed vigor, you brace yourself and begin to charge towards the ravine. Slowly, slowly you pick up speed, then take a deep breath and leap! You're now sailing through the air, only the strength of your faith to save you! Give me another d20 roll!"<</Dialogue>>
You grab the same die and give it another roll, feeling a little tense as it clatters across the table. It slows to a stop on 13.
<<Dialogue "Johan" "Johan">>You feel as though you're flying through the air, the other end of the ravine growing closer! You reach the peak of your jump. And you start to fall... and fall... and suddenly you're eye level with the edge of the ravine. You're falling faster, and faster, the other side now far out of reach! But then, you hit the side of the ravine, and slam to a stop. On reflex, you grab the first thing your fingers touch. You find yourself holding two rocks embedded in the canyon wall. You couldn't quite clear the ravine. But... you've caught yourself, and you're safe."<</Dialogue>>
You realize that you've been holding your breath for a moment now. You breathe again, looking at Johan, who is still smiling happily.
<<Dialogue "player" "You">>"So, I’m… uh… safe? That means I can climb up the wall?"<</Dialogue>>
<<Dialogue "Johan" "Johan">>"With some effort, yes. You slowly, carefully, start climbing your way up the canyon wall, and after a few minutes of work, you're at the ledge.
That was a pretty good idea, by the way. Maybe not the choice I would have made, but full points for the lateral thinking."<</Dialogue>>
<<elseif $dndCharacter.class is "barbarian" or $dndCharacter.class is "rogue">>There's a moment of silence. Johan stares back at you blankly from across the table.
<<Dialogue "Johan" "Johan">>"Sorry to be blunt, but... how exactly did you get magic from the description I supplied for your character?"<</Dialogue>>
<<Dialogue "player" "You">>"Um... Honestly, I just kinda thought... you know, with the setting and all... I just kinda figured I'd check? Maybe this is one of the worlds where if I wish hard enough, I can fly."<</Dialogue>>
<<Dialogue "Johan" "Johan">>"You know what? Full credit for guts. If you're sure you want to go through with it, grab that 20-sided die, your d20, and give it a roll."<</Dialogue>>
You fumble through your pile of dice for a moment, not totally sure which one Johan means. Fortunately, he helpfully sticks a hand out and points toward the roundest die of the bunch. Gently, you give it a toss across the table. It clatters and slows to a stop showing a 20! Both of you stop for a moment, grinning in disbelief.
<<Dialogue "player" "You">>"Woo! That is a good thing, right?"<</Dialogue>>
<<Dialogue "Johan" "Johan">>"It's the best result you could have gotten! I'd say that's an auspicious sign! But was it good enough to clear the gap?"<</Dialogue>>
<<Dialogue "player" "You">>"Wait, what do you mean? If I got the best result, then..."<</Dialogue>>
<<Dialogue "Johan" "Johan">>"Not guaranteed success, though! If you had tried to jump to the moon, I wouldn't have just let you succeed because you got lucky. But no takebacks now! The die has been cast, quite literally!
Filled with confidence that your intense wishing has paid off, you charge toward the canyon, all but certain that you will magically make your way to the other side! You break into a full sprint, picking up speed as you near the ledge, then leap!"<</Dialogue>>
Johan pauses dramatically and you realize you're holding your breath. You break into a smile and give him a nudge. He smiles back and flourishes.
<<Dialogue "Johan" "Johan">>"And... your feet find ground on the other side! It's not exactly a graceful landing. You stumble forward a few paces, flailing your arms as you do. But you're alive, and in one piece!"<</Dialogue>>
<<Dialogue "player" "You">>"Wow, that's a relief! It wouldn't have been very much of a story if I ended up just diving into a pit and dying right off the bat."<</Dialogue>>
<<Dialogue "Johan" "Johan">>"That's the beautiful part of it, though! A skilled GM could make a story out of that anyway. But there's no need to worry about that now. Your first natural 20 got you across the canyon, and you've got a magical artifact to claim! Will you be heading off?"<</Dialogue>>
<<elseif $dndCharacter.class is "wizard" or $dndCharacter.class is "warlock">><<set $DateSuccess += 1>>
<<Dialogue "Johan" "Johan">>"You sure do! Forgive me for not whipping up a spell list for you on the spot, but you do have access to a spell that's just called Fly! It would require using up one of your higher-level spell slots, but it would be a guaranteed way across the chasm."<</Dialogue>>
<<Dialogue "player" "You">>"Sounds like a good deal! What am I supposed to do?"<</Dialogue>>
<<Dialogue "Johan" "Johan">>"This one's easy. All you have to do is say that you're casting the spell. And then, go ahead and describe what it looks like."<</Dialogue>>
Johan leans forward expectantly.
<<Dialogue "player" "You">>"Eh... What do you mean? Aren't you supposed to do that?"<</Dialogue>>
<<Dialogue "Johan" "Johan">>"I describe the world around you, sure. But your character is your own, you're in control of her! And I believe a good way of fleshing out a magic-user and making them your own is to describe what their magic looks like! Go ahead, don't be shy. Picture the moment in your head. You're casting a magic spell to fly over a canyon. Are you flying like Superman? Floating in a magic bubble? Just kind of walking on the air?"<</Dialogue>>
You pause for a moment. You hadn't exactly had time to put thought into this, but Johan looks like he's hanging onto your every word. Words you have yet to utter. You would ask for some help with this, but... the only time you've seen Johan this excited is when he's in the middle of one of his tangents. You can't let him down like that.
<<Dialogue "player" "You">>"Um... I guess, I would lift my arms into the air, out to my side. Like, palms up. And all my clothes start flowing around me as if the wind is picking up. I just... kind of shut my eyes and stand still and this invisible force just kind of lifts me up into the air. Like... I'm still as a statue but floating softly and gently over the canyon."<</Dialogue>>
There's a quiet moment as you finish your description. Johan is just continuing to stare at you with a smile on his face.
<<Dialogue "player" "You">>"Uh... did I do this right?"<</Dialogue>>
<<Dialogue "Johan" "Johan">>"That was great, actually! I really like the mental image you got going there. Are you sure you've never done anything like this before?"<</Dialogue>>
<<Dialogue "player" "You">>"No, never. Aside from, like, high school writing courses."<</Dialogue>>
<<Dialogue "Johan" "Johan">>"Well, then it sounds like you have a knack for this stuff! Shall we move on and see what else you can do?"<</Dialogue>><</if>>
[[Journey onward!->Goblin Encounter]]<<Dialogue "Johan" "Johan">>"Ooh, the gutsy, straightforward approach! I like it! All right, grab your 20-sided die and let’s see if you have what it takes."<</Dialogue>>
You look through the pile of dice Johan has set in front of you. After you spend a few seconds trying to count the number of sides on each one as quickly as possible, Johan leans in and points out the roundest of the bunch.
<<Dialogue "Johan" "Johan">>"Sorry about that. I sometimes forget everything I need to explain. But you'll go ahead and roll that and add your Strength here <<if $dndCharacter.class is "barbarian" or $dndCharacter.class is "paladin">>, and your proficiency bonus here<</if>>... And the higher the total number, the better you do."<</Dialogue>>
<<Dialogue "player" "You">>"Right. Seems easy enough. All right, here it goes!"<</Dialogue>>
You give the little die a toss across the table. And comes to rest on a 15.
<<Dialogue "player" "You">>"Is that good?"<</Dialogue>>
<<Dialogue "Johan" "Johan">>"Well, it's a 15 out of 20. So yes, I'd say so! Whether it's good //enough// is a different question. Let's see here... The chasm is this far across, default jump distance is equal to Strength, plus... mmm..."<</Dialogue>>
He rapidly mumbles to himself, apparently doing some calculations rapidly in his head.
<<if $dndCharacter.class is "barbarian" or $dndCharacter.class is "paladin">><<set $DateSuccess += 1>>
<<Dialogue "Johan" "Johan">>"Okay! So, off we go! Filled with confidence, you charge at the yawning chasm. You slowly gather speed until you're at a full sprint. Before you know it, you're at the point of no return! You wait until your feet are at the very lip of the crevice and leap!"<</Dialogue>>
He pauses dramatically. You hadn't realized until just now how invested you were in this. You're actually leaning in a bit, excited to see whether the imaginary you succeeds.
<<Dialogue "Johan" "Johan">>"You put all the strength you have into your legs and launch yourself through the air! You sail through the air, the wind rushing against you! You reach the peak of your jump, looking down briefly to see the bottom of the chasm, looming menacingly below..."<</Dialogue>>
<<Dialogue "player" "You">>"Gah, don't say that!"<</Dialogue>>
<<Dialogue "Johan" "Johan">>"But quickly you see the other side of the chasm approaching! Just as suddenly as you started the jump, your feet slam into the ground on the other side!"<</Dialogue>>
<<Dialogue "player" "You">>"So... I made it?"<</Dialogue>>
<<Dialogue "Johan" "Johan">>"You sure did, safe and sound!"<</Dialogue>>
<<Dialogue "player" "You">>"Man, that was a lot of suspense for a quick jump!"<</Dialogue>>
<<Dialogue "Johan" "Johan">>"I'd never have it differently! The whole fun of this is that you don't always know how things are going to end up. No sense in spoiling the movie for yourself, right?
But you were very right in that this was just a jump. You still have a dungeon to delve into! Shall we move on?"<</Dialogue>>
<<else>><<Dialogue "Johan" "Johan">>"Okay, off we go! You break into a sprint, rapidly picking up speed as you approach the lip of the chasm, and then leap into the air! With all your strength, you launch yourself up, and forward! And then, as you reach the apex, you realize that you're not going to make it. You start to fall, slowly at first, then quicker..."<</Dialogue>>
<<Dialogue "player" "You">>"Wait, what? No, I can't die yet!"<</Dialogue>>
<<Dialogue "Johan" "Johan">>"But! You're still moving forward, and you realize you can still save yourself! Give me another d20 roll!"<</Dialogue>>
You quickly reach for the same die and toss it across the table. It's an 18!
<<Dialogue "Johan" "Johan">>"As you reach the wall and the other side, you scramble to grab onto something, and your hands find two solid rocks. You cling on for dear life, and you realize that you've stopped. You did it! You're alive!"<</Dialogue>>
<<Dialogue "player" "You">>"Whew. So, I'm not dead."<</Dialogue>>
<<Dialogue "Johan" "Johan">>"Nope. You lucked out and saved yourself. Your story isn't over quite yet! With a little effort, you should be able to climb up the side of the wall. Shall we get a move on to get to the dungeon itself?"<</Dialogue>><</if>>
[[Journey onward!->Goblin Encounter]]<<if $dndCharacter.class is "rogue" || $dndCharacter.class is "cleric">>You see Johan break into an even bigger smile as you say that.<<set $DateSuccess += 1>>
<<Dialogue "Johan" "Johan">>"That's what I like to hear! What are you thinking?"<</Dialogue>>
<<Dialogue "player" "You">>"Well, I probably can't just cross it with a jump... There has to be some way to make it easier, right? Am I carrying anything with me?"<</Dialogue>>
<<Dialogue "Johan" "Johan">>"Sure! Let's say you're carrying... standard adventurer's gear. You've got food and water, a <<if $measurementSystem == 'metric'>>three-meter<<else>> ten-foot <</if>> pole, <<if $dndCharacter.class is "rogue">>a few spare daggers<<elseif $dndCharacter.class is "cleric">>a holy symbol<</if>>, a <<if $measurementSystem == 'metric'>>15 meter<<else>>50 foot<</if>> coil of rope-"<</Dialogue>>
<<if $dndCharacter is "rogue">><<Dialogue "player" "You">>
"Rope! That will do! Now is there a tree or something like that by the canyon?"<</Dialogue>>
<<Dialogue "Johan" "Johan">>"There is now!"<</Dialogue>>
He takes his marker to the grid between you, drawing a puffy cloud shape on one of the hexagons.
<<Dialogue "player" "You">>"Is that supposed to be a tree?"<</Dialogue>>
<<Dialogue "Johan" "Johan">>"The top of a tree, yes. I never claimed to be an artist. Now I think I'm starting to figure out your plan."<</Dialogue>>
<<Dialogue "player" "You">>"Yeah! I'm gonna tie my rope to the tree and Tarzan swing my way across this thing."<</Dialogue>>
<<Dialogue "Johan" "Johan">>"Alright! Give me a d20 roll and we'll see how solid your plan is."<</Dialogue>>
You fumble through the pile of dice in front of you for a moment, taking a moment to examine each of them, before Johan helpfully points out the roundest of them. You give it a gentle toss across the table and it comes up on a 13.
<<Dialogue "player" "You">>"Is that good?"<</Dialogue>>
<<Dialogue "Johan" "Johan">>"Well, it's out of 20. So, pretty good. I'm gonna say you get your knot tied nice and tight around the branch. You want to give it a shot, describing the scene?"<</Dialogue>>
<<Dialogue "player" "You">>"Oh. Okay! Sure, I'll do my best. So... I'm gonna say I get the rope in place... I back up until I have it taut... Then I'm gonna take off towards the gap. Once I get up to speed, I just... jump and hang onto the rope for dear life? Like, I'm picturing myself screaming as I sail across the canyon."<</Dialogue>>
The two of you both break into laughter as you picture the scene you're laying out.
<<Dialogue "player" "You">>"I know, not very dashing or heroic, right?"<</Dialogue>>
<<Dialogue "Johan" "Johan">>"No, but it is very human. And I like that a lot more. Fortunately, your plan is good enough, and you sail across the chasm... maybe not gracefully, but successfully."<</Dialogue>>
<<Dialogue "player" "You">>"Woohoo!"<</Dialogue>>
<<Dialogue "Johan" "Johan">>"With your first mission accomplished - with aplomb, I might add - are you ready to head onward to the dungeon itself?<</Dialogue>>
<<elseif $dndCharacter.class is "cleric">>
<<Dialogue "player" "You">>"A holy symbol! Right! Can I just, uh... Pray my way across, maybe?"<</Dialogue>>
Johan thinks quietly for a moment. It seems like you've come up with a solution that he didn't exactly prepare for.
<<Dialogue "Johan" "Johan">>"Hmm. What exactly are you hoping for here? Because honestly, your magic is mostly relegated to simple actions, like sparking a fire."<</Dialogue>>
<<Dialogue "player" "You">>"Well... Not that I was hoping that a bridge would pop into existence in front of me, but... maybe I could ask for guidance or something? Like, have my deity help me figure out what to do? Because I'm a bit stumped."<</Dialogue>>
<<Dialogue "Johan" "Johan">>"Well... You do have a spell that functions similarly to that. We can totally go with that. Or something similar anyway. So... Let's say you get to ask one question, and you can get a vague answer from up above."<</Dialogue>>
<<Dialogue "player" "You">>"Oh, man, one question... Uh, let's see... I feel like I'm asking a genie for a wish, I need to be careful how I phrase this...
Okay. Is there any way across here that I'm not thinking of? And I hold up my holy symbol over my head, like, presenting it to the sky."<</Dialogue>>
<<Dialogue "Johan" "Johan">>"Very good! As you hold up your symbol, you see the sunlight gleaming off of it, bouncing off towards the ground. It's as if one of those picturesque sunbeams you see coming down from between the clouds, aiming right at a spot on the lip of the canyon."<</Dialogue>>
<<Dialogue "player" "You">>"A sign! I'm gonna go check it out!"<</Dialogue>>
<<Dialogue "Johan" "Johan">>"You step over to the edge, where you saw the light shining. You carefully peer over, and you don't see anything immediately. But as you look closely down at the wall, you can see what look like handholds! Manmade handholds, deliberately carved into the wall. They're small and subtle, so subtle that it's no surprise you didn't notice them originally. And to your amazement, another set on the opposite side. It seems someone has been through here previously!"<</Dialogue>>
<<Dialogue "player" "You">>"Praised be! I'll take it!"<</Dialogue>>
<<Dialogue "Johan" "Johan">>"The climb may take you some time, but it should be completely safe. And with this, hopefully there's nothing keeping you from the dungeon you came out here to delve into!"<</Dialogue>><</if>>
<<else>>Johan pauses and gives a thoughtful nod.
<<Dialogue "Johan" "Johan">>"I had thought this was fairly straightforward, but I'm all for creative solutions. What are you thinking?"<</Dialogue>>
<<Dialogue "player" "You">>"Well, what do I have with me? Maybe I have something on my that could be helpful."<</Dialogue>>
<<Dialogue "Johan" "Johan">>"Let's see, you've probably got all of the standard adventuring gear. Food and water, a <<if $measurementSystem == 'metric'>>three-meter<<else>> ten-foot <</if>> pole, a <<if $measurementSystem == 'metric'>>15 meter<<else>>50 foot<</if>> coil of rope -"<</Dialogue>>
<<Dialogue "player" "You">>"Ooh, rope is good! Maybe I can fashion something together and, like, Tarzan-swing across the canyon. Is there a tree or something similar nearby?"<</Dialogue>>
<<Dialogue "Johan" "Johan">>"Now there's a thought! Fortunately, there's a tree right near the canyon!"<</Dialogue>>
<<Dialogue "player" "You">>"Nice. So my character just kinda walks up and ties the rope around the thick part of the tree. Then I'm gonna get a running start and just... go for it?"<</Dialogue>>
<<Dialogue "Johan" "Johan">>""All right! You start running, hold on tight to the rope. You jump, swing, and... <<if $dndCharacter.class is "paladin">>you hear a crack behind you! Your heavy armor was too much for the tree to bear!<<elseif $dndCharacter.class is "Barbarian">>you hear a crack behind you! Your weight was too much for the tree to bear!<<else>>you feel your hands slipping! Your strength is failing you, and you can't maintain your grip on the rope! Before you know it, the rope is completely gone!<</if>> You're sailing through the air, totally helpless! This could be the end! But then, beyond all odds, the other edge is getting closer! You desperately reach, and you feel your hands dig into the dirt on the other side! You slow to a stop, and while you're hanging precariously... you're not dead."<</Dialogue>>
You realize now that you've been holding your breath through his description of the scene. You relax and exhale.
<<Dialogue "player" "You">>"Maybe not the smartest decision I've ever made."<</Dialogue>>
<<Dialogue "Johan" "Johan">>"Not for me to say. But hey, you're alive! It may take a minute, but you should be able to safely pull yourself up the wall. And then, hopefully, there's nothing keeping you from the dungeon!"<</Dialogue>>
<</if>>
[[Venture onward!->Goblin Encounter]]<<Dialogue "Johan" "Johan">>"Not long after, you can see it in the distance. The cave you've been traveling for weeks to reach! Finally, it's laying right in front of you! Now what?"<</Dialogue>>
<<Dialogue "player" "You">>"Well, I should hope it's obvious, right? Let's get in there!"<</Dialogue>>
Johan leans forward a bit. His expression changes into something more serious. His voice lowers, and he sounds almost grim as he sets the scene.
<<Dialogue "Johan" "Johan">>"You approach the yawning cave. Everything beyond the entrance is pitch black... You slowly venture inward, your eyes gradually adjusting to the darkness within. It's deathly quiet in here... not even the sound of water dripping or wind whipping by you to keep you company..."<</Dialogue>>
Johan's voice grows quieter and quieter as he talks until he's just barely whispering. Then, without warning, he springs up from his seat and lets out a shrill shriek!
<<Dialogue "Johan" "Johan">>"REEEAAAAAR!"<</Dialogue>>
Without explanation, Johan reaches behind his little screen and grabs several more figures, little green goblins holding weapons in the air. He slaps them down onto the mat in front of you, all around your character.
<<Dialogue "Johan" "Johan">>"Before you can react, a horde of goblins jumps out from the rocks around you! They've got you surrounded on all sides! The one in front of you brandishes his sword and stares you down!
'Stop there, tall folk! Youse hands over all you golds and goodies, and maybe we lets you leave here alive!'"<</Dialogue>>
Johan is really getting into it, mimicking the goblin pattern of speech with a goofy, high-pitched voice. He hams it up unashamedly, and the sudden gear change nearly makes you break into laughter right there. But he's looking at you expectantly.
<<PersonalityCheck $shyConfident >= 1 "Ham it up!">><<goto "Hammy Start">><<Failed>><<goto "Hammy Start">><</PersonalityCheck>>
[[I can't match that energy. But I've got to say something, right?->Neutral Start]]
[[All right. Time to beat up some goblins, I guess.->Bored Start]]<<set $DateSuccess += 1>>
<<if $shyConfident >= 1>><<Dialogue "player" "You">>
"Stand down, vile beasts! I, <<print $playerFirstName>>, champion of all things good, will strike you down where you stand!"<</Dialogue>>
Johan breaks into a big grin. He looks like he's barely containing his excitement.
<<Dialogue "Johan" "Johan">>
"You regret this today, dullteeth! Now we kills you and take you golds! Goblins, attack!"<</Dialogue>>
<<Dialogue "player" "You">>
"I grab my <<if $dndCharacter.class is "wizard" || $dndCharacter.class is "warlock">>spellbook<<else>>weapon<</if>> and get into my battle stance! Let's do this!"<</Dialogue>>
Your declaration is accompanied by a visible demonstration, as you dramatically hold an imaginary <<if $dndCharacter.class is "wizard" or $dndCharacter.class is "warlock">>book<<else>>weapon<</if>> behind you, and thrust your other arm forward in a defensive-looking pose you vaguely remember from a video game cover. Johan claps his hands appreciatively.
<<Dialogue "Johan" "Johan">>
"I love that spirit! You're a natural at this! But we still need to see how you fare tactically!"<</Dialogue>>
<<else>>You summon up all the courage you have in you, take a deep breath, and shout the first words that come to mind.
<<Dialogue "player" "You">>
"No!"<</Dialogue>>
...
A lengthy silence follows as you fail to find more than one word.
<<Dialogue "player" "You">>
"Uh... You... You won't be getting any... gold or trinkets, or... anything of the sort today! You... little, evil... monster things!"<</Dialogue>>
You feel yourself blushing fiercely as you finish your ad-lib. But in spite of your less-than-professional performance, Johan is absolutely eating it up. He looks like he can barely contain himself with excitement.
<<Dialogue "Johan" "Johan">>
"Hey, that was pretty great for your first real attempt. You've got the spirit of it!"<</Dialogue>>
<<Dialogue "player" "You">>
"You don't need to humor me."<</Dialogue>>
<<Dialogue "Johan" "Johan">>
"No, really! It takes guts to really get into character, especially when we're doing it on the fly like this. But the actual acting isn't everyone's favorite part. Maybe you'll like combat better."<</Dialogue>><</if>>
Johan adjusts the several miniature goblins surrounding your character, then tosses the 20-sided die your way again.
<<Dialogue "Johan" "Johan">>
"Numbers one to twenty! Whoever rolls the highest gets to move first."<</Dialogue>>
He starts rolling initiative for each of the goblins, and you gives your die another toss across the table.
<<Dialogue "Johan" "Johan">>
"All right! That plus your Dex gives you a 19, so it looks like you get to move first! What's your approach here? It's turn-based, like a strategy video game. You can move your character on the battlefield here, and you can do one thing, like attacking with your weapon or casting a spell on your turn. What do you want to do?"<</Dialogue>>
<span id="choice"><<link "Maybe I can slip away from them and make them come at me one by one?">><<replace "#choice">><<Dialogue "Johan" "Johan">>
"Aha! The all-time classic strategy of kiting! I like your thinking, but will it be enough to survive?"<</Dialogue>>
You move your character back the way you came, taking a potshot at one of the goblins as you go.
<<Dialogue "Johan" "Johan">>
"That's a hit! Okay, so for damage, you look down here on your sheet, where it lists your weapons. Then you can see here where it says 'Attack' and 'Damage,' it's important not to get those confused. See, the difference is that the Attack number here is a flat number, and that's what you're adding to your die rolls to see if you hit. The damage is represented as a die that you roll..."<</Dialogue>>
Before you know it, he's off on another tangent. You feel confident that you're getting it, but that feeling slowly fades the more he delves into the specifics. Eventually he looks back at you and sees the look of confusion on your face.
<<Dialogue "Johan" "Johan">>
"Goodness, I'm sorry. Getting to share my hobby with someone is just too exciting! I'll help with the math, die and such for the time being. You focus on the strategizing! For now, you land your first attack and deal some significant damage to the goblin!"<</Dialogue>>
<<Dialogue "player" "You">>
"Okay. I'm gonna finish moving away and put as much distance between myself and them as possible."<</Dialogue>>
<<Dialogue "Johan" "Johan">>
"It's a good start, but the goblins are already in a frenzy! They're going to charge at you with all they've got!"<</Dialogue>>
Johan's little goblins rush at your character one after another, Johan narrating the frantic chase all the way through. He continues to roll dice for the goblins whenever they attack. Your die seems to love you today, as you land hit after hit, but the goblins outnumber you, and get their hits in as they chase you.
<<if $dndCharacter.class is "rogue" || $dndCharacter.class is "warlock">>You move back and forth along the cave and, one by one, the goblins fall. You take a few hits in the process, but your strategy seems to have worked even better than you hoped.<<set $DateSuccess += 1>>
<<Dialogue "Johan" "Johan">>
"Well done! Came out of the battle with a few scrapes, but that's hardly unexpected. I hope you haven't worn yourself out too much, because there's still more cave to trek through!"<</Dialogue>>
<<else>>You move back and forth along the cave, scoring hits against the goblins whenever you can. Unfortunately, you never seem to be able to break away from the crowd. You bring them all down before too long, but your HP is looking very low by the time it's done.
<<Dialogue "Johan" "Johan">>
"Not too bad for a first crack at combat. Maybe not the strategy I would have chosen for your class, but I can't deny that it got you through the fight! Now, are you ready to see more of what the game has to offer?"<</Dialogue>><</if>>
[[Onward!->Puzzle Door]]<</replace>><</link>>
<<link "Is there maybe some way I can take care of them without fighting?">><<replace "#choice">><<Dialogue "Johan" "Johan">>
"Ah-ha, already thinking outside the box! I like it. What are your thoughts here?<</Dialogue>>
<<if $dndCharacter.class is "wizard" or $dndCharacter.class is "cleric">><<Dialogue "player" "You">>
"Well, magic, I'd assume? How do I know what kind of spells I can cast and everything?<</Dialogue>>
<<Dialogue "Johan" "Johan">>
"Ah, right! One moment!"<</Dialogue>>
Johan ducks quickly beneath the table and comes back with a tiny box, about the size of a deck of playing cards. He opens it and, sure enough, there are cards on the inside. But instead of a normal deck of cards, they have text all over their front side. He starts selecting a few and passing them over to you. <<set $DateSuccess += 1>>
<<Dialogue "Johan" "Johan">>
"So, these are the spells that you have access to currently. Each card has the name at the top and the spell’s effect beneath it. Now, note at the bottom that the spell's level is also listed, and this is one of the most important steps of casting a spell. You're limited to the number of spells of each level listed on your character sheet. Now, as far as how the spells function, that's dependent on whether it calls for a saving throw or an attack roll..."<</Dialogue>>
Before you know it, Johan is off on another tangent as he continues to deal you more cards. Your confusion only grows along with the pile in front of you. Fortunately, he snaps out of it and sees you looking utterly lost.
<<Dialogue "Johan" "Johan">>
"Sorry. It's just easy to get excited when sharing one of my favorite hobbies with someone. How about you just tell me what you want to do and I'll help you make it happen?"<</Dialogue>>
<<Dialogue "player" "You">>
"Okay. The plan is to incapacitate them without fighting them directly. Maybe I could freeze them into icicles, or put them to sleep-"<</Dialogue>>
<<Dialogue "Johan" "Johan">>
"Sleep! That's the exact name of one of your spells, even! Want to lead off with that one?"<</Dialogue>>
The two of you go back and forth narrating the fight scene, Johan helping you understand how magic works. You work your head overtime to come up with new and creative ways to take out the little goblins. Freezing them, making them float in the air so they can't reach you, making them think you're their friend so they don't want to fight...
By the end of it, you've taken a few hits from the goblins. Your HP isn't low enough to make you worry, but it's enough for you to notice it. Johan looks at you with a big grin, seeming genuinely pleased with you.
<<Dialogue "Johan" "Johan">>
"Well played! Way to play to your class's strengths. But you haven't recovered the artifact yet. Ready to move forward?"<</Dialogue>>
<<else>><<Dialogue "Johan" "Johan">>
"An interesting thought! What were you thinking, specifically?"<</Dialogue>>
<<Dialogue "player" "You">>
"Hmm. We're in a cave, right? Do you think I could cause a cave-in on them or something?"<</Dialogue>>
<<Dialogue "Johan" "Johan">>
"That's certainly an inventive solution. You're definitely welcome to try. You do have some <<if $dndCharacter.class is "barbarian" || $dndCharacter.class is "Paladin">>javelins<<else>>daggers<</if>> in your inventory. I'm picturing you throwing one up at a weak-looking section of rock. But you would be stuck on the other side of the cave-in from your destination unless you do something."<</Dialogue>>
<<Dialogue "player" "You">>
"Oof... I don't know how else I'm going to get through here, so I'm going to do the action movie hero thing. Charge right on through the middle and throw my weapon as I do!"<</Dialogue>>
<<Dialogue "Johan" "Johan">>
"All right, roll for it!"<</Dialogue>>
You bite your lip as you toss your die across the table once more. It slows to a stop. 20!
<<Dialogue "Johan" "Johan">>
"Wow. The dice truly love you today. Normally I probably wouldn't let someone get away with this, but if the dice are on your side, who am I to argue?
That said, the goblins are going to take their swings at you as you run through. Get ready to take some damage!"<</Dialogue>>
Johan rolls his dice a few times, announcing each successful hit and telling you how much damage you take in the process. You get cut and bonked quite a few times on the way through. But regardless, your successful roll gets you through the challenge.
<<Dialogue "Johan" "Johan">>
"You hurl your weapon into the air with all your might, and with a resounding //CLANG// it bounces off the rocks on the ceiling. You can hear cracking and rumbling reverberating all around you, everyone frozen in place... Then all at once the ceiling comes down! With a mighty ''CRASH'', tons of rock slam down on top of the goblins, crushing them completely. No sign of movement from beneath the pile.
I have to say, that was quite a novel idea. I would have handled it a little differently, but if nothing else, this makes for a wonderful story! Now, are you ready to head on to see what comes next?<</Dialogue>><</if>>
[[Onward!->Puzzle Door]]<</replace>><</link>>
<<link "All right, come at me you little punks!">><<replace "#choice">><<Dialogue "Johan" "Johan">>
"Woo, combat! "All right, grab your dice and square up!"<</Dialogue>>
You grab your character figurine and move it straight forward to meet the goblin. You readily grab your 20-sided die and give it a roll, trusting Johan to guide you through how this actually works.
<<Dialogue "Johan" "Johan">>
"That's a hit! Okay, so for damage, you look down here on your sheet, where it lists off your weapons. Then you can see here where it says 'Attack' and 'Damage,' it's important not to get those confused. See, the difference is that the Attack number here is a flat number, and that's what you're adding to your die rolls to see if you hit. The damage is represented as a die that you roll...<</Dialogue>>
Before you know it, he's off on another tangent. You feel confident that you're getting it, but that feeling slowly fades the more he delves into the specifics. Eventually he looks back at you and sees the look of confusion on your face.
<<Dialogue "Johan" "Johan">>
"Sorry about that. It's just so exciting to get to share this hobby with a newcomer! For now, just know that you hit the goblin pretty hard. You focus on strategizing, I'll handle the math and what you need to roll.<</Dialogue>>
<<Dialogue "player" "You">>
"All right. No fear, let's bash some goblins!"<</Dialogue>>
<<if $dndCharacter.class is "paladin" || $dndCharacter.class is "barbarian">>You wade right into the battle, <<if $dndCharacter.class is "paladin">>sword<<else>>axe<</if>> raised high. Following up on your first attack, you start cutting a swath through the horde of ankle biters as they charge you. Each time you toss the die and land another hit you can feel the adrenaline building up.
<<Dialogue "player" "You">>
"Woo! Another one bites the dust! Bring it on!"<</Dialogue>>
Johan lets out a loud laugh at your reaction, his grin spreading across his face.
<<Dialogue "Johan" "Johan">>
"Man, as much fun as I have playing this, I can't remember the last time I saw someone get so fired up over a fight! Come on, clean out the last of these gobs!"<</Dialogue>>
By the end of the fight, you take a few blows and lose some HP, but the goblins are certainly no match for you. They all lie incapacitated on the floor as your character brushes herself off.
<<Dialogue "Johan" "Johan">>
"Handled like a true warrior! But that's not going to be the last test today. Ready to see what happens next?"<</Dialogue>>
<<else>>You gleefully go to town, taking swing after swing at the green cannon fodder. You start to feel genuinely excited about this dramatic fight. Despite your passionate narration, you quickly realize you're being overwhelmed.
<<Dialogue "player" "You">>
"Shoot! I keep getting hit! How close am I to winning?"<</Dialogue>>
<<Dialogue "Johan" "Johan">>
"There's only a couple left, and they're looking worn out! Don't worry, I think you've got this!"<</Dialogue>>
<<Dialogue "player" "You">>
"Grah! Okay, come on, dice! Get me through this, please!"<</Dialogue>>
With some difficulty, you manage to bring the last of the goblins down with your hit points mostly intact. You heave a sigh of relief as Johan describes the last one falling.
<<Dialogue "Johan" "Johan">>
"Well, it wasn't exactly clean, but one-on-many combat rarely is! Good on you for tackling it. Feeling ready to move on to something else?"<</Dialogue>>
<</if>>
[[Onward!->Puzzle Door]]<</replace>><</link>></span>You don't have a lot of experience to draw from. You don't even know how people are supposed to talk in these situations, except for what you've seen in cartoons and movies. But maybe the best thing to do is just fake it ‘til you make it.
<<Dialogue "player" "You">>
"Begone, vile creatures! I WILL complete-eth my quest, no matter what obstacle standeth in my way. So move…eth?"<</Dialogue>>
There's a moment of silence, broken by a quiet snicker from Johan.
<<Dialogue "player" "You">>
"Hey! I really did my best!"<</Dialogue>>
<<Dialogue "Johan" "Johan">>
"No, no! I'm laughing because I love it! I mean, roleplaying can be hard even if you have experience, and this is your first time trying to improvise! You get full points for effort! But if you like, we can just go to combat rather than getting bogged down.<</Dialogue>>
<<Dialogue "player" "You">>
"Yes, please, and thank you."<</Dialogue>>
Johan adjusts the several miniature goblins surrounding your character, then tosses the twenty-sided die your way again.
<<Dialogue "Johan" "Johan">>
"Numbers one to twenty! Whoever rolls the highest gets to move first."<</Dialogue>>
He starts rolling for each of the goblins, and you give your die another toss across the table.
<<Dialogue "Johan" "Johan">>
"All right! That plus your Dex gives you a 19, so it looks like you get to move first! What's your approach here? It's turn-based, like a strategy video game. You can move your character on the battlefield here, and you can do one thing, like attacking with your weapon or casting a spell on your turn. What do you want to do?"<</Dialogue>>
<span id="choice"><<link "Maybe I can slip away from them and make them come at me one by one?">><<replace "#choice">><<Dialogue "Johan" "Johan">>
"Ah-ha! The all-time classic strategy of kiting! I like your thinking, but will it be enough to survive?"<</Dialogue>>
You move your character back the way you came, taking a potshot at one of the goblins as you go.
<<Dialogue "Johan" "Johan">>
"That's a hit! Okay, so for damage, you look down here on your sheet, where it lists off your weapons. Then you can see here where it says 'Attack' and 'Damage,' it's important not to get those confused. See, the difference is that the Attack number here is a flat number, and that's what you're adding to your die rolls to see if you hit. The damage is represented as a die that you roll..."<</Dialogue>>
Before you know it, he's off on another tangent. You feel confident that you're getting it, but that feeling slowly fades the more he delves into the specifics. Eventually he looks back at you and sees the look of confusion on your face.
<<Dialogue "Johan" "Johan">>
"Goodness, I'm sorry. Getting to share my hobby with someone is just too exciting! I'll help with the math, die and such for the time being. You focus on the strategizing! For now, you land your first attack and deal some significant damage to the goblin!"<</Dialogue>>
<<Dialogue "player" "You">>
"Okay. I'm gonna finish moving away and put as much distance between myself and them as possible."<</Dialogue>>
<<Dialogue "Johan" "Johan">>
"It's a good start, but the goblins are already in a frenzy! They're going to charge at you with all they've got!"<</Dialogue>>
Johan's little goblins rush at your character, one after another, Johan narrating the frantic chase all the way through. He continues to roll dice for the goblins whenever they attack. The dice seem to love you today, as you land hit after hit, but the goblins outnumber you, and they keep hitting back as they chase you.
<<if $dndCharacter.class is "rogue" || $dndCharacter.class is "warlock">>You move back and forth along the cave and, one by one, the goblins fall. You take a few hits in the process, but your strategy seems to have worked even better than you hoped.<<set $DateSuccess += 1>>
<<Dialogue "Johan" "Johan">>
"Well done! Came out of the battle with a few scrapes, but that's hardly unexpected. I hope you haven't worn yourself out too much, because there's still more cave to trek through!"<</Dialogue>>
<<else>>You move back and forth along the cave, scoring hits against the goblins whenever you can. Unfortunately, you never seem to be able to break away from the crowd of goblins. You bring them all down before too long, but your HP is looking very low by the time it's done.
<<Dialogue "Johan" "Johan">>
"Not too bad for a first crack at combat. Maybe not the strategy I would have chosen for your class, but I can't deny that it got you through the fight! Now, are you ready to see more of what the game has to offer?"<</Dialogue>><</if>>
[[Onward!->Puzzle Door]]<</replace>><</link>>
<<link "Is there maybe some way I can take care of them without fighting?">><<replace "#choice">><<Dialogue "Johan" "Johan">>
"Ah-ha, already thinking outside the box! I like it. What are your thoughts?<</Dialogue>>
<<if $dndCharacter.class is "wizard" or $dndCharacter.class is "cleric">><<Dialogue "player" "You">>
"Well, magic, I'd assume? How do I know what kind of spells I can cast?<</Dialogue>>
<<Dialogue "Johan" "Johan">>
"Ah, right! One moment!"<</Dialogue>>
Johan ducks quickly beneath the table and comes back with a tiny box, about the size of a deck of playing cards. He opens it and, sure enough, there are cards on the inside. But instead of a normal deck of cards, they have text all over their front side. He starts selecting a few and passing them over to you. <<set $DateSuccess += 1>>
<<Dialogue "Johan" "Johan">>
"So, these are the spells that you have access to currently. Each card has the name at the top and the spell's effect beneath it. Now, note at the bottom that the spell's level is also listed, and this is one of the most important parts of casting a spell. You're limited to the number of spells of each level listed on your character sheet. Now as far as how the spell functions, that's dependent on whether it calls for a saving throw or an attack roll..."<</Dialogue>>
Before you know it, Johan is off on another tangent as he continues to deal you more cards. Your confusion only grows along with the pile in front of you. Fortunately, he snaps out of it and sees you looking utterly lost.
<<Dialogue "Johan" "Johan">>
"Sorry. It's just easy to get excited when sharing one of my favorite hobbies with someone. How about you just tell me what you want to do, and I'll help you make it happen?"<</Dialogue>>
<<Dialogue "player" "You">>
"Okay. The plan is to incapacitate them without fighting them normally. Maybe I could freeze them into icicles, or put them to sleep-"<</Dialogue>>
<<Dialogue "Johan" "Johan">>
"Sleep! That's the exact name of one of your spells, even! Want to lead off with that one?"<</Dialogue>>
The two of you go back and forth narrating the fight scene, Johan helping you understand how your magic works all the while. You work your head overtime to come up with new and creative ways to take out the little goblins. Freezing them, making them float through the air so they can't reach you, making them think you're their friend so they don't want to fight...
By the end of it, you've taken a few hits from the goblins. Your HP isn't low enough to make you worry, but it's enough for you to notice it. Johan looks at you with a big grin, seeming genuinely pleased with you.
<<Dialogue "Johan" "Johan">>
"Well played! Way to play to your class's strengths. But you haven't recovered the artifact yet. Read to move forward?"<</Dialogue>>
<<else>><<Dialogue "Johan" "Johan">>
"An interesting thought! What were you thinking, specifically?"<</Dialogue>>
<<Dialogue "player" "You">>
"Hmm. We're in a cave, right? Do you think I could cause a cave-in on them or something?"<</Dialogue>>
<<Dialogue "Johan" "Johan">>
"That's certainly an inventive solution. You're definitely welcome to try. You do have some <<if $dndCharacter.class is "barbarian" || $dndCharacter.class is "Paladin">>javelins<<else>>daggers<</if>> in your inventory. I'm picturing you throwing one up at a weak-looking section of rock. But you would be stuck on the other side of the cave-in from your destination unless you do something."<</Dialogue>>
<<Dialogue "player" "You">>
"Oof... I don't know how else I'm going to get through here, so I'm going to do the action movie hero thing. Charge right on through the middle and throw my weapon as I do!"<</Dialogue>>
<<Dialogue "Johan" "Johan">>
"All right, roll for it!"<</Dialogue>>
You bite your lip as you toss your die across the table once more. It slows to a stop. 20!
<<Dialogue "Johan" "Johan">>
"Wow. The dice truly love you today. Normally I probably wouldn't let someone get away with this, but if the dice are on your side, who am I to argue?
That said, the goblins are going to take their swings at you as you run through. Get ready to take some damage!"<</Dialogue>>
Johan rolls his dice a few times, announcing each successful hit and telling you how much damage you take in the process. You get cut and bonked quite a few times on the way through. But regardless, your successful roll gets you through the challenge.
<<Dialogue "Johan" "Johan">>
"You hurl your weapon into the air with all your might, and with a resounding //CLANK// it bounces off the rocks on the ceiling. You can hear cracking and rumbling reverberating all around you, everyone frozen in place... Then all at once the ceiling comes down! With a might ''CRASH'', tons of rock slam down on top of the goblins, crushing them completely. No sign of movement from beneath the pile.
I have to say, that was quite a novel idea. I would have handled it a little differently, but if nothing else, this makes for a wonderful story! Now, are you ready to head on to see what comes next?<</Dialogue>><</if>>
[[Onward!->Puzzle Door]]<</replace>><</link>>
<<link "All right, come at me you little punks!">><<replace "#choice">><<Dialogue "Johan" "Johan">>
"Woo, combat! "All right, grab your dice and square up!"<</Dialogue>>
You grab your character figurine and move it straight forward to meet the goblin. You readily grab your 20-sided die and give it a roll, trusting Johan to guide you through how this actually works.
<<Dialogue "Johan" "Johan">>
"That's a hit! Okay, so for damage, you look down here on your sheet, where it lists off your weapons. Then you can see here where it says 'Attack' and 'Damage,' it's important not to get those confused. See, the difference is that the Attack number here is a flat number, and that's what you're adding to your die rolls to see if you hit. The damage is represented as a die that you roll...<</Dialogue>>
Before you know it, he's off on another tangent. You feel confident that you're getting it, but that feeling slowly fades the more he delves into the specifics. Eventually, he looks back at you and sees the look of confusion on your face.
<<Dialogue "Johan" "Johan">>
"Sorry about that. It's just so exciting to get to share this hobby with a newcomer! For now, just know that you hit the goblin pretty hard. You focus on strategizing, I'll handle the math and what you need to roll.<</Dialogue>>
<<Dialogue "player" "You">>
"All right. No fear, let's bash some goblins!"<</Dialogue>>
<<if $dndCharacter.class is "paladin" || $dndCharacter.class is "barbarian">>You wade right into the battle, <<if $dndCharacter.class is "paladin">>sword<<else>>axe<</if>> raised high. Following up on your first attack, you start cutting a swath through the horde of ankle biters as they charge you. Each time you toss the die and land another hit you can feel the adrenaline building up.
<<Dialogue "player" "You">>
"Woo! Another one bites the dust! Bring it on!"<</Dialogue>>
Johan lets out a loud laugh at your reaction, his grin spreading across his face.
<<Dialogue "Johan" "Johan">>
"Man, as much fun as I have playing this, I can't remember the last time I saw someone get so fired up over a fight! Come on, clean out the last of these gobs!"<</Dialogue>>
By the end of the fight, you take a few blows and lose some HP, but the goblins are certainly no match for you. They all lie incapacitated on the floor as your character brushes herself off.
<<Dialogue "Johan" "Johan">>
"Handled like a true warrior! But that's not going to be the last thing testing you. Ready to see what happens next?"<</Dialogue>>
<<else>> You gleefully go to town, taking swing after swing at the green cannon fodder. You start to feel genuinely excited about this dramatic fight. Despite your passionate narration, you quickly realize you're being overwhelmed.
<<Dialogue "player" "You">>
"Shoot! I keep getting hit! How close am I to winning?"<</Dialogue>>
<<Dialogue "Johan" "Johan">>
"There's only a couple left, and they're looking worn out! Don't worry, I think you've got this!"<</Dialogue>>
<<Dialogue "player" "You">>
"Grah! Okay, come on, dice! Get me through this, please!"<</Dialogue>>
With some difficulty, you manage to bring the last of the goblins down with your hit points mostly intact. You heave a sigh of relief as Johan describes the last one falling.
<<Dialogue "Johan" "Johan">>
"Well, it wasn't exactly clean, but one-on-many combat rarely is! Good on you for tackling it. Feeling ready to move on to something else?"<</Dialogue>>
<</if>>
[[Onward!->Puzzle Door]]<</replace>><</link>></span><<set $DateSuccess += 1>>
You can't help but sigh slightly. It's been hard enough to keep up with everything so far, and now you've been asked to try acting on top of that. As much as you'd love to make him happy, you just don't know if you have it in you.
<<Dialogue "player" "You">>
"Look, I'm going to be honest. I don't even know where I'm going with this. Is there any way we can just skip ahead to the fight?"<</Dialogue>>
It takes a moment for Johan to respond. He looks a little surprised before his face shifts into somewhat of a sad smile.
<<Dialogue "Johan" "Johan">>
"Oh. Yeah, that's actually fine. Believe it or not, not everyone is super into the role-playing aspect of RPGs. Let's move onto the fun part!"<</Dialogue>>
Johan adjusts the several miniature goblins surrounding your character, then tosses the 20-sided die your way again.
<<Dialogue "Johan" "Johan">>
"Numbers one to twenty! Whoever rolls the highest gets to move first."<</Dialogue>>
He starts rolling for each of the goblins, and you give your die another toss across the table.
<<Dialogue "Johan" "Johan">>
"All right! That plus your Dex gives you a 19, so it looks like you get to move first! What's your approach here? It's turn-based, like a strategy video game. You can move your character on the battlefield here, and you can do one thing, like attacking with your weapon or casting a spell on your turn. What do you want to do?"<</Dialogue>>
<span id="choice"><<link "Maybe I can slip away from them and make them come at me one by one?">><<replace "#choice">><<Dialogue "Johan" "Johan">>
"Aha! The all-time classic strategy of kiting! I like your thinking, but will it be enough to survive?"<</Dialogue>>
You move your character back the way you came, taking a potshot at one of the goblins as you go.
<<Dialogue "Johan" "Johan">>
"That's a hit! Okay, so for damage, you look down here on your sheet, where it lists off your weapons. Then you can see here where it says 'Attack' and 'Damage,' it's important not to get those confused. See, the difference is that the Attack number here is a flat number, and that's what you're adding to your die rolls to see if you hit. The damage is represented as a die that you roll..."<</Dialogue>>
Before you know it, he's off on another tangent. You feel confident that you're getting it, but that feeling slowly fades the more he delves into the specifics. Eventually he looks back at you and sees the look of confusion on your face.
<<Dialogue "Johan" "Johan">>
"Goodness, I'm sorry. Getting to share my hobby with someone is just too exciting! I'll help with the math, die and such for the time being. You focus on the strategizing! For now, you land your first attack and deal some significant damage to the goblin!"<</Dialogue>>
<<Dialogue "player" "You">>
"Okay. I'm gonna finish moving away and put as much distance between myself and them as possible."<</Dialogue>>
<<Dialogue "Johan" "Johan">>
"It's a good start, but the goblins are already in a frenzy! They're going to charge at you with all they've got!"<</Dialogue>>
Johan's little goblins rush at your character one after another, Johan narrating the frantic chase with all the way through. He continues to roll dice for the goblins whenever they attack. Your dice seem to love you today, as you land hit after hit, but the goblins outnumber you, and keep hitting as they chase you.
<<if $dndCharacter.class is "rogue" || $dndCharacter.class is "warlock">>You move back and forth along the cave and, one by one, the goblins fall. You take a few hits in the process, but your strategy seems to have worked even better than you hoped.<<set $DateSuccess += 1>>
<<Dialogue "Johan" "Johan">>
"Well done! Came out of the battle with a few scrapes, but that's hardly unexpected. I hope you haven't worn yourself out too much, because there's still more cave to trek through!"<</Dialogue>>
<<else>>You double back and forth along the cave, scoring hits against the goblins whenever you can. Unfortunately, you never seem to be able to break away from the crowd of goblins. You bring them all down before too long, but your HP is looking very low by the time it's done.
<<Dialogue "Johan" "Johan">>
"Not too bad for a first crack at combat. Maybe not the strategy I would have chosen for your class, but I can't deny that it got you through the fight! Now, are you ready to see more of what the game has to offer?"<</Dialogue>><</if>>
[[Onward!->Puzzle Door]]<</replace>><</link>>
<<link "Is there maybe some way I can take care of them without fighting?">><<replace "#choice">><<Dialogue "Johan" "Johan">>
"Ah-ha, already thinking outside the box! I like it. What are your thoughts?<</Dialogue>>
<<if $dndCharacter.class is "wizard" or $dndCharacter.class is "cleric">><<Dialogue "player" "You">>
"Well, magic, I'd assume? How do I know what kind of spells I can cast?<</Dialogue>>
<<Dialogue "Johan" "Johan">>
"Ah, right! One moment!"<</Dialogue>>
Johan ducks quickly beneath the table and comes back with a tiny box, about the size of a deck of playing cards. He opens it and sure enough, there are cards on the inside. But instead of a normal deck of cards, they have text all over their front side. He starts selecting a few and passing them over to you. <<set $DateSuccess += 1>>
<<Dialogue "Johan" "Johan">>
"So, these are the spells that you have access to currently. Each card has the name at the top and the spell's effect beneath it. Now, note at the bottom that the spell's level is also listed, and this is one of the most important parts of casting a spell. You're limited to the number of spells of each level listed on your character sheet. Now, as far as how the spell functions, that's dependent on whether it calls for a saving throw or an attack roll..."<</Dialogue>>
Before you know it, Johan is off on another tangent as he continues to deal you more cards. Your confusion only grows along with the pile in front of you. Fortunately, he snaps out of it and sees you looking utterly lost.
<<Dialogue "Johan" "Johan">>
"Sorry. It's just easy to get excited when sharing one of my favorite hobbies with someone. How about you just tell me what you want to do and I'll help you make it happen?"<</Dialogue>>
<<Dialogue "player" "You">>
"Okay. The plan is to incapacitate them without fighting them directly. Maybe I could freeze them into icicles, or put them to sleep-"<</Dialogue>>
<<Dialogue "Johan" "Johan">>
"Sleep! That's the exact name of one of your spells, even! Want to lead off with that one?"<</Dialogue>>
The two of you go back and forth narrating the fight scene, Johan helping you understand how your magic works all the while. You work your head overtime to come up with new and creative ways to take out the little goblins. Freezing them, making them float into the air so they can't reach you, making them think you're their friend so they don't want to fight...
By the end of it, you've taken a few hits from the goblins. Your HP isn't low enough to make you worry, but it's enough for you to notice it. Johan looks at you with a big grin, seeming genuinely pleased with you.
<<Dialogue "Johan" "Johan">>
"Well played! Way to play to your class's strengths. But you haven't recovered the artifact yet. Read to move forward?"<</Dialogue>>
<<else>><<Dialogue "Johan" "Johan">>
"An interesting thought! What were you thinking, specifically?"<</Dialogue>>
<<Dialogue "player" "You">>
"Hmm. We're in a cave, right? Do you think I could cause a cave-in on them or something?"<</Dialogue>>
<<Dialogue "Johan" "Johan">>
"That's certainly an inventive solution. You're definitely welcome to try. You do have some <<if $dndCharacter.class is "barbarian" || $dndCharacter.class is "Paladin">>javelins<<else>>daggers<</if>> in your inventory. I'm picturing you throwing one up at a weak-looking section of rock. But you would be stuck on the other side of the cave-in from your destination unless you do something."<</Dialogue>>
<<Dialogue "player" "You">>
"Oof... I don't know how else I'm going to get through here, so I'm going to do the action movie hero thing. Charge right on through the middle and throw my weapon as I do!"<</Dialogue>>
<<Dialogue "Johan" "Johan">>
"All right, roll for it!"<</Dialogue>>
You bite your lip as you toss your die across the table once more. It slows to a stop. 20!
<<Dialogue "Johan" "Johan">>
"Wow. The dice truly love you today. Normally I probably wouldn't let someone get away with this, but if the dice are on your side, who am I to argue?
That said, the goblins are going to take their swings at you as you run through. Get ready to take some damage!"<</Dialogue>>
Johan rolls his dice a few times, announcing each successful hit and telling you how much damage you take in the process. You get cut and bonked quite a few times on the way through. But regardless, your successful roll gets you through the challenge.
<<Dialogue "Johan" "Johan">>
"You hurl your weapon into the air with all your might, and with a resounding //CLANK// it bounces off the rocks on the ceiling. You can hear cracking and rumbling reverberating all around you, everyone frozen in place... Then all at once the ceiling comes down! With a mighty ''CRASH'', tons of rock slam down on top of the goblins, crushing them completely. No sign of movement from beneath the pile.
I have to say, that was quite a novel idea. I would have handled it a little differently, but if nothing else, this makes for a wonderful story! Now, are you ready to head on to see what comes next?<</Dialogue>><</if>>
[[Onward!->Puzzle Door]]<</replace>><</link>>
<<link "All right, come at me you little punks!">><<replace "#choice">><<Dialogue "Johan" "Johan">>
"Woo, combat! "All right, grab your dice and square up!"<</Dialogue>>
You grab your character figurine and move it straight forward to meet the goblin. You readily grab your 20-sided die and give it a roll, trusting Johan to guide you through how this actually works.
<<Dialogue "Johan" "Johan">>
"That's a hit! Okay, so for damage, you look down here on your sheet, where it lists off your weapons. Then you can see here where it says 'Attack' and 'Damage,' it's important not to get those confused. See, the difference is that the Attack number here is a flat number, and that's what you're adding to your die rolls to see if you hit. The damage is represented as a die that you roll...<</Dialogue>>
Before you know it, he's off on another tangent. You feel confident that you're getting it, but that feeling slowly fades the more he delves into the specifics. Eventually he looks back at you and sees the look of confusion on your face.
<<Dialogue "Johan" "Johan">>
"Sorry about that. It's just so exciting to get to share this hobby with a newcomer! For now, just know that you hit the goblin pretty hard. You focus on strategizing, I'll handle the math and what you need to roll.<</Dialogue>>
<<Dialogue "player" "You">>
"All right. No fear, let's bash some goblins!"<</Dialogue>>
<<if $dndCharacter.class is "paladin" || $dndCharacter.class is "barbarian">>You wade right into the battle, <<if $dndCharacter.class is "paladin">>sword<<else>>axe<</if>> raised high. Following up on your first attack, you start cutting a swath through the horde of ankle biters as they charge you. Each time you toss the die and land another hit you can feel the adrenaline building up.
<<Dialogue "player" "You">>
"Woo! Another one bites the dust! Bring it on!"<</Dialogue>>
Johan lets out a loud laugh at your reaction, his grin spreading across his face.
<<Dialogue "Johan" "Johan">>
"Man, as much fun as I have playing this, I can't remember the last time I saw someone get so fired up over a fight! Come on, clean out the last of these gobs!"<</Dialogue>>
By the end of the fight, you take a few blows and lose some HP, but the goblins are certainly no match for you. They all lie incapacitated on the floor as your character brushes herself off.
<<Dialogue "Johan" "Johan">>
"Handled like a true warrior! But that's not going to be the last thing testing you. Ready to see what happens next?"<</Dialogue>>
<<else>> You gleefully go to town, taking swing after swing at the green cannon fodder. You start to feel genuinely excited about this dramatic fight. Despite your passionate narration, you quickly realize you're being overwhelmed.
<<Dialogue "player" "You">>
"Shoot! I keep getting hit! How close am I to winning?"<</Dialogue>>
<<Dialogue "Johan" "Johan">>
"There's only a couple left, and they're looking worn out! Don't worry, I think you've got this!"<</Dialogue>>
<<Dialogue "player" "You">>
"Grah! Okay, come on, dice! Get me through this, please!"<</Dialogue>>
With some difficulty, you manage to bring the last of the goblins down with your hit points mostly intact. You heave a sigh of relief as Johan describes the last one falling.
<<Dialogue "Johan" "Johan">>
"Well, it wasn't exactly clean, but one-on-many combat rarely is! Good on you for tackling it. Feeling ready to move on to something else?"<</Dialogue>>
<</if>>
[[Onward!->Puzzle Door]]<</replace>><</link>></span><<Dialogue "Johan" "Johan">>
"With the last of the goblins lying incapacitated on the cave floor, it goes back to that same deathly silence that you were greeted with when you first entered..."<</Dialogue>>
<<Dialogue "player" "You">>
"No screeching this time, right?"<</Dialogue>>
<<Dialogue "Johan" "Johan">>
"I wouldn't be a very good dungeon master if I answered that directly."<</Dialogue>>
Johan grins to himself as he gathers the goblins from the grid mat.
<<Dialogue "Johan" "Johan">>
"Ahead in the cave, you see something you hadn’t noticed before. Ahead, where the cave bends around a corner, there's a blue light, just about as bright as a torch, just faintly flickering just outside of view. As you carefully round the corner, you see a huge, circular door, easily taller than yourself. It's set apart cleanly into twelve different sections of stone, and each of them has some kind of rune on it. They're all glowing blue, giving off the light that tipped you off from around the corner."<</Dialogue>>
Johan's hands once again dive behind his screen and retrieve an illustration of the door he described. Dang, he really did come prepared.
<<Dialogue "player" "You">>
"So, uh... now what?"<</Dialogue>>
<<Dialogue "Johan" "Johan">>
"Good question! Now what? You have the scene laid out before you. I promise there's a solution to this. What are you thinking?"<</Dialogue>>
[[Wait, is this a puzzle? Ugh, do I have to?->Reluctant Puzzle]]
[[Ooh, a puzzle! I bet I can crack this.->Excited Puzzle]]
[[Hmm, I can give it a shot. But there has to be an easier way through this door, right?->Bypass Puzzle]]<<set $DateSuccess -= 1>>
You sigh heavily.
<<Dialogue "player" "You">>
"Man. I genuinely, positively, do not think I have this in me. Is there any way I can talk you into just letting me pass?"<</Dialogue>>
Johan stops in place for a moment, as if processing the situation.
<<Dialogue "Johan" "Johan">>
"What? But... come on, I promise this will be fun! I'll even give you a hand!"<</Dialogue>>
<<Dialogue "player" "You">>
"I don't know, dude. I'm sure this seems fun from where you're sitting, but I just can't get into this. Is there any way we can get ahead to the good part?"<</Dialogue>>
<<Dialogue "Johan" "Johan">>
"Oh. Yeah, yeah, we can do that. It's all right, not everyone likes puzzles in their game. We can jump ahead to what's next."<</Dialogue>>
Johan reluctantly reaches and retrieves the picture of his puzzle, a wistful look on his face.
<<Dialogue "Johan" "Johan">>
"So, then, in that case... Let's just say that your character sticks it through and with some effort, she solves the puzzle. The door loses its glow and rolls out of the way, revealing a dark passageway on the other side."<</Dialogue>>
[[Let's see what's inside.->Final Boss]]<<if $carefreeCarefull > 0>><<set $DateSuccess += 1>><</if>>
You can't help but gasp at the prospect.
<<Dialogue "player" "You">>
"Oh my God, this looks fun! Let me see that thing."<</Dialogue>>
You eagerly snatch up the paper and begin looking over it.
<<Dialogue "player" "You">>
"Hmm, I don't recognize these symbols at all. But there's twelve of them. What comes in twelves? There's twelve in a dozen, twelve months in a year..."<</Dialogue>>
<<Dialogue "Johan" "Johan">>
"Wow, your brain works fast! Do you want to try using a skill to see if your character knows something about this?"<</Dialogue>>
<<Dialogue "player" "You">>
"Wait, I can do that? What do I do to see if I know more about these runes?"<</Dialogue>>
<<Dialogue "Johan" "Johan">>
"That would be an Arcana check, and here's how you do that..."<</Dialogue>>
The two of you dive into the challenge together. With you slowly plucking away at the clues, and Johan providing a gentle nudge here and there, after many long minutes of work, you feel yourself getting closer to the solution.
<<Dialogue "player" "You">>
"Okay. I think I've got it. I step up to the door. And I press the runes in order. Wood... Darkness... Fire, and Rain."<</Dialogue>>
<<Dialogue "Johan" "Johan">>
"As you press in on the last rune, you hear a low rumble around you. The light fades from the symbols, and slowly the circular door begins to roll out of the way, revealing a dark passageway behind it."<</Dialogue>>
<<if $carefreeCarefull > 0>><<Dialogue "player" "You">>
"Woo! That was a challenge! Did you make that one up yourself?"<</Dialogue>>
<<Dialogue "Johan" "Johan">>
"No, like a true experienced DM, I completely cribbed it from elsewhere. Can't say that about your solution, though, you handled that like a champ!"<</Dialogue>>
<<Dialogue "player" "You">>
"Well... Let's just say you nerd out in your way and I nerd out in mine. I love me a good brainteaser."<</Dialogue>>
<<Dialogue "Johan" "Johan">>
"Happy to hear it, because I love running them! But there's still one more thing left for you to do behind that door. Are you ready?"<</Dialogue>>
<<else>><<Dialogue "player" "You">>
"Oh my God, that was tough. Are all the puzzles that hard?"<</Dialogue>>
<<Dialogue "Johan" "Johan">>
"Mmm. In hindsight, that one may have been a little too challenging. Props to you for toughing it out, though! Would it make you feel better if I promised there are no more puzzles?"<</Dialogue>>
<<Dialogue "player" "You">>"Much better."<</Dialogue>>
<<Dialogue "Johan" "Johan">>
"All right! I hope you're ready for what comes next!"<</Dialogue>>
<</if>>
[[Let's see what's inside.->Final Boss]]<<if $carefreeCarefull < 1>><<set $DateSuccess += 1>><</if>>
<<Dialogue "Johan" "Johan">>
"Hmm. Well, that's a very loaded question. What is your idea of another way through the door?"<</Dialogue>>
<<Dialogue "player" "You">>
"I mean, it looks like it's just rock, right? No offense, but I'd much rather just bash my way through the door than solve a puzzle."<</Dialogue>>
<<Dialogue "Johan" "Johan">>
"Ha! You're a classic adventurer already. I'm certainly not going to stop you from trying."<</Dialogue>>
<<Dialogue "player" "You">>
"All right. I came down a long hallway to get here, so I'm gonna get some distance, sprint up, and flying kick the thing!"<</Dialogue>>
<<Dialogue "Johan" "Johan">>
"DEFINITELY a classic adventurer, you've even got a flare for the theatrical! Let me see a Strength roll!"<</Dialogue>>
You dutifully toss your die across the table. It's a 20!
<<Dialogue "Johan" "Johan">>
"Wow. Well, when the dice speak, it's hard to argue with them. You charge at the door, leaping into a kung-fu action pose, and <<if $dndCharacter.class is "wizard" || $dndCharacter.class is "warlock" || $dndCharacter.class is "cleric" || $dndCharacter.class is "rogue">>despite all odds, <</if>>you crash straight through the door, landing dramatically on the other side."<</Dialogue>>
<<if $carefreeCarefull < 0>>You give a quiet fist pump, filled with pride.
<<Dialogue "Johan" "Johan">>
"But now you're on the other side of the door. And you aren't alone back here."<</Dialogue>>
<<else>>You heave a sigh of relief.
<<Dialogue "Johan" "Johan">>
"That tense?"<</Dialogue>>
<<Dialogue "player" "You">>
"Being impulsive doesn't exactly come naturally to me. But I didn't think I could get through the door the way you intended."<</Dialogue>>
<<Dialogue "Johan" "Johan">>
"Well, the good news is that any way you can get through an obstacle like this is 'intended!' There are rarely wrong answers. So kudos for thinking outside the box. But I do have some bad news for you."<</Dialogue>>
<<Dialogue "player" "You">>
"Oh, no. What's that?"<</Dialogue>>
<<Dialogue "Johan" "Johan">>
"You're on the other side of the door now. And you're not alone.<</Dialogue>><</if>>
[[Oh no.->Final Boss]]<<Dialogue "Johan" "Johan">>
"On the other side of the enchanted door is a room, and it's deathly cold in here. Frost clings to the walls. In the center of the cavern, there is what looks to be a stone cauldron built into the floor, with a cold blue mist billowing forth. Standing above the cauldron stands a menacing figure, slowly maneuvering its hands above the cauldron. Flowing robes hang loosely off its body, fluttering in the air after its movements. Then... it looks up at you and you see its face. You see no eyes, just two little pinpricks of flame in the empty sockets. Pale, rotten skin stretched over its face. Nonexistent lips exposing its sneering teeth! A lich!"<</Dialogue>>
<<Dialogue "player" "You">>
"A what now?"<</Dialogue>>
<<Dialogue "Johan" "Johan">>
"A... A zombie wizard, and an exceptionally powerful one, too! It stares across the room, and ceases its movement without warning. Instead, it points menacingly at you and says in a raspy voice...
'You... You are brave to have come this far... but bravery only takes one so far... Leave this place... and leave the <<if $dndCharacter.class is "paladin" || $dndCharacter.class is "barbarian">>hammer<<elseif $dndCharacter.class is "cleric" || $dndCharacter.class is "wizard">>staff<<else>>amulet<</if>> for me... and I shall spare your life. Otherwise... you will not live to regret your choice.'"<</Dialogue>>
<<if $DateSuccess >= 3>><<Dialogue "player" "You">>
"Never!"<</Dialogue>>
<<Dialogue "Johan" "Johan">>
"You draw your weapon and the lich raises his hands, blue flames sprouting forth from his palms!"<</Dialogue>>
[[Final boss fight time!->Perfect Ending]]
<<elseif $DateSuccess >= 1>><<Dialogue "player" "You">>
"I didn't come this far just to back down now! Hand over the goods or get struck down, zombie!"<</Dialogue>>
<<Dialogue "Johan" "Johan">>
"The lich snarls and raises his hands, fingers gesturing as glowing runes trail behind them in the air!"<</Dialogue>>
[[Final boss fight time!->Partial Success]]
<<else>><<Dialogue "player" "You">>
"All right. Final boss fight time?"<</Dialogue>>
<<Dialogue "Johan" "Johan">>
"Final boss fight time."<</Dialogue>>
<<Dialogue "player" "You">>
"All right. Give me that d20 and let's find out how tough this lich is."<</Dialogue>>
[[Final boss fight time!->Date Failed]]<</if>>You and Johan go back and forth, taking turns to narrate your climactic battle with the lich. Despite any misgivings you may have had earlier, you can feel you've finally begun to enjoy yourself with this. And frankly, you've realized that it’s mostly due to Johan’s masterful companionship.
<<Dialogue "Johan" "Johan">>
"The lich floats further into the air, raising a hand as if calling someone to him. You hear a groan and clattering, and two dead bodies lying on the floor next to you begin to shamble to life!"<</Dialogue>>
<<Dialogue "player" "You">>
"Ah, not going to fight me like a man, are you? I'll take care of these lame zombies, and then I'm coming for you!"<</Dialogue>>
Several turns go by...
<<Dialogue "Johan" "Johan">>
"The zombies crumple to the floor before you, but you look up, as you realize... The lich is holding a fireball in his hand! He lifts his arm into the air, pitching the incandescent sphere towards you, and before you know it, it explodes in front of you! Dealing... 35 damage! And, unfortunately, I think that's enough to put you down."<</Dialogue>>
<<Dialogue "player" "You">>
"What? No! I just started playing and my character's dead?"<</Dialogue>>
<<Dialogue "Johan" "Johan">>
"Whoa, whoa, not dead. You're just unconscious. And you may be lucky. Maybe the lich wants you alive. There's still plenty of room for a story we can tell here!"<</Dialogue>>
<<Dialogue "player" "You">>
"Really?!?"<</Dialogue>>
<<Dialogue "Johan" "Johan">>
"Yes! In fact... you're supposed to be out cold, but let's say you're still conscious. You just can't move currently."<</Dialogue>>
<<Dialogue "player" "You">>
"Okay? Where is this going?"<</Dialogue>>
<<Dialogue "Johan" "Johan">>
The lich looks down at you, still floating in the air above you, its face filled with scorn. It snarls... 'You did indeed fight valiantly... With a spirit I have not seen... in many aeons. This is my parting gift... You may live... But meddle not in my affairs any longer.'
And with that, he raises his hands and just blasts a hole in the ceiling of the cave, allowing some light into the room, and he flies off through it, out of your view."<</Dialogue>>
<<Dialogue "player" "You">>
"Ah, man. I got to stay alive just to hear him gloat?"<</Dialogue>>
<<Dialogue "Johan" "Johan">>
"Not quite. Do you want to roll Perception for me?"<</Dialogue>>
You quizzically grab your die and give it a toss across the table.
<<Dialogue "Johan" "Johan">>
"You feel your strength beginning to return, so you plant your hands on the ground and start to rise back up. But before you do, you notice a gleam from beneath the cauldron that the lich was using."<</Dialogue>>
<<Dialogue "player" "You">>
"Huh? No way. Is that? I'm going to go take a look."<</Dialogue>>
<<Dialogue "Johan" "Johan">>
"You slip your hand beneath the cauldron, and, lo and behold... the mystical <<if $dndCharacter.class is "paladin" || $dndCharacter.class is "barbarian">>hammer<<elseif $dndCharacter.class is "wizard" || $dndCharacter.class is "cleric">>staff<<else>>amulet<</if>>."<</Dialogue>>
You burst into excited laughter at the realization. Poor Johan couldn't help but to give you a win in the end, sweetheart that he is.
In fact, now that you think of it, he's been nothing but sweet to you ever since you moved in. Even right now, he's just reveling in your excitement, clapping and laughing to himself.
Acting on instinct, you reach over and embrace him in a hug. <<if $height >= 190>>You tower over him, <<else>>You stand up to hug him,<</if>><<if $muscle >= 50>> and wrap your thick arms around him, the muscles pressing into him.<<elseif $breasts >= 50>> and as your huge chest presses into him, you cannot help but giggle a bit. <<else>> holding him in a warm embrace.<</if>>
He responds by blushing furiously. He's utterly taken aback, but he isn't frightened or struggling.
<<Dialogue "Johan" "Johan">>
"Uh... Thank you?"<</Dialogue>>
<span id="choice"><<link "Kiss him">><<replace "#choice">><<if $height > 210>>You bend over, having some trouble getting so low<<elseif $height > 180>>You lower yourself and lean in<<else>>You lean in<</if>> and give him a gentle kiss on his lips. It was a gentle and soft kiss, a promise of more to come in the future. He gives no immediate response except to turn even redder than you thought possible.
<<Dialogue "Johan" "Johan">>
"Uh? Um... I... I'm not..."<</Dialogue>>
<<Dialogue "player" "You">>
"Thank you, Johan. You're a great guy. Very special to me. And I would really like to get to know you better."<</Dialogue>>
<<Dialogue "Johan" "Johan">>
"Um, I... I'm not really good at these sorts of situations, but if you're saying what I think you're saying -"<</Dialogue>>
<<Dialogue "player" "You">>
"Do you want to go on a date some time?"<</Dialogue>>
<<Dialogue "Johan" "Johan">>
"Ah... Yes! Absolutely, wholeheartedly! I... I honestly wasn't expecting anything like this, but I would love to!"<</Dialogue>>
You plant another kiss on him, again stunning him into silence.
<<Dialogue "Johan" "Johan">>
"I, ah... You, that is, I mean, uh..."<</Dialogue>>
It's just at that moment that the door behind you opens. A group of people you have to assume are Johan's friends come inside, staring open-mouthed at the sight of their friend embraced in your <<if $muscle >= 50 || $fat >= 50>>huge<</if>> arms.
<<Dialogue "player" "You">>
"Ah, right... I think it might be time for me to leave, huh?"<</Dialogue>>
<<Dialogue "Johan" "Johan">>
"Um... no. I mean, yes, that may be for the best. But I'll see you again soon!"<</Dialogue>>
You quickly say goodbye to Johan, excusing yourself to his friends, as let yourself out into the hallway. As soon as you shut the door behind you, you can hear his friends excitedly questioning him.
You breathe a happy sigh and make your way back to your apartment. You didn't know exactly what to expect from getting romantically involved with Johan, but you had a feeling it was going to be fun.
<<link "Go home" "Home">><<set $johanOpinion += 25>><<addMinutes 60>><</link>>
<</replace>><</link>>
<<link "Let him go">><<replace "#choice">><<Dialogue "player" "You">>
"Ah, sorry. Was that a little forward of me?"<</Dialogue>>
<<Dialogue "Johan" "Johan">>
"Just a bit, maybe? I'm not a very touchy person, but I do genuinely appreciate the gesture!"<</Dialogue>>
<<Dialogue "player" "You">>
"Well... you are a very nice guy. A fantastic friend. And I wanted to make sure you knew that."<</Dialogue>>
<<Dialogue "Johan" "Johan">>
"Aw... That really means a lot <<print $playerFirstName>>. Thank you so much."<</Dialogue>>
With that, you hear the sound of the door opening behind you. Johan's friends enter the apartment, only to stop briefly upon seeing you.
<<Dialogue "player" "You">>
"Oh, whoops. Guess I overstayed my welcome. I'll see you around?"<</Dialogue>>
<<Dialogue "Johan" "Johan">>
"Yeah, see you around, <<print $playerFirstName>>. Thanks for coming over. And for what you said."<</Dialogue>>
You quietly excuse yourself and slip past Johan's friends to leave the apartment. You can hear them excitedly talking about their upcoming game.
<<link "Go home" "Home">><<set $johanOpinion += 25>><<addMinutes 60>><</link>>
<</replace>><</link>></span>You and Johan go back and forth, taking turns to narrate your climactic battle with the lich. Despite any misgivings you may have had earlier, you can feel you've finally begun to enjoy yourself with this. And frankly, you've realized that it’s mostly due to Johan’s masterful companionship.
<<Dialogue "Johan" "Johan">>
"The lich floats further into the air, raising a hand as if calling someone to him. You hear a groan and clattering, and two dead bodies lying on the floor next to you begin to shamble to life!"<</Dialogue>>
<<Dialogue "player" "You">>
"Ah, not going to fight me like a man, are you? I'll take care of these lame zombies, and then I'm coming for you!"<</Dialogue>>
Several turns go by...
<<Dialogue "Johan" "Johan">>
"The zombies crumple to the floor before you, but you look up, as you realize... The lich is holding a fireball in his hand! He lifts his arm into the air, pitching the incandescent sphere towards you, and before you know it, it explodes in front of you! Dealing... 35 damage! And, unfortunately, I think that's enough to put you down."<</Dialogue>>
<<Dialogue "player" "You">>
"What? No! I just started playing and my character's dead?"<</Dialogue>>
<<Dialogue "Johan" "Johan">>
"Whoa, whoa, not dead. You're just unconscious. And you may be lucky. Maybe the lich wants you alive. There's still plenty of room for a story we can tell here!"<</Dialogue>>
<<Dialogue "player" "You">>
"Really?!?"<</Dialogue>>
You look over at him. His eyes shine brightly. It looks like he is actively trying not to bounce in place out of sheer excitement.
You did enjoy yourself today. And more importantly, Johan has been incredibly sweet since you moved in. Is this the time to make a move?
<span id="choice"><<link "Make your move">><<replace "#choice">><<Dialogue "player" "You">>
"So… If there's more story to tell, do you maybe want to meet up and do this again sometime?"<</Dialogue>>
<<Dialogue "Johan" "Johan">>
"Oh? Yes, I was hoping you would say that! I'd love to do something along these lines, in fact I was hoping to get a group together for a new campaign I wanted to run-"<</Dialogue>>
<<Dialogue "player" "You">>
"Johan, I mean you and me. Alone."<</Dialogue>>
<<Dialogue "Johan" "Johan">>
"Oh. Uh, sure! That would make for a unique challenge. This was actually the first time I've done a solo session, but maybe we can-"<</Dialogue>>
<<Dialogue "player" "You">>
"While going for coffee, maybe?"<</Dialogue>>
<<Dialogue "Johan" "Johan">>
"... I'm honestly more of a tea drinker, but I'd be happy to - "<</Dialogue>>
<<Dialogue "player" "You">>
"Johan. I'm asking you on a date."<</Dialogue>>
<<Dialogue "Johan" "Johan">>
"Oh. OH."<</Dialogue>>
There's a tense moment of silence. Johan doesn't look like he knows what to do with this information, the internal debate clearly visible in his expression.
<<Dialogue "Johan" "Johan">>
"Actually... Yes. Yes, I'd like that very much!"<</Dialogue>>
His face lights up with a broad smile. You can't help but smile back.
Before you can say another word, you hear the door behind you fly open, and several excited voices announce the arrival of the original game party. Johan's friends let themselves in, before quickly going quiet upon realizing someone else is there.
<<Dialogue "Johan" "Johan">>
"Oh, shoot! I actually forgot for a moment! I'm sorry - "<</Dialogue>>
<<Dialogue "player" "You">>
"No, no, it's okay! When do you - "<</Dialogue>>
<<Dialogue "Johan" "Johan">>
"Here, take my phone number! I'll talk to you again soon!"<</Dialogue>>
In a whirlwind, you and Johan's friends awkwardly shuffle by each other and apologize, you find yourself in the hallway outside Johan's apartment, leaning against his door, speechless as your heart races with the realization of what just happened. As you take a moment to collect yourself, you can hear the voices excitedly shouting from inside his apartment, almost snapping you from the silly trance you find yourself in.
<<if $muscle >= 80 || $fat >= 80 || $breasts >= 80 || $height >= 210>>"Holy fuck, dude, who was that?! She's gigantic!"<<elseif $muscle >= 50 || $fat >= 50 || $breasts >= 50 || $height >= 210>>"Damn dude, who is that big chick?!"<<else>>"Hey, who is that girl?"<</if>>
"She... she's my new neighbor from across the hall, and she - "
"And you got her number! Look at you!"
"Come on, really, it's not like that, we just - "
You sigh contently as you head back to your apartment.
<<link "Go home" "Home">><<set $johanOpinion += 10>><<addMinutes 60>><</link>><</replace>><</link>>
<<link "Johan's great, but I don't want to date him.">><<replace "#choice">><<Dialogue "player" "You">>
"You know? That sounds like a lot of fun. I'd love to come back around and play some more another time."<</Dialogue>>
<<Dialogue "Johan" "Johan">>
"Really? That's great! In fact, I could even introduce you to my group. They're a great bunch, I think you'll fit right in."<</Dialogue>>
You smile contentedly and give him a pat on the shoulder.
<<Dialogue "player" "You">>
"Thanks, Johan. You're a great friend."<</Dialogue>>
Shortly after, Johan's friends arrive, and you take that as your excuse to leave. You say goodbye, thanking him again, and swear you'll be back for the next game.
<<link "Go home" "Home">><<set $johanOpinion += 5>><<addMinutes 60>><</link>><</replace>><</link>></span>You and Johan go back and forth narrating your climactic final battle. As the fight goes on, you slowly realize that there's something missing compared to the rest of the game thus far. Johan isn't acting in the same bombastic way he had earlier. He's explaining what the lich is doing with its turn, but there's no poetry in his description anymore, no flair.
At the same time, you're beginning to realize that you're losing the fight. You started off strong, but the lich is quickly overpowering you, as you witness your steam fading in both reality and fiction.
<<Dialogue "Johan" "Johan">>
"For his turn, the lich raises a finger above his head, and you see a small point of orange light form. It flies toward you and explodes in front of you, and the fireball hits you for... 42 damage. And I think that will be enough to put you down."<</Dialogue>>
<<Dialogue "player" "You">>
"Oh. Well, darn... I guess that's the end of it, huh?"<</Dialogue>>
<<Dialogue "Johan" "Johan">>
"I guess it probably is. My friends should be here any second now, anyway."<</Dialogue>>
He gathers his things up and looks at you with a smile, though you notice a melancholic undertone to it.
<<Dialogue "Johan" "Johan">>
"Sorry, this doesn't seem to be your cup of tea. But I'm glad you gave it a shot anyway. See you around?"<</Dialogue>>
<<Dialogue "player" "You">>
"Uh... yeah. See you around, Johan. Thanks."<</Dialogue>>
You exit his apartment, passing by a group of other people in the hallway as you do. They step by and knock on Johan's door, and you hear him excitedly greet them. As you walk off, you can't help but feel like you missed an opportunity here.
<<link "Go home" "Home">><<set $johanOpinion -= 10>><<addMinutes 60>><</link>><<nobr>>
<<widget "planEvent">>
/* $args[0]: Name of the event */
/* $args[1]: The day of the event, 0 is sunday */
/* $args[2]: Time of the event */
<</widget>>
<</nobr>>Select how long you want to sleep. There is no point in sleeping less than 4 hours. <input type="number" id="wakeUpTime" name="wakeUpTime" min="4" max="24">.
<<nobr>>
<<set _hoursOfSleep to 0>>
<<set _sleepTime to 0>>
<<set _sleepMotivationGain to 0>>
<<set _sleepExhaustionGain to 0>>
<<set _sleepMinimumExhaustionGain to 0>>
<<timed 0s>><<script>>
const timeBox = document.getElementById("wakeUpTime");
timeBox.addEventListener('change', (event) => {
if(timeBox.value < 4)
{
timeBox.value = 4;
}
else if (timeBox.value > 24)
{
timeBox.value = 24;
}
const result = timeBox.value;
var hours = parseInt(timeBox.value);
State.temporary.hoursOfSleep = hours;
State.temporary.sleepTime = State.temporary.hoursOfSleep * 60;
State.temporary.sleepMinimumExhaustionGain = State.temporary.hoursOfSleep * -10;
$(document).trigger(":liveupdate");
var confirmButton = document.getElementById("confirmButton");
if (State.temporary.hoursOfSleep < 4) {
confirmShortSleepButton.style.display = 'inline';
confirmLongSleepButton.style.display = 'none';
} else {
confirmLongSleepButton.style.display = 'inline';
confirmShortSleepButton.style.display = 'none';
}
});
<</script>><</timed>>
<<set _minimumExhaustionString to "minexhaustion:_sleepMinimumExhaustionGain">>
<<set _exhaustionString to "exhaustion:_sleepMinimumExhaustionGain">>
<<set _timeString to "time:_sleepTime">>
<<liveblock>><span id="confirmShortSleepButton" style="display: none;"><<gameLink "confirm" "Home" _minimumExhaustionString _exhaustionString _timeString "sleep:true">><</gameLink>></span>
<span id="confirmLongSleepButton" style="display: none;"><<gameLink "confirm" "postSleep" _minimumExhaustionString _exhaustionString _timeString "sleep:true">><</gameLink>></span><</liveblock>>
<</nobr>><<set setup.balance to {
/* Exhaustion */
startExhaustionAtHoursAwake: 14,
hourlyExhaustionTax: 2.5,
skillGainExhaustion: 20,
streamingExhaustion: 10,
/* Muscle gain */
gymExhaustionPerWorkout: 35,
gymMinimumExhaustionPerWorkout: 30,
baseWorkoutTime: 90,
muscleAllowancePerDay: 1,
musclePotionsAllowancePerDay: 0.8,
heightAllowancePerDay: 4.5,
breastAllowancePerDay: 0.8,
/* money */
baseMoneyPerDay: 100,
bulkBarnJobIncome: function () {
if (State.variables.skills[0] == null) {
return 0;
}
return Math.round(100 + (100 / 3 * State.variables.skills[0].level) + (100 / 3 * State.variables.skills[1].level) + (100 / 5 * State.variables.skills[2].level));
},
baseIncomePerStream: 5,
moneyPerBoxShifted: 3,
eventTresshold: 10,
/* Lactation */
lactationTressholdNeeded: 5,
lactationIncrease: 1,
milkProductionFactor: 20,
/* personality shift penalties */
personalityChangeMotivationPentalty: -20,
personalityChangeMaxExhaustionPentalty: 50
}>><<nobr>>
<<set _foodCostModShort to (1 + (($muscle - 20) * 0.01) + ($heightMod - 1) + (($fat - 20) * 0.01))>>
<<set $foodTimeMod to _foodCostModShort * 5 / (_foodCostModShort + 4.1)>>
<<if $furniture.includes("professional kitchen appliances")>>
<<set $cookingToolsTimeReduction to 0.5>>
<<elseif $furniture.includes("good kitchen appliances")>>
<<set $cookingToolsTimeReduction to 0.8>>
<<elseif $furniture.includes("basic kitchen appliances")>>
<<set $cookingToolsTimeReduction to 0.9>>
<</if>>
Decide how you want to start your day. It takes at least 15 minutes to get ready.
<h3>Food</h3>
<<set _newMealsPrepped to []>>
<<set _mealsThrownAway to 0>>
<<for _i to 0; _i < $mealsPrepped.length; _i ++>>
<<capture _i>>
<<set _expirationDate is new Date($mealsPrepped.expiration)>>
<<if $gameDate > _expirationDate>>
<<set _mealsThrownAway += 1>>
<<else>>
<<set _newMealsPrepped.push($mealsPrepped[_i])>>
<</if>>
<</capture>>
<</for>>
<<set $mealsPrepped to _newMealsPrepped>>
<<if _mealsThrownAway > 0>> Unfortunately, you have to throw away <<print _mealsThrownAway>> that have spoiled and gone bad.<</if>> Pick what you want to eat today:
<br>
<<set _diets to []>>
<<for _i to 0; _i < $diets.length; _i ++>>
<<capture _i>>
<<set _diets.push($diets[_i].name)>>
<</capture>>
<</for>>
<<set _useMealPrep to false>>
<<if $mealsPrepped.length > 0>>
<<set _diets.push("Eat one of your " + $mealsPrepped.length + " previously prepared meals." )>>
<</if>>
<<listbox "$currentDietName" autoselect>>
<<optionsfrom _diets>>
<</listbox>>
<<timed 0s>>
<<script>>
var boxes = $("select#listbox-currentdietname");
boxes.on("change", function () {
var mod = $(this).children(":selected").val();
if(mod > State.variables.diets.length -1){
State.temporary.useMealPrep = true;
}
else {
State.variables.currentDiet = State.variables.diets[mod];
State.temporary.useMealPrep = false;
}
console.log(State.variables.diets[mod]);
$(".macro-live").trigger(":liveupdateinternal");
});
<</script>>
<</timed>>
<br>
<<liveblock>><span id="foodHidden" style="visibility: hidden;"><<getMeasurement "weight" false>></span>
<<set $foodCostMod to ($weight / 93)>>
<<if _useMealPrep>><<set $foodCost to 0>>You can just eat some of the meals you prepared earlier: quick, easy and healthy! - $0, 00:<<print Math.round(10 * $foodCostMod)>> 🕛
<<else>>
<<set $foodCost to ($currentDiet.price * $foodCostMod * $difficultyMod * $cookingSkillPriceReduction)>>
<<print $currentDiet.description>> - $<<print Math.round($foodCost)>>,
<<set _cookingTimeHours to Math.floor(($currentDiet.time * $foodTimeMod * $cookingSkilltimeReduction * $cookingToolsTimeReduction) / 60)>>
<<if _cookingTimeHours < 10>>
<<set _cookingTimeHours to "0" + _cookingTimeHours>>
<</if>>
<<set _cookingTimeMinutes to Math.round($currentDiet.time * $foodTimeMod * $cookingSkilltimeReduction * $cookingToolsTimeReduction) - (_cookingTimeHours * 60)>>
<<if _cookingTimeMinutes < 10>>
<<set _cookingTimeMinutes to "0" + _cookingTimeMinutes>>
<</if>>
<<print _cookingTimeHours>>:<<print _cookingTimeMinutes>> 🕛
<</if>><</liveblock>>
<br><br>
<<if $furniture.includes("Coffee machine")>>
<<checkbox "$morningRoutineCoffee" false true autocheck>> Make coffee - 00:10 🕛<br><br>
<</if>>
<<set _supplies to false>>
<<for _i to 0; _i < $gymStoreSupplies.length; _i ++>>
<<capture _i>>
<<if $gymStoreSupplies[_i].amount > 0>>
<<set _supplies to true>>
<<break>>
<</if>>
<</capture>>
<</for>>
<<if _supplies>>
<h3>Supplements</h3>
<<for _i to 0; _i < $gymStoreSupplies.length; _i ++>>
<<capture _i>>
<<set _numberBoxString to "$gymStoreSupplies[" + _i + "].takeDaily">>
<<if $gymStoreSupplies[_i].amount > 0>>
<<set _max to Math.min(10, $gymStoreSupplies[_i].amount)>>
Take <<limitedNumberbox _numberBoxString $gymStoreSupplies[_i].takeDaily 0 _max>> of <<print $gymStoreSupplies[_i].name>>. You have <<print $gymStoreSupplies[_i].amount>> left. <<liveblock>><<if $gymStoreSupplies[_i].takeDaily < 10 && $gymStoreSupplies[_i].takeDaily > 0>> - 00:0<<print $gymStoreSupplies[_i].takeDaily>> 🕛 <<elseif $gymStoreSupplies[_i].takeDaily > 9>> - 00:<<print $gymStoreSupplies[_i].takeDaily>> 🕛<</if>><</liveblock>>
<br>
<</if>>
<</capture>>
<</for>>
<br>
<<timed 0s>>
<<script>>
var boxes = $(".macro-limitedNumberbox");
boxes.on("change", function () {
$(".macro-live").trigger(":liveupdateinternal");
});
<</script>>
<</timed>>
<</if>>
<h3>Get ready activities</h3>
<<if $shyConfident > 1>>
<<checkbox "$morningRoutineCheckSelf" false true autocheck>> Admire yourself in the mirror for a bit - 00:20 🕛<br><br>
<</if>>
<<if $lactationSetting is true>>
<<if $lactationMorningRoutine == true>>
<<checkbox "$lactationMorningRoutineEmptying" false true autocheck>> Empty your breasts before you go. - 00:20 🕛<br><br>
<</if>>
<<timed 0s>>
<<script>>
var boxes = $(".macro-checkbox");
boxes.on("change", function () {
$(".macro-live").trigger(":liveupdateinternal");
});
<</script>>
<</timed>>
<</if>>
<<liveblock>>
<<set $morningRoutineSuppliesTaken to 0>>
<<for _i to 0; _i < $gymStoreSupplies.length; _i ++>>
<<capture _i>>
<<set $morningRoutineSuppliesTaken += $gymStoreSupplies[_i].takeDaily>>
<</capture>>
<</for>>
<<set _timeTaken to 15 + $morningRoutineSuppliesTaken>>
<<if _useMealPrep>>
<<set _timeTaken += (Math.round(10 * (($foodCostMod -1)/3)))>>
<<set _motivationChange to 0>>
<<set _minimumExhaustionChange to 0>>
<<else>>
<<set _timeTaken += Math.round($currentDiet.time * $foodTimeMod * $cookingSkilltimeReduction * $cookingToolsTimeReduction)>>
<<set _cookingXPGain to Math.round($currentDiet.time/4)>>
<<set _motivationChange to 0 + $currentDiet.happinessGain * $cookingSkillMotivationBonus>>
<<set _minimumExhaustionChange to 0 + $currentDiet.minimumExhaustion>>
<</if>>
<<if $morningRoutineCoffee>>
<<set _timeTaken += 10>>
<<set _motivationChange += 10>>
<</if>>
<<set _timeTaken to Math.round(_timeTaken)>>
<<gameLink "Get ready for the day" "postSleepDescription" motivation:_motivationChange minexhaustion:_minimumExhaustionChange time:_timeTaken>>
<<dailyConsumables>>
<<skillIncrease "Cooking" _cookingXPGain>>
<<sleepUpdate>>
<<if _useMealPrep>>
<<set $mealsPrepped.deleteAt($mealsPrepped.length - 1)>>
<</if>>
<<if $lactationMorningRoutineEmptying>>
<<set $milkStored to 0>>
<</if>>
<<set $eventCounter to setup.balance.eventTresshold + 1>>
/* Post sleep clothing update. As this is the place where the player has grown, a popup will appear telling the player their size after sleep IF it's relevant.
This block can be easily cut and pasted to other places. Also, maybe make to a method? Cleaner. - just try it out. Bob. */
<<script>>
var postSleepOutfitDescription = '';
if (['too small'].includes(setup.getFitDescriptionOfClothes(State.variables.outfit.bra()))){
postSleepOutfitDescription += `Putting on your ${State.variables.outfit.bra().name} again is normally pretty easy, but today you just can't get it to fit without it being hella painful. You don't think this will fit you anymore, you'll have to get something new for sure. `;
State.variables.outfit.braId = undefined;
}
else if (['tight'].includes(setup.getFitDescriptionOfClothes(State.variables.outfit.bra()))){
postSleepOutfitDescription += `Putting on your ${State.variables.outfit.bra().name} again is normally pretty easy, but today it takes some more effort. You'll have to replace it soon. `;
}
if (['too small'].includes(setup.getFitDescriptionOfClothes(State.variables.outfit.underwear()))){
postSleepOutfitDescription += `As you stand up you notice your ${State.variables.outfit.underwear().name} is painfully tight. It feels like it's cutting off circulation, so you have little choice but to throw it away. Shame, it used to fit well. `;
State.variables.outfit.underwearId = undefined;
}
else if (['tight'].includes(setup.getFitDescriptionOfClothes(State.variables.outfit.underwear()))){
postSleepOutfitDescription += `As you stand up you notice your ${State.variables.outfit.underwear().name} is pretty tight. It's pretty close to uncomfortable, so something new will be needed soon. `;
}
if (['too small'].includes(setup.getFitDescriptionOfClothes(State.variables.outfit.top()))){
postSleepOutfitDescription += ` And putting on your top you quickly notice, even as groggy as you are from waking up, that your ${State.variables.outfit.top().name} just doesn't fit anymore! You try a few times, but this is not going to work and you have no choice but to try something else. `;
State.variables.outfit.topId = undefined;
}
else if (['tight'].includes(setup.getFitDescriptionOfClothes(State.variables.outfit.top()))){
postSleepOutfitDescription += `And putting on your top you quickly notice, even as groggy as you are from waking up, that your ${State.variables.outfit.top().name} is way tighter than you remember! You try it a few times, but you'd do well to get something else. `;
}
if (['too small'].includes(setup.getFitDescriptionOfClothes(State.variables.outfit.bottom()))){
postSleepOutfitDescription += `Finally, Putting on your ${State.variables.outfit.top().name} should've been easy, but as you try to get your legs in you discover that this no longer fits. Shame. `;
State.variables.outfit.bottomId = undefined;
}
else if (['tight'].includes(setup.getFitDescriptionOfClothes(State.variables.outfit.bottom()))){
postSleepOutfitDescription += `finally, Putting on your ${State.variables.outfit.top().name} should've been easy, but as you try to get your legs in you discover that this barely longer fits. Well, time to get something new. `;;
}
if (['too small'].includes(setup.getFitDescriptionOfClothes(State.variables.outfit.shoes()))){
postSleepOutfitDescription += `When you put on your ${State.variables.outfit.shoes().name} you try to get them on but yeah, this ain't happening. Seems you outgrew them? `;
State.variables.outfit.shoesId = undefined;
}
else if (['tight'].includes(setup.getFitDescriptionOfClothes(State.variables.outfit.shoes()))){
postSleepOutfitDescription += `When you put on your ${State.variables.outfit.shoes().name} you try to get them on but yeah, they're pretty tight. Seems you're outgrowing them?`;
}
if (['too small'].includes(setup.getFitDescriptionOfClothes(State.variables.outfit.overwear()))){
postSleepOutfitDescription += `Finally you put your ${State.variables.outfit.overwear().name} on. Or atleast, you try! Why doesn't it fit?! Yeah, you can't wear this anymore.`;
State.variables.outfit.overwearId = undefined;
}
else if (['tight'].includes(setup.getFitDescriptionOfClothes(State.variables.outfit.overwear()))){
postSleepOutfitDescription += `Finally you put your ${State.variables.outfit.overwear().name} on. It takes a few tries though, as it's pretty tight.`;
}
if (!Dialog.isOpen() && postSleepOutfitDescription != '') {
var dialog = Dialog.setup('wardrobe malfunction!');
new Wikifier(dialog, postSleepOutfitDescription);
Dialog.open();
}
<</script>>
<</gameLink>>
<</liveblock>>
<</nobr>><<set $PostSleepTriggers to []>>
<<set $PostSleepUsedTriggers to ["blocked"]>><<set setup.events.push({
name: 'PostSleepMuscleDialog1',
locationTags: ['postSleep'],
conditions: [
() => State.variables.postSleepMuscleDialog1
],
repeatable: false,
retriggerable: false,
priority: 'immediate',
npc: [],
content: 'God, waking up was hard. Your limbs feel stiff, everything hurts, and your body needs some time to warm up and get going. As you go to the bathroom and look in the mirror, something looks... off. You can\'t quite place it, but you think you look a bit thinner? No, that\'s not it. There isn\'t any mass missing. It\'s something else, but you can\'t quite figure it out. As you leave to get on with your day, you miss the view of your back in the mirror, new definition and muscles standing out much more.'
}, {
name: 'PostSleepBreastsDialog1',
locationTags: ['postSleep'],
conditions: [
() => State.variables.postSleepBreastsDialog1
],
repeatable: false,
retriggerable: false,
priority: 'immediate',
npc: [],
content: '<<if $outfit.bra()>>As you wake up and put on your <<print $outfit.bra().name>> it feels… different. <</if>>You can’t put your finger on it, but for some reason your clothes just won’t fit properly around your breasts. It takes some fiddling. You chalk to your tiredness and your mind slowly shifting gears before it dawns on you. <br><br>Your breasts feel… different. Immediately, you start palpating them, seeking any odd shapes or weird lumps, but no, your breasts just felt different. It’s still a huge source of anxiety; people’s breasts don’t just change overnight, but here we are! Perhaps some hormonal issue? That unusual drink in your fridge? Aliens? It could be anything, but all you know now is that your breasts feel different and that’s not a good thing… you think? So you just get dressed and ready to start your day, though you’re sure this will just keep bothering you throughout the day.'
}, {
name: 'PostSleepHeightDialog1',
locationTags: ['postSleep'],
conditions: [
() => State.variables.postSleepHeightDialog1
],
repeatable: false,
retriggerable: false,
priority: 'immediate',
npc: [],
content: 'You wake up to an odd sensation coming from your legs. You have never felt it before but they seem to have a slight... aching joint pain? You give them a quick rub before getting out of bed. As you stand, you feel a quick episode of dizziness before making your way to the mirror. For some reason, everything seems a little off. Is everything a bit smaller? No, it couldn\'t be. You couldn\'t have grown overnight, you were done with puberty a long time ago. Deciding to ignore these oddities, you get on with your day.'
}, {
name: 'PostSleepDickDialog1',
locationTags: ['postSleep'],
conditions: [
() => State.variables.postSleepDickDialog1
],
repeatable: false,
retriggerable: false,
priority: 'immediate',
npc: [],
content: 'The day started quite normal. You got up and stretched briefly. After a big yawn, scratching your ass, rubbing your groin… wait, you feel something bulge there. Immediately, your brain jolts awake, realizing something is OFF. Intuitively, your hands snap back there, feeling it while cold sweat mounts on your forehead. Yup, still there, squished in your tight underwear. Very slowly, your neck cranes down as you pull the band forward, dread filling you. There it is, where nothing should be. A penis. You poke it a few times, making sure it’s real. The prodding makes you shiver as you realize it’s VERY real, though incredibly surreal. <br><br>You got a penis. You just stand there for the next five minutes, trying to come to terms with it. You got a penis. You’re not supposed to have one, and it CERTAINLY wasn’t there yesterday. You can only ascribe this to that weird concoction, like everything else that has been happening lately. You make your way to the shower in a daze, unable to process these changes. Drying yourself off, you graze it again with the towel, still not used to it. It felt... well, like just another part of you. No pain, just odd? Whatever this means, it’s now who you are.<<if $outfit.bottom() != null>> Putting on your clothes on, you tuck it in, adding some extra stuffing inside your <<print $outfit.bottom().name>>.<</if>>'
}, {
name: 'PostSleepBallsDialog1',
locationTags: ['postSleep'],
conditions: [
() => State.variables.postSleepBallsDialog1
],
repeatable: false,
retriggerable: false,
priority: 'immediate',
npc: [],
content: ''
}, {
name: 'PostSleepLipsDialog1',
locationTags: ['postSleep'],
conditions: [
() => State.variables.postSleepLipsDialog1
],
repeatable: false,
retriggerable: false,
priority: 'immediate',
npc: [],
content: ''
}, {
name: 'PostSleepTongueDialog1',
locationTags: ['postSleep'],
conditions: [
() => State.variables.postSleepTongueDialog1
],
repeatable: false,
retriggerable: false,
priority: 'immediate',
npc: [],
content: ''
}, {
name: 'PostSleepMuscleDialog2',
locationTags: ['postSleep'],
conditions: [
() => State.variables.postSleepMuscleDialog2
],
repeatable: false,
retriggerable: false,
priority: 'immediate',
npc: [],
content: 'As you wake up, you experience an odd sensation. Once more, you are sore all over, and all your joints feel stiff. In front of the mirror, you try to crack your neck, moving your shoulders a bit to release it whatever is so tight. But that\'s when you notice it in the mirror: your shoulders were more pronounced than you remembered. You continued rotating your arms a bit, seeing the muscles dance beneath your skin. This is... odd. You don\'t recall ever seeing this, and with wide eyes you check it out, shrugging and getting surprised with the rounded mounds, clearly separating your shoulders from your neck and arm. Yet, even in your tired state, there is no denying it. You gained some muscle. You\'ve been moving more lately, but surely the results should appear... slower, right? Still, it\'s nice and doesn\'t look that bad, does it? <<if $carefreeCarefull > 0>><<else>>Perhaps you should look into this... for sure it has to do with that odd drink you found here, but what other effects could it have?<</if>>'
}, {
name: 'PostSleepBreastsDialog2',
locationTags: ['postSleep'],
conditions: [
() => State.variables.postSleepBreastsDialog2
],
repeatable: false,
retriggerable: false,
priority: 'immediate',
npc: [],
content: 'Another morning has come, and this time you wake up with a single thought in your head: any new weird changes? Anxiously, you jump out of bed and dash to the mirror. Once there, you begin inspecting your body. <<if $carefreeCarefull < 0>>Or, at least, as carefully as you can manage in your eagerness.<<else>><</if>> The rest of your body seems fine but... yeah. Your breasts DEFINITELY seem and feel... different. They feel fuller, and just... plain bigger. <<if $carefreeCarefull < 0>>It feels... really nice, actually. Some nice weight, a bit of heft, and they fill out nicely. Sure, they suddenly got bigger but this isn\'t that bad, right? Heh, plenty of girls would be jealous! <<if $submissiveDominant > 0>>Maybe you should show them off a bit!<</if>><<else>>And while bigger is nice, you can\'t help but worry about where this all is going. All kinds of things could be wrong, but for now, you\'ll just have to wait and see.<</if>>'
}, {
name: 'PostSleepHeightDialog2',
locationTags: ['postSleep'],
conditions: [
() => State.variables.postSleepHeightDialog2
],
repeatable: false,
retriggerable: false,
priority: 'immediate',
npc: [],
content: 'Ouch! Once again, you awaken to a pain coming from your knees. You\'ve heard of growing pains, but that couldn\'t be the case here... could it? Getting up, you are also, once again, greeted by a that slightly dizzying vertigo. What is going on? This time you are sure that your perspective of the room is different. You really are getting taller, noticeably so. How could that even happen? At your age, you shouldn\'t be growing like this. MAYBE another <<if $measurementSystem == "metric">>centimeter<<else>>half-inch<</if>>over the next couple years, but this seems much too fast. Out of morbid curiosity, you decide to check your height. Let\'s see… <<heighNumeral>> Mmmhmm, definitely taller. <<if $carefreeCarefull < 0>> Well, this is fun. I wonder how tall I\'ll get? <<elseif $shyConfident > 0>> Pretty cool.<</if>>'
}, {
name: 'PostSleepDickDialog2',
locationTags: ['postSleep'],
conditions: [
() => State.variables.postSleepDickDialog2
],
repeatable: false,
retriggerable: false,
priority: 'immediate',
npc: [],
content: 'It’s weird, having a penis. It’s surprisingly present, even though you’re not always aware of it, it is somehow always grazing something or affecting how your clothing feels. It’s this bizarre constant, but you assume eventually you will get over the fact that, you know, you got a DICK, it’s not that bad. Surprising, maybe a bit odd, sure. But at the end of the day, it’s just a new (and unexpected) addition to your body. Your morning routine didn’t change, your days didn’t change… you’re just a girl with a dick now. Yet, despite getting more used to it, you still have to try not to dwell on it, and just trying to ignore it for now as you start your day. '
}, {
name: 'PostSleepBallsDialog2',
locationTags: ['postSleep'],
conditions: [
() => State.variables.postSleepBallsDialog2
],
repeatable: false,
retriggerable: false,
priority: 'immediate',
npc: [],
content: ''
}, {
name: 'PostSleepLipsDialog2',
locationTags: ['postSleep'],
conditions: [
() => State.variables.postSleeplipsDialog2
],
repeatable: false,
retriggerable: false,
priority: 'immediate',
npc: [],
content: ''
}, {
name: 'PostSleepTongueDialog2',
locationTags: ['postSleep'],
conditions: [
() => State.variables.postSleepTongueDialog2
],
repeatable: false,
retriggerable: false,
priority: 'immediate',
npc: [],
content: ''
}, {
name: 'PostSleepMuscleDialog3',
locationTags: ['postSleep'],
conditions: [
() => State.variables.postSleepMuscleDialog3
],
repeatable: false,
retriggerable: false,
priority: 'immediate',
npc: [],
content: 'Another day of waking up sore all over. You almost got used to with the feeling now, but it is worrying how often you feel like this. And what is even more worrying are the gains you are making. You are getting a lot more active, that is true. Eating differently, a new routine, sure. But changes THIS drastic? You\'re quite sure muscles growing this fast are unheard of! But... as you rub your biceps a bit and flex it... it does look and feel rather nice, doesn\'t it...? <<if $shyConfident > 0>>As you touch it, you smile. It DOES feel better; way better. Strong, powerful... you feel an urge for more of it. Perhaps it’s time to hit the gym a bit harder!<</if>> <<if $carefreeCarefull > 0>>You don\'t even care how you\'re growing so fast; best to just enjoy the ride, right?<<else>>It does worry you, how much you\'re growing. Time to focus on learning what you can regarding those weird concoctions!<</if>>'
}, {
name: 'PostSleepBreastsDialog3',
locationTags: ['postSleep'],
conditions: [
() => State.variables.postSleepBreastsDialog3
],
repeatable: false,
retriggerable: false,
priority: 'immediate',
npc: [],
content: 'Sleeping on your chest is never easy, especially with your enlarged mammaries. Your sleep keeps getting interrupted as you try to get comfortable around the new meat pillows, and as you get up, you grunt a bit. Okay, bigger tits. Nice. Whatever. Good sleep? More important! At this rate, you\'ll either need to adjust your sleeping position, or get a better coffee machine. Getting up, you grunt a bit, shifting as your shifted center of gravity throws you off balance. Immediately, it became clear your breasts have grown. Again. This might become worrying at some point, but for now, you have bigger fish to fry.'
}, {
name: 'PostSleepHeightDialog3',
locationTags: ['postSleep'],
conditions: [
() => State.variables.postSleepHeightDialog3
],
repeatable: false,
retriggerable: false,
priority: 'immediate',
npc: [],
content: 'Ugh, another day waking up to growing pains. There is no doubt about it, these are growing pains resulting from your increasing height. It is kind of fun having this new perspective on everything, though. You can see on top of certain things, and a surprising amount of stuff is suddenly within reach.<<if $carefreeCarefull > 0>> Still, it would be nice if there it didn’t come with so much discomfort, or the looming specter of potential health risks.<</if>> Going over to your mirror, you take a moment to appreciate your longer frame, particularly your legs.<<if $shyConfident > 0>> Mmm... a girl could get used to waking up with longer, sexier legs.<</if>><<if $submissiveDominant > 0>> They’d look good wrapped around someone, squeezing them a bit.<</if>>'
}, {
name: 'PostSleepDickDialog3',
locationTags: ['postSleep'],
conditions: [
() => State.variables.postSleepDickDialog3
],
repeatable: false,
retriggerable: false,
priority: 'immediate',
npc: [],
content: 'As you wake up, something catches your attention. After twisting and turning, you just can’t find comfort. It’s only when you sit up in your bed that you figure out why. <br><br>Your dick is hard. It stands out, fully erect, a good <<numeralConversion $tempDick>> long. Stunned, you look at it while it stands proud, its veins impossible to ignore. Your own breath washes over it, and you shudder as it touches its sensitive tip. This is the first time waking up like this, and you’re not sure what to do. Until now, you managed to ignore it. But this simply demands attention. <<if $shyConfident < 0>> You can’t deal with this. Not now, not yet, not here. You grab your outfit and force them over your rod, yet you shake with a shiver and a moan when as your hand pushes it in your underwear. <<else>> You work up some courage and run a single finger, from the underside to the tip of your penis. Immediately, you find yourself moaning and gasping. Your back arches, your body shudders. For the first time, shoot your load, and find unexpected clarity in its wake. <</if>> '
}, {
name: 'PostSleepBallsDialog3',
locationTags: ['postSleep'],
conditions: [
() => State.variables.postSleepBallsDialog3
],
repeatable: false,
retriggerable: false,
priority: 'immediate',
npc: [],
content: ''
}, {
name: 'PostSleepLipsDialog3',
locationTags: ['postSleep'],
conditions: [
() => State.variables.postSleepLipsDialog3
],
repeatable: false,
retriggerable: false,
priority: 'immediate',
npc: [],
content: ''
}, {
name: 'PostSleepTongueDialog3',
locationTags: ['postSleep'],
conditions: [
() => State.variables.postSleepTongueDialog3
],
repeatable: false,
retriggerable: false,
priority: 'immediate',
npc: [],
content: ''
}, {
name: 'PostSleepMuscleDialog4',
locationTags: ['postSleep'],
conditions: [
() => State.variables.postSleepMuscleDialog4
],
repeatable: false,
retriggerable: false,
priority: 'immediate',
npc: [],
content: 'Yet again, you wake up bigger. You aren\'t immediately sure, but as you get out of bed, you feel your sore limbs and muscles leaving a clear message. Looking in the bathroom mirror… yup. All the telltale signs are there once more. <<if $shyConfident > 0>>Heh, great. Bigger is better, right? Time to hit the gym, get some REAL gains in! It\'s amazing how easily you have adapted to the idea of growing so fast. Perhaps it just suits you.<</if>> <<if $carefreeCarefull < 0>>You don\'t even care how or why you\'re growing so fast. You are just decided to enjoy it fully.<<else>>It does worry you, all this growth. You feel an urge to focus on finding out more about that mysterious potion!<</if>>'
}, {
name: 'PostSleepHeightDialog4',
locationTags: ['postSleep'],
conditions: [
() => State.variables.postSleepHeightDialog4
],
repeatable: false,
retriggerable: false,
priority: 'immediate',
npc: [],
content: 'Waking up to the now familiar sensation of limb-lengthening pain coming from your knees, you start going through the motions of what has become something of a routine. First, you reach down and rub the aching joints, taking a little time to caress the extra length now gracing your gams. Next, you get up out of bed, being careful to steady yourself during the inevitable moment of dizziness. Then you do a few stretches to get the blood flowing through your entire length. This increased stature feels more and more worth the pains that greet you on so many mornings. You can reach higher. You don’t get lost in crowds, your figure looks nicer. Looking at your reflection in the mirror… this isn’t so bad after all.'
}, {
name: 'PostSleepDickDialog4',
locationTags: ['postSleep'],
conditions: [
() => State.variables.postSleepDickDialog4
],
repeatable: false,
retriggerable: false,
priority: 'immediate',
npc: [],
content: 'Waking up you feel the proverbial morning wood again. Urgh. What was once shocking is now something you’re used to, just another thing to start your day. As you make your way to the kitchen to grab some food, <<if $outfit.underwear() || $outfit.bottom()>>you readjust your junk through your <<print $outfit.underwear()?.name || $outfit.bottom()?.name>>, <</if>>but the moment your hand touches the head… you buckle forward, grabbing the food you just got from the fridge. That felt GOOD, incredibly good. Your entire body felt the electric jolt going through it while your muscles tense up, and you bite your lips. You realize you had stopped breathing for a bit, and take another shuddering breath. Even that felt… better. Sharper. Wilder. Your hand touches it again, groping it. Another electric jolt. Your toes curl, sweat slowly forming on your forehead. What a feeling! Your dick hardens more somehow, standing proudly erect, as your entire body now lives for one thing; getting off. Your arm starts just… groping and feeling it, trying to milk more pleasure out of it. The arousal builds in your body as you get lightheaded, and it flows into the rest of your body. You forget the rest of the world, even as your hands become slippery, moving faster and faster around your increasingly lubricated dick. Finally, the climax comes, and your legs give out under you. Leaning against a counter, frantically panting with cum-stained hands, you brain tries to recover from the sheer amount of pleasure you somehow unearthed. What a way to start your day!'
}, {
name: 'PostSleepBallsDialog4',
locationTags: ['postSleep'],
conditions: [
() => State.variables.postSleepBallsDialog4
],
repeatable: false,
retriggerable: false,
priority: 'immediate',
npc: [],
content: ''
}, {
name: 'PostSleepLipsDialog4',
locationTags: ['postSleep'],
conditions: [
() => State.variables.postSleepLipsDialog4
],
repeatable: false,
retriggerable: false,
priority: 'immediate',
npc: [],
content: ''
}, {
name: 'PostSleepTongueDialog4',
locationTags: ['postSleep'],
conditions: [
() => State.variables.postSleepTongueDialog4
],
repeatable: false,
retriggerable: false,
priority: 'immediate',
npc: [],
content: ''
}, {
name: 'PostSleepBreastsDialog4',
locationTags: ['postSleep'],
conditions: [
() => State.variables.postSleepBreastsDialog4
],
repeatable: false,
retriggerable: false,
priority: 'immediate',
npc: [],
content: 'Taking a shower is an interesting experience with your more voluminous breasts. It only takes you a few seconds to notice that they had grown again; after all, it’s not difficult to perceive the shift in weight, or the added mass on your chest. Even with all the other changes happening, this one always stands out. Your hand caresses each as water drips from your body, the smooth skin gently kneaded by your hand. Showers are moments of introspection, and with your changing body it’s a given. As you feel them, you try to reconcile the last few days, trying to give it make sense of it all. This is your body. It has grown. It’s different, but still 100% you. Bigger breasts, different build... Whether you want it to or not, you keep changing. You remain in the shower, taking way longer than usual, but it helps acclimating to your enhanced body. At least until the next set of changes.'
}, {
name: 'PostSleepMuscleDialog5',
locationTags: ['postSleep'],
conditions: [
() => State.variables.postSleepMuscleDialog5
],
repeatable: false,
retriggerable: false,
priority: 'immediate',
npc: [],
content: 'Soreness, the telltale sign of growth. As you get out of bed, you stand up and stretch a bit, letting your growing muscles get some blood in them. It\'s odd, everything considered. You got used to growing, despite the consistent changes. New clothing, eating more... It has all become routine by now. Some days you wonder whether you should get angry or scared, but what good would that do? You splash some water on your face, and reflect on the changes. You\'re growing. Your body is changing. A lot of people go through that, but you are off the curve because of the pace and amount of changes. Leaning against the side of the sink, you feel the strength in your hands as your triceps erupt unexpectedly.<br><br>You\'re changing. You used to wonder how much you’d change, and when it might stop... but now you just wonder if you WANT it to stop.'
}, {
name: 'PostSleepBreastsDialog5',
locationTags: ['postSleep'],
conditions: [
() => State.variables.postSleepBreastsDialog5
],
repeatable: false,
retriggerable: false,
priority: 'immediate',
npc: [],
content: 'Another time waking up, another odd feeling in your chest. Slightly warm, heavier, fuller... yup, there it is. They\'ve grown again. Still waking up, you get up from your bed, just feeling them hang down for a moment. It has almost become routine for you by now: bigger breasts, buying new bras, maybe a new top... They push out further, and it does look AMAZING on your frame. But hey, that\'s a given already. That\'s your new reality: the girl with the growing tits.'
}, {
name: 'PostSleepHeightDialog5',
locationTags: ['postSleep'],
conditions: [
() => State.variables.postSleepHeightDialog5
],
repeatable: false,
retriggerable: false,
priority: 'immediate',
npc: [],
content: 'Today you wake up with no growing pains, no dizziness, but you definitely grew taller overnight. Standing up from the bed, you stretch and then smile as you take in your new, higher, perspective. <<if $carefreeCarefull < 0>>Skipping <<else>> Walking<</if>> over to the mirror you admire your new height. <<if $shyConfident > 0>>You even strike some sexy poses, standing on your tiptoes to really accentuate your stretched figure. <</if>> Taking out a tape measure, you quickly find your height to now be <<heightNumeral>>. Hopefully this growth doesn\'t stop any time soon, as you amaze yourself with how great you look now and how easy it has gotten to reach things on shelves that used to be daunting.'
}, {
name: 'PostSleepDickDialog5',
locationTags: ['postSleep'],
conditions: [
() => State.variables.postSleepDickDialog5
],
repeatable: false,
retriggerable: false,
priority: 'immediate',
npc: [],
content: 'Another night of restless sleep, another morning waking up rock hard. Your dick has grown again, standing tall and proud as you get up. Heh. And to think that it once scared you; now, it has pretty much become part of your morning routine, greeting you in full attention. Casually, you walk through your house with your private tent, going about your business. It’s sensitive, throbbing at any stimulus. Sometimes you wonder if guys have to deal with this all the time. If so, you never heard about it. Still, it’s nice, eating breakfast with that thing just bobbing between your legs. You might even rub one out, yet another new constant in your morning routine.'
}, {
name: 'PostSleepBallsDialog5',
locationTags: ['postSleep'],
conditions: [
() => State.variables.postSleepBallsDialog5
],
repeatable: false,
retriggerable: false,
priority: 'immediate',
npc: [],
content: ''
}, {
name: 'PostSleepLipsDialog5',
locationTags: ['postSleep'],
conditions: [
() => State.variables.postSleepLipsDialog5
],
repeatable: false,
retriggerable: false,
priority: 'immediate',
npc: [],
content: ''
}, {
name: 'PostSleepTongueDialog5',
locationTags: ['postSleep'],
conditions: [
() => State.variables.postSleepTongueDialog5
],
repeatable: false,
retriggerable: false,
priority: 'immediate',
npc: [],
content: ''
}, {
name: 'PostSleepTongueDialog6',
locationTags: ['postSleep'],
conditions: [
() => State.variables.postSleepTongueDialog6
],
repeatable: false,
retriggerable: false,
priority: 'immediate',
npc: [],
content: ''
}, {
name: 'PostSleepLactation1',
locationTags: ['postSleep'],
conditions: [
() => State.variables.lactationUnlocked,
() => !State.variables.postSleepLactationDialog1
],
repeatable: false,
retriggerable: false,
priority: 'immediate',
npc: [],
content: 'Today, you wake up and immediately notice that something feels… off. There’s a peculiar tightness in your chest, though not the kind you can chalk up to muscle tightness or an odd sleep position. Rubbing your breasts, you find that they feel noticeably warmer than usual, and quite a bit more sensitive as well. Your bed sheet brushing against your chest as you pull it off is enough to make your nipples stiffen considerably. Going into the bathroom, you check your breasts to see what the problem is, but nothing seems out of the ordinary besides this weird tingling sensation. Well, that and some very unusual swelling. You make sure that they don\'t feel anything weird as your hands massage them a bit. Yeah, they just feel tighter and... maybe a bit bigger? You brush it as some random side-effect of the changes. At least, for now…<<set $postSleepLactationDialog1 to true>>'
}, {
name: 'PostSleepLactation2',
locationTags: ['postSleep'],
conditions: [
() => State.variables.lactationUnlocked,
() => State.variables.postSleepLactationDialog1,
() => !State.variables.postSleepLactationDialog2
],
repeatable: false,
retriggerable: false,
priority: 'immediate',
npc: [],
content: 'You wake up with an intense heat and fullness in your chest that nearly startles you as you open your eyes. Something is very wrong with your breasts this morning, and it hits you like a slap to the face. You rush into the bathroom and inspect your mammaries, trying to discern what is going on. Upon closer inspection, you see that your breasts are swollen, the skin more stretched than usual. Your nipples are extremely sensitive and stiff, and appear to have gotten larger as well. As you touch them, you moan and a dribble of a suspicious white fluid pours out. Your knees feel weak and you slide across the wall behind you, falling to the floor as your mind goes blank. Your entire body now feels this heat, traveling from your breasts into your torso and limbs. Your hands are still massaging your nipples as the creamy discharge leaks from it. There\'s no doubt now: you\'re lactating. With a shivering hand, you bring some of the liquid to your mouth, gently licking it up and... yeah. Milk. Sweet, creamy, and it tastes far better than you could have imagined. You have no idea how long it took until you fully recovered your consciousness, but you find yourself sitting on the floor, your clothing drenched and your breathing ragged. That was incredibly intense, and as you look around, you wonder what is wrong with you. Well, you know what is wrong with you. Those fucking concoctions. It seems like their side effects can cover quite a wide spectrum. Slowly, you get up and take stock of your predicament. Well, your breasts feel less swollen, so that is good. You\'re also sure they\'re not as sensitive anymore. But this is something you\'ll have to keep in mind, because if something like this happens in public it could get messy VERY quick.<<set $milkStored to 0>><<set $postSleepLactationDialog2 to true>>'
}, {
name: 'PostSleepLactation3',
locationTags: ['postSleep'],
conditions: [
() => State.variables.lactationUnlocked,
() => State.variables.postSleepLactationDialog1,
() => State.variables.postSleepLactationDialog2,
() => !State.variables.postSleepLactationDialog3
],
repeatable: false,
retriggerable: false,
priority: 'immediate',
npc: [],
content: 'The sensation of wet sheets on your chest wakes you up, the moistness making you feel very awkward. As your mind starts making sense of the situation, your first reaction is to look for a leak on the ceiling, but you remember that you live in the basement, and the liquid on the sheets is warm and sticky. As you lift it up, the mystery is quickly solved: your breasts, bloated and swollen with milk once more, must have led to an episode of galactorrhea, causing your production to flow freely out of your nipples while you slept. Before, it would require manual pressure to be applied for it to be released. This time, it just came out by itself. While you have no idea how long this had been occurring, it is clear from the lingering tightness that it was just the overflow that is on your sheet, as your mammaries remain at capacity. Getting out of bed, you head into the bathroom and lean over the sink, letting your udders loom over the drain. Stifling back moans, you tug on your nipples and squeeze out jet after jet of ivory fluid, until the fullness you feel subsides to a more manageable level. What the fuck happened with your life... imagine when classes began again. Or if this happened while you were hanging out with friends. Would you need to leave for the bathroom to empty your boobs? And would anyone notice them just getting swollen?!? Hell, add that to your laundry list of mutations, what would they say? Until now, the changes had been... well, you could take them in stride. But this takes it to another level. You might have to keep an eye on your milk level going forward to avoid accidents. This is far from ideal.<<set $milkStored to 0>><<set $postSleepLactationDialog3 to true>>'
}, {
name: 'PostSleepLactation4',
locationTags: ['postSleep'],
conditions: [
() => State.variables.lactationUnlocked,
() => State.variables.postSleepLactationDialog1,
() => State.variables.postSleepLactationDialog2,
() => State.variables.postSleepLactationDialog3,
() => !State.variables.postSleepLactationDialog4
],
repeatable: false,
retriggerable: false,
priority: 'immediate',
npc: [],
content: 'Once more you wake up to an unplanned milk bath. It doesn\'t smell bad, it doesn\'t stain, but waking up in a puddle of your own milk is still somewhat disturbing. Pulling your sheets off to be washed and dried once again, you stumble out of bed and into the bathroom, leaving a dripping trail on the way. You grumble a bit while your chest throbs, still full. Once you make it to the sink, you start squeezing, forcing out a torrent of warm, creamy fluid. Each tug on your engorged nipples causes a gush of milk to fill the sink with a whizzing sound, slowly emptying your reserves. The annoying part is, it doesn\'t even feel that pleasurable anymore. You keep grumbling and squeezing your breasts, trying to get them somewhat empty before you start your day. You might actually have to add this to your morning routine from now on, emptying your tits above the sink before you start your day. What the fuck is happening to your life...<<set $lactationMorningRoutine to true>><<set $postSleepLactationDialog4 to true>>'
}, {
name: 'PostSleepLactation5',
locationTags: ['postSleep'],
conditions: [
() => State.variables.lactationUnlocked,
() => State.variables.postSleepLactationDialog1,
() => State.variables.postSleepLactationDialog2,
() => State.variables.postSleepLactationDialog3,
() => State.variables.postSleepLactationDialog4,
() => !State.variables.postSleepLactationDialog5
],
repeatable: false,
retriggerable: false,
priority: 'immediate',
npc: [],
content: 'You wake up to the familiar feeling of an episode of galactorrhea, your bed drenched in milk as you get up with an annoyed sigh. Once again you head to the sink half-asleep, once again emptying your fucking tits... what a waste. But before you start, you get a random thought. What a waste. These days food has gotten a LOT more expensive and well, here you got something that SMELLS amazing. But come on, this is gross, right? Fucked up, even? Or perhaps unhealthy? It HAS to be! But... it smells good... and creamy... With hesitation, you lift up your breast, bringing the <<if $breasts > 100>>absurdly gigantic<<elseif $breasts >= 75>>humongous<<elseif $breasts >= 50>>huge<<elseif $breasts >= 25>>large<</if>> nipple to your mouth. Milk is streaming from it and... yeah, it smells pretty good. With some concern, you let your <<if $tongue >= 6>>appendage-lenght>><<elseif $tongue >=5>>ridiculously long<<elseif $tongue >= 3>>very long<<elseif $tongue >= 1>>long<</if>> tongue lick the hard nipple clean.<<set $postSleepLactationDialog5 to true>>'
})>><<set setup.events.push({
name: 'PostSleepMuscleRepeat1',
locationTags: ['postSleep'],
conditions: [
() => State.variables.postSleepMuscleRepeat
],
repeatable: true,
retriggerable: false,
priority: 'response',
npc: [],
content: 'After another night of heavy sleep, you wake up even more sore than usual. So used to it, you just rub your shoulders a bit, feeling harder and bigger than ever. The stretching helps relaxing them somewhat. Dress yourself it takes a bit longer, simply because the tightness is so great that you need to warm your muscles up to get full range of motion, as a quick poke reveals that every single one of them is rock-hard to the touch. Even washing yourself takes longer, both due to your bigger body and your need to untighten every muscle.'
}, {
name: 'PostSleepMuscleRepeat2',
locationTags: ['postSleep'],
conditions: [
() => State.variables.postSleepMuscleRepeat
],
repeatable: false,
retriggerable: false,
priority: 'response',
npc: [],
content: 'Heh. It’s starting to get a little funny, waking up sore. These days it means a few things: you\'ll have to eat more. Maybe get some new clothes. You just know you are about to find a bigger reflection. <<if $shyConfident > 0>>With a grin you flex in front of the mirror, admiring the growing mountains under your skin. Nice! It brings an urge to have a hardcore workout today, find out if you can grow more, get stronger, make every part of your body even harder. Or maybe go buy more supplements...<<else>>If you had more confidence, you\'d flex in the mirror. Perhaps one day you\'ll get there, but for now you just blush at the sight of yourself.<</if>>'
}, {
name: 'PostSleepMuscleRepeat3',
locationTags: ['postSleep'],
conditions: [
() => State.variables.postSleepMuscleRepeat
],
repeatable: false,
retriggerable: false,
priority: 'response',
npc: [],
content: 'As you wake up and get out of bed, you make your way towards the bathroom. Still groggy, you rub your eyes. <<if $carefreeCarefull > 0>>Tired as you are, you barely manage to miss the doorframe. If you hadn\'t paid attention, your shoulder would\'ve slammed into it, this bigger body still a novelty.<<else>>You\'re not paying attention as your shoulder slams into the doorframe, waking you up in an instant. <<if $muscle > 80>>The wood cracks, almost ripping the frame. With your mass, you should really pay more attention before crossing doors...<<elseif $muscle > 60>>The wood groans from the impact, almost cracking. If things continue at this pace, you keep getting bigger, it will be a matter of time until you start leaving a trail of destruction behind you...<<else>>You fall back a couple steps from the impact, nearly landing on your ass. Urgh, you really need to pay more attention...<</if>><</if>>'
}, {
name: 'PostSleepMuscleRepeat4',
locationTags: ['postSleep'],
conditions: [
() => State.variables.postSleepMuscleRepeat
],
repeatable: false,
retriggerable: false,
priority: 'response',
npc: [],
content: 'God, the hunger you feel as you wake up is indescribable! You don\'t know what prompted it, but you guess your body just needs more fuel: you\'ve been working out more lately, and with your growing body... Heh. Growing body. Funny how you it sounds so… natural? Inevitable, even! You let out an amused chuckle. But as you head to the kitchen, you can\'t help but realize it\'s a given fact: the bigger you get, the more food you need.'
}, {
name: 'PostSleepMuscleRepeat5',
locationTags: ['postSleep'],
conditions: [
() => State.variables.postSleepMuscleRepeat
],
repeatable: false,
retriggerable: false,
priority: 'response',
npc: [],
content: 'You wake up groggily after another day of working out. Straight away, you notice some things are different. As you shift, you can hear the subtle groaning of the ratty bedframe you\'re sleeping on. Not only that, but your clothes feel... tighter around the chest and shoulders. Deciding that it must be a combination of age and your mind playing tricks on you, probably because of how sleepy you are, you get up and decide to freshen up in the bathroom. Your eyes may be half-open, but you can swear that your reflection is close to not fitting in the mirror. Or at least, less than usual.'
}, {
name: 'PostSleepThick',
locationTags: ['postSleep'],
conditions: [
() => State.variables.bodytype === 'thick'
],
repeatable: false,
retriggerable: false,
priority: 'response',
npc: [],
content: 'As you get up you let out a BIG yawn, still not completely awaken from sleep. Stretching a bit, you feel a bit heavier than you’re used to. You have been eating a bit more lately, and perhaps with all these changes, it’s to be expected. Still, if you want to prevent gaining more weight, perhaps you should change your diet. Or not, really, maybe you could use a bit more fluff.'
}, {
name: 'PostSleepFat',
locationTags: ['postSleep'],
conditions: [
() => State.variables.bodytype === 'fat'
],
repeatable: false,
retriggerable: false,
priority: 'response',
npc: [],
content: 'Waking up, it feels like someone turned up gravity in the world. It feels like a chore getting off your bed, and wearily you walk up to the mirror to get yourself ready. While you brush your teeth, your free hand grabs your belly, feeling more pudge than usual. Yeah, you\'ve definitely gained weight lately. You could chalk it up to that Freshman 15 effect, the stress of the move and all the weird stuff happening, it would make sense. It doesn\'t even look bad on you, but perhaps a diet might not be a bad idea.'
}, {
name: 'PostSleepObese',
locationTags: ['postSleep'],
conditions: [
() => State.variables.bodytype === 'obese'
],
repeatable: false,
retriggerable: false,
priority: 'response',
npc: [],
content: 'You wake up with a grunt. Not too surprising, given the effort it takes to get your bulky frame moving. Yeah you\'re clearly still gaining weight. You\'re no longer just a bit heavy... you feel like you should work on this. A diet, the gym... some focus may be necessary. But you got so much going on... Besides it doesn\'t look that bad on you, and with all those weird chemicals you drank, you somehow can swear you are still healthy as an ox! But the new clothes and amount of food necessary aren’t as exciting...'
}, {
name: 'PostSleepThin',
locationTags: ['postSleep'],
conditions: [
() => State.variables.bodytype === 'thin'
],
repeatable: false,
retriggerable: false,
priority: 'response',
npc: [],
content: 'You wake up with a pep in your step. You manage to get your day started without much of a hassle, a floating around like a ballerina. The gym has certainly had an effect, giving you a flat belly and some somewhat toned limbs. And you won’t have to change your wardrobe every other week!'
}, {
name: 'PostSleepAthletic',
locationTags: ['postSleep'],
conditions: [
() => State.variables.bodytype === 'athletic'
],
repeatable: false,
retriggerable: false,
priority: 'response',
npc: [],
content: 'You look at yourself in the mirror as you admire the fruits of your labor. Well, this was... unsurprising. Sure, you look bigger and more fit, but how much will that cost you? Bigger clothes, more food, more everything. <<if $shyConfident > 0>>Well, at least not all was bad news. Admiring your arms in the mirror, you give them a small flex. It looks… very nice. Impressive, even. It seems that the end result is not worthless!<<else>>Watching your salient muscles was just a prescient reminder of the hole you are digging yourself into. It certainly looks more pleasing, but you\'ve got bigger priorities to worry about. Like your health. Or your finances.<</if>>'
}, {
name: 'PostSleepStrong',
locationTags: ['postSleep'],
conditions: [
() => State.variables.bodytype === 'strong'
],
repeatable: false,
retriggerable: false,
priority: 'response',
npc: [],
content: 'You begin the day the same way as usual, rising from the bed. Your clothes feel a bit tighter than before. The definition on your limbs is starting to pop more and more, to the point that one would think you’ve been doing this for years if they didn’t know any better. <<if $shyConfident > 0>> On the plus side, it is very clear that your efforts are paying off. You trace the outline of your biceps along your arm, enjoying the fruits of your labor<<else>> You cock your head to the side, still trying to figure out if you are pleased with the results. Of course, packing a bit of muscle has its benefits… but you wonder if said benefits truly outweigh any consequences.<</if>>'
}, {
name: 'PostSleepHeavy',
locationTags: ['postSleep'],
conditions: [
() => State.variables.bodytype === 'heavy'
],
repeatable: false,
retriggerable: false,
priority: 'response',
npc: [],
content: 'Your mass continues to increase day by day, that much is readily apparent as you wake up. The bed was beginning to feel smaller and smaller, with your shoulders not that far from the edge of the frame. As you head to the bathroom to begin your morning routine, you watch as your muscles begin to shift with every movement of your arms, especially your chest. Looking down, you notice the faint outline of abs forming even at rest, and a quick flex makes them jut out like cobblestones<<if $shyConfident > 0>>, which brings a smile to your face. Sure, it was great to have some size and bulk, but having some extra definition on top of that was just the cherry on top.<<else>>. Well, great. Now in addition to becoming bigger and bigger now, you also need to worry about heavier coats for the winter, as you seem to lack the proper blubber for insulation. Well… at least the coats might help conceal your figure, because some people might get intimidated by this amount of muscle tone.<</if>>'
}, {
name: 'PostSleepBodybuilder',
locationTags: ['postSleep'],
conditions: [
() => State.variables.bodytype === 'bodybuilder'
],
repeatable: false,
retriggerable: false,
priority: 'response',
npc: [],
content: 'You are huge. No denying that. After waking up, you walk to the bathroom, splash some water on your face and… yeah. You’re swole. With the definition and size you have, you’d perform well in any bodybuilding competition. Hell, you’d be a serious contender even in the men\'s competition, with the extreme size and definition you got going there! It almost feels surreal, your body being this big. You’ve gone from an average girl to THIS in a matter of weeks, if that. Even just bringing your arm forward tenses your pecs, forming a jutting shelf on your chest. This… <<if $shyConfident > 0>> is utterly amazing. You would never imagine you could ever become this big. Flexing your biceps, you can feel the power welled up inside, and can’t help but smirk at the thought of how the ludicrous amounts of weight you could lift without breaking a sweat.<<else>> still doesn’t feel like you. Inside, you see yourself like the same small, petite girl you were not long ago. And yet, you can’t deny all this mass of muscles, encapsulating you in a layer bigger than what your entire body used to be. Sure, you enjoy it, but it feels like your soul just hasn’t caught up yet with this new reality.<</if>> Despite all that, you can’t shake the feeling that this is only the beginning.'
}, {
name: 'PostSleepHeroic',
locationTags: ['postSleep'],
conditions: [
() => State.variables.bodytype === 'heroic'
],
repeatable: false,
retriggerable: false,
priority: 'response',
npc: [],
content: 'You jump out of bed like a gymnast dismounting from the bars in a competition. Today is one of those days when you just wake up and feel AMAZING. Your arms feel tingly and tight, your chest big and impressive… as you look in the mirror, checking yourself out, you can’t help but be stunned; you actually look like one of those golden age super-heroes. Not some exaggerated and stylized modern drawing, but a golden age statuesque specimen. But frankly, even Hyperman wasn’t as defined as you are right now! It makes you want to attend some comic convention, in full cosplay. <<if $shyConfident < 0>> You’d never do it, but still. <</if>>Shelving that thought for now, you start your day, grinning.'
}, {
name: 'PostSleepStrongman',
locationTags: ['postSleep'],
conditions: [
() => State.variables.bodytype === 'strongman'
],
repeatable: false,
retriggerable: false,
priority: 'response',
npc: [],
content: 'Fuck, you’re big. As the bed creaks from your massive frame being lifted from it, you are hit by how small and light everything feels in your hands. As you fully wake up, the floor shakes as you walk to the fridge to look inside, and inadvertently lift it off its two front feet, unaware of how strong you’ve become. Getting to the bathroom, the bottles shake on the shelves from your mass. You are certainly not lean and dry like a competing bodybuilder. You have this layer of softness over your muscles, but any effort causes them to swell and become rock-hard. Brushing your teeth results in a ballet of twitching biceps. Washing your back makes your wings bulge. Getting back to the kitchen and putting on clothes now takes actual effort. Your size is unquestionable.'
}, {
name: 'PostSleepSumowrestler',
locationTags: ['postSleep'],
conditions: [
() => State.variables.bodytype === 'sumowrestler'
],
repeatable: false,
retriggerable: false,
priority: 'response',
npc: [],
content: 'The entire apartment shakes as you put your feet down from your bed. You aren’t just big; you could only be described as ‘massive’. From your titanic legs to your immense belly and monstrous pecs, everything about you screams ‘BIG’. With a groaned of springs your bed lets you out, the weight finally relieved as the wood regains some of its shape. <<if $carefreeCarefull > 0>> No matter how much attention you pay to your surroundings, your house is riddled with traces of your sheer bulk. Damaged doorframes. Cracks on the floor. And your couch, bed and chairs barely hold up from the stress.<<else>> And with how careless you are with your size at times, it’s no wonder your furniture looks like it could break at any second. Your cracked table, from that time when you rested your feet on it. Your chair, splintered back together a couple of times already. And your bed, with its bent frame.<</if>><<if $shyConfident > 0>> Still, you smile as you look in the mirror, admiring your own size. Gigantic doesn’t even begin to describe you. You awaken the mountains in your upper arms with a massive biceps flex. No person, male or female, has ever reached such size, and with a grin you realize… You still could go for more. Now, where are those protein shakes… ?<<else>>At times, you wonder if it was all worth it. Your hulking mass is bigger than anyone has ever been before, but it comes with its own troubles and costs, and it’s no wonder you sometimes think you’ve already gone too far.<</if>>'
}, {
name: 'PostSleepHulk',
locationTags: ['postSleep'],
conditions: [
() => State.variables.bodytype === 'hulk'
],
repeatable: false,
retriggerable: false,
priority: 'response',
npc: [],
content: 'Your colossal mass stirs awake as it does every morning, your muscles bulging even as you just lean your head. Your bed protests its torture with creaking groans, and after getting up you head over to the bathroom to freshen up. No matter how careful you might be, touching or stepping on any part of your home seems to have the same effect as hitting it with a hammer. Case in point, you bump your shoulder against the doorframe, causing a chunk of concrete to come right off. <<if $shyConfident > 0>> You smirk as you see this happen. Sure, the frame could be fixed, but the sheer sight of your mass causing damage to the house… well, there was something intoxicating to it. As you reach the mirror, you decide to do a slight crab flex whilst bouncing your pecs, reveling in how absolutely enormous they seemed compared against even your own head.<<else>>CRAPCRAPCRAPCRAP!... Oh, you knew this was a bad idea. Looking around the house, you take stock of the piling damage being added to a long list. Sure, you really enjoy the feel of your muscles and your incredible strength, but you can’t help but wonder if you can keep this up.<</if>>'
}, {
name: 'PostSleepGigantic',
locationTags: ['postSleep'],
conditions: [
() => State.variables.bodytype === 'gigantic'
],
repeatable: false,
retriggerable: false,
priority: 'response',
npc: [],
content: 'Your beef had started to reach what could kindly be described as ‘critical mass’. The slightest movement from your body results in your bed making sounds that seem straight out of a horror movie. Once you do finally stir awake, just planting your feet down on the ground causes a massive ‘THUMP’ to be heard throughout the entire building. Walking sideways through the door in a vain attempt to avoid extending the damage you already caused is pretty much a lost cause. Your growing body commands you to go straight for the kitchen, seeking the constant sustenance it demands on a non-stop basis. You seek that fuel almost subconsciously, as half a tub of protein is gone in a blink. You envision the powdery goodness travelling straight into your muscles, making them get closer and closer to steel in their mysterious alchemy. As you dwell on these thoughts, you head to the bathroom to freshen up, but get interrupted by the mirror, which demands your full attention. With a full body flex, you test how much you can even see of yourself in its limited frame. With a smirk, you realize your pecs have more mass than regular people have in their entire bodies, your biceps are wider than a linebacker’s chest, even fully relaxed. With a deep breath, you rest your hands on your waist and spread out your lats, making your wings unfold in a veritable spectacle as you spin to watch your rugged back. As your traps reach halfway to your head, you feel like you could soon start lifting cars overhead if you put your mind to it.'
}, {
name: 'PostSleepMonstrous',
locationTags: ['postSleep'],
conditions: [
() => State.variables.bodytype === 'monstrous'
],
repeatable: false,
retriggerable: false,
priority: 'response',
npc: [],
content: 'Like some sort of black hole, nothing can escape the mass of your body now. Even your morning ritual had to adapt around it, bending itself around you. For normal people it would simply be a list of chores like getting up, taking a shower, eating… but none of these apply the same to you. You must take care not to obliterate furniture as you make any move. Your feet land on cracked tiles and splintered wood as the broken remains of your bed groan back into a somewhat recognizable shape. Every step you take makes the entire building shake noticeably. Even Johan, a few rooms over, knows when you’re awake. Lumbering over to the bathroom, you try to fit through the door. Emphasis on ‘try’ as each day you widen the concrete a bit more. Looking in the mirror you see… well, some of you. You see your face, your monstrous pecs below it, but that’s about it. Your shoulders are too wide, your abs too hidden below your pecs. You are massive. It’s not even something you would consider a part of you, it’s your very defining trait, the core of your being. Mass. With each movement, gigantic muscles twitch, even with the smallest action like fanning yourself or brushing your hair. Each movement causes muscles to erupt into mountain ranges that would make every bodybuilder in the world to cry in shame. And yet, for you, it’s just another weekday ending in Y. '
}, {
name: 'PostSleepBreastsRepeat1',
locationTags: ['postSleep'],
conditions: [
() => State.variables.postSleepBreastsRepeat
],
repeatable: true,
retriggerable: false,
priority: 'response',
npc: [],
content: 'Big tits. You got those. So it’s no surprise that, when you wake up, you feel that pull in front of you. They feel nice, but you’re still not used to them. Well, time to get up and see if your bra still fits or if it is once again time to get a new one. The added weight, however, is telling enough.'
}, {
name: 'PostSleepBreastsRepeat2',
locationTags: ['postSleep'],
conditions: [
() => State.variables.postSleepBreastsRepeat
],
repeatable: true,
retriggerable: false,
priority: 'response',
npc: [],
content: 'When you wake up, you feel oddly warm, despite the weather being somewhat cool. Your blankets are drenched, and you feel flush all over. Are you sick? Side effects from the potions? It becomes clear, however, as you open your eyes, that your hands are still kneading your breasts. In your sleep you had been fondling them, reminding you of how much heavier they feel. As you fully wake up, you prod them gently with a soft moan. You end up grinding your legs together as a wave of pleasure washed over you. Well, that was an interesting way to start of the day.'
}, {
name: 'PostSleepBreastsRepeat3',
locationTags: ['postSleep'],
conditions: [
() => State.variables.postSleepBreastsRepeat
],
repeatable: true,
retriggerable: false,
priority: 'response',
npc: [],
content: 'The day starts with another reminder of your constantly growing titties. Rubbing your eyes, they swing freely as you get up, still incredibly soft despite their size. Again, you notice the odd tension in them; if you didn’t know any better, you’d think they’d have grown yet again. Do you even want more of that at this point? While you start getting ready, it\'s amazing how little that question even surprises you anymore. Your body has become clay, utterly malleable, while most would find that question downright insane. But you can’t help but smirk, wondering how much bigger your tits will get, and when.'
}, {
name: 'PostSleepBreastsRepeat4',
locationTags: ['postSleep'],
conditions: [
() => State.variables.postSleepBreastsRepeat
],
repeatable: true,
retriggerable: false,
priority: 'response',
npc: [],
content: 'Your breasts feel even bigger than before… somehow. Though still a tinge of shock remains, you are quickly getting very accustomed to this, just another part of your morning routine. One thing is for sure, however: You cup them, pushing them upwards a bit… and start to enjoy the feeling of them more and more. The weight they carry is impressive, and they just make your figure look even more impressive. It compliments all the other changes to your body perfectly! And to think there are thousands of women paying so much money to undergo painful surgeries for that very reason…'
}, {
name: 'PostSleepBreastsRepeat5',
locationTags: ['postSleep'],
conditions: [
() => State.variables.postSleepBreastsRepeat
],
repeatable: true,
retriggerable: false,
priority: 'response',
npc: [],
content: 'As a young girl, you dreaded your deficient puberty. Your mom and dad were both very short, and you figured you were fated for the same height. Not only that, while other girls started showing off their improving figures, you kept flat everywhere. Well, until now. Sitting up, you feel the weight of your bigger breasts. Groaning a bit, you feel them, their undeniable mass. A question bubbles up in your barely awake brain: is this really you? Never could you’ve imagined having such tits. Not breasts, no, no, sir. These cannot be shamed with such humble nomenclature. They are now deep within tits territory. Still, it’s so unexpected. Of course, those constant thoughts of jealousy haunted your teenagehood, making you ogle the other girls with disdain. But now <<if $submissiveDominant > 0>>you feel the urge to rub it in their faces if you see them again! <<elseif $shyConfident > 0>>you got plenty to show off! <<else>>You’re not sure what to make of that, really. <</if>>'
}, {
name: 'PostSleepBreastsRepeat6',
locationTags: ['postSleep'],
conditions: [
() => State.variables.postSleepBreastsRepeat
],
repeatable: true,
retriggerable: false,
priority: 'response',
npc: [],
content: 'You’re woken up by something a hard impact against your head. The large and cold surface hits with a vengeance, slamming against your entire body. Oddly enough, it seemed to have hit your breasts first. As your brain starts working and your body reports the damage through your nerves, you shake yourself awake enough to figure out what happened: by trying to accommodate your sizable breasts, they plopped from the side of your bed and took you down to the ground with them. Acting as airbags, they absorbed the brunt of the impact, before your forehead and torso also hit the cold floor below. With a slight headache, and your mood ruined, you get up. Looking down, you slap your cursed breasts with annoyance. That’ll teach them. Yeah, right.'
}, {
name: 'PostSleepBreastsRepeat7',
locationTags: ['postSleep'],
conditions: [
() => State.variables.postSleepBreastsRepeat
],
repeatable: true,
retriggerable: false,
priority: 'response',
npc: [],
content: 'As you wake up, you put on an old, oversized shirt, yawning as you walk past the open bathroom door. Glancing at the mirror… you can’t help but laugh. Your new breasts push out violently against the fabric, tenting the piece of clothing in front of you to the point of not touching your abdomen. It looks hilarious, plain and simple. Your hair is a mess, you’re wearing an old T-shirt and yet, somehow, you got tits that would make the gods themselves blush. heh. NICE.'
}, {
name: 'PostSleepBreastsRepeat8',
locationTags: ['postSleep'],
conditions: [
() => State.variables.postSleepBreastsRepeat
],
repeatable: true,
retriggerable: false,
priority: 'response',
npc: [],
content: 'You wake up, drenched in sweat. Your legs are already grinding over each other as you remain in a dreamy state, a highly erotic fantasy fading from your mind. In it, you were gigantic, and the vivid memory of that size still ebbs and flows in your mind. Your body doesn’t move, your mind too enraptured by it. Your legs continue to grind against each other, but that is not the place this erotic heat is coming from. It\'s your breasts. They rest on your chest, almost burning up with how hot they feel. Hot and amazing. Your nipples are rock-hard, skin covered in a thin film of sweat, and they even feel… full, for some reason. Finally, your hands join in, exploring your breasts. A shiver goes through your body, goosebumps travelling everywhere. Whatever this is, it’s vivid. The memories of the dream have now faded, but the effects linger as you explore your own body. Soon your hands find your nipples, and immediately you climax, your body tensing up as all your muscles shiver. Your toes curl, your hands tighten, you bite your lips as the climax sweeps you. What a start to your day.'
}, {
name: 'PostSleepHeightRepeat1',
locationTags: ['postSleep'],
conditions: [
() => State.variables.postSleepHeightRepeat
],
repeatable: true,
retriggerable: false,
priority: 'response',
npc: [],
content: 'Its odd how much growing taller changed your life. So many little things change, yet you barely realize it throughout most of the day. So many distractions, so many things happening… yet when you wake up, each day you reminisce about your former height. When you wake up, your current body shocks you. The muscles, the mass, the height. Each day you get out of bed, you stand taller and prouder, almost losing balance for a second. Sometimes it makes you smile, sometimes it worries you. And other days you just try and get going, you have so much shit to take care of. But not this morning. Today you linger there for a bit, at your full <<heighNumeral>>. It’s such a different perspective, and it only makes you wonder… how big will you end up?'
}, {
name: 'PostSleepHeightRepeat2',
locationTags: ['postSleep'],
conditions: [
() => State.variables.postSleepHeightRepeat
],
repeatable: true,
retriggerable: false,
priority: 'response',
npc: [],
content: 'You wake up, calmly getting out of bed. For once, you feel calm and well rested. With a smile, you get up and stretch a bit, heading towards the fridge. Then you swear loudly as you fall backwards onto the floor after hitting your forehead against something. Right, the new height, that. Gently, you rub the painful spot, making sure there isn’t any blood. Right, fucking hell, you’re taller again. It\'s surprising how often you forget to account for that still.'
}, {
name: 'PostSleepHeightRepeat3',
locationTags: ['postSleep'],
conditions: [
() => State.variables.postSleepHeightRepeat
],
repeatable: true,
retriggerable: false,
priority: 'response',
npc: [],
content: 'Another day, another time waking up to that familiar soreness. You’ve become quite good at figuring it out; let\'s see, it\'s not in the muscles themselves, but around the joints, especially legs… yeah, growth pains. With a tired grunt, you get up, rubbing your legs. It’s likely you’ve grown again. Or, that your body simply has random aches again? Those have become surprisingly commonplace; one of the few negative side effects of all that has been happening. Well, you get up, hoping that as you get on with your day the unease will fade.'
}, {
name: 'PostSleepHeightRepeat4',
locationTags: ['postSleep'],
conditions: [
() => State.variables.postSleepHeightRepeat
],
repeatable: true,
retriggerable: false,
priority: 'response',
npc: [],
content: 'Waking up, everything feels fine, that is, until you stretch a bit to get the blood flowing. Suddenly, you feel a sharp stab in your spine, a jolt of pain going through your body. Immediately you stop moving, instead focusing on relieving that pain. It fades as quickly as it came. Urgh… yeah, this might happen more often. Quickly, you rub the sore spot, trying to remove the pain. With all these growth spurts, it’s not too surprising you keep going through this. How tall are you even? You haven’t measured it yet today, but given how you feel, it might be quite a bit.'
}, {
name: 'PostSleepHeightRepeat5',
locationTags: ['postSleep'],
conditions: [
() => State.variables.postSleepHeightRepeat
],
repeatable: true,
retriggerable: false,
priority: 'response',
npc: [],
content: 'You wake up on a new morning by stretching your arms, thrusting your chest outwards… only for you to immediately feel a stiff breeze on your nipples that cause you to pull back and cover yourself. Looking down… goddamit, they are getting sizable. Not only did they look bigger than most women you have ever seen, but they also remain surprisingly perky. As in, they still looked like perfect orbs even whilst floating unsupported. You touch them to see what could be causing this and… well, they felt as soft as ever. Maybe your chest muscles are serving as support for them?'
}, {
name: 'PostSleepHeightRepeat6',
locationTags: ['postSleep'],
conditions: [
() => State.variables.postSleepHeightRepeat
],
repeatable: true,
retriggerable: false,
priority: 'response',
npc: [],
content: 'As you wake up, you do so with an odd sensation of unease you’re not used to. Your entire body is shivering, and you just feel cold all over. Your still waking brain thinks of a fever, or perhaps a window was left open? All of your body feels cold. Well… that’s not true. Not your entire body. Come to think of it, it’s mostly your feet and legs, the cold creeping up from there. Opening your eyes, you look down and… ah. Before you started growing, you always loved bundling blankets around you, but with your new height, that leaves your legs bare. You can’t help but smile at how absurd this is. Old habits leaving you cold in the night.'
}, {
name: 'PostSleepHeightRepeat7',
locationTags: ['postSleep'],
conditions: [
() => State.variables.postSleepHeightRepeat
],
repeatable: true,
retriggerable: false,
priority: 'response',
npc: [],
content: 'You’d never imagined something like this could happen. Not even five minutes after waking up, sitting in the kitchen, holding ice to your head. The funny thing about height is that you easily have an ingrained sense of where everything is for your height. For example, never before did it even occur to you that the door of a cupboard would be head-height. Groaning, you’re quite sure you’ll have a bump there for the remainder of the day. Right, note to self: when you grow more, be more mindful of your surroundings.'
}, {
name: 'PostSleepHeightRepeat8',
locationTags: ['postSleep'],
conditions: [
() => State.variables.postSleepHeightRepeat
],
repeatable: true,
retriggerable: false,
priority: 'response',
npc: [],
content: 'YES. YES, YES, YES. FINALLY, IT IS TIME! You jump around the room a few times, elated. You couldn’t believe the day would come but it’s FINALLY here! Finally you have conquered your greatest nemesis, defeated your most potent enemy! The top of the cupboards. They are finally within reach! Before they stood as a land of dark and deep mysteries, holding treasure ever beyond your reach! But now you conquered them, the spoils of stale breakfast cereal finally in your hands!<br><br>Heh. Maybe you’re eating a bit too much sugar. You could almost give Johan a run for his money, being this dramatic.'
}, {
name: 'PostSleepDickRepeat1',
locationTags: ['postSleep'],
conditions: [
() => State.variables.postSleepDickRepeat
],
repeatable: true,
retriggerable: false,
priority: 'response',
npc: [],
content: 'Waking up with morning wood is now a daily occurence, despite how insane that sounds. Pulling off the blankets, you find your dick there, rock-hard with veins pulsing. You should just get up and start your day, but it pretty much demands your full attention. Even just sitting up, the cool air rolls over it, sends a shiver down your spine that makes your toes curl and causes you to bite your lips. Come on, you need to get going, but surely a small touch wouldn’t be bad? Your hot breath envelopes it, your chest heaving as the lust keeps building. Men don’t experience this, surely? This is pure you. Muscles tighten and goosebumps travel around, simply from sitting there. Just a small touch wouldn’t hurt? A single finger settles at the base, slowly working is way up the shaft, up and up until it reaches the head. Your eyes roll back, your body shivering from delight. It just feels to good to ignore, so incredibly orgasmic. Drool dribbles from the corner of your mouth, but you barely notice it. Or the fact that you’ve slid onto the floor, the cold stone only adding to the sensations against your buttocks. Another quick stroke and your mind is unable to think or resist. And another. And another. Before you realize it, your concept of time has disintegrated and you’re furiously stroking your dick, gritting your teeth. When you come to (in more ways than one), tired and covered in sweat and your own juices, your chest heaves. Fuck…. this will require some cleaning, but DAMN did this feel amazing!'
}, {
name: 'PostSleepDickRepeat2',
locationTags: ['postSleep'],
conditions: [
() => State.variables.postSleepDickRepeat
],
repeatable: true,
retriggerable: false,
priority: 'response',
npc: [],
content: 'Waking up, you barely need to open your eyes to know exactly what happened. Around your groin you feel… well, your rock-hard dick tenting the blanket. Your mouth is dry. And your entire room smells of spunk. Yeah, you had a VERY vivid dream tonight and it seems you came in your sleep. Near your dick the entire blanket is stained with cum. And it seems your dick is up and ready for some more. With a big sigh you get up, dick swinging around, as you gather your blankets to take them to the laundry. You’ll need to wash yourself too, as your dick is still dripping… with a deep sigh, you get on with your day. You might have a dick that is far too sensitive, but you still got other stuff to take care of.'
}, {
name: 'PostSleepDickRepeat3',
locationTags: ['postSleep'],
conditions: [
() => State.variables.postSleepDickRepeat
],
repeatable: true,
retriggerable: false,
priority: 'response',
npc: [],
content: 'Waking up rock-hard isn’t that surprising anymore, but what is uncommon is waking up and just feeling the weight of your dick on your leg. It’s surprisingly heavy, even when limp. Your hand goes to it, gently feeling the thick, spongy mass. The weight presses against your leg, remarkably vivid. It reminds you that this is not a dream, and that you do in fact have your very own penis. As your stand up, so does your dick, slowly getting hard from the stimuli. Softly, you whisper ‘Morning, buddy!’ as you get up, the now turgid dick swinging around a bit. Well, at least it didn’t get fully erect, then you’d have something else to deal with.'
}, {
name: 'PostSleepDickRepeat4',
locationTags: ['postSleep'],
conditions: [
() => State.variables.postSleepDickRepeat
],
repeatable: true,
retriggerable: false,
priority: 'response',
npc: [],
content: 'After waking up, you put your clothes on, some underwear and bottom. Normally, this would be rather uneventful but now… looking at yourself in the mirror, you see the clear outline of your dick through your pants. You got one now, you mostly accepted that, but this is VERY… how to put it? In your face? Urgh… after fumbling around a bit, careful to not make it harden, you fit it in a somewhat more presentable position, but still bulging somewhat. How do guys deal with this? As you sit down, you grab your phone, searching for ‘how to hide a dick’. Let’s see, the waist-band tuck, wearing a cup… huh. None of those sound like they’ll work for you. Seems like it’s just something you will have to deal with from now on.'
}, {
name: 'PostSleepDickRepeat5',
locationTags: ['postSleep'],
conditions: [
() => State.variables.postSleepDickRepeat
],
repeatable: true,
retriggerable: false,
priority: 'response',
npc: [],
content: ''
}, {
name: 'PostSleepDickRepeat6',
locationTags: ['postSleep'],
conditions: [
() => State.variables.postSleepDickRepeat
],
repeatable: true,
retriggerable: false,
priority: 'response',
npc: [],
content: ''
}, {
name: 'PostSleepDickRepeat7',
locationTags: ['postSleep'],
conditions: [
() => State.variables.postSleepDickRepeat
],
repeatable: true,
retriggerable: false,
priority: 'response',
npc: [],
content: ''
}, {
name: 'PostSleepDickRepeat8',
locationTags: ['postSleep'],
conditions: [
() => State.variables.postSleepDickRepeat
],
repeatable: true,
retriggerable: false,
priority: 'response',
npc: [],
content: ''
}, {
name: 'PostSleepDickRepeat9',
locationTags: ['postSleep'],
conditions: [
() => State.variables.postSleepDickRepeat
],
repeatable: true,
retriggerable: false,
priority: 'response',
npc: [],
content: 'Though you don’t recall having any sexually-charged dreams the night before, you wake up to the feeling of a fierce, throbbing erection under your sheets. Your cock feels primed to explode, both in a literal and metaphorical sense. It must’ve done quite a bit of growing overnight. Grunting, you pull your sheets off and clench your teeth, fighting back the threat of an imminent handsfree ejaculation. Once it seems like things are under control, you stumble out of bed and head to the bathroom. Your member is still standing to attention, its tip dangerously close to your chest. You rummage through a cabinet and locate a simple measuring tape, wrapping it around your fingers and drawing the end to the base of your penis. The number you read at the top makes you gasp. It came out to <<numeralConversion $tempDick>>, in total. Easily more cock-flesh than most men could claim to have, and now it was yours, for better or worse…'
}, {
name: 'PostSleepDickRepeat10',
locationTags: ['postSleep'],
conditions: [
() => State.variables.postSleepDickRepeat
],
repeatable: true,
retriggerable: false,
priority: 'response',
npc: [],
content: 'While waking up this morning, you felt a peculiar heat beneath your chin. Rubbing your eyes and looking down, you are startled to discover that this heat just happens to be emanating from the large, pale red tip of your gargantuan phallus. The rest of your shaft, thicker than a soda can, lies flush against your body, pulsing gently. The beast slumbers, at least for now, but you can’t fathom as to how you were supposed to stuff this into any pair of pants you currently own. It swings freely between your legs as you walk to the bathroom, like a grandfather clock. You shudder to think what it might look like when it is fully erect. Are you more of a grower or a shower? Perhaps you will find out soon enough…'
}, {
name: 'PostSleepBallsRepeat1',
locationTags: ['postSleep'],
conditions: [
() => State.variables.postSleepBallsRepeat
],
repeatable: true,
retriggerable: false,
priority: 'response',
npc: [],
content: ''
}, {
name: 'PostSleepBallsRepeat2',
locationTags: ['postSleep'],
conditions: [
() => State.variables.postSleepBallsRepeat
],
repeatable: true,
retriggerable: false,
priority: 'response',
npc: [],
content: ''
}, {
name: 'PostSleepBallsRepeat3',
locationTags: ['postSleep'],
conditions: [
() => State.variables.postSleepBallsRepeat
],
repeatable: true,
retriggerable: false,
priority: 'response',
npc: [],
content: ''
}, {
name: 'PostSleepBallsRepeat4',
locationTags: ['postSleep'],
conditions: [
() => State.variables.postSleepBallsRepeat
],
repeatable: true,
retriggerable: false,
priority: 'response',
npc: [],
content: ''
}, {
name: 'PostSleepBallsRepeat5',
locationTags: ['postSleep'],
conditions: [
() => State.variables.postSleepBallsRepeat
],
repeatable: true,
retriggerable: false,
priority: 'response',
npc: [],
content: 'This morning, you make the rather painful discovery that squeezing your legs together upon waking up is far from a wise decision. Your freshly-grown plums need their space now, and are keen to remind you when that space is violated by your thighs. <<if $carefreeCarefull > 0>> Thankfully, you are more than careful enough to avoid any unwanted squeezing, and give your balls plenty of room to breathe.<<else>>Unfortunately, you are not always keen enough to avoid clamping down on your hefty jewels whenever you move your legs, and find it difficult to adjust when sitting down.<</if>>The literal fruits of your loins sway vigorously as you brush your teeth this morning, in sync with your every motion.'
}, {
name: 'PostSleepBallsRepeat6',
locationTags: ['postSleep'],
conditions: [
() => State.variables.postSleepBallsRepeat
],
repeatable: true,
retriggerable: false,
priority: 'response',
npc: [],
content: 'The weight you feel beneath your crotch every morning has grown fairly significant, with the size of your balls looking to rival the kind used to play tennis any day now. They hang from beneath the base of your cock like a pair of pendulous bells. Their heft has become more than apparent, and their increasing size was bound to create quite the suspicious outline in whatever pair of pants you chose to wear. Virility and femininity didn’t typically go hand-in-hand, but maybe, with a convincing demeanor and concealing dress, you could make it work.'
}, {
name: 'PostSleepBallsRepeat7',
locationTags: ['postSleep'],
conditions: [
() => State.variables.postSleepBallsRepeat
],
repeatable: true,
retriggerable: false,
priority: 'response',
npc: [],
content: 'Waking up without your legs being spread apart is a complete impossibility at this point. Your overripe testicles, each approaching the size of a cantaloupe, force your legs to stay apart whenever you sit or lay down. This morning, when you woke up, you accidentally pushed your legs together as you stumbled out of sleep. The sudden pressure made you moan unexpectedly, and caused a stream of precum to pour out of your cock. They feel incredibly tight, but then again, that was pretty much a constant, these days. You rub one of your massive orbs, feeling…<<if $shyConfident > 0>>proud. Empowered, even. The size and tautness make you smile, and compel you to give another light squeeze, making you dribble one more time. Your productivity could put breeding bulls to shame.<<else>>Worried. How were you going to stuff these into a pair of jeans or leggings? Even if you could, the outline would be impossible to miss, and all this leaking… <</if>>'
}, {
name: 'PostSleepLipsRepeat1',
locationTags: ['postSleep'],
conditions: [
() => State.variables.postSleepLipsRepeat
],
repeatable: true,
retriggerable: false,
priority: 'response',
npc: [],
content: ''
}, {
name: 'PostSleepLipsRepeat2',
locationTags: ['postSleep'],
conditions: [
() => State.variables.postSleepLipsRepeat
],
repeatable: true,
retriggerable: false,
priority: 'response',
npc: [],
content: ''
}, {
name: 'PostSleepLipsRepeat3',
locationTags: ['postSleep'],
conditions: [
() => State.variables.postSleepLipsRepeat
],
repeatable: true,
retriggerable: false,
priority: 'response',
npc: [],
content: 'Rising from sleep this morning was uneventful, and nothing seemed out of place, right up until you entered the bathroom and looked in the mirror. Your mouth, previously simple and unassuming, seems to have been framed by reddish, fairly full lips. They pop out from the rest of your face, very plump, but not necessarily unappealing. As you brush your teeth, though, you get the gut feeling that this could easily get out of hand given your recent record.'
}, {
name: 'PostSleepLipsRepeat4',
locationTags: ['postSleep'],
conditions: [
() => State.variables.postSleepLipsRepeat
],
repeatable: true,
retriggerable: false,
priority: 'response',
npc: [],
content: 'The thickness of your lips is apparent as soon as you wake up, now with the edges of your pillowy kissers visible in the bottom corners of your field of vision. To get the full perspective on their size, though, you head into your bathroom and gaze into the mirror. They’re very plump, now, to a degree not many other women could boast. With a bit of makeup, you could easily pass as a glitzy reality TV bimbo. This makes you think…<<if $shyConfident > 0>> maybe a bit of makeup was in order. After all, lips like these were pretty much one of a kind, and deserve to be flaunted. One way or another, you are going to look gorgeous!<<else>> how are you going to keep this under wraps?! People would probably think you were injecting botox or whatever it is those influencers do, especially if they keep growing at this rate.<</if>>'
}, {
name: 'PostSleepTongueRepeat1',
locationTags: ['postSleep'],
conditions: [
() => State.variables.postSleepTongueRepeat
],
repeatable: true,
retriggerable: false,
priority: 'response',
npc: [],
content: ''
}, {
name: 'PostSleepTongueRepeat2',
locationTags: ['postSleep'],
conditions: [
() => State.variables.postSleepTongueRepeat
],
repeatable: true,
retriggerable: false,
priority: 'response',
npc: [],
content: ''
}, {
name: 'PostSleepTongueRepeat3',
locationTags: ['postSleep'],
conditions: [
() => State.variables.postSleepTongueRepeat
],
repeatable: true,
retriggerable: false,
priority: 'response',
npc: [],
content: ''
}, {
name: 'PostSleepTongueRepeat4',
locationTags: ['postSleep'],
conditions: [
() => State.variables.postSleepTongueRepeat
],
repeatable: true,
retriggerable: false,
priority: 'response',
npc: [],
content: ''
}, {
name: 'PostSleepTongueRepeat5',
locationTags: ['postSleep'],
conditions: [
() => State.variables.postSleepTongueRepeat
],
repeatable: true,
retriggerable: false,
priority: 'response',
npc: [],
content: 'It was a peaceful sleep, and you feel well rested. Getting ready you brush your teeth and… urgh, that tongue of yours keeps getting in the way. You never quite figured out how it fits there at all, given how big it is, but it’s rather annoying when you brush your teeth. Something to get used to, you guess.'
}, {
name: 'PostSleepTongueRepeat6',
locationTags: ['postSleep'],
conditions: [
() => State.variables.postSleepTongueRepeat
],
repeatable: true,
retriggerable: false,
priority: 'response',
npc: [],
content: 'This time you are woken up by a rather strange feeling; a dampness on your pillow. Groggily, you open your eyes and… oh. Your tongue was merely hanging from your mouth, drooling all over it. Normally, that wouldn’t be such a problem, but for one as big as yours… yeah. Well, time to do some extra laundry this morning…'
}, {
name: 'PostSleepExpertCook',
locationTags: ['postSleep'],
conditions: [
() => State.variables.skills[2].level >= 4
],
repeatable: true,
retriggerable: false,
priority: 'response',
npc: [],
content: ''
}, {
name: 'PostSleepExpertWorkout',
locationTags: ['postSleep'],
conditions: [
() => State.variables.skills[0].level >= 4
],
repeatable: true,
retriggerable: false,
priority: 'response',
npc: [],
content: ''
}, {
name: 'PostSleepExpertSewing',
locationTags: ['postSleep'],
conditions: [
() => State.variables.skills[6].level >= 4
],
repeatable: true,
retriggerable: false,
priority: 'response',
npc: [],
content: ''
}, {
name: 'PostSleepExpertBookKeeping',
locationTags: ['postSleep'],
conditions: [
() => State.variables.skills[2].level >= 4
],
repeatable: true,
retriggerable: false,
priority: 'response',
npc: [],
content: ''
})>><<set setup.events.push({
name: 'PostSleepFiller1',
locationTags: ['postSleep'],
conditions: [],
repeatable: true,
retriggerable: false,
priority: 'filler',
npc: [],
content: 'Finally, a quick rest. With all that has been going on lately, that’s almost a luxury, but today you feel fully restored. As you sit up, you stretch a bit, feeling an odd sense of tranquility washing over you. Today is a new day, and it’s yours for the taking!'
}, {
name: 'PostSleepFiller2',
locationTags: ['postSleep'],
conditions: [],
repeatable: true,
retriggerable: false,
priority: 'filler',
npc: [],
content: 'Another day since you moved. Yet, this time, you don\'t have any soreness, and you actually feel rested! What a wonderful feeling. Today you\'ll make sure to enjoy it to the fullest!'
}, {
name: 'PostSleepFiller3',
locationTags: ['postSleep'],
conditions: [],
repeatable: true,
retriggerable: false,
priority: 'filler',
npc: [],
content: 'Over the city you loom, your muscles bulging. Every step of your giant feet makes the earth rumble under you, people hurrying away in a panic as the tremors make your presence known. Every breath of air you exhale sends storms flying around you, every twitch of your body making your muscles bulge and- WHAT THE FUCK. You wake up in a pool of your own sweat from the most vivid dream you ever had. Clutching your head, you sit up, and as your feet hit the floor you can still feel vividly the tremors from your dream. Well, this is... a strange way to start the day...'
}, {
name: 'PostSleepFiller4',
locationTags: ['postSleep'],
conditions: [],
repeatable: true,
retriggerable: false,
priority: 'filler',
npc: [],
content: 'God, today you wake up feeling STRONG! You don\'t know what it is, but your body just feels full of energy. Within seconds, you\'re up, and quickly get dressed and all ready for whatever the day brings!'
}, {
name: 'PostSleepFiller5',
locationTags: ['postSleep'],
conditions: [],
repeatable: true,
retriggerable: false,
priority: 'filler',
npc: [],
content: 'Why does your back hurt when you wake up? No, scrap that. EVERYTHING hurts. Yet weirdly enough, only your joints? Sort of? No, no, no, as you sit up, you\'re quite sure EVERYTHING hurts. Great... urgh, you fight the urge to just get back in bed...'
})>><<nobr>>
<<widget "sleepUpdate">>
/* Tiredness */
<<set $exhaustion += $tiredness>>
<<set $tiredness *= 0.5>>
<<include "sleepUpdateHeight">>
/* Diet */
/* Diet */
<span id="foodHidden" style="visibility: hidden;"><<getMeasurement "weight" false>></span>
<<set $foodCostMod to ($weight /93)>>
<<set $money -= $foodCost>>
<<set $muscleGrowthMaxDiet to $currentDiet.muscleGain>>
<<set $fat += $currentDiet.fatGain>>
<<set $fat += $fatStore>>
<<set $fatStore *= 0.5>>
<<set $fat to Math.clamp($fat, 0, 99999)>>
<<if $foodCostMod > 1.2 && $foodCost > 0>>
<<addToLog "<b>You're eating quite a lot more lately. You spent around $<<print Math.round($foodCost)>> on food today alone!</b>">>
<</if>>
<<include "sleepUpdateMuscle">>
<<include "sleepUpdateBreasts">>
<<include "sleepUpdateDick">>
<<include "sleepUpdateMisc">>
<<include "temporaryPersonalityUpdate">>
<</widget>>
<</nobr>><<nobr>>
<<widget "dailyConsumables">>
<<set $muscleGrowthMod to 1>>
<<set $muscleGrowthMaxTemp to 0>>
<<set $exhaustionWorkoutMod to 0>>
<<for _igymStoreSupply to 0; _igymStoreSupply < $gymStoreSupplies.length; _igymStoreSupply ++>>
<<capture _igymStoreSupply>>
<<if $gymStoreSupplies[_igymStoreSupply].takeDaily > 0>>
<<set $gymStoreSupplies[_igymStoreSupply].effectStore *= 0.5>>
<<set $gymStoreSupplies[_igymStoreSupply].effectStore to Math.round($gymStoreSupplies[_igymStoreSupply].effectStore)>>
<<if $gymStoreSupplies[_igymStoreSupply].takeDaily * 3 >= $gymStoreSupplies[_igymStoreSupply].amount>>
<<set _warningString to "You only have " + $gymStoreSupplies[_igymStoreSupply].amount + " doses left of " + $gymStoreSupplies[_igymStoreSupply].name + " so you might run out soon.">>
<<addToLog _warningString>>
<</if>>
<<if $gymStoreSupplies[_igymStoreSupply].takeDaily <= $gymStoreSupplies[_igymStoreSupply].amount>>
<<set _amountTaken to $gymStoreSupplies[_igymStoreSupply].takeDaily>>
<<else>>
<<set _amountTaken to $gymStoreSupplies[_igymStoreSupply].amount>>
<<set _ranOutLog to "You're clean out of " + $gymStoreSupplies[_igymStoreSupply].name + ".">>
<<addToLog _ranOutLog>>
<<set $gymStoreSupplies[_igymStoreSupply].takeDaily to 0>>
<</if>>
<<set $gymStoreSupplies[_igymStoreSupply].amount -= _amountTaken>>
<<set _X to _amountTaken + $gymStoreSupplies[_igymStoreSupply].effectStore>>
<<set _Y to 0>>
<<if _X == 0>>
<<continue>>
<</if>>
<<if $growthMod is 0.5>>
<<set _Y to (0.25 + (0.5 / (-1.5 * _X)))>>
<<elseif $growthMod is 1>>
<<set _Y to (0.5 + (0.34 / (-1.5* _X)))>>
<<elseif $growthMod is 1.5>>
<<set _Y to (0.5 + (0.34 / (-1.5* _X)))>>
<<else>>
<<addToLog "ERROR IN GROWTHMOD DAILYCONSUMABLES">>
<</if>>
<<if $gymStoreSupplies[_igymStoreSupply].effect is "lowerExhaustion">>
<<set $exhaustionWorkoutMod += (_Y * 0.2 * $gymStoreSupplies[_igymStoreSupply].effectScale)>>
<<elseif $gymStoreSupplies[_igymStoreSupply].effect is "raiseMax">>
<<set $muscleGrowthMaxTemp += (setup.balance.muscleAllowancePerDay * $gymStoreSupplies[_igymStoreSupply].effectScale) * _Y>>
<<elseif $gymStoreSupplies[_igymStoreSupply].effect is "raiseEfficiency">>
<<set $muscleGrowthMod += (setup.balance.muscleAllowancePerDay * $gymStoreSupplies[_igymStoreSupply].effectScale) * _Y>>
<</if>>
<</if>>
<</capture>>
<</for>>
<<set $muscleGrowthMod to Math.clamp($muscleGrowthMod, 0, 99999)>>
<<set $muscleGrowthMaxTemp to Math.clamp($muscleGrowthMaxTemp, 0, 99999)>>
<</widget>>
<</nobr>><<nobr>>
<<widget "workoutLink">>
<<set _muscleGainWorkout to setup.balance.muscleAllowancePerDay * $workoutSkillMuscleGainMod>>
<<set _workoutTime to $baseWorkoutTime * $workoutSkillTimeMod>>
<<set _workoutExhaustion to $gymExhaustionPerWorkout * $workoutSkillExhaustionMod>>
<<set _workoutMinimumExhaustion to $gymMinimumExhaustionPerWorkout * $workoutSkillMinimumExhaustionMod>>
<<if $motivationPercentage >= $exhaustionPercentage>>
<<if $money < 25 && $args[0] is "gym">>
You don't have enough money to afford working out here now.
<br><br>
<<else>>
<br><br>
<</if>>
<<else>>
You just can't bring yourself to work out right now.
<br><br>
<</if>>
<<if $exhaustionPercentage < $motivationPercentage && $exhaustion + _workoutExhaustion < 100>>
<<if $muscleStore > (($muscleGrowthMax + $muscleGrowthMaxTemp + $muscleGrowthMaxDiet) * $muscleGrowthMod * ($workingOutBonus**2 * 0.9))>>
<<if $args[0] is "gym">>
<<set _workoutString to "You could work out again, but your body is still recovering from the previous exercise. A workout might do more harm than good, at least today. ($25)">>
<<else>>
<<set _workoutString to "You could work out again, but your body is still recovering from the previous exercise. A workout might do more harm than good, at least today.">>
<</if>>
<<else>>
<<if $args[0] is "gym">>
<<set _workoutString to "Work out. ($25)">>
<<else>>
<<set _workoutString to "Work out">>
<</if>>
<</if>>
<<if $args[0] is "gym" && $money > 25>>
<<gameLink _workoutString "workout" time:_workoutTime exhaustion:_workoutExhaustion minExhaustion:_workoutMinimumExhaustion>><<if $args[0] is "gym">><<set $money -= 25>><</if>><<set $workout to $args[0]>> <<addMuscleSlow _muscleGainWorkout>><</gameLink>>
<<update>>
<<elseif $args[0] != "gym">>
<<gameLink _workoutString "workout" time:_workoutTime exhaustion:_workoutExhaustion minExhaustion:_workoutMinimumExhaustion>><<if $args[0] is "gym">><</if>><<set $workout to $args[0]>> <<addMuscleSlow _muscleGainWorkout>><</gameLink>>
<<update>>
<<else>>
You don't have enough money to afford working out here now.
<</if>>
<<else>>
You just can't bring yourself to work out right now, you're just too exhausted.
<</if>>
<</widget>>
<</nobr>><<nobr>>
<<for _i to 0; _i < $skills.length; _i ++>>
<<capture _i>>
<<if $skills[_i].name is "Book keeping">>
<<set _SkillI to _i>>
<</if>>
<</capture>>
<</for>>
<<if $skills[_SkillI].level >= 4 && $daysWorkedOffice > 16>>
<<set $emmaPromotion2 to true>>
<<elseif $skills[_SkillI].level >= 2 && $daysWorkedOffice > 8>>
<<set $emmaPromotion1 to true>>
<</if>>
<<run $gameDate.setHours(17)>>
<</nobr>>
<<if $skills[_SkillI].level is 0>>
Looking at your tasks you feel utterly incompetent. While most of them are similar, they all require some understanding of accounting that you simply don't have. You manage to get some work done, but if you want to avoid being fired, you should REALLY read up on bookkeeping, accounting and stuff.
<<set _gainedMoney to setup.balance.baseMoneyPerDay * 0.9 * $officePromotionBonus>>
<<skillIncrease "Book keeping" 20>>
<<elseif $skills[_SkillI].level is 1>>
Looking at the tasks, you at least have SOME idea of what needs to be done, and your basic understanding already helps a lot. As you get to work, you tackle them one by one, though you now know the reward for completing all of them: even more work.
<<set _gainedMoney to setup.balance.baseMoneyPerDay * 1 * $officePromotionBonus>>
<<skillIncrease "Book keeping" 10>>
<<elseif $skills[_SkillI].level is 2>>
Opening the cascading list, you get to work, and it isn't too hard. It seems even the understanding of bookkeeping you have is enough and you make quick work of it all, even allowing for a break now and then without compromising your deadlines!
<<set _gainedMoney to setup.balance.baseMoneyPerDay * 1.25 * $officePromotionBonus>>
<<skillIncrease "Book keeping" 5>>
<<elseif $skills[_SkillI].level is 3>>
The mailbox chimes open and you rush through your tasks, and you gotta admit... it's almost getting a bit boring! Your skills allow you to just drop them like flies, but they feel more and more repetitive. Still, another dollar made, right?
<<set _gainedMoney to setup.balance.baseMoneyPerDay * 1.5 * $officePromotionBonus>>
<<skillIncrease "Book keeping" 1>>
<<else>>
With your outstanding skills, all your work is done in under an hour, and the rest is mostly spent online looking at pictures of cute pets or silly stuff. People are really happy with all the work you do, but it is anything but challenging!
<<set _gainedMoney to setup.balance.baseMoneyPerDay * 2 * $officePromotionBonus>>
<</if>>
<<include "jobEvents">>
<<include "jobBodyDescr">>
<br><br>
You earned $<<print _gainedMoney>> today!
<<set $money += _gainedMoney>>
<br><br>
<<if $emmaDate1 != true>>
<<link "Go home" "Home">><<set $daysWorkedOffice += 1>><</link>>
<<else>>
<<link "Go on the date with Emma - 04:00 🕛" "emmaDate1.2">><<set $daysWorkedOffice += 1>><</link>>
<</if>><<nobr>>
<<widget "streamingViewerIncomeCalc">>
<<set $streamingViewers to 0>>
<<set $subscribers to 0>>
<<set $amountOfStreams += 1>>
<<set $streamingViewers += $amountOfStreams>>
<<set $streamingViewers += Math.clamp(($height - 150) * 2, 0, 999)>>
<<set $streamingViewers += Math.clamp(($muscle - 20) * 2, 0, 999)>>
<<set $streamingViewers += Math.clamp(($fat - 20) * 1, 0, 999)>>
<<set $streamingViewers += Math.clamp(($breasts - 10) * 3, 0, 999)>>
<<set $streamingViewers += Math.clamp(($dick - 0) * 1, 0, 999)>>
<<if $args[0] is "gaming">>
<<for _i to 0; _i < $skills.length; _i ++>>
<<capture _i>>
<<if $skills[_i].name is "gaming">>
<<set _gamingSkillI to _i>>
<</if>>
<</capture>>
<</for>>
<<set $streamingViewers += $skills[_gamingSkillI].level * 25>>
<</if>>
<<set $streamingViewers += (1 + ($shyConfident * 0.1))>>
<<set $streamingViewers += (1 + ($carefreeCarefull * -0.1))>>
<<set _randomFactor to random(90,100) * 0.01>>
<<set $streamingViewers to Math.round($streamingViewers * _randomFactor)>>
<<set $subscribers to Math.round($streamingViewers / 5)>>
<</widget>>
<</nobr>><<if $krisInterested is false and $gameDate.getHours() <= 20 and $gameDate.getHours() >= 12>>
You order a nice coffee, something fancy to relax with. It is brilliantly brewed and brought to you in no time.
<br><br>
<<addMinutes 10>>
Time flies by surprisingly fast as you just sit there, enjoying the moment and just idly people-watching. <<addMinutes 10>>
<<else>>
You order a nice coffee, something fancy to relax with. It is brilliantly brewed and brought to you in no time.
<br><br>
Time flies by surprisingly fast as you just sit there, enjoying the moment and just idly people-watching. <<addMinutes 10>>
<</if>>
<br><br>
<<link "return" "BookStore">><</link>><<set $postSleepMuscleDialog1 to false>>
<<set $postSleepMuscleDialog2 to false>>
<<set $postSleepMuscleDialog3 to false>>
<<set $postSleepMuscleDialog4 to false>>
<<set $postSleepMuscleDialog5 to false>>
<<set $postSleepMuscleRepeat to false>>
<<set $postSleepBreastsDialog1 to false>>
<<set $postSleepBreastsDialog2 to false>>
<<set $postSleepBreastsDialog3 to false>>
<<set $postSleepBreastsDialog4 to false>>
<<set $postSleepBreastsDialog5 to false>>
<<set $postSleepBreastsRepeat to false>>
<<set $postSleepHeightDialog1 to false>>
<<set $postSleepHeightDialog2 to false>>
<<set $postSleepHeightDialog3 to false>>
<<set $postSleepHeightDialog4 to false>>
<<set $postSleepHeightDialog5 to false>>
<<set $postSleepHeightRepeat to false>>
<<set $postSleepDickDialog1 to false>>
<<set $postSleepDickDialog2 to false>>
<<set $postSleepDickDialog3 to false>>
<<set $postSleepDickDialog4 to false>>
<<set $postSleepDickDialog5 to false>>
<<set $postSleepDickRepeat to false>>
<<set $postSleepTongueDialog1 to false>>
<<set $postSleepTongueDialog2 to false>>
<<set $postSleepTongueDialog3 to false>>
<<set $postSleepTongueDialog4 to false>>
<<set $postSleepTongueDialog5 to false>>
<<set $postSleepTongueRepeat to false>>
<<set $postSleepLipsDialog1 to false>>
<<set $postSleepLipsDialog2 to false>>
<<set $postSleepLipsDialog3 to false>>
<<set $postSleepLipsRepeat to false>>Before we begin the game, you can customize your starting character a bit. You can spend <<print $startingSkillPoints>> point(s) to increase any skill. Skills have several benefits, and while these are your starting abilities, you may learn more during gameplay. You also have <<print $startingPersonalityPoints>> personality point(s) to customize your character. Personality determines a lot of the interactions with other characters, and may also fluctuate during the story.
<br><br>
<table>
<tr>
<th style="width:50%;vertical-align: top;">
<div style="width:100%;padding-block: inherit;display: table; height:450px;">
<span class="player mirror"><span style="width:300px; height:300px; padding: 10px 10px 10px 10px; border-radius: 300px;" class="avatar mirror"></span></span></div>
</th>
<th style="width:50%;vertical-align: top;">
<<radarChart>>
</th>
</tr>
<tr>
<th style="width:50%;vertical-align: top;">
<div id="charSheetInfo" style="height: 100%;
width: 100%;
position: relative;
z-index: 1;
top: 0;
overflow-x: hidden;
padding-top: 20px;
vertical-align: top;
">
<h2>Skills:</h2>
<<for _i to 0; _i < $skills.length; _i ++>><<nobr>>
<<capture _i>>
<h3><<print $skills[_i].name>>:
<<if $skills[_i].level is 0>>inexperienced
<<elseif $skills[_i].level is 1>>beginner
<<elseif $skills[_i].level is 2>>intermediate
<<elseif $skills[_i].level is 3>>expert
<<elseif $skills[_i].level is 4>>master
<</if>>
<<if $startingSkillPoints > 0>>
<<link "➕" "startPoints">>
<<set $skills[_i].level +=1>>
<<set $startingSkillPoints -= 1>>
<<if $skills[_i].level is 1>>
<<set $skills[_i].experience to 50>>
<<elseif $skills[_i].level is 2>>
<<set $skills[_i].experience to 150>>
<</if>>
<</link>>
<</if>>
<<if $skills[_i].level > 0>>
<<link "➖" "startPoints">>
<<set $skills[_i].level -=1>>
<<set $startingSkillPoints += 1>>
<<if $skills[_i].level is 1>>
<<set $skills[_i].experience to 50>>
<<elseif $skills[_i].level is 0>>
<<set $skills[_i].experience to 0>>
<</if>>
<</link>>
<</if>>
</h3>
<table class="skill" @data-num="_i" style="width:100%;">
<tr>
<<if $skills[_i].level >= 0>>
<td class="skillbar" @data-num="_i" style=" background:Crimson;">
</td>
<<else>>
<td class="skillbar" @data-num="_i" style=" background:#4d4d4d;">
</td>
<</if>>
<<if $skills[_i].level >= 1>>
<td class="skillbar" @data-num="_i" style="background:Tomato;">
</td>
<<else>>
<td class="skillbar" @data-num="_i" style=" background:#4d4d4d;">
</td>
<</if>>
<<if $skills[_i].level >= 2>>
<td class="skillbar" @data-num="_i" style="background:Orangered;">
</td>
<<else>>
<td class="skillbar" @data-num="_i" style=" background:#4d4d4d;">
</td>
<</if>>
<<if $skills[_i].level >= 3>>
<td class="skillbar" @data-num="_i" style="background:yellow;">
</td>
<<else>>
<td class="skillbar" @data-num="_i" style=" background:#4d4d4d;">
</td>
<</if>>
<<if $skills[_i].level >= 4>>
<td class="skillbar" @data-num="_i" style="background:gold;">
</td>
<<else>>
<td class="skillbar" @data-num="_i" style=" background:#4d4d4d;">
</td>
<</if>>
</tr>
</table>
<br>
<<print $skills[_i].description>>
<br>
Unlocked skill benefits:
<br>
<<for _iSkillLevel to 0; _iSkillLevel < $skills[_i].level; _iSkillLevel ++>>
<<capture _iSkillLevel>>
<<print $skills[_i].unlocks[_iSkillLevel + 0]>><br>
<</capture>>
<</for>>
<br>
<</capture>><</nobr>>
<</for>>
</div>
</th>
<th style="width:50%;vertical-align: top; text-align:center;">
<br><br>
<<if $startingPersonalityPoints > 0>>
<<link "+1 dominant" "startPoints">>
<<set $addedDominant += 1>>
<<set $startingPersonalityPoints -= 1>>
<<set $submissiveDominant += 1>>
<</link>>
<</if>>
<<if $addedDominant > 0>>
<<link "-1 dominant" "startPoints">>
<<set $addedDominant -= 1>>
<<set $startingPersonalityPoints += 1>>
<<set $submissiveDominant -= 1>>
<</link>>
<</if>>
<<if $startingPersonalityPoints > 0>>
<<link "+1 submissive" "startPoints">>
<<set $addedSubmissive += 1>>
<<set $startingPersonalityPoints -= 1>>
<<set $submissiveDominant -= 1>>
<</link>>
<</if>>
<<if $addedSubmissive > 0>>
<<link "-1 submissive" "startPoints">>
<<set $addedSubmissive -= 1>>
<<set $startingPersonalityPoints += 1>>
<<set $submissiveDominant += 1>>
<</link>>
<</if>>
<<if $startingPersonalityPoints > 0>>
<<link "+1 confident" "startPoints">>
<<set $addedConfident += 1>>
<<set $startingPersonalityPoints -= 1>>
<<set $shyConfident += 1>>
<</link>>
<</if>>
<<if $addedConfident > 0>>
<<link "-1 shy" "startPoints">>
<<set $addedConfident -= 1>>
<<set $startingPersonalityPoints += 1>>
<<set $shyConfident -= 1>>
<</link>>
<</if>>
<<if $startingPersonalityPoints > 0>>
<<link "+1 carefree" "startPoints">>
<<set $addedCarefree += 1>>
<<set $startingPersonalityPoints -= 1>>
<<set $carefreeCarefull -= 1>>
<</link>>
<</if>>
<<if $addedCarefree > 0>>
<<link "-1 carefree" "startPoints">>
<<set $addedCarefree -= 1>>
<<set $startingPersonalityPoints += 1>>
<<set $carefreeCarefull += 1>>
<</link>>
<</if>>
<<if $startingPersonalityPoints > 0>>
<<link "+1 careful" "startPoints">>
<<set $addedCareful += 1>>
<<set $startingPersonalityPoints -= 1>>
<<set $carefreeCarefull += 1>>
<</link>>
<</if>>
<<if $addedCareful > 0>>
<<link "-1 careful" "startPoints">>
<<set $addedCareful -= 1>>
<<set $startingPersonalityPoints += 1>>
<<set $carefreeCarefull -= 1>>
<</link>>
<</if>>
<br>
<span style="text-align:left;">
<h2>Favorite clothing style:</h2>
<h3>wearing clothes in this style gives +1 confidence</h3>
<<radiobutton "$favoriteStyle" "casual" autocheck>> casual <br>
<<radiobutton "$favoriteStyle" "tomboy" autocheck>> tomboy <br>
<<radiobutton "$favoriteStyle" "nerdy" autocheck>> nerdy <br>
<<radiobutton "$favoriteStyle" "professional" autocheck>> professional <br>
<<radiobutton "$favoriteStyle" "stylish" autocheck>> stylish <br>
<<radiobutton "$favoriteStyle" "punk" autocheck>> punk <br>
<<radiobutton "$favoriteStyle" "sporty" autocheck>> sporty <br>
<<radiobutton "$favoriteStyle" "sexy" autocheck>> sexy <br>
<<radiobutton "$favoriteStyle" "girly" autocheck>> girly <br>
</span>
</th>
</tr>
</table>
<<link "Continue" "GameIntro">>
<<for _i to 0; _i < $skills.length; _i ++>><<nobr>>
<<capture _i>>
<<set _added to "">>
<<if $skills[_i].level >= 1>>
<<set _skillLevel to "beginner">>
<<if $skills[_i].name is "Sewing">>
<<set _added to "<br> And not only that, you can now scrap projects and get 50% of the fabric back!">>
<<set $fabricScrapPercentage to 0.5>>
<<set $sewingUnlocked to true>>
<</if>>
<<if $skills[_i].name is "Working out">>
<<set _added to "<br> And with the basics of working out understood, you think you can now get a good workout in quicker, without getting as tired.">>
<<set $workoutSkillTimeMod -= 0.25>>
<<set $workoutSkillMuscleGainMod += 0.1>>
<<set $workoutSkillExhaustionMod -= 0.1>>
<</if>>
<<if $skills[_i].name is "Cooking">>
<<set _added to "<br> And with what you learned, all your cooking is now cheaper and tastes better, making it all the better to eat. And you learned some new recipes to boot!">>
<<set $cookingSkillPriceReduction to 0.9>>
<<set $cookingSkillMotivationBonus to 1.1>>
<<set $diets.push({ name: "Protein rich diet",
level: 0,
muscleGain: setup.balance.muscleAllowancePerDay * 0.2,
fatGain: 0.1,
price: setup.balance.baseMoneyPerDay * 1.2,
time: 60,
happinessGain: -20,
minimumExhaustion: 10,
description: "Eating a protein-rich diet will let you bulk up fast, but it's hard to maintain and pretty expensive."})>>
<<set $diets.push({ name: "Lean diet",
level: 0,
muscleGain: setup.balance.muscleAllowancePerDay * 0,
fatGain: -0.5,
price: setup.balance.baseMoneyPerDay * 1.2,
time: 60,
happinessGain: -20,
minimumExhaustion: 10,
description: "This lean diet is perfect for not losing too much muscle, but allowing you to lose fat."})>>
<</if>>
<</if>>
<<if $skills[_i].level >= 2>>
<<if $skills[_i].name is "Working out">>
<<set $shyConfident += 1>>
<<set $workoutSkillMuscleGainMod += 0.1>>
<<set _added to "<br> And not only that, you get the feeling that all this knowledge about working out helped you to get more confident too! +1 confidence.">>
<<elseif $skills[_i].name is "Sewing">>
<<set _added to "<br> And not only that, you can now craft clothing from scratch with your sewing machine!">>
<</if>>
<<if $skills[_i].name is "Cooking">>
<<set _added to "<br> And with what you learned, all your cooking is now done faster, and with some new recipes too!">>
<<set $cookingSkilltimeReduction to 0.9>>
<<set $diets.push({ name: "Fancy cooking",
level: 0,
muscleGain: setup.balance.muscleAllowancePerDay * 0.2,
fatGain: 0.5,
price: setup.balance.baseMoneyPerDay * 5,
time: 120,
happinessGain: -30,
minimumExhaustion: -20,
description: "With this, you'll really challenge your cooking skills. It won't be cheap or healthy, but it'll be FUN."})>>
<</if>>
<<set _skillLevel to "intermediate">>
<</if>>
<<if $skills[_i].level >= 3>>
<<if $skills[_i].name is "Book keeping">>
<<addTrigger "expertBookKeeper" false false>>
<<set $carefreeCarefull += 1>>
<<set _added to "<br> And not only that, you get the feeling that all this knowledge of finances allows you to be more careful. +1 Carefulness.">>
<</if>>
<<if $skills[_i].name is "Cooking">>
<<set $cookingMealPrep to true>>
<<set _added to "<br> And not only that, you can now prepare meals in advance in your kitchen, which can be stored and consumed later, to save time!">>
<</if>>
<<if $skills[_i].name is "Working out">>
<<set _added to "<br> And now you're a regular in the gym, you'll have no problem getting even more gains in!">>
<<set $workoutSkillTimeMod -= 0.25>>
<<set $workoutSkillMuscleGainMod += 0.1>>
<<set $workoutSkillMinimumExhaustionMod -= 0.1>>
<</if>>
<<if $skills[_i].name is "Sewing">>
<<set _added to "<br> And not only that, you can now scrap projects and get 75% of the fabric back!">>
<<set $fabricScrapPercentage to 0.75>>
<</if>>
<<if $skills[_i].name is "Cooking">>
<<set _added to "<br> And with what you learned, your cooking is now EVEN FASTER, and with some new recipes too!">>
<<set $cookingSkilltimeReduction to 0.8>>
<<set $diets.push({ name: "Cutting",
level: 0,
muscleGain: setup.balance.muscleAllowancePerDay * 0.2,
fatGain: -1,
price: setup.balance.baseMoneyPerDay * 1.2,
time: 45,
happinessGain: -30,
minimumExhaustion: -20,
description: "This diet is tailor-made for minimizing muscle loss and maximizing weight loss."})>>
<</if>>
<<set _skillLevel to "expert">>
<</if>>
<<if $skills[_i].level >= 4>>
<<set _skillLevel to "master">>
<<if $skills[_i].name is "Working out">>
<<set $workoutSkillMuscleGainMod += 0.2>>
<<set $workoutSkillMinimumExhaustionMod -= 0.2>>
<<set $shyConfident += 1>>
<<set _added to "<br> And not only that, you get the feeling that all this knowledge about working out helped you to get more confident too! +1 confidence.">>
<</if>>
<<if $skills[_i].name is "Sewing">>
<<set _added to "<br> And not only that, sewing sessions now only take you 20 minutes instead of 30!">>
<</if>>
<<if $skills[_i].name is "Cooking">>
<<set _added to "<br> And with what you learned, all your cooking is now cheaper, quicker, tastier! It's the best of all worlds!">>
<<set $cookingSkillPriceReduction to 0.8>>
<<set $cookingSkillMotivationBonus to 1.2>>
<</if>>
<</if>>
<</capture>><</nobr>>
<</for>>
<</link>>/* Height */
<<set $height += ($heightStore * $heightMod)>>
<<if $heightStore > 0.2 && $postSleepHeightDialog1 is false>>
<<addTrigger "postSleepHeightDialog1" false false>>
<<set $postSleepHeightDialog1 to true>>
<<elseif $heightStore > 0.2 && $postSleepHeightDialog1 is true && $postSleepHeightDialog2 is false>>
<<addTrigger "postSleepHeightDialog2" false false>>
<<set $postSleepHeightDialog2 to true>>
<<elseif $heightStore > 0.2 && $postSleepHeightDialog2 is true && $postSleepHeightDialog3 is false>>
<<addTrigger "postSleepHeightDialog3" false false>>
<<set $postSleepHeightDialog3 to true>>
<<elseif $heightStore > 0.2 && $postSleepHeightDialog3 is true && $postSleepHeightDialog4 is false>>
<<addTrigger "postSleepHeightDialog4" false false>>
<<set $postSleepHeightDialog4 to true>>
<<elseif $heightStore > 0.2 && $postSleepHeightDialog4 is true && $postSleepHeightDialog5 is false>>
<<addTrigger "postSleepHeightDialog5" false false>>
<<set $postSleepHeightDialog5 to true>>
<<elseif $heightStore > 1 && $postSleepHeightDialog5 is true>>
<<addTrigger "postSleepHeightRepeat" true false>>
<</if>>
<<set $heightStore *= 0.6>>
<<if $lactationUnlocked>>
<<set $milkStored += $milkProduction>>
<</if>>/* Muscle growth Logic: */
/* There is a set amount the player can grow; muscleGrowthMax */
/* This can be increased, depends on diet, items provide temp bonus */
/* Halves the value of the max ceiling every day. never goes bellow 0. */
/* muscleGrowthMaxTotal - the total amount used in actually growing */
/* muscleGrowthMaxDiet - the modified gained from diet */
/* muscleGrowthMaxTemp - gained from supplements */
/* muscleGrowthMax - Base value, from the balance init. */
/* muscleGrowthMod - other growth mods */
<<set $muscleGrowthMaxTotal to ($muscleGrowthMaxTemp + $muscleGrowthMax)>>
<<script>> console.log("Muscle growth Max initial state: " + State.variables.muscleGrowthMaxTotal);<</script>>
<<set $muscleGrowthMaxDiet to $currentDiet.muscleGain>>
<<set $muscleGrowthMaxTotal += $muscleGrowthMaxDiet>>
<<script>> console.log("Muscle growth Max with diet: " + State.variables.muscleGrowthMaxTotal);<</script>>
<<set $muscleGrowthMaxTotal *= $muscleGrowthMod>>
<<script>> console.log("Muscle growth Max (" + State.variables.muscleGrowthMaxTotal + ") multiplied by muscleGrowthMod (" + State.variables.muscleGrowthMod + ")");<</script>>
<<set $muscleGrowthMaxTotal *= ($workingOutBonus**2 * 0.9)>>
<<script>> console.log("Muscle growth Max (" + State.variables.muscleGrowthMaxTotal + ") multiplied by workoutbonus (" + State.variables.workingOutBonus + ")");<</script>>
<<set $muscleChange = Math.clamp($muscleStore, 0, $muscleGrowthMaxTotal)>>
<<set $muscle += ($muscleChange * $growthMod)>>
<<set $muscle to Math.clamp($muscle, 0, 99999)>>
<<set $muscleStore to Math.clamp($muscleStore - $muscleChange, 0, 999)>>
<<set $muscleStore *= 0.5>>
<<if $muscleChange > 0.2 && $postSleepMuscleDialog1 is false>>
<<addTrigger "postSleepMuscleDialog1" false false>>
<<set $postSleepMuscleDialog1 to true>>
<<elseif $muscleChange > 0.2 && $postSleepMuscleDialog1 is true && $postSleepMuscleDialog2 is false>>
<<addTrigger "postSleepMuscleDialog2" false false>>
<<set $postSleepMuscleDialog2 to true>>
<<elseif $muscleChange > 0.2 && $postSleepMuscleDialog2 is true && $postSleepMuscleDialog3 is false>>
<<addTrigger "postSleepMuscleDialog3" false false>>
<<set $postSleepMuscleDialog3 to true>>
<<elseif $muscleChange > 0.2 && $postSleepMuscleDialog3 is true && $postSleepMuscleDialog4 is false>>
<<addTrigger "postSleepMuscleDialog4" false false>>
<<set $postSleepMuscleDialog4 to true>>
<<elseif $muscleChange > 0.2 && $postSleepMuscleDialog4 is true && $postSleepMuscleDialog5 is false>>
<<addTrigger "postSleepMuscleDialog5" false false>>
<<set $postSleepMuscleDialog5 to true>>
<<elseif $muscleChange > 1 && $postSleepMuscleDialog5 is true>>
<<addTrigger "postSleepMuscleRepeat" true false>>
<</if>>/* Breast growth Logic: */
<<set $breasts += $breastsStore>>
<<if $breastsStore > 0.5 && $postSleepBreastsDialog1 is false>>
<<set $postSleepBreastsDialog1 to true>>
<<elseif $breastsStore > 0.5 && $postSleepBreastsDialog1 is true && $postSleepBreastsDialog2 is false>>
<<set $postSleepBreastsDialog2 to true>>
<<elseif $breastsStore > 0.5 && $postSleepBreastsDialog2 is true && $postSleepBreastsDialog3 is false>>
<<set $postSleepBreastsDialog3 to true>>
<<elseif $breastsStore > 0.5 && $postSleepBreastsDialog3 is true && $postSleepBreastsDialog4 is false>>
<<set $postSleepBreastsDialog4 to true>>
<<elseif $breastsStore > 0.5 && $postSleepBreastsDialog4 is true && $postSleepBreastsDialog5 is false>>
<<set $postSleepBreastsDialog5 to true>>
<<elseif $breastsStore > 0.5 && $postSleepBreastsDialog5 is true>>
<<set $postSleepBreastsDialogRepeat to true>>
<</if>>
<<set $breastsStore *= 0.8>>
/* Lactation: */
<<if $lactationUnlocked>>
<<set $milkStored += ($milkCapacity / setup.balance.milkProductionFactor) * $milkProduction>>
<<if $lactationDialog1 != true>>
<<set $lactationDialog1 to true>>
<<elseif $lactationDialog1 && $milkStored >= $milkCapacity / 2 && $lactationDialog2 != true>>
<<set $lactationDialog2 to true>>
<<elseif $lactationDialog2 && $milkStored >= $milkCapacity / 2 && $lactationDialog3 != true>>
<<set $lactationDialog3 to true>>
<<elseif $lactationDialog3 && $milkStored >= $milkCapacity / 2 && $lactationDialog4 != true>>
<<set $lactationDialog4 to true>>
<<elseif $lactationDialog4 && $milkStored >= $milkCapacity / 2 && $lactationDialog5 != true>>
<<set $lactationDialog5 to true>>
<<elseif $lactationDialog5 && $milkStored >= $milkCapacity / 2 && $lactationDialogRepeat != true>>
<<set $lactationDialogRepeat to true>>
<</if>>
<</if>>/* dick growth Logic: */
<<if $dickActive is false>>
<<if $dickStore > 3>>
<<set $dickDialog to true>>
<</if>>
<<else>>
<<set $dick += $dickStore>>
<<if $dickStore > 0.2 && $postSleepDickDialog1 is false>>
<<addTrigger "postSleepDickDialog1" false false>>
<<set $postSleepDickDialog1 to true>>
<<elseif $dickStore > 0.2 && $postSleepDickDialog1 is true && $postSleepDickDialog2 is false>>
<<addTrigger "postSleepDickDialog2" false false>>
<<set $postSleepDickDialog2 to true>>
<<elseif $dickStore > 0.2 && $postSleepDickDialog2 is true && $postSleepDickDialog3 is false>>
<<addTrigger "postSleepDickDialog3" false false>>
<<set $postSleepDickDialog3 to true>>
<<elseif $dickStore > 0.2 && $postSleepDickDialog3 is true && $postSleepDickDialog4 is false>>
<<addTrigger "postSleepDickDialog4" false false>>
<<set $postSleepDickDialog4 to true>>
<<elseif $dickStore > 0.2 && $postSleepDickDialog4 is true && $postSleepDickDialog5 is false>>
<<addTrigger "postSleepDickDialog5" false false>>
<<set $postSleepDickDialog5 to true>>
<<elseif $dickStore > 1 && $postSleepDickDialog5 is true>>
<<addTrigger "postSleepDickRepeat" true false>>
<</if>>
<<set $dickStore *= 0.5>>
<</if>><<nobr>>
<<widget "heighNumeral">>
<<if $measurementSystem is "imperial">>
<<set $heightInchesTotal to Math.round($height * 0.3937007874)>>
<<set $heightFeet to Math.floor($heightInchesTotal / 12)>>
<<set $heightInches to ($heightInchesTotal - ($heightFeet * 12))>>
<<print $heightFeet>>'<<print $heightInches>>"
<<elseif $measurementSystem is "metric">>
<<print Number(($height / 100).toFixed(2))>> meter
<</if>>
<</widget>>
<</nobr>><<widget "postSleepDietDescription">>
<<set _morningRoutineWeight to ($muscle + $fat) * $heightMod>>
<p>
<<if $currentDiet.name is "Just eat like normal">>
Your basic diet isn't too out there. Some pancakes for breakfast, or maybe a bowl of granola with yogurt to get you going in the morning. Maybe some candy every so often, but not too much (of course). At lunch, you stick to a simple but practical sandwich. Dinner could be anything. Perhaps some pasta, or anything quick to make. Adventurous, it is not, but very simple, decently healthy, and, hey, requires little effort!
<<elseif $currentDiet.name is "Save time">>
Today you just don't have much time. So you rush through everything, including your breakfast. A bit of fruit will have to do, or something else you can eat on the go. And without taking time to prepare, lunch and dinner will be mostly the same; instant noodles or maybe a microwave dinner, if you're lucky. It’s not good for your mood, but that’s the sacrifice you’ve made.
<<elseif $currentDiet.name is "Cheat day!">>
YES, YES, CHEAT DAY! Oh, you've been looking forward to this; cake for breakfast, or no, maybe a couple of chocolate croissants! Whatever it is, then maybe you can prepare a big brunch, and then a SECOND big brunch or lunch or whatever, and then for dinner just pig out with a huge meal of whatever you feel like! Today is a good day for your mood, but not for your waistline!
<<elseif $currentDiet.name is "Balance day">>
With all that’s going on it’s no surprise your body could use some help now and then, and today you're going to make up for it. For breakfast, some fruit with yogurt, and for lunch simply a nice vegetable soup. For dinner, you stick to broccoli with salmon. Recent events have made life stressful enough, and more than ever you realize that you need to take good care of your body.
<<elseif $currentDiet.name is "Protein rich diet">>
Right, for today you have something special prepared to make sure you can optimize your muscle growth to its full potential: protein bulking. You start the day with a huge amount of cottage cheese and low-sugar granola. A few protein bars will get you through the morning, while for lunch you're already preparing an easy meal of chicken breast and broccoli. And for dinner, surprise, surprise, more chicken breast and broccoli! Sure, it’s not the tastiest, but it'll get your guns growing!
<<elseif $currentDiet.name is "Lean diet">>
Today, you decided to go for a more lean diet; not something that'll leave you hungry or unsatisfied, but will help you lose some weight. A fruit salad for breakfast, some yogurt for lunch and some white fish, perhaps a nice salad for dinner... simple, lean and efficient! Or so you hope, at least.
<<elseif $currentDiet.name is "Fancy cooking">>
Today is the day you're flexing those cooking muscles, trying new recipes or just having fun with it. For breakfast you'll be making croque monsieur, or perhaps eggs benedict with some oak-smoked salmon. For lunch you have it all planned out; a nice home-made stir-fry, and for dinner... nothing better than beef wellington. Will it be expansive as hell? Yes. Will it be bad for your waist? Sure. Is it worth it? OH, HECK, YEAH.
<<elseif $currentDiet.name is "Cutting">>
You have a goal in mind, and that goal is cutting down on flab while keeping your muscles. Lean protein and a small caloric deficit will do just that. Cottage cheese for breakfast, some fruit for lunch, and white fish and chicken for dinner. Is it pleasant to eat? No. Will it help you get that summer bod? Fuck yeah!
<<else>>
DEBUG: postSleepDietDescription FALLTHROUGH WITH <<print $currentDiet.name>>
<</if>>
</p>
<p>
<<if _morningRoutineWeight < 40>>
Still, its surprising how small your portions actually are. Your body doesn't need much, given how little fuel is required. One advantage though: cooking is a breeze!
<<elseif _morningRoutineWeight < 50>>
Still, despite your recent growth, you still eat less than most. It’s increasing, sure, but your portions are small and cooking is quickly accomplished.
<<elseif _morningRoutineWeight < 60>>
Still, it’s surprising that you eat an amount of food that even other people would consider average! Due to your growing body, it’s somewhat amazing how much you need now! Well, amazing to you; according to others, you're finally eating like a normal person. But to you, it looks HUGE.
<<elseif _morningRoutineWeight < 80>>
You spend more and more time cooking as your growing body just needs bigger piles of food to keep it fueled. Muscle, fat, height.... a lot is changing, and all of it requires nourishment. But there are some advantages; you got more experienced at cooking such amounts, and with a big mouth you can eat more!
<<elseif _morningRoutineWeight < 100>>
The pile of food you eat every day keeps growing, and it’s almost worrying you by now! Others have started noticing too, and you need to buy more and cook more. It’s a good thing you can cook these amounts with ease, and wolf it down quicker, otherwise it'd become quite a bother.
<<elseif _morningRoutineWeight < 125>>
The portion of food you eat is HUGE; your body is growing and, with it, the fuel it needs. Cooking has become quite a challenge, as the pile you need just keeps growing, and growing, and growing. Eating it is not the hard part; preparing is. Luckily, you're getting handy at that, but some cooking lessons could come in handy.
<<elseif _morningRoutineWeight < 150>>
The piles of food you need to eat are almost ridiculous; it would be more than enough for multiple people, but your growing body requires all the fuel it can get to just maintain your current size, let alone keep growing! Each meal is huge and takes time to prepare, but cooking family-sized meals is no longer a hassle for you.
<<elseif _morningRoutineWeight < 250>>
The fridge is almost bursting at the seams with how much you now eat in a single day. Preparing it is almost a workout in and of itself, and consuming it a small spectacle. You can have a regular-sized meal in a single bite, no longer even really needing to chew. It’s all just fuel for your enormous growing body, and a growing body will always need more.
<<else>>
Each portion for you is now enough to feed a family for a day, that's how much you eat. It’s utterly ridiculous, and yet each day you now prepare such gigantic meals, only to consume them in a single sitting. Sometimes it’s just emptying an entire container into your waiting mouth, while sometimes you just take a huge pan and eat straight from it. Your growing body needs fuel, and it hungers for more.
<</if>>
<p>
<<if $morningRoutineCoffee>>
<p>No morning would be complete without your cup of coffee. No matter what is going on you always like to sit down, and relax with a nice, warm cup in the morning.</p>
<</if>>
<<if $morningRoutineSuppliesTaken > 0>>
<p>And, of course, you take your daily regimen of supplements, wishing they'd taste better... but unfortunately, they don't.</p>
<</if>>
<<if $lactationMorningRoutineEmptying is true>>
<p>Your expectations for college life: buying a lot of stuff, drunk parties... you didn't expect spending half an hour on the sink, squeezing milk out of your tits. Amazing. <<if $breasts > 100>>It's surprising you can get it done so quickly, considering those things barely fit through a door... each. Yet you squeeze and massage them, letting it all out. The sink nearly overflows, but luckily these buildings have decent plumbing.<<elseif $breasts >= 80>>And God, these things have gotten large... you just let them hang, though it's getting harder and harder not to make a mess with their immense size. Oh well, nothing to do but wait until they're empty.<<elseif $breasts >= 50>>You got huge breasts, no way around that. And as such, it takes longer for you to milk yourself dry. Heh... milk yourself. Fucking insane that you even do that these days...<<elseif $breasts >= 25>> So here you are, your tits above the sink, being massaged to empty them. Yeah, this is JUST how you imagined college life would be.<</if>></p>
<<if $carefreeCarefull >= 1>><p>You also make sure to log how much you're leaking. Gotta keep a check on this after all...</p><</if>><</if>>
<<if $personalityChanged == true>>
<p>When you get started, a raging headache comes over you. You quickly go for painkillers, or just anything to make it to go away, but it only lowers it a bit. You also feel the changes to your personality slowly fading; it seems that overriding your personality isn't something that comes free of charge...</p>
<<if $temporaryPersonalityGains.shyConfident === 0 &&
$temporaryPersonalityGains.carefreeCarefull === 0 &&
$temporaryPersonalityGains.submissiveDominant === 0 >>
<<set $personalityChanged to false>>
<</if>>
<</if>>
<</widget>><<if $tongue > 1 && $postSleepTongueDialog1 is false>>
<<addTrigger "postSleepTongueDialog1" false false>>
<<set $postSleepTongueDialog1 to true>>
<<elseif $tongue > 2 && $postSleepTongueDialog1 is true && $postSleepTongueDialog2 is false>>
<<addTrigger "postSleepTongueDialog2" false false>>
<<set $postSleepTongueDialog1 to true>>
<<elseif $tongue > 3 && $postSleepTongueDialog2 is true && $postSleepTongueDialog3 is false>>
<<addTrigger "postSleepTongueDialog3" false false>>
<<set $postSleepTongueDialog3 to true>>
<<elseif $tongue > 4 && $postSleepTongueDialog3 is true && $postSleepTongueDialog4 is false>>
<<addTrigger "postSleepTongueDialog4" false false>>
<<set $postSleepTongueDialog4 to true>>
<<elseif $tongue > 5 && $postSleepTongueDialog4 is true && $postSleepTongueDialog5 is false>>
<<addTrigger "postSleepTongueDialog5" false false>>
<<set $postSleepTongueDialog5 to true>>
<<elseif $postSleepTongueDialog5 is true>>
<<addTrigger "postSleepTongueRepeat" false true>>
<</if>><<nobr>>
<<set $DateSuccess to 0>>
<<if ndef $shyConfident>>
<<script>>
State.variables.shyConfident = Math.floor(Math.random() * (3 - -3 + 1)) + -3;
State.variables.carefreeCarefull = Math.floor(Math.random() * (3 - -3 + 1)) + -3;
State.variables.submissiveDominant = Math.floor(Math.random() * (3 - -3 + 1)) + -3;
<</script>>
<<set _debugging to true>>
<</if>>
<</nobr>>
You show up at the address Elena gave you, just a few minutes before she had asked you to arrive. It’s a busy street in a quiet part of town, populated with a bunch of cute little shops and people window shopping all around. You spot Elena, standing out in front of one of the establishments. Not that it’s hard to see her. Despite the two of you towering over everyone else present, she manages to look even more timid than she normally does.
<<Dialogue "player" "You">>
“Hey! It’s good to see you!”<</Dialogue>>
She is caught off guard, but you can see her expression immediately soften when she spots you. Not quite a smile, but compared to the near panic on her face moments earlier, it’s a marked improvement. She crosses the distance between you in a couple of long, quick strides.
<<Dialogue "Elena" "Elena">>
“//Buona sera//. It’s good to see you too.”<</Dialogue>>
She stands very close to you, though not quite touching you. You can see her relax visibly, tension leaving her body as the two of you stand quietly next to each other.
<<Dialogue "player" "You">>
“Um… Sorry to make you wait. Maybe I should have planned to show up a little earlier…”<</Dialogue>>
<<Dialogue "Elena" "Elena">>
“No, no. It’s my fault. I wanted to be here before, but… there are so many people today. I didn’t expect this.”<</Dialogue>>
<<Dialogue "player" "You">>
“It’s okay! Maybe we should find somewhere a little quieter. I think I saw a neat little coffee shop on the way here. We could stop in and have a drink.”<</Dialogue>>
Elena goes from staring at her feet to looking you in the eye, again relaxing at your suggestion.
<<Dialogue "Elena" "Elena">>
“Yes, I… I think that is good. Coffee is always nice.”<</Dialogue>>
After a few minutes of walking, you find yourself in the quaint little cafe. <<if $krisInterested is true>>Not too different from the one where Kris works, actually.<</if>> And it’s mercifully quiet, just as you had hoped. With minimal fuss, you decide to splurge on a fancy drink that probably has way too much sugar in it. Elena follows with a simple macchiato, then claims a table in the corner.
After that… an awkward silence. While Elena seems to be enjoying her coffee, she has been notably silent since she made her order. Her eyes are fixed firmly on the small coffee cup she is cradling in her hands. Maybe now is the time to start a conversation for her?
<<Dialogue "player" "You">>
“I hadn’t realized that you were a coffee fan.”<</Dialogue>>
Elena jumps a bit at that, her eyes rising to meet yours. After a moment of thought, a hint of a smile creeps onto her face.
<<Dialogue "Elena" "Elena">>
“//Italiana//, right? I do enjoy it, I won’t lie.”<</Dialogue>>
<<Dialogue "player" "You">>
“I guess my choice of drink might come out a bit offensive?”<</Dialogue>>
Elena lets out a quiet, almost inaudible laugh.
<<Dialogue "Elena" "Elena">>
“Not any more than the forced Italian names they use for sizes here. But you do you.”<</Dialogue>>
<<Dialogue "player" "You">>
“Well, I’d like to hear about what you like. I picked the coffee shop, so where are we going after this?”<</Dialogue>>
Another long pause from her. She looks down at her coffee cup again, though this time she looks more like she’s deep in thought. Eventually she opens her mouth and speaks softly.
<<Dialogue "Elena" "Elena">>
“Maybe we… No. No, never mind. You pick again.”<</Dialogue>>
<<Dialogue "player" "You">>
“What? No, come on, really! You picked this neighborhood for this, you must know where the good shops are!”<</Dialogue>>
<<Dialogue "Elena" "Elena">>
“No, no. Really, I’m just happy to be here.”<</Dialogue>>
There’s another lengthy pause as you try to figure out how to respond. It feels Elena really does want to go somewhere specific, but… maybe she wouldn’t appreciate being prodded.
<<if $shyConfident > 0>>[[Elena Leads<-"Come on, there must be somewhere you want to go!"]]
<<else>>[[Player Leads<-"No big deal. I saw some nice spots on the way here."]]
<</if>><<Dialogue "player" "You">>
“Come on! This is exactly the sort of way people on their first date get to know each other, bond with one another! I want to get to know you, so let’s go to wherever your heart desires!”<</Dialogue>>
Almost immediately, you see Elena clam up again. Her shoulders clench and raise, crowding against her neck and head. You can even see her hands trembling a bit, her coffee cup shaking silently. It seems that putting too much pressure on her gives her far more anxiety than you expected.
<<Dialogue "player" "You">>
“Er… Or we don’t have to! On second thought, I actually saw a cute little boutique we could look through!”<</Dialogue>>
At that, she eases up a bit. Still tense, just… a little less.
<<Dialogue "Elena" "Elena">>
“//Va bene//, that sounds good. Maybe you lead the way today. I’m okay with going where you want.”<</Dialogue>>
You wince a bit. You can practically feel the nervous energy radiating from her.
<<Dialogue "player" "You">>
“It’s all good. I’m more than happy to do that. I mean, speak up if you see a shop that draws your eye, of course, but… I’ll take charge!”<</Dialogue>>
The smile returns to her face again.
<<Dialogue "ElenaHappy" "Elena">>
“Let’s go when you’re ready.”<</Dialogue>>
After your last sip of coffee, the two of you exit the shop onto the street, the cool air of the late morning greeting you. The sidewalk is just as bustling as it was before you ducked in, and you can’t help but notice the two of you draw some stares as you enter the crowd again. Elena hunches her shoulders in an attempt to shrink down as small as possible, and quietly slips behind you. Sensing that she’s not faring any better than before your break, you quickly hustle ahead of her to the boutique.
You both take a deep breath as you slip through the shop door and find only a few people inside, none of whom pay you much mind.
<<Dialogue "player" "You">>
“Well, thank goodness. I’m glad this place is quiet. I saw some outfits in the window that looked so nice, I wouldn’t have forgiven myself if I didn’t pop in here.”<</Dialogue>>
Elena returns a silent nod, the faintest hint of a smile on her lips again.
<<Dialogue "ElenaHappy" "Elena">>
“//Bene//. I’ll be here with you.”<</Dialogue>>
<<Dialogue "player" "You">>
“What? Aren’t you going to check anything out?”<</Dialogue>>
<<Dialogue "Elena" "Elena">>
“...I do not think the clothes here… suit me.”<</Dialogue>>
You raise an eyebrow at that. Based on what you’d seen of her so far, she had nice taste in clothes. Is your own fashion sense really that off?
You sift through the stacks of clothing on display, Elena tagging along behind you, picking out a shirt and a pair of pants that strike your fancy. You bring them over to a mirror, hold up the shirt against yourself to get a feel for how it looks… and only then do you realize Elena’s meaning. The thing is absolutely miniscule on your frame. You’d be lucky to fit an arm all the way into it.
<<Dialogue "player" "You">>
“Ah… Right.”<</Dialogue>>
Elena responds with her miniscule smile again.
<<Dialogue "ElenaHappy" "Elena">>
“Yes, it… it’s hard to find clothes that fit these days.”<</Dialogue>>
<<Dialogue "player" "You">>
“Yeah… I actually forgot for a moment. I was just so stoked about this outfit that it was the only thing I could think of!”<</Dialogue>>
That actually elicits a quiet laugh from Elena.
<<Dialogue "ElenaHappy" "Elena">>
“I understand. My change happened… more slowly. Than yours, I mean. Yours was very sudden. I feel like I’ve had some more time to… adjust.”<</Dialogue>>
<<if $carefreeCarefull > 0>>You go about replacing the clothes you had picked up as the two of you speak.
<<else>>You quickly hand the clothes over to an employee before turning your attention back to Elena.<</if>>
<<Dialogue "player" "You">>
“That reminds me. How did… all this happen? I mean, what are the odds that some lab accident ended up in both our fridges?”<</Dialogue>>
She squirms at that, and her voice drops to a whisper.
<<Dialogue "Elena" "Elena">>
“I, uh… I don’t know. I had reasons to start exercising, but this… this does not come from exercising. This is not normal.”<</Dialogue>>
<<Dialogue "player" "You">>
“Wow. So you really don’t know, do you? I mean, you very clearly like weightlifting, seeing as you had plenty to teach me. Do you think there’s something special about your body? Or maybe…”<</Dialogue>>
She begins to tense again, her eyes staring back at the floor.
<<Dialogue "Elena" "Elena">>
“No. Please. I’m sorry, but it’s… I don’t want to talk about that now.”<</Dialogue>>
<<Dialogue "player" "You">>
“Oh? Uh, I’m sorry. I just… I thought that since we were… you know, seemingly in the same situation it might be a good idea to, like… talk things through. You know, kinda… commiserate with each other?”<</Dialogue>>
She shakes her head again, still unable to look at you directly.
<<Dialogue "Elena" "Elena">>
“Maybe we should go somewhere else?”<</Dialogue>>
<<if $shyConfident > 0 || $submissiveDominant > 0>>[[Push Elena<-Elena turns to leave the clothing store, and you quickly follow after her.]]
<<else>>[[Date Progress<-Elena turns to leave the clothing store, and you quickly follow after her.]]<</if>><<Dialogue "player" "You">>
“That’s okay, never mind that. I just saw a cute little clothing store on the way down here. We can poke our heads in and go from there.”<</Dialogue>>
Elena smiles again, nodding quietly.
<<Dialogue "ElenaHappy" "Elena">>
“Okay. I will let you lead, //sì//?”<</Dialogue>>
You think to yourself for a moment. Leading is not how you normally handle things. And yet… As shy as you are, Elena is clearly even more so. Maybe she needs this. And it’s not like it’s a big decision, right? You’re just picking stores that look interesting, right?
<<Dialogue "player" "You">>
“Okay. I… I think I can do that.”<</Dialogue>>
It’s for her sake after all, isn’t it?
After your last sip of coffee, the two of you exit the shop onto the street, the cool air of the late morning greeting you. The sidewalk is just as bustling as it was before you ducked in, and you can’t help but notice the two of you draw some stares as you enter the crowd again. Elena hunches her shoulders in an attempt to shrink down as small as possible, and quietly slips behind you. Sensing that she’s not faring any better than before your break, you quickly hustle ahead of her to the clothing boutique.
You both take a deep breath as you slip through the shop door and find only a few people inside, none of whom pay you much mind.
<<Dialogue "player" "You">>
“Well, thank goodness. I’m glad this place is quiet. I saw some outfits in the window that looked so nice, I wouldn’t have forgiven myself if I didn’t pop in here.”<</Dialogue>>
Elena returns a silent nod, the faintest hint of a smile on her lips again.
<<Dialogue "ElenaHappy" "Elena">>
“//Bene//. I’ll be here with you.”<</Dialogue>>
<<Dialogue "player" "You">>
“What? Not looking around for yourself?”<</Dialogue>>
<<Dialogue "Elena" "Elena">>
“...I do not think the clothes here… suit me.”<</Dialogue>>
You raise an eyebrow at that. Based on what you’d seen of her so far, she has nice taste in clothes. Is your own fashion sense really that off?
You sift through the stacks of clothing on display, Elena tagging along behind you, picking out a shirt and a pair of pants that strike your fancy. You bring them over to a mirror, hold up the shirt against yourself to get a feel for how it looks… and only then do you realize Elena’s meaning. The thing is absolutely miniscule on your frame. You’d be lucky to fit an arm all the way into it.
<<Dialogue "player" "You">>
“Ah… Right.”<</Dialogue>>
Elena responds with her miniscule smile again.
<<Dialogue "Elena" "Elena">>
“Yes, it… it’s hard to find clothes that fit these days.”<</Dialogue>>
<<Dialogue "player" "You">>
“Yeah… I actually forgot for a moment. I was just so stoked about this outfit that it’s the only thing I could think of!”<</Dialogue>>
That elicits a quiet laugh from Elena.
<<Dialogue "Elena" "Elena">>
“I understand. My change happened… more slowly. Than yours, I mean. Yours was very sudden. I feel like I’ve had some more time to… adjust.”<</Dialogue>>
<<if $carefreeCarefull > 0>>You go about replacing the clothes you had picked up as the two of you speak.
<<else>>You quickly hand the clothes over to an employee before turning your attention back to Elena.<</if>>
<<Dialogue "player" "You">>
“That reminds me. How did… all this happen? I mean, what are the odds that a lab accident ended up in both our fridges?”<</Dialogue>>
She squirms at that, and her voice drops to a whisper.
<<Dialogue "Elena" "Elena">>
“I, uh… I don’t know. I had reasons to start exercising, but this… this does not come from exercising. This is not normal.”<</Dialogue>>
<<Dialogue "player" "You">>
“Wow. So you really don’t know, do you? I mean, you very clearly like weightlifting, seeing as you had plenty to teach me. Do you think there’s something special about your body? Or maybe...”<</Dialogue>>
She begins to tense again, her eyes staring back at the floor.
<<Dialogue "Elena" "Elena">>
“No. Please. I’m sorry, but it’s… not what I want to think about right now.”<</Dialogue>>
<<Dialogue "player" "You">>
“Oh? Uh, I’m sorry. I just… I thought that since we were… you know, seemingly in the same situation it might be a good idea to, like… talk things through. You know, kinda… commiserate with each other?”<</Dialogue>>
She shakes her head again, still unable to look at you directly.
<<Dialogue "Elena" "Elena">>
“I… I think we should go somewhere else.”<</Dialogue>>
<<if $shyConfident > 0 || $submissiveDominant > 0>>[[Push Elena<-Elena turns to leave the clothing store, and you quickly follow after her.]]
<<else>>[[Date Progress<-Elena turns to leave the clothing store, and you quickly follow after her.]]<</if>>Elena’s sudden change was… concerning, to say the least. When you met her, you were thrilled to finally have someone who could understand what you were going through. Elena had to have been thinking the same thing, surely. Why else would you two have bonded so quickly?
The possibilities ran quickly through your head, until the obvious solution popped up. It was so clear! Of course Elena, as shy as she was, wasn’t going to come out and ask you for help. She needed you, but couldn’t bear to spit it out! It all made sense. This is going to be your moment, a happy albeit tearful memory the two of you will look back on fondly in the future. But you must act now, or the moment will be lost.
With a few long, quick strides you catch up with Elena, and you gently take her hand in yours. She looks startled as you do, but she finally looks at your face again, her eyes wide with panic. Now was your chance to tell her you were going to make things okay.
<<Dialogue "player" "You">>
“Elena… It’s okay. Whatever you’re keeping secret, you don’t have to! Whatever this is, I want to be there for you, I want to help you through it. But if I’m going to help you, I need to know what I’m helping you with.”<</Dialogue>>
<<Dialogue "Elena" "Elena">>
“<<print $playerFirstName>>, please… you… this is not something I want to talk about.”<</Dialogue>>
You place both your hands around hers and hold it tightly.
<<Dialogue "player" "You">>
“Come on, who out there is better suited to help you than me? We must have found each other for a reason. I want to help you, but you need to let me in.”<</Dialogue>>
Her eyes snap back to the ground, and she starts to slip away from you. Her voice drops to a near whisper.
<<Dialogue "Elena" "Elena">>
“Please. There is nothing you can do. I want to move on to something else. //Per favore//.”<</Dialogue>>
[[She needs your help. Push her further.->Bad End]]
[[You're pushing her too hard. Ease up.->Make-Up End]]You quietly contemplate Elena’s sudden change as you walk after her. Putting yourself in her shoes, you can understand the reason for her refusal. If most people… hell, probably anyone, had started pushing you about your condition, that would almost definitely make you bristle. Perhaps you had been a little too pushy with her.
With a few long, quick strides, you catch up to her and place a hand on her shoulder. She starts briefly, but turns to face you, her eyes wide with panic.
<<Dialogue "player" "You">>
“It’s okay. I… I’m sorry. I know that this whole thing is a sensitive topic. So… you don’t have to tell me anything.<</Dialogue>>
It’s quiet for a moment. The conversation of the people walking around you seem to melt away for a moment as you simply stare into each other’s eyes. After many long seconds, Elena reaches a hand up and places it on yours, a soft smile again rising to her face.
<<Dialogue "ElenaHappy" "Elena">>
“It’s okay. I… I know you are trying to help. //Grazie//.<</Dialogue>>
She gently rubs her hand across the top of yours. You stand there for a moment, enjoying the silence together.
<<Dialogue "player" "You">>
“So… I take it I haven’t scared you off. What now? I can find us another shop to check out, maybe we grab some lunch…<</Dialogue>>
<<Dialogue "ElenaHappy" "Elena">>
“Actually… There is somewhere I would like to go. If that’s okay with you.<</Dialogue>>
<<Dialogue "player" "You">>
“Of course it is! Why didn’t you say so earlier?<</Dialogue>>
<<Dialogue "Elena" "Elena">>
“I thought it would be… //come se dice//… imposing? I thought you would find it boring.<</Dialogue>>
<<Dialogue "player" "You">>
“Hey. Don’t sweat it. If you’re going to enjoy it, I definitely don’t mind spending some time there myself.<</Dialogue>>
She gives you that same soft earnest smile before moving around you, so that your arm wraps around her back, turning your hand-holding into a sort of sidelong hug. It takes you a second to realize what’s happened, so gentle is her motion, but without even realizing it, she’s got your arm wrapped around her waist as you’re walking down the street. She’s still wearing her smile, despite the fact that she’s furiously blushing, and you can’t help but return in kind.
She guides you through the little town, taking several turns along the shop-lined streets, until you reach a flower shop. At first you’re confused, but Elena’s lit-up expression answers everything. She’s excited to visit here, even if she’s still hesitant to say it. She leads the way inside, giving a quiet hello to the little old man running the place before she starts looking along the shelves. You follow behind her, not sure whether you have anything to contribute as she questions the shopkeeper about some new arrivals.
<<Dialogue "player" "You">>
“So… I take it this is a hobby of yours.<</Dialogue>>
<<Dialogue "ElenaHappy" "Elena">>
“I’ve always loved flowers. Ever since I was little. There was a flower shop a lot like this one where I grew up.<</Dialogue>>
<<Dialogue "player" "You">>
“In Italy, you mean?<</Dialogue>>
<<Dialogue "ElenaHappy" "Elena">>
“//Sì//. I come here to buy new flowers, but also because it feels a bit like home.<</Dialogue>>
<<Dialogue "player" "You">>
“Speaking of… if you don’t mind, how long ago did you immigrate?<</Dialogue>>
<<Dialogue "ElenaHappy" "Elena">>
“I was young… Thirteen.<</Dialogue>>
<<Dialogue "player" "You">>
“Geez. That’s a rough age to be starting life anew.<</Dialogue>>
<<Dialogue "ElenaHappy" "Elena">>
“Yes… yes, it was. Half a world away with no friends… It was hard back then.<</Dialogue>>
<<Dialogue "player" "You">>
“Probably being the shy kid didn’t help matters.<</Dialogue>>
<<Dialogue "ElenaHappy" "Elena">>
“Ah… actually, I wasn’t very shy at all before then. It was then when I tried to make new friends and it was always… you know, teasing… I kind of started to close off."<</Dialogue>>
As she speaks, her voice drops back into that shy, quiet register that you have grown accustomed to. She didn’t sound sad, but melancholic. Not as if this was painful for her to talk about, but more as if she was dwelling on a difficult memory. You decide to keep quiet for a moment, and simply allow her to talk as much as she’s comfortable. Meanwhile, Elena leans in to examine another plant, holding its petals delicately between her fingers.
<<Dialogue "ElenaHappy" "Elena">>
“You asked me earlier how I got to be this way. Do you still want to know?"<</Dialogue>>
<<Dialogue "player" "You">>
“You don’t have to tell me, really. If you don’t want to share, I’m not going to make you."<</Dialogue>>
<<Dialogue "ElenaHappy" "Elena">>
“It’s okay. I… just needed to take a deep breath. I feel good now. I want to share."<</Dialogue>>
<<Dialogue "player" "You">>
“Only if you’re sure about it, Elena."<</Dialogue>>
She nods in return, giving you another faint smile, as if to reassure you she’s okay.
<<Dialogue "Elena" "Elena">>
“I tried to fit in better a few times when I was young. I kept trying to… reinvent myself, but they wouldn’t see me as anything but the weird girl. The foreigner. I tried a few different things hoping it would help them accept me… Sports, art, music, you know. But nothing really worked. Eventually, I thought I should start exercising. I had this idea that… if I got to be big and strong, then maybe that would give me confidence, but… I think you can tell that didn’t work."<</Dialogue>>
She gives a soft, breathy laugh. You can’t quite tell whether it’s genuine or one of self-pity.
<<Dialogue "ElenaHappy" "Elena">>
“But the funny thing is, I fell in love with it. I started doing it for fun. I stopped caring so much what other people thought of me. And I was a lot happier for it. Then, I started to really grow up, and I started to feel better. I was actually feeling okay with myself for the first time in a long time."<</Dialogue>>
She sighs, then gestures to her body.
<<Dialogue "Elena" "Elena">>
“Then, about a year ago, this happened. I just… started to explode in size all of a sudden. And when that happened, I noticed people staring all the time, I heard people whispering about me… It felt like I was a teen all over again. And then… one day, you walked into the gym and I thought… hoped, I guess, that maybe you wouldn’t judge me. Maybe you would even understand what I felt."<</Dialogue>>
She stops and turns to you again, placing her hands on your arms.
<<Dialogue "Elena" "Elena">>
“I’m sorry. I feel like I’m talking too much. But… I realized it’s important. I wanted you to know."<</Dialogue>>
<<Dialogue "player" "You">>
“Elena… I’m sorry. It sounds like this whole process has been hard on you. But I want you to know…"<</Dialogue>>
[[Friend End<-"I'll be right by your side as a close friend."]]
[[Best End<-"I'm not going to let you go through this alone."]]<<Dialogue "player" "You">>
“You’ve been nothing but great to me so far, and I want to be sure I return the favor. I don’t know how many friends you have now, but I count you as one of my closest friends. So no matter what, I’m helping you through this whole thing, one way or another.”<</Dialogue>>
Elena pauses for a moment, staring at your face. She seems almost surprised. But soon that gives way to a smile and a quiet sniffle.
<<Dialogue "ElenaHappy" "Elena">>
“Thank you <<print $playerFirstName>>. I… I do not have many people I usually count on. This… means more than I can express in words.”<</Dialogue>>
Suddenly, Elena wraps her arms around you in a tight, almost backbreaking hug, her face buried in your shoulder.
<<Dialogue "player" "You">>
“Grk… glad to help!”<</Dialogue>>
<<Dialogue "ElenaHappy" "Elena">>
“Sorry! Sorry. It… It really does mean a lot.”<</Dialogue>>
<<Dialogue "player" "You">>
“And I meant it. I’m by your side, a hundred percent.”<</Dialogue>>
You both stand there, embracing each other for what feels like the briefest eternity. Eventually, Elena stands back up to her full height and forces herself to let you go. She opens her mouth to speak, but is cut off by a chime from her phone.
<<Dialogue "ElenaHappy" "Elena">>
“//Porca miseria//! It’s late already. I’m so sorry, I lost track of time. I need to go.”<</Dialogue>>
<<Dialogue "player" "You">>
“Ah, crap! I’m sorry, but I’ll see you at the gym, right?”<</Dialogue>>
<<Dialogue "ElenaHappy" "Elena">>
“Of course! Goodbye, and thank you!”<</Dialogue>>
Before you can say anything more, Elena is grabbing her things and rushing out the door. Perhaps it was the right call to stay friends. After all, you have a good feeling you’re going to need each other.
<<link "Go home" "Home">><<addMinutes 180>><</link>><<Dialogue "player" "You">>
“You are one of the sweetest people I’ve ever met. And I pity anyone who can’t see that through the fact that you look a little different.”<</Dialogue>>
She sniffles again, averting her eyes from you.
<<Dialogue "Elena" "Elena">>
“This is not a little different. And besides, you don’t - ”<</Dialogue>>
<<Dialogue "player" "You">>
“Come on. Look at me. We’re going through this together, and we’re going get over it together, one way or another. You and me against the world.”<</Dialogue>>
That causes her to jump back.
<<Dialogue "player" "You">>
“Come on, we’re practically made for one another. Have you ever seen a better power couple?”<</Dialogue>>
Her eyes dart back and forth, now suddenly nervous as she slouches again.
<<Dialogue "ElenaHappy" "Elena">>
“Well… I did agree to a date, right? I guess… If there is one person I would trust, it is you.”<</Dialogue>>
You hold her chin gently in your hand, and she looks you in the eyes again. You stand there, staring at each other for a quiet moment, before she suddenly throws her arms around you in a tight embrace. She buries her face in you, resting it in what space there is between your shoulder and neck, her arms clutching you in what feels like an attempt to snap you in half. After taking a moment to collect yourself, you return the favor, and hug her across her broad back.
After a long embrace, Elena is the one to break it off, wiping her eyes and collecting herself with a deep breath that makes her chest puff up even more.
<<Dialogue "ElenaHappy" "Elena">>
“I’m sorry. That was… I don’t know what came over me.”<</Dialogue>>
You continue to hold her, with your hands resting on her forearms.
<<Dialogue "player" "You">>
“It’s okay. It’s kind of a lot of emotion, all at once. It took a lot for me to not do that too.”<</Dialogue>>
She tries to restrain a laugh, but is interrupted by a chime from her phone. She quickly checks the alarm, which gets dismissed in a hurry.
<<Dialogue "ElenaHappy" "Elena">>
“Ah… Do you have anywhere to be today?”<</Dialogue>>
<<Dialogue "player" "You">>
“No, I should be free for the day.”<</Dialogue>>
<<Dialogue "ElenaHappy" "Elena">>
“Good. I think I am too.”<</Dialogue>>
<<Dialogue "player" "You">>
“Great! Because you’re picking our next spot. But before we leave here… I should probably be a lady and buy you a gift, how about that?”<</Dialogue>>
You quickly scoop up one of the flowers she was eyeing before she can protest, and wave it to the shop owner. She eyes it with curiosity. Her face breaks out into a grin.
<<Dialogue "ElenaHappy" "Elena">>
“White chrysanthemum. Heh… Do you know anything about flower language?”<</Dialogue>>
<<Dialogue "player" "You">>
“Uh… no? Is that a thing? I think I remember something from a book I read back in elementary, but I’m not sure.”<</Dialogue>>
<<Dialogue "ElenaHappy" "Elena">>
“Well… it’s about what different flowers mean when you give them to someone…”<</Dialogue>>
<<Dialogue "player" "You">>
“Oh, boy. What does this one mean?”<</Dialogue>>
<<Dialogue "ElenaHappy" "Elena">>
“Let’s say… that you think I’m adorable.”<</Dialogue>>
You can feel your face blushing, mirroring Elena’s. As you quickly pay for your purchase, you two of you leave the establishment, both fighting the urge to burst out into a fit of giggles, like a pair of silly teenagers. You don’t know what the future holds for either of you at this point, but you have a good feeling that there is nothing you can’t do with Elena by your side.
<<link "Go home" "Home">><<addMinutes 180>><</link>>You refuse to let go, looking at her pleadingly.
<<Dialogue "player" "You">>
"Elena, please. Let me in. Whatever this is, it's not going to get better if you don’t accept other people’s help."<</Dialogue>>
<<Dialogue "Elena" "Elena">>
“No, I… This is not… Please, just leave it alone.”<</Dialogue>>
<<Dialogue "player" "You">>
“You don’t mean that! Come on, I know this is hard. Let me help you!”<</Dialogue>>
<<Dialogue "Elena" "Elena">>
“Please!”<</Dialogue>>
<<Dialogue "player" "You">>
“Just tell me!”<</Dialogue>>
<<Dialogue "Elena" "Elena">>
“//BASTA!//”<</Dialogue>>
Elena’s voice booms out, louder than you had thought possible from her. You don’t know the word, but she clearly means ‘stop’. Everything around you seems to freeze, as does the crowd around you, staring at the two of you.
Her face is downcast again. She’s trembling, and her voice is muffled and shaky.
<<Dialogue "Elena" "Elena">>
“I… I do not think this is working. I think I should go home.”<</Dialogue>>
As she looks up at you again, her eyes shimmer with sadness.
<<Dialogue "Elena" "Elena">>
"This isn't working out."<</Dialogue>>
<<Dialogue "player" "You">>
"But... can we stay friends at least? Workout partners?"<</Dialogue>>
<<Dialogue "Elena" "Elena">>
"I guess. I don’t know."<</Dialogue>>
It’s quiet. Painfully so. Elena has clearly said her piece, but… now the words are failing to come to you.
<<Dialogue "player" "You">>
“I… I’m sorry.”<</Dialogue>>
<<Dialogue "Elena" "Elena">>
“I know. Goodbye, <<print $playerFirstName>>.”<</Dialogue>>
With that, she turns and leaves. The crowd around you begins to move again, quietly murmuring about the brief spectacle. And you’re left standing alone. You silently kick yourself, wondering where everything went wrong. Whatever happens next with Elena, you know this; an apology is in order.
<<link "Go home" "Home">><<addMinutes 180>><</link>>Slowly, silently, you let go of Elena's hand. Still riddled with indecision, you stumble over your words, attempting to figure out how to recover from this. As the words fail to come to you, you realize there's only one thing you can say.
<<Dialogue "player" "You">>
"Elena, I'm sorry. I was only trying to help, really."<</Dialogue>>
Elena takes some time to respond. You can see her chest heaving as she takes repeated deep breaths, slowly steadying out into normal.
<<Dialogue "Elena" "Elena">>
"I know. But this is not okay. I need... I need some //silenzio//. I need quiet. I need to relax."<</Dialogue>>
<<Dialogue "player" "You">>
"Yes! Yes, of course! Why don't we head back to that coffee shop? We can get another coffee, or maybe some tea, maybe a snack, and it'll all be good!"<</Dialogue>>
<<Dialogue "Elena" "Elena">>
"No. No, I need to be alone. I... I'm sorry, but you are... a little too much right now."<</Dialogue>>
<<Dialogue "player" "You">>
"Oh. I see. I'm sorry. You're right. That's probably for the best."<</Dialogue>>
You take a deep breath of your own and prepare to turn around and walk off, relegating yourself for some alone time of your own. Before you can leave, you can feel Elena's hand on your shoulder.
<<Dialogue "Elena" "Elena">>
"I'm not upset with you. Just so you know."<</Dialogue>>
<<Dialogue "player" "You">>
"Huh?"<</Dialogue>>
<<Dialogue "Elena" "Elena">>
"//Forse um po//. Maybe a little. But... that's why I need the alone time. I need to... clear my head. Figure things out. We can figure out where we stand after that."<</Dialogue>>
<<Dialogue "player" "You">>
"Okay. Maybe this date thing doesn't pan out. But can we still be friends? Gym buddies, at least?"<</Dialogue>>
<<Dialogue "Elena" "Elena">>
"I suppose so. I don't think I could stop you from coming to the gym anyway."<</Dialogue>>
She cracks a tiny smile once again. All hope is not lost after all.
<<Dialogue "ElenaHappy" "Elena">>
"So I will see you there."<</Dialogue>>
<<Dialogue "player" "You">>
"Yeah. See you there."<</Dialogue>>
You wave goodbye as Elena turns to leave. You're left alone with your thoughts on the quiet back street. The date was... far from perfect. It's clear now that your personality doesn't mesh well with hers. Maybe a romance with her isn't in the cards, or maybe you need to be careful and gentler with her. Either way, you have a lot of thinking to do today, and plenty of time to do so. But there is yet hope. Elena is still your friend and who knows the future holds?
<<link "Go home" "Home">><<addMinutes 180>><</link>><<widget fullBody>>
<div id="fullImage" width="2000" height="2000" style="position: relative;"> <div class="loader"> </div>
<canvas id="canvas" width="2000" height="2000" style="display: none; position:inherit;"> Your browser does not support the HTML canvas tag. </canvas> </div>
<<timed 0s>>
<<script>>
/**
* @return {string}
*/
function getCurrentCutoutUrl() {
if (State.variables.furniture.includes('big mirror')) {
return 'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/Statics/cutour_big.png';
} else if (State.variables.furniture.includes('medium sized mirror')) {
return 'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/Statics/cutour_mod.png';
} else {
return 'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/Statics/cutour.png';
}
}
/**
*
* @return {{genitalOffsetY: number, leftBreastOffsetY: number, leftBreastOffsetX: number, rightBreastOffsetY: number, rightBreastOffsetX: number, name: string, legURL: string, genitalOffsetX: number, URL: string}|{genitalOffsetY: number, leftBreastOffsetY: number, leftBreastOffsetX: number, rightBreastOffsetY: number, rightBreastOffsetX: number, name: string, legURL: string, genitalOffsetX: number, URL: string}|{genitalOffsetY: number, leftBreastOffsetY: number, leftBreastOffsetX: number, rightBreastOffsetY: number, rightBreastOffsetX: number, name: string, legURL: string, genitalOffsetX: number, URL: string}|{genitalOffsetY: number, leftBreastOffsetY: number, leftBreastOffsetX: number, rightBreastOffsetY: number, rightBreastOffsetX: number, name: string, legURL: string, genitalOffsetX: number, breastsOverrides: string[], URL: string}|{genitalOffsetY: number, leftBreastOffsetY: number, leftBreastOffsetX: number, rightBreastOffsetY: number, rightBreastOffsetX: number, name: string, legURL: string, genitalOffsetX: number, breastsOverrides: string[], URL: string}}
*/
function getCurrentBody() {
const body = [{
name: 'skinny',
URL: 'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/Body/body_skinny.png',
legURL: 'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/Body/leg_skinny.png',
genitalOffsetX: 0,
genitalOffsetY: 0,
leftBreastOffsetX: 0,
rightBreastOffsetX: 0,
leftBreastOffsetY: 0,
rightBreastOffsetY: 0,
}, {
name: 'average',
URL: 'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/Body/body_average.png',
legURL: 'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/Body/leg_average.png',
genitalOffsetX: 0,
genitalOffsetY: 0,
leftBreastOffsetX: 0,
rightBreastOffsetX: 0,
leftBreastOffsetY: 0,
rightBreastOffsetY: 0,
}, {
name: 'thick',
URL: 'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/Body/body_thick.png',
legURL: 'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/Body/leg_thick.png',
genitalOffsetX: 0,
genitalOffsetY: 0,
leftBreastOffsetX: 0,
rightBreastOffsetX: 0,
leftBreastOffsetY: 0,
rightBreastOffsetY: 0,
}, {
name: 'fat',
URL: 'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/Body/body_fat.png',
legURL: 'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/Body/leg_fat.png',
genitalOffsetX: -50,
genitalOffsetY: 0,
leftBreastOffsetX: 0,
rightBreastOffsetX: 0,
leftBreastOffsetY: 0,
rightBreastOffsetY: 0,
breastsOverrides: [
'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/Breasts/overrides/breasts_1_sumowrestler.png',
'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/Breasts/overrides/breasts_2_fat.png',
'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/Breasts/overrides/breasts_3_fat.png',
'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/Breasts/overrides/breasts_4_fat.png',
'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/Breasts/overrides/breasts_5_fat.png',
'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/Breasts/overrides/breasts_6_fat.png']
}, {
name: 'obese',
URL: 'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/Body/body_obese.png',
legURL: 'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/Body/leg_obese.png',
genitalOffsetX: -125,
genitalOffsetY: 50,
leftBreastOffsetX: 0,
rightBreastOffsetX: 0,
leftBreastOffsetY: 0,
rightBreastOffsetY: 0,
breastsOverrides: [
'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/Breasts/overrides/breasts_1_sumowrestler.png',
'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/Breasts/overrides/breasts_1_sumowrestler.png',
'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/Breasts/overrides/breasts_3_obese.png',
'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/Breasts/overrides/breasts_4_obese.png',
'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/Breasts/overrides/breasts_5_obese.png',
'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/Breasts/overrides/breasts_6_obese.png'
]
}, {
name: 'thin',
URL: 'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/Body/body_thin.png',
legURL: 'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/Body/leg_thin.png',
genitalOffsetX: 0,
genitalOffsetY: 0,
leftBreastOffsetX: 0,
rightBreastOffsetX: 0,
leftBreastOffsetY: 0,
rightBreastOffsetY: 0,
}, {
name: 'athletic',
URL: 'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/Body/body_ahtletic.png',
legURL: 'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/Body/leg_athletic.png',
genitalOffsetX: 0,
genitalOffsetY: 0,
leftBreastOffsetX: 0,
rightBreastOffsetX: 0,
leftBreastOffsetY: 0,
rightBreastOffsetY: 0,
breastsOverrides: [
'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/Breasts/overrides/breasts_1_sumowrestler.png',
'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/Breasts/overrides/breasts_1_athletic.png',
'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/Breasts/overrides/breasts_2_athletic.png',
'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/Breasts/overrides/breasts_3_athletic.png',
'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/Breasts/overrides/breasts_4_athletic.png',
'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/Breasts/overrides/breasts_5_athletic.png',
'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/Breasts/overrides/breasts_6_athletic.png'
]
}, {
name: 'strong',
URL: 'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/Body/body_strong.png',
legURL: 'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/Body/leg_strong.png',
genitalOffsetX: 0,
genitalOffsetY: 0,
leftBreastOffsetX: 0,
rightBreastOffsetX: 0,
leftBreastOffsetY: 0,
rightBreastOffsetY: 0,
breastsOverrides: [
'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/Breasts/overrides/breasts_1_sumowrestler.png',
'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/Breasts/overrides/breasts_1_strong.png',
'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/Breasts/overrides/breasts_2_strong.png',
'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/Breasts/overrides/breasts_3_strong.png',
'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/Breasts/overrides/breasts_4_strong.png',
'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/Breasts/overrides/breasts_5_strong.png',
'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/Breasts/overrides/breasts_6_strong.png']
}, {
name: 'heavy',
URL: 'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/Body/body_heavy.png',
legURL: 'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/Body/leg_heavy.png',
genitalOffsetX: 0,
genitalOffsetY: 10,
leftBreastOffsetX: 15,
rightBreastOffsetX: 0,
leftBreastOffsetY: 0,
rightBreastOffsetY: 0,
breastsOverrides: [
'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/Breasts/overrides/breasts_1_sumowrestler.png',
'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/Breasts/overrides/breasts_2_heavy.png',
'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/Breasts/overrides/breasts_3_heavy.png',
'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/Breasts/overrides/breasts_4_heavy.png',
'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/Breasts/overrides/breasts_5_heavy.png',
'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/Breasts/overrides/breasts_6_heavy.png']
}, {
name: 'bodybuilder',
URL: 'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/Body/body_bodybuilder.png',
legURL: 'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/Body/leg_bodybuilder.png',
genitalOffsetX: -25,
genitalOffsetY: 0,
leftBreastOffsetX: 0,
rightBreastOffsetX: 0,
leftBreastOffsetY: 0,
rightBreastOffsetY: 0,
breastsOverrides: [
'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/Breasts/overrides/breasts_1_sumowrestler.png',
'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/Breasts/overrides/breasts_1_bodybuilder.png',
'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/Breasts/overrides/breasts_2_bodybuilder.png',
'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/Breasts/overrides/breasts_3_bodybuilder.png',
'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/Breasts/overrides/breasts_4_bodybuilder.png',
'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/Breasts/overrides/breasts_5_bodybuilder.png',
'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/Breasts/overrides/breasts_6_bodybuilder.png']
}, {
name: 'heroic',
URL: 'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/Body/body_heroic.png',
legURL: 'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/Body/leg_heroic.png',
genitalOffsetX: -15,
genitalOffsetY: 0,
leftBreastOffsetX: 0,
rightBreastOffsetX: 0,
leftBreastOffsetY: 0,
rightBreastOffsetY: 0,
breastsOverrides: [
'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/Breasts/overrides/breasts_1_sumowrestler.png',
'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/Breasts/overrides/breasts_1_heroic.png',
'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/Breasts/overrides/breasts_2_heroic.png',
'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/Breasts/overrides/breasts_3_heroic.png',
'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/Breasts/overrides/breasts_4_heroic.png',
'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/Breasts/overrides/breasts_5_heroic.png',
'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/Breasts/overrides/breasts_6_heroic.png'
]
}, {
name: 'strongman',
URL: 'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/Body/body_strongman.png',
legURL: 'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/Body/leg_strongman.png',
genitalOffsetX: -30,
genitalOffsetY: 50,
leftBreastOffsetX: 0,
rightBreastOffsetX: 0,
leftBreastOffsetY: 0,
rightBreastOffsetY: 0,
breastsOverrides: [
'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/Breasts/overrides/breasts_1_sumowrestler.png',
'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/Breasts/overrides/breasts_1_strongman.png',
'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/Breasts/overrides/breasts_2_strongman.png',
'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/Breasts/overrides/breasts_3_strongman.png',
'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/Breasts/overrides/breasts_4_strongman.png',
'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/Breasts/overrides/breasts_5_strongman.png',
'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/Breasts/overrides/breasts_6_strongman.png'
]
}, {
name: 'sumowrestler',
URL: 'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/Body/body_sumowrestler.png',
legURL: 'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/Body/leg_sumowrestler.png',
genitalOffsetX: -100,
genitalOffsetY: 150,
leftBreastOffsetX: 0,
rightBreastOffsetX: 0,
leftBreastOffsetY: 0,
rightBreastOffsetY: 0,
breastsOverrides: [
'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/Breasts/overrides/breasts_1_sumowrestler.png',
'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/Breasts/overrides/breasts_2_sumowrestler.png',
'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/Breasts/overrides/breasts_3_sumowrestler.png',
'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/Breasts/overrides/breasts_4_sumowrestler.png',
'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/Breasts/overrides/breasts_5_sumowrestler.png',
'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/Breasts/overrides/breasts_6_sumowrestler.png'
]
}, {
name: 'hulk',
URL: 'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/Body/body_hulk.png',
legURL: 'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/Body/leg_hulk.png',
genitalOffsetX: -25,
genitalOffsetY: 20,
leftBreastOffsetX: 0,
rightBreastOffsetX: 0,
leftBreastOffsetY: 0,
rightBreastOffsetY: 0,
breastsOverrides: [
'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/Breasts/overrides/breasts_1_sumowrestler.png',
'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/Breasts/overrides/breasts_1_hulk.png',
'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/Breasts/overrides/breasts_2_hulk.png',
'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/Breasts/overrides/breasts_3_hulk.png',
'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/Breasts/overrides/breasts_4_hulk.png',
'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/Breasts/overrides/breasts_5_hulk.png',
'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/Breasts/overrides/breasts_6_hulk.png']
}, {
name: 'gigantic',
URL: 'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/Body/body_gigantic.png',
legURL: 'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/Body/leg_gigantic.png',
genitalOffsetX: 100,
genitalOffsetY: 25,
leftBreastOffsetX: 0,
rightBreastOffsetX: 0,
leftBreastOffsetY: 0,
rightBreastOffsetY: 0,
dickOverrides: ['https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/penis/penis_1_monstrous.png',
'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/penis/penis_2_monstrous.png',
'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/penis/penis_3_monstrous.png',
'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/penis/penis_4_monstrous.png',
'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/penis/penis_5_monstrous.png',
'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/penis/penis_6_monstrous.png'
],
ballsOverrides: ['https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/balls/balls_1_monstrous.png',
'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/balls/balls_2_monstrous.png',
'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/balls/balls_3_monstrous.png',
'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/balls/balls_4_monstrous.png',
'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/balls/balls_5_monstrous.png',
'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/balls/balls_6_monstrous.png'
],
breastsOverrides: [
'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/Breasts/overrides/breasts_1_sumowrestler.png',
'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/Breasts/overrides/breasts_1_gigantic.png',
'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/Breasts/overrides/breasts_2_gigantic.png',
'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/Breasts/overrides/breasts_3_gigantic.png',
'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/Breasts/overrides/breasts_4_gigantic.png',
'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/Breasts/overrides/breasts_5_gigantic.png',
'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/Breasts/overrides/breasts_6_gigantic.png'
]
}, {
name: 'monstrous',
URL: 'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/Body/body_monstrous.png',
legURL: 'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/Body/leg_monstrous.png',
genitalOffsetX: 25,
genitalOffsetY: 0,
leftBreastOffsetX: 0,
rightBreastOffsetX: 0,
leftBreastOffsetY: 0,
rightBreastOffsetY: 0,
dickOverrides: ['https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/penis/penis_1_monstrous.png',
'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/penis/penis_2_monstrous.png',
'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/penis/penis_3_monstrous.png',
'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/penis/penis_4_monstrous.png',
'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/penis/penis_5_monstrous.png',
'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/penis/penis_6_monstrous.png'
],
ballsOverrides: ['https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/balls/balls_1_monstrous.png',
'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/balls/balls_2_monstrous.png',
'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/balls/balls_3_monstrous.png',
'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/balls/balls_4_monstrous.png',
'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/balls/balls_5_monstrous.png',
'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/balls/balls_6_monstrous.png'
],
breastsOverrides: [
'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/Breasts/overrides/breasts_1_monstrous.png',
'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/Breasts/overrides/breasts_2_monstrous.png',
'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/Breasts/overrides/breasts_3_monstrous.png',
'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/Breasts/overrides/breasts_4_monstrous.png',
'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/Breasts/overrides/breasts_5_monstrous.png',
'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/Breasts/overrides/breasts_6_monstrous.png'
]
}
];
let muscleI = body.map(value => value.name)
.findIndex(name => name === State.variables.bodyType);
if (muscleI === -1) {
throw new Error(`'${State.variables.bodyType}' body was not found`);
}
return body[muscleI];
}
/**
*
* @param currentBody {{genitalOffsetY: number, leftBreastOffsetY: number, leftBreastOffsetX: number, rightBreastOffsetY: number, rightBreastOffsetX: number, name: string, legURL: string, genitalOffsetX: number, URL: string}|{genitalOffsetY: number, leftBreastOffsetY: number, leftBreastOffsetX: number, rightBreastOffsetY: number, rightBreastOffsetX: number, name: string, legURL: string, genitalOffsetX: number, URL: string}|{genitalOffsetY: number, leftBreastOffsetY: number, leftBreastOffsetX: number, rightBreastOffsetY: number, rightBreastOffsetX: number, name: string, legURL: string, genitalOffsetX: number, URL: string}|{genitalOffsetY: number, leftBreastOffsetY: number, leftBreastOffsetX: number, rightBreastOffsetY: number, rightBreastOffsetX: number, name: string, legURL: string, genitalOffsetX: number, breastsOverrides: string[], URL: string}|{genitalOffsetY: number, leftBreastOffsetY: number, leftBreastOffsetX: number, rightBreastOffsetY: number, rightBreastOffsetX: number, name: string, legURL: string, genitalOffsetX: number, breastsOverrides: string[], URL: string}}
* @return {{left: string, right: string}|string}
*/
function getCurrentBreastsUrl(currentBody) {
let breastsUrls;
if ('breastsOverrides' in currentBody) {
console.log('Used breasts override');
breastsUrls = currentBody.breastsOverrides;
} else {
breastsUrls = [{
left: 'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/Statics/empty.png',
right: 'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/Statics/empty.png'
}, {
left: 'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/Breasts/breasts_1_left.png',
right: 'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/Breasts/breasts_1_right.png'
}, {
left: 'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/Breasts/breasts_1_left.png',
right: 'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/Breasts/breasts_1_right.png'
}, {
left: 'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/Breasts/breasts_2_left.png',
right: 'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/Breasts/breasts_2_right.png'
}, {
left: 'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/Breasts/breasts_3_left.png',
right: 'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/Breasts/breasts_3_right.png'
}, {
left: 'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/Breasts/breasts_4_left.png',
right: 'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/Breasts/breasts_4_right.png'
}, {
left: 'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/Breasts/breasts_5_left.png',
right: 'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/Breasts/breasts_5_right.png'
}
];
}
let breastsI = Math.floor(breastsUrls.length * (State.variables.breasts / 100));
if (breastsI < 0) {
breastsI = 0;
} else if (breastsI > breastsUrls.length - 1) {
breastsI = breastsUrls.length - 1;
}
return breastsUrls[breastsI];
}
/**
*
* @param currentBody {{genitalOffsetY: number, leftBreastOffsetY: number, leftBreastOffsetX: number, rightBreastOffsetY: number, rightBreastOffsetX: number, name: string, legURL: string, genitalOffsetX: number, URL: string}|{genitalOffsetY: number, leftBreastOffsetY: number, leftBreastOffsetX: number, rightBreastOffsetY: number, rightBreastOffsetX: number, name: string, legURL: string, genitalOffsetX: number, URL: string}|{genitalOffsetY: number, leftBreastOffsetY: number, leftBreastOffsetX: number, rightBreastOffsetY: number, rightBreastOffsetX: number, name: string, legURL: string, genitalOffsetX: number, URL: string}|{genitalOffsetY: number, leftBreastOffsetY: number, leftBreastOffsetX: number, rightBreastOffsetY: number, rightBreastOffsetX: number, name: string, legURL: string, genitalOffsetX: number, breastsOverrides: string[], URL: string}|{genitalOffsetY: number, leftBreastOffsetY: number, leftBreastOffsetX: number, rightBreastOffsetY: number, rightBreastOffsetX: number, name: string, legURL: string, genitalOffsetX: number, breastsOverrides: string[], URL: string}}
* @return {string[]}
*/
function _getBallsUrls(currentBody) {
if (!State.variables.dickActive) {
return ['https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/Statics/empty.png'];
}
if ('ballsOverrides' in currentBody) {
console.log('Used balls override');
return currentBody.ballsOverrides;
}
return ['https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/balls/balls_1.png',
'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/balls/balls_2.png',
'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/balls/balls_3.png',
'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/balls/balls_4.png',
'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/balls/balls_5.png',
'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/balls/balls_6.png'];
}
/**
* @param currentBody {{genitalOffsetY: number, leftBreastOffsetY: number, leftBreastOffsetX: number, rightBreastOffsetY: number, rightBreastOffsetX: number, name: string, legURL: string, genitalOffsetX: number, URL: string}|{genitalOffsetY: number, leftBreastOffsetY: number, leftBreastOffsetX: number, rightBreastOffsetY: number, rightBreastOffsetX: number, name: string, legURL: string, genitalOffsetX: number, URL: string}|{genitalOffsetY: number, leftBreastOffsetY: number, leftBreastOffsetX: number, rightBreastOffsetY: number, rightBreastOffsetX: number, name: string, legURL: string, genitalOffsetX: number, URL: string}|{genitalOffsetY: number, leftBreastOffsetY: number, leftBreastOffsetX: number, rightBreastOffsetY: number, rightBreastOffsetX: number, name: string, legURL: string, genitalOffsetX: number, breastsOverrides: string[], URL: string}|{genitalOffsetY: number, leftBreastOffsetY: number, leftBreastOffsetX: number, rightBreastOffsetY: number, rightBreastOffsetX: number, name: string, legURL: string, genitalOffsetX: number, breastsOverrides: string[], URL: string}}
* @return {string}
*/
function getCurrentBallUrl(currentBody) {
let ballsUrls = _getBallsUrls(currentBody);
let ballsI = Math.floor(ballsUrls.length * ((State.variables.dick + State.variables.balls) / 100));
if (ballsI < 0) {
ballsI = 0;
} else if (ballsI > ballsUrls.length - 1) {
ballsI = ballsUrls.length - 1;
}
return ballsUrls[ballsI];
}
/**
*
* @param currentBody {{genitalOffsetY: number, leftBreastOffsetY: number, leftBreastOffsetX: number, rightBreastOffsetY: number, rightBreastOffsetX: number, name: string, legURL: string, genitalOffsetX: number, URL: string}|{genitalOffsetY: number, leftBreastOffsetY: number, leftBreastOffsetX: number, rightBreastOffsetY: number, rightBreastOffsetX: number, name: string, legURL: string, genitalOffsetX: number, URL: string}|{genitalOffsetY: number, leftBreastOffsetY: number, leftBreastOffsetX: number, rightBreastOffsetY: number, rightBreastOffsetX: number, name: string, legURL: string, genitalOffsetX: number, URL: string}|{genitalOffsetY: number, leftBreastOffsetY: number, leftBreastOffsetX: number, rightBreastOffsetY: number, rightBreastOffsetX: number, name: string, legURL: string, genitalOffsetX: number, breastsOverrides: string[], URL: string}|{genitalOffsetY: number, leftBreastOffsetY: number, leftBreastOffsetX: number, rightBreastOffsetY: number, rightBreastOffsetX: number, name: string, legURL: string, genitalOffsetX: number, breastsOverrides: string[], URL: string}}
* @return {string[]}
*/
function _getPenisUrls(currentBody) {
if (!State.variables.dickActive) {
return ['https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/Statics/empty.png'];
}
if ('dickOverrides' in currentBody) {
console.log('Used dick override');
return currentBody.dickOverrides;
}
return ['https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/penis/penis_1.png',
'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/penis/penis_2.png',
'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/penis/penis_3.png',
'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/penis/penis_4.png',
'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/penis/penis_5.png',
'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/penis/penis_6.png'];
}
/**
*
* @param currentBody {{genitalOffsetY: number, leftBreastOffsetY: number, leftBreastOffsetX: number, rightBreastOffsetY: number, rightBreastOffsetX: number, name: string, legURL: string, genitalOffsetX: number, URL: string}|{genitalOffsetY: number, leftBreastOffsetY: number, leftBreastOffsetX: number, rightBreastOffsetY: number, rightBreastOffsetX: number, name: string, legURL: string, genitalOffsetX: number, URL: string}|{genitalOffsetY: number, leftBreastOffsetY: number, leftBreastOffsetX: number, rightBreastOffsetY: number, rightBreastOffsetX: number, name: string, legURL: string, genitalOffsetX: number, URL: string}|{genitalOffsetY: number, leftBreastOffsetY: number, leftBreastOffsetX: number, rightBreastOffsetY: number, rightBreastOffsetX: number, name: string, legURL: string, genitalOffsetX: number, breastsOverrides: string[], URL: string}|{genitalOffsetY: number, leftBreastOffsetY: number, leftBreastOffsetX: number, rightBreastOffsetY: number, rightBreastOffsetX: number, name: string, legURL: string, genitalOffsetX: number, breastsOverrides: string[], URL: string}}
* @return {string}
*/
function getCurrentPenisUrl(currentBody) {
let penisUrls = _getPenisUrls(currentBody);
let penisI = Math.floor(penisUrls.length * (State.variables.dick / 100));
if (penisI < 0) {
penisI = 0;
} else if (penisI > penisUrls.length - 1) {
penisI = penisUrls.length - 1;
}
return penisUrls[penisI];
}
/**
*
* @param currentBody {{genitalOffsetY: number, leftBreastOffsetY: number, leftBreastOffsetX: number, rightBreastOffsetY: number, rightBreastOffsetX: number, name: string, legURL: string, genitalOffsetX: number, URL: string}|{genitalOffsetY: number, leftBreastOffsetY: number, leftBreastOffsetX: number, rightBreastOffsetY: number, rightBreastOffsetX: number, name: string, legURL: string, genitalOffsetX: number, URL: string}|{genitalOffsetY: number, leftBreastOffsetY: number, leftBreastOffsetX: number, rightBreastOffsetY: number, rightBreastOffsetX: number, name: string, legURL: string, genitalOffsetX: number, URL: string}|{genitalOffsetY: number, leftBreastOffsetY: number, leftBreastOffsetX: number, rightBreastOffsetY: number, rightBreastOffsetX: number, name: string, legURL: string, genitalOffsetX: number, breastsOverrides: string[], URL: string}|{genitalOffsetY: number, leftBreastOffsetY: number, leftBreastOffsetX: number, rightBreastOffsetY: number, rightBreastOffsetX: number, name: string, legURL: string, genitalOffsetX: number, breastsOverrides: string[], URL: string}}
* @return {string}
*/
function getCurrentLipsUrl(currentBody) {
const lipsUrls = ['https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/Lips/lips_1.png',
'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/Lips/lips_2.png',
'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/Lips/lips_3.png',
'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/Lips/lips_4.png',
'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/Lips/lips_5.png'
];
let lipsI = Math.floor(lipsUrls.length * (State.variables.lips / 7));
if (lipsI < 0) {
lipsI = 0;
} else if (lipsI > lipsUrls.length - 1) {
lipsI = lipsUrls.length - 1;
}
return lipsUrls[lipsI];
}
/**
*
* @return {string}
*/
function getCurrentBackgroundUrl() {
let backgroundUrls = ['https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/Statics/Background_1.png',
'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/Statics/Background_2.png',
'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/Statics/Background_3.png',
'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/Statics/Background_4.png',
'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/Statics/Background_5.png'
];
if ((State.variables.krisObsessedOpinion >= 40 || State.variables.krisOpinion >= 40) && Math.random() < 0.02) {
backgroundUrls = ['https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/Statics/Background_1_k.png',
'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/Statics/Background_2_k.png',
'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/Statics/Background_3_k.png',
'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/Statics/Background_4_k.png',
'https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/Statics/Background_5_k.png'
];
}
let backGroundI = Math.floor(backgroundUrls.length * ((State.variables.height - 150) / 100));
if (backGroundI < 0) {
backGroundI = 0;
} else if (backGroundI > backgroundUrls.length - 1) {
backGroundI = backgroundUrls.length - 1;
}
return backgroundUrls[backGroundI];
}
/**
* @param breastsUrl {string|Object}
* @return {boolean}
*/
function isBreastsUrlOverridden(breastsUrl) {
if (breastsUrl == null) {
throw new Error('breastsUrl required');
}
return typeof breastsUrl === 'string';
}
async function loadImages() {
/**
*
* @param {String} src
* @param {Number} offsetX
* @param {Number} offsetY
* @return {{offsetX, offsetY, src, width, height}}
*/
function generateBodyPart(src, offsetX, offsetY) {
return {
img: new Image(),
src: src,
offsetX: offsetX,
offsetY: offsetY
};
}
const myCanvas = document.getElementById('canvas');
const myContext = myCanvas.getContext('2d');
const bodyParts = [];
/* set images to load */
bodyParts.push(generateBodyPart(getCurrentBackgroundUrl(), 0, 0));
bodyParts.push(generateBodyPart('https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/Statics/hair.png', 0, 0));
const currentBody = getCurrentBody();
bodyParts.push(generateBodyPart(currentBody.URL, 0, 0));
bodyParts.push(generateBodyPart(getCurrentPenisUrl(currentBody), currentBody.genitalOffsetX, currentBody.genitalOffsetY));
bodyParts.push(generateBodyPart(getCurrentBallUrl(currentBody), currentBody.genitalOffsetX, currentBody.genitalOffsetY));
bodyParts.push(generateBodyPart(currentBody.legURL, 0, 0));
let breastsUrl = getCurrentBreastsUrl(currentBody);
if (isBreastsUrlOverridden(breastsUrl)) {
let breastsSrc = ['overflowing', 'full'].includes(State.variables.breastsFullness) ?
breastsUrl.replace(/(\.[\w\d_-]+)$/i, '_lac$1') : breastsUrl;
bodyParts.push(generateBodyPart(breastsSrc, currentBody.leftBreastOffsetX, currentBody.leftBreastOffsetY));
} else {
/* right breast */
let rightBreastSrc = ['overflowing', 'full'].includes(State.variables.breastsFullness) ?
breastsUrl.right.replace(/(\.[\w\d_-]+)$/i, '_lac$1') : breastsUrl.right;
bodyParts.push(generateBodyPart(rightBreastSrc, currentBody.rightBreastOffsetX, currentBody.rightBreastOffsetY));
/* left breast */
let leftBreastSrc = ['overflowing', 'full'].includes(State.variables.breastsFullness) ?
breastsUrl.left.replace(/(\.[\w\d_-]+)$/i, '_lac$1') : breastsUrl.left;
bodyParts.push(generateBodyPart(leftBreastSrc, currentBody.leftBreastOffsetX, currentBody.leftBreastOffsetY));
}
bodyParts.push(generateBodyPart('https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Full%20body%20experiment/Statics/head.png', 50, 0));
bodyParts.push(generateBodyPart(getCurrentLipsUrl(currentBody), 0, 0));
bodyParts.push(generateBodyPart(getCurrentCutoutUrl(), 0, 0));
/* load images asynchronously */
const imageLoadBatchSize = Number.MAX_VALUE;
for (let i = 0; i < bodyParts.length; i += imageLoadBatchSize) {
let chunk = bodyParts.slice(i, i + imageLoadBatchSize)
.map(bodyPart => {
return new Promise((resolve) => {
bodyPart.img.addEventListener('load', () => resolve(bodyPart.img));
bodyPart.img.src = bodyPart.src;
});
});
await Promise.all(chunk);
}
/* draw images after all images are loaded */
for (const bodyPart of bodyParts) {
myContext.drawImage(bodyPart.img, bodyPart.offsetX, bodyPart.offsetY, myCanvas.width, myCanvas.height);
}
/* mirror fadein */
$('.loader').fadeOut(2000);
setTimeout(() => {
$('#canvas').fadeIn();
}, 2000);
}
loadImages();
<</script>>
<</timed>>
<</widget>><<if $evenCenterVisited != true>><</if>>"You walk towards the vast convention hall, seeing the advert for a bodybuilding competition going on. You approached the wide double doors<<if $fat >= 80 | | $breasts >= 80 || $height >= 250 | | $muscle >= 80>>, trying to enter by squeezing yourself through. Man, if only you could make the door bigger somehow<</if>>.
‘Anything less than strong’
Sure, you don’t exactly have much muscle mass to speak of, but surely it couldn’t hurt to peek? Hell, maybe you could even consider entering! Once you’re inside the hall however… oh… oh, God, no… reality smacks you right in the face. Women and men with gigantic bodies, arms that seemed as wide as your lanky legs. You exit just as quickly as you walked in, face flush in pure embarrassment that such a silly idea could even cross your mind"
‘Strong’
As you enter the hall, you assume you’re in pretty good shape to entertain these thoughts. Sure, there’s some absolute behemoths of muscle on sight, but as far as the female side of things go, you seem like you might just give them a run for their money! You approach the registration desk and see that there’s a few different categories: Lightweight, middleweight, and heavyweight. Deciding that you weren’t THAT big yet, you opt to register for the lightweight category
‘Heavy’
Once inside, you catch the eye of a few people who gaze upon you for the first time. Being a nobody, you call attention with your decent build. Said gazes give you a slight boost of confidence as you approach the registration desk, deciding to enter the intermediate weight class
‘Bodybuilder
After you manage to shimmy your way into the building, you’re surprised at how the competition isn’t all that bad. Not only are you on par with them, size-wise, but also when it comes to definition. As you confidently mark yourself down in the middleweight category, you eye the larger contestants… and wonder what it must feel like to go on stage against them
‘Heroic’
As you strut inside, eyes quickly fall on you. How could they not? This random girl just popped in, on par with the largest female bodybuilders present. Seeing this, you decide to mark yourself down for heavyweight, seeing as anything less wouldn’t even be fair
‘Strongman’
Walking inside with a bit of difficulty, you nevertheless catch the eyes of the people gathered around. Your muscles are the envy of every female competing, and even some of the men
‘Sumowrestler’
After you force your way inside past the revolving door, you notice you there is already a small crowd assembled in your presence. It was inevitable, really, with your pecs having more mass than some of the smaller competitors present
‘Anything bigger’
The poor door was incapable of withstanding your mass, no matter how delicately you tried to squeeze in. As a result, said door gets demolished along with its corresponding frame, your colossal muscles unscathed. After you apologetically look back, you turn around to notice that a massive crowd has gathered at the entrance. Whether it was from your concrete-shattering steps or the shadow you cast over the entrance, you couldn’t say. But one thing was clear: All eyes are on you
[WIP SCENE]
<<link "Return" "Home">><</link>><<addMinutes 15>><<Dialogue "player" "You">>"Yeah, doing well... just a lot going on, you know. With how expensive food is getting and all the issues with clothes not fitting and stuff... it’s a lot. But thank you for asking. How was your day?"<</Dialogue>>
You smile a bit, but Kris seems to be a bit shaken by this. She shifts from left to right, trying to get comfortable, before answering you. Her air of bravado has taken a bit of a hit; it seems she wasn't expecting you to actually converse with her.
<<Dialogue "KrisCasual" "Kris">>"Ehm, well, yeah, doing fine, I guess? Work is a hassle, as always, but fuck it, I need to make money, right?"<</Dialogue>>
<<Dialogue "player" "You">>"At the Coffee Corner, right? Is that your only job? Or do you have other gigs?"<</Dialogue>>
<<Dialogue "KrisCasual" "Kris">>"... Yeah. Well, the only work I do is on paper, if you catch my drift. Got to make ends meet, after all. But really, I fucking hate it and wish I could do something else."<</Dialogue>>
You listen to her, rather stunned. Kris is aggressively bored; she's not rude or anything, but she's keeps spitting out information with little thought. It seems she expected a different outcome for the question, but this is also the first time Kris is doing anything resembling opening up. Perhaps you could learn a bit more about her here.
<<Dialogue "player" "You">>"... I've been meaning to ask. You don't seem to enjoy working in the Coffee Corner at all... Why did you even apply there?"<</Dialogue>>
<<Dialogue "KrisCasual" "Kris">>"There is a gym nearby, and I got to see some nice and BIG people training there... hehehe... but come oooon, let's not talk about all this boring stuff when I got someone as amazing as you here! How about you give me a flex, big girl?"<</Dialogue>>
[[KrisTalk2<-Ask why she is so interested in big people]]
[[KrisTalk3<-Aks her about herself]]
[[KrisFlex<-Flex a bit for her]]<<addMinutes 15>>You <<if $submissiveDominant > 1>>grin at her<<else>>wince somewhat uneasily<</if>>, flexing your bulging biceps at her. The effect is apparent as your muscles rise up and Kris's grin grows wider and wider. Her hand reaches out to touch, but <<if $submissiveDominant > 1>>playfully you slap it away.
<<Dialogue "player" "You">>"Only good girls get the beef, and you're a VERY bad girl, keeping me waiting in this kind of place!"<</Dialogue>>
Taking a step closer, you stand across from her. <<if $height < 160>>Despite being smaller than her, you still manage to be the one in charge of the situation.<<elseif $height < 200>>You utterly loom over her, as Kris smiles at the display.<<else>>You loom over her, Kris grinning as she drink it in.<</if>>
<<Dialogue "KrisCasualObsessed" "Kris">>"Hehe, Oh excuuuuuse me, princess! I didn't know I was dealing with a fragile snowflake instead of a fucking giant Goddess! Heh, but if you don't like this place... we can always go to my place."<</Dialogue>>
She adds a wink that is somehow less subtle than the rest of her attitude. Well, at the very least she's clear about her intentions. You COULD go to Kris's house and undoubtedly have a rather exciting evening... but you wouldn't get to know Kris better, or figure out the weird relationship you two have. What should you do?
[[KrisSex<-Go to Kris' place]]
[[KrisFlex<-Lets tone it down a bit, but be playful]]
<<else>> you wince a bit, visibly uncomfortable. You tried being playful, you tried taking the initiative, but you simply don't have it in you. Kris's hand moves forward, actually touching you and though she was about to say something way more provocative, she actually gazes at you for a bit.
<<Dialogue "KrisCasual" "Kris">>"... you good?"<</Dialogue>>
<<Dialogue "player" "You">>"S-sorry, I tried being a bit playful but just... this isn't me. C-can you... remove your hand, please?"<</Dialogue>>
You can feel the doubt in Kris. She is in charge, and she knows it. She can keep it there. But she's also seeing that you tried something, that it failed, and that you're uncomfortable. Her hand pulls away.
<<Dialogue "KrisCasualObsessed" "Kris">>"Heh, its cute how much you still have the personality of someone half your size. Guess that doesn't grow with the rest of you. I might even appreciate that."<</Dialogue>>
You wince a bit. Kris could control you so easily, and if you didn't stand up for yourself more, it would only get easier for her...
[[KrisPostTalk<- Talk about something]] <</if>><<addMinutes 15>>It feels odd, talking to Kris like this. It’s really different from what you two normally talk about; namely, your body. But it also allows you to get to know her. And as she clearly doesn't expect it, it keeps her off balance. Yet talking about big people pulled the old Kris back.
<<Dialogue "player" "You">>"So you chose your work because... you like big people? Really?"<</Dialogue>>
<<Dialogue "KrisCasualObsessed" "Kris">>Haha, why not? Why else would I do it, for the tips?!?"<</Dialogue>>
<<Dialogue "player" "You">>"Yeah, but...not many people choose a job so they can... ogle at people."<</Dialogue>>
<<Dialogue "KrisCasualObsessed" "Kris">>"Yeah, and that's where I'm different. I do what I feel like doing. I don't CARE about that fucking job, and I refuse to pretend to enjoy. I got enough money to eat, that's all that matters right? I don't need some boring ass degree or soul-crushing 9 to 5, I got my passions, and SIZE is one of them! And I WON'T apologize for it!"<</Dialogue>>
She slams the table, reinforcing the statement. Her voice had risen a bit, her eyes even more intense than normal. You lean back, your <<if $muscle > 40 || $fat > 40>>broad <</if>>back pressed into the booth. Like a predator, Kris notices the moment of weakness, her knees on the table as she leans intimately close to your face. Her face is flushed, her breathing shallow as her nails scratch loudly against the wood.
<<Dialogue "KrisCasualObsessed" "Kris">>"Oh, you only realized it now? You wanted to know about my job? Well, before I go to work, I masturbate to big guys or girls, I fantasize about giants trampling cities, about them ramming their gigantic cocks against my body. At night, I dream about it, I buy the biggest dildos around so I can get a SENSE of that feeling. I want to bathe in their cum, be held on a leash by a fucking GOD of a human with muscles so obscene the fucking giant will have no choice but to grow bigger and bigger and UNGH! And YOU are going to be that for me!"<</Dialogue>>
Okay, Kris is in a mood. How the HELL are you going to deal with this?!
[[KrisKiss<-Wait and see]]
[[KrisPostTalk<- Talk about something]]<<addMinutes 15>>Well, time to give her the goods, huh? You shuffle over a bit until you're sitting right next to her. Your meatier leg rubs against hers, and under the table you decide to flex it a bit. Huge quads explode outwards, and Kris' eyes widen at the display. <<if $muscle > 80>>They utterly dwarf her own legs, each head of the muscle dwarfing the tiny limb next to it.<<elseif $muscle > 50>> The comparison would be depressing if it was so enticing for her, and you can see Kris reacting wildly, like her blood is about to boil. Her hands drift over, stroking the little show you put on for her.<</if>><<if $dick >= 20>> The gigantic log between your legs catches Kris's attention next, and you see her willpower being tested as she fights her urges to go down on that thing right now. The fabric around it doesn't even hide the protruding glans. Heck, even the veins are at full display, and you bite your lips hoping to soften it a bit somehow.<<elseif $dick >= 10>> And of course, Kris's hands drift to the big, thick log between your legs. Without even asking, she gropes and caresses it, kneading the shaft a bit as she looks you dead in the eyes. Oh, she knows. And she no longer cares how it got there… only that it's big, and within reach. <<elseif $dick > 5>> Kris reaches out and kneads them, her hands traveling over the sinew. Her eyes are glued to your legs but... well, she can’t miss the that OTHER bulge there. Her eyes stick to it, seemingly trying to undress you before grinning like a maniac. Oh, she likes what she sees.<</if>> She quickly readjusts her position, sitting on your lap and facing you. <<if $height > 200>> Her face comfortably faces your pecs, and it’s obvious she’s loving every second of it.<</if>> With her legs over yours, she can now fully compare them, and also explore your torso to her heart’s desire. The chest, the breasts, her eyes wander aimlessly, and she is content as can be. <<if $submissiveDominant > 1>> However, when your eyes meet hers, you make it a point to assert you are still in charge. In response, Kris merely grins like the Cheshire cat, embracing that challenge. <<else>> Kris grins like the Cheshire cat, challenging you, but confident that she is the one in charge.<</if>>
<<Dialogue "KrisCasualObsessed" "Kris">>"Damn, you're... amazing. Look at those muscles, those pecs, those... EVERYTHING! And we're going to make you even bigger!"<</Dialogue>>
She then leans forward, hands on your chest. Your faces are almost touching, and her lips nearly touching yours. You can feel her warm breath on your face. People look at you, and Kris’s lack of self-control, but she doesn't care. For all her faults, there is one thing she can never be accused of. Feeling ashamed of what she is. Her hands grope and knead, taking all of you in touch, with fingers so tiny and soft that she is closer to a pet than a peer. <<if $breasts > 50>>She's almost sitting between your cleavage, but who cares? Kris certainly does not.<<elseif $breasts > 30>> She's firmly leaning into your breasts, making them squish to the side.<</if>> Unable to control herself anymore, she begins leaning in. Her breath warms your neck, before unleashing soft nibbles, and then messy kisses. Her hips grind against yours, her torso rubbing against you as her hands try her hardest to wrap around you. With all fiery passion under her skin, she still shows a surprising amount of control and precision in every move, her hands never leaving your body. Your eyes open a bit, watching people staring at you and...
<<if $shyConfident > 1>><<Dialogue "player" "You">>"Ugh... Keep going..."<</Dialogue>>
<<Dialogue "KrisCasualObsessed" "Kris">>"You think I want to stop?! Hmmmm... say... why don't we take this to my place… ?"<</Dialogue>>
<<else>><<Dialogue "player" "You">>"K-Kris... people are staring..."<</Dialogue>>
<<Dialogue "KrisCasualObsessed" "Kris">>"You think I give a fuck?! Hmmmm... say... why don't we take this to my place… ?"<</Dialogue>><</if>>
[[KrisPostTalk<- Try to turn it into a conversation again, this is going too fast!]]
[[KrisSex<- Fuck it, go to Kris' place!]]<<addMinutes 15>><<Dialogue "player" "You">>"So you got no other ambitions or dreams at all? Just... coast through life, chasing after big people? Why don't you work out yourself...?"<</Dialogue>>
<<Dialogue "KrisCasual" "Kris">>"... Listen is this a fucking date or the goddamn Spanish inquisition?!?"<</Dialogue>>
Well, you didn't expect that. But despite her protests, you get the feeling you can push further.
<<Dialogue "player" "You">>"Hey, come on, I just want to get to know you a bit better. Don't be like this."<</Dialogue>>
<<Dialogue "KrisCasual" "Kris">>"Fine. You wanna know? Okay."<</Dialogue>>
She flags someone over for a couple of drinks, looking none too pleased. When her beer arrives, she slams it down in a single gulp.
<<Dialogue "KrisCasual" "Kris">>"... I am constantly harboring this raging libido, working a dead end-job and I have no relevant skills or anything better to do with my life. Okay?!? Happy now?"<</Dialogue>>
Kris taps her finger on the table nervously, looking away. Was that it? The reason Kris has this larger-than-life personality? Just chasing thrills because of a high libido and a lack of ambition? Or is this related to an insecurity over her lack of talent? Digesting all that leaves you in silence for a while. All the playfulness has been knocked out of Kris, and she just glares into the void.
<<Dialogue "KrisCasual" "Kris">>"... If I'm stuck at a dead-end job I might as well get something to masturbate to."<</Dialogue>>
<<Dialogue "player" "You">>"But... what about other hobbies?"<</Dialogue>>
<<Dialogue "KrisCasual" "Kris">>"Like what? The gym? Too much effort. Cooking? Eh, I don't eat much. So no, I don't have many other hobbies. I mean, right now, YOU are my hobby, heh!"<</Dialogue>>
Before that would sound creepy, but now it just feels kind of... depressing. Her bravado, this mask, it just covers this big empty hole inside of her.
<<Dialogue "player" "You">>"How about we try to find something for you to geek over? You know, on our next date?"<</Dialogue>>
<<Dialogue "KrisCasual" "Kris">>"Wait, wait, wait... you... want another date? After this... trainwreck!?"<</Dialogue>>
<<Dialogue "player" "You">>"Yeah, because I'm finally actually getting to know you better."<</Dialogue>>
And with that, the spark ignited between the two of you. A moment of genuine softness between two women. Nonetheless, already you could see Kris going from surprise to her trademark smirk. Oh, no...
<<Dialogue "KrisCasual" "Kris">>"Heh, I KNEW you were a big softy! Good to know, bi-... <<print $playerFirstName>>. But... sure. I'd like another date. If you are up to it."<</Dialogue>>
Though she relapsed a bit, and will probably put on a brave face again, you get the feeling that Kris has shown more of her true self here than she might have done in years. The two of you chat a bit more, have a few drinks, but finally decide it’s time to go.
[[KrisDate1PerfectEnding<- Go outside]]<<addMinutes 15>>You decided to do nothing, and Kris takes her shot. Without any warning, she sits on the table and grabs your head, leading into the sloppiest kiss possible. With warm lips, she presses herself against you, leaving you little chance to react. Her lips smooch yours, Kris exploring you, inside and outside. They drifted over your <<lipsDescription>> lips, your cheek, before she gets lost in making out with you. Her tongue forces itself into your mouth as Kris moans sensually. <<if $height >200>>You might be much bigger than her, yet she is firmly in control here. She tastes you, as her moaning continues.<</if>><<if $tongue <= 2>>Her eyes open wide as she feels just how massive your tongue is in your mouth. Her tiny one explores yours, dancing around yours with exploratory intent. Her tongue hooks around yours, pulling it out while her teeth gently nibble it. She coaxes it out, her hand squeezing it with delight and curiosity.
<<Dialogue "KrisCasualObsessed" "Kris">>"... Fuck, all of you is big... Perfection."<</Dialogue>>
<<if $tongue <= 4>>With the appendage still writhing in her hand, Kris takes the tip of your tongue into her mouth. Gently, she sucks on it, massaging it... almost like she's giving your tongue a blowjob! It goes deeper and deeper inside her, while you just watch, stunned, as she delights in the pleasure of having you inside her.
<</if>><</if>> Kris is now moaning louder across from you, giving in to pure delight. Her hands return to your shoulders, your pecs... every part she can find a sinewy curve, she has fingers on. Unashamed, she continues oblivious to her surroundings as she worships you nonstop, with increasingly loud groans and moans.
<<Dialogue "KrisCasualObsessed" "Kris">>"... your body is a work of art. And you're only going to keep growing. You're my fucking dream, a fucking miracle, a world wonder, a - Hehe... Why am I even praising you? You know all this, don't you, bitch?"<</Dialogue>>
Geez, Kris was in a MOOD with a capital M. Quickly, you attempt a change of topic, trying to regain some footing.
[[KrisPostTalk<- Talk about something]]Once you two get to her apartment, Kris grins as she opens the door, her face beaming and betraying her growing excitement.
<<Dialogue "KrisCasualObsessed" "Kris">>"So, what is on the menu today?"<</Dialogue>>
[More options coming soon]
[[muscleWorship<- Some muscle worship!]]<<addMinutes 15>>Gently, you push Kris away, trying to catch your breath and interrupt her horny groping for a second. As she sits next to you, again, you try to catch your breath, as you sweat and fight some slight panic.
<<Dialogue "player" "You">>"S-sorry! Just... you know... a lot of people watching..."<</Dialogue>>
<<Dialogue "KrisCasualObsessed" "Kris">>"Fuck, you're one of the most difficult lays I've had in a while... but okay, don't worry, I can wait, I can be patient! Heh, I will treat this like my personal game of cat and mouse!"<</Dialogue>>
<<Dialogue "player" "You">>"Game?"<</Dialogue>>
<<Dialogue "KrisCasualObsessed" "Kris">>"Yeah, DUH. You're playing hard to get! I’m the cat in this scenario."<</Dialogue>>
You were perhaps a bit playful, but it wasn't a game to get laid. This date was a means to get to know her, wasn’t it?
<<Dialogue "player" "You">>"What?! No! this is just… a little too much! I... a game?! A GAME?!?"<</Dialogue>>
<<Dialogue "KrisCasualObsessed" "Kris">>"Aw, come ooooon, don't play coy! You can be straight with me."<</Dialogue>>
<<Dialogue "player" "You">>I'm not playing hard to get!"<</Dialogue>>
Her eyes display confusion for a second as her mind tries to process this information. You can see it enter her brain, the gears grinding with unease, and yeah, the message is not coming across. You need to do SOMETHING to make Kris get it.
<span id="choice"><<link "Fuck it, just have sex with her.">><<replace "#choice">>Fuck it. If you can't get through to her, then at least you can have some fun tonight.
<<Dialogue "player" "You">>"You know what... let's just go to your place. How about we just skip to the fun part?"<</Dialogue>>
Kris Immediately lights up, her brain gears unstuck at last. But you can't shake the feeling that you got nowhere tonight. At least where getting to know her is concerned.
<<Dialogue "KrisCasualObsessed" "Kris">>"Hey, hey, seeee? I knew it was part of the game! But you can play harder to get, I enjoy that a lot! Let’s get going!"<</Dialogue>>
[[KrisSex<-Go to Kris' place]]
<</replace>><</link>>
<<link "Try to get through to her">><<replace "#choice">>
<<Dialogue "player" "You">>"Kris, if I wanted fun and games I would have just... kept visiting you at the café. Come on. I know NOTHING about you, I wanted to know you a bit! Just... THIS time, no games, okay?!"<</Dialogue>>
Her smile vanishes, and she sighs, like a disappoint child.
<<Dialogue "KrisCasual" "Kris">>"... But I LIKE the games."<</Dialogue>>
<<Dialogue "player" "You">>"Yeah, well, me too, but not ALL the time, you know? "<</Dialogue>>
Your voice broke a bit, your frustration surfacing. Kris looks at you in stubborn silence.
<<Dialogue "player" "You">>"... Well? I wanted this to be a fun night out, Kris!"<</Dialogue>>
<<Dialogue "KrisCasual" "Kris">>"Same here, duh! Guess I misread the room a bit. Okay. Eh... give me a moment."<</Dialogue>>
Kris paces around a bit, thinking. Around you, the pub still buzzes with activity, like a beehive of lewdness, music and alcohol.
<<Dialogue "KrisCasual" "Kris">>"Right. I'll try to be more aware of the situation. How does that sound?"<</Dialogue>>
<<Dialogue "player" "You">>"... That is all I am asking."<</Dialogue>>
Guess this is all you are getting for now. Kris is still eating you with her eyes, admiring your bulk… but at least she is displaying SOME restraint. Keyword being ‘some’.
<<Dialogue "KrisCasualObsessed" "Kris">>"See? We can have fun! Listen, beefcake, I had a ton of fun this evening. And I'll try to be a bit more open in the future, okay? Look, I can confidently say I enjoyed myself tonight, I hope you did too! Can I get a hug now or what?!?"<</Dialogue>>
She opens her arms, and you reluctantly embrace her. She squeezes tight, and you could swear you heard a tiny grunt. After letting go, she smiles at you.
<<Dialogue "KrisCasualObsessed" "Kris">>"We'll do WONDERFUL things together, mark my words... so… until next time?"<</Dialogue>>
<<Dialogue "player" "You">>"Yeah, sure."<</Dialogue>>
Kris walks off, blowing you a small kiss. Well, tonight wasn't a total bust. But it wasn't a great success either. Kris just seems so obsessed with your body that she barely pays any attention to the person within. As you walk home, you wonder where things will go from here, and what the next date with her will be like. You just know you haven’t seen the last of Kris.
<<link "Go home" "Home">><<addMinutes 15>><</link>>
<</replace>><</link>>
<<PersonalityCheck $submissiveDominant > 1 "Demand respect">><<replace "#choice">>
<<Dialogue "player" "You">>"Kris. You'll stop playing games right now. Or I'm out."<</Dialogue>>
Your voice was strong and dominant. You didn't just state your terms, you made sure she heard it loud and clear. It didn’t matter if you were <<if $measurementSystem == 'metric'>>three meters or a meter and a half tall<<else>>ten feet or four feet tall<</if>>, hugely muscled or thin as a stick. She was going to listen. As it finally comes across, you take a step closer to make sure she listened.
<<Dialogue "player" "You">>"Kris. We are done with the games for now. Or I'm out. I'm having fun, you're cool, but it can't be games ALL the time."<</Dialogue>>
<<Dialogue "KrisCasualObsessed" "Kris">>"… Roger that. I… will try to behave."<</Dialogue>>
In an attempt to deescalate things bit, you lean in, smile, and give her a warm hug.
<<Dialogue "player" "You">>"That is all I am asking. Now, this was a fun evening, and I hope you also enjoyed yourself. I will see you later, okay?"<</Dialogue>>
You walk away, leaving Kris there, still dumbfounded. Well, the date wasn't a total success, but you at least made your point about your boundaries in the relationship.
<<link "Go home" "Home">><<addMinutes 15>><</link>>
<</replace>>
<<Failed>><<replace "#choice">>You try to speak up, but Kris beats you to it. She utterly ignores your attempt to speak up, not even dignifying it with an acknowledgement.
<<Dialogue "player" "You">>"Hah, no worries, big girl! Now, we had a lovely evening together, didn't we? Well, I actually need to get going, so… I think we'll be seeing each other A LOT in the future!"<</Dialogue>>
Kris winks at you before walking off, and you're quite sure she didn't take the hint. At all. You just know you'll come across her again, but as to where things between the two of you stand at this point? Well, perhaps neither of you really knows.
<<link "Go home" "Home">><<addMinutes 15>><</link>>
<</replace>><</PersonalityCheck>></span><<addMinutes 15>>Outside of the bar, you stare at each other, Kris fighting to regain her composure. You can clearly see she just isn't used to this, nor does she want it. She clearly expected hot steamy sex, but instead was forced to open up emotionally. Looking at her, it's strangely sweet how much she tries to maintain that alpha façade. Her effort, however, demands a small reward.
<<if $submissiveDominant < 0 || $shyConfident>>With shaking hands<<else>>With confidence<</if>> you lean forward, and give Kris a contained and affectionate kiss. Your lips touch her cheek, and Kris instantly stops her rambling and stares at you like you just grew a second head.
<<Dialogue "KrisCasual" "Kris">>"The fuck was THAT for?!"<</Dialogue>>
<<Dialogue "player" "You">>"Just... a small kiss. Because I appreciated this time we had together, and I was very glad we talked like friends. I... I enjoyed that. A lot."<</Dialogue>>
Normally, Kris freaks you out with her intensity, but that feeling was gone now. Instead, There’s this tingling excitement you get as you look at her. You glimpsed into her madness a bit, you get her passion. You also realize that she isn't that crazy, she just... lacks focus. Kris, on the other hand, looks almost uncomfortable in her confusion.
<<Dialogue "KrisCasual" "Kris">>"... You do realize I just want to fuck you, right?"<</Dialogue>>
Utter silence. Was she trying to claw back into her alpha-bitch persona? Or was she trying to get a reaction out of you? Or... was she genuine trying to get her point across?
<span id="choice"><<PersonalityCheck $shyConfident >= 1 "Tell her to be honest">><<replace "#choice">><<Dialogue "player" "You">>"Kris… For FUCK’S SAKE, drop the attitude and just tell me if you fucking enjoyed it or not."<</Dialogue>>
Her face drops, and Kris sighs. Her mouth opens, but no witty remark comes out. She rubs her neck, clearly regretting what she said.
<<Dialogue "KrisCasual" "Kris">>"... Sorry. This is all... new to me. Heh... I guess it's a lot easier to just ogle and admire and not... talk to people. Just... I don't mean it that... badly, okay? I just don't know how to express myself otherwise. I did enjoy myself tonight. Just... I guess I have a weird way of showing it."<</Dialogue>>
She tries smiling, and it’s clear she's being sincere. She's TRYING, she just utterly lost and unsure how to do it.
<<Dialogue "player" "You">>"I get it, really. Just don't be an ass ALL the time, can you do that?"<</Dialogue>>
<<Dialogue "KrisCasual" "Kris">>"... I'll try. I promise. And... fine. Listen... I... Uh... I guess... thanks for... tonight. It was good getting to know you."<</Dialogue>>
While blushing deeply, Kris leans in, and kisses you softly. With a melancholic smile, she walks away, waving you off. Well... that was quite a rollercoaster of a date. But all in all, it seems that Kris isn't so bad as she might come off initially. Even though she has some trouble acknowledging it.
<<link "Go home" "Home">><<addMinutes 15>><</link>><</replace>>
<<Failed>><<replace "#choice">><<Dialogue "player" "You">>"K-Kris... c-could you just be honest for once? C-come on, you clearly enjoyed this..."<</Dialogue>>
It’s difficult keeping your emotions in check. Your eyes are on Kris, watching how she reacts. Would she use this again, try to subjugate you again? Or will she actually listen, for once? The silence drags for an awkwardly long while.
<<Dialogue "KrisCasual" "Kris">>"Okay. I DID enjoy tonight. But... listen, I DO want to fuck you. We... I... Eh... Yeah, I suppose I did enjoy this date. It was different. But do YOU understand I also want to fuck you silly? I.... eh... I'm not used to all this... lovey-dovey crap. It’s new to me. Give me some fucking time to adapt, alright?"<</Dialogue>>
You gulp, chest filled with uncertainty. Kris claims that she'll try to adapt... but when it comes to her, it’s always so hard to tell. And yet, she still somehow surprises you: leaning forward, she hugs you. <<if $muscle > 50 || $fat > 50 || $breasts > 50>>Her arms barely go around you. <</if>> While normally this would be just horny groping, this is actually a very affectionate and warm hug, and she lets go without any protest. A thin, fragile smile appears on her face, her eyes staring at you, full of promise and hope.
<<Dialogue "KrisCasual" "Kris">>"I'll try, okay, bi - <<print $playerFirstName>>. I'll try, okay? I guess I will see you around!"<</Dialogue>>
While blushing deeply, Kris tiptoes and gives you a light peck. With a melancholic smile, she walks away, waving you off. Well... that was quite a rollercoaster of a date. But all in all, it seems that Kris isn't so bad as she might come off initially. Even though she has some trouble acknowledging it.
<<link "Go home" "Home">><<addMinutes 15>><</link>><</replace>>
<</PersonalityCheck>>
<<PersonalityCheck $submissiveDominant >= 1 "Demand a straight anwser">><<replace "#choice">>You're done with this 'game'. Done with this constant feeling of just being something to be gawked at. Straightening up, <<if $height > 170>> you loom over Kris, looking down at her. For once, you're in charge, <</if>> you make it clear you're not happy with this.
<<Dialogue "player" "You">>"Cut the crap this fucking instant or I'm done."<</Dialogue>>
Kris swallows, her eyes wide and nervous.
<<Dialogue "KrisCasual" "Kris">>"... S-sorry, <<print $playerFirstName>>. I just... I don't know how to handle this, okay? I'm used to ogling people like you, not... not talking with them. I'll t-try to change, okay? Please? It might take a while but... I promise I will try."<</Dialogue>>
<<Dialogue "player" "You">>"Good. This was a nice evening, but you need to work on that, Kris. I will see you later, okay?"<</Dialogue>>
<<Dialogue "player" "You">>"Y-yeah... see ya later, big g - <<print $playerFirstName>>."<</Dialogue>>
A bit awkwardly, Kris turns around to walk away. Yet she stops, turns around, and hugs you. <<if $muscle > 50 || $fat > 50 || $breasts > 50>>Her arms barely go around you. <</if>> While normally this would be just horny groping, this is actually a very affectionate and warm hug, and she lets go without any protest. A thin, fragile smile appears on her face, her eyes staring at you, full of promise and hope. With a wave, she walks off, leaving you with the memories of the weirdest date you've ever had. But, hey, at least Kris is trying.
<<link "Go home" "Home">><<addMinutes 15>><</link>><</replace>>
<<Failed>>
<<replace "#choice">>You're done with this 'game'. Done with this constant feeling of just being gawked at. Straightening up, <<if $height > 170>> you loom over Kris, looking down at her. For once, you're in charge, <</if>> you make it clear you're not pleased. At least, that was what you thought.
<<Dialogue "player" "You">>"Y-you can cut the crap right now or I'm done."<</Dialogue>>
Kris swallows, her eyes wide and nervous.
<<Dialogue "KrisCasual" "Kris">>"Hey, what the hell! I am fucking trying, okay? But this is fucking new territory for me too! I'll cut the alpha-bitch crap if we meet halfway!"<</Dialogue>>
<<Dialogue "player" "You">>"H-hey, now, I just want you to be honest! Is that so much to ask?!?"<</Dialogue>>
<<Dialogue "player" "You">>"... Fine. I'll try to turn it down a bit. Just put yourself in my shoes for once, alright? You think this is easy for me?"<</Dialogue>>
A bit awkwardly, Kris turns around to walk away. Yet she stops, turns around, and hugs you. <<if $muscle > 50 || $fat > 50 || $breasts > 50>>Her arms barely go around you. <</if>> While normally this would be just horny groping, this is actually a very affectionate and warm hug, and she lets go without any protest. A thin, fragile smile appears on her face, her eyes staring at you, full of promise and hope. With a wave, she walks off, leaving you with the memories of the weirdest date you've ever had. But, hey, at least Kris is trying.
<<link "Go home" "Home">><<addMinutes 15>><</link>><</replace>>
<</PersonalityCheck>>
</span>As you try to sit down on your chair, your arms are squished and your considerable bulk makes the poor piece of furniture groan under you. Before you drop your weight, you hear a cough behind you. Startling you, you shift your weight fully to one of the arm-rests and it breaks clean off, sending you to the floor with a loud thud.
Emma stands over you, barely showing any surprise.
<<Dialogue "Emma" "Emma">>"Uh, are you okay? I... Let's take this to my office, please."<</Dialogue>>
Extending her hand, she helps you up, with surprising ease. The two of you walk to her office, the door closing behind her.
<<Dialogue "Emma" "Emma">>"Please, sit down. Carefully, if you will."<</Dialogue>>
You sit down slowly, the chair merely groaning.
<<Dialogue "Emma" "Emma">>"Actually, the reason I called you... is because of this. You obviously work out a LOT. And, we're noticing that our office supplies are a bit... well, insufficient for someone of your stature. However, an opportunity has come up! You see, we have a shipping facility in this building. However, some new city ordinances have precluded us from operating the forklifts in the basement... so our operation is at a complete standstill while we figure this out. While your performance at my department is undeniable, I think this new setting might be a perfect fit for your… unique physique!"<</Dialogue>>
You blink a few times, surprised. Well, that came out of nowhere! But she isn’t wrong, carrying heavy stuff in a warehouse might be more appropriate for your current body. And yet, there are some questions left unanswered.
<<Dialogue "player" "You">>"Right... so what about my pay? And hours?"<</Dialogue>>
<<Dialogue "Emma" "Emma">>"Simple. There wouldn’t be many major changes, though the hours are more flexible. As for your wages, we will pay you per pallet shipped. You get a great workout, and your performance is dictated by your capacity for lug heavy cargo. You will still have to log your hours and make sure the shipping manifesto is up to date. So there is some admin work behind your PC, and for the rest of the day it would be just you and a whole lot of heavy goods to be moved. Would that be acceptable?"<</Dialogue>>
<span id="choice"><<link "Accept it">><<replace "#choice">>Workouts, no more boring admin work, and getting paid for it? Hell, yes!
<<Dialogue "player" "You">>"Sure! So, I just... start my morning behind my PC and then... lift boxes?"<</Dialogue>>
<<Dialogue "Emma" "Emma">>"That's it. Quite simple, and I think you'll be suited for it. I feel like, either way, some of your talents might go to waste, but I would argue that your strength seems to be the… more extraordinary one. And you could make quite a hefty bonus if you move a lot of cargo. Well, with that settled, just make your way to the underground warehouse, the entrance is next to the canteen and... well, the signs there will instruct you about the shipping procedures! That's it."<</Dialogue>>
With a smile, she stands up and shakes your hand formally, before accompanying you to the warehouse entrance. The place is stacked ceiling-high with boxes and pallets that need moving. Emma simply looks at you with a cheery smile.
<<Dialogue "Emma" "Emma">>"Have fun."<</Dialogue>>
<<link "Get to work." "office">><<set $jobWarehouse to true>><</link>>
<</replace>><</link>>
<<link "Don't take it">><<replace "#choice">>You just started working here... perhaps this isn’t such a great idea.
<<Dialogue "player" "You">>"If it's alright with you, I'd rather keep my current position."<</Dialogue>>
Emma gives you a surprisingly reassuring smile, reinforcing that she respects your decision.
<<Dialogue "Emma" "Emma">>"Of course. It IS your choice, after all. In that case, I'd say good luck with work… and the furniture."<</Dialogue>>
<<link "Get to work." "office">><</link>><</replace>><</link>></span>Well, here you are in the warehouse. It’s full of crates and boxes to be move, a PC to log your work on, and the long rods of fluorescent lighting to keep you company. The floor is concrete, the ceiling steel, and you're quite sure that you're the only one coming here. Time to get started!
<br>
<<gameLink "Take a break" "jobWarehouse" time:20 exhaustion:-10>><</gameLink>>
<br>
<<if $muscle > 75>>
<<if $exhaustionPercentage < $motivationPercentage && $exhaustion + 5 < 100>>
<<gameLink "Shift the boxes one at a time" "ShiftBoxes" time:10 exhaustion:5>><<set $boxesShifted += 20>><</gameLink>>
<<else>>
Yeah, you'll need a small break before you can lift boxes again.
<</if>>
<br>
<<if $exhaustionPercentage < $motivationPercentage && $exhaustion + 10 < 100>>
<<gameLink "Move entire pallets at a time" "ShiftPallette" time:15 minexhaustion:1 exhaustion:10>><<set $boxesShifted += 30>><</gameLink>>
<<else>>
Those pallets are a bit too heavy to shift, given how tired you are. Maybe take a short break, or lift something lighter.
<</if>>
<br>
<<if $exhaustionPercentage < $motivationPercentage && $exhaustion + 20 < 100>>
<<gameLink "Shift whole stacks at a time" "ShiftStacks" time:20 minexhaustion:5 exhaustion:20>><<set $boxesShifted += 50>><</gameLink>>
<<else>>
Those stacks are a bit too heavy to shift, given how tired you are. Maybe take a short break, or lift something light.
<</if>>
<<elseif $muscle > 50>>
<<if $exhaustionPercentage < $motivationPercentage && $exhaustion + 10 < 100>>
<<gameLink "Shift the boxes one at a time" "ShiftBoxes" time:20 minexhaustion:2 exhaustion:10>><<set $boxesShifted += 10>><</gameLink>>
<<else>>
Yeah, you'll need a short break before you can lift boxes again.
<</if>>
<br>
<<if $exhaustionPercentage < $motivationPercentage && $exhaustion + 30 < 100>>
<<gameLink "Move entire pallets at a time" "ShiftPallette" time:15 minexhaustion:1 exhaustion:10>><<set $boxesShifted += 30>><</gameLink>>
<<else>>
Those stacks are a bit too heavy to shift. Maybe take a short break, or lift something lighter.
<</if>>
<<elseif $muscle > 20>>
<<if $exhaustionPercentage < $motivationPercentage && $exhaustion + 10 < 100>>
<<gameLink "Shift the boxes one at a time" "ShiftBoxes" time:20 minexhaustion:2 exhaustion:10>><<set $boxesShifted += 10>><</gameLink>>
<<else>>
Yeah, you'll need a short break before you can lift boxes again.
<</if>>
<</if>>
<br>
<<set _moneyEarned to $boxesShifted * setup.balance.moneyPerBoxShifted>>
<<set _linkString to "Clock out, and cash out +$" + _moneyEarned + ",-">>
<<link _linkString "Home">><<set $money += _moneyEarned>><</link>>It's late afternoon, and you sit behind your computer plugging away at your daily work when you see Emma walk through the office. But not just walking. Moving quickly, eyes locked forward, brow more furrowed than normal. She makes a beeline through the office, people parting in front of her as she heads straight from her enclosed office to the break room. For a moment, you thank your good luck that she wasn't looking for you. The look on her face means that whoever she is currently thinking about is in trouble.
Then the break room door opens again and Emma steps through, a full coffee cup in hand. She speedwalks back through the office, only to pause as she reaches your desk.
<<Dialogue "Emma" "Emma">> "Miss <<print $playerLastName>>."<</Dialogue>>
You freeze, unsure how to respond to the situation.
<<Dialogue "player" "You">> "Uh, yes?"<</Dialogue>>
<<Dialogue "Emma" "Emma">> "Please come to my office as soon as you finish what you're currently working on. I need to speak with you."<</Dialogue>>
Without waiting for a reply, she marches off again. The deafening silence surrounding you and several pairs of eyes trained directly at you don't help you feel any better.
You wrap things up as quickly as you can and head back to Emma's office, knocking on the door and opening it just enough to look inside. Emma sits behind her desk, one hand holding her coffee mug as she takes a long sip, the other clacking away at her keyboard as fast as it's able.
<<Dialogue "Emma" "Emma">> "Ah. Come in, please."<</Dialogue>>
She sets her coffee down and gestures for you to the seat opposite her before pushing her keyboard away a bit and massaging the bridge of her nose.
<<Dialogue "Emma" "Emma">> "Thank you for coming to see me, <<print $playerFirstName>>. I have something very urgent and important that I need to discuss with you."<</Dialogue>>
<<if $muscle>=90||$breasts>=100>$fat>=70||$height>=400>>You gander at the wooden chair that looks comically small next to your frame, and you know better than to sit in it. You stand in place, waiting anxiously to hear what Emma has to say.<<elseif $muscle>=50||$fat>=50||$breasts>=80||$height>=300>>You obediently take your seat, though its groaning doesn't make you any less worried.<<else>>You quickly take the seat and wait with bated breath to hear what Emma has to say.<</if>>You're still not sure if you were being hauled in here to be reprimanded.
<<Dialogue "player" "You">> "Uh. Of course. Whatever it is, I'm happy to help?"<</Dialogue>>
Emma sighs and her shoulders slump a bit, but her serious expression remains unchanged.
<<Dialogue "Emma" "Emma">> "Before I say anything, know that I chose to share this with you out of professional respect. Both for your abilities and your work ethics."<</Dialogue>>
You nod quietly, still unsure where this is going. Before long, Emma sighs again, but this time her expression softens a bit. For the first time you see her as something other than a stern authority figure. She looks tired.
<<Dialogue "Emma" "Emma">> "I need your help."<</Dialogue>>
The words sound almost labored as she utters them. You stay quiet for a moment, unsure how to respond. Or what she's getting at, even.
<<Dialogue "Emma" "Emma">> "To be perfectly frank with you, I have a critical assignment here that needs to be done today, and I'm beginning to worry that that it just isn't going to happen under my own power. That's why I asked you here. It would be very helpful to me personally if you could stay late today in order to help finish this report."<</Dialogue>>
She leaves it at that, hands folded on her desk, looking at you for an answer. Can you devote your evening to some more work? Do you want to?
[[I'd be happy to help!|Date Accept]]
[[I'm sorry, but I don't think I can...|Date Decline]]<<addMinutes 600>><<set $emmaDateProgress to 0>><<set $emmaDateFlirty to 0>><<set $emmaDateProfessional to 0>><<set $emmaDateFriendly to 0>>A look of relief washes over Emma's face as you acquiesce to her request.
<<Dialogue "Emma" "Emma">> "Thank goodness."<</Dialogue>>
She turns her attention back to her computer, clicking on a few things and tapping away at the keyboard.
<<Dialogue "Emma" "Emma">> "I'm printing off an extra copy of the most important information now. If you could, please grab it and come back here so we can get down to business."<</Dialogue>>
The rest of the day flies by as you and Emma buckle down, crunch numbers, and prepare a presentation. You dutifully rush between her office, your computer, and the office printer even after everyone else has left the building. Finally, hours after you should have been home, Emma heaves a sigh of relief and leans back in her desk chair.
<<Dialogue "Emma" "Emma">> "And with that. I believe we are done. Thank you again, <<print $playerFirstName>>. Without your help, I probably would have worked straight through the weekend to finish this."<</Dialogue>>
As she speaks, you turn to the office window. You can see that the sun has almost completely set. The very last purple-orange tinges of dusk are just poking up above the horizon.
<<Dialogue "player" "You">> "Yeah. It looks like we both missed out on our evenings. Still, no regrets."<</Dialogue>>
Only as you finish saying this, your tummy rumbles, and you realize how hungry you are. The inevitable result of working through dinnertime, apparently. As Emma rises from her desk, you can hear her give a quiet grunt and put a hand to her abdomen. Apparently, she is in full agreement.
<<Dialogue "player" "You">> "Well, we both busted our ass to get this finished. Why don't we celebrate? We could go out and grab some dinner together, maybe?"<</Dialogue>>
She cocks an eyebrow at you, her face quickly adopting a familiar stern expression.
<<Dialogue "Emma" "Emma">> "Miss <<print $playerLastName>>, you would do well to remember that fraternizing with your superiors is frowned upon, for obvious reasons. While I am immensely grateful for the help you gave me today, I should hope you aren't entertaining any silly ideas."<</Dialogue>>
<<Dialogue "player" "You">> "Who said anything about fraternizing? I just want to spend some quality time with my awesome boss!"<</Dialogue>>
<<Dialogue "Emma" "Emma">> "Let me be perfectly clear here: I take my commitment to this job very seriously, and courtship with other employees is not something I am willing to entertain - it would compromise my responsibilities in a way I am not at all comfortable with."<</Dialogue>>
You get the impression Emma is speaking from experience - there was a bitter edge when she said that. It gives you an uneasy sense of dread, but at the same time, it also stirs something inside of you, wanting to reach out for the person you feel she is shielding inside.
[[No, not at all! This is just dinner among coworkers. You could consider it a bonding activity.|Professional Start]]
[[Why does it have to be romantic? I consider you a friend by now. I just wanted to get a chance to know you better.|Friendly Start]]
[[If you don’t want it to be romantic, it doesn’t have to be. But… doesn’t it sound exciting?|Flirty Start]]Emma pauses with a slow sigh, rubbing her temple as she slumps in her seat.
<<Dialogue "Emma" "Emma">> "I suppose that's fair. It was a big ask, and sudden, too. I apologize for imposing like that."<</Dialogue>>
Her face quickly returns to the stoic, serious expression that she’s famous for. Her focus is immediately back on the task at hand. You take this as your cue to leave, awkwardly shuffling out of Emma's office and back to your workstation.
<<link "Continue" "office">><</link>><<set $emmaDateProfessional += 1>>
<<Dialogue "Emma" "Emma">> "Mmm. That's fair. I apologize, I suppose I read too much into it. There's certainly no harm in simply having dinner, especially considering how late I kept you. I should treat you, it’s the least I can do. Come on, I know a place nearby."<</Dialogue>><br>Eagerly, you follow Emma out of the building.<br><br>She takes you into the city's commercial district<<if $muscle >= 90 || $fat >= 70 || $breasts >= 100 || $height >= 300>>, the crowd naturally parting around your titanic frame<<elseif $muscle >= 50 || $fat >= 50 || $breasts >= 50 || $height >= 210>>, your sheer size causing you to awkwardly bump into more than one passerby<</if>>. You gape at the many trendy shops, nightlife, and fancy restaurants that light up the neighborhood, a far cry from your downtrodden dorm building. You feel out of your depth, suddenly worried about how much Emma is going to spend on your meal. But before too long, she leads you to a smaller, nondescript building. Inside is a small, trendy-looking bistro that is surprisingly quiet and subdued. The two of you find yourselves a table, and you quietly sit across from Emma<<if $muscle >= 90 || $fat >= 70 || $breasts >= 100 || $height >= 300>>, though your sheer size makes sitting comfortably difficult<</if>>.<br><br><<Dialogue "Emma" "Emma">> "Oh. Sorry, excuse me for a moment."<</Dialogue>><br>Before sitting, Emma stops to take off her suit jacket. She quickly slips it off her shoulders, and you can't help but to stop and stare for a moment. Has she always been this broad? Without the padding of her jacket, Emma looks surprisingly muscular, much more so than you could have suspected. You try not to stare at her exceptionally form-fitting shirt, until she rolls up her sleeves, revealing a pair of beefy, defined forearms and killing any remaining doubt you might still harbor. Rather than drawing any further attention to her body, she sits and grabs the menu casually, but still exuding an air of authority.<br><br><<Dialogue "Emma" "Emma">> "Sorry about that. Office clothes can be a bit stifling at the end of day."<</Dialogue>><<if $muscle >= 50 || $fat >= 50 || $breasts >= 50 || $height >= 210>><br><<Dialogue "player" "You">> "Oh, yeah. Don't worry, I totally understand."<</Dialogue>><br>Emma can’t help but utter a quiet chuckle.<br><br><<Dialogue "Emma" "Emma">> "Yes, I suppose you do, don't you?"<</Dialogue>><</if>><br>There's a slight pause as she scans the menu over her glasses. How do you fill the silence?<br><br>
[[Make conversation about work|Work Chat]]
[[Comment on her body|Fitness Chat]]
[[Ask what she does for fun|Hobby Chat]]<<set $emmaDateFriendly +=1>>
Surprisingly, your response causes Emma to stammer for a moment. She clears her throat as she seemingly collects her thoughts.
<<Dialogue "Emma" "Emma">> "I... I'm sorry. I genuinely wasn’t ready for that answer. But you're right. We've been working together long enough. We could stand to spend a little time together outside of the office. Come on, I know exactly where we should go."<</Dialogue>>
She takes you into the city's commercial district<<if $muscle >= 90 || $fat >= 70 || $breasts >= 100 || $height >= 300>>, the crowd naturally parting around your titanic frame<<elseif $muscle >= 50 || $fat >= 50 || $breasts >= 50 || $height >= 210>>, your sheer size causing you to awkwardly bump into more than one passerby<</if>>. You gape at the many trendy shops, nightlife, and fancy restaurants that light up the neighborhood, a far cry from your downtrodden dorm building. You feel out of your depth, suddenly worried about how much Emma is going to spend on your meal. But before too long, she leads you to a smaller, nondescript building. Inside is a small, trendy-looking bistro that is surprisingly quiet and subdued. The two of you find yourselves a table, and you quietly sit across from Emma.
<<Dialogue "Emma" "Emma">> "Oh. Excuse me."<</Dialogue>>
Before sitting, Emma stops to take off her suit jacket. She quickly slips it off her shoulders, and you can't help but to stop and stare for a moment. Has she always been this broad? Without the padding of her jacket, Emma looks surprisingly muscular, much more so than you could have suspected. You try not to stare at her exceptionally form-fitting shirt, until she rolls up her sleeves, revealing a pair of beefy, defined forearms and killing any remaining doubt you might still harbor. Rather than drawing any further attention to her body, she sits and grabs the menu casually, but still exuding an air of authority.
<<Dialogue "Emma" "Emma">> "Sorry about that. Office clothes can be a bit stifling at the end of day."<</Dialogue>><<if $muscle >= 50 || $fat >= 50 || $breasts >= 50 || $height >= 210>><br><<Dialogue "player" "You">> "Oh, yeah. Don't worry, I totally understand."<</Dialogue>><br>Emma can’t help but utter a quiet chuckle.<br><br><<Dialogue "Emma" "Emma">> "Yes, I suppose you do, don't you?"<</Dialogue>><</if>><br>There's a slight pause as she scans the menu over her glasses. How do you fill the silence?<br><br>
[[Make conversation about work|Work Chat]]
[[Comment on her body|Fitness Chat]]
[[Ask what she does for fun|Hobby Chat]]<<set $emmaDateFlirty += 1>>
Emma blushes, her brow furrowing a bit.
<<Dialogue "Emma" "Emma">> "I… will pretend I didn't hear that. We can still go out to dinner. but as friends and coworkers, and nothing more. Am I clear?"<</Dialogue>>
<<Dialogue "player" "You">> "Hey, if that is what you want to think…"<</Dialogue>>
Her cheeks get even redder as she turns her gaze to her phone.
<<Dialogue "Emma" "Emma">> "Come on. I have a good restaurant in mind."<</Dialogue>>
She takes you into the city's commercial district<<if $muscle >= 90 || $fat >= 70 || $breasts >= 100 || $height >= 300>>, the crowd naturally parting around your titanic frame<<elseif $muscle >= 50 || $fat >= 50 || $breasts >= 50 || $height >= 210>>, your sheer size causing you to awkwardly bump into more than one passerby<</if>>. You gape at the many trendy shops, nightlife, and fancy restaurants that light up the neighborhood, a far cry from your downtrodden dorm building. You feel out of your depth, suddenly worried about how much Emma is going to spend on your meal. But before too long, she leads you to a smaller, nondescript building. Inside is a small, trendy-looking bistro that is surprisingly quiet and subdued. The two of you find yourselves a table, and you quietly sit across from Emma.
<<Dialogue "Emma" "Emma">> "Oh. Excuse me."<</Dialogue>>
Before sitting, Emma stops to take off her suit jacket. She quickly slips it off her shoulders, and you can't help but to stop and stare for a moment. Has she always been this broad? Without the padding of her jacket, Emma looks surprisingly muscular, much more so than you could have suspected. You try not to stare at her exceptionally form-fitting shirt, until she rolls up her sleeves, revealing a pair of beefy, defined forearms and killing any remaining doubt you might still harbor. Rather than drawing any further attention to her body, she sits and grabs the menu casually, but still exuding an air of authority.
<<Dialogue "Emma" "Emma">> "Sorry about that. Office clothes can be a bit stifling at the end of day."<</Dialogue>><<if $muscle >= 50 || $fat >= 50 || $breasts >= 50 || $height >= 210>><br><<Dialogue "player" "You">> "Oh, yeah. Don't worry, I totally understand."<</Dialogue>><br>Emma can’t help but utter a quiet chuckle.<br><br><<Dialogue "Emma" "Emma">> "Yes, I suppose you do, don't you?"<</Dialogue>><</if>><br>There's a slight pause as she scans the menu over her glasses. How do you fill the silence?<br><br>
[[Make conversation about work|Work Chat]]
[[Comment on her body|Fitness Chat]]
[[Ask what she does for fun|Hobby Chat]]<<set $emmaDateProfessional += 1>>
<<set $WorkChosen = 1>>
<<set $emmaDateProgress += 1>>
<<Dialogue "player" "You">> "So, I never actually got to ask you, how long have you been with the company? We've been working together for a bit now, but I never thought to ask you about your career."<</Dialogue>>
<<Dialogue "Emma" "Emma">> "Certainly. Well, I do have a long history with the company, but it's not exactly exciting."<</Dialogue>>
<<Dialogue "player" "You">> "Don't sweat it. After everything that's happened to me since I moved here, I could use some boring deets."<</Dialogue>>
<<Dialogue "Emma" "Emma">> "Well, if you insist… in truth, I started here as an intern out of college. And it has been my full-time job ever since."<</Dialogue>>
<<Dialogue "player" "You">> "Wow! So you have been working there for quite a while!"<</Dialogue>>
<<Dialogue "Emma" "Emma">> "Not by many standards. I'm still young, after all. With any luck, my career is just getting started, modesty aside."<</Dialogue>>
<<Dialogue "player" "You">> "Wait, but... okay, I know better than to ask about a woman’s age, but I must know."<</Dialogue>>
<<Dialogue "Emma" "Emma">>"Heh. No worries. I remember your birthday from your onboarding papers. I'm four years older than you, almost to the day."<</Dialogue>>
<<Dialogue "player" "You">> "What? Holy crap, you're already running an office? And here I am fumbling my way trying to start with college life."<</Dialogue>>
<<Dialogue "Emma" "Emma">> "Don't beat yourself up over that. After all, who knows? You might just have my job by the time you graduate."<</Dialogue>>
<<Dialogue "player" "You">> "What's your secret? Come on, you gotta spill the tea!"<</Dialogue>>
<<Dialogue "Emma" "Emma">> "I like to think I don't have one. I got to where I am through business savvy and my work ethic. I'm a firm believer that a person can accomplish whatever they put their mind to if they have sufficient knowledge and dedication."<</Dialogue>>
[[That is seriously impressive! Please don’t sell yourself short, you should take some pride in those accomplishments!|Work Friendly]]
[[Maybe you and I can talk about what it would take for me to… get ahead in the business?|Work Flirty]]
[[Is there any way I can assist you directly? To learn more from you?|Work Professional]]<<set $emmaDateFlirty += 1>>
<<set $emmaDateProgress += 1>>
<<set $FitnessChosen = 1>>
<<Dialogue "player" "You">> "Speaking of which, I had never noticed you were quite so… built… before. I hope I’m not being too forward."<</Dialogue>>
<<Dialogue "Emma" "Emma">> "Mmm? Ah, yes. This has been an interest of mine for a long time."<</Dialogue>>
She casually twists her wrist, causing her forearm to writhe and tense subtly.
<<Dialogue "player" "You">> "It seems more than just a hobby. You're absolutely jacked! Hell, if you told me you were a professional bodybuilder under that suit, I wouldn't be surprised."<</Dialogue>>
<<Dialogue "Emma" "Emma">> "Funny that you should say that. While I don't compete myself, bodybuilding is a great source of inspiration to me. Even though I'm likely never to appear on stage myself, I hold a deep respect for that art form, and I try to emulate it in my training."<</Dialogue>>
<<Dialogue "player" "You">> "Why wouldn't you want to compete, though? I mean, you're putting yourself through a lot of grueling work, making a body a lot of people would be jealous of. Why keep that to yourself?"<</Dialogue>>
She sighs, closing her eyes pensively.
<<Dialogue "Emma" "Emma">> "I've heard that a lot, and somehow I still don't have an answer I'm happy with. But in short, I don't do this for other people. I do it for myself. That, and, unfortunately, the sport is perceived by many as unprofessional. And I don't want to jeopardize my career for the sake of a hobby."<</Dialogue>>
<<Dialogue "player" "You">> "Oh. That makes sense, I guess."<</Dialogue>>
<<if $muscle >= 50 || $fat >= 50 || $breasts >= 50>><<Dialogue "Emma" "Emma">> "I figured you would be one to sympathize. I assume you also get judged preemptively for a figure that is on the end of the bell curve yourself."<</Dialogue>>
<<Dialogue "player" "You">> "Did that affect your decision to hire me, by chance?"<</Dialogue>>
She stops, looking off into the distance. You seem to have caught her off guard. When she replies, it comes with a cautious tone.
<<Dialogue "Emma" "Emma">> "Not consciously, at least. But perhaps I did sense a bit of a kindred spirit in you."<</Dialogue>>
<</if>>
[[You should know I’m not going to judge you over this! Hell, we could work out together!|Fitness Friendly]]
[[How did you know I like my girls with some beef?|Fitness Flirty]]
[[That’s very admirable, being able to balance two passions like this.|Fitness Professional]]<<set $emmaDateFriendly += 1>>
<<set $emmaDateProgress += 1>>
<<set $HobbyChosen = 1>>
<<Dialogue "player" "You">> "So, uh. What exactly do you do in your free time? I mean, aside from hitting the gym, obviously."<</Dialogue>>
<<Dialogue "Emma" "Emma">> "Not to worry, I won't bore you with the minutiae of my workout regimen, not everyone can stomach that. But in regards to what I do for fun, I'm afraid I'm not terribly exciting."<</Dialogue>>
<<Dialogue "player" "You">> "Oh, come on. Do you have any idea how boring I am? I'm a college student with no friends, no hobbies, I pretty much just play videogames in my free time."<</Dialogue>>
<<Dialogue "Emma" "Emma">> "Haha! Okay, okay, I get your point. I suppose I'm still boring, just in a different way."<</Dialogue>>
<<Dialogue "player" "You">> "What does that mean?"<</Dialogue>>
<<Dialogue "Emma" "Emma">> "Well, In many ways, I'm in the same boat as you. I don't have a great deal of free time, so I don't cultivate many hobbies. I don't have a lot of friends, largely because I prefer to keep to myself. But I do have my interests."<</Dialogue>>
<<Dialogue "player" "You">> "Yeah? Such as?"<</Dialogue>>
<<Dialogue "Emma" "Emma">> "While I personally loathe the term ‘foodie,’ I do appreciate good cuisine. That's how I found this restaurant, in fact."<</Dialogue>>
<<Dialogue "player" "You">> "Oh yeah? I never would have taken you for someone who trawls through the hipster culinary scene."<</Dialogue>>
<<Dialogue "Emma" "Emma">> "I also happen to enjoy cooking quite a bit, as a matter of fact. While I deeply admire the finesse and craft of a professional chef, I find great pleasure in testing my own creativity in the kitchen."<</Dialogue>>
<<Dialogue "player" "You">> "Okay, follow-up question. Favorite thing you tasted around these parts?"<</Dialogue>>
<<Dialogue "Emma" "Emma">> "Hands down, the Irish coffee on the after-dinner menu here. I don't know what kind of whiskey they use, but it just elevates the profile of both and is the perfect bookend for a great meal, lingering with you."<</Dialogue>>
<<Dialogue "player" "You">> "Really? You, picking a cocktail over actual prepared dishes? I never in a million years would have guessed that."<</Dialogue>>
<<Dialogue "Emma" "Emma">> "It's less the cocktail, and more the coffee. It is a particular ingredient that I consider myself a connoisseur of."<</Dialogue>>
<<Dialogue "player" "You">> "Okay, that makes perfect sense."<</Dialogue>>
<<Dialogue "Emma" "Emma">> "Indeed. I know it's a little prosaic for the archetypical workaholic to love her coffee. But I can't think of a single other ingredient that is so simple, yet so subtly detailed, but also invigorating."<</Dialogue>>
[[Someone ought to put you in charge of stocking the break room.|Hobby Professional]]
[[You know, I’m a big coffee fan, too. Though I guess more of a caffeine addict?|Hobby Friendly]]
[[Coffee lover and you can handle your liquor? Talk about mommy energy!|Hobby Flirty]]<<addMinutes 60>>Before long, you're attended to by a cheery waiter. You only realize as he approaches that you've been so busy talking that you haven't even taken a single glance at the menu. You quickly grab it and speedread through your options as Emma addresses the server.
<<Dialogue "Emma" "Emma">> "Why don't we split some arancini as an appetizer, and I will have the soup of the day with the chicken Florentine. $playerFirstName, do you have any preferences?"<</Dialogue>>
You quickly scan through the options, trying to remember your etiquette while you decipher dishes you've never heard of, and keep an eye on Emma's reaction, all at once.
<<Dialogue "player" "You">> "Ahhh! I suppose I'll have the same thing she’s having!"<</Dialogue>>
<<Dialogue "Emma" "Emma">> "Hmm. A sensible choice."<</Dialogue>>
And a safe one. You figure it is better not to get something overly pricy. And maybe it would be endearing to follow her lead? That’s your hope, at least.
<<Dialogue "Emma" "Emma">> "Oh. I know you're probably done with work for the day, but I just had a thought that I wanted to run by you. May I?"<</Dialogue>>
<<Dialogue "player" "You">> "Oh, please! Go ahead."<</Dialogue>>
Emma reaches into her jacket pocket to retrieve a pen, then begins jotting her thoughts down on her drink napkin as she speaks. You nod along and respond when you're able. For a moment, it seems like she's more talking to herself than to you, as many of her musings involve business jargon that are go right over your head. Before you get too bogged down in her rundown of the day's affairs, your waiter returns with the appetizer that Emma previously ordered.
<<Dialogue "Emma" "Emma">> "Ah, perfect. These are one of my favorites."<</Dialogue>>
You give the dish a quick poke with your fork. As far as you can tell, they are nothing more than fried dough balls.
<<Dialogue "player" "You">> "What are these again?"<</Dialogue>>
<<Dialogue "Emma" "Emma">> "Rice and cheese, fried in bread crumbs. Classic combination, but a guilty pleasure we can all indulge in from time to time, right?"<</Dialogue>>
She forks one of the dumplings, and takes a bite, which steams discreetly, revealing the rice inside. With closed eyes, Emma lets out a pleasurable but dignified moan as she chews very slowly.
<<Dialogue "player" "You">> "Doesn't exactly seem like healthy food, though. <<if $fat >= 50>>I mean, it's not like I'm going to scoff at it, but...<</if>> Are you sure you're not going to ruin that sculpted physique of yours?"<</Dialogue>>
Emma simply shrugs.
<<Dialogue "Emma" "Emma">> "Thirty extra minutes on the treadmill tomorrow are but a small price to pay for this experience."<</Dialogue>>
<<Dialogue "player" "You">> "Is that a guesstimate, or are you actually counting your calories here?"<</Dialogue>>
<<Dialogue "Emma" "Emma">> "Oh, I keep close track of my nutritional intake as well as my heart rates, and I make sure to do my research on any meal before I order it."<</Dialogue>>
<<Dialogue "player" "You">> "Wow. I'm impressed, but I'm starting to get the feeling you never take a break."<</Dialogue>>
<<Dialogue "Emma" "Emma">> "What do you mean?"<</Dialogue>>
<<Dialogue "player" "You">> "I mean, you seem to have turned exercising and eating into a science. You apparently worked yourself into a corner at work and even now you're still thinking about it. I mean, talk about the stereotype of a workaholic!"<</Dialogue>>
<<Dialogue "Emma" "Emma">> "I will give you that point, that is not totally inaccurate. I do tick all the boxes. But I wouldn't classify it as an addiction. Think of it more as my natural state of being."<</Dialogue>>
<<Dialogue "player" "You">> "Now I'm lost."<</Dialogue>>
<<Dialogue "Emma" "Emma">> "Simple. I'm at my happiest when I'm busy. When I have a project to work on, or a goal to work towards. It's less working myself to the bone and more indulging on my core drives. You don't get to climb the career ladder unless you're labelled a ‘workaholic.’ You don't achieve peak fitness unless you're labelled a ‘workaholic.’"<</Dialogue>>
To punctuate her point, she lifts an arm into a flex and pulls the sleeve taut. Despite the fact that her arm isn't actually exposed, you can clearly make out the steely peak through the fabric.
<<Dialogue "player" "You">> "Well, it's hard to argue with the results <<if $muscle >= 60>> Even if I feel like I can give her a run for her money<</if>>."<</Dialogue>>
<<if $muscle >= 60>>You laugh, your prominent chest and shoulders bouncing with the movement.<</if>>Emma responds with a satisfied smirk.
<<Dialogue "Emma" "Emma">> "I'm glad you agree."<</Dialogue>>
Before you even know what's happened, the two of you have polished off the appetizers and your main courses have arrived. There's another quiet moment as you both dig into your meals.
<<if $WorkChosen isnot 1>>[[Make conversation about work|Work Chat]]<</if>>
<<if $FitnessChosen isnot 1>>[[Comment on her body|Fitness Chat]]<</if>>
<<if $HobbyChosen isnot 1>>[[Ask about what she does for fun|Hobby Chat]]<</if>><<addMinutes 60>>You chat through the evening, dessert, and Emma's post-dinner coffee. The sun has long since set, but both of you have barely noticed time pass. It's only as Emma's phone buzzes and she apologetically checks her messages that either of you notice how late it's gotten.
<<Dialogue "Emma" "Emma">> "Oh, my. I knew this was a late dinner, but I suppose time still got away from us."<</Dialogue>>
<<Dialogue "player" "You">> "Well, you know what they say. Time you enjoyed wasting is not wasted time."<</Dialogue>>
<<Dialogue "Emma" "Emma">> "Hmm. I can see some truth there. I did enjoy this evening. But both of us should probably get home at a decent hour."<</Dialogue>>
Emma pulls some cash from her handbag to pay for the meal, but stops cold as she looks into her purse. You hear her mutter something under her breath.
<<Dialogue "player" "You">> "Something wrong?"<</Dialogue>>
<<Dialogue "Emma" "Emma">> "Somehow, I managed to leave my house keys in the office. I hate impose even more after everything you've already done today, but would you mind accompanying me back there? I'd feel better having someone else this late at night."<</Dialogue>>
<<Dialogue "player" "You">> "Of course! Come on, let’s not waste any time."<</Dialogue>>
You and Emma leisurely stroll back the way you came, the streets surprisingly quiet in the cool night air. It's unusually quiet. You can't quite think of what to say anymore, despite the fact that you feel like you know Emma better than you ever expected to. But even if the words aren't coming, you know very well how you feel about her after tonight.
You reach the front of the office building and Emma stops.
<<Dialogue "Emma" "Emma">> "Thank you again, <<print $playerFirstName>>. I enjoyed this time together."<</Dialogue>>
<<if $emmaDateFlirty > 1 || $emmaDateFlirty == null>>[[Make your move on Emma.|Flirty Ending]]<</if>>
<<if $emmaDateFriendly > 1 || $emmaDateFriendly == null>>[[Ask if she wants to hang out as friends again.|Friendly Ending]]<</if>>
<<if $emmaDateProfessional > 1 || $emmaDateProfessional == null>>[[Thank her for the bonding opportunity as her employee.|Professional Ending]]<</if>><<set $emmaDateFriendly +=1>>
<<Dialogue "Emma" "Emma">> "I must thank you. Honestly, such earnestness is rare in the business world. I have to say, it's refreshing."<</Dialogue>>
<<Dialogue "player" "You">> "Come on, let’s cut out the coworker talk. We're just hanging out as friends. You are such a kickass girl, I shouldn't have to tiptoe around saying that."<</Dialogue>>
That earns a healthy guffaw from Emma.
<<Dialogue "Emma" "Emma">> "Well, that might be the first time in my life I've been called ‘kickass.’"<</Dialogue>>
<<Dialogue "player" "You">> "I will take ‘super cool’ as a substitute if that sounds more professional to you."<</Dialogue>>
<<Dialogue "Emma" "Emma">> "No, no. That's how I know you're serious about it."<</Dialogue>>
<<if $emmaDateProgress != 2>>[[The evening progresses...|Date Midpoint]]<<set $emmaDateProgress to 1>><</if>>
<<if $emmaDateProgress == 2>>[[The evening progresses...|Date Finale]]<</if>><<set $emmaDateFlirty += 1>>
<<Dialogue "Emma" "Emma">> "Well, if you work hard like I did, I'm sure you'll make your way up the corporate ladder."<</Dialogue>>
<<Dialogue "player" "You">> "Come on, surely you've exchanged a couple of favors in your career. I'm sure there’s something I can do for you."<</Dialogue>>
<<if $muscle >= 50 || $breasts >= 50>>You give your chest an extra little thrust forward as you finish the sentence.<</if>> Emma fights to maintain a serious demeanor, even as her blushing cheeks betray her.
<<Dialogue "Emma" "Emma">> "I hope you're not implying what I think you're implying."<</Dialogue>>
<<Dialogue "player" "You">> "Well, you got us most of the way there. ‘Oh, <<print $playerFirstName>>, I'm going to need you to stay late today. Alone, with me, in a dark office. I need you, for something only you can help me with.'"<</Dialogue>>
She stays silent, staring you down across the table as she takes a very long sip of water.
<<if $emmaDateProgress != 2>>[[The evening progresses...|Date Midpoint]]<<set $emmaDateProgress to 1>><</if>>
<<if $emmaDateProgress == 2>>[[The evening progresses...|Date Finale]]<</if>><<set $emmaDateProfessional +=1>>
Emma seems taken aback by that comment.
<<Dialogue "Emma" "Emma">> "Would you believe you're the first person to ask that so directly?"<</Dialogue>>
<<Dialogue "player" "You">> "Oh? I'm sorry if that wasn't proper. This is my first office job, actually, my first real job."<</Dialogue>>
<<Dialogue "Emma" "Emma">> "Not to worry, <<print $playerFirstName>>. Everyone approaches office politics differently. And I actually appreciate your candor here."<</Dialogue>>
<<Dialogue "player" "You">> "For real?"<</Dialogue>>
<<Dialogue "Emma" "Emma">> "I do. I know how hard it is to have to skirt around directly asking this sort of thing. We can definitely talk about adjusting your responsibilities in the office."<</Dialogue>>
<<Dialogue "player" "You">> "So…"<</Dialogue>>
<<Dialogue "Emma" "Emma">> "Let's just say that if it's really what you want, I'd be happy to have you start working directly under me. And I genuinely hope you learn something in the process."<</Dialogue>>
<<if $emmaDateProgress != 2>>[[The evening progresses...|Date Midpoint]]<<set $emmaDateProgress to 1>><</if>>
<<if $emmaDateProgress == 2>>[[The evening progresses...|Date Finale]]<</if>><<set $emmaDateProfessional += 1>>
<<Dialogue "Emma" "Emma">> "Oh, please. As if anyone in the office cares about how the coffee tastes as long as it's free."<</Dialogue>>
<<Dialogue "player" "You">> "Maybe, maybe not. But I bet you have contacts with coffee suppliers."<</Dialogue>>
<<Dialogue "Emma" "Emma">> "I see what you're getting at. Talk to the people in charge of inventory, see if I can save the company a buck."<</Dialogue>>
<<Dialogue "player" "You">> "And we get better coffee as a reward!"<</Dialogue>>
<<Dialogue "Emma" "Emma">> "Shrewd. Clever. I never would have guessed that you had this sort of company politicking in you."<</Dialogue>>
<<Dialogue "player" "You">> "Hey, just looking out for everyone in the office, am I right?"<</Dialogue>>
Emma raises her glass to you in a mock toast.
<<Dialogue "Emma" "Emma">> "And an intuitive knowledge of how to play the game. You're a clever person, even if you haven't realized it yet."<</Dialogue>>
<<if $emmaDateProgress != 2>>[[The evening progresses...|Date Midpoint]]<<set $emmaDateProgress to 1>><</if>>
<<if $emmaDateProgress == 2>>[[The evening progresses...|Date Finale]]<</if>><<set $emmaDateFriendly += 1>>
<<Dialogue "Emma" "Emma">> "Is that so? Tell me a little more. What's your usual order?"<</Dialogue>>
<<Dialogue "player" "You">> "Uh…"<</Dialogue>>
You weren't lying when you said you liked your coffee, but to you that just meant knowing what to buy at the grocery store. When it comes to actually ordering, though, you tend to pick from the pretty pictures on the menu.
<<Dialogue "player" "You">> "Eh, two creams, two sugars?"<</Dialogue>>
Emma snorts loudly, but manages to contain herself.
<<Dialogue "Emma" "Emma">> "I'm sorry. I'm truly not a coffee snob, I swear. Maybe just a little?"<</Dialogue>>
<<Dialogue "player" "You">> "Oh, please. I heard that laugh. How do you take your coffee, then?"<</Dialogue>>
<<Dialogue "Emma" "Emma">> "Black, of course. Perhaps with a little cream if it’s one of the bitter brews. But honestly, I don't judge other people for how they drink their coffee, even if it's just a caffeine delivery mechanism for you."<</Dialogue>>
<<Dialogue "player" "You">> "That just means you've got to share some of your good stuff with me in the future."<</Dialogue>>
<<Dialogue "Emma" "Emma">> "More than fair. Perhaps I'll invite you for a cup from my personal stock in my office as a thank you gift on Monday."<</Dialogue>>
<<if $emmaDateProgress != 2>>[[The evening progresses...|Date Midpoint]]<<set $emmaDateProgress to 1>><</if>>
<<if $emmaDateProgress == 2>>[[The evening progresses...|Date Finale]]<</if>><<set $emmaDateFlirty += 1>>
Somehow, you managed to catch Emma off guard. She had gone for a sip of water right as you chose to speak, and she just barely managed to avoid choking on her drink. She quickly makes her best attempt to recover.
<<Dialogue "Emma" "Emma">> "You cannot be serious."<</Dialogue>>
<<Dialogue "player" "You">> "Does that rub you the wrong way? I could call you something else."<</Dialogue>>
<<Dialogue "Emma" "Emma">> "You are absolutely incorrigible."<</Dialogue>>
She tries hard to maintain her stoic business-first façade, but she can't help but let the corners of her mouth just barely turn up into a smile. Whether it's the sheer audacity or something else, she appreciates the sentiment.
<<Dialogue "Emma" "Emma">> "You know, you run the risk of serious disciplinary action if you keep this up."<</Dialogue>>
<<Dialogue "player" "You">> "Oh, no!"<</Dialogue>>
You grin back at her, not even trying to hide your glee.
<<if $emmaDateProgress != 2>>[[The evening progresses...|Date Midpoint]]<<set $emmaDateProgress to 1>><</if>>
<<if $emmaDateProgress == 2>>[[The evening progresses...|Date Finale]]<</if>><<set $emmaDateFriendly += 1>>
Emma's eyes widen as you speak. She's clearly taken aback by that reaction.
<<Dialogue "Emma" "Emma">> "(Ahem) Again, I don't share my hobbies with many people, but I've never had someone respond so eagerly before."<</Dialogue>>
<<Dialogue "player" "You">> "You mean you've accomplished all that working out without some kind of partner?"<</Dialogue>>
<<Dialogue "Emma" "Emma">> "Well, yes. I’ve had a mentor in the beginning, certainly, but my time at the gym is a zen moment. Something meditative and introspective, something that takes my mind off of all the stress. I'm sure you weren’t picturing me as some type of ‘gym bro’ whooping and roaring through a workout."<</Dialogue>>
That mental image alone elicits a snicker. You panic briefly, before you see a pleased smirk on Emma's face.
<<Dialogue "player" "You">> "So you DO have a sense of humor!"<</Dialogue>>
<<Dialogue "Emma" "Emma">> "Don't tell the others in the office. It will ruin my reputation!"<</Dialogue>>
<<if $emmaDateProgress != 2>>[[The evening progresses...|Date Midpoint]]<<set $emmaDateProgress to 1>><</if>>
<<if $emmaDateProgress == 2>>[[The evening progresses...|Date Finale]]<</if>><<set $emmaDateFlirty += 1>>
Emma blushes, though she does an admirable job of maintaining her poker face nonetheless.
<<Dialogue "Emma" "Emma">> "I'm not going to dignify that with a response. But I will admit that it is a rare sentiment. And rare is an understatement at that."<</Dialogue>>
<<Dialogue "player" "You">> "That's a pity, really. Like I said, you clearly put a lot of work into that body, and I'm sure it's a true work of art! Strong, shapely, and sexy. You deserve to flaunt it."<</Dialogue>>
Emma’s face remains reddened from your compliments. Her body is still rigid and stoic, but you can’t help but wonder if she flaring out her shoulders purposefully? Is she flirting back?
<<Dialogue "player" "You">> "I've got to hand it to you. There's something amazing about a strong woman who's also a strong woman. I mean, like, a confident, driven women, who's also literally -"<</Dialogue>>
<<Dialogue "Emma" "Emma">> "Yes, <<print $playerFirstName>>, I follow."<</Dialogue>>
You notice a hint of a smirk on her lips. She slumps the tiniest bit in her posture as she seems to relax somewhat. Score!
<<if $emmaDateProgress != 2>>[[The evening progresses...|Date Midpoint]]<<set $emmaDateProgress to 1>><</if>>
<<if $emmaDateProgress == 2>>[[The evening progresses...|Date Finale]]<</if>><<set $emmaDateProfessional += 1>>
Emma nods to herself, visibly relaxing in her seat.
<<Dialogue "Emma" "Emma">> "Thank you. It's refreshing to hear someone else take such a positive view of it."<</Dialogue>>
<<Dialogue "player" "You">> "Is it really that rare?"<</Dialogue>>
<<Dialogue "Emma" "Emma">> "I suppose not, in the grand scheme of things. Most people will have nothing to say about it, honestly. But aside from that, most people just don't get it. No matter how I portray myself, if I share this, people will invariably just peg me as a meathead or vain. Or both."<</Dialogue>>
<<Dialogue "player" "You">> "Well, that's not fair at all! You are neither of those things. If anything, it means you're even more dedicated! Heck, now I know where you get your work ethic from."<</Dialogue>>
A smile crosses Emma's face. She seems warmer than you've ever noticed before.
<<Dialogue "Emma" "Emma">> "Well, thank you, <<print $playerFirstName>>. I’m humbled by these compliments."<</Dialogue>>
<<Dialogue "player" "You">> "I mean it!"<</Dialogue>>
<<Dialogue "Emma" "Emma">> "As do I. Words cannot express how glad I am that you think so."<</Dialogue>>
<<if $emmaDateProgress != 2>>[[The evening progresses...|Date Midpoint]]<<set $emmaDateProgress to 1>><</if>>
<<if $emmaDateProgress == 2>>[[The evening progresses...|Date Finale]]<</if>><<Dialogue "player" "You">> "You know, I was thinking... maybe we could do this again some other time?"<</Dialogue>>
<<Dialogue "Emma" "Emma">> "What do you mean?"<</Dialogue>>
<<Dialogue "player" "You">> "You know, this! Go out, have some dinner, maybe we'll even have a drink or two. We both had a lot of fun tonight, right?"<</Dialogue>>
<<Dialogue "Emma" "Emma">> "Miss <<print $playerLastName>>, I don't do games. Please just tell me exactly what you're thinking."<</Dialogue>>
<<Dialogue "player" "You">> "Come on. You felt something tonight too, I know you did. I know what you said earlier about office relationships and all, but we could give this a serious shot!"<</Dialogue>>
<<Dialogue "Emma" "Emma">> "<<print $playerLastName>>."<</Dialogue>>
<<Dialogue "player" "You">> "We don’t need to fly a banner announcing we're a couple or anything. We can just try things out. You know, go out for dinner again, get to know each other a little better. Just see how things develop."<</Dialogue>>
<<Dialogue "Emma" "Emma">> "<<print $playerFirstName>>!"<</Dialogue>>
She places her hands on your shoulders. The smile is gone from her face now, reverting to that stern expression that is so prevalent at the office. But that only lasts for a moment before she sighs, eyes closed, and her look softens again as she reopens them. With a deep breath, she continues.
<<Dialogue "Emma" "Emma">> "I had fun tonight, <<print $playerFirstName>>. I truly did. And if circumstances were different, maybe things could further develop from there. But this is a line I am not willing to cross. Even if we knew it would not affect us professionally, I still couldn't abide by it. It's not who I am."<</Dialogue>>
<<Dialogue "player" "You">> "But I don't..."<</Dialogue>>
You quickly go silent as one of her soft, manicured hands caresses your cheek.
<<Dialogue "Emma" "Emma">> "I wish it could be different. Under other circumstances, I would love to. You're a lovely person. But… I can't."<</Dialogue>>
She pulls away and unlocks the front door, pausing before letting herself in.
<<Dialogue "Emma" "Emma">> "I'm sorry, <<print $playerFirstName>>. I'll see you in the office. I hope we can still be friends."<</Dialogue>>
Without allowing you the chance to protest, she goes in and shuts the door behind herself, leaving you standing outside under the moon. With your options exhausted, you decide it's best to just head back to your apartment. Your feelings swirl around in your head endlessly until you finally reach your building.
<<link "Well, that’s a shame." "Home">><<set $emmaFirstDateDone to true>><</link>><<Dialogue "player" "You">> "You know, tonight was a lot of fun! I really wish we had the opportunity to do something like this sooner."<</Dialogue>>
<<Dialogue "Emma" "Emma">> "What do you mean, exactly?"<</Dialogue>>
<<Dialogue "player" "You">> "Like, going out and having dinner with a coworker! I never had the chance to get to know you at work."<</Dialogue>>
<<Dialogue "Emma" "Emma">> "Ah! Yes, of course. I must admit, I also enjoyed myself quite a bit."<</Dialogue>>
<<Dialogue "player" "You">> "That sounded almost painful for you to say."<</Dialogue>>
<<Dialogue "Emma" "Emma">> Well, I don't do this often. Going out on a whim. Or spending time with friends in general, unless it's a special occasion. I'd like to do this again, if the opportunity arises."<</Dialogue>>
<<Dialogue "player" "You">> "Dinner with friends?"<</Dialogue>>
<<Dialogue "Emma" "Emma">> "Anything with friends, really. You're nice, <<print $playerFirstName>>. Let's find an excuse to hang out again sometime."<</Dialogue>>
<<Dialogue "player" "You">> "Sounds like a plan!"<</Dialogue>>
Emma gives you a pat on the shoulder before letting herself into the building. She pokes her head out of the door before shutting it behind herself.
<<Dialogue "Emma" "Emma">> "Talk to you soon, <<print $playerFirstName>>."<</Dialogue>>
With Emma successfully escorted back, and no longer quite so intimidating, you happily count tonight as a success. You make your way back home, pondering what Emma might like to do for fun as you go.
<<link "Huh, that went well!" "Home">><<set $emmaFirstDateDone to true>><</link>><<Dialogue "player" "You">> "Well, I'd say tonight was enjoyable. And I'm happy I got the chance to know you a little better!"<</Dialogue>>
<<Dialogue "Emma" "Emma">> "Likewise. I'm happy we got a chance to spend some time together."<</Dialogue>>
She extends her palm for a handshake, which you happily return. She responds by placing her other hand on your shoulder.
<<Dialogue "Emma" "Emma">> "I'll tell you what. You really proved yourself at work today. And tonight you showed you care about your work just as much as I do. I'd like you to work more closely with me in the future."<</Dialogue>>
<<Dialogue "player" "You">> "Uh? Am I getting a promotion?"<</Dialogue>>
<<Dialogue "Emma" "Emma">> "Not as such. Do you have any idea how much approval that requires to go through? But I'd like to keep a closer eye on you. Fast-track you towards moving up if you continue to prove yourself. And that means working more closely with me. Assuming you're interested, of course."<</Dialogue>>
<<Dialogue "player" "You">> "Are you kidding me? I'd love to take the opportunity to learn from the best!"<</Dialogue>>
<<Dialogue "Emma" "Emma">> "That's what wanted to hear. We’ll talk more back at the office."<</Dialogue>>
She shakes your shoulder friendly before letting herself into the building. As she slips inside, she turns to you once again.
<<Dialogue "Emma" "Emma">> "Keep up the good work, <<print $playerFirstName>>. I'm impressed."<</Dialogue>>
With Emma safely escorted, you decide to make your way back home, your mind reeling with what she has in mind for you in the future.
<<link "Continue" "Home">><<set $emmaFirstDateDone to true>><</link>><<link "Continue with work" "jobWarehouse">><</link>><<set _warehouseEvents to [
]>>
<<if $height >= 250>>
<<set _warehouseEvents.push(
{warning: false,
message: "One of the advantages of working in a warehouse is that you finally have some room to stretch and move again. Gone are the tight doorways and ceilings, in is the big warehouse that actually fits you!"})>>
<<set _warehouseEvents.push(
{warning: false,
message: "It’s kinda funny how, given your height, some of these boxes you can carry with one hand. One of the advantages of being so tall!"})>>
<</if>>
<<if $height >= 200>>
<<set _warehouseEvents.push(
{warning: false,
message: "Given your height, carrying the boxes takes less time. Longer legs means less walking, and all that means more money! And money is good! The math checks out."})>>
<</if>>
<<if $height <= 170>>
<<set _warehouseEvents.push(
{warning: false,
message: "Urgh, the boxes are SO light, but your small height means they're just awkward to grab. They're like those old CRT monitors; not THAT heavy, but couldn’t they just add a decent grip somewhere? "})>>
<<set _warehouseEvents.push(
{warning: false,
message: "Urg, this walking is annoying. If you had longer legs, you’d make short work of this, since you can easily carry all these boxes, but you just spend a ton of time walking between stacks!"})>>
<</if>>
<<if $dick > 10>>
<<set _warehouseEvents.push(
{warning: false,
message: "One BIG advantage of working in the warehouse is that you're mostly alone here. Just you, a lot of boxes to ship, and nobody around to see you if you have a wardrobe accident or other... 'expansions' in certain private areas. At your desk, this could be awkward, but here there’s no one to notice!"})>>
<</if>>
<<if $dick > 20>>
<<set _warehouseEvents.push(
{warning: false,
message: "During your shift, you feel a stirring in your bulge. Now, normally this'd be a major problem in case anyone saw. Now? Now you don't mind at all! You have the warehouse all to yourself, happily moving boxes to and fro!"})>>
<</if>>
<<if $breasts >= 75>>
<<set _warehouseEvents.push(
{warning: false,
message: "Right, this is a bit of a problem. Your chest is so huge that it’s next to impossible to hold the boxes in front of you. Under the arms they go, or in your hands."})>>
<</if>>
<<if $breasts >= 50>>
<<set _warehouseEvents.push(
{warning: false,
message: "Heh, your chest is a bit cropped up on top of the boxes. You're glad there aren't any coworkers around because MAN, is this a silly sight at times."})>>
<</if>>
<<if $carefreeCarefull < 0>>
<<set _warehouseEvents.push(
{warning: false,
message: "As you shift the boxes, it seems you're just not careful enough. Mindlessly walking back and forth, you accidentally trip over a cable or something! Before you know it, you're on the floor, the box below you badly flattened. Welp, that is going to be deducted from your paycheck."})>>
<</if>>
<<if $carefreeCarefull < 1>>
<<set _warehouseEvents.push(
{warning: false,
message: "As you shift the boxes, it seems you're just not careful enough. Mindlessly walking back and forth, you accidentally trip over a cable or something! Before you know it, you're on the floor, the box below you badly flattened. Welp, that is going to be deducted from your paycheck."})>>
<</if>>
<<if $carefreeCarefull < 2>>
<<set _warehouseEvents.push(
{warning: false,
message: "As you shift the boxes, it seems you're just not careful enough. Mindlessly walking back and forth, you accidentally trip over a cable or something! Before you know it, you're on the floor, the box below you badly flattened. Welp, that is going to be deducted from your paycheck."})>>
<</if>>
<<if $muscle > 75>>
<<set _warehouseEvents.push(
{warning: false,
message: "You wonder why you are moving the boxes one at a time. You could easily carry entire stacks at a time, but here you are. It might be boring, but at least you're not risking breaking anything."})>>
<<set _warehouseEvents.push(
{warning: false,
message: "Well, that’s another few boxes on the stack. Man, these are so light you could easily bounce them on your pecs, or biceps, or whatever. Man, Emma sure gave you the easy job!"})>>
<<elseif $muscle > 50>>
<<set _warehouseEvents.push(
{warning: false,
message: "Well, moving boxes like this might not be the most exciting job, but you do manage it without breaking much of a sweat. And boring as it is, you're actually making money with your body for once!"})>>
<<set _warehouseEvents.push(
{warning: false,
message: "Another few pallets moved. You're not quite sure what’s in the boxes and all, but you suspect it’s some sort of paperwork, all kind of heavy stuff in some, and... just blocks of iron? Odd, but you don't mind. You're making money for once doing something your new body is suited for."})>>
<<else>>
<<set _warehouseEvents.push(
{warning: false,
message: "Man some of these boxes are HEAVY! You don't know what’s in them. Solid stacks of papers and books, filing stuff, or even solid steel in some of them? But lifting these is proving to be quite the workout at times."})>>
<<set _warehouseEvents.push(
{warning: false,
message: "A few more boxes moved, a few more dollars made. Heh, clean and simple! Some of them are pretty heavy, but who cares? Its decent pay for little work! Well, for someone with your physique, at least!"})>>
<</if>>
<<set _eventI to random(0, (_warehouseEvents.length - 1))>>
<<set _warehouseEvent to _warehouseEvents[_eventI]>>
<<print _warehouseEvent.message>>
<br><br>
<<link "Continue with work" "jobWarehouse">><</link>><<set _warehouseEvents to [
]>>
<<if $height >= 250>>
<<set _warehouseEvents.push(
{warning: false,
message: "One of the advantages of working in a warehouse is that you finally have some room to stretch and move again. Gone are the tight doorways and ceilings, in are the huge corridors where you fit comfortably!"})>>
<<set _warehouseEvents.push(
{warning: false,
message: "One advantage of being so tall is that you got WAY better grip on these pallets! You can reach around a bit, properly grip them... perfect!"})>>
<</if>>
<<if $height >= 200>>
<<set _warehouseEvents.push(
{warning: false,
message: "Given your height, carrying the pallets takes less time. Proper grip, long limbs, quick walking... heh, yeah, this IS a good workout!"})>>
<</if>>
<<if $height <= 170>>
<<set _warehouseEvents.push(
{warning: false,
message: "It took a bit of adapting, managing to lift entire pallets at your height. But it turns out that when you can just lift them overheard, it's incredibly easy to get around!"})>>
<<set _warehouseEvents.push(
{warning: false,
message: "Urgh, you could totally lift these pallets... if you weren’t so short! You just can't get a grip and, despite the strength being there, it doesn't matter if you can't lift them properly!"})>>
<</if>>
<<if $dick > 10>>
<<set _warehouseEvents.push(
{warning: false,
message: "One BIG advantage of working in the warehouse is that you're mostly alone here. Just you, a lot of boxes to ship, and nobody around to see you if you have a wardrobe accident or... some other 'expansion' in certain private parts. At your desk, this would be awkward, but here there is nobody to notice!"})>>
<</if>>
<<if $dick > 20>>
<<set _warehouseEvents.push(
{warning: false,
message: "During your shift, you feel a stirring in your crotch. Now, normally, this would be a major problem if anyone saw it. Now? You don't mind it at all! You have the warehouse to yourself, happily lugging boxes to and fro!"})>>
<</if>>
<<if $breasts >= 75>>
<<set _warehouseEvents.push(
{warning: false,
message: "Right, this is a bit of a problem. Your chest is so huge that it’s next to impossible to hold the boxes in front of you. Under the arms they go, or in your hands."})>>
<</if>>
<<if $breasts >= 50>>
<<set _warehouseEvents.push(
{warning: false,
message: "Right, when you lift an entire pallet, your tits are squashed against the huge stack in your hands. It’s good you're mostly alone in this warehouse, because otherwise it would look more than a bit weird."})>>
<</if>>
<<if $carefreeCarefull < 0>>
<<set _warehouseEvents.push(
{warning: false,
message: "As you shift the pallet, it seems you're just not careful enough. As you mindlessly walk back and forth, you accidentally trip over a cable or something! Before you know it, you're on the floor, the entire pallet cascading all over the floor, and several boxes get badly flattened. Shit... well that is going to be deducted from your paycheck."})>>
<</if>>
<<if $carefreeCarefull < 1>>
<<set _warehouseEvents.push(
{warning: false,
message: "As you shift the pallet, it seems you're just not careful enough. As you mindlessly walk back and forth, you accidentally trip over a cable or something! Before you know it, you're on the floor, the entire pallet cascading all over the floor, and several boxes get badly flattened. Shit... well that is going to be deducted from your paycheck."})>>
<</if>>
<<if $carefreeCarefull < 2>>
<<set _warehouseEvents.push(
{warning: false,
message: "As you shift the pallet, it seems you're just not careful enough. As you mindlessly walk back and forth, you accidentally trip over a cable or something! Before you know it, you're on the floor, the entire pallet cascading all over the floor, and several boxes get badly flattened. Shit... well that is going to be deducted from your paycheck."})>>
<</if>>
<<if $muscle > 75>>
<<set _warehouseEvents.push(
{warning: false,
message: "Yeah, this is the real work. Not just shifting a few boxes, but entire pallets at the same time. Still, you could lift a stack of those, if you wanted."})>>
<<set _warehouseEvents.push(
{warning: false,
message: "You'd think pallets would be a real challenge for your strength. Well, it seems you were wrong. You lift entire pallets of the boxes like its nothing!"})>>
<<elseif $muscle > 50>>
<<set _warehouseEvents.push(
{warning: false,
message: "Well moving boxes like this might not be the most exciting, but you do manage it without breaking much of a sweat. And boring as it may be, you're making money with your body for once!"})>>
<<set _warehouseEvents.push(
{warning: false,
message: "Another few boxes moved. You're not quite sure what’s in them all, but there seem to be documents, all kind of heavy stuff in some, and... just blocks of iron? Odd, but you don't care. You're making money for once, doing something your new body is suited for."})>>
<</if>>
<<set _eventI to random(0, (_warehouseEvents.length - 1))>>
<<set _warehouseEvent to _warehouseEvents[_eventI]>>
<<print _warehouseEvent.message>>
<br><br>
<<link "Continue with work" "jobWarehouse">><</link>><<set _warehouseEvents to [
]>>
<<if $height >= 250>>
<<set _warehouseEvents.push(
{warning: false,
message: "One of the advantages of working in a warehouse is that you finally have some room to stretch and move again. Gone are the tight doorways and ceilings, in are the big warehouse corridors! And not only that, you can carry whole stacks with ease!"})>>
<<set _warehouseEvents.push(
{warning: false,
message: "One advantage of being so tall is that you got WAY better grip on these stacks of pallets! You can reach around a bit, properly hugging them... perfect!"})>>
<</if>>
<<if $height >= 200>>
<<set _warehouseEvents.push(
{warning: false,
message: "Given your height carrying the stacks of pallets takes less time. Proper grip, long limbs, quick walking... heh, yeah, this IS a good workout!"})>>
<</if>>
<<if $height <= 170>>
<<set _warehouseEvents.push(
{warning: false,
message: "It took some adapting, to manage and lift entire stacks of pallets given your height. But it turns out that when you can just lift them overheard, it's very doable!"})>>
<<set _warehouseEvents.push(
{warning: false,
message: "Urgh, you could totally lift these stacks of pallets... if you weren’t so short! You just can't get a grip and while the strength is there, it doesn't make a difference if you can't lift them properly!"})>>
<</if>>
<<if $dick > 10>>
<<set _warehouseEvents.push(
{warning: false,
message: "One BIG advantage of working in the warehouse is that you're mostly alone here. Just you, a lot of boxes to ship, and nobody around to see you if you have a wardrobe accident or a... some 'expansion' in certain private parts. At your desk, this would be awkward, but here there is nobody to notice!"})>>
<</if>>
<<if $dick > 20>>
<<set _warehouseEvents.push(
{warning: false,
message: "During your shift you feel a stirring in your crotch. Now, normally this would be a major problem if anyone saw it. Now? You don't mind at all! You have the entire warehouse to yourself, happily moving boxes to and fro!"})>>
<</if>>
<<if $breasts >= 75>>
<<set _warehouseEvents.push(
{warning: false,
message: "Right, this is a bit of a problem. Your chest is so huge that it’s next to impossible to hold the stacks of pallets in front of you. Under the arms they go, or in your hands."})>>
<</if>>
<<if $breasts >= 50>>
<<set _warehouseEvents.push(
{warning: false,
message: "Right, when you lift an entire stack of pallets your tits get squashed against the huge load in your hands. It’s a good thing you're mostly alone in this warehouse, because otherwise that would look more than a bit weird."})>>
<</if>>
<<if $carefreeCarefull < 0>>
<<set _warehouseEvents.push(
{warning: false,
message: "As you shift the pallet, it seems you're just not careful enough. As you mindlessly walk back and forth, you accidentally trip over a cable or something! Before you know it, you're on the floor, the entire pallet cascading over the floor and several boxes end up flattened. Shit... well that is going to be deducted from your paycheck."})>>
<</if>>
<<if $carefreeCarefull < 1>>
<<set _warehouseEvents.push(
{warning: false,
message: "As you shift the pallet, it seems you're just not careful enough. As you mindlessly walk back and forth, you accidentally trip over a cable or something! Before you know it, you're on the floor, the entire pallet cascading over the floor and several boxes end up flattened. Shit... well that is going to be deducted from your paycheck."})>>
<</if>>
<<if $carefreeCarefull < 2>>
<<set _warehouseEvents.push(
{warning: false,
message: "As you shift the pallet, it seems you're just not careful enough. As you mindlessly walk back and forth, you accidentally trip over a cable or something! Before you know it, you're on the floor, the entire pallet cascading over the floor and several boxes end up flattened. Shit... well that is going to be deducted from your paycheck."})>>
<</if>>
<<if $muscle > 75>>
<<set _warehouseEvents.push(
{warning: false,
message: "Yeah, this is the real work. Not just shifting a few boxes, but entire stacks of pallets at once. Still, you could lift a stack of them, if you wanted."})>>
<<set _warehouseEvents.push(
{warning: false,
message: "You'd think stacks of pallets would be a real challenge for your strength. Well, it seems you were wrong. You lift entire pallets of the boxes like its nothing!"})>>
<<elseif $muscle > 50>>
<<set _warehouseEvents.push(
{warning: false,
message: "Well, moving stacks of pallets like this might not be the most exciting job, but you do manage it without breaking much of a sweat. And boring as it may be, you're actually making money with your body for once!"})>>
<<set _warehouseEvents.push(
{warning: false,
message: "Another few stacks of pallets moved. You're not quite sure what’s in them, but there seem to be documents, all kinds of heavy stuff in some, and... just blocks of iron? Odd, but you don't mind. You're making money for once doing something your new body is suited for."})>>
<</if>>
<<set _eventI to random(0, (_warehouseEvents.length - 1))>>
<<set _warehouseEvent to _warehouseEvents[_eventI]>>
<<print _warehouseEvent.message>>
<br><br>
<<link "Continue with work" "jobWarehouse">><</link>>The two of you head over to Kris’s place, where she immediately begins taking off her clothes. <<if $shyConfident > 1>><<Dialogue "player" "You">>"Heh, can’t wait to get right to the point, huh?"<</Dialogue>>
<<Dialogue "KrisCasualObsessed" "Kris">>"Oh you know it, sexy. Get that sizzling body ready, because I want to feel aaaaaaaaaaaall of it"<</Dialogue>>
You smirk, taking it one step further, just ripping your clothes off your body. <<if $dick > 60>> You decide to get the posing action started right away, and instead of ripping out your pants with your hand, you flex your lower body to make your pants explode out from under you… including your dick. That anaconda of veiny flesh released from its fabric prison, pulsating freely, causes you to moan softly as a result <<elseif $dick > 30>> As you did, your dick proudly flops down from its cage, its veiny length hitting your quad with a satisfying smack. <</if>>
<<else>><<Dialogue "player" "You">>"K-Kris... w-w-what are you doing?!"<</Dialogue>>
Kris looks at you with a raised eyebrow, hands on her hips
<<Dialogue "KrisCasualObsessed" "Kris">>"What? It’s my fucking place, isn’t it? Why the hell can’t I strip down? Come on, sexy, show me that hot ass bod!"<</Dialogue>>
Sheepishly, you take off your clothes, taking your sweet time to combat your shy nature. <<if $dick > 60>> As you slowly take off your pants, you instinctively try and hide the massive bulge that was barely being constrained by your undies. It’s futile, however. The veiny length was simply too massive to be anything but in-your-face obvious. <<elseif $dick > 30>> As you did, your dick proudly flops down from its cage, the veiny length hitting your quad with a satisfying smack while you give off a sheepish smile. She did say it was ok, after all. <</if>><</if>>
Shortly after, you begin flexing for her. Unsure of where to start, you figured you might as well go for a classic and flex your <<if $muscle > 70>> colossal <<elseif $muscle > 50>> huge <<elseif $muscle > 30>> big <<else>> decent <</if>> biceps. Doing so only causes Kris to lick her lips and fondle her breasts in anticipation.
<<Dialogue "KrisCasualObsessed" "Kris">>"Oh, yeah… come on… flex those puppies for me… make them bigger…"<</Dialogue>>
You smirk, seeing how Kris was putty in your hands. You decide to slowly pump your biceps bigger and bigger, licking the <<if $muscle > 70>> overinflated beach ball of a <<elseif $muscle > 50>> pumpkin-shaped <<elseif $muscle < 30>> melon-sized <<else>> lemon-sized <</if>>mound slowly across its peak. Whilst you licked your right peak, you flex your left bicep with the slowest yet most grueling pump imaginable. Your effort was rewarded by Kris’s enthusiasm as she crawled over to your feet. <<if $muscle > 50|$breasts > 50>> Kris’s line of sight, however, is blocked by your massive chest <<if $dick > 50>>, not to mention her face being pressed right up to your pendulum of a dong <</if>><</if>>
Kris licks your <<if $muscle > 20>> chunky <<elseif $muscle > 30>> tree trunk <<elseif $muscle > 50>> roman column shaming <<elseif $muscle > 70>> baobab dwarfing <</if>>legs, feeling the ropey muscles with her tongue in pure bliss. You yourself enjoy the sensation quite a lot, biting your lip as you feel the barista worship every inch of your body.
<<Dialogue "player" "You">>"Mmmmmm… you like this, don’t you? All this mass?"<</Dialogue>>
<<Dialogue "KrisCasualObsessed" "Kris">>" YES, YES, YES, YES, YES. Don’t you dare fucking stop, flex as hard as you can for me! I won’t rest until you are all sweaty and exhausted from this flexing!"<</Dialogue>>
Delighted by the response, you turn around and have your back facing Kris, resting your hands at the sides of your hips and extending your lats. <<if $shyConfident < 1>>Said action helps dissipate that earlier shyness, though the combination of her compliments and utter adoration of your body does wonder to bring you a bit more out of your shell. <</if>> <<if $muscle > 60>> It was hard to imagine your lats becoming even larger, given how they are already so bloated that your arms are constantly angled nowadays. Alas, you made it possible. Your back extended, like a basketball field getting promoted to a damn aircraft carrier. So colossal are the muscles that make up your back, that one can trace a ridge between your upper back and your lower back. Kris could’ve put her hands against them as if they were a shelf. Which she gladly does. Every slight movement makes the sinew shift, an entrancing ballet of bulk <<elseif $muscle > 40>> As your back spreads out like wings, you can almost hear Kris drooling over the myriad of bulges making themselves known. Each muscle group is proudly visible, nay, they are bulbs ripe for picking by Kris’s eager and sweaty palms.<<elseif $muscle > 20>> Your back is a veritable anatomy chart, each muscle clear to see as they shift into position, your lats spreading out like a cobra, ready to strike.<</if>>
Kris wasn’t just enamored; she was in heaven. Immediately, she jumps at you, feeling and licking every bump and crevice along your back.
<<Dialogue "KrisCasualObsessed" "Kris">>"YES! HOLY FUCK, THIS IS AMAZING!"<</Dialogue>>
<<if $shyConfident < 1>> Acknowledging Kris with your senses, her weight on back, makes you drop any pretense of shame you still held to. <</if>> You smirk and roll your shoulders, whilst Kris worships you like a goddess, waves of muscle shifting and bursting for the barista to fawn over.
<<Dialogue "player" "You">>"Oh, you ain’t seen nothing yet. Get down for a second, let me turn around"<</Dialogue>>
Kris doesn’t even hesitate to obey. After all, if it involved even more glorious girl beef, who was she to deny herself such luxury?
Once you feel her climb down, you turn around and face Kris directly, your worshipper dutifully at your feet. Your <<if $muscle > 20>> sizable <<elseif $muscle > 30>> huge <<elseif $muscle > 50>> man-shaming <<elseif $muscle > 70>> barrel sized <</if>> chest heaves as you begin to form a slick sheen of sweat from your flexing efforts. However, Kris was clearly not the only one enjoying herself. You yourself feel amazing showing off your gains, a small but noticeable smile of pure ecstasy adorning your face. Next, you decide to put your hands behind your back, giving Kris a front view of the lats that she had been holding on before. The barista was half tempted to jump right ahead and grab onto those wings, but her focus immediately shifts as you proceed to crunch your abs with a twist. Of course, with your pecs<<if $breasts > 50>> and boobs <</if>> being what they are, you also need the extra little step of lifting them out of the way so that your armored core can truly be appreciated.
<<if $muscle > 20>> Your well-defined abdominals bunch forward as they press against each other. Each one looks as if it had been carved out of pure granite, glimmering in the room thanks to the light sheen of sweat caused by your impromptu routine. Kris couldn’t resist but prod these bricks, putting her fingers between the crevices of your six-pack, as she slowly kisses them in pure adoration. You feel beyond elated, the love that Kris is pouring onto your physique is truly intoxicating <<elseif $muscle > 40>> The eight muscular bricks surge forward, fighting for space, larger than any bodybuilder, male or female. Veins crawl from your hips up the various shimmering crevices of your stomach, even up the cluster of obliques that dot your sides. Kris being Kris, couldn’t resist and caresses this sweaty mountain range as she practically plasters her face against your abs.
<<Dialogue "KrisCasualObsessed" "Kris">>" Mmmm… yes… that’s the shit… this can’t get any be-"<</Dialogue>>
And just when she thought it couldn’t get better… you prove her wrong. You begin to shift your stomach back and forth, making our abs grind against each other, compress, expand, making them come alive. The barista utters a lusty moan <<if $breasts > 50>>, which is all you need in lieu of actually seeing her <</if>>. You smile and blush in return, this display of affection emboldening you to take it one step further.
<<elseif $muscle > 70>> As you crunch down your abs, and Kris is forced to move her face away lest she be smacked by 10 bloated meat bricks. Your abs are indistinguishable from actual bricks as far as size and toughness are concerned. The barista gawps in wonder, witnessing creases form in the overdeveloped masses as they each clash for space with the other muscles between them. So massive is your core that it protrudes like a gut.
<<Dialogue "KrisCasualObsessed" "Kris">>"… Wha… how… holy shit…"<</Dialogue>>
You smirk, basking in her sheer disbelief. And yet, you are just getting started. You begin swaying your stomach from side to side, your abs contracting and expanding in a hypnotic dance of pure mass. Even your obliques were bigger and more defined than other bodybuilders’ six packs! Of course, Kris couldn’t resist the urge to moan loudly as she rushes at the shifting muscles, licking the fat veins that cover your midsection like thunderbolts. She tries to stick her fingers in the spaces between each muscle themselves, but even Kris can tell that their sheer power might be able to break her phalanges. Your smile persists, as you prepare yet another trick you have in your sleeve.
<<Dialogue "player" "You">>"Heh, just you wait, you’re going to love this"<</Dialogue>>
<<Dialogue "KrisCasualObsessed" "Kris">>"As if this could get any - "<</Dialogue>>
Kris is immediately proven wrong. Her jaw drops as she witnesses your abs wiggling like a wave. With all this mass on you, muscle control comes second nature to you. Your core shifts, an ocean of unrelenting muscle, in a hypnotic dance of sheer muscularity! You turn to the side, and continue with your performance, the monolithic stomach accentuated by the fat pulsating veins framing them.<</if>>
Kris was in utter bliss at the show you put for her. Your muscles shimmer in the soft glow from the window, making your body even more enticing to the barista. She licks, gropes, and all around explores your body in every way imaginable, eventually grinding her nether regions against your sizable legs. Both of you groan and moan, sheer pleasure bubbling to the surface, as Kris proceeds to lick the <<if $muscle > 50>> canyons <<else>> crevices <</if>> in between every muscle group in your beefy body. She slowly begins trailing up to your chest and arms, though you have a better idea. One last trick to finish the night with a bang.
<<Dialogue "player" "You">>"So, tell me Kris… I know you like them big… but how big is ‘too big’?"<</Dialogue>>
<<Dialogue "KrisCasualObsessed" "Kris">>"<<if $muscle < 50>> ARE YOU FUCKING KIDDING ME? THERE IS NO SUCH THING. AS BIG AS POSSIBLE. I WANNA WALK TO THE MOON ON YOUR TRAPS, <<print $playerFirstName>>! YOU’RE SO FUCKING MASSIVE! I NEED YOU TO KEEP GROWING, BITCH, I WANT YOU TO BE AN ABSOLUTE FUCKING MONSTER!!! <<elseif $muscle > 50>> BITCH, PLEASE, YOU’RE A GODDAMN MONSTER ALREADY! A BLOATED BALL OF SEXY FUCKING BEEF, I DARE YOU TO GET BIGGER THAN THIS!<</if>>"<</Dialogue>>
Jackpot. Now you knew just how to end this. Just as Kris was crawling towards your upper body, you softly lower her with a single finger, adjusting your feet to get ready for the display that was to come.
<<if $muscle <= 20>> You move your arms under your chest, clasp your hands together, and FLEX. Your entire upper body bunches up and surges outward, making your already decent musculature seem obviously large. Veins pop up along your arms and neck, filling the wanting muscles with blood, with even a hint of them making themselves known alongside your chest.
You smile down as you notice the reaction you were going for: Kris’s eyes, wide like saucers, she immediately jumps on and buries her face into your chest. This leads you to squeeze as much effort as you can muster into it, your face going red as your arms tremble with exertion. This goes on for a whole minute, until an erotic shudder coming from Kris causes the two of you to stop cold. The barista detaches herself, reaching down into her legs, only to smirk as she confirms it.
<<Dialogue "KrisCasualObsessed" "Kris">>" Heh, I guess I was enjoying myself a little too much there. Just… UNFF, that beef is always a good time!"<</Dialogue>>
<<if $shyConfident < 1>> You blush furiously as you realize what had just happened, averting Kris’s gaze as you rub the back of your head.
<<Dialogue "player" "You">>" Ummm, w-well I’m glad you e-enjoyed yourself!"<</Dialogue>>
Kris smirks, licking her finger seductively as she refuses to break eye contact.
<<Dialogue "KrisCasualObsessed" "Kris">>"Oh, I’d say I more than enjoyed myself, <<print $playerFirstName>>"<</Dialogue>>
Too flustered by the outcome of what transpired, you quickly rush to grab all your clothes and head to the bathroom to get changed. Kris, meanwhile, simply sits down in the couch and enjoys the afterglow of the whole experience.
<<elseif $shyconfident > 1>> You smirk as your think about what that implies. Did… did Kris pleasure herself while thinking of you? Not that it mattered, right know your just felt remarkably good. A boost of confidence like no other, it almost makes you want to go work out right away to keep on growing. <</if>>
<<elseif $muscle > 20 && $muscle < 70>>
You move your arms under your chest whilst making your hands into fists, clasping them together under your chest and FLEXING. Your body, already large, becomes utterly massive as you perform a mind-boggling crab flex, smiling as you lean down for Kris to see. Veins crawl all along your upper body, from your neck to your chest to your arms and even down to the upper area of your abs, as your pecs clash for space with your arms.
Kris immediately jumps and opens her arms wide to feel every inch of your bloated mass. Alas, she is incapable of entirely wrapping her arms around your wide frame, though she is still content with whatever she can reach. She shudders and moans as she feels your muscles twitch and tremble with all the effort you put into flexing them. <<if $boobs > 50>>Whilst squishy and soft, the size of your boobs don’t help Kris, pushing her back.<</if>>
You smirk as you realize you have Kris under your thumb. Deciding to mess with the barista a bit more, you bounce your pecs in unison, as your muscles rub against her lithe body, veins surging forward and covering each of your meaty slabs. You squeeze a bit extra out of the flex as your chest continues to press against your arms, until…
Kris doesn’t even try to suppress it. This elicits a loud moan, and her legs become slick as she slowly peels off from your body and drops to the floor
<<if $shyconfident < 1>> You blush furiously as you realize what just happened, averting Kris’s gaze as you rub the back of your head.
<<Dialogue "player" "You">>"Ummm, w-well I’m glad you e-enjoyed yourself!"<</Dialogue>>
Kris smirks, licking her lips seductively as she looks up at you, no attempt to cover what just happened down there. ‘Shame’ isn’t really in her vocabulary.
<<Dialogue "KrisCasualObsessed" "Kris">>"Oh, I’d say I more than enjoyed myself, <<print $playerFirstName>>"<</Dialogue>>
Too flustered by the outcome of this little venture, you quickly rush to grab all your clothes and head to a bathroom to get changed, inevitably having to squeeze yourself through the doorframe. Kris, meanwhile, simply sits down on the couch and basks the afterglow of the whole experience. <<elseif $shyconfident > 1>> You smirk as you see the results of your labor, chuckling to yourself as a lecherous grin spreads on Kris’s face. This felt so fucking amazing. And to think… you weren’t even done with your show! <</if>>
<<elseif $muscle >= 70>> You smirk as you expand your arms outward, with your lats surging like a cobra’s hood. Veins proudly come to the surface, a testament to your musculature. Then, slowly, you begin lowering your arms in an agonizingly slow but powerful crab flex, teasing Kris endlessly.
<<Dialogue "KrisCasualObsessed" "Kris">>" COME ON, FLEX ALREADY, I WANT TO SEE YOU FUCKING EXPLODE!"<</Dialogue>>
You wink, knowing you had her under your thumb all along. Of course, given how inhumanly engorged you are, even just slowly moving your arms already causes your chest and traps to begin expanding of their own accord. Your chest and traps burgeon outwards as they fight for space with their neighboring muscles, your neck forming a ring around your head from the top-down due to its girth. Veins shoot outwards, reaching your face, some thick as a large battery.
Kris didn’t even care anymore, openly pleasuring herself in front of you, completely and utterly drunk on muscle lust. Once you finally manage to get your arms all the way down, you smile with gritted teeth as you transform into a human meatball of muscle. Your fists aren’t even able to reach each other due to the size of your chest, clashing with your arms. And even if that wasn’t the case, your biceps would be doing the exact same thing. Your shoulders were the size of volleyballs which, rippling unbelievably! Due to your sheer mass, you realize you have some sort of unprecedent control over every muscle. In your continued teasing of Kris, you make your delts shift like waves whilst your face registers no effort whatsoever.
Just as Kris fights her lust enough to get closer to the goddess before her, you aren’t done. You stop the crab flex and stand up, letting your arms rest at an angle to your sides. You let your pecs bounce in a sublime dance of muscle control, first individually, and then forming waves together… and then forming waves individually. Again, not an ounce of effort showing anywhere on your confident face, no harder than waggling a finger. You begin twisting, your steps making the apartment rumble as you clasp your hands together in front of your obscenely bulging abs. And with one swift motion, you perform a mind-boggling side-chest pose. Your chest shoots up like a rocket, hitting your chin, nowhere else to go. Your arms explode like volcanoes, and just as rugged.
All of this was too much for Kris. The second your chest shot up, she climaxes with a deafening scream that lasts a couple of seconds, not even touching your muscles to please herself into an earth-shattering orgasm.
<<if $shyConfident < 1>> You blush furiously as you realize what had just happened, avoiding Kris’s gaze as you rub the back of your head.
<<Dialogue "player" "You">>"Ummm, w-well I’m glad you e-enjoyed yourself!"<</Dialogue>>
Kris smirks, licking her lips contently as she looks up at you, no attempt to cover what happened down there. ‘Shame’ is clearly not in her vocabulary
<<Dialogue "KrisCasualObsessed" "Kris">>"Oh, I’d say I more than enjoyed myself, <<print $playerFirstName>>."<</Dialogue>>
Too flustered by the outcome, you quickly rush to grab all your clothes and head to a bathroom to get changed, leaving footprints on the floor and inevitably shattering the doorframe. Kris, meanwhile, simply sits down on the couch and basks in the afterglow of the whole experience. <<else>> You chuckle and reach down, lifting Kris up with one hand and frenching her with utter abandon, in a pure display of your power. You detach from her, looking her in the eye, unfazed by what just happened down there.
<<Dialogue "player" "You">>"Hehe, brace yourself, because I’m not even winded."<</Dialogue>>
You reach down to feel a certain slickness between your legs, the sensation of all this mighty flexing having aroused you beyond belief. You bring your finger back up, seductively licking your juices. <</if>>
<</if>>
<<if $firstTimeKrisSex != true>>And thus concludes your first date with Kris. It feels weird, meeting her like this on the first date. But with her personality, was there really any other option? You think about it for some time during your shower afterwards, not sure what to make of it. You walk home, and before you even register it, you have already crossed the door. Not that you had many expectations, but you certainly didn’t envision whatever it was that happened in her apartment.
<<link "Go home" "Home">><<set $firstTimeKrisSex to true>><</link>>
<<else>><<link "Go home" "Home">><</link>><</if>><<nobr>>
<<script>>
console.log("Used event: " + State.variables.currentEvent.name);
console.log(State.variables.currentEvent);
<</script>>
<</nobr>><<print $currentEvent.content>>
<<if !$currentEvent.content.includes('<<link ')>>
<<link "Continue" $currentScene>><</link>>
<</if>>
<<nobr>>
<<if $currentEvent.npc.includes('johan')>>
<<updateNPCLastSeen 'Johan'>>
<<elseif $currentEvent.npc.includes('kris')>>
<<updateNPCLastSeen 'Kris'>>
<<elseif $currentEvent.npc.includes('emma')>>
<<updateNPCLastSeen 'Emma'>>
<<elseif $currentEvent.npc.includes('elena')>>
<<updateNPCLastSeen 'Elena'>>
<</if>>
<</nobr>><<set setup.events to [{
name: 'mainQuest1Progress',
locationTags: ['secondHandStore'],
conditions: [
() => State.variables.mainQuestProgressMade,
() => State.variables.daysPlayed > 5
],
repeatable: false,
retriggerable: false,
priority: 'immediate',
npc: [],
content: 'Entering the thrift store, you walk around, and almost immediately run into Tasha. She enthusiastically smiles at your sight.<br><br><<Dialogue "Tasha" "Tasha">>"Oh, there you are dear, oh my, you\'ve changed! Did you get a new sweater? We have PLENTY of new sweaters here, along with some new arrivals! But never mind that, what DOES matter is I got that thing you were looking for!"<</Dialogue>><br><br> <<Dialogue "player" "You">>"...The thing I was looking for?"<</Dialogue>><br><br><<Dialogue "Tasha" "Tasha">>"Yes, yes, you asked me to keep an eye out for more! Well, I found some of the goods that came in that same batch!"<</Dialogue>><br><br>With shaky hands, she gives you a box full of... junk. Well, that\'s a bit anticlimatic. While you rummage around in it you find mostly useless stuff, like receipts, a few cleaning products, a toothbrush and... wait, a USB stick! It even has a label on it; \'If found, return to Toshi\'. It even has an address on it. Wait, that’s YOUR ADDRESS! Now you not only have a name, but also some digital information that you might be able to salvage! Tasha says something, but you you are so hyped you don’t even pay attention, instead, you lift her tiny frame in your arms and hug her tight in gratitude. A bit stunned, the woman is left spinning in confusion as you hurry home to test this thing. <<set $currentScene to "pcUsbHacking">>'
},
{
name: 'ifBreastsBiggerThan50_ThotCheck',
locationTags: ['outOfHouse'],
conditions: [
() => State.variables.breasts >= 50
],
repeatable: false,
retriggerable: false,
priority: 'filler',
npc: [],
content: 'While minding your own business, your ample bosom seems to attract the attention of someone who clearly disapproves of your excessive proportions. They eye your prodigious bust suspiciously, only turning up to your head when you meet their gaze. <br><br><<Dialogue "randomPerson" "Random person">>"Hey you! Lady! What do you think you’re doing, huh? Cover yourself up, you can’t go walking around looking like that!"<</Dialogue>><br><br> The comment takes you by surprise, and your mind races to come up with a response. <<if $shyConfident > 0>> <br><br><<Dialogue "player" "You">>"Why? Just because it makes you feel insecure? A body like this is nothing to be ashamed of, you know, and I’m not going to pretend otherwise!"<</Dialogue>><br><br> Your firm resolve makes the other person gasp, and, failing to muster a response themselves, they let you stroll past them triumphantly.<<else>> <br><br><<Dialogue "player" "You">>"S-sorry, I apologize! I didn’t mean to, it’s just… um…"<</Dialogue>><br><br> Caught up in the embarrassment of your own size, you stumble over your words and add little to your case in the eyes of this stranger. They scoff and walk away, delivering a blow to your already fragile ego, one that your enormous breasts do little to soften.<</if>>'
},
{
name: 'muscleCompliment',
locationTags: ['outOfHouse', 'gym'],
conditions: [
() => State.variables.muscle >= 50
],
repeatable: false,
retriggerable: false,
priority: 'filler',
npc: [],
content: 'You walk along the street, listening to music like you usually do, with earbuds on, though you aren’t able to quite fully relax. Your expression shifts into slight annoyance as you feel a a tug around your shoulders. Moving a few blocks down, the sensation keeps nagging you repeatedly, and quite frankly it is getting a little too annoying until… it stops, as suddenly as it started. You don’t give it a second thought, and instead shrug it off, until you begin noticing a few people staring at you every now and again. Well, more than usual anyhow, especially given your size. Eventually, however, somebody decides to approach you and call your attention by tapping you on the shoulder. <br><br><<Dialogue "randomPerson" "Random person">>"...Um… sorry for bothering miss, it’s just. Well… your… your sleeves are a bit messed up."<</Dialogue>><br><br> As you look down, you notice that indeed, your sleeves were ripped all over. So that must have been that sensation, huh? Well… another piece of clothing that needs replacing. Although… maybe it is not a lost cause? Instead, you decide to simply tear the sleeves off, much to the surprise of the crowd, wincing as you ‘ruin’ a perfectly good hoodie. Still… it wasn’t all that bad, right? Just shows off your arms even more!'
},
{
name: 'ifFatBiggerThan50_DoorStuck',
locationTags: ['home', 'inside'],
conditions: [
() => State.variables.fat >= 50
],
repeatable: false,
retriggerable: false,
priority: 'filler',
npc: [],
content: 'Unassuming at first, the doorway you attempt to enter proves to be quite a challenging opponent. Or, more accurately, your own immense and flabby girth proves to be a worthy opponent to its not-so-significant width. You get about halfway through the aperture before you realize that your hips are stuck, the blubber on your bones absolutely refusing to budge. You press forward, thinking it’s just a fluke, but your body refuses to let go. Pushing harder and harder, your immense frame causes the surrounding walls to creak and tremble worryingly, the noises growing louder the harder you push. It’s difficult to say which would give out first, the walls, or your flabby arms, but eventually, you break free of the door’s grasp and stumble forward, nearly falling on your face. Hopefully, you’ll be more prudent to avoid getting stuck in any doors. Hopefully…'
},
{
name: 'FlatTire',
locationTags: ['outside'],
conditions: [
() => State.variables.muscle >= 40,
() => State.variables.muscle < 75
],
repeatable: false,
retriggerable: false,
priority: 'filler',
npc: [],
content: 'You are sitting down on a groaning bench while looking at your phone, your frame taking up over half of the available seating space. Even at your most relaxed, your pecs bulge outwards with every breath. However, your peace is interrupted momentarily by a scene going off nearby.<br><br>Looking over, you notice as this man seems to be looking around on the back of their car frantically. He seems agitated as he is late for some appointment, and can’t find the jack to lift the car to replace his flat tire. However… you look at yours arms, and an idea forms in your mind.<br><br>It might not be the smartest idea. In fact, this has the potential to be a very VERY dumb idea. But it might just work, right? Plus, who knows, it might even make you even stronger! So, immediately you get to work. You walk over to the front of the car, squat down, and without talking to the man, you put your hands under the fender. You then begin to stretch your legs, grunting heavily in your attempt to help out this stranded bystander. At first, he starts shouting, wondering what the hell you\'re up to.<br><br>However, much to your surprise, and DEFINITELY to his surprise… it was working! Soon, the front half of the car was off the ground, enough to allow the stranger to switch the tire, which he does without saying another word. You figure the heavy grunting and bulging neck communicated enough about the effort you were enduring to lift up the goddamn car!<br><br>Thankfully, the car only had a pair of lug nuts, allowing the stranger to change it rather quickly. Once you saw the spare was in, you unceremoniously dropped the car back down with some heavy panting. It was a short fall, not enough to even damage the shocks. The stranger approaches you. <br><br><<Dialogue "randomPerson" "Random person">>"Oh my God, thank you so, SO much for this! I really thought I would’ve been stranded here for a couple of hours waiting for a truck!"<</Dialogue>><br><br> In spite of your exhaustion, you couldn’t help but to flash the stranger a smile and give them a thumbs up, hands still leaning against your knees. His compliment lifts your spirits ever so slightly, both the appreciation and the huge motivation of… well, actually lifting a fucking car!<<set $motivation += 20>>'
},
{
name: 'JohanCakeBurned',
locationTags: ['home'],
conditions: [],
repeatable: false,
retriggerable: false,
priority: 'filler',
npc: [],
content: 'You sniff the air a bit, and why do you smell something... burning? After having a look around, it doesn\'t seem to come from your place. Huh... maybe someone in the building is cooking something.<<set $johanCakeBurned to true>>'
},
{
name: 'johanVisits',
locationTags: ['home'],
conditions: [
() => State.variables.johanCakeBurned
],
repeatable: false,
retriggerable: false,
priority: 'filler',
npc: ['johan'],
content: 'While you were going about your business, you are surprised by a sudden knock on your door. And then another. And another. Yeah, this is classic Johan. With a sigh you head to the door. Johan is, of course, standing there with sparkling eyes and a rather sloppy-looking cake with on it the words \'WECLOME <<print $playerFirstName>>\' written in icing. The misspelled greeting is downright adorable.<br><<Dialogue "Johan" "Johan">>"Here you go, welcome to the building! Or… //weclome//, in this case, I guess. I might not be the prettiest, like this writing, but I wanted you to feel welcome!"<</Dialogue>><br><br>Johan smiles warmly at you and... yeah, he means it. Despite the crappy icing, the cake was sincere, and well meant. You smile warmly, but as you look up, Johan is already walking away. You hear him yell something about board game night and some sort of masquerade or something. What an adorable dork. Hmmmm… and this icing actually tastes great!'
},
{
name: 'KrisInvadesHome',
locationTags: ['home'],
conditions: [
() => State.variables.krisOpinion >= 40,
() => State.variables.gameDate.getHours() >= 22
],
repeatable: false,
retriggerable: false,
priority: 'response',
npc: ['kris'],
content: 'You\'re going about your business in your house, feeling perfectly safe and secure. Why shouldn’t you? That sense of security is utterly broken, however when you hear, behind you, a gleeful voice.<br><<Dialogue "KrisCasualObsessed" "Kris">>"Heh, heya big girl! So, this is where you live! Nice place! I expected something bigger, but it really suits you!"<</Dialogue>><br><br>You nearly jump out of your skin as all kind of thoughts go through your head. First of all, what is Kris doing here. Second, you\'re quite sure you locked the door. Third, you\'ve never told Kris where you live. All of those make this less \'adorable and caring\' and more \'insane and restraining-order-inducing\'.<br><<Dialogue "player" "You">>"WHAT THE FUCK ARE YOU DOING HERE, HOW DID YOU GET IN?!?"<</Dialogue>><br><br><<Dialogue "KrisCasualObsessed" "Kris">>"No need to shout! I just thought I\'d visit and surprise you! Heh, and I took up lockpicking when I was a kid!"<</Dialogue>><br><br>That doesn\'t make it better. Kris walks around the room, touching your bookcase, looking at everything as she walks around before finally sitting down on the couch, her arms and legs spread wide in openly-mocking relaxed confidence. You need to decide how you are going to deal with this.'
},
{
name: 'Unpleasant_fan',
locationTags: ['outside'],
conditions: [
() => State.variables.muscle >= 20,
() => State.variables.streamingViewers >= 20,
() => State.variables.streamWarnings > 0
],
repeatable: false,
retriggerable: false,
priority: 'response',
npc: [],
content: 'As you walk down the street, the fresh air energizes you and your brisk pace quickly evolves into a light jog. <<if $breasts >= 50>>Your ample bosom starts bouncing along, limiting your speed, and making you wish you had a more capable sports bra. It hurts a bit, keeping you from increasing your speed, but not enough to slow you into a walk.<</if>> The wind feels good on your face, and all your worries seem to melt as you continue along the paved road.<br>As you keep going, the streets seem to get busier and busier, with a lot more pedestrians to share the sidewalk with.<<if $muscle >= 90>>Your gargantuan physique is a magnet for eyeballs from all sides, and quite a few necks track you as your pass by, reminding you that you now sit proudly on the far end of the muscularity bell curve. At one point, someone gets distracted enough checking your body that they walk headfirst into a street light, eliciting an amused giggle from you.<br><br>It’s hard not to feel proud of your achievements, and it motivates you even more. You bask on the feeling of your sizeable thighs, which wobble and tighten as you engage them with each step, in a slightly mesmerizing spectacle of your robust mass.<<elseif $muscle >= 50>>Your toned body certainly calls a decent amount of attention, with the casual passerby finding it hard to ignore. You catch a few glances here and there, and even the odd catcall.<br><br>With each new person that seems to check you out, your chest puffs out with pride, and your posture responds to that, and soon you feel like a professional athlete, dashing like a gazelle through the savannah.<</if>><<if $height >= 210>>Your notable stature helps you stand out, as you can see over most of the crowd - and call attention to yourself as well.<</if>><br><br>As you keep going, however, soon a couple of guys stand out. Unlike the others, the pair seem to sneer as they pass you, and you can’t help but overhear their dialogue.<br><br><<Dialogue "randomPerson" "Random guy 1">>"Hey, bro. Did you see that? It’s that freak from the livestream… you know, the one that was trending because of her wardrobe malfunction."<</Dialogue>><br><br><<Dialogue "randomPerson" "Random guy 2">>"She’s making a ton of cash from those simps. She’s clearly using it all to buy steroids… probably because no one has the courage to date her. I bet the whole thing was scripted to make more money."<</Dialogue>><br><br>Listening to that conversation made you uncomfortable. No, it’s worse than that. It was actually hurtful. You come to a complete stop and mutter to yourself:<<if $shyConfident > 1>> <br><br><<Dialogue "player" "You">>"No. I’m not about to let some ass make me feel like this"<</Dialogue>><br><br>You approach the nearest building and, surprising yourself, kick your right leg straight up, resting your heel against the wall on an impressive stretch. You proceed to hug the formidable appendage, inching forward towards the surface in a confident display of power and flexibility. Your bottom wear is stretched to its limits, and so is the attention of everyone nearby, including the two rude guys - who seem to have frozen in their tracks with your little show. Your turn your face to them as you raise your palms against the wall, and ask them with your most flirtatious voice:<br><br><<Dialogue "player" "You">>"Hey, excuse me, could you help me with my stretch? Just push on my back as hard as you can, please?"<br><br><</Dialogue>><br><br>The pair seems completely dumbfounded and somewhat uneasy with the request, but speechlessly comply.<<Dialogue "player" "You">>"Hey, excuse me, could you help me with my stretch? Just push on my back as hard as you can, please?"<</Dialogue>><br><br>You make it a point of not letting them move you a single inch, holding firmly as he increases the pressure. You keep teasing them, until the friend joins in, and they are both pushing with all their might. Still, you hold, steady as a rock. And then you engage your trapezius and deltoids, engorging them in a flex under the four hands. You can almost swear you feel a tingle on your skin where they are touching, as if their insecurities manifest like an aura where they make contact.<br><br>Even though you can’t see their faces, you just know you have shut them up completely with your little display, and let out a little relieved sigh.<<Dialogue "player" "You">>"Don’t worry, I’ll have a… more capable friend… help me later. Thanks for trying, though."<</Dialogue>><br><br>And with that, you recover the spring on your step as you keep jogging, leaving the two bullies with their jaws on the floor and the satisfied smile back on your face. <<else>> <br><br><<Dialogue "player" "You">>"Is that… what people think when they watch my streams?"<</Dialogue>><br><br> You decide to confront them, turning around and walking back past them. You block their way with a frown, putting your hands on your hips and looking straight into their eyes.<<Dialogue "player" "You">>"If you have something to tell me, say it to my face."<</Dialogue>><br><br>The two look at each other, and giggle - you are not sure if they are laughing because of your past online indiscretion or if it’s just nerves from this strange encounter, but you are certainly not amused.<br><br><<Dialogue "randomPerson" "Random guy 1">>"What are you, another influencer show-off who can’t take criticism? Go cry to your fans, you butch!"<</Dialogue>><br><br><<Dialogue "randomPerson" "Random guy 2">>"Maybe she has a hidden camera and she’s just trying to trick us? Man, these online celebrities are so messed up. Must be all those hormones she’s taking."<</Dialogue>><br><br>You realize these people don’t really know you, but it doesn’t make it any less painful to hear. The anger starts bubbling up from the pit of your stomach, and you feel your muscles tensing. Your whole body is like a bowstring, being drawn closer and closer to a snapping point - and you can see the two guys beginning to get intimidated by your reaction.<br><br>And that, somehow, makes something click in your head. They aren’t worth your trouble. In fact, their opinions don’t really matter at all to you.<br><br><<Dialogue "player" "You">>"You know what? I don’t care. You guys are just jealous. I bet you two have your own streams and can’t even get anyone to watch you. Send me a message when you actually get double-digits followers!"<</Dialogue>><br><br>And with that, you put your index finger on your nose and stick out your tongue while you wink, making sure to give your biceps a nice flex for extra effect. The pair blushes as you skip and hop around them, getting back on your way.<br><br>As you gain distance, you overhear one of them confessing to the other that you are actually kinda cute. You can’t help but smile.<</if>>'
},
{
name: 'HelpingInTheGym',
locationTags: ['gym'],
conditions: [
() => State.variables.muscle >= 30,
() => State.variables.skills[0].level >= 2
],
repeatable: false,
retriggerable: false,
priority: 'response',
npc: [],
content: 'You arrive at the gym, and the smell, a mix of sweat and cleaners immediately make you feel at home. After changing into your workout attire, you start your procession around the weight racks and machines. And so you engage in the ritual of alchemy you\'ve learned over the last days: sweat and iron create muscle, as you dutifully complete rep after rep, blood engorging your firm muscles and pumping them up.<br><br>The process has become routine, and you tune out the world as you go from exercise to exercise, getting into the zone as you concentrate into pushing your body to its limits. Which is probably why you are surprised when you catch a reflection in the mirror of a guy watching as you finish a set of biceps curls. He is wearing red exercise shorts and a gray sleeveless shirt, revealing an average physique… which, truthfully, you\'d probably be envious of not that long ago.<br><br><<Dialogue "randomPerson" "Random guy">>"Oh, sorry… I didn\'t mean to stare! I… uh… sorry, I\'m just new here… and I saw you doing everything so naturally… it was kind of hypnotizing."<</Dialogue>><br><br>He blushes, tripping over himself verbally as he tries to get out of the mess he sprung himself into.<br><br><<if $shyConfident > 1>>You suppress a giggle and raise your left arm, waving your palm with a flourish as you give him an impressive flex of your biceps.<br><br><<Dialogue "player" "You">>"What? These little puppies here? I have to admit, sometimes I even surprise myself!"<</Dialogue>><br><br>You say as you make your biceps bounce a couple of times for added effect.<br><br><<Dialogue "randomPerson" "Random guy">>"Wow… that\'s amazing. I hope someday I can get some results I can be proud off… but… I just got my membership to this gym yesterday. I admit it\'s somewhat intimidating, seeing all of you use all this equipment so naturally. I won\'t lie, I\'m a bit envious, I felt like I was just fumbling every time I tried to do anything. I almost didn\'t come back today. "<</Dialogue>><br><br><</if>><<if $shyConfident <= 1 && $shyConfident >= -1 >>You wipe the sweat off your forehead and, with a smile, stand up from the bench - proudly, albeit not on purpose, exhibiting your physique in your body-hugging workout attire.<br><br><<Dialogue "player" "You">>"Yeah, I just love coming to the gym, nothing quite compares, you know? There\'s nothing like challenging yourself."<</Dialogue>><br><br>You notice he\'s somewhat uneasy, probably feeling very insecure as he compares himself to you.<<Dialogue "randomPerson" "Random guy">>"Seriously, you are truly inspiring… but… I just got my membership to this gym yesterday. I admit it\'s somewhat intimidating, seeing all of you use all this equipment so naturally. I won\'t lie, I\'m a bit envious, I felt like I was just fumbling every time I tried to do anything. I almost didn\'t come back today. "<</Dialogue>><br><br><</if>><<if $shyConfident < -1 >><<Dialogue "player" "You">>"Eep!"<</Dialogue>><br><br>You let out a small whimper, blushing as you drop the heavy dumbbell that you were holding with a loud THUD! on the cushioned floor, fidgeting as you look around, hoping he was talking to someone else.<<Dialogue "randomPerson" "Random guy">>"Oh, sorry for startling you - I should have realized you were in the zone, so to speak. You clearly know exactly what you were doing, and I was hoping I might learn something… damn, I just realize how stupid I sound. "<</Dialogue>><br><br><</if>>You know exactly what he means. You look at this guy and, in your head, you see yourself not that long ago. You remember how awkward it was when you first started, swinging those weights haphazardly without proper form, struggling to get your target reps in even with the lightest one - which is made even harder when you are surrounded by people who look more fit and confident than you. But now the tables have turned, and you can\'t help but feel empathy for the little guy.<br><br><<Dialogue "player" "You">>"Hey, tell you what, why don\'t I run you through some basic routines? I can give you a basic starting set, and help you with your form as I show you each exercise?"<</Dialogue>><br><br><<Dialogue "randomPerson" "Random guy">>"R-really? That sounds great, if you don\'t mind… just… heh… go easy on me? I\'m pretty sure I\'ll have to stick to a much lighter load than you!"<</Dialogue>><br><br>You both share a laugh, and you proceed to write him a simple split routine. You walk him through the gym, explaining each exercise with a demonstration - you even make a point of trying to guess the weights he should use, picking them for a demonstration that wouldn\'t even register as a warm-up for you… but allowing you to hand them off directly and helping him repeat it so you can correct any mistakes.<br><br>After some minutes, you lead him to the leg press machine, setting it to what you believe will be a decent challenge for him. However, as he gets to the fifth rep on the last set, you can see him start to struggle.<br><br><<if $submissiveDominant > 1>>In a demanding tone, you order him to continue.<br><br><<Dialogue "player" "You">>"Don\'t stop now, you are still going to give me another ten reps, you hear?!?"<</Dialogue>><br><br>His face reddens even more as he grimaces during his sixth rep. You can see him almost grinding his teeth after the eighth rep, his breath becoming more labored.<<Dialogue "player" "You">>"That\'s nine, you have six left. Come on! Do it!" <</Dialogue>><br><br>His legs shake, but he keeps going, each rep slower than the one before. You can see he doesn\'t believe he can do it, that same initial insecurity in his eyes.<<Dialogue "player" "You">>"Don\'t you dare give up on me, not after all the work I put in."<</Dialogue>> <br><br>You can see his eyes widen in surprise over your forceful tone, but he gets the message loud and clear. You can see his grip on the handles tighten, and an expression of determination takes over as he now seems to complete the next few reps with renewed focus. However, as he is halfway on his last rep, his legs seem to stop in place, shaking as he seems to give his all to finish.<br><br>You look him in the eye and say with your most serious expression:<br><br><<Dialogue "player" "You">>"Just. Do it."<</Dialogue>><br><br>He takes a deep breath, and finishes the last rep. You lock up the rack for him, and with pride tell him that you expect to keep that same commitment, even when you aren\'t there.<</if>><<if $submissiveDominant <= 1 && $submissiveDominant >= -1 >>You cheer on him, sincerely invested in each rep as if it were your own.<br><br><<Dialogue "player" "You">>"Come on, you can do it! You\'ve already pulled another two full sets, only ten reps left!"<</Dialogue>><br><br>You can see him pushing himself to his limit, cranking a few more reps with enormous effort. But the lactic acid is getting the better of him, and you know well how hard it can get.<br><br><<Dialogue "player" "You">>"I know you got this! Half-way through, just keep pushing!"<</Dialogue>><br><br>His effort redoubles, and he grits his teeth, but you can see the pain mounting in his face. It seems like he has reached his limit. In a herculean effort, you try to discreetly spot the heavy weights with just your left hand in a corner he can\'t see - all while disguising your own effort so he won\'t be suspicious.<<Dialogue "player" "You">>"Four more and you are done, come on!"<</Dialogue>><br><br>He cranks another two extremely labored reps… and finally stalls. You can see he won\'t be able to continue, and so you turn the clamp to relieve him.<<Dialogue "player" "You">>"Congratulations! You did your best, and someday you\'ll do three full sets with even more weight, just go at your own pace and you\'ll get there!"<</Dialogue>><br><br><</if>><<if $submissiveDominant < -1 >>You bite your lip, nervously doubting the amount of weight you loaded into the machine. You feel his pain, remembering your early days in your own fitness journey. He looks back at you, expectantly, as if you could somehow lend part of your strength - but all you can do is flash a brief nervous smile.<br><br>He does seem to take solace on your support, and manages a couple more reps, but he clearly seems to be in pain. You keep feeling guiltier about all the weights you added as he pushes himself harder and harder. You start doubting yourself and end up just getting lost in your own thoughts as you second guess the whole plan when… <br><br>His knees buckle under the pressure of the weight, and the rack starts to fall on him. With apparently inhuman speed, you brace the whole rack with your hands! It\'s a considerable weight, especially getting you by surprise like this, but you heroically hold it steadily with great effort.<br><br>The guy stumbles clumsily out of the machine, and still sitting down on the ground, turns the clamp that holds the weight. The commotion calls the attention of other gymgoers, who huddle around to check if everyone is okay.<br><br>You extend a hand to help him up, and with ease pull him back to his feet.<br><br><</if>>He stands up, still breathless, and thanks you profusely. You can\'t help but feel proud of helping another fellow on his first steps of their own journey… a journey that changed your life, and hopefully will do the same for him someday.'
},
{
name: 'HelpingInTheGym_Female',
locationTags: ['gym'],
conditions: [
() => State.variables.muscle >= 30,
() => State.variables.skills[0].level >= 2
],
repeatable: false,
retriggerable: false,
priority: 'response',
npc: [],
content: 'It\'s a fairly calm day at the gym. You are happy to see there\'s almost no one there, and change into your workout leotard with eagerness, looking forward to pushing your body as hard as you can. <<if $carefreeCarefull < -1>>Excited about having the gym all for yourself, you leave the shower dancing, twirling in an impromptu (and very improvised) ballet move, making your way to the machines.<<elseif $carefreeCarefull >= -1>>You walk with determination to the machines, giddy while you pick which exercise to do first as you can take your pick among all the options.<</if>><br><br>You start loading plate after plate on the squat rack, your smile growing along the load of iron. Once you are satisfied, you get under the bar and start cranking rep after rep, your eyes closed as you get into the groove of the song you are listening to.<br><br>Suddenly, you feel a bump on your butt as you are going down, and the cushioned ground shakes a bit. Somewhat startled, you rerack the weight and check behind you, just to find out a pudgy girl in sweats rubbing her ass and wincing.<br><br>You extend your hand to help her up, and she opens her eyes and sees you, her face flushing red in embarrassment. She covers her face and you could swear she\'s about to turn purple. You reaffirm your offer for help, and she shyly grabs your hand - with little effort, you pull her up, and she fumbles her way, losing her footing and tumbling onto your chest.<<if $breasts >= 50>>She is cushioned by your soft mammaries, and you can swear her face might just go beyond the visible light spectrum if she gets any more flushed.<</if>><br><br>She gets back on her feet before her motormouth starts going off:<br><br><<Dialogue "randomPerson" "Random girl">>"OMG I just want to die I\'m so sorry please don\'t get mad at me I was just distracted because I am so uncomfortable at the gym I always wait until there\'s less people here and I was looking at the TV and didn\'t see you and I just bumped and then boom! I was just on the ground and I hope I didn\'t mess your exercise and…"<</Dialogue>><br><br>You suppress a laugh and put a hand on her shoulder. <<Dialogue "player" "You">>"Hey. It\'s alright. No harm done. I barely felt anything. Are you okay, though? Seems like you fell on your butt pretty hard there."<</Dialogue>><br><br> <<if $muscle >= 45>>As you interrupt her, she actually looks at you, and her jaw drops. Her eyes scan you top to bottom a couple of times, utter disbelief in her face.<<Dialogue "randomPerson" "Random girl">>"WHOA! You are JACKED! Look at those legs!!! Can I touch them?"<</Dialogue>><br><br>Before you can reply, her palm is over your thigh, giving it a firm squeeze. Your pumped, yet relaxed leg is pliable, as she digs into it in amazement. Instinctively, you flex the muscle, and it becomes completely rigid under her fingers, making her gasp - and then realize her faux pas, as she pulls her hand back and apologizes profusely for her forwardness, though you can hear her mutter under her breath: “She’s so lucky…”<<elseif $muscle >= 30 || $fat <= 25>>As you interrupt her, she has a chance to actually look at you for once, and you see her eyes widen as she drinks in your silhouette.<<Dialogue "randomPerson" "Random girl">>"Wow, look at you! You seem to be in pretty good shape… you’re so lucky…"<</Dialogue>><br><br><</if>><<Dialogue "player" "You">>"Well, I guess this is less about luck and more about hard work."<</Dialogue>><br><br>As you say this, you give your midsection a loud slap, and you watch as she bites her lip.<<Dialogue "randomPerson" "Random girl">>"I wish I could put that hard work in… I mean, I try pretty hard. It’s just that I get so self-conscious here…"<</Dialogue>><br><br>You watch as she squeezes her muffin top, a hint of sadness and disgust flashes on her face, and it breaks your heart a little bit.<br><br><<Dialogue "randomPerson" "Random girl">>"I only have the guts to come in and work out when the place is empty like this, I just feel like everyone is looking at me and laughing in their heads…"<</Dialogue>><br><br>You frown, taking her hand and tugging her around to the treadmill.<br><br><<Dialogue "player" "You">>"Nonsense. You made it here, despite your fears and concerns. If you ask me, you are really brave. Now let’s get you started, I’ll give you a hand."<</Dialogue>><br><br>You set her up on the treadmill, and encourage her through a modest, but still quite gruesome workout. You see her sweating profusely, but your words seem to brighten her face as she struggles to keep her pace. After 20 minutes, when you see she is at her limit, you help her down and she doubles over, panting, but she can’t help but slip a few laughs in between wheezing breaths.<br><br><<Dialogue "randomPerson" "Random girl">>\”That… .... was… ... AWESOME! Thank you so much… I didn’t know I had it in me."<</Dialogue>><br><br>You feel pretty proud of yourself, and give her a pat on the back. Hopefully she will sprout some wings and keep up. You find yourself hoping that this will be the beginning of a very successful fitness journey.'
},
{
name: 'tongue_Comment',
locationTags: ['outside'],
conditions: [
() => State.variables.tongue >= 2,
() => State.variables.muscle <= 40,
() => State.variables.height <= 210,
() => State.variables.breasts <= 40
],
repeatable: false,
retriggerable: false,
priority: 'response',
npc: [],
content: 'As you go along your day you\'re just going places, idly strolling by as you\'re lost in thought. With all that has been going on you\'ve been somewhat absent-minded lately and a nice stroll is sometimes just what you need. That’s when you pass by two guys talking, and you just so happen to casually yawn. And, of course, you cover it with your hand; you\'re not a barbarian. What you didn\'t take into account, though, was that your tongue is now WAY bigger. It rolls out and pushes the sides of your mouth aside a bit as the big, red cord unfolds. You don\'t even notice you\'re doing it, until you open your eyes again and look at the two people you just walked past. You already stand out, but this? This got them staring. You try to take your tongue back in your mouth quickly, but it’s just not fast enough; without even intending to do so, you perform a textbook \'blep\'. You continue walking, only hearing the end of the conversation of the people behind you. <br><<Dialogue "randomPerson" "Random guy">>"Holy shit, did you see that?! What was that girl, some kind of lizard person!?"<</Dialogue>><br><<Dialogue "randomPerson" "Random guy">>"Yeah what the hell! Still... kinda hot, though..."<</Dialogue>><br><<Dialogue "randomPerson" "Random guy">>"Bro, what the fuck! You\'re into that shit?!"<</Dialogue>><br>You go around the corner, and get out of their sight. Well, it seems your changing body is getting more and more attention. But that does raise an important issue; how do YOU feel about it?<br><span id="choice"><<link "Well, if others can like it, so can I!">><<replace "#choice">>Fuck it, if one of them finds it hot, why can\'t you?!? Your body is changing and, hey, there\'s nobody in the world like you. Why not take pride in it?<<set $shyConfident += 1>><br><<link "Continue" $currentScene>><</link>><</replace>><</link>><br><<link "You\'re a freak.">><<replace "#choice">>Well, you heard the guys. You\'re a lizard girl, a freak. And with that thought, your shoulders slump and you feel just... ugh. Horrible. Maybe you really should be more careful with how your body is changing...<<set $shyConfident -= 1>><br><<link "Continue" $currentScene>><</link>><</replace>><</link>></span>'
},
{
name: 'superIntendent_Visits',
locationTags: ['home'],
conditions: [
() => State.variables.muscle >= 50,
() => State.variables.furniture.includes('excellent weight set')
],
repeatable: false,
retriggerable: false,
priority: 'response',
npc: [],
content: `You hear the doorbell… that’s odd. You didn’t tell that many people you know you moved into this apartment, and Johan is not much for showing up unannounced, let alone using the doorbell instead of knocking frantically.<br><br>You make your way to the door and open it, finding a distracted mustachioed short man in glasses and wearing a wool vest, looking very intently at his clipboard, grumpily muttering to himself. You clear your throat and he raises his eyes.<<if $height >= 195>> He looks straight into your midriff, and jerks with surprise, then slowly raises his head until he can look at your face.<</if>><br><br><<Dialogue "randomPerson" "Guy in glasses">>\”Errrr… miss…<<print $playerLastName>>, was it?."<</Dialogue>><br><br>You nod in agreement, still somewhat confused.<<Dialogue "randomPerson" "Superintendent">>\”I’m the superintendent here in the building. We’ve received some complaints from the neighbors that there’s been… quite a bit of noise and shaking coming from your apartment since you moved. Are you having parties here? Or operating some kind of heavy machinery? I’ll let you know, we have very stringent rules regarding commercial operations in this building."<</Dialogue>><br><br><<Dialogue "player" "You">>"Oh. I’m sorry. No, I hardly have anyone over, and I’m certainly not operating heavy machinery"<</Dialogue>><br><br><<Dialogue "randomPerson" "Superintendent">>\”Well, there’s been enough complaints now that I am obligated to inspect your apartment. So if you don’t mind me, excuse me…"<</Dialogue>><br><br>He tries to get around you, but even though he’s almost comically diminutive, your bulk precludes him from just passing by. <<if $submissiveDominant > 1 || $shyConfident > 2 >>You stand resolute, and he gets more frustrated by the second as you stare at him with a serious expression.<br><br><<Dialogue "player" "You">>"You could ask politely, you know?"<</Dialogue>><br><br>He doesn’t exactly seem intimidated, but quite bothered. He sighs, and responds:<br><br><<Dialogue "randomPerson" "Superintendent">>\”Can I come in? I need to inspect your apartment."<</Dialogue>><br><br>You look at him, expectantly.<br><br><<Dialogue "randomPerson" "Superintendent">>\”Please?"<</Dialogue>><br><br>You step aside with a wry smile, and watch as he walks in.<<else>>Before he gets too frustrated, though, you step aside, since you don’t exactly want to get in trouble - much better to stay in his graces if you are going to be living here over the next few months.<</if>><br><br>He starts walking into your apartment, heading straight to the kitchen, where he seems to be intently searching all over as if you had enough space to hide an industrial assembly line somewhere in the cramped space (You wish!). At this pace, he could be here a while, and he doesn’t seem to be interested in asking for any help.<<Dialogue "player" "You">>"Hey, do you mind if I exercise while you look around? I’m getting a bit bored…<</Dialogue>><br><br>He nods back at you, his brow still furrowed as he looks under the sink.<br><br>Figuring you could use some tough but quick exercise, you grab a barbell and pull nice clean and jerk. But just as he is coming out of the kitchen, you bring down the bar (and its almost comical collection of plates) on the cushioned pad. As much as you try and control their descent, they hit the pad with a fairly loud CLANG, and you can see the superintendent literally bounce a <<if $measurementSystem == 'metric'>>few centimeters<<else>>whole inch<</if>> off the floor with the shaking caused by your weights.<br><br>The short man looks at you in disapproval before he starts to write furiously on his clipboard. You force an embarrassed smile before promising to get some better padding for your exercise area.`
},
{
name: 'playerGetStuckInDoor',
locationTags: ['mall'],
conditions: [
() => State.variables.muscle >= 70 || State.variables.fat >= 70,
() => State.variables.height >= 180
],
repeatable: false,
retriggerable: false,
priority: 'response',
npc: [],
content: 'You make your way to the mall, daydreaming about some of the purchases you had planned to make… but your bubble is quickly burst once you arrive at the entrance, and a large truck is parked in front of the main gate. It seems like the automated sliding doors are malfunctioning, and several repairmen are huddled around them. A large makeshift sign with a bright orange arrow indicates that the clientele should use the service entrance on the side.<br><br>You make your way around the mall, where an emergency fire door was opened for that exact purpose. It leads into the stairs that service the mall’s underground garage, which you never really used since you don’t own a car.<br><br>You pull the handle to open the heavy (well, used to be for you, at least) interior metal fire door that leads into the mall proper, and try to squeeze through its frame… it’s quite a tight fit for your wide shoulders. A group of kids arrives behind you and start asking you to stop hogging the tight corridor, and stop you from returning the way you came. As with everything else in life, you decide to push through… or try to, as the case may be. Your shoulders squeeze firmly against the metal frame, but they turn out to be much less pliable than you were used to. You try to turn sideways to facilitate the crossing… but quickly realize you have gotten stuck.<br><br><<Dialogue "randomPerson" "Random Person">>\”Hey, come on, get a move on!"<</Dialogue>><br><br>You try to squeeze back the way you came so you can turn, but you are most definitely very stuck. You get a nervous flashback of the time you got a sofa stuck on a landing bringing it up a set of stairs.<br><br><<Dialogue "player" "You">>"Uh, just a second… Ugh!<</Dialogue>><br><br>You start to get really self-conscious as you try and maneuver around, pushing each shoulder in alternating directions, hoping that SOMETHING will get you unstuck. You wonder momentarily about calling Johan (does he own a crowbar, maybe, you ask yourself?) for help on your phone, but you realize even reaching for your pockets would be harder than getting out of this predicament.<br><br>As the crowds mount on both sides of the passage, your embarrassment grows proportionally with the frustration of the other mall patrons. Eventually, the managers call the fire brigade, and the commotion crescendos into a whole new level.<br><br>There are now dozens of people watching on either side, as the fire brigade is brainstorming on how to liberate the passageway with minimal damage - they have already smeared lubricant all over your sides, and are questioning which tool they can use that won’t hurt you… though you are frankly more concerned with the metal frame at this point. You can see Simon looking at you, his usual inscrutable gaze - but you just want to disappear from sheer shame.<br><br>Eventually, Simon silently walks towards you, and everyone steps out of the way. He grabs a length of rope from one of the firemen, and passes it around your waist. With quick and clear gestures, he motions for the other members of the brigade to help, and together they pull in repeated unison.<br><br>As they repeat the rhythmic motion, you hear some weird cracking and creaking noises. They grow louder and deeper until…<br><br>CRACK!<br><br>You tumble forward, face first into the ground, metal frame still wrapped around you. The members of the brigade are quite concerned, but you just get up (with Simon’s help) unscathed - but still stuck to the frame. You take a deep breath and perform a mighty lat spread, the steel around you slowing creaking wider as pieces of cinder fall from it. As you relax, the frame falls to the ground with a very loud clang. Dozens of people just stare at you, dumbfounded at the whole chain of events they just witnessed.<br><br>You decide it’s best to not stay there any longer before someone decides to charge you for the damage, and as you get away, you see a TV crew reporting on the incident. You hope that no one else you know hears about this other than the taciturn Simon… or you won’t ever hear the end of it.'
},
{
name: 'ShowerTooSmall',
locationTags: ['home'],
conditions: [
() => State.variables.height >= 180
],
repeatable: false,
retriggerable: false,
priority: 'response',
npc: [],
content: 'There’s nothing quite like a good shower! This is an old building, but being in the basement has its perks… like excellent water pressure!<br><br>You take off your clothes. <<if $muscle >= 40>>You check out your muscles - you never figured you’d ever impress yourself with your physique, but now you can’t really pass by a mirror naked without checking your progress anymore. It’s a bit of an addiction, there’s no denying. <</if>><<if $breasts >= 40>>These breasts! Oof! You squeeze them, checking how nicely they compliment your figure in the mirror. <</if>><<if $dick > 2>>Oh! You are still getting used to your willy - it’s kind of weird for you still to… dangle… but you still can’t help but check it out.<</if>><br><br> After you are done playing in front of the mirror, you turn on the water and wait for it to get to a good temperature. But as you actually step into the old tub… you realize the jet from the shower head isn’t really high enough for you anymore.<<if $height >210>>In fact, the best you can do is get the water to clean your breasts, and even that is a bit awkward. Washing your neck requires a bit of bending down… and washing your hair might be downright unpleasant if you just bend your neck sideways. You try to sort of squat, but that’s made complicated by the tub’s slippery round surface.<br><br><<elseif $height >190>>The water still reaches the bottom of your chin, but that’s about it. And you find yourself tilting your head sideways awkwardly to wash your hair. This is far from ideal. Were people really that short when this old building was constructed?<br><br><<else>>Your forehead now grazes the shower head when you get close, making your shower more complicated and time-consuming than before. You find yourself constantly watching not to just bump into it, and you have to turn awkwardly to rinse the top of your head.<br><br><</if>>Showering might just be impractical if your height continues its current trajectory. You ponder the possibility of taking a bath in the tub, but even that is not going to be ideal - you can already imagine having a hard time fitting your legs in there.<br><br>It might just be time to visit a hardware store and buy a shower handle to install here…'
},
{
name: 'RecognizedDuringStream',
locationTags: ['home'],
conditions: [
() => State.variables.muscle >= 50,
() => State.variables.streamWarnings > 0
],
repeatable: false,
retriggerable: false,
priority: 'response',
npc: [],
/* TODO check for duplicate later */
content: `As you walk down the street, the fresh air energizes you and your brisk pace quickly evolves into a light jog. <<if $breasts >= 50>>Your ample bosom starts bouncing along, limiting your speed, and making you wish you had a more capable sports bra. It hurts a bit, keeping you from increasing your speed, but not enough to slow you into a walk.<</if>> The wind feels good on your face, and all your worries seem to melt as you continue along the paved road.<br>As you keep going, the streets seem to get busier and busier, with a lot more pedestrians to share the sidewalk with.<<if $muscle >= 90>>Your gargantuan physique is a magnet for eyeballs from all sides, and quite a few necks track you as your pass by, reminding you that you now sit proudly on the far end of the muscularity bell curve. At one point, someone gets distracted enough checking your body that they walk headfirst into a street light, eliciting an amused giggle from you.<br><br>It’s hard not to feel proud of your achievements, and it motivates you even more. You bask on the feeling of your sizeable thighs, which wobble and tighten as you engage them with each step, in a slightly mesmerizing spectacle of your robust mass.<<elseif $muscle >= 50>>Your toned body certainly calls a decent amount of attention, with the casual passerby finding it hard to ignore. You catch a few glances here and there, and even the odd catcall.<br><br>With each new person that seems to check you out, your chest puffs out with pride, and your posture responds to that, and soon you feel like a professional athlete, dashing like a gazelle through the savannah.<</if>><<if $height >= 210>>Your notable stature helps you stand out, as you can see over most of the crowd - and call attention to yourself as well.<</if>><br><br>As you keep going, however, soon a couple of guys stand out. Unlike the others, the pair seem to sneer as they pass you, and you can’t help but overhear their dialogue.<br><br><<Dialogue "randomPerson" "Random guy 1">>"Hey, bro. Did you see that? It’s that freak from the livestream… you know, the one that was trending because of her wardrobe malfunction."<</Dialogue>><br><br><<Dialogue "randomPerson" "Random guy 2">>"She’s making a ton of cash from those simps. She’s clearly using it all to buy steroids… probably because no one has the courage to date her. I bet the whole thing was scripted to make more money."<</Dialogue>><br><br>Listening to that conversation made you uncomfortable. No, it’s worse than that. It was actually hurtful. You come to a complete stop and mutter to yourself:<<if $shyConfident > 1>> <br><br><<Dialogue "player" "You">>"No. I’m not about to let some ass make me feel like this"<</Dialogue>><br><br>You approach the nearest building and, surprising yourself, kick your right leg straight up, resting your heel against the wall on an impressive stretch. You proceed to hug the formidable appendage, inching forward towards the surface in a confident display of power and flexibility. Your bottom wear is stretched to its limits, and so is the attention of everyone nearby, including the two rude guys - who seem to have frozen in their tracks with your little show. Your turn your face to them as you raise your palms against the wall, and ask them with your most flirtatious voice:<br><br><<Dialogue "player" "You">>"Hey, excuse me, could you help me with my stretch? Just push on my back as hard as you can, please?"<br><br><</Dialogue>><br><br>The pair seems completely dumbfounded and somewhat uneasy with the request, but speechlessly comply.<<Dialogue "player" "You">>"Hey, excuse me, could you help me with my stretch? Just push on my back as hard as you can, please?"<</Dialogue>><br><br>You make it a point of not letting them move you a single inch, holding firmly as he increases the pressure. You keep teasing them, until the friend joins in, and they are both pushing with all their might. Still, you hold, steady as a rock. And then you engage your trapezius and deltoids, engorging them in a flex under the four hands. You can almost swear you feel a tingle on your skin where they are touching, as if their insecurities manifest like an aura where they make contact.<br><br>Even though you can’t see their faces, you just know you have shut them up completely with your little display, and let out a little relieved sigh.<<Dialogue "player" "You">>"Don’t worry, I’ll have a… more capable friend… help me later. Thanks for trying, though."<</Dialogue>><br><br>And with that, you recover the spring on your step as you keep jogging, leaving the two bullies with their jaws on the floor and the satisfied smile back on your face. <<else>> <br><br><<Dialogue "player" "You">>"Is that… what people think when they watch my streams?"<</Dialogue>><br><br> You decide to confront them, turning around and walking back past them. You block their way with a frown, putting your hands on your hips and looking straight into their eyes.<<Dialogue "player" "You">>"If you have something to tell me, say it to my face."<</Dialogue>><br><br>The two look at each other, and giggle - you are not sure if they are laughing because of your past online indiscretion or if it’s just nerves from this strange encounter, but you are certainly not amused.<br><br><<Dialogue "randomPerson" "Random guy 1">>"What are you, another influencer show-off who can’t take criticism? Go cry to your fans, you butch!"<</Dialogue>><br><br><<Dialogue "randomPerson" "Random guy 2">>"Maybe she has a hidden camera and she’s just trying to trick us? Man, these online celebrities are so messed up. Must be all those hormones she’s taking."<</Dialogue>><br><br>You realize these people don’t really know you, but it doesn’t make it any less painful to hear. The anger starts bubbling up from the pit of your stomach, and you feel your muscles tensing. Your whole body is like a bowstring, being drawn closer and closer to a snapping point - and you can see the two guys beginning to get intimidated by your reaction.<br><br>And that, somehow, makes something click in your head. They aren’t worth your trouble. In fact, their opinions don’t really matter at all to you.<br><br><<Dialogue "player" "You">>"You know what? I don’t care. You guys are just jealous. I bet you two have your own streams and can’t even get anyone to watch you. Send me a message when you actually get double-digits followers!"<</Dialogue>><br><br>And with that, you put your index finger on your nose and stick out your tongue while you wink, making sure to give your biceps a nice flex for extra effect. The pair blushes as you skip and hop around them, getting back on your way.<br><br>As you gain distance, you overhear one of them confessing to the other that you are actually kinda cute. You can’t help but smile.<</if>>`
},
{
name: 'StrenghtShowOff_bodybuilder',
locationTags: ['outOfHouse', 'mall'],
conditions: [
() => State.variables.muscle >= 40,
() => State.variables.shyConfident > 0
],
repeatable: false,
retriggerable: false,
priority: 'response',
npc: [],
content: `You strut with the confidence that your powerful bodybuilder-like build grants you, your posture and size alone making you stand out as you walk through the streets. You are not quite used to it yet - and apparently, neither do other passers-by.<br><br><<Dialogue "randomPerson" "Random guy">>"Brah! Look at you! I bet you lift some serious iron, girl!"<</Dialogue>><br><br>The guy is seriously impressed. You are not sure if he’s just flirting, but you don’t really care. You smile, and give him a quick flex with a wink.<br><br><<Dialogue "randomPerson" "Random guy">>"Whoa, damn, just strong are you?!?"<</Dialogue>><br><br><<Dialogue "randomPerson" "Random guy">>"Well, why don’t we find out?"<</Dialogue>><br><br>You point towards his shopping cart. It just so happens that he has a rather large watermelon with him. He looks confused at first, but then you spell it out:<br><br><<Dialogue "player" "You">>"That’s a nice watermelon you have there… it would be a pity… if something happened to it, right?"<</Dialogue>><br><br>Before you know it, he’s tossing stuff off the cart and handing you the heavy fruit… well, heavy for him. You easily grab it with your powerful hand, placing it between your titanic thighs.<br><br>You give a quick grunt as you flex your legs, and in a matter of seconds a crack travels down the poor fruit, which is then quickly brought to pieces as it dribbles down your legs. You lick your reddened finger seductively.<br><br>The guy just stares at you, dumbfounded. You give him a wink, and place the exploded remains of the watermelon back in his cart, making a bit of a mess in the process. He doesn’t seem to care much… or at least is too stunned to do anything about it.`
},
{
name: 'StrenghtShowOff_powerlifter',
locationTags: ['outOfHouse', 'mall'],
conditions: [
() => State.variables.muscle >= 60,
() => State.variables.shyConfident > 0
],
repeatable: false,
retriggerable: false,
priority: 'response',
npc: [],
content: `It’s quite impressive what this amount of she-beef can do to your confidence. The mere knowledge of just how much you are able to lift has completely changed your demeanor - and people just looking at you realize that straight away.<br><br>Case in point, this couple passes by, and the girl cranes her neck just to have a better look at your upper arms and calves. Her boyfriend, confusedly, turns to see what she’s looking at.<br><br><<Dialogue "randomPerson" "Random guy">>"Are you impressed by THAT? I know a female body, and I can tell that’s like all drugs. Her muscles are like 90% water, bet she’s not that much stronger than you…"<</Dialogue>><br><br><<Dialogue "randomPerson" "Random guy">>"I don’t know… she just… FEELS powerful…"<</Dialogue>><br><br>Hearing all of that, you decide the guy deserves a small lesson. Without turning back, you just go behind a sedan that is parked there, and squat behind its bumper. You take a deep breath, and slowly lift the rear end of the car off the ground, as casually as you can. You can hear the girl letting out a squeal as she gives her boyfriend a slap on the arm.<br><br><<Dialogue "randomPerson" "Random guy">>"SEE?!? I told you so."<</Dialogue>><br><br>You carefully and with perfect control put the car down. As you continue on your way, you hear her say:<br><br><<Dialogue "randomPerson" "Random guy">>"Damn, that was SO HOT… maybe I should start lifting weights..."<</Dialogue>><br><br>You laugh, hoping to maybe have put another woman on her track to become stronger.`
},
{
name: 'StrenghtShowOff_recordBreaker',
locationTags: ['outOfHouse', 'mall'],
conditions: [
() => State.variables.muscle >= 80,
() => State.variables.shyConfident > 0
],
repeatable: false,
retriggerable: false,
priority: 'response',
npc: [],
content: `You are passing by one of the town’s main attractions: a giant marble sphere. Many tourists stop there to take pictures with it, trying unsuccessfully to lift it. There are dozens of people taking turns to do so.<br><br>A boy stops by your side and says:<<Dialogue "randomPerson" "Random guy">>"Wow, I bet you could lift that ball!"<</Dialogue>><br><br>You weren’t really planning to, but he’s looking at you with such eyes… I guess it might be worth a try.<br><br>As you approach the line, one by one people turn to see your rather respectable figure, and they let you skip ahead. Suddenly, everyone around is just letting you take a stab at it, and an even bigger crowd is starting to form around it - you feel like it’s your Excalibur moment!<br><br>There’s a sign by the sculpture… it says, among other bits of information, that it weights approximately <<weightConversion 350>>. You remember vaguely this being above the world record for an Atlas lift. Well, challenge accepted!<br><br>You rub your hands and give yourself a brief stretch. The marble can be quite slippery, but according to one of the onlookers, it’s actually a similar density to the concrete they use in Atlas lifts. The ball certainly looks intimidating, going past your knees…Well, too late to back out now! You kneel in front of the sculpture, hugging it with your arms… and you pool all your strength trying to get it back up!<br><br>You struggle for a few seconds, but then, slowly, your knees straighten, and you hear gasps and whoops all around! Dozens of people making videos and taking pictures as you grunt until you are straight up holding the damn thing up!<br><br>Everyone is clapping and cheering, and it fills you with pride. Unfortunately, it does not make your hands less slippery, and the ball ends up falling back in its concave resting spot, cracking in middle.<br><br>You smile nervously as you give everyone a wave and make yourself scarce. You have a sneaky feeling you might make the news tomorrow…`
},
{
name: 'StrenghtShowOff_superHuman',
locationTags: ['outOfHouse', 'mall'],
conditions: [
() => State.variables.muscle >= 90,
() => State.variables.shyConfident > 0
],
repeatable: false,
retriggerable: false,
priority: 'response',
npc: [],
content: `You are walking on the street, and you see two siblings having an argument.<br><br><<Dialogue "randomPerson" "Random boy">>"Don’t be silly, a woman is never going to be stronger than a man. And no man can do that!"<</Dialogue>><br><br><<Dialogue "randomPerson" "Random girl">>"Well, you don’t know, maybe if she trains REALLY REALLY hard, maybe she could - that’s how records are broken, you know."<</Dialogue>><br><br>You see the two kids debating heatedly in front of the supermarket, their mom apparently having left to play on the coin-operated horses. The boy is really making the girl upset, and it’s getting to you.<br><br><<Dialogue "player" "You">>"Are you kids doing alright?"<</Dialogue>><br><br>The boy looks at you, and gulps at the realization of how big you are. The girl is a lot less shocked and just says:<br><br><<Dialogue "randomPerson" "Random girl">>"I’m sorry, we are not supposed to talk to strangers."<</Dialogue>><br><br>You wink at her, and whisper:<br><br><<Dialogue "player" "You">>"It’s okay, I’m a superhero in disguise. I just wanted to know, what is it that your brother thinks no one can do?"<</Dialogue>><br><br><<Dialogue "randomPerson" "Random girl">>"Do you see that telephone pole? They are changing them for new ones, and I said it’s silly they need these big vehicles, they should just get someone strong enough to pull them out - and he said that it’s impossible, and I said I would get REEEEEALLY strong one day and do it. "<</Dialogue>><br><br><<Dialogue "player" "You">>"Impossible, huh?"<</Dialogue>><br><br>You walk to the decommissioned pole. You aren’t really sure you can do it… we are talking about something downright superhuman… but… you saw the disappointment on her eyes, and you are going to give your best!<br><br>Thankfully, there’s almost no one around now. So you hug the pole, and every muscle in your body tenses as it expands to unthinkable proportions. You close your eyes and grit your teeth, taking deeper breaths as you concentrate every ounce of your power into the task at hand. At first, it doesn’t feel like you are accomplishing much… but something starts crackling inside of you, like a small ball of lightning. Your body feels like it’s on fire… and… growing… stronger… and stronger…<br><br>Your fingers dig cracks against the concrete, giving you a better grip. Likewise, you can hear and feel the concrete beneath your feet groaning and shattering. Your quads explode as your feel your legs straightening, the pole raising itself off the ground…<br><br>You hear the boy gasp and the girl clap, excitedly. Man, this weighs A LOT. You look around in a hurry, and see that there is a dumpster just around… you try to slowly bring the pole down, but it just comes crashing, cleaving the entire dumpster into two… but at least no one is hurt.<br><br>The girl comes running and hugs your calf. You bend down, and tell her:<br><br><<Dialogue "player" "You">>"Don’t EVER let anyone tell you that you can’t do something - just make sure not to put yourself in danger, OK?"<</Dialogue>><br><br><<Dialogue "randomPerson" "Random girl">>"Wow, lady, I know you can’t reveal your secret identity… but how did you get so strong?"<</Dialogue>><br><br>With a wink, you reply:<br><br><<Dialogue "player" "You">>"I ALWAYS ate my vegetables."<</Dialogue>><br><br>You decide to make yourself scarce before you get into any more trouble. But as you do, you hear a very confused mother leaving the store as the kids beg for some brussel sprouts.`
},
{
name: 'StrenghtShowOff_bodybuilder2',
locationTags: ['outOfHouse', 'mall'],
conditions: [
() => State.variables.muscle >= 50,
() => State.variables.shyConfident > 0
],
repeatable: false,
retriggerable: false,
priority: 'response',
npc: [],
content: `The streets are very packed today, and it seems like there’s some people making the most of it - there are some improvised booths with several salespeople trying to peddle their wares. Most of the stuff being sold doesn’t really interest you, but there’s one that specializes in cooking utensils, and it quickly catches your attention.<br><br>You find this guy with a very strong snake oil salesman vibe, showing a very nice set of frying pans. He makes a bunch of wild claims about its nonstick coating, frying stuff and showing how easy it is to clean… then he brings a welding torch to it to show how resilient it is to heat. Finally, he get a huge mallet and tries to dent it with it, with no success…<br><br>As he is doing his little spiel, he singles YOU out, saying that “not even that lady could damage it with this mallet!” You look around, and back at him while pointing to yourself. He confirms he is talking about you, and you step up to the booth.<br><br>You grab the frying pan, and you check it out - it does seem very solid and sturdy. Hmmmm…<br><br>While he continues with his spiel, you place both hands on the sides of the frying pan, and start applying inward pressure as you squeeze it in front of your chest.<br><br>The salesman continues with his high-speed banter, but he realizes that no one is looking at him anymore. As his attention turns to you, the poor pan is now folded over itself, and you raise it up for everyone to see.<br><br>He stands there, jaw dropped, while you ask if he has anything a bit sturdier…?`
},
{
name: 'StrenghtShowOff_powerlifter2',
locationTags: ['outOfHouse', 'mall'],
conditions: [
() => State.variables.muscle >= 60,
() => State.variables.shyConfident > 0
],
repeatable: false,
retriggerable: false,
priority: 'response',
npc: [],
content: `You notice a commotion in front of the grocery store… It seems like they are celebrating their anniversary, and they have a special promotion going on: they are running a tug of war competition in front of the store, and anyone who can beat their “fresh farmer” team will get a week of groceries, free of charge! Well, you can’t just pass up that opportunity up.<br><br>As you get there, the whole thing seems a lot sleazier than you expected: their farmer team is actually some male models, their very toned and cut bodies on display, wearing just some jeans overalls and straw hats - complete with a petting exhibition with some cows on the parking lot, where some of the models are milking them and pulling some seductive moves with the milk buckets. Despite looking very defined, the models are super lean and probably not really THAT strong - you are pretty sure you could probably defeat any of them with one arm.<br><br>As you make your way to the line, you see the social media manager making Picstagram videos. He is boasting about all the engagement that they will get with this promotion, and how all the ladies are just going to melt at the hunks and that they probably aren’t even going to have to award the prize. Oh, challenge fucking accepted.<br><br>When your turn comes, the male model gets downright intimidated by your size. The social media manager immediately intervenes, and points out the fine print that the mission is to defeat “the farmer team”... so it doesn’t have to be only one.<br><br><<Dialogue "player" "You">>"Fair enough. Bring it on."<</Dialogue>><br><br>You reply, confidently, as he shuffles to get every single model to hold the other end of the rope. There’s now six “farmers”, ready to go against you in the tug of war.<br><br>You watch them holding on, realizing they also know very little about what they are doing. This is going to be fun, you think, as you smile confidently and prepare yourself.<br><br>When everyone is in position, you just hold the rope with one hand, leaning backwards to let your weight do the rest. The organizer shouts “GO!”, and you just casually hold the rope with one hand, leaning back and using your weight to hold all six models while you comically look at the nails on your other hand.<br><br>You wait a minute for them to tire themselves, then grab the rope with your other hand and change your stance to pull them. As you grin mischievously, you can see the look of terror on their faces. They really are a lot weaker than they look, you realize, as you just give the rope one firm pull and the entire line goes straight into the ground, and you guarantee your victory.<br><br>The social media manager comes in, and raises your hand, making a big spectacle of the whole thing. You kinda wish it was a bigger challenge, frankly, but will settle happily for the prize.`
/* TODO check for player award later */
},
{
name: 'StrenghtShowOff_record_breaker2',
locationTags: [''],
conditions: [
() => State.variables.muscle >= 70,
() => State.variables.shyConfident > 0
],
repeatable: false,
retriggerable: false,
priority: 'response',
npc: [],
content: `You find yourself going by a nice suburban area, where a new house is being built. There’s this old lady arguing in the yard with a construction worker in a reflective vest, and she seems quite upset. You almost ignore the whole thing, but the old lady is almost in tears by now.<br><br>She talks about how they absolutely need to replace the faulty support beam or the city might just evict her soon - and she has nowhere else to go! Frustrated, the construction worker is insisting there is nothing they can do, since they would need a pneumatic jack to hold the horizontal beam while they perform the replacement - but they don’t have that equipment, and regulations will prohibit them from even trying.<br><br>Finding the plight of the old lady very sad, you intrude into the conversation:<br><br><<Dialogue "player" "You">>"Excuse me, I couldn’t help but overhear the discussion… but what’s the capacity of that jack you mentioned?"<</Dialogue>><br><br>The worker explains that it’s rated for 1 ton, but it’s meant to be working with at least 50% excess for security reasons. Curious, you confirm how long would the actual process take to switch the support pillar - he says he has a big crew, so probably no more than a couple minutes, three at most. You flash a confident smile, and tell him to gather the team.<br><br>Confused, the workers follow you to the place where the pillar is. <<if $height > 190>>It’s a good thing you are this tall, you don’t even need a support for this, as you notice you can already reach the ceiling.<<else>>Given the height, you ask them to provide something to step on so you can reach the ceiling, which they do, increasingly confused about the whole thing. You step on top of the concrete block they provide, and confirm that you can now reach the ceiling.<</if>><br><br>You ask if everyone is ready to switch the support beam. They do, and you get to work: placing both hands on the pillar, you start pushing up: every vein on your arms and legs jumps simultaneously, pumping your blood at record speed as every muscle in your body explodes with power… and the roof of the house starts raising a few <<if $measurementSystem == 'metric'>>centimeters<<else>>inches<</if>>.<br><br>You watch as every worker gazes at you incredulously.<br><br><<Dialogue "player" "You">>"Hey, I don’t mean to be THAT girl (ugh)... but this is actually harder than it might (agh) look. So if you don’t mind… (ugh)... stop staring and start working???"<</Dialogue>><br><br>The entire crew is shocked, and they double-time it in a hurry. Everyone works in sync, and it would seem that, despite the fact that they can’t stop stealing glances at you, they make very short work of removing the damaged beam.<br><br>You keep grunting as your stamina dwindles and your muscles start burning.<br><br><<Dialogue "player" "You">>"Are you guys gonna be much (ugh) longer? I could use a break!!!"<</Dialogue>><br><br>The foreman nods, and asks for just a bit more time. Three men together lift up the replacement metal I-beam, and set it there, and tell you that you can let go.<br><br>With a final grunt, you try to slowly bring the vertical beam down, until it no longer weighs on your shoulders. Everyone watches you in awe, your body so pumped you actually look noticeably bigger than when you started. You give your tired shoulders a squeeze, and you could swear they are much harder than ever before, it feels like touching a marble statue.<br><br>The old lady, tears in her eyes, thanks you and offers you some tea. You gladly accept, sitting in her tea room (which brings back memories of the tea parties you used to hold with your dolls - as you feel entirely out of scale with the rest of the scene).<br><br>Before you leave, the foreman asks if you already have a job. You decline politely:<br><br> <<Dialogue "player" "You">>"You know what? Maybe I’m more suited to destruction than construction…"<</Dialogue>><br><br> And with a wave and a smile, you go on your way.`
},
{
name: 'StrenghtShowOff_superHuman2',
locationTags: [''],
conditions: [
() => State.variables.muscle >= 90,
() => State.variables.shyConfident > 0
],
repeatable: false,
retriggerable: false,
priority: 'response',
npc: [],
content: `You are suddenly startled by a crashing sound! You turn and see two cars have collided, and their respective drivers come out.<br><br>The two ladies start having a very loud argument.<br><br><<Dialogue "randomPerson" "Random woman">>"Are you STUPID? Don’t you even look before you cross the intersection?"<</Dialogue>><br><br>The other woman tries, apologetically, to explain that she had the right of way, but the angry one doesn’t seem to care, and starts slapping her. You decide to intervene.<br><br><<Dialogue "player" "You">>"Hey, calm down. Why don’t you share insurance information, no need to get physical."<</Dialogue>><br><br>The angry woman, completely out of control, tries to slap you, but you just catch her hand in the air with ease. She starts shaking, but quickly realizes she can’t even move under your grip.<br><br><<Dialogue "player" "You">>"Look, maybe you just want to chill a bit in your car and we’ll call the cops to sort this out."<</Dialogue>><br><br>She tries kicking you, but it doesn’t really hurt you. She starts getting really red in the face with rage, and you let go as she gets into the car.<br><br>You check the other woman, who is now in tears, and you try to calm her. However, the angry woman backs her car up, burning her tires, and just starts coming at the two of you, full-speed, in a terrorizing display of road rage.<br><br>With no time to think, you put your right foot forward and lean towards the incoming car, bracing yourself as you prepare your arms for impact - the car hits you straight on, pushing you back as your shoes burn on the asphalt below, which starts cracking as you slow the car down with your bare hands.<br><br>The car tires are now spinning violently in place, the burning rubber quickly enveloping everything in dense smoke. You feel every horsepower of the large vehicle in your body, and somehow respond in kind: it is as if your muscles respond to the danger and the adrenaline, making you feel stronger than several horses - every individual fiber pumping itself to its very limit… and then beyond. You look at your arms, chest and legs, and seriously feel like a shire would be downright envious of your musculature - it is like they are growing under your very eyes, bulging to ridiculous proportions.<br><br>Soon, the engine loses the duel against your might, and the car just gives up the ghost. As the smoke starts to dissipate, you notice hand-shaped imprints left on the hood of the car…<br><br>At this point, you can hear the police sirens approaching, and figure it’s probably better to use the remaining rubber smoke to make a getaway before you need to explain anything else. But as you run away, you get a fleeting impression that this experience might have somehow boosted your muscles in ways you can’t even comprehend…`
},
{
name: 'StrenghtShowOff_shybodybuilder',
locationTags: ['outOfHouse', 'mall'],
conditions: [
() => State.variables.muscle >= 40,
() => State.variables.shyConfident < 0
],
repeatable: false,
retriggerable: false,
priority: 'response',
npc: [],
content: 'It will take a while for you to get to grips with your new, bigger frame. There’s only so much you can conceal your muscles with clothing at this point, and whenever you go somewhere, you find yourself rushing to avoid the stares.<br><br>You are just minding your own business when a girl comes out of a cake shop, all excited about her cake-in-a-jar. She tries as hard as she can, but the lid won’t come off. Her friend makes fun of her for being a wimp. Eep! You try to skedaddle before…<br><br><<Dialogue "randomPerson" "Random girl">>"Hey, lady, you look pretty strong, do you think you could open this for me?"<</Dialogue>><br><br>You stop, dead in your tracks. Argh! You can’t really say no, can you?<br><br>You take the tiny jar in your oversized hands, and your powerful fingers eclipse the small lid. You try to adapt but…<br><br>CRACK!<br><br>You now have a broken glass container and a bent metal lid, all dipped in cake, over your hands.<br><br><<Dialogue "player" "You">>"Errr… Ummm… I’m sorry?"<</Dialogue>><br><br>The girl starts pouting, and you see yourself out of options. You walk her back into the store, and buy her a new cake.<br><br><<Dialogue "player" "You">>"But, um, could you, please, give me one with the lid off, please?"<</Dialogue>><br><br>The girl thanks you, and you get out of there as soon as possible after paying.'
},
{
name: 'StrenghtShowOff_shypowerlifter',
locationTags: ['outOfHouse', 'mall'],
conditions: [
() => State.variables.muscle >= 60,
() => State.variables.shyConfident < 0
],
repeatable: false,
retriggerable: false,
priority: 'response',
npc: [],
content: 'You continue on your usual route, all shrunk up trying to pretend you are not nearly as big as you obviously are - and failing miserably. Still, as you go around, you keep looking everywhere, concerned that someone might be staring at you.<br><br>On the bright side, this gives you exceptional awareness. Which is why you start getting worried, as you see a crew raising a vertical piano with rope and pulley up to a nearby apartment building. No one else seems to notice, however, that the rope is fraying pretty bad.<br><br>As the team upstairs exerts more and more force on the rope, you see the two employees stabilizing the enormous instrument - one of them apparently a pretty frail old man. You shout, trying to warn them, but they seem too focused on the task to notice.<br><br>You drop everything and just run towards the piano, now barely above head-level. You hear the SNAP as you arrive, and you raise your arms up, grabbing the piano on top of your head.<br><br>Everyone is momentarily frozen with fear, and you can’t really stabilizing the enormous wooden piece with just your hands. Thankfully, the other employees on the ground gather around you, making sure it doesn’t tip either way - but not really taking any weight off your shoulders.<br><br>Your arms are burning, but you controlledly bring the instrument down as you bend your elbow in front of you with enormous effort. Your face is red and you can barely breath… but as you curve your back and bring the piano to chest level, the other workers quickly manage to get a hold of it, and you just fall on your back, exhausted.<br><br>When you come to, the workers are checking on you, concerned. You blush, somehow see fit to apologize, and just run off, as the old guy shouts THANK YOU FOR SAVING MY LIFE.<br><br>You still feel embarrassed… but also very proud.'
},
{
name: 'StrenghtShowOff_shyrecordBreaker',
locationTags: ['outOfHouse', 'mall'],
conditions: [
() => State.variables.muscle >= 80,
() => State.variables.shyConfident < 0
],
repeatable: false,
retriggerable: false,
priority: 'response',
npc: [],
content: '<<Dialogue "randomPerson" "Random girl">>"I TOLD YOU this was a stupid idea!"<</Dialogue>><br><br><<Dialogue "randomPerson" "Random guy">>"Well, did you come up with an alternative? Because I don’t remember you doing so!"<</Dialogue>><br><br>You hear the couple arguing as you pass by. The two and stuck on the fire escape from their old building, a sofa between them on the steps.<<Dialogue "randomPerson" "Random girl">>"Great, now the bread is burning in the oven! How am I going to get back there?"<</Dialogue>><br><br>You feel bad for them, and figure they really need the help.<br><br><<Dialogue "player" "You">>"Hey, are you guys okay?"<</Dialogue>><br><br><<Dialogue "randomPerson" "Random girl">>"Not while we are stuck here with this sofa wedged between the stairs!"<</Dialogue>><br><br>You look at their predicament: they tried to bring their couch down using the fire escape, but got it stuck there, and thus are unable to return to their apartment. You don’t really want to get involved, but it looks like they are in quite a pickle.<br><br><<Dialogue "player" "You">>"Let me see if I can help, hang on!"<</Dialogue>><br><br>You walk towards the end of the raised ladder, and you propel yourself up with a jump that would make a basketball player jealous. You manage to just grab the last rung, and easily lift yourself up.<br><br><<Dialogue "randomPerson" "Random guy">>"Whoa! You just might be able to help us!"<</Dialogue>><br><br>The guy steps out of the way, and you try to grab the sofa - the furniture itself is quite light for you, but they somehow managed to get it REALLY stuck against the metal landing. You position yourself, but every time you apply pressure, you feel like you might just break the sofa. What a predicament!<br><br>Suddenly, one of the neighbors opens another window for them to get in, and they rush back home to check the oven. This gives you some privacy… hmmm…<br><br>You grab the wrought iron edges of the fire escape, and start pushing them apart with all your might. It takes some effort, but you actually accomplish your task, allowing the sofa to continue its traversal down. Hmmm… there might just be enough time…<br><br>You easily bring the sofa down to the first floor, where there’s a door where you assume they wanted it. Since they haven’t come back, you decide it’s time to disappear before they start some questions about your incredible strength…<br><br>'
},
{
name: 'StrenghtShowOff_shysuperHuman',
locationTags: ['outOfHouse', 'mall'],
conditions: [
() => State.variables.muscle >= 90,
() => State.variables.shyConfident < 0
],
repeatable: false,
retriggerable: false,
priority: 'response',
npc: [],
content: 'It’s incredibly windy, and you see awnings and trees shaking wildly. You figure it’s probably not the safest moment to be outside, and you start running towards your destination.<br><br>However, with all the wind, you pass by the town square, where you see the very old, tall tree in its center cracking, and falling down on a car! A terrified woman comes out of the nearby store, shouting ‘My baby!’<br><br>Before you can think, you are next to the car, where you lean your shoulder against the monumental tree. You don’t even stop to think it must weigh literal TONS, you just engage your entire body in raising the enormous trunk.<br><br>Every single muscle in your body seems to be pushed to its limit. The tree just won’t budge AT ALL. But you keep pushing… every fiber of your being is now on fire, as the rain starts to thicken. You grit your teeth, and keep pushing feeling like your entire body might just break with the effort.<br><br>BOOM!<br><br>Suddenly, you just hear a deafening sound, accompanied by a blinding flash of light. Before you fully come back to your senses, you realize you have moved the tree from the top of the car. You see the woman reaching inside the broken window, from where she pulls out a pet carrier, a cat frozen inside with fear, but apparently okay otherwise.<br><br>You decide to escape the place before anyone starts asking questions, wondering why your hair is all frizzed up…'
},
{
name: 'StrenghtShowOff_shybodybuilder2',
locationTags: ['outOfHouse', 'mall'],
conditions: [
() => State.variables.muscle >= 50,
() => State.variables.shyConfident < 0
],
repeatable: false,
retriggerable: false,
priority: 'response',
npc: [],
content: 'Oh, look! A playground! There are some kids playing soccer, and you watch with glee as they have fun with their little improvised match. You find yourself stopping to watch it, sitting on a nearby bench. They seem to be having so much fun!<br><br>Eventually, they kick the ball out of their little improvised court, and it falls by your feet. You get up and kick it back lightly, and the match continues.<br><br>They seem to lose their ball quite often, though, and you keep kicking it back. You feel weirdly included, and increasingly more invested in the game. Eventually, one of the teams starts losing, and you find yourself absolutely riveted. This is better than watching pros on TV! They are so excited and really giving their all.<br><br>You are not even bothering to sit down anymore as you cheer for the kids. And once again, the ball falls by your feet. You are so eager to see them get back, that you just kick it back with all your might…<br><br>The ball just rockets past the playground, tearing a hole through the fence, and into someone’s house, where it cracks their door, splitting the thick wood in half. You feel a chill down your spine…<br><br><<Dialogue "player" "You">>"Sorry, kids, you are on your own to explain that one…"<</Dialogue>><br><br>You whisper to yourself while you resume your itinerary.<br><br>'
},
{
name: 'StrenghtShowOff_shypowerlifter2',
locationTags: ['outOfHouse', 'mall'],
conditions: [
() => State.variables.muscle >= 60,
() => State.variables.shyConfident < 0
],
repeatable: false,
retriggerable: false,
priority: 'response',
npc: [],
content: 'You are still finding new places in this town, and you get excited as you find out there’s this honest-to-God arcade! You step into the neon-colored space, the sounds and lights bringing really good memories of your childhood.<br><br>You inspect the rows of lined machines, and among the more carnival-style attractions, you find some quirky videogames that are a bit more tactile - like a dancing game, a tea-table flipping game, some light gun games and… ohhhh, is that… a punching game?<br><br>You approach the cabinet, which is composed of a punching bag in front of a TV screen. You see a group of rowdy teenagers playing - the screen shows the face of a punk bad guy… the alpha in the group of teens, wearing a sleeveless leather jacket, clearly thinks he is the shit: he punches the padded bag, and the game blinks a very gaudy “29 TON!” red explosion (presumably the potency of the punch received), before revealing the punk antagonist again, with his face all crushed and bloody in a comical way.<br><br>The teen turns around, flexing his wiry arms and feeling really proud of himself, and his friends all cheer on him. This game seems fun, and you consider getting a token to play after they are done.<br><br>You watch as the next challenge is hitting a truck coming toward an old lady. Again, the teen boasts about how strong he is, and he leans back on one foot and twists his torso for a more wound-up punch.<br><br>POW! 32 TON!<br><br>The truck is in tatters, and he advances to the final stage. His friends are whooping and shouting loudly. His last challenge? A comet hurtling towards the Earth! I guess the stakes are really high now! He asks his friends to move over, and he takes a running start… and…<br><br>POW! 36 TON!<br><br>The comet is cracked… but far from defeated. You watch as he starts making excuses, that the machine is broken… and he’s going to complain with the manager. The whole group goes to the reception counter… but you notice that there are two tries left, and a quickly running timer… well, they will never be back on time, it wouldn’t hurt to give it a try, right?<br><br>You step in front of the red punching bag. You conjure your best boxing stance, pulling your right arm and…<br><br>CRASH!<br><br>You shear the entire bag mechanism clean off, metal hinge and all. The screen just flashes a giant error message in front of the 999 TON bubble. You decide not to try the table flipping game, and just get the hell out of there ASAP!'
},
{
name: 'StrenghtShowOff_shyrecord_breaker2',
locationTags: ['outOfHouse', 'mall'],
conditions: [
() => State.variables.muscle >= 70,
() => State.variables.shyConfident < 0
],
repeatable: false,
retriggerable: false,
priority: 'response',
npc: [],
content: 'As you are coming down the street, a major fight breaks out from the bar in front of you. A guy flies out the shattering window, and you cover your face to avoid the glass. Before you know, a whole gang of bikers in leather vests are circling the guy, and you get caught in the mess.<br><br>The poor victim instinctively hides behind your rather sturdy figure, and one of the bikers comes running with a metal baseball bat. You just raise your arms, scared, in self-defense, and he hits you HARD… you feel the pain on your forearms, it’s quite a sting!<br><br>When you lower your arms, however, the biker is quite confused at his dented bat. You check on the guy behind you, and another biker comes up to you with a knife. Scared, you wave your arms nervously and accidentally slap him away, sending him rolling. Uh oh, they seem to be getting pretty mad at you!<br><br>The biggest biker grabs a chain, and starts swinging it over his head as he slowly approaches you. Again, your instincts take over and you raise your arms to defend your face, and the chain just ends up rolling around your forearm. This puts you into a panic, and you find yourself turning around in confusion as you close your eyes.<br><br>Unwillingly, you just start swinging the biker, who made the mistake of also wrapping HIS arm in the chain for stability… and now you are unwillingly knocking the whole circle of bikers, as you spin their leader around like a yoyo.<br><br>Still pretty much unaware of anything that happened, you open your eyes again, only to find a pile of knocked out bikers, as you nervously unfurl the chain from your forearm. The poor guy who was thrown from the window thanks you profusely and gives you $50<<set $money += 50>>.<br><br>You stand there, money in hand, completely confused as to what just happened.'
},
{
name: 'StrenghtShowOff_shysuperHuman2',
locationTags: ['outOfHouse', 'mall'],
conditions: [
() => State.variables.muscle >= 90,
() => State.variables.shyConfident < 0
],
repeatable: false,
retriggerable: false,
priority: 'response',
npc: [],
content: 'You see a crowd of people running towards you in panic. Before you can process, you see what is scaring them: there is a gorilla on the loose! It must have escaped from the nearby zoo!<br><br>Your first instinct is to hide yourself in one of the nearby stores, but you notice that it is now approaching a stroller that got left behind in the chaos. Oh, no! Without even thinking, you find yourself sprinting towards the crying infant.<br><br>The gorilla is ENORMOUS - it might not look very tall because of its posture, but you guess that you are looking at some <<weightConversion 200>> of sheer wild muscle. It looks menacingly at you, and you cower as it approaches. It doesn’t seem to be very aggressive, however, and you look at it with empathy, and it seems to respond in kind…<br><br>But then, someone throws a brick on the gorilla’s head from a nearby window, and it gets MAD! It starts hitting a nearby car, leaving a huge dent on its hood. It sees the stroller again, and it just CHARGES!<br><br>You stand in front of the stroller and defend yourself with your arms. The gorilla just wails at you, and you feel hit after hit, and it hurts more than you would have thought possible, but you endure. But when you think that things could not get any worse, the police arrives, and they start to train their guns against the poor animal!<br><br>Knowing that there is no good ending to this story, you charge the gorilla, and this time he’s the one on the defensive: he raises his hands, and you grab his stretched palms, and the two of you start pushing against each other.<br><br><<Dialogue "player" "You">>"Please, DON’T SHOOT! HE’S INNOCENT!"<</Dialogue>><br><br>The police seem confused, but you have no time to lose - the only thing this gorilla will listen to is dominance - and so you start pouring every ounce of effort into subduing him. You don’t really know how strong gorillas are… but if this is any indication…<br><br>You start just pushing, and the more you do, the more the gorilla fights back. You find yourself tapping into reserves you never knew you had, and your brain can’t quite process exactly what is going on, as if it just turned off limitations you weren’t aware of. The very concept of effort vanishes, and suddenly it feels like you can just conjure as much strength as you need, your entire body pumping to absurd proportions. You could swear your muscles are now bigger than your opponent’s - which is reflected on the expression of terror on the gorilla’s face.<br><br>The animal cowers, running and holing himself inside a nearby dumpster, whimpering with fear. While the cops are utterly confused with what they just witnessed, you run to a nearby alley to catch your breath…<br><br>Sitting down, you can still feel the effects of the adrenaline, your senses feeling much sharper than usual - you can actually hear the cops talking clearly, which seems weird to you. You also feel… weird… almost like an out of body experience… like your physiology had been forced into this extreme state - it all feels denser, stronger, sturdier… weirdly limitless. Your brain just refuses to process that, giving you cognitive dissonance whiplash. It’s as if you could lift a mountain if you wanted… and you are almost afraid to try it out, in case you actually managed.<br><br>You make a mental note NOT to look up how strong gorillas are. You’d really rather not know at this point.'
},
{
name: 'break_furnitureHome',
locationTags: ['home'],
conditions: [
() => State.variables.muscle >= 40,
() => State.variables.minimumExhaustion >= 30
],
repeatable: false,
retriggerable: false,
priority: 'response',
npc: [],
content: 'Phew! That was quite a workout! You slump into your couch, and hear a CRACK!<br><br>Getting up, you put a hand under the piece of furniture, and raise it on its side to inspect the wooden structure under the upholstery - it seems like your mass was a bit too much for the wood, which is now cracked.<br><br>Huh… you remember when you helped carry this very piece of furniture in when you moved. Your fingers hurt and even with someone else helping, it felt like you could barely manage, your arms ached for a while. Now you find yourself just shifting the entire thing with one hand casually, like a toy.<br><br>You always had an awareness of just how strong you’ve gotten lately, but you are still getting constant surprises like this one. Little reminders of the power contained within you, like a car that had its engine replaced - it’s still the same from outside, but capable of oh so much more!<br><br><<if $muscle >= 100>>Well, until I reinforce this, maybe I should move it out of the way. There’s some space behind where you keep your exercise equipment that should do just fine… but I might need to relocate some of the weights first.<br><br>As you start moving the weights around, frustration hits you a bit harder than you expected - you realize it will get expensive quickly if you need to keep fixing stuff like this. You find yourself handling the dumbbells a little too roughly, maybe just a reflex of your habit of using your body building sessions as a way to vent the day’s frustrations…<br><br>But as you drop the reinforced steel dumbbell on its resting place, you have to do a double-take. No way… could it be? You raise the piece of workout equipment, having a hard time believing what you just did - your fingers left an impression on the metal itself!<br><br>You look at your hand: sure, it looks bigger and stronger than ever before… but… deforming metal strong? You check the weight again - yup, steel. There is no more doubt, you’ve officially stepping into superhuman territory, even if just slightly.<br><br>You look at yourself in the mirror. You do look gigantic, but your eyes betray you - it’s also just the same <<print $playerFirstName>> <<print $playerLastName>> your mom used to carry in her arms. The cognitive dissonance makes your head hurt a bit. You laugh, recontextualizing all those times your uncles used to talk about how much you had grown… and wonder what they would say now. Probably nothing like that. You frown as you think they’d probably be scared of you.<br><br>This hits you hard: the realization that you’ve become so strong you need to be careful of what you do. The responsibility that comes with it may just be heavier than the stuff you lift.<br><br><<elseif $muscle >= 80>>You notice there’s a nasty oil stain where the couch was, and you should probably take the opportunity to clean it. You grab a cleaning cloth and run to the sink, frustrated at the thought that maybe you won’t be able to remove this stain, since it was there for so long. As you angrily turn the faucet, however, it bends, breaking clean from the wall - water flying all over the place.<br><br>You rush to the main valve, and close it in a hurry. You send a message to the super, asking for him to fix it, and to not just buy another cheap plastic faucet. He responds quickly… and points out that this is an old building, and all the faucets are made of brass.<br><br>You inspect the broken faucet… it is indeed brass. Holy shit, you knew you were getting strong… but… just how strong? Are we really getting dangerously close to superhuman here? You were frustrated, sure, but you weren’t actively trying to break it… what could you have done if you were purposefully trying?!?<br><br>You feel a tingle in your stomach, a mix of thrill and fear. It’s like having this nuclear power plant inside of you - if properly used, it gives you great power. But it also hides a nasty side, a potential for unmitigated disaster. You ponder how you will handle that… especially given… that you realize you are probably still get even stronger than you already are…” <<elseif $muscle >= 60>>Since it’s not where it used to be, you decide to go ahead and sweep under the couch - there’s quite a bit of dirt there. You grab a broom and start doing a little cleaning. Finding yourself lost in your thoughts, you ponder about being more careful around your furniture - it would be hard to afford constant repairs. But as the sweeping continues, you end up breaking the broom handle clean in the middle.<br><br>You look at the thick wooden handle. Before moving here, you remember chasing a rat at your old house, hitting that very same broom with all your might against the floor, repeatedly. But now, just doing some casual sweeping, you accidentally cleaved it in two parts. Just how strong are you getting?<br><br>There’s a mix of excitement and fear - on one hand, you feel like there’s this ever-expanding potential, waiting to be unleashed from within. You want so very badly to see how strong you could possibly get…<br><br>But… on the other hand… you also realize you can break things, or worse, hurt people. This shadow stands over you, ever present. And as these two facets of your conscience fight, part of you knows that there’s little chance you’ll just stop growing.”<<else>>Well, the crack on the wood isn’t too bad - you think you might just be able to splint it. So you grab a piece of wood, your hammer and some nails, and quickly get to work reinforcing the structure.<br><br>Carpentry, however, was never your specialty. You set the lumber in place, prepare the nail and start hitting… you hammer away, but it doesn’t take long until you’ve broke BOTH pieces of wood.<br><br>Well, I guess I just need to get better wood, right? Frustrated, you just forcefully put the hammer back in its fixed bracket shelf… which breaks right under it. Oops.<br><br>As you inspect the damage, you realize these were metal shelves. And you just cleaved the screws themselves from concrete. And these were some THICK screws. Sure, the shelf itself acted as a lever but… you are getting STRONG. Much stronger than you realized.<br><br>You give your flexed biceps a squeeze. Damn, they feel solid. It’s not just the thickness of the muscle - the sloped contour sure feels nice… but… they are, I don’t know, dense? It’s strangely arousing, realizing that you have this thing inside you growing, becoming better… a vast potential, just waiting to be tapped. It drives you to work harder and harder to figure it out.<br><br>You sit down cross-legged by the flipped couch. You find yourself unable to stop fantasizing about getting stronger and stronger. Why have you gone in this rabbit hole, you wonder, as you easily turn the couch back to its original position.<</if>>'
},
{
name: 'StrenghtShowOff_shysuperHuman2',
locationTags: ['outOfHouse', 'mall'],
conditions: [
() => State.variables.muscle >= 90,
() => State.variables.shyConfident < 0
],
repeatable: false,
retriggerable: false,
priority: 'response',
npc: [],
content: ''
},
{
name: 'breast_talk_strangers',
locationTags: ['outOfHouse', 'mall'],
conditions: [
() => State.variables.breasts < 30,
],
repeatable: false,
retriggerable: false,
priority: 'response',
npc: [],
content: 'Ah! Another really nice day! You walk idly by the sidewalk, enjoying the warm rays of the sun as you reach the pedestrian crosswalk by the bus stop, and find yourself stretching while giving the biggest and most relaxed yawn in recorded history. As you do, your ears catch a conversation from two people sitting on the public bench, waiting for their bus.<br><br><<Dialogue "randomPerson" "Random guy">>"They say thick thighs save lives… but what are your thoughts on tiny tits?"<</Dialogue>><br><br><<Dialogue "randomPerson" "Random guy">>"Thick thighs ARE delicious, but man, I like my breasts like my online RPGs - MASSIVE!"<</Dialogue>><br><br>The two laugh, as you find yourself unconsciously lowering your arms from their stretched position, crossing in front of your chest.<br><br><<Dialogue "randomPerson" "Random guy">>"Well, I saw this one on the Internet - big titties fill a man’s hand, but small titties fill a man’s heart! And I have to say, I kinda agree! I like them compact, pert and natural!"<</Dialogue>><br><br><<Dialogue "randomPerson" "Random guy">>"Not ALL big titties are fake, though. But I agree, I don’t like that silicone look either - but man, sometimes I just want dig my face in some mammaries and blow a raspberry, you know what I mean?"<</Dialogue>><br><br><<Dialogue "randomPerson" "Random guy">>"Oh, totally, I mean, to each his own, really. The one downside of tiny breasts is, well… I hear titty fucking is awesome! Can’t really do that unless they have some… you know… heft."<</Dialogue>><br><br>Part of you feel like you should be offended or insulted, but they appear to not even have noticed you - they are just having their own conversation about their preferences… and you can’t exactly judge them - there are a few things that turn you on physically, and it’s not like you never discussed that with others. Still… you cup your rather tiny breasts, and can’t help but wonder how things would be different if they were… heftier.<br><br><<Dialogue "randomPerson" "Random guy">>"Oh, nothing against the smaller ones, but I found videos of an old TV show about lifeguards - and they had a bunch of slow-motion running shots in swimwear… dude, that jiggling was next-level. Heaven must be something like that!"<</Dialogue>><br><br><<Dialogue "randomPerson" "Random guy">>"Let’s face it: all breasts are awesome. And each type has their ups and downs - but… that’s all a moot point unless we can get some, am I right?"<</Dialogue>><br><br><<Dialogue "randomPerson" "Random guy">>"Preach, brother!"<</Dialogue>><br><br>The bus arrives, and the pair boards, continuing their conversation. Even though the light turns green for pedestrians, you stay there, lightly fondling your breasts in a hazy state of consciousness. What if…<<set $breastsTalkFollowUp to true>>'
},
{
name: 'breast_talk_strangers_followup',
locationTags: ['outOfHouse', 'mall'],
conditions: [
() => State.variables.breasts > 40,
() => State.variables.breastsTalkFollowUp
],
repeatable: false,
retriggerable: false,
priority: 'response',
npc: [],
content: 'As you approach the bus stop, you see a familiar pair of faces on the bench - it’s those two guys who were talking about breasts the other day. They are both looking at a sports magazine swimsuit edition. It would seem that their infatuation with mammaries is not a passing fad, as they hold the pages between the two of them and do some running commentary on the athletes.<br><br><<Dialogue "randomPerson" "Random guy">>"I mean, look at her. She’s a swimmer, and she’s kinda lean, but her breasts are still awesome on that frame - pity their regular swimsuits squish them so much."<</Dialogue>><br><br><<Dialogue "randomPerson" "Random guy">>"I mean, sure, but those swimmer, track & field and gymnastics athletes don’t cut it for me, I need something bigger - check that MMA fighter there, even in that sports bra… WOOF! I’d get in the ring with her, if you know what I mean!"<</Dialogue>><br><br><<if $shyConfident > 1>> Feeling a bit cheeky, you decide to chime in this time. You lean down behind them, your breasts literally covering the entire magazine as you add your two cents.<br><br> <<Dialogue "player" "You">>"I dunno, dude, the thing is, when you have to run or jump with big breasts, you better have a pretty good sports bra, because it can HURT when they bounce too much…"<</Dialogue>><br><br> The pair jumps in place, the 3D addition to their female ogling catching them completely by surprise as they are presented with a very real deal they just did not expect.<br><br> <<if $muscle >= 45>> <<Dialogue "player" "You">>"Also, you say you’d get in the ring with her… but I kinda feel like you’d get pinned in a second unless you had some guns like…"<</Dialogue>><br><br> You wrap your arm around his shoulder and give a thigh squeeze, revealing the full girth of your upper arms, which makes him gasp for air… and his friend from the shock of your strong muscle.<br><br> <<Dialogue "player" "You">>"... these guns. And I gotta say, these muscles come with some breast-related perks, too! How many girls do you know that can do… THIS?"<</Dialogue>><br><br> You start bouncing your massive mammaries with the help of your powerful pectorals. The two undulating orbs tap against the pages of the magazine, and the duo is utterly frozen at your brash display of power and mass. <</if>><<else>> <<Dialogue "player" "You">>"Ahem!"<</Dialogue>><br><br> You clear your throat, catching their attention. They turn around to see you… <<if $breasts >= 75>>and both their jaws fall as they are faced with your massive mammaries.<br><br> <<Dialogue "player" "You">>"Say, you guys seem to know your breasts… how do I stack? No pun intended…"<</Dialogue>><br><br> Still somewhat frozen in place, the pair is having a hard time properly wrapping their heads around your new dimensions. You shyly put your arms behind your back, which only helps to further emphasize your assets.<br><br> <<Dialogue "randomPerson" "Random guy">>"HOLY BREASTAROLY, RATMAN! Girl, they might just have to redefine STACKED on the dictionary, because you just introduced a whole new meaning to the word!"<</Dialogue>><br><br> The first one says, licking his lips to avoid drooling. His friend, who earlier revealed himself to prefer his breasts on the smaller side, adds:<br><br> <<Dialogue "randomPerson" "Random guy">>"Uh, wow…? I sincerely did not know they came in this kind of size. Seriously, is your bra made of reinforced steel or something? I mean, not disparaging you or anything, but I assume your must have a pretty strong back to even stand up straight with those…"<</Dialogue>><br><br> <<elseif $breasts >=45>>and both gasp as they are faced with your bountiful breasts.<br><br> <<Dialogue "player" "You">>"Say, you guys seem to know your breasts… how do I stack? No pun intended…"<</Dialogue>><br><br> <<Dialogue "randomPerson" "Random guy">>"You… you could smother me in those and I’d die a happy man!"<</Dialogue>><br><br> The first one says, slightly drooling. His friend, who earlier revealed himself to prefer his breasts on the smaller side, adds:<br><br> <<Dialogue "randomPerson" "Random guy">>"I… uh… might have to revise my preferences a bit. Uh… you… look nice, lady."<</Dialogue>><br><br> <<else>><br><br>and they can’t help but stare at your charitable chest.<br><br> <<Dialogue "player" "You">>"Say, you guys seem to know your breasts… how do I stack? No pun intended…"<</Dialogue>><br><br> <<Dialogue "randomPerson" "Random guy">>"Are you kidding? I mean, you asked so… I gotta tell you, you score a 10 outta 10 in my book!"<</Dialogue>><br><br> The first one says, clearly aroused by your sweater puppies. His friend, who earlier revealed himself to prefer his breasts on the smaller side, adds:<br><br> <<Dialogue "randomPerson" "Random guy">>"Well, I always thought I preferred smaller breasts… I am kinda reconsidering right now."<</Dialogue>><br><br> <</if>> <<Dialogue "player" "You">>"So… would you say they look alright?"<</Dialogue>><br><br> <<Dialogue "randomPerson" "Random guy">>"ALRIGHT?!? I feel like I need to slap some sense into you, woman! Your chest is a FORCE OF NATURE! Someone call the Bureau of Grand National Treasure, we need to register your titties as the newest American national treasure!"<</Dialogue>><br><br> You blush and smile, crossing your legs as you lower your head from the compliment.<br><br> <<Dialogue "randomPerson" "Random guy">>"I can’t deny that - they are big and plump, but clearly natural - none of that fake implant look. I am afraid of adding anything else without sounding inappropriate so…"<</Dialogue>><br><br><</if>>You give both of them a peck on the forehead, as you add:<br><br><<Dialogue "player" "You">>"Well, you two just made this girl’s whole day! Thanks for the feedback, it’s nice to get some validation from… errrr… specialists!"<</Dialogue>><br><br>You wave and smile as you leave. Their bus stops and goes, and they are still too dazed to even notice.'
},
{
name: 'futa_comment',
locationTags: ['outOfHouse', 'mall'],
conditions: [
() => State.variables.dick >= 7
],
repeatable: false,
retriggerable: false,
priority: 'response',
npc: [],
content: 'As you walk down the street, you find yourself having to adjust your <<print $outfit.underwear().name>> - it will probably take a little bit to get used to the new tool you are carrying under your belt (heh!). You never quite thought how hard it is to handle that discreetly, which has increased your respect for all phallus-enabled people out there.<br><br>And as if to prove your point, you notice a pair of people taking notice to your little exercise in nesting your junk.<br><br><<Dialogue "randomPerson" "Random guy">>"Dang, that girl is packing, you saw that?"<</Dialogue>><br><br><<Dialogue "randomPerson" "Random guy">>"Uh, kinda hard not to…"<</Dialogue>><br><br><<if $muscle >= 40 >>You give a forced yawn with a very gratuitous biceps flex, just to test the waters and see if they are perhaps referring to your OTHER pipes - since you clearly aren’t carrying any firearms, and that sort of narrows down the list of what “packing” could be referring to. But the pair seems to not even notice your toned arms.<</if>> They are still trying to discreetly look at your crotch, while they get a soda on a nearby vending machine, unaware that you are on to their little conversation.<br><br><<if $muscle >= 50>><<Dialogue "randomPerson" "Random guy">>"You think that might be a big clit from taking steroids or something?"<</Dialogue>><br><br><<Dialogue "randomPerson" "Random guy">>"Are you kidding me? That third leg is making me legit jealous - I WISH I was hung like that!"<</Dialogue>><br><br><</if>>You’d never thought this day would come, but here we are. Who would’ve thought that you’d be proud of your penis someday? You catch yourself fantasizing about it, and it’s kinda hot and… uh oh… your hardened nipples act as an early warning system for the other tumescent organ - and soon your bulge is promoted to a full-on tent event on your <<print $outfit.bottom().name>>.<br><br><<if $shyConfident > 1>> You start giggling from this surreal situation, as you notice that your two admirers are growing red in the face as their eyes bug out. You squirm and try to rearrange your position not to make things overly indecent… <<if $tempDickErect > 15 || $tempDickGirth >= 15>>That quickly proves to be a lost cause, however, as you indeed it would seem like you have a proverbial gun in your pocket - and apparently you are VERY happy to see it.<</if>><br><br> While you have no issues with people knowing how well endowed you are, you still want to respect some boundaries of decency, and find yourself trying to casually find ANY position to mitigate the little show while you wait for the situation to disarm itself.<br><br> <<else>> You flip out as your tool extends in ways you cannot seem to hide, no matter what you do. You squirm and adjust and change your posture, but it feels like the more you move, the bigger the bulge becomes. Why didn’t you bring a purse or some groceries or a backpack or… ANYTHING?!? You turn around to face the wall, as if you were inspecting the painting on the building intently, but other than looking very silly, all you accomplish is rubbing the tip of your penis against the rough surface, which only arouses you more! Damn, the head on that thing is SENSITIVE!!! You bite your lips as you try to force your dick down with your hands, which only serves to redirect the way it is pointing, but doesn’t make it any more discreet.<br><br> You suddenly start getting a lot more sympathetic for the plight of other phallus-wielders, as you hit your head against the wall in frustration while you wait for this situation to disarm itself.<</if>><<Dialogue "randomPerson" "Random guy">>"You know, that was hotter than I expected…"<</Dialogue>><br><br>You hear the man saying as he passes by, taking a sip from his can. I mean… MAYBE he was talking about his drink?'
},
{
name: 'player_tongue_icecream',
locationTags: ['outOfHouse', 'mall', 'park'],
conditions: [
() => State.variables.tongue >= 4
],
repeatable: false,
retriggerable: false,
priority: 'response',
npc: [],
content: 'Boy, it is HOT today! And luck is apparently on your side as you see a cart selling ice cream and popsicles on the sidewalk! You lean over the cart, anxiously perusing the printed menu - there’s a lot of options, and you find yourself salivating just thinking about some of those.<br><br>You end up settling for a coconut ice cream with pineapple chunks - and once you pay for it, the guy serves you an EXTREMELY generous heap of the icy delight over a nice and crunchy cone. You find yourself a public bench and decide to go to town before this melts.<br><br>Sitting down, you eye the bulky cream hungrily, trying to come up with a strategy. But it looks too good, and you just start licking every corner of it. Ohhhhhhh, it’s so creamy and milky, the coconut flavor subtle but amazing. You find yourself closing your eyes, and letting your tongue go wild. And without even realizing, you put your enhanced appendage to work - you bend your head, letting the snaking muscle envelope the big ball of ice cream, slipping and sliding sideways as it melts and absorbs the treat.<br><br>Your tongue makes continuous scooping movements across the sweet surface, basking in its cold temperature. Every now and then it dislodges a piece of pineapple, and your skilled prehensile tongue grabs it and slides it down your throat. You are so entranced by this orgasmic culinary experience that you don’t even notice the dribbles of white cream on the corners of your face, leaving sticky droplets all over your <<print $outfit.top().name>>.<br><br>Feeling especially gluttonous, you start just shoving the entire phallic-shaped leftover from your lingual exploration into your mouth, sucking into the delicious ice cream. A hot summer day could not get any better than this, you tell yourself, as you repeatedly move your lips letting the ice cream up and down into your mouth, growing smaller and smaller as you hungrily suck it into nothingness.<br><br>Done with the cold part, you start nibbling into the cone, only to notice that your milky-smeared face is being watched by quite a few passersby, who were apparently watching with a mix of horror and arousal your little cream-sucking experience. <<if $shyConfident > 1>>You shove the last part of the cone whole into your mouth, chewing gladly, before proceeding to use your long tongue to completely clean the entirety of your face in a stunning display. Even more stares, which is just amusing to you.<br><br><<else>>You blush, realizing what this little exercise in dessert consumption must have looked like - I mean, it was GOOD, but not… well… sexual pleasuring good as it must have looked, as you rethink about what you just did. You get up, and start walking with the cone pressed hard against your breasts, your posture all shrunk up as you nibble the dough little by little and try to distract yourself from thinking about the spectacle you just put for these strangers.<br><br><</if>>Man, you never realized how useful a long tongue was for ice cream, though.'
},
{
name: 'height-shelves',
locationTags: ['mall'],
conditions: [
() => State.variables.height <= 160
],
repeatable: false,
retriggerable: false,
priority: 'response',
npc: [],
content: 'You browse the store as usual, until an item on one of the upper shelves catches your attention. You walk up to it… get on the tips of your toes… stretch your hand all the way up… ugh, it’s your old nemesis, Mr. Tall Shelf. No matter how much you stretch, it’s JUST out of your reach - ack! Be careful, or you might just pull a muscle! You stand back, crossing your arms and sighing with frustration. Out of nowhere, however, an arm comes over your head…<br><br><<Dialogue "randomPerson" "Random guy">>"Need a little help?"<</Dialogue>><br><br>An average-sized guy grabs the item, and hands it to you for further inspection. He smiles and nods politely, going on his merry way. You know deep inside he was just trying to be nice - he didn’t even make a single comment about your height (well, other than using the word “little”, which was most probably unintentional), and yet… you feel disappointed with your diminutive stature. Why is the world all set up for average-height people?<br><br>Realizing just how stupid your line of thought is, you turn your attention back to the item now in your hands - only to realize it is NOT what you thought it was, since you could not see it so well from down here… and now you gotta put it back. Argh!<br><br>You once again stretch yourself, trying futilely to return the package to its original home, and eventually just flick it back up there, falling on its side haphazardly on the shelf. Good enough, I guess…<br><br>Ah, if only you were a bit taller. Heck, screw that, if only you were like SUPER TALL… you’d show that shelf who’s the boss…<<set $heightFollowUpEvent to true>>'
},
{
name: 'height-shelves_followup',
locationTags: ['mall'],
conditions: [
() => State.variables.height >= 200,
() => State.variables.heightFollowUpEvent
],
repeatable: false,
retriggerable: false,
priority: 'response',
npc: [],
content: 'It’s time for some shopping, and you are eager to check what is in stock! And as you browse, you peruse each product calmly until you are interrupted by an apologetic employee, explaining he’ll have to go back to get a ladder to reach an item that is resting on a storage shelf close to the ceiling. The client seems to be in a bit of a hurry…<br><br>Wait, that face looks somewhat familiar. Oh yeah, it’s that guy that previously helped you get the box on the shelf you couldn’t reach. But it took a little bit to recognize him, because he’s now considerably shorter than you! I guess it’s time to return the favor!<br><br><<if $shyConfident > 0 && $muscle >= 50>>Well, I guess there’s no time to lose, then! You grab the guy by the armpit and, just as casually as he reached for the box for you a few days ago, raise him up to the very high shelf. He panics for an instant, and then, as he realizes you are just trying to help, he gets his box - still hyperventilating a bit - and you put him down.<br><br>He stares at you, almost forgetting the package in his hand, as his brain tries to process what happened. <<else>>Just as casually as he helped you some days ago, you go over him and reach up to the absurdly high shelf. As your shadow covers him, he jumps in fear - can you blame him, though? It’s not everyday that you find yourself under someone who can reach a shelf that is <<if $measurementSystem == "metric">>two and a half meters<<else>>eight feet<</if>> high. You give him the box, and he just freezes, package in hand. <</if>>As he confusedly looks at your impossibly taller figure, the store clerk comes back with the ladder, equally befuddled at what he sees.<br><br><<Dialogue "player" "You">>"Oh, no worries, I’m just returning a little favor…"<</Dialogue>><br><br>You smile, but you apparently just left both of them speechless. Well, you still got your own shopping to do so without saying another word, you walk away, slightly bending your neck to avoid hitting your head against the light fixture.'
},
{
name: 'StreetMuscleComment',
locationTags: ['outOfHouse'],
conditions: [
() => State.variables.muscle <= 30
],
repeatable: false,
retriggerable: false,
priority: 'response',
npc: [],
content: 'You are strolling by the streets of this calm town, when you spot two guys having a passionate debate. Their enthusiasm catches your attention, and you end up eavesdropping on their talk.<br><br><<Dialogue "randomPerson" "Random guy">>"I mean, seriously, girl abs, man, just abs. I could lick them all day, no matter how sweaty they were!"<</Dialogue>><br><br><<Dialogue "randomPerson" "Random guy">>"Yeah, this TekTok app is a godsend! I can just scroll through videos of buff women flexing all day long. Heck, I even started a trend about showing muscular backs and, before I knew it, it was RAINING videos of strong women flexing all day, every day!"<</Dialogue>><br><br>The pair seems rather excited about the prospect of fit females. From the general disposition, it seems like they’ve been going at this topic for a bit already.<br><br><<Dialogue "randomPerson" "Random guy">>"Even then, they still surprise me - I follow this girl, she’s like tall and pretty muscular, she started doing some videos showing her quads from below - dude, I almost exploded right there and then."<</Dialogue>><br><br><<Dialogue "randomPerson" "Random guy">>"I went ahead and got myself a gym membership, I’m going there and doing cardio and weights everyday - just to check out the chicks. It’s better than a dating app! There’s this redhead I saw, bro, you would NOT believe her bubble ass. I think I’m going to make my move soon, see if she wants to go out for coffee. Seriously!"<</Dialogue>><br><br>You put a hand on your own tush. It’s kinda flat and a bit squishy. You feel very self conscious as you hear him describing the woman from the gym.<br><br><<Dialogue "randomPerson" "Random guy">>"Not even joking, I get horny just thinking about getting beaten up by a strong woman. It’s that serious."<</Dialogue>><br><br><<Dialogue "randomPerson" "Random guy">>"Yeah, I mentioned that online, and some guy suggested this anime with a muscular chick… I kept freeze-framing on this moment she flexed her arms… I never thought biceps could be hot, but now it gets me going just nice a nice ass or some great boobs!"<</Dialogue>><br><br>Again, you find yourself putting your hand on your upper arm, your fingers squeezing the small, soft circumference. Nothing, zip, zilch, nada! You try raising your arm up and making a muscle, but you can’t even see a difference. You poke, hoping to find SOME firmness… and it is just depressing. You are pretty sure there must be SOME muscle there, because your arm moves and bends… but you really can’t even fathom WHERE it is.<br><br>Frowning, you watch the guys continue their heated discussion, and you proceed on your way, feeling defeated. Maybe you need to get serious about working out…<<set $muscleChatRandoms to true>>'
},
{
name: 'StreetMuscleCommentFollowUp',
locationTags: ['outOfHouse'],
conditions: [
() => State.variables.muscle >= 50,
() => State.variables.muscleChatRandoms
],
repeatable: false,
retriggerable: false,
priority: 'response',
npc: [],
content: 'As you pass by the sidewalk, you see a familiar pair of faces staring at their cellphone: it’s those two guys who were talking about buff women on TekTok some days ago. You smirk, feeling very thankful for the fire they lit up and… well… apparently has been bearing some fruit - very FIRM fruits, you think, as you give your upper arm a squeeze.<br><br><<Dialogue "randomPerson" "Random guy">>"Did you see the latest gymtok thread? It’s girls checking how many chin ups they can do. Man, I see some of them just going up and down, their entire body completely stiff, their backs absolutely RIPPED! It is driving me NUTS!"<</Dialogue>><br><br><<Dialogue "randomPerson" "Random guy">>"I KNOW, RIGHT?!?"<</Dialogue>><br><br>You do feel somewhat indebted to them, as they seem to have helped stoke this fire that has brought you some serious gains. The question is… should you reward them?<br><br><span id="choice"><<link "I dunno, I don’t want to come across conceited… but I appreciate their taste">><<replace "#choice">>You approach them from behind and, over their shoulders, watch the video of a very fit girl doing a bunch of chin-ups, it is indeed kinda hot.<br><br><<Dialogue "player" "You">>"Damn, that IS hot… so glad she’s wearing that backless top!"<</Dialogue>><br><br>The two guys get startled, not expecting a third wheel on their impromptu online female muscle appreciation. They are even MORE startled as they turn around to find a statuesque fit girl behind them. <br><br><<if $muscle >=80>>Nothing could have properly prepared them for the MAMMOTH BEAST that you are, however, as you are far beyond anything they thought possible in the muscles department, male or female. With their respective jaws down, they can’t even get a full word out, let alone a sentence.<br><br><<Dialogue "player" "You">>"I’m so glad I’m not alone in appreciating a muscular woman! I never knew guys could be into strong girls…"<</Dialogue>><br><br>You place your arm across your chest and give a small, humble flex, making your gigantic pythons flare with immense mass - round rock-hard globes merge from your capped shoulder into your biceps, with veins prominently showcased in what would seem like an impossible showcase of muscles and strength. Four eyes are immediately drawn to your demonstration, and one of the guys makes a weird, throaty noise as he tries to unsuccessfully breath with a constricted airway from the shock.<br><br><<Dialogue "player" "You">>"You know, I really got into working out once I saw all the praise you had for muscle girls - I feel like I kinda owe it to you. Your passion was a great incentive, and really got me going!"<</Dialogue>><br><br>The comment seems to break their minds even more. One of them manages to get a few words out.<br><br><<Dialogue "randomPerson" "Random guy">>"Wait… that wasn’t that long ago… how long have you been… working out?"<</Dialogue>><br><br>You make some quick mental calculation and tell them how many weeks since you started. Their eyes somehow find a way to open even wider. One of them looks around, looking for a hidden camera or some other explanation that might help make sense of this insanity.<br><br><<elseif $muscle >=60>>You aren’t sure what they expected to find behind them, but a bodybuilder-sized young woman was NOT it, clearly, as they let out a nervous laughter.<br><br><<Dialogue "randomPerson" "Random guy">>"HOLY SHIT, YOU ARE JACKED!"<</Dialogue>><br><br>He quickly covers his mouth, realizing he said that out loud. You giggle, and raise your arm in a shy and cute little flex as you smile.<br><br><<Dialogue "player" "You">>"Yeah, I guess I got pretty strong! I was actually motivated by a conversation you guys had some days ago - really got me into the whole lifting thing!"<</Dialogue>><br><br>The other guy raises his hand towards your biceps, but stops in his tracks, still mesmerized.<br><br><<Dialogue "player" "You">>"Oh, you wanna cop a feel? I guess you can’t do that on TekTok… go ahead!"<</Dialogue>><br><br>The guy looks at your eyes, then your arm, then back to your face. He seems confused and pretty intimidated, so you nod to reinforce that it’s okay. His hand finishes its intended course, landing over your big and hard round biceps. His neck shifts forward and his jaw drops and he gives your granite-like biceps a tight squeeze, finding no give whatsoever - unable to even cover the top half of your arm with his fingers.<br><br><<Dialogue "randomPerson" "Random guy">>"Dang! I never thought muscle would be this firm!"<</Dialogue>><br><br><<Dialogue "player" "You">>"I really gotta thank you guys - I might still be a stick girl if you guys hadn’t lit this fire on me. So… thanks!"<</Dialogue>><br><br>You give them a cute wink. One of them pinches his arm, because he’s pretty sure he must be dreaming.<br><br><<elseif $muscle >=40>>They probably expected anything but to find another girl just as jacked as the one doing the chin-ups on their screen - which is made immediately clear by their expression of shock.<<Dialogue "randomPerson" "Random guy">>"Whoa! Babe alert!"<</Dialogue>><br><br>The pair just scan you, top to bottom, realizing you look just like the fitness-competitor level women they’ve been ogling online all along - except right there in front of them… actually TALKING TO THEM! The surprise seems to have gotten them somewhat discombobulated.<br><br>You tilt your head, somewhat confused at their reaction. They seem to continue to admire your hard work, their eyes continuously following your meaty legs, your toned arms, your capped shoulders and your protruding abs. You’d think that for two guys who appreciate fit women, they wouldn’t find it so amazing…?<br><br><<Dialogue "randomPerson" "Random guy">>"Whoa! Do you have a TekTok account?"<</Dialogue>><br><br><<if $furniture.includes("web cam")>><<Dialogue "player" "You">>"No, but I do some streaming every now and then… I suppose I have some fans of my physique there…"<</Dialogue>><br><br>You find yourself giving them a brief flex of your biceps almost instinctively, and they both wolf-whistle simultaneously. You giggle, not quite used to real-life compliments like this - it’s usually just the chat going a bit wild.<br><br><<else>><<Dialogue "player" "You">>"No, but I’ve been thinking about getting a webcam and doing some streaming… maybe something with a fitness theme going? I don’t know…"<</Dialogue>><br><br>Both of them shout simultaneously: “YES, PLEASE DO!” It makes you giggle.<</if>>They promise to keep an eye out for you online, and you decide you should thank them:<br><br><<Dialogue "player" "You">>"You know, I started my fitness journey because I overheard the passion with you two were talking about muscular girls some days ago. So… thank you two, for setting me on this path!"<</Dialogue>><br><br>They both look at each other, incredulously, as they bow and thank you back for your effort. That was surprisingly cute!<br><br><<else>>The two were not expecting to be approached by a girl during their… ahem… private discussion… so they are momentarily stunned, before fully appreciating that you are actually quite fit. Maybe not as big as some of the girls they stalk online - but it is clear to them that you work out.<br><br><<Dialogue "randomPerson" "Random guy">>"Oh, hey! Not looking to shabby yourself, girl! Bet you work out too, huh?"<</Dialogue>><br><br><<Dialogue "player" "You">>"Oh, you can tell…?"<</Dialogue>><br><br>You shrug in a cute girly way, then playfully flex your biceps. Neither of them expect the nice little bump that jumps out from your upper arm to be so salient.<br><br><<Dialogue "randomPerson" "Random guy">>"DANG!"<</Dialogue>><br><br><<Dialogue "player" "You">>"Actually, I have you two to blame for that… I overheard you talking some days ago… and I guess I got bit by the fitness bug! It’s actually pretty cool, I keep surprising myself at how strong I’m getting!"<</Dialogue>><br><br>You give your quads a slap, making a loud clapping noise as your hand meets the firm resistance of your thighs. They shudder a bit, clearly aroused by your little display there.<br><br><<Dialogue "randomPerson" "Random guy">>"Uh, you… you certainly look it!"<</Dialogue>><br><br><<Dialogue "player" "You">>"I know, right? And this is just from a few days - can you imagine how buff I’m gonna get by the end of the summer?"<</Dialogue>><br><br>You hear them audibly gulping as they nod in awe.<br><br> <<Dialogue "player" "You">>"Really, this is like, super-exciting… and I really do think I’m stronger than I look, even! I bet I could squat one of you right now, if I wanted!"<</Dialogue>><br><br>One of them chokes at that comment, and you laugh. The other asks if you really are serious about that.<br><br><<Dialogue "player" "You">>"Sure, you don’t look THAT heavy! Jump up!"<</Dialogue>><br><br>You turn around, giving the dude a piggyback. You estimate him to be like 130 pounds… so you proceed to pull some nice squats, and you can feel his heart beating faster against your chest… you could easily get used to that. You put the guy down, and he’s speechless.<br><br><<Dialogue "randomPerson" "Random guy">>"Fuck! I totally should have filmed that!"<</Dialogue>><br><br>You laugh at the comment, but both of them look dead serious about it.<br><br><<Dialogue "player" "You">>"Oh, give me some time! Maybe next time I stumble on you I might be able to bench press you - or maybe squat both of you! I’ll make that my next goal!"<</Dialogue>><br><br>You complete that with a wink, and you could swear they might’ve just climaxed from that comment alone.<br><br><</if>>Well, as it turns out, they really did motivate you… and just the thought of more people sharing this passion only makes the ember inside you burn brighter. You wonder how buff you’ll get in the future, and remind yourself that this is still just the beginning of your journey!<<link "Continue" $currentScene>><</link>><</replace>><</link>><<PersonalityCheck $shyConfident >= 1 "How about just showing off a bit?">><<replace "#choice">>You approach them from behind and clear your throat. They turn, not quite ready for what is expecting them.<br><br><<if $muscle >= 80>>They start by your feet, and start tracking their heads up. Their jaws drop at your calves; They gasp at your thighs; Hyperventilation begins at your abs; There is slight shaking as they take in your arms and pecs… and finally freeze completely when they see your face.<br><br><<Dialogue "player" "You">>"So I heard the two of you appreciate a strong girl?"<</Dialogue>><br><br>You grab both by their belts, and lift each with one arm off the ground with relative ease.<br><br><<Dialogue "player" "You">>"Do I qualify? Or should I go back to the gym?"<</Dialogue>><br><br>They wobble and shake, and you put them down before someone gets hurt. They are still shaking, partly due to the scare of being easily hoisted from the ground, part from just trying to wrap their brains around your enormous muscularity.<br><br><<Dialogue "player" "You">>"Can I interest you… in a little show? I feel I owe you one…"<</Dialogue>><br><br>You go in a most muscular pose, and their eyes almost pop out of their respective skulls. You do a double-biceps for good measure, and encourage them to cop a feel.<br><br><<Dialogue "player" "You">>"Come on, you should check how hard these arms are - they could use a little appreciation!"<</Dialogue>><br><br>Each one of them goes for a different arm, and both are in equal disbelief in their incapacity to even envelope a fraction of your upper arm in their hands. They squeeze with all their might, but you just force your flex that tiny bit more and they almost flip out at the sheer durability of your flesh - they can’t even make any dent.<br><br><<Dialogue "player" "You">>"I mean, you already figured out I’m kinda strong… but I’m pretty sturdy too… here… punch me!"<</Dialogue>><br><br>You raise your <<print $outfit.top()?.name || $outfit.overwear()?.name>>, revealing your fully flexed cobblestone abs. One of them almost chokes.<br><br><<Dialogue "player" "You">>"Come on, give it your best shot! I really wanna see if my training is paying off!"<</Dialogue>><br><br>They look at each other, trying to figure out how to proceed. The one who is more fit takes a deep breath and looks you in the eyes for confirmation. You nod, and he gives a very solid punch, which makes a muffled noise. You barely feel it, really… but… oh, poor guy… it looks like he might have hurt his hand a bit.<br><br><<Dialogue "player" "You">>"Oh, I’m sorry… I must have gotten a bit carried away… I was just excited to share… because I started getting serious on my workouts after I heard you two talking about how much you dig muscular girls."<</Dialogue>><br><br><<Dialogue "randomPerson" "Random guy">>"Wait, but that wasn’t really that long ago… you just started then?!?"<</Dialogue>><br><br><<Dialogue "player" "You">>"Yeah, and I’m planning to keep going, though it’s getting easier and I’m getting more practice, so I expect my gains could actually start coming in faster… I wonder how strong I’ll be by the end of the summer!"<</Dialogue>><br><br>The two fall to their knees, jaws agape. You might just have exploded their brains a bit. They both crawl to your feet and repeat they are not worthy. You laugh, and pull them up by their collars.<br><br><<elseif $muscle >= 60>>They find themselves in the presence of a veritable female bodybuilder, which is probably more than they were used to online - let alone in person. You let a sly smile out, and just give them a double-biceps pose with little fanfare. They watch as the peaks of your arms just keep going up… and up… and up… until you got a veritable mountain of muscle for show.<br><br><<Dialogue "player" "You">>"Is it true that you two appreciate a strong girl?"<</Dialogue>><br><br>You proceed into a most muscular pose, then reveal your legs with a flex of your thighs and calves.<br><br><<Dialogue "player" "You">>"I’ve been working hard on my physique since I heard you two talking about how hot you thought muscular women are… and I can’t deny - the results seem to confirm that, wouldn’t you say?"<</Dialogue>><br><br>You might have blown their minds a bit too much, they seem momentarily unable to respond. You decide a quick peek of your abs may be in order, and you reveal your midriff. It jolts the two awake almost immediately.<br><br><<Dialogue "randomPerson" "Random guy">>"HOLY SHIT, YOU’RE HOT!"<</Dialogue>><br><br>You giggle at his abrupt comment, which you assume left his lips before his brain realized he should use his internal voice.<br><br><<Dialogue "player" "You">>"Yeah, I suppose this muscle does look nice on me. I really gotta thank you, not sure I would\'ve worked quite as hard… you know… before hearing you two discuss how you thought it looked hot."<</Dialogue>><br><br><<Dialogue "randomPerson" "Random guy">>"Wait, but that wasn’t really that long ago… you just started then ? !? "<</Dialogue>><br><br><<Dialogue "player" "You">>"Yeah, and I’m planning to keep going, though it’s getting easier and I’m getting more practice, so I expect my gains could actually start coming in faster… I wonder how strong I’ll be by the end of the summer!"<</Dialogue>><br><br>You are not sure if they are turned on or just scared. You give them both a tight hug, lifting them off the ground.<br><br><<elseif $muscle >= 40>>You smirk, and ask:<br><br><<Dialogue "player" "You">>"Excuse me, which way… TO THE GUN SHOW ? "<</Dialogue>><br><br>You give them a nice double-biceps flex, pointing your fingers to one side then the other, making your muscles twitch and roll on your arms - like you had a weasel running inside them. One of the guys coughs, and gets red in the face from lack of oxygen as he tries to catch his breath again.<br><br><<Dialogue "player" "You">>"You like these ? Wait until you check THESE!"<</Dialogue>><br><br>You turn backwards, raising yourself to tiptoes as you flex your calves and glutes, giving them an amazing view of your very toned legs and bubble butt.<br><br><<Dialogue "player" "You">>"I’m so excited, I started getting serious about my lifting after I heard you two saying how you liked fit women… and I have to say, if I knew that, I’d have started earlier!"<</Dialogue>><br><br><<Dialogue "randomPerson" "Random guy">>"Whoa, you look damn fine, girl!"<</Dialogue>><br><br><<Dialogue "player" "You">>"Well, I’m really just starting… I got serious when I heard you two talking about TekTok… but I’m going to keep going - I think I’m going to get pretty big and strong!"<</Dialogue>><br><br><<Dialogue "randomPerson" "Random guy">>"Wait, you are serious ? You just started working out ? "<</Dialogue>><br><br><<Dialogue "player" "You">>"Yup! And I think it’s getting easier as I get more practice.Pretty sure I can do much better than this!"<</Dialogue>><br><br><<Dialogue "randomPerson" "Random guy">>"Whoa! Do you have a TekTok account ? "<</Dialogue>><br><br><<if $furniture.includes("web cam")>><<Dialogue "player" "You">>"No, but I do some streaming every now and then… I suppose I have some fans of my physique there…"<</Dialogue>><br><br>You find yourself giving them a brief flex of your biceps almost instinctively, and they both wolf-whistle simultaneously. You giggle, not quite used to real-life compliments like this - it’s usually just the chat going a bit wild.<br><br><<else>><<Dialogue "player" "You">>"No, but I’ve been thinking about getting a webcam and doing some streaming… maybe something with a fitness theme going ? I don’t know…"<</Dialogue>><br><br>Both of them shout simultaneously: “YES, PLEASE DO!” It makes you giggle.<</if>>They promise to keep an eye out for you online, and you give them a wink as you thank them:<br><br><<Dialogue "player" "You">>"So, really, I owe you two thanks for getting me on this path.I’ll think of you next time I pump some iron, deal ? "<</Dialogue>><br><br>They nod nervously in approval, and give each of them a tight hug - which they seem to quite enjoy.<br><br><<else>>They look at you, initially a bit embarrassed about getting caught talking about their preferences… but they get a second glance and realize…<br><br><<Dialogue "randomPerson" "Random guy">>"Whoa, you’re buff!"<</Dialogue>><br><br>You giggle, and flex a bicep for them. A very respectable bump raises from your arm, and they both go “OOOOH!”<br><br><<Dialogue "randomPerson" "Random guy">>"Hey, that’s really nice - you don’t see girls with muscles like that every day!"<</Dialogue>><br><br><<Dialogue "player" "You">>"I know, right ? I got super excited when I heard you guys talking about fit girls on TekTok, and I decided to give the weights a try.What do you know, I guess I am a natural!"<</Dialogue>><br><br><<Dialogue "randomPerson" "Random guy">>"Oh, so you just started ? !? "<</Dialogue>><br><br><<Dialogue "player" "You">>"Yeah! And I figure… this is just the beginning - I want to get JACKED!"<</Dialogue>><br><br>You flex your legs, which look even more impressive than your arms, and the two go “Whoa!”<br><br><</if>><<Dialogue "player" "You">>"Hey, I owed you guys, so I just figured I’d reward you a little bit! So… thanks for that, being strong is AWESOME!"<</Dialogue>><br><br>You walk away, happy and content for this change, and wondering just where this path will take you.<<link "Continue" $currentScene>><</link>><</replace>><<Failed>><<replace "#choice">>You remind yourself just how much they motivated you to get more serious, and you feel like they do deserve a little reward. You shyly poke them on the back, and they are still somewhat distracted. You roll your sleeve and expose your leg, giving both your arm and your legs a nice, albeit somewhat embarrassed flex, and poke them again.<br><br>They finally turn around, to see a cute girl, with one timid finger in her mouth and looking down to the ground, slightly hunched and squirming shyly… but also showing off some solid biceps and quads. It’s a good thing they weren’t drinking anything, because you can tell from their expressions that they probably would have spit every last drop.<br><br><<Dialogue "player" "You">>"So, uh, you… you guys like muscular girls ? "<</Dialogue>><br><br>You blush as the two of them seem to look at you in disbelief. For a moment, you are unsure if they were disappointed, but no, they clearly are VERY appreciative of the effort you put, drinking in all your progress in apparent disbelief. They comment in unison: “Whoa!”<br><br>You retract back, relaxing your muscles, and they immediately get apologetic, insisting that you look great!<br><br><<Dialogue "randomPerson" "Random guy">>"Uh… that was impressive… do … do you have abs too ? "<</Dialogue>><br><br>You look away, still somewhat embarrassed, as you lift your <<print $outfit.top()?.name || $outfit.overwear()?.name>> to reveal your midriff entirely.<br><br><<if $muscle >= 50 && $fat <= 25>>Your stomach looks like a cobblestone road, with huge and defined brick-like muscles that jut out a lot. Two hands immediately fly to check out your awesome abdominal development, their fingers contouring the deep ridges in awe.<br><br><<Dialogue "randomPerson" "Random guy">>"Phew! I think I’d break my hand if I tried to punch you!"<</Dialogue>><br><br><<elseif $muscle >= 50>>What your stomach lacks in definition, it more than makes up for in sheer muscularity, with subtle but rather large bumps demarcating your abs that just radiate power.<br><br><<Dialogue "randomPerson" "Random guy">>"...I think I’d break my hand if I tried to punch you!"<</Dialogue>><br><br><<elseif $muscle >= 30 && $fat <= 25>>The two guys are dazzled with your incredible six-pak abs, the ridges clearly visible like a proper washboard. You can hear them counting each individual slab in disbelief.<br><br><<Dialogue "randomPerson" "Random guy">>"I don’t think I’ve ever wanted to lick something so bad…"<</Dialogue>><br><br><<elseif $muscle >= 35>>You can see a hint of muscular development on your stomach, and that’s enough to send the two in a tizzy.<br><br> <<elseif $fat >= 35>>There isn’t really much to see due to your higher body fat, but that doesn’t mean they are any less impressed.<br><br><<else>>There isn’t much more to see there, but they are still pretty impressed with your body overall.<br><br><</if>>You let go of your clothes, and take a deep breath. You want to convey some appreciation to the fact they were so nice and motivated you to work out… but you feel too shy to properly put it in words. When one of them raises their phone and asks to take a picture, you just bolt away…<br><br>This was embarrassing… but… it kinda makes you want to work out even harder… and get bigger for people like them.<<link "Continue" $currentScene>><</link>><</replace>><</PersonalityCheck>></span>'
},
{
name: 'StreetMuscleComment',
locationTags: ['outOfHouse'],
conditions: [
() => State.variables.muscle <= 30
],
repeatable: false,
retriggerable: false,
priority: 'response',
npc: [],
content: 'You are strolling by the streets of this calm town, when you spot two guys having a passionate debate. Their enthusiasm catches your attention, and you end up eavesdropping on their talk.<br><br><<Dialogue "randomPerson" "Random guy">>"I mean, seriously, girl abs, man, just abs. I could lick them all day, no matter how sweaty they were!"<</Dialogue>><br><br><<Dialogue "randomPerson" "Random guy">>"Yeah, this TekTok app is a godsend! I can just scroll through videos of buff women flexing all day long. Heck, I even started a trend about showing muscular backs and, before I knew it, it was RAINING videos of strong women flexing all day, every day!"<</Dialogue>><br><br>The pair seems rather excited about the prospect of fit females. From the general disposition, it seems like they’ve been going at this topic for a bit already.<br><br><<Dialogue "randomPerson" "Random guy">>"Even then, they still surprise me - I follow this girl, she’s like tall and pretty muscular, she started doing some videos showing her quads from below - dude, I almost exploded right there and then."<</Dialogue>><br><br><<Dialogue "randomPerson" "Random guy">>"I went ahead and got myself a gym membership, I’m going there and doing cardio and weights everyday - just to check out the chicks. It’s better than a dating app! There’s this redhead I saw, bro, you would NOT believe her bubble ass. I think I’m going to make my move soon, see if she wants to go out for coffee. Seriously!"<</Dialogue>><br><br>You put a hand on your own tush. It’s kinda flat and a bit squishy. You feel very self conscious as you hear him describing the woman from the gym.<br><br><<Dialogue "randomPerson" "Random guy">>"Not even joking, I get horny just thinking about getting beaten up by a strong woman. It’s that serious."<</Dialogue>><br><br><<Dialogue "randomPerson" "Random guy">>"Yeah, I mentioned that online, and some guy suggested this anime with a muscular chick… I kept freeze-framing on this moment she flexed her arms… I never thought biceps could be hot, but now it gets me going just nice a nice ass or some great boobs!"<</Dialogue>><br><br>Again, you find yourself putting your hand on your upper arm, your fingers squeezing the small, soft circumference. Nothing, zip, zilch, nada! You try raising your arm up and making a muscle, but you can’t even see a difference. You poke, hoping to find SOME firmness… and it is just depressing. You are pretty sure there must be SOME muscle there, because your arm moves and bends… but you really can’t even fathom WHERE it is.<br><br>Frowning, you watch the guys continue their heated discussion, and you proceed on your way, feeling defeated. Maybe you need to get serious about working out…<<set $muscleChatRandoms to true>>'
},
{
name: '',
locationTags: ['gym'],
conditions: [
() => State.variables.muscle <= 30
],
repeatable: false,
retriggerable: false,
priority: 'response',
npc: [],
content: ''
},
{
name: 'HoodieMuscleComments',
locationTags: ['gym'],
conditions: [
() => State.variables.muscle <= 40,
() => State.variables.outfit.overwear().bonuses.map(bonus => bonus.name).includes('baggy'),
],
repeatable: false,
retriggerable: false,
priority: 'response',
npc: [],
content: 'It’s another day of heavy lifting at the gym, and you got a little too excited with all you’ve been reading about pump covers, so you decided to work out with your baggy <<print $outfit.overwear().name>> - all that sweating was supposed to help burn extra calories.<br><br>That was the theory. In practice, you are running very hot, and drenched in sweat. It’s hard to ignore the large stains from your perspiration, and your breathing is becoming too labored. Perhaps this pump cover wasn’t such a great idea in such a hot day!<br><br>Alright, that’s it! You are not keeping with this silly human greenhouse plan! You grab the hem of your <<print $outfit.overwear().name>>, lifting it and slowly revealing the <<print $outfit.top().name>> under it - which slightly gets lifted as you remove it.<br><br><<if $muscle >= 50 && fat <=25>>As you do so, you hear a loud GASP while your face is still covered by the article of clothing which you are trying to remove. As you finish taking it out, you see a woman with her mouth agape, just staring at your cobbled abdominals, her water bottle dripping as her arms slack by her side in her trance. <<if $shyConfident < -1>>You are taken aback by her reaction, and your instinct is to just dig yourself back into the sweaty <<print $outfit.overwear().name>> out of embarassement. Nervously, you try to finish removing it, but you are so tense that your arms flex fully, making the removal of the sleeves harder, and you find yourself struggling to get it off, as you turn around trying to move away from the girls gaze.<<elseif $shyConfident > 1>>You revel in the attention, and twist your core as you give your abs a full flex just for show, making the poor woman just drop her water bottle. You decide to turn this into a proper striptease, removing the pump cover from your arm in the middle of a biceps flex, as you slowly turn around to show your massive back. The little show seems to have gotten more people’s attention, as you hear the clanging of a barbell across the room as a rather large man is so distracted he dropped his weights. You smile with satisfaction. I guess the pump cover does have some added unexpected extra benefits, heh!<<else>>You just rush to finish removing your pump cover before anyone else notices. Geez, this is a gym, people, not a zoo. It’s not like you are putting on a show for them!<</if>><<else>>After getting the sweaty cover off, you raise your head and watch yourself in the mirror. Huh. I guess one of the nice side-effects of the pump cover is that you didn’t realize you looked so nice under it. The baggy clothes hide all your progress so far, and you can’t help but smile at seeing where you are on your journey - and dream a little bit about where you’ll eventually get.<</if>><br><br>But for now, it’s back to the weights. You put the <<print $outfit.overwear().name>> away and get back to your routine.'
},
{
name: '',
locationTags: ['outside'],
conditions: [
() => State.variables.outfit.top().bonuses.map(bonus => bonus.name).includes(State.variables.outfit.bottom().bonuses.map(bonus => bonus.name))
],
repeatable: false,
retriggerable: false,
priority: 'response',
npc: [],
content: 'As you make you way through town, you find there’s quite a few people out and about. You are quite proud of your matching outfit, and you unconsciously find yourself proverbially strutting your stuff. It does not take long for someone to notice.<br><br><<if $outfit.style() === "tomboy">> /* IF Code for if the player has both a TOP and BOTTOM in the TOMBOY style - Gabe */<<Dialogue "randomPerson" "Random Girl">>"Hey, I dig that look!"<</Dialogue>><br><br><<Dialogue "player" "You">>"Excuse me...?<</Dialogue>><br><br>You turn around, where you find a teen girl wearing some torn jeans and a baggy T-shirt, looking rather impressed by your ensemble.<br><br><<Dialogue "randomPerson" "Random Girl">>"That outfit - it’s ACE! I love that you don’t let society dictate how you should look just because you’re a girl!"<</Dialogue>><br><br><<Dialogue "player" "You">>"Oh, thank you!<</Dialogue>><br><br><<if $muscle >= 40>><<Dialogue "randomPerson" "Random Girl">>"And the fact you aren’t afraid about not following standards of femininity with your muscles just makes it even more awesome. Seriously, you are GOALS, girl!"<</Dialogue>><br><br><</if>><<if $shyConfident > 1 || $carefreeCarefull < -1>><<Dialogue "player" "You">>"Heh. Glad you like it. And you are right, I live by my own rules!<</Dialogue>><br><br><<Dialogue "randomPerson" "Random Girl">>"Well, YOU rule! Keep doing you and show everyone!"<</Dialogue>><br><br>She gives you a high-five and goes on her way. Wow, you never expected to inspire anyone. This feels pretty awesome.<<else>>That took you by surprise! You can see the admiration in her eyes, but still somewhat unsure on how to respond. She raises a hand for a high-five, and you slap it tentatively. She just goes on her way, with you still in a bit of a state of shock.<</if>><<elseif $outfit.style() === "sporty">> /* IF Code for if the player has both a TOP and BOTTOM in the SPORTY style - Gabe */<<Dialogue "randomPerson" "Random Girl">>"That is SUCH an awesome look, girl! Where’d you get it?"<</Dialogue>><br><br><<Dialogue "player" "You">>"Excuse me...?"<</Dialogue>><br><br>You turn around, and see a jogger, running in place, just scanning your entire outfit.<br><br><<Dialogue "randomPerson" "Random Girl">>"The <<print $topWear.name>> and <<print $bottomWear.name>>, where did you buy them?"<</Dialogue>><br><br><<if $outfit.top().bonuses.map(bonus => bonus.name).includes("Crafted")>> You tell her that you made it yourself, and she is beyond herself, shooting a barrage of questions. You politely decline her offer to buy clothes from you, but still point her to the same resources you used to create the clothes so she can learn the same herself.<<else>>You tell her where you got them, and she writes it all down on her phone.<br><br><<Dialogue "randomPerson" "Random Girl">>"Do you have a Picstagram account? I’d love to see your other workout looks, if they are anything as awesome as this one!"<</Dialogue>><br><br><</if>><br><br>You did not expect your ensemble to get you that much attention. But you do realize there are a lot of influencers that specialize in showing off workout gear. Maybe you should look into a sponsorship? Might make you some extra cash!<<elseif $outfit.style() === "punk">> /* IF Code for if the player has both a TOP and BOTTOM in the PUNK style - Gabe */You hear the sound of a skate being kicked up as you turn, and see a skater girl with brightly-dyed hair, looking rather impressed.<br><br><<Dialogue "randomPerson" "Random Girl">>"Yo, that ensemble is rocking!"<</Dialogue>><br><br>Confused, you look around. She’s definitely talking to you.<br><br><<Dialogue "randomPerson" "Random Girl">>"Damn, just look at that <<print $topWear.name>>! Love the style!"<</Dialogue>><br><br>She sticks her tongue out and makes horns with her fingers. Despite her attitude, her compliments are quite flattering. <<if $shyConfident > 1 || $carefreeCarefull < -1>>You return the hand sign and tongue in kind, and both of you start headbanging the air playfully.<br><br><<Dialogue "randomPerson" "Random Girl">>"Hell, yeah!!!"<</Dialogue>><br><br>The two of you laugh, and she makes a dig about going against the system or somesuch. It goes a bit above your head, but you still appreciate it - and you feel even more awesome about your outfit.<<else>>You blush a bit, feeling somewhat unsure if you really were trying to make a political statement or just trying to look good. But with a nod and a shy smile, you thank her for it. <</if>><<elseif $outfit.style() === "sexy">> /* IF Code for if the player has both a TOP and BOTTOM in the SEXY style - Gabe */You hear a loud wolf whistle. A guy from across the street is looking at you with lecherous eyes, and he winks as you turn to look at him. <<if $shyConfident <= 1 && $submissiveDominant > 1>>It is true you are wearing some revealing and sexy clothing, but that does not give him the right to treat you like a piece of meat. <<if $muscle >= 40>> You just glare menancigly at the individual, and let your physique do the rest of the talking. Yeah, he might have drooled at your bubble butt, but he’s now seriously cowering at your towering traps. Good riddance!<<else>>You flip him the bird, which doesn’t particularly discourage him, but he gets the point across well enough. He doesn’t stop staring, but at least he’ll leave you alone.<<if $shyConfident > 1>>You bite your lips and look at him seductively, and you bend over just enough to emphasize your best assets - a task which is greatly enhanced by your alluring apparel. The guy’s jaw drops right there and then, and you feel especially good about picking this outfit - it does bring out your best assets!<<else>>Confused, you look around, trying to figure out if there is anyone else, until you remember the sexy outfit you decided to wear - yeah, it’s definitely bound to attract some of this kind of attention. You blush, but despite any embarrassment, it’s hard to deny that part of you feels good about being looked at with such lust. It makes you feel hot and desired, even if it might be a bit uncomfortable. <</if>><</if>><</if>><<elseif $outfit.style() === "stylish">> /* IF Code for if the player has both a TOP and BOTTOM in the STYLISH style - Gabe */You hear a gasp. It scares you for a second, and you turn around, only to find someone who seems like a stereotype of someone pretending to wear a “The Devil Wears Prada” cosplay. She is fanning herself as she now proceeds to make circles around you, leaving you speechless.<br><br><<Dialogue "randomPerson" "Random Woman">>"Oh, my! Look at you! I need my salts, I never thought I would find such style in this podunk town! Who are you wearing, darling?"<</Dialogue>><br><br>It takes a moment for you to even process the question. Oh, she means what brand you are wearing. Right.<br><br><<if $outfit.top().bonuses.map(bonus => bonus.name).includes("Crafted")>> /* IF CLOTHES ARE CRAFTED - Gabe */You explain that you made the clothes yourself, and she looks like she might just faint - or at least is pretending to in her highly flamboyant style. It takes a little bit for you to make her give up on trying to drag you back to her office in New York - but damn, did that feel flattering!<<else>>You explain where you bought the clothes, and she looks temporarily offended that these are off-the-rack, before telling you that you have some sort of magical touch to make that outfit work so well. Flattered, you thank her for the compliment, not quite expecting this kind of reaction when you put this together.<</if>><<elseif $outfit.style() === "professional" && setup.isOutfitFits() >> As you wait for the pedestrian light to cross the street, a smartly-dressed man in a business suit discreetly scans you top to bottom. He looks quite good in his clearly tailored suit, and waits for you to acknowledge his appreciation as your eyes cross.<br><br>Once he notices you are looking back at him, he gives a nod of approval, still with a very serious face. There is no need for words, as if you share some sort of workaholic connection with him. You nod back, reinforcing that you also approve of his garb.<br><br>The whole situation is a bit surreal, when you stop to think about it, but it shows that there is merit in making sure you pick matching clothes in a proper style - and fit. People notice, and impressions matter.<<elseif $outfit.style() === "nerdy">> You hear someone clearing their throat. You turn around to see a guy in glasses who is wearing a T-shirt of an anime you don’t quite recognize. The art is amazing, though.<br><br><<Dialogue "randomPerson" "Random Guy">>"That’s a cool reference there, glad to see you are a woman of culture as well!"<</Dialogue>><br><br>You laugh at his memetic reference, as he pretends to tip an imaginary fedora. You hit him with your elbow as you reply with a wink:<br><br><<Dialogue "player" "You">>"Us nerds, huh? Cake, lie and all that jazz...<</Dialogue>><br><br>You two share a giggle of belonging. It’s weird how much even a clothing statement can bring people together. You feel that you are not only represented by what you have on, but you also make a statement. Geek and proud!<br><br>After exchanging a last thumbs up, you wave each other goodbye.<<elseif $outfit.style() === "cute">> You feel a tug on your <<print $outfit.bottom().name>>. There’s a little girl, looking at you with big, sparkly eyes.<br><br><<Dialogue "randomPerson" "Random Girl">>"Excuse me, are you a princess?"<</Dialogue>><br><br>OMG! It takes every bit of willpower for you not to squee and squish her big cheeks. She sees your cute ensemble and is apparently enchanted with your outfit. Trying to control yourself, you do a little twirl, and she just stares at you, jaw fallen.<br><br><<Dialogue "randomPerson" "Random Girl">>"You are so cute! I wanna be like you when I grow up!"<</Dialogue>><br><br><<Dialogue "player" "You">>"Why, thank you. You also look adorable.<</Dialogue>><br><br>You improvise your best curtsy, and she mirrors the gesture. It brings a huge smile to both your faces, like you just had a magical moment. You look around, half-expecting to see a fairy flying by, before going your way.<</if>><br><br>Huh, turns out wearing a matching outfit might just be more important that you might have originally thought. You should probably keep that in mind.'
},
{
name: 'clothingStuck',
locationTags: ['outside'],
conditions: [
() => State.variables.outfit.bonuses().map(bonus => bonus.name).includes('Baggy')
],
repeatable: false,
retriggerable: false,
priority: 'response',
npc: [],
content: `Despite this being a small town, it’s still easy to find many distractions everywhere. And so a flock of birds catches your attention, as you idly walk around the streets. However, that means that<<if $muscle >= 50 || $height >= 170>>, given your increased size that you are still not used to,<</if>> your <<print $outfit.top().name>> snags on a small tree fence on the sidewalk. The good news is: you notice it soon enough not to rip the fabric. The bad news? You are having some serious problems getting the piece unstuck, as the wiring has dug into the fabric. Ugh!<br><br> You start twisting yourself around, trying to get the damn wire to let go of your <<print $outfit.top().name>>, but the more you turn around, the worst it gets caught on it. UGH!<br><br> <<if $carefreeCarefull > 1>>Try as you might, having it snagged behind your back makes it way to hard to properly unentangle the mess. Very carefully, you attempt to feel the wire blindly, but it proves frustratingly hard to do so. Running out of options, you realize there are only two options left: either rip the end out with a yank, or remove your top. Not great. <<if $shyConfident > 1>> With a deep sigh, you start undressing in order to save your clothes. <<else>>Horrified with the idea of having to undress, you nervously try to yank your top free - but instead of just ripping the end off, the entire piece rips from your torso! <</if>> <<elseif $carefreeCarefull < 1 || $muscle >= 45>>You keep fidgeting with growing anxiety, but either due to your nervousness or your strength, you just end up ripping the entire top off, leaving your torso bare! <<else>>Concerned with the idea of having to undress, you nervously try to yank your top free - but instead of just ripping the end off, the entire piece rips from your torso! <</if>><br><br> <<if $muscle >= 60>>Having fully revealed your mightly muscled torso, you basically recreate a scene from the old Incredible Bulk TV show for all to see with your little topless stunt. With all eyes turn to you - the situation is borderline comical, making you feel like a lot more people appeared after the incident happened. A small boy breaks the general silence, pointing at you and asking his mom if that’s a superheroine and why she doesn’t just use the phone booth like that other guy. With a deep blush, you gather your clothes and run off, as all eyes follow your escape. <<elseif $muscle >= 45>>As you come out of your fabric shell, however, you are momentarily surprised by your own physique - damn, you knew you’ve been getting buff lately, but it’s still somewhat of a treat to see the roundness on your arms, and the pop on your abs and...<br><br> And then you remember you are still on the street. And there are several pedestrians just sort of staring at you. Sure, some of them are also impressed with your musculature, but the whole seminaked in public might be trumping that right now. So you hurry to gather your clothes from the fence, and rush away from there. <<else>>And so you find yourself much less dressed than you would have liked. Some people try and offer help, but you feel humiliated enough to just cut your losses and try to remove the snagged clothing and skeddadle ASAP. So now that you have a better angle, it’s just a matter of a few seconds (that feel like hours) while you disentangle the wire and run away, hoping nobody recognized you. <</if>> <<if $breasts >= 40>>As you run, your overdeveloped breasts jiggle much more publicly than usual, forcing you to wrap your arms around your chest with your rescued clothing. <</if>> All in all, this public display of indecency is sure to be the talk of the small town for a few days. Oh, well, not much you can do now.`
},
{
name: 'RandomPersonJealous',
locationTags: ['outside'],
conditions: [
() => State.variables.outfit.style() != null,
() => State.variables.daysPlayed > 2,
() => State.variables.outfit.style() != 'casual',
],
repeatable: false,
retriggerable: false,
priority: 'response',
npc: [],
content: `As you go on your way, you notice with the corner of your eye two women rubbernecking - they seem to be tracking you as you pass by them - you try very hard not to make clear you notice, but you do perk your ears.<br><br> <<Dialogue "randomPerson" "Random Woman">>"Did you see her ensemble? OMG, I’m so jelly!"<</Dialogue>><br><br> You sneak a quick and discreet look using your phone as an excuse, and they are both checking you out.<br><br> <<Dialogue "randomPerson" "Random Woman">>"Dang, you right, girl! That outfit is amazing! She really pulled the <<print $outfit.style()>> look!"<</Dialogue>><br><br> <<if $shyConfident > 1 || $skills[4].level > 2>>You turn around and do a little catwalk strut for the pair. They just record and photograph the heck out of you with their phones, while shouting phrases like “you go, girl” and “yaaaaas, slay”. With a wink, you acknowledge them one last time, before turning away. <<else>>You take a deep breath, trying not to blush too hard, never expecting to call so much attention. That’s not to say it isn’t exciting - in your own introverted way. <</if>><br><br> They continue discussing how much they love your <<print $outfit.top().name>>, and how well the <<print $outfit.bottom().name>> matches. They wonder how much you spent as they keep talking, and you feel like a million bucks as you return to your route.`
},
{
name: 'OutsideRevealingClothes',
locationTags: ['outside'],
conditions: [
() => [setup.getFitDescriptionOfClothes(State.variables.outfit.top()), setup.getFitDescriptionOfClothes(State.variables.outfit.bottom())].includesAny('too small', 'tight') || $outfit.style() === 'exposed'
],
repeatable: false,
retriggerable: false,
priority: 'response',
npc: [],
content: `There is quite a few people on the streets today, and you are caught by a weird, nagging feeling that you can’t quite put a finger on. Eventually, you realize what it is - you are turning quite a few heads, which you barely notice from the corner of your eyes. Oh, it’s probably related to your current outfit.<br><br> <<if setup.isOutfitTight()>> Turns out, it seems to be related to your inability - or rather, your clothing’s inability - to keep up with your growth. Your body is stretching the fabric to its limits, not only making movement harder, but giving quite a show to everyone around. It is a bit uncomfortable, to be sincere, but given your growing body, you should have realized that this would be the case sooner. <<elseif $outfit.style() === 'exposed'>> You might have underestimated just how revealing your outfit is. This town might be progressive due to the college crowd, but the clothes you are wearing might be a tad too risqué, even for them. <<if $muscle >= 40>>And with all your muscles, this is made even more obvious - your rounded arms, bulging pectorals, bubble butt and curvy legs all make the spectacle even more impressive, a true Greek statue parading through the streets. <</if>> <<if $height >= 185>>Let’s not forget, those long, supermodel-length legs also turn heads on a regular basis - let alone when on display like this. <</if>> <<if $dick > 5>>And like it or not, your very prominent bulge is quite imposing and hard to ignore in such skimpy clothes. <</if>><br><br> <<if $shyConfident > 1 || $submissiveDominant > 1>>You carry it out proudly, with decided steps, making the town your very private catwalk. You command everyone’s attention, and it makes you feel taller and prouder with each turned neck, each earshot whispered comment. It builds slowly within you, making you feel more and more powerful as you feel almost like you are being worshipped as the goddess you are becoming with each passing day. They have seen nothing yet, you think as you grin. <<else>>The attention is a bit much, you must admit, and you notice yourself slouching with each turned neck, each earshot whispered comment. You regret having picked this outfit, since the spotlight doesn’t really suit you that much. You end up accelerating your pace, rushing to your destination, anxious to change into something a bit more modest. <</if>> <</if>>`
},
{
name: 'OutsideGoingCommando',
locationTags: ['coffeeCorner'],
conditions: [
() => State.variables.outfit.bra() == null || State.variables.outfit.underwear() == null
],
repeatable: false,
retriggerable: false,
priority: 'response',
npc: [],
content: `You sit down for your daily dose of caffeine, not a care in the world. But you notice that there’s this underlying buzz slowly growing - everyone seems to have switched from talking loudly to whispering and giving you the side eye. Huh. What’s that about?<br><br> <<if $outfit.bra() == null>> As you look around, you eventually notice how chill it is with the air conditioner blowing at full force. And that’s when you notice - uh oh - that the temperature has errr... turned on your headlights, so to speak. And since you are not wearing a bra, your <<print $topWear.name>> has two very noticeable nubs on display<<if $breasts >= 35>>, which are even more obvious on your rather large breasts, which already command quite a bit of attention by themselves, with your oversized nipples even more impressive. <</if>>.<</if>> <<if $outfit.underwear() == null && $outfit.style() === 'exposed'>>Turning around, you move your legs, and realize that you might have just pulled a bit of an exhibitionist move - your revealing <<print $bottomWear.name>>, coupled with your lack of underwear means you just flashed a bunch of people... and you might have been doing it for a while without even noticing!<<if $dick > 5>> And some of the onlookers are in for quite a surprise when they realize you are packing!<</if>> <</if>><br><br> <<if $shyConfident > 1 || $submissiveDominant > 1>>It strikes you, all of a sudden, just how much things have changed since you moved here. You are reminded of that iconic movie scene, of the woman being interrogated and controlling the room with her sex appeal - you would NEVER had guessed that it would one day be you... yet here we are. You are not afraid of commanding the room with your sex appeal. On the contrary, it’s almost arousing. You find yourself strutting your assets with confidence, and enjoying every second of it. <<else>>You blush furiously, leaning into yourself, wishing you could just dig yourself a little tunnel under the ground. Taking a deep breath, you regret the freedom of “going commando” you thought would not be such a big deal when you left the house, now coming back to bite you in the ass. Well, or some other body parts, as the case may be. <</if>><br><br> Well, this has gone on for long enough. Everybody has had enough of a show, and you make sure to avoid any further exposure as you continue with your daily routine.`
},
{
name: 'clothingStuck',
locationTags: ['outside', 'park', 'mall', 'outOfHouse'],
conditions: [
() => State.variables.outfit.bonuses().map(bonus => bonus.name).includes('Intimidating')
],
repeatable: true,
retriggerable: true,
priority: 'response',
npc: [],
content: `As you go about your day you can't help but notice that now and then people look at you. As you pass two guys for example they look you over, and you really get the idea that one of them is about to approach you when you can see them thinking twice about it. You got a good hunch that your 'intimidating' outfit certainly helps with this! Makes it easier for you to go about your day and do what you want!`
}
]>>
<<include joggingEvents>>
<<include lactationEvents>>
<<include bulkBarnEvents>>
<<include parkEvents>>
<<include "JohanImmediates">>
<<include "EmmaImmediates">>
<<include "ElenaImmediates">>
<<include "JohanResponses">>
<<include "EmmaResponses">>
<<include "ElenaResponses">>
<<include "JohanFiller">>
<<include "EmmaFiller">>
<<include "ElenaFiller">>
<<include "KrisImmediates">>
<<include "KrisResponses">>
<<include "KrisFiller">>
<<include "PostSleepImmediates">>
<<include "PostSleepResponses">>
<<include "PostSleepFiller">>
<<for _i to 0; _i < setup.events.length; _i ++>>
<<capture _i>>
<<if setup.events[_i].locationTags.contains("postSleep") && setup.events[_i].content != ''>>
<<set setup.events[_i].content += "<<postSleepDietDescription>>">>
<</if>>
<</capture>>
<</for>><<script>>
var events = setup.events;
const clamp = (num, min, max) => Math.min(Math.max(num, min), max);
if(State.variables.outfit.bonuses().map(bonus => bonus.name).includes('Intimidating')){
State.variables.eventCounter += 0.5;
}
else{
State.variables.eventCounter++;
}
if (State.variables.eventCounter > setup.balance.eventTresshold && tags().length > 0) {
var immediateEvents = [];
var responseEvents = [];
var fillerEvents = [];
/* Removes all items that have already been used, already been triggered, or whose tags do not line up with the current scene tag. */
for (let i = 0; i < setup.events.length; i++) {
if(State.passage == undefined)
{
continue;
}
var event = setup.events[i];
if ((State.variables.indexesOfEventsUsed.indexOf(i) != -1 && !event.repeatable) ||
tags().filter(x => event.locationTags.indexOf(x) !== -1).length == 0 || event.content === "") {
continue;
}
var useable = true;
/* Making sure the conditions for the event match up.*/
/* Filler content should always be accesible.*/
if(event.priority === 'filler' && event.conditions.length == 0)
{
/* Empty condition for better reability.*/
}
else
{
for (let j = 0; j < event.conditions.length; j++) {
if (!event.conditions[j]()) {
useable = false;
break;
}
};
}
if (useable != true) {
continue;
}
if (event.priority == "immediate") {
immediateEvents.push(event);
continue;
}
if (event.priority == "response") {
responseEvents.push(event);
continue;
}
if (event.priority == "filler") {
fillerEvents.push(event);
continue;
}
};
/* Saving it so we can later return to the correct scene. */
if(immediateEvents.length > 0 || responseEvents.length > 0 || fillerEvents.length > 0)
{
var oldScene = State.variables.currentScene;
if(tags().includes('noReturnDialog') || tags().includes('noEventTrigger'))
{
console.log("EventManager: didn't set new scene");
}
else
{
State.variables.currentScene = State.passage;
console.log('EventManager: set new scene from ' + oldScene + ' to ' + State.variables.currentScene);
}
}
if (immediateEvents.length > 0) {
State.variables.currentEvent = immediateEvents[0];
State.variables.indexesOfEventsUsed.push(setup.events.indexOf(immediateEvents[0]));
State.variables.eventCounter = 0;
setTimeout(() => Engine.play("eventPassage"), Engine.minDomActionDelay);
} else if (responseEvents.length > 0) {
State.variables.currentEvent = responseEvents[Math.floor(Math.random() * responseEvents.length)];
State.variables.indexesOfEventsUsed.push(setup.events.indexOf(State.variables.currentEvent));
State.variables.eventCounter = 0;
setTimeout(() => Engine.play("eventPassage"), Engine.minDomActionDelay);
} else if (fillerEvents.length > 0) {
State.variables.currentEvent = fillerEvents[Math.floor(Math.random() * fillerEvents.length)];
State.variables.indexesOfEventsUsed.push(setup.events.indexOf(State.variables.currentEvent));
State.variables.eventCounter = 0;
setTimeout(() => Engine.play("eventPassage"), Engine.minDomActionDelay);
}
}
<</script>><<set _fatLoss to 0>>
<<if $bodyType is "skinny">>
<<set _fatLoss += 0.1>>
Well, you're running. You do have the advantage of being very light, even for your frame. But that also means there isn’t much muscle either. Thin legs and little core strength do you no favors.
<<elseif $bodyType is "average">>
<<set _fatLoss += 0.1>>
Running isn't MUCH of an issue for you, at least with your build. You're squarely average, so that means you pretty much got this, right? One leg in front of the other, rinse, repeat. And don’t forget to breathe! You're certain that this mentality will still work after 10 minutes of running and hope it won’t lead to a stream of swearing while panting heavily.
<<elseif $bodyType is "athletic">>
<<set _fatLoss += 0.3>>
Now this is something your athletic body is made for: quick, lithe muscles give you incredible speed, and since your bodyweight is still comparatively low, you got quite the spring to your step. With this build, you're sure you'll get an amazing workout from this!
<<elseif $bodyType is "bodybuilder">>
<<set _fatLoss += 0.2>>
Muscles you got plenty, but your body is also pretty bulky. You are a bit too heavy to maintain high speeds for prolonged runs. With your pecs bouncing and thighs rubbing against each other, a well-oiled running machine you aren’t. But the balance between your power and weight is enough that you can get a good workout out of it. It just takes some extra effort, that’s all!
<<elseif $bodyType is "hulk">>
<<set _fatLoss += 0.3>>
Yeah, when you run past, people notice. The explosive strength in your legs means you have little trouble building momentum and picking up a good speed, but the sheer mass of you does mean that the ground shakes at your passing and your momentum requires quite a bit of effort to come to a full stop. Windows rattle and floors shake as you run past, even when you try to be careful. But given your sheer mass, that is just the unavoidable reality!
<<elseif $bodyType is "strong">>
<<set _fatLoss += 0.3>>
You're strong, nobody will doubt. But being able to run for a long time is a different matter; sure, you have got the power in your legs, but there is also a whole lot of mass to support and accelerate. It takes some time for you to get into the groove of it, but once your massive gather that momentum, you can keep a surprisingly steady pace!
<<elseif $bodyType is "heroic">>
<<set _fatLoss += 0.1>>
Your build has been referred to as 'heroic'. So it is no surprise that you run like a superhero too. You can build up amazing speed, and keep it going for a long time while your tree-trunk legs make you look like an Olympian goddess with purpose and grace! The Dash, step aside! <<print $playerFirstName>> is here!
<<elseif $bodyType is "gigantic">>
<<set _fatLoss += 0.2>>
Something as big as you shouldn't be running. Muscles so huge have no business being this quick, this powerful in their stride. Yet as you jog past, the ground shakes, surprising everyone that dares to look. Your body might be massive, but once it has gathered enough momentum, your gigantic leg muscles bulge and provide the full power they got in them. Plenty to get you going, and more than enough to pick up a respectable speed!
<<elseif $bodyType is "obese">>
<<set _fatLoss += 0.5>>
Why did you think running was a good idea? In no way or shape is your body made for it; thick layers of flab hide whatever muscles you have, and each step sends shockwaves through your body. But maybe that’s a good reason to do it anyway; to prove to yourself that you can do it, and to show that despite its sheer mass, your body has some hidden power!
<<elseif $bodyType is "thick">>
<<set _fatLoss += 0.4>>
Yeah, you're not made for running. Within minutes, you're sweating and panting, trying to get your body to keep up. It's pure willpower that drives you along. Your steps are heavy, your body flabby, and damn it all, you're doing your best!
<<elseif $bodyType is "heavy">>
<<set _fatLoss += 0.4>>
Sure, you're a bit heavier than others. And no one would accuse you of having a stereotypical runner body, but that doesn't mean you can't try, right? Once you start, you're doing decently, but you tire way quicker than someone lighter. Well, this is your body, and it’s time to make the most of it!
<<elseif $bodyType is "strongman">>
<<set _fatLoss += 0.3>>
Your body isn't one where people normally look at you and say 'now THAT’S a jogger'. You got immensely thick arms and legs with a noticeable amount of flab over your muscles. Yet, beneath, lies immense strength. You start slow and quickly begin picking up speed. And with your endurance, you can easily maintain a very respectable pace.
<<elseif $bodyType is "fat">>
<<set _fatLoss += 0.3>>
Why are you even jogging? Nothing about your body is really meant to run: you have got a flabby stomach, and little leg muscles to get that pace up. But perhaps that’s all the more reason to do it – not that you need one. After all, your body dictates the ceiling here, but YOU decide how much effort you put in.
<<elseif $bodyType is "monstrous">>
<<set _fatLoss += 0.3>>
Your mass is immense. As you start running, at first you waddle forward, thighs rubbing against each other. Yet you just keep picking up speed, those leg muscles increasing your momentum like thick pistons. From a slow waddle you progress into a decent jog, and finally an unstoppable run. The sheer momentum is only controlled by your powerful sinew, all of it pumping and swelling as you start genuinely running. Whether you are leaving a trail of cracked pavement or just causing mini earthquakes is not your concern right now.
<<elseif $bodyType is "sumowrestler">>
<<set _fatLoss += 0.4>>
Running. You might have huge muscles under all that flab, but running isn't something people imagine when they see you. Your gigantic body picks up inertia and momentum as your speed increases, which happens slowly. But as you start running, your pace just keeps picking up, until you are eventually in an honest-to-God run. Your feet slam against the pavement, and like a train picking up speed, you know that anything that crosses your path has two choices: move, or be moved.
<</if>>
<br><br>
<<set _workoutSkill to 0>>
<<for _i to 0; _i < $skills.length; _i ++>>
<<capture _i>>
<<if $skills[_i].name is "Working out">>
<<set _workoutSkill to $skills[_i].level>>
<<set $skills[_i].experience += 10>>
<</if>>
<</capture>>
<</for>>
<<if _workoutSkill == 0>>
<<set _fatLoss += 0.1>>
Hmmm. Maybe you would think that 'go out for a run' is something simple. But you notice that your pace isn't very steady. You stop and go erratically, pace constantly fluctuating as you stop to catch your breath all the time. It might be lack of experience, but, hey, that's why you're here, right? To improve yourself!
<<elseif _workoutSkill == 1>>
<<set _fatLoss += 0.2>>
Your recent research into fitness and how your body works does help with keeping a steady pace. While you're far from an expert, you know well enough stretch beforehand, and to keep and eye on your heartrate.
<<elseif _workoutSkill == 2>>
<<set _fatLoss += 0.3>>
Yeah, you know how to run. You're experienced with all the smaller details and your starting stretches catch people’s eyes. From warming up to keeping pace... it just comes easily! And it pays off, as your workout is way more effective.
<<elseif _workoutSkill == 3>>
<<set _fatLoss += 0.4>>
With your knowledge of working out and biomechanics, it’s no surprise you run with such conviction. Lots of people assume that jogging is just 'going for a run', but you could spend hours talking about how to maximize it! From warms ups to cooldowns, pacing and BPMs... you won’t overlook any small details, and you got it all down to a T.
<<elseif _workoutSkill == 4>>
<<set _fatLoss += 0.5>>
Regardless of your body type, you make the most of it. With your knowledge of fitness and body mechanics, you could easily coach others, and your own workouts are nothing short of displays of excellence. Pacing, blood oxygen levels, BPM... you juggle it all constantly without batting an eye, making it all easier for you to keep a steady pace and jog like a true pro.
<</if>>
<<link "Continue" "Home">><<set _fatLoss *= -1>><<addFatSlow _fatLoss>><</link>><<if $hackingUnlocked == undefined>>
<<set $hackingUnlocked to true>>
<<set $hackingProgress to 0>>
Eagerly, you plug the USB stick into your old PC, dropping the box with the stuff you got from... Toshi, was it? It seems the old occupant of this room had plenty of stuff, and who knows what this little treasure trove holds! Your PC is frustratingly slow, making you tap impatiently. Normally when you plug in a hard drive or something, you get the results instantly, but not this time. A new window does pop up eventually, revealing a handful of files. Looking over the names... JACKPOT! On the screen, you see the following:
<br><br>
• Selfie.png
<br>
• Experiment_log_01.txt
<br>
• Selfie_2.png
<br>
• Experiment_log_02.txt
<br>
• Inventory.txt
<br>
• Doctors note.txt
<br>
• Chemistry notes.docx
<br><br>
You decide to go for the first exciting one; Experiment_log_01.txt. With a pounding heart you double-click on it to open it, and... what?!? A small prompt the likes of which you’ve never seen before, requesting a password. Password?!? What kind of password? Who the fuck password-protects files on an unprotected USB key? Out of frustration, your hand slams against the desk, <<if $muscle > 60>>cracking the wood. You're lucky the table is still able to support your PC but you should avoid such displays of rage.<<elseif $muscle > 40>> which shakes as your fist hits it, the wood groaning menacingly. Right, newfound strength... you should keep that in mind...<<else>> barely missing your keyboard.<</if>>
<br><br>
Well, here you are. Assuming he picked secure passwords, then it should be next to impossible to just guess them. But come on, you're no quitter. Those file names... those do NOT look like the kind of names a safety-minded individual would use. So, 7 files... 7 passwords. Time to do some research.
<br><br>
<<link "continue" "pcUsbHacking">><</link>>
<<else>><<nobr>>
<<set _selfiePassword to "Enter Password">>
<<set _log1Password to "Enter Password">>
<<set _selfie2Password to "Enter Password">>
<<set _log2Password to "Enter Password">>
<<set _inventoryPassword to "Enter Password">>
<<set _doctorNotePassword to "Enter Password">>
<<set _notesPassword to "Enter Password">>
<</nobr>>7 files... 7 passwords. Let's go.
<br><br>
<<if $usbPassword1Unlocked != true>>
Selfie.png password:
<br>
<<textbox "_selfiePassword" _selfiePassword autofocus>>
<<button "Check password">>
<<if _selfiePassword == "awesomeFLEX">>
<<script>>
if (Dialog.isOpen() == false) {
var dialog = Dialog.setup("You're in!");
new Wikifier(dialog, "It took a LOT of guesses, but here you are! The password turns out to be... awesomeFLEX. Well, that says something about the frame of mind of the person that made it. But for now, let's ignore that, and see what this baby holds!");
Dialog.open();
}
<</script>>
<<replace "#result1">>Got it!
<<set $usbPassword1Unlocked to true>>
<<link "View file" "usbFile1">><</link>><</replace>>
<<else>>
<<replace "#result1">>Nope, that’s not it...<</replace>>
<</if>>
<</button>>
<br>
<span id="result1"></span>
<<if $exhaustionPercentage < $motivationPercentage && $exhaustion + $skillExhaustionCost < 100>>
<<gameLink "try to hack it" "pcUsbHacking" exhaustion:$skillExhaustionCost time:60>>
<<set $hackingProgress += Math.random() * (($carefreeCarefull * 2) + 20)>>
<<if $hackingProgress > 100>>
<<set $hackingProgress to 0>>
<<set $usbPassword1Unlocked to true>>
<<script>>
if (Dialog.isOpen() == false) {
var dialog = Dialog.setup("You're in!");
new Wikifier(dialog, "It took a LOT of guesses, but here you are! The password turns out to be... awesomeFLEX. Well, that says something about the frame of mind of the person that made it. But for now, let's ignore that, and see what this baby holds!");
Dialog.open();
}
<</script>>
<</if>>
<</gameLink>>
<<else>>
You just don't have the energy to work on hacking it right now.
<</if>>
<<else>>
<b>Selfie.png.txt</b>
<br>
<<link "View file" "usbFile1">><</link>>
<</if>>
<br><br>
<<if $usbPassword2Unlocked != true>>
Experiment_log_01.txt password:
<br>
<<textbox "_log1Password" _log1Password autofocus>>
<<button "Check password">>
<<if _log1Password == "assw0rd">>
<<replace "#result2">>Got it!
<<script>>
if (Dialog.isOpen() == false) {
var dialog = Dialog.setup("You're in!");
new Wikifier(dialog, "Using a few nifty tutorials online, you managed to get the password. And you can't believe what the password is just assw0rd. Whoever made these is either trolling you, an idiot, or a genius. Or perhaps all of the above, you frankly can’t tell at this point.");
Dialog.open();
}
<</script>>
<<set $usbPassword2Unlocked to true>>
<<link "View file" "usbFile2">><</link>><</replace>>
<<else>>
<<replace "#result2">>Nope, that’s not it...<</replace>>
<</if>>
<</button>>
<br>
<span id="result2"></span>
<<if $exhaustionPercentage < $motivationPercentage && $exhaustion + $skillExhaustionCost < 100>>
<<gameLink "try to hack it" "pcUsbHacking" exhaustion:$skillExhaustionCost time:60>>
<<set $hackingProgress += Math.random() * (($carefreeCarefull * 2) + 20)>>
<<if $hackingProgress > 100>>
<<set $hackingProgress to 0>>
<<set $usbPassword2Unlocked to true>>
<<script>>
if (Dialog.isOpen() == false) {
var dialog = Dialog.setup("You're in!");
new Wikifier(dialog, "Using a few nifty tutorials online, you managed to get the password. And you can't believe what the password is just assw0rd. Whoever made these is either trolling you, an idiot, or a genius. Or perhaps all of the above, you frankly can’t tell at this point.");
Dialog.open();
}
<</script>>
<</if>>
<</gameLink>>
<<else>>
You just don't have the energy to work on hacking it right now.
<</if>>
<<else>>
<b>Experiment_log_01.txt</b>
<br>
<<link "View file" "usbFile2">><</link>>
<</if>>
<br><br>
<<if $usbPassword3Unlocked != true>>
selfie2.png password:
<br>
<<textbox "_selfie2Password" _selfie2Password autofocus>>
<<button "Check password">>
<<if _selfie2Password == "bigger">>
<<replace "#result3">>Got it!
<<script>>
if (Dialog.isOpen() == false) {
var dialog = Dialog.setup("You're in!");
new Wikifier(dialog, "You keep on insisting, and after a few attempts... you're in! You finally guess the password, which turned out to be 'bigger'. It’s the kind of string that is both really easy and super hard to guess. Well, time to see what this baby holds!");
Dialog.open();
}
<</script>>
<<set $usbPassword3Unlocked to true>>
<<link "View file" "usbFile3">><</link>><</replace>>
<<else>>
<<replace "#result3">>Nope, thats not it...<</replace>>
<</if>>
<</button>>
<br>
<span id="result3"></span>
<<if $exhaustionPercentage < $motivationPercentage && $exhaustion + $skillExhaustionCost < 100>>
<<gameLink "try to hack it" "pcUsbHacking" exhaustion:$skillExhaustionCost time:60>>
<<set $hackingProgress += Math.random() * (($carefreeCarefull * 2) + 20)>>
<<if $hackingProgress > 100>>
<<set $hackingProgress to 0>>
<<set $usbPassword3Unlocked to true>>
<<script>>
if (Dialog.isOpen() == false) {
var dialog = Dialog.setup("You're in!");
new Wikifier(dialog, "You keep on insisting, and after a few attempts... you're in! You finally guess the password, which turned out to be 'bigger'. It’s the kind of string that is both really easy and super hard to guess. Well, time to see what this baby holds!");
Dialog.open();
}
<</script>>
<</if>>
<</gameLink>>
<<else>>
You just don't have the energy to work on hacking it right now.
<</if>>
<<else>>
<b>selfie2.png</b>
<br>
<<link "View file" "usbFile3">><</link>>
<</if>>
<br><br>
<<if $usbPassword4Unlocked != true>>
experiment_log_2.txt password:
<br>
<<textbox "_log2Password" _log2Password autofocus>>
<<button "Check password">>
<<if _log2Password == "assword">>
<<replace "#result4">>Got it!
<<script>>
if (Dialog.isOpen() == false) {
var dialog = Dialog.setup("You're in!");
new Wikifier(dialog, "And that’s one file down! The password was... assword. You don't know whether to laugh or groan. Perhaps both.");
Dialog.open();
}
<</script>>
<<set $usbPassword4Unlocked to true>>
<<link "View file" "usbFile4">><</link>><</replace>>
<<else>>
<<replace "#result4">>Nope, that’s not it...<</replace>>
<</if>>
<</button>>
<br>
<span id="result4"></span>
<<if $exhaustionPercentage < $motivationPercentage && $exhaustion + $skillExhaustionCost < 100>>
<<gameLink "try to hack it" "pcUsbHacking" exhaustion:$skillExhaustionCost time:60>>
<<set $hackingProgress += Math.random() * (($carefreeCarefull * 2) + 20)>>
<<if $hackingProgress > 100>>
<<set $hackingProgress to 0>>
<<set $usbPassword4Unlocked to true>>
<<script>>
if (Dialog.isOpen() == false) {
var dialog = Dialog.setup("You're in!");
new Wikifier(dialog, "And that’s one file down! The password was... assword. You don't know whether to laugh or groan. Perhaps both.");
Dialog.open();
}
<</script>>
<</if>>
<</gameLink>>
<<else>>
You just don't have the energy to work on hacking it right now.
<</if>>
<<else>>
<b>experiment_log_2.txt</b>
<br>
<<link "View file" "usbFile4">><</link>>
<</if>>
<br><br>
<<if $usbPassword5Unlocked != true>>
inventory.txt password:
<br>
<<textbox "_inventoryPassword" _inventoryPassword autofocus>>
<<button "Check password">>
<<if _inventoryPassword == "admin">>
<<replace "#result5">>Got it!
<<script>>
if (Dialog.isOpen() == false) {
var dialog = Dialog.setup("You're in!");
new Wikifier(dialog, "And of course the password is admin. This guy protected his files, and then chose the most... obvious password possible. Well, let's dig in!");
Dialog.open();
}
<</script>>
<<set $usbPassword5Unlocked to true>>
<<link "View file" "usbFile5">><</link>><</replace>>
<<else>>
<<replace "#result5">>Nope, that’s not it...<</replace>>
<</if>>
<</button>>
<br>
<span id="result5"></span>
<<if $exhaustionPercentage < $motivationPercentage && $exhaustion + $skillExhaustionCost < 100>>
<<gameLink "try to hack it" "pcUsbHacking" exhaustion:$skillExhaustionCost time:60>>
<<set $hackingProgress += Math.random() * (($carefreeCarefull * 2) + 20)>>
<<if $hackingProgress > 100>>
<<set $hackingProgress to 0>>
<<set $usbPassword5Unlocked to true>>
<<script>>
if (Dialog.isOpen() == false) {
var dialog = Dialog.setup("You're in!");
new Wikifier(dialog, " And of course the password is admin. This guy protected his files, and then chose the most... obvious password possible. Well, let's dig in!");
Dialog.open();
}
<</script>>
<</if>>
<</gameLink>>
<<else>>
You just don't have the energy to work on hacking it right now.
<</if>>
<<else>>
<b>inventory.txt</b>
<br>
<<link "View file" "usbFile5">><</link>>
<</if>>
<br><br>
<<if $usbPassword6Unlocked != true>>
Doctors note.txt password:
<br>
<<textbox "_doctorNotePassword" _doctorNotePassword autofocus>>
<<button "Check password">>
<<if _doctorNotePassword == "123">>
<<replace "#result6">>Got it!
<<script>>
if (Dialog.isOpen() == false) {
var dialog = Dialog.setup("You're in!");
new Wikifier(dialog, "... These are getting lazier and lazier. Did he just run out of passwords?");
Dialog.open();
}
<</script>>
<<set $usbPassword6Unlocked to true>>
<<link "View file" "usbFile6">><</link>><</replace>>
<<else>>
<<replace "#result6">>Nope, that’s not it...<</replace>>
<</if>>
<</button>>
<br>
<span id="result6"></span>
<<if $exhaustionPercentage < $motivationPercentage && $exhaustion + $skillExhaustionCost < 100>>
<<gameLink "try to hack it" "pcUsbHacking" exhaustion:$skillExhaustionCost time:60>>
<<set $hackingProgress += Math.random() * (($carefreeCarefull * 2) + 20)>>
<<if $hackingProgress > 100>>
<<set $hackingProgress to 0>>
<<set $usbPassword6Unlocked to true>>
<<script>>
if (Dialog.isOpen() == false) {
var dialog = Dialog.setup("You're in!");
new Wikifier(dialog, "... These are getting lazier and lazier. Did he just run out of passwords?");
Dialog.open();
}
<</script>>
<</if>>
<</gameLink>>
<<else>>
You just don't have the energy to work on hacking it right now.
<</if>>
<<else>>
<b>Doctors note.txt</b>
<br>
<<link "View file" "usbFile6">><</link>>
<</if>>
<br><br>
<<if $usbPassword7Unlocked != true>>
Chemistry notes.docx password:
<br>
<<textbox "_notesPassword" _notesPassword autofocus>>
<<button "Check password">>
<<if _notesPassword == "qwerty123">>
<<replace "#result7">>Got it!
<<script>>
if (Dialog.isOpen() == false) {
var dialog = Dialog.setup("You're in!");
new Wikifier(dialog, "You got it! And this is a big file, let's see what it holds!");
Dialog.open();
}
<</script>>
<<set $usbPassword7Unlocked to true>>
<<link "View file" "usbFile7">><</link>><</replace>>
<<else>>
<<replace "#result7">>Nope, that’s not it...<</replace>>
<</if>>
<</button>>
<br>
<span id="result7"></span>
<<if $exhaustionPercentage < $motivationPercentage && $exhaustion + $skillExhaustionCost < 100>>
<<gameLink "try to hack it" "pcUsbHacking" exhaustion:$skillExhaustionCost time:60>>
<<set $hackingProgress += Math.random() * (($carefreeCarefull * 2) + 20)>>
<<if $hackingProgress > 100>>
<<set $hackingProgress to 0>>
<<set $usbPassword7Unlocked to true>>
<<script>>
if (Dialog.isOpen() == false) {
var dialog = Dialog.setup("You're in!");
new Wikifier(dialog, "You got it! And this is a big file, let's see what it holds!");
Dialog.open();
}
<</script>>
<</if>>
<</gameLink>>
<<else>>
You just don't have the energy to work on hacking it right now.
<</if>>
<<else>>
<b>Chemistry notes.docx</b>
<br>
<<link "View file" "usbFile7">><</link>>
<</if>>
<br><br>
<<link "Continue with this later" "Bedroom">><</link>>
<</if>><<set setup.events.push(
{
name: 'joggingBaseReply',
locationTags: ['jogging'],
conditions: [],
repeatable: true,
retriggerable: true,
priority: 'filler',
npc: [],
content: `<<set _fatLoss to 0>><<if $bodyType is "skinny">> <<set _fatLoss += 0.1>> Well, you're running. You do have the advantage of being very light, even for your frame. But that also means there isn't much muscle either. Thin legs and little core strength do you no favors.<<elseif $bodyType is "average">> <<set _fatLoss += 0.1>> Running isn't MUCH of an issue for you, at least with your build. You're squarely average, so that means you pretty much got this, right? One leg in front of the other, rinse, repeat. And don't forget to breathe! You're certain that this mentality will still work after 10 minutes of running and hope it won't lead to a stream of swearing while panting heavily.<<elseif $bodyType is "athletic">> <<set _fatLoss += 0.3>> Now this is something your athletic body is made for: quick, lithe muscles give you incredible speed, and since your bodyweight is still comparatively low, you got quite the spring to your step. With this build, you're sure you'll get an amazing workout from this!<<elseif $bodyType is "bodybuilder">> <<set _fatLoss += 0.2>> Muscles you got plenty, but your body is also pretty bulky. You are a bit too heavy to maintain high speeds for prolonged runs. With your pecs bouncing and thighs rubbing against each other, a well-oiled running machine you aren’t. But the balance between your power and weight is enough that you can get a good workout out of it. It just takes some extra effort, that's all!<<elseif $bodyType is "hulk">> <<set _fatLoss += 0.3>> Yeah, when you run past, people notice. The explosive strength in your legs means you have little trouble building momentum and picking up a good speed, but the sheer mass of you does mean that the ground shakes at your passing and your momentum requires quite a bit of effort to come to a full stop. Windows rattle and floors shake as you run past, even when you try to be careful. But given your sheer mass, that is just the unavoidable reality!<<elseif $bodyType is "strong">> <<set _fatLoss += 0.3>> You're strong, nobody will doubt. But being able to run for a long time is a different matter; sure, you have got the power in your legs, but there is also a whole lot of mass to support and accelerate. It takes some time for you to get into the groove of it, but once your massive gather that momentum, you can keep a surprisingly steady pace!<<elseif $bodyType is "heroic">> <<set _fatLoss += 0.1>> Your build has been referred to as 'heroic'. So it is no surprise that you run like a superhero too. You can build up amazing speed, and keep it going for a long time while your tree-trunk legs make you look like an Olympian goddess with purpose and grace! The Dash, step aside! <<print $playerFirstName>> is here!<<elseif $bodyType is "gigantic">> <<set _fatLoss += 0.2>>Something as big as you shouldn't be running. Muscles so huge have no business being this quick, this powerful in their stride. Yet as you jog past, the ground shakes, surprising everyone that dares to look. Your body might be massive, but once it has gathered enough momentum, your gigantic leg muscles bulge and provide the full power they have got in them. Plenty to get you going, and more than enough to pick up a respectable speed!<<elseif $bodyType is "obese">> <<set _fatLoss += 0.5>>Why did you think running was a good idea? In no way or shape is your body made for it; thick layers of flab hide whatever muscles you have, and each step sends shockwaves through your body. But maybe that’s a good reason to do it anyway; to prove to yourself that you can do it, and to show that despite its sheer mass, your body has some hidden power!<<elseif $bodyType is "thick">> <<set _fatLoss += 0.4>>Yeah, you're not made for running. Within minutes, you're sweating and panting, trying to get your body to keep up. It's pure willpower that drives you along. Your steps are heavy, your body flabby, and damn it all, you're doing your best!<<elseif $bodyType is "heavy">> <<set _fatLoss += 0.4>>Sure, you're a bit heavier than others. And no one would accuse you of having a stereotypical runner body, but that doesn't mean you can't try, right? Once you start, you're doing decently, but you tire way quicker than someone lighter. Well, this is your body, and it's time to make the most of it!<<elseif $bodyType is "strongman">> <<set _fatLoss += 0.3>>Your body isn't one where people normally look at you and say 'now THAT’S a jogger'. You got immensely thick arms and legs with a noticeable amount of flab over your muscles. Yet, beneath, lies immense strength. You start slow and quickly begin picking up speed. And with your endurance, you can easily maintain a very respectable pace.<<elseif $bodyType is "fat">> <<set _fatLoss += 0.3>>Why are you even jogging? Nothing about your body is really meant to run: you have got a flabby stomach, and little leg muscles to get that pace up. But perhaps that's all the more reason to do it – not that you need one. After all, your body dictates the ceiling here, but YOU decide how much effort you put in.<<elseif $bodyType is "monstrous">> <<set _fatLoss += 0.3>>Your mass is immense. As you start running, at first you waddle forward, thighs rubbing against each other. Yet you just keep picking up speed, those leg muscles increasing your momentum like thick pistons. From a slow waddle you progress into a decent jog, and finally an unstoppable run. The sheer momentum is only controlled by your powerful sinew, all of it pumping and swelling as you start genuinely running. Whether you are leaving a trail of cracked pavement or just causing mini earthquakes is not your concern right now.<<elseif $bodyType is "sumowrestler">> <<set _fatLoss += 0.4>>Running. You might have huge muscles under all that flab, but running isn't something people imagine when they see you. Your gigantic body picks up inertia and momentum as your speed increases, which happens slowly. But as you start running, your pace just keeps picking up, until you are eventually in an honest-to-God run. Your feet slam against the pavement, and like a train picking up speed, you know that anything that crosses your path has two choices: move, or be moved.<</if>><br><br><<set _workoutSkill to 0>><<for _i to 0; _i < $skills.length; _i ++>> <<capture _i>> <<if $skills[_i].name is "Working out">> <<set _workoutSkill to $skills[_i].level>> <<set $skills[_i].experience += 10>> <</if>> <</capture>> <</for>><<if _workoutSkill == 0>> <<set _fatLoss += 0.1>>Hmmm. Maybe you would think that 'go out for a run' is something simple. But you notice that your pace isn't very steady. You stop and go erratically, pace constantly fluctuating as you stop to catch your breath all the time. It might be lack of experience, but, hey, that's why you're here, right? To improve yourself! <<elseif _workoutSkill == 1>> <<set _fatLoss += 0.2>>Your recent research into fitness and how your body works does help with keeping a steady pace. While you're far from an expert, you know well enough stretch beforehand, and to keep and eye on your heartrate.<<elseif _workoutSkill == 2>> <<set _fatLoss += 0.3>>Yeah, you know how to run. You're experienced with all the smaller details and your starting stretches catch people's eyes. From warming up to keeping pace... it just comes easily! And it pays off, as your workout is way more effective.<<elseif _workoutSkill == 3>> <<set _fatLoss += 0.4>>With your knowledge of working out and biomechanics, it's no surprise you run with such conviction. Lots of people assume that jogging is just 'going for a run', but you could spend hours talking about how to maximize it! From warms ups to cooldowns, pacing and BPMs... you won't overlook any small details, and you got it all down to a T.<<elseif _workoutSkill == 4>> <<set _fatLoss += 0.5>>Regardless of your body type, you make the most of it. With your knowledge of fitness and body mechanics, you could easily coach others, and your own workouts are nothing short of displays of excellence. Pacing, blood oxygen levels, BPM... you juggle it all constantly without batting an eye, making it all easier for you to keep a steady pace and jog like a true pro.<</if>><<set _fatLoss *= -1>><<addFatSlow _fatLoss>>`
},
{
name: 'ifMuscles>70orFat>70orBreasts>70_MakeAPath',
locationTags: ['jogging'],
conditions: [
() => State.variables.muscle >= 70 || State.variables.fat >= 70 || State.variables.breasts >= 70
],
repeatable: false,
retriggerable: true,
priority: 'response',
npc: [],
content: 'You lace up your shoes as usual, getting ready to take off on a jog around your apartment complex. You get going, following the sidewalks and footpaths that circumvent the buildings, at a brisk but not overly exhausting pace. Everything is going smoothly, your heart rate rising and the pleasant, familiar burning in your chest rising quickly. As you round a corner, you\'re caught off guard by two of your neighbors walking towards you, now suddenly face-to-face with you. You quickly jolt to the side in order to avoid a crash, but your exceptionally wide frame still means you check one of them with your side, sending them stumbling back a step.<br><br><<Dialogue "player" "You">>"Oh, my God! I\'m so sorry, I couldn\'t see you around the corner!"<</Dialogue>><br><br><<Dialogue "randomPerson" "Random person">>"It\'s okay, really! I\'m just as much at fault. And honestly, I can\'t blame you. With a body like that, this must happen a lot!<</Dialogue>><br><br><<if $submissiveDominant > 0>><<Dialogue "player" "You">>"And what exactly is that supposed to mean?"<</Dialogue>><br><br>You can see the stranger\'s face drop as their words finally seem to sink in.<br><br><<Dialogue "randomPerson" "Random person">>"Um... obviously I didn\'t mean it in a negative way. You\'re just a very... larger than life person. You have a way of... filling up whatever place you\'re in."<</Dialogue>><br><br><<Dialogue "player" "You">>"Hmm. Thank you! I like the sound of that a lot better."<</Dialogue>><br><br>You give a cheery wave before continuing on your way, taking a little extra care to watch out for pedestrians.<<else>><<Dialogue "player" "You">>"Really, I really am sorry! I\'m, uh... I\'m still getting used to all this, and just..."<</Dialogue>><br><br>You can feel your face quickly growing flush as you scramble to explain yourself.<br><br><<Dialogue "randomPerson" "Random person">>"Hey, hey, it\'s all right, really! No harm, no foul."<</Dialogue>><br><br>You heave a quiet sigh of relief.<br><br><<Dialogue "player" "You">>"Thank you. I was worried for a second there. You really were right: this body is a lot to handle!"<</Dialogue>><br><br>You exchange a quick wave with the passersby, who walks off seemingly no worse off for wear. You spend the rest of your run taking a little extra care to watch out for pedestrians.<</if>>'
},
{
name: 'ifBreasts>40_BoobsGoBoing',
locationTags: ['jogging'],
conditions: [
() => State.variables.breasts >= 30
],
repeatable: false,
retriggerable: true,
priority: 'response',
npc: [],
content: 'You gear up for a quick jog around your apartment complex, pleased with the lovely weather and quiet atmosphere outside. You start off at a nice leisurely pace, enjoying the rhythmic pattern of your feet hitting the ground. That is, until you notice another rhythmic thumping mirroring it. As you pick up more speed on your run, your pendulous breasts begin to do a little dance guided by the movement of your body. Swaying up and down, dropping with obvious weight in counterstep to your footfalls. And your <<print $outfit.top().name>> is not helping at all to hide them. <<if State.variables.confident > 0>>Of course, the display doesn\'t exactly bother you. You hold your head up a bit, casting cautious glances around to see if you can catch anyone staring. After all, a pair of melons like this is meant to be flaunted, wouldn\'t you agree? You make sure to put an extra little spring in your step as you finish off your run.<<else>>You squeal in shock as you realize just how much attention you\'re likely to draw with this. You quickly try any method you can to stop the bouncing of your bountiful breasts. Holding them in place with your hands just makes it look like you\'re actively trying to draw attention to them. Throwing your arms over your chest just pushes them up further. You finally decide to just hide your face by tucking your head down and sprint through the rest of the run as best you\'re able. Thankfully, you get through it without any incident. Well, aside from a sore chest and shoulders.<</if>>'
},
{
name: 'ifFitness=1_RunningIsHard',
locationTags: ['jogging'],
conditions: [
() => State.variables.skills[0].level === 1
],
repeatable: false,
retriggerable: false,
priority: 'response',
npc: [],
content: 'As you tie your running shoes, you mentally psych yourself up. You can do this! Jogging is perfect for someone who\'s just starting off with exercise! Every beginner does it, old people love it! Just a few quick laps around the apartment building, it\'ll be a breeze! And as you start off, everything seems to be lining up perfectly for you. You\'re able to maintain a brisk, steady pace. The cool dry air feels great in your chest. The rhythmic patting of your feet on the pavement is music to your ears. You feel like you could do this all day!<br><br>A short time later, your mood has changed considerably. Your lungs feel like they\'re on fire. Your thighs have lost all strength and your knees feel like they\'re about to give out on you. You have to end your jog early as you flop your way into the front door of your building. How do suburban housewives do this every day? You make your way back to your room, inhaling big gulps of air and trying not to heave audibly. That sucked. But... at least it\'s something, right? Maybe next time won\'t be so terrible.'
},
{
name: 'ifFitness=5_AFunJog',
locationTags: ['jogging'],
conditions: [
() => State.variables.skills[0].level === 4
],
repeatable: false,
retriggerable: false,
priority: 'response',
npc: [],
content: `You gather yourself up and prepare to take out on a run. With a long, but reasonable route planned out for yourself, you stretch your legs and fill your lungs with air, preparing yourself for the several <<if $measurementSystem == 'metric'>>kilometers<<else>>miles<</if>> ahead of you, before heading out onto your jogging route.<br><br>You steadily march onward. Your feet hit the pavement with powerful but controlled weight. The burning in your chest, no longer a painful sensation, but now familiar and invigorating. This run, which would have been impossible for you just a short time ago, is now a fun challenge. It's enough to get your heart pumping and make you sweat, but it leaves you with enough energy to give a cheery wave to any passersby you recognize. It allows you plenty of time for your mind to wander, and you take advantage of it to process your thoughts. As you round the halfway point of your run, it hits for you just how far you've come in your exercise regimen. It's possible that whatever is happening to your body is helping you, but you'd like to think your own dedication and hard work have got you here. In such a short amount of time, you've gone from couch potato to the sort of person you would have been inspired by when you moved here. As you reach the halfway point, you take a moment to mentally pat yourself on the back. Just this last leg would have been impossible when you started running. With an extra spring in your step, you pick up some more speed and head back home.`
},
{
name: 'ifEmmaMet_SayHi',
locationTags: ['jogging'],
conditions: [
() => State.variables.emmaOpinion >= 10
],
repeatable: false,
retriggerable: false,
priority: 'response',
npc: ['emma'],
content: 'Today you decide to take a route that brings you closer to the city on your jog. Just a spur of the moment decision to shake things up a bit. You quickly realize there are a lot more people along this route. <<if State.variables.confident > 0>>Not that you mind.<<else>>You immediately regret your decision.<</if>> But almost everyone is busy with their own affairs, meaning all you have to worry about is dodging people as you jog. Your route brings you to a crosswalk, forcing you to stop and catch your breath for a moment. As you wait for your signal, another jogger comes up alongside you, bouncing on her toes as she waits. You turn to glance at her and are surprised to see a familiar face. <br><br><<Dialogue "player" "You">>"Emma?"<</Dialogue>><br><br><<Dialogue "Emma" "Emma">>"Oh. Good day, <<print State.variables.playerFirstName>>. Nice seeing you here."<</Dialogue>><br><br>She\'s dressed in a matching tracksuit, her hair tied up in a neat ponytail. She\'s obviously working herself hard, as she is breathing heavily and she has a sheen of sweat on her face. Despite that, she is utterly composed and confident. Her face is the same neutral expression she wears at work even as she continues to jog in place.<br><br><<if State.variables.dominant > 0>>In an effort to match her energy, you gather yourself up and start jogging in place as well.<<else>>You take a half-step to the side to give her some room. Her apparent endurance is surprising.<</if>><br><br><<Dialogue "player" "You">>"Same. Absolutely did not expect to see you out here.<</Dialogue>><br><br><<Dialogue "Emma" "Emma">>"I make a point to get a certain amount of cardio in everyday. Good for the overall health. You look to be doing pretty well yourself on your run."<</Dialogue>><br><br>Just as she finishes, your signal lights up, and she immediately picks up her jog again. You follow alongside her, doing your best to match her pace.<br><br><<Dialogue "player" "You">>"Thank you! Now that I know you run out here, maybe I could come down here a little more often?"<</Dialogue>><br><br>She keeps her gaze fixed forward and gives an appreciative nod.<br><br><<Dialogue "Emma" "Emma">>"I\'m flattered. But perhaps not for the best. My jogs are my... me time, as it were. As such, I\'m inclined to keep it that way."<</Dialogue>><br><br><<Dialogue "player" "You">>"Ah... I see. Sorry, I didn\'t mean to impose."<</Dialogue>><br><br><<Dialogue "Emma" "Emma">>"Not at all. I genuinely am appreciative. It\'s nice to know we have this in common. Perhaps we can continue this another time? In the office, maybe?"<</Dialogue>><br><br><<Dialogue "player" "You">>"I\'d like that a lot!"<</Dialogue>><br><br>You come to a fork in the sidewalk. You look to Emma and gesture to the left, while Emma nods forward. You give her a quick wave before you go your separate ways.'
},
{
name: 'ifHeight>250_MindYourHead',
locationTags: ['jogging'],
conditions: [
() => State.variables.height >= 250
],
repeatable: false,
retriggerable: true,
priority: 'response',
npc: [],
content: 'You carefully duck through the door to your building, preparing yourself for a short jog. Ever since you\'ve started gaining in height, you\'ve grown accustomed to watching your head as you go about your day. Though you continue to get taller, life keeps throwing more challenges at you. Your normal path has become routine to you, and you know exactly when you need to dodge to get under something, but soon you\'re outdoors with nothing to be concerned about. You happily take off on your normal route. Everything is going smoothly, with nothing out of the ordinary. You\'re enter autopilot mode as you make your way through the college campus. So much so, that you barely realize that you\'re about to collide head-first with a thick tree branch until you\'re only moments away from impact. Thankfully, your reflexes are fast enough that you can quickly duck down without breaking your stride. You quickly stand back up, turning to look with offense at the intruding branch.<br><br><b>WHAM</b><br><br>You hadn\'t accounted for the possibility of a second branch.<br><br>Thankfully, you weren\'t going full speed, so you will likely only have a bump to show for it. Regardless, you decide to divert your path back home to grab an ice pack.'
},
{
name: 'ifMuscle>70andFat<20_TechnicallyStrongFat',
locationTags: ['jogging'],
conditions: [
() => State.variables.muscle >= 70,
() => State.variables.fat <= 20
],
repeatable: false,
retriggerable: false,
priority: 'response',
npc: [],
content: `You're midway through your jog when you realize you've been subject to a worrying trend. Despite your impressive (arguably superhuman at this point) strength... Going for a run is absolutely exhausting for you. You would think that with legs this powerful any kind of running would be a breeze, but you find yourself getting winded easier than ever these days. You rack your brain over it as you work your way through the jog, but find yourself unable to come up with an explanation. Aside from the fact that, maybe, whatever is happening to you is also killing you. But you'd rather put that thought out of your head.<br><br>As you come to the end of your jog, you happen upon Johan, just returning to the apartment building. You wave hello and decide to take the opportunity to share your woes with him.<br><br><<Dialogue "Johan" "Johan">>"I'm glad that you mentioned that actually! Your condition actually got me thinking lately, and it sort of brought me back around to this same topic. You see, your body is an interesting, unprecedented application of the square-cube law. Once I realize that, it only made since that your increasing mass-to-volume ratio would result in situations like this, where your body isn't able to keep up with itself -"<</Dialogue>><br><br><<Dialogue "player" "You">>"Johan. I'm really thankful for you going out of your way for me, but you're kind of losing me here."<</Dialogue>><br><br><<Dialogue "Johan" "Johan">>"Oh, right, okay. So... essentially what I'm led to believe is that your mass is increasing faster than your volume. Which would suggest that your weight is increasing faster than your strength. It's the same principle as to why, say, an ant is capable of lifting so much relative to its bodyweight, but in reverse. Is that making sense?"<</Dialogue>><br><br><<Dialogue "player" "You">>"I... think?"<</Dialogue>><br><br><<Dialogue "Johan" "Johan">>"Okay... To put it another way, while your strength is impressive... incredibly so, even... your body's weight is growing even faster than your ability to move it. So, for instance, say you weighed <<if $measurementSystem == 'metric'>>fifty kilos<<else>>a hundred pounds<</if>> when you moved in, and you could lift <<if $measurementSystem == 'metric'>>fifty kilos<<else>>a hundred pounds<</if>>. Now, again, for the sake of this example, maybe you weigh <<if $measurementSystem == 'metric'>>1000 kilos<<else>>2000 pounds<</if>> now, but you can only lift <<if $measurementSystem == 'metric'>>500 kilos<<else>>a 1000 pounds<</if>>. You've grown much stronger, but unfortunately you've also grown much <i>much</i> bigger."<</Dialogue>><br><br><<Dialogue "player" "You">>"I think I follow. So I'm guessing there isn't any way around this?"<</Dialogue>><br><br><<Dialogue "Johan" "Johan">>"Not unless you rewrite the laws of physics. Though, given everything that's happened to you, that may still be a possibility."<</Dialogue>><br><br><<Dialogue "player" "You">>"Nuts. Well, thanks, Johan. At least I know I don't need to start writing a will yet."<</Dialogue>>`
},
{
name: 'joggingWhenMotivated',
locationTags: ['jogging'],
conditions: [
() => State.variables.motivation >= 70,
() => State.variables.skills[0].level <= 2
],
repeatable: false,
retriggerable: true,
priority: 'filler',
npc: [],
content: 'While you\'re still struggling a bit with the whole jogging bit, you\'re enjoying it more and more! The fresh air, some movement... when you began doing this, you\'d never have imagined this, but at it turns out it\'s oddly relaxing. It\'s just one step in front of the other, shutting down your brain completely. With all that has been going on, that\'s a welcome change of pace!'
},
{
name: 'joggingWhenDemotivated',
locationTags: ['jogging'],
conditions: [
() => State.variables.motivation <= 50,
() => State.variables.skills[0].level <= 2
],
repeatable: false,
retriggerable: true,
priority: 'filler',
npc: [],
content: 'Why. Are. You. Doing. This??? You don\'t want to do this, you don\'t enjoy this, you HATE this. It\'s boring and repetitive and your mind just can\'t get into it. Even when you take a few breaks now and then, you\'re just reminded of the more useful things you can do. Urgh... well, maybe next time this\'ll be more \'fun\'.<<set $motivation -= 10>>'
},
{
name: 'ifLucky_getPotion',
locationTags: ['jogging'],
conditions: [
() => State.variables.krisObsessedOpinion >= 20,
() => State.variables.gameDate.getDay() === 1
],
repeatable: true,
retriggerable: true,
priority: 'filler',
npc: [],
content: 'You decide to head out for a jog around your complex. You lace up your shoes, grab, your phone, and chug some water before taking off on your regular route.<br><br>Everything goes along as basically as you expect<<if $skills[0].level >= 2>>, though that isn\'t exactly saying much given how low your expectations were for yourself<</if>>. As you head down a particularly narrow sidewalk, you list slightly to the side to avoid a bush, only to find yourself stumbling. You bring yourself to a stop, short of falling all over yourself, and look back to see what just happened. You had expected to see bush roots breaking from the concrete, but to your surprise, you see an odd glass bottle lying on its side. Is that what tripped you up?<br><br>You pick it up and eyeball the liquid sloshing around inside. There\'s no name on it, no brand, no identifying information of any kind. You shrug and slip it into your pocket. Whoever it belongs to, maybe you can at least track them down.<<krisGift "potion">>'
},
{
name: 'ifElenaFriends_sayHi',
locationTags: ['jogging'],
conditions: [
() => State.variables.elenaOpinion >= 20,
() => State.variables.gameDate.getDay() === 3
],
repeatable: false,
retriggerable: true,
priority: 'filler',
npc: ['elena'],
content: 'You decide to add some randomness to your jog today. You set out without a real plan in mind, content to wander the city as you get your exercise in. You mentally toss a coin at each intersection. It feels nice to just sort of explore, going about without a care. As you casually jog along, you take in the sights and people-watch to occupy your mind. It\'s almost meditative. But a familiar sight jolts you out of your laid back pace. Someone who just can\'t be ignored. A towering hulk of a woman with deeply tanned skin.<br><br><<Dialogue "player" "You">>"Elena! Hey, hun, what\'s up?"<</Dialogue>><br><br>Elena seems to have been out running errands. She\'s not dressed in her normal gym attire, just wearing a normal T-shirt and jeans. Although being out in public doesn\'t seem to help her shyness at all. As you spot her, she\'s walking awkwardly along the very edge of the sidewalk, as if trying to avoid other pedestrians entirely. Your greeting almost seems to startle her.<br><br><<Dialogue "Elena" "Elena">>"Oh! Hello, <<print $playerFirstName>>. N-nice to see you here."<</Dialogue>><br><br><<Dialogue "player" "You">>"Same! Nice little surprise seeing you here. What are you up to?"<</Dialogue>><br><br><<Dialogue "Elena" "Elena">>"Oh, just... groceries. Walking to the store is... nice, yes?"<</Dialogue>><br><br><<Dialogue "player" "You">>"Yeah, and it\'s a nice day for it, too! Weather\'s awesome. What do you say we..."<</Dialogue>><br><br><<if $height < 250>>You suddenly realize you\'re having a hard time keeping pace with Elena. Her regular walk has turned into a speedwalk, and with her significant height even your light jog is barely keeping pace with her.<<else>>You\'d slowed down to almost walking when you started talking, but you quickly realize your pace picked up again since. Elena has progressed into a powerwalk as you spoke.<</if>> She adamantly refuses to make eye contact and there\'s a tinge of a blush on her cheeks.<br><br><<Dialogue "Elena" "Elena">>"Itisverynicetoseeyou<<print $playerFirstName>>butIreallymustbegoingIamalittlebusytodayandIdontwanttobelategettinghome -"<</Dialogue>><br><br><<Dialogue "player" "You">>"Woah, easy there! It\'s okay, I\'ll see you around at the gym!<</Dialogue>><br><br>Elena takes a deep breath and nods back at you.<br><br><<Dialogue "Elena" "Elena">>"Yes. At the gym. I\'ll see you there, <<print $playerFirstName>>."<</Dialogue>><br><br>With that, she turns a corner and marches off, awkwardly, dodging a few other passersby as she goes. You smile to yourself. It\'s nice to get in a brief chat with her, at least. Such as it were.'
},
{
name: 'ifTightPants_Rip',
locationTags: ['jogging'],
conditions: [
() => ['too small', 'tight'].includes(setup.getFitDescriptionOfClothes(State.variables.outfit.bottom()))
],
repeatable: false,
retriggerable: true,
priority: 'response',
npc: [],
content: 'You bear along on your jog, everything moving along in a challenging but rhythmic way. You wipe some sweat from your forehead as you round a corner, before pulling up at the waistband on your <<print $outfit.bottom().name>>. It seems to be riding down on you today for some reason, and the last thing you want is to accidentally moon the various random people around here. You feel it ride down similarly a few more times as you move along, and you reach down to tug your waistband each time. Until, eventually, you hear a noise as you pull at it once more.<br><br><b><i>SHHHRRRRIP</i></b><br><br>At the same time, you feel a sudden breeze along your backside, and you immediately know what happened. Your hands reach back to your butt in a panic and feel the undeniable hole in your <<print $outfit.bottom().name>>. Now you suddenly don\'t feel quite as eager to finish your jog as you had been before, but unfortunately you\'re already on the back end of your route. No shortcuts left. You\'ve just got to ride it out...<br><br>Awkwardly holding one hand to your rear end, you power through. You can only feel your <<print $outfit.bottom().name>> tearing further as you move, and you quietly hope that it holds up until you get home. As if someone up there was listening to you, the clothing finally falls apart completely just as you shut your apartment door. Oh, well... Hopefully you\'ve still got something lying around here that can replace it.'
},
{
name: 'ifMuscle > 30AndFat<30_AdmireThePump',
locationTags: ['jogging'],
conditions: [
() => State.variables.muscle >= 30,
() => State.variables.fat <= 30
],
repeatable: false,
retriggerable: false,
priority: 'filler',
npc: [],
content: 'You stop just outside your apartment as you finish your jog. You stop and catch your breath, kneeling over to give your body a moment to rest. As your breathing slows, you stop and take a closer look at yourself. You realize as you look down at your still-burning legs that your thighs are looking especially huge today. It\'s most likely a fresh pump from your recent exercise, but you\'re a bit mesmerized by the way your quads flex beneath the fabric of your <<print $outfit.bottom().name>>. You give each of your legs a quick shake, marveling at the obvious weight your thighs display as they quake. You give them an experimental flex, and are only further surprised at how they burst forward seemingly out of nowhere.<br><br><<if $shyConfident > 0>>It\'s almost gratifying how huge you\'ve become so quickly. Whatever\'s happened to you, it\'s quickly becoming a blessing in its own right. With legs like these, you look like you\'ve been running track your whole life! The power is undeniable, and it leaves you with an extra ego-boosted spring in your step as you head back inside.<<else>>You squirm a bit inside as you take in the sight. These thick, burly legs, on a body which used to be so slim and slight... It\'s unsightly. You suppose as far as changes to your body go, it could be a lot worse... But this still acts as a reminder that you need to find a way to figure this as soon as possible.<</if>>'
},
{
name: 'ifFitness <3_ThankYouKindStranger',
locationTags: ['jogging'],
conditions: [
() => State.variables.skills[0].level < 2,
() => State.variables.muscle < 30,
() => State.variables.motivation < 50
],
repeatable: true,
retriggerable: false,
priority: 'filler',
npc: [],
content: 'You truck along on your jog, but today is harder than it has been for some reason. Maybe you\'ve been pushing yourself too hard, or maybe today is just hotter than what you are used to. Either way, you feel yourself dragging early on, before you\'ve even reached the midway point of your route. You forcefully suck air into your lungs, and try to stave off the burning pain in your chest and legs. Hell, if you finished without puking you\'d count yourself lucky.<br><br>As you turn on to head back to a busy road, you are mentally throwing in the towel. What\'s the harm in ending your run a little early today? It\'s not going to matter in the long term, right? Especially with your body changing the way it has. Your jog begins to slow down to a slightly brisk walk as you quietly surrender.<br><br>Your thoughts are cut off by a loud honk coming from behind you. You jump and turn around, expecting some kind of emergency. But instead you see a car slowing down as it approaches you. The passenger side window rolls down, and from inside you can hear... cheering? And that song from the classic boxing movie?<br><br><<Dialogue "randomPerson" "Random person">>"Woo, keep it up! Don\'t quit now, you\'re doing great!"<</Dialogue>><br><br><<Dialogue "randomPerson" "Random person">>"Yeah, you\'re killin\' it! Tough it out, you\'re almost there!"<</Dialogue>><br><br>There\'s another quick round of cheers from the remaining occupants of the car, before they speed back up and drive off just as quickly as they\'d appeared, honking some more. You\'re left there feeling utterly baffled. But also mysteriously motivated! You\'re not sure whether it\'s the kind words from a random stranger or the adrenaline from thinking you were about to be run over... But you decide not look a gift horse in the mouth. Maybe this little burst of energy will be enough to get you home without puking after all.<<set $motivation += 10>>'
},
{
name: 'ifMuscle=100OrFat=100_PropertyDamage',
locationTags: ['jogging'],
conditions: [
() => State.variables.muscle >= 90,
() => State.variables.fat >= 90
],
repeatable: false,
retriggerable: false,
priority: 'filler',
npc: [],
content: 'You carry along on your jog, nothing immediately out of the ordinary. Aside from adjusting to just how much width you take up on the sidewalk, at least. You briefly consider whether it would be feasible to just go for your jogs on the actual street. Your wandering mind is interrupted by a construction barrier in your path. You manage to bring yourself to a halt before crashing in an almost cartoonish way.<br><br>You take in the sight on the sidewalk in front of you. A construction crew is hard at work replacing the concrete path. The parts they haven\'t gotten to yet are covered with cracks and potholes. Though in all honesty, the potholes look more like small craters, as if someone had brought a sledgehammer down on them. You stand puzzled for a second, wondering what on earth happened here, until the construction workers take notice of you.<br><br><<Dialogue "randomPerson" "Random person">>"Oh, come on! Seriously, again?"<</Dialogue>><br><br>That only inspires you to look more confused, until you turn around and follow their gazes. The path behind you looks just the same as the one they are in the middle of repairing. Huge holes punched into the concrete at constant intervals... right where you had just been running. It finally clicks. Whoops. You look sheepish as the first worker hefts the barrier and dejectedly moves it further back along the road, covering the area you had just ran through. Another stops to pat you on the shoulder and grin.<br><br><<Dialogue "randomPerson" "Random person">>"Hey, as far as I\'m concerned, you keep it up. A few more months of this and I can put my kid through college."<</Dialogue>><br><br>You decide that a power walk would be a good idea for today. And maybe reevaluate your jogging route when you get home.'
},
{
name: 'ifBeginner_GetFitspired',
locationTags: ['jogging'],
conditions: [
() => State.variables.fitness > 3
],
repeatable: false,
retriggerable: false,
priority: 'filler',
npc: [],
content: 'You open the door to your apartment to let yourself back inside after your run, and you feel utterly exhausted. You slump inside feeling tired, gross, sweaty, and like you\'re burning alive. At least you did it, you suppose. But you certainly don\'t feel great. You drag yourself through the house, content to just throw yourself onto your bed and sleep the rest of the day away. But you should probably at least wash yourself off a bit first at least. Can\'t be soaking the bed with all that funk.<br><br>You step into the bathroom to splash some water on your face, heaving a deep sigh as you stand back up to your full height. You open your eyes and are caught off guard by what you see. You... don\'t look like garbage. In fact, you look damn good. You had heard people described as "glowing" before, but you had never witnessed it yourself. With just the right amount of blush on your face, and dressed in your running clothes... You actually look like the kind of person who would catch your eye in public. You take a moment to strike a couple of poses in the mirror and admire yourself. <<if $muscle > $fat>>Heck, in this state, your sleek, taut muscles look even better with the light reddish tint this blush paints across your body. You strike an experimental pose showing off your shoulders and your belly and are blown away at the sight.<<else>>Somehow the blush across your body just makes your plush, round curves look that much better. You run your hands across your breasts and abdomen, and you\'re caught off guard by how good you look.<</if>> You don\'t know if it\'s the recent growth spurt you\'ve experienced that\'s making you feel this good or if it really is just the advantage of the circumstances, but... damn, you look hot!<br><br>Your mood has suddenly done a complete 180 from when you came in. In fact, this felt like enough to give your whole self-image a little boost! You finish undressing and head off to take your shower, an extra bit of swagger in your as you walk there. <<set $shyConfident += 1>>'
},
{
name: 'ifFitness>=4AndMuscle>=100_SuperSpeed',
locationTags: ['jogging'],
conditions: [
() => State.variables.skills[0].level >= 4,
() => State.variables.muscle >= 100
],
repeatable: false,
retriggerable: false,
priority: 'filler',
npc: [],
content: `With a few content breaths, you find yourself coming to a stop outside your apartment at the end of your jog. You stretch your arms upwards and fill your lungs with fresh air before grabbing an ankle and pulling your leg behind yourself, feeling your hamstrings pulled taut and stretched pleasantly. You let yourself inside and prepare for your normal post-run cooldown when you remember a small detail. You need to check your phone!<br><br>While mindlessly browsing the other day, you had come across a neat-looking app that was meant to track your runs. Today was your first time going out on a jog with the app running, so you just have to see how well it worked! While pouring yourself some water, you thumb through your phone to find the app and pull it up, excited to see what all it recorded. You bring the app up as you take your first sip, and... wow. Something certainly seems to be going wrong here. The little GPS map looks accurate based on where you chose to run, but... the facts and figures can't be right. It says you averaged <<if $measurementSystem == 'metric'>>30 km<<else>>20 miles<</if>> per hour over the course of the jog? Max speed is <<if $measurementSystem == 'metric'>>50 km<<else>>35 miles<</if>> per hour? A quick search engine query confirms that the fastest recorded human running speed is somewhere just above <<if $measurementSystem == 'metric'>>45 km<<else>>28 miles<</if>> per hour... Ah, well. There's bound to be other apps like this out there, but this one doesn't seem to work quite right. There's no way you were running as fast as a car, right?`
})>>
<<for _i to 0; _i < setup.events.length; _i ++>>
<<capture _i>>
<<if setup.events[_i].locationTags.contains("jogging")>>
<<set setup.events[_i].content = "<<set $currentScene to \"Home\">>" + setup.events[_i].content>>
<</if>>
<</capture>>
<</for>><<nobr>>
<<set _rand to random(0,2)>>
<<if $lactationUnlocked>>
<<set _message to " As you expected, this drink is not just sugary, it's almost sickeningly sweet. Even refined sugar isn't this sweet, but even though you almost gag while drinking it, the taste slowly grows on you. It travels down, feeling more pleasant as the flavor slowly softens, with even a hint of almonds coming in. All in all, very pleasant experience, ending as a shudder travels over your entire body. And as you relax, the pressure in your chest lessens, and your breasts don't feel any less bloated. Odd. ">>
<<set $milkCapacityModifier += 0.1>>
<<else>>
<<set _message to " You expected this would taste extremely sweet, yet when it hits your tongue... nothing. Odd.">>
<</if>>
<<script>>
if (Dialog.isOpen() == false) {
var dialog = Dialog.setup("M-Store++");
new Wikifier(dialog, State.temporary.message);
Dialog.open();
}
<</script>>
<</nobr>><<nobr>>
<<set _rand to random(0,2)>>
<<if $lactationUnlocked>>
<<set _message to "The clear liquid washes down your throat quite smoothly, and you feel a nice and refreshing sensation travelling down. It has a slight hint of lemon, and immediately relaxes your body, especially around your chest. For some reason the pressure there just seems to ease up, a tightness that has been a constant since you started lactating.">>
<<if $milkProduction != 0>>
<<set $milkProduction -= 1>>
<</if>>
<<else>>
<<set _message to "This drink tastes like... Nothing. Odd. You expected this clear liquid to have some taste, but, right now, it just tastes like water. Your mouth does feel rather dry, somehow? But as far as you can tell, it doesn't seem to do anything.">>
<</if>>
<<script>>
if (Dialog.isOpen() == false) {
var dialog = Dialog.setup("Milk--");
new Wikifier(dialog, State.temporary.message);
Dialog.open();
}
<</script>>
<</nobr>><<nobr>>
<<set _rand to random(0,2)>>
<<set _message to "The surprisingly small bottle is quickly emptied, and immediately your hands tighten. You feel like you're going to crush the small fragile thing in your fingers, that's how big a punch the tiny dose had. It's so incredibly sour you feel your mouth pucker up. Yet, it doesn't stay like this; the feeling somehow travels across your body, especially lingering in your chest. You got no idea how, but somehow it makes you feel like your chest is just tightening! And as you look down, it doesn't just feel like it; your chest seems to have actually shrunk!">>
<<set $breasts *= 0.9>>
<<if $lactationUnlocked>>
<<set _message to "After the feeling is gone, you prod your chest a bit, making sure you are fine. Heh... well, they feel normal again. Normal, and a bit less tight. Maybe it has lessened how much milk your tits produce too!">>
<<if $milkProduction != 0>>
<<set $milkProduction -= 1>>
<</if>>
<</if>>
<<script>>
if (Dialog.isOpen() == false) {
var dialog = Dialog.setup("BRA-SHRINK-T1");
new Wikifier(dialog, State.temporary.message);
Dialog.open();
}
<</script>>
<</nobr>><<nobr>>
<<set _rand to random(0,2)>>
<<if $ass > 1>>
<<set _message to "This is peach-colored. It smells like peach. And yet when you drink this one, NOTHING happens. No taste, no creamy sensation. Nothing. You smack your lips, waiting for the hot sensation you sometimes have with other similar drinks... but nothing comes. That is, until you sit down, smacking your lips at the lack of taste. Suddenly, your ass just feels HARD, like you had just spent the last week exercising it. It doesn't feel bad, but it does feel like it has lost some softness.">>
<<set $lips -= 1>>
<<else>>
<<set _message to "This is peach-colored. It smells like peach. And yet when you drink this one, NOTHING happens. No taste, no creamy sensation. Nothing. You smack your lips, waiting for the hot sensation you sometimes have with other similar drinks... but nothing comes.">>
<</if>>
<<script>>
if (Dialog.isOpen() == false) {
var dialog = Dialog.setup("NOASS");
new Wikifier(dialog, State.temporary.message);
Dialog.open();
}
<</script>>
<</nobr>><<nobr>>
<<set _rand to random(0,2)>>
<<if $lips > 1>>
<<set _message to " This one is not so much a drink as some sort of lipstick? Opening the small container, you find only a little bit of it left, looking extremely dried up. It reminds you of lip balm... well, why not give it a try? As you put it on, it feels really refreshing; that strong scent of menthol like in those analgesic heat rub sprays. It's quite nice, and your lips feel tight, but tingly!">>
<<set $lips -= 1>>
<<else>>
<<set _message to "This one is not so much a drink as some sort of lipstick? Opening the small container, you find only a little bit of it left, looking extremely dried up. It reminds you of lip balm... well, why not give it a try? As you put it on, it feels really refreshing, but that's it. A bit anticlimactic...">>
<</if>>
<<script>>
if (Dialog.isOpen() == false) {
var dialog = Dialog.setup("lip-shrink//XX");
new Wikifier(dialog, State.temporary.message);
Dialog.open();
}
<</script>>
<</nobr>><<nobr>>
<<set _rand to random(0,2)>>
<<if $tongue > 1>>
<<set _message to "As you drink the liquid, your mind immediately goes to images of odd berries that make everything taste sweet. As the sticky texture lingers in your mouth, you smack your lips and try to scrape the weird stuff from the roof of your mouth. Heh, you must be making some weird faces right now. Yet, the way your tongue feels in your mouth definitely feels just as funny. More comfortable, like it just fits better.">>
<<set $tongue -= 1>>
<<else>>
<<set _message to "As you drink the liquid, your mind immediately goes to images of odd berries that make everything taste sweet. As the sticky texture lingers in your mouth, you smack your lips and try to scrape the weird stuff from the roof of your mouth. Heh, you must be making some weird faces right now. But as far as you can tell, there are no discernible changes. Odd...">>
<</if>>
<<script>>
if (Dialog.isOpen() == false) {
var dialog = Dialog.setup("Ton-shrink//01");
new Wikifier(dialog, State.temporary.message);
Dialog.open();
}
<</script>>
<</nobr>><<nobr>>
<<set _message to " You remove the cork, and give it a tentative sniff. Odd, no discernible smell. Carefully, you give it a lick. Again, doesn't seem to taste like anything. Yet, when you chug it down, it blossoms from nowhere. The mildest hint of vanilla, hidden in the milky drink. It's quite nice and makes you relax, despite the headache you feel incoming.">>
<<script>>
if (Dialog.isOpen() == false) {
var dialog = Dialog.setup("Temp-shy");
new Wikifier(dialog, State.temporary.message);
Dialog.open();
}
<</script>>
<<set $temporaryPersonalityGains.shyConfident -= 1>>
<<set $shyConfident -= 1>>
<</nobr>><<nobr>>
<<set _message to "This drink just feels... strong. It has hints of coffee and cocoa, tastes you won't soon forget. The little container brings a smirk to your face. This feels... good. Real good. The caffeine triggers a mild headache, but fuck it! You can deal with that, no problem!">>
<<script>>
if (Dialog.isOpen() == false) {
var dialog = Dialog.setup("Temp-con");
new Wikifier(dialog, State.temporary.message);
Dialog.open();
}
<</script>>
<<set $temporaryPersonalityGains.shyConfident += 1>>
<<set $shyConfident += 1>>
<</nobr>><<nobr>>
<<set _message to "The drink goes down smoothly, and has a really nice, pleasant taste. It's... sweet, though a bit understated. Nice and fresh, almost like the taste was tailor-made for you. It's comfort in a bottle, you realize. And you feel... well, you feel very comfortable, calmer and despondent. You feel a mild headache coming on, but you just go with the flow. At least for the time being.">>
<<script>>
if (Dialog.isOpen() == false) {
var dialog = Dialog.setup("Temp-sub");
new Wikifier(dialog, State.temporary.message);
Dialog.open();
}
<</script>>
<<set $temporaryPersonalityGains.submissiveDominant -= 1>>
<<set $submissiveDominant -= 1>>
<</nobr>><<nobr>>
<<set _message to "Oh, this is SPICY! It feels like a kick to the head, but in a good way! Cinnamon and pepper and just... vitality. After drinking it, you shake your head, smiling from ear to ear. Yeah, you feel FUCKING AMAZING! You get a raging headache, but to hell with it! You're not about to let anyone or anything tell you what to do!">>
<<script>>
if (Dialog.isOpen() == false) {
var dialog = Dialog.setup("Temp-Dom");
new Wikifier(dialog, State.temporary.message);
Dialog.open();
}
<</script>>
<<set $temporaryPersonalityGains.submissiveDominant += 1>>
<<set $submissiveDominant += 1>>
<</nobr>><<nobr>>
<<set _message to "It's hard to nail the taste of this drink. Not that you really care. It feels good and goes down smoothly, and it refreshes you. Why even care about the taste? You can't even be bothered by the incoming headache. Who gives a fuck?">>
<<script>>
if (Dialog.isOpen() == false) {
var dialog = Dialog.setup("Temp-Care");
new Wikifier(dialog, State.temporary.message);
Dialog.open();
}
<</script>>
<<set $temporaryPersonalityGains.carefreeCarefull -= 1>>
<<set $carefreeCarefull -= 1>>
<</nobr>><<nobr>>
<<set _message to "The taste of this drink is very... precise? You get a sharp taste of lemon, and very clear sweet notes. Not actual sugar, rather, some replacement with a slightly bitter aftertaste. It's pleasant, but gives you the urge to document and annotate everything, your brain suddenly feeling more active.">>
<<script>>
if (Dialog.isOpen() == false) {
var dialog = Dialog.setup("Temp-Caring");
new Wikifier(dialog, State.temporary.message);
Dialog.open();
}
<</script>>
<<set $temporaryPersonalityGains.carefreeCarefull += 1>>
<<set $carefreeCarefull += 1>>
<</nobr>><<set _shyConfidentTemporaryChange to $temporaryPersonalityGains.shyConfident>>
<<set _carefreeCarefullTemporaryChange to $temporaryPersonalityGains.carefreeCarefull>>
<<set _submissiveDominantTemporaryChange to $temporaryPersonalityGains.submissiveDominant>>
<<if _shyConfidentTemporaryChange != 0>>
<<if _shyConfidentTemporaryChange >= 0>>
<<set _shyConfidentTemporaryChange -= 1>>
<<set $shyConfident -= 1>>
<<elseif _shyConfidentTemporaryChange <= 0>>
<<set _shyConfidentTemporaryChange += 1>>
<<set $shyConfident += 1>>
<</if>>
<<set $temporaryPersonalityGains.shyConfident to _shyConfidentTemporaryChange>>
<<addMinimumExhaustion setup.balance.personalityChangeMaxExhaustionPentalty>>
<<addMotivation setup.balance.personalityChangeMotivationPentalty>>
<<set $personalityChanged to true>>
<</if>>
<<if _carefreeCarefullTemporaryChange != 0>>
<<if _carefreeCarefullTemporaryChange >= 0>>
<<set _carefreeCarefullTemporaryChange -= 1>>
<<set $carefreeCarefull -= 1>>
<<elseif _carefreeCarefullTemporaryChange <= 0>>
<<set _carefreeCarefullTemporaryChange += 1>>
<<set $carefreeCarefull += 1>>
<</if>>
<<set $temporaryPersonalityGains.carefreeCarefull to _carefreeCarefullTemporaryChange>>
<<addMinimumExhaustion setup.balance.personalityChangeMaxExhaustionPentalty>>
<<addMotivation setup.balance.personalityChangeMotivationPentalty>>
<<set $personalityChanged to true>>
<</if>>
<<if _submissiveDominantTemporaryChange != 0>>
<<if _submissiveDominantTemporaryChange >= 0>>
<<set _submissiveDominantTemporaryChange -= 1>>
<<set $submissiveDominant -= 1>>
<<elseif _submissiveDominantTemporaryChange <= 0>>
<<set _submissiveDominantTemporaryChange += 1>>
<<set $submissiveDominant += 1>>
<</if>>
<<set $temporaryPersonalityGains.submissiveDominant to _submissiveDominantTemporaryChange>>
<<addMinimumExhaustion setup.balance.personalityChangeMaxExhaustionPentalty>>
<<addMotivation setup.balance.personalityChangeMotivationPentalty>>
<<set $personalityChanged to true>>
<</if>><<nobr>>
<<widget "addMinimumExhaustion">>
<<set _input to parseInt($args[0])>>
<<set $minimumExhaustion += _input>>
<<if $minimumExhaustion >= 100>>
<<set $minimumExhaustion to 100>>
<<elseif $minimumExhaustion <= 0>>
<<set $minimumExhaustion to 0>>
<</if>>
<<update>>
<</widget>>
<</nobr>><<set setup.events.push(
{
name: 'breastsOverflowingAtHome',
locationTags: ['home'],
conditions: [
() => State.variables.breastsFullness === 'overflowing'
],
repeatable: true,
retriggerable: true,
priority: 'response',
npc: [],
content: 'You walk around your house with your breasts painfully overflowing with milk. Who would have thought that, within a few months of living here, you\'d have to fucking deal with THIS?! You try to distract yourself a bit from it by doing other activities, but at some point you notice the huge wet spots appearing on your <<print $outfit.top().name>>. Rich, creamy milk is flowing out of your nipples and leaving marks. Oh, God... you REALLY need to empty those soon.'
},
{
name: 'ifBreastsFullWithJohan_LeakWhileCarrying',
locationTags: ['home'],
conditions: [
() => State.variables.breastsFullness === 'overflowing',
() => !State.variables.outfit.bonuses().map(bonus => bonus.name).includes('LactationProof')
],
repeatable: false,
retriggerable: false,
priority: 'response',
npc: ['johan'],
content: `As you approach the apartment complex, you spot a stack of cardboard boxes by the main entrance. Two, four, six... <<if $height <= 200>>they're stacked nearly as high as you<<else>>even from your considerable height, this is a big stack<</if>>. You can only assume there must be someone new moving into the building, though it does strike you as odd that someone would be moving in at this point. You had assumed you'd be the last one arriving for the year. You soon find the answer to your musings, as you can hear someone taking heavy steps behind you, breathing heavily as they walk. You turn around and find yourself face to face with Johan.<br><br><<Dialogue "Johan" "Johan">>"Oh! Hi, $playerFirstName! How's the day treating you?"<</Dialogue>><br><br>He heaves as he stacks the box he's carrying on top of the others.<br><<Dialogue "player" "You">>"Johan? What's going on here? Are you moving out or something? <<if $Shy >= 1>>Please don't tell me you're moving out, I don't think I have it in me to find another friend here.<<else>>I mean, I'm happy for you and all, but you could have at least told me that you were planning it!<</if>>"<</Dialogue>><br><br><br><br><<Dialogue "Johan" "Johan">>No, no! Nothing like that. This is... well, this may honestly be more embarrassing."<</Dialogue>><br><br>Johan smiles sheepishly and absentmindedly puts a hand to the back of his head.<br><br><<Dialogue "Johan" "Johan">>"In short, I sort of had an agreement with my local game shop to store most of my Battlehammer figures there, and... well, it turns out my collection got bigger than I realized. They politely asked me to take it home with me to free up their storage space, and well..."<</Dialogue>><br><br><<Dialogue "player" "You">>"Are you telling me all of this is those little soldiers and elves you paint?"<</Dialogue>><br><br><<Dialogue "Johan" "Johan">>"Most of it is packaging, I assure you! The more elaborate ones can be pretty delicate, so I wanted to take extra care in transporting them. But... yes, if I'm being completely honest, my collection has grown pretty big over... what, ten to fifteen years of collecting? I'll be the first to tell you it's not a cheap hobby, but it's not as if I went out and bought this all last night! But, uh... that said, I don't suppose I could ask you a favor?"<</Dialogue>><br><br><<Dialogue "player" "You">>"Oh, boy. I guess I should have seen this coming."<</Dialogue>><br><br><<Dialogue "Johan" "Johan">>"<<if $muscle <= 20>>I know, you and I are both equipped with nothing but noodle arms, but four noodle arms will move faster than two!<<elseif $muscle >=50>>Come on, you know there's no one around here better than you to help with this! Not to reduce you to a pack mule or anything. But you can't deny it!<<else>>I hate to be that guy that suddenly asks his friends to help him move, but you're far better equipped than this for me, at least!<</if>>"<</Dialogue>><br><br><<Dialogue "player" "You">>"Well, I suppose I can't argue with that. Come on. Let's get a move on getting these boxes upstairs.<</Dialogue>><br><br>You take to helping Johan with his task, <<if $muscle <= 20>>the process taking a great many trips as you can each only manage a box or two at a time<<elseif $muscle >= 50>>boxes stacked high in your arms<<else>>and you can easily see how having the extra set of hands helps speed the process along<</if>>. Before you even know it, you're carrying the last load from the front door up to Johan's apartment.<br><br><<Dialogue "player" "You">>"Man. I know I commented earlier on there being a lot of these, but are you sure you have room for all of this at your place?"<</Dialogue>><br><br><<Dialogue "Johan" "Johan">>"Oh, it'll be fine. Like I said, it'll take up a lot less space once they're all out of the boxes, and with a little work I should be able to find a more permanent solution..."<</Dialogue>><br><br>Johan's voice trails off and you see a furious blush rising to his face. He sputters a bit and starts looking this and that way. He's gone straight from being his normal, happy, talkative self to a flustered ball of anxiety.<br><br><<Dialogue "player" "You">>"Johan? Johan, what's the matter?"<</Dialogue>><br><br><<Dialogue "Johan" "Johan">>"The matter? Well, nothing's the matter per se, it's just that, well, I just, you see, I happened to notice, well, it's just something that, I thought, maybe, I should probably bring to your attention, but perhaps I shouldn't, but maybe you'd...<br>*gulp*<br>It... you should look at your chest.<</Dialogue>><br><br>Puzzled, you look down and quickly realize why he got so worked up. Two quickly growing dark splotches soaking through your <<print $outfit.top().name>>. Oh no. That growing pressure in your breasts passed unnoticed among all that box-lugging effort. You're leaking milk right through your <<print $outfit.top().name>><br><br><<if $Shy >= 1>><<Dialogue "player" "You">>"Oh, God. Oh, no. I'm sorry, I-"<</Dialogue>><br><br>You hastily move to cover yourself, dropping the boxes you were carrying in the process. You stand there, quickly moving back and forth between collecting the dropped boxes and preserving your own modesty. All the while, you can feel the dampness spreading through your top and warm milk trickling between your fingers, your anxiety only growing as the flow of milk increases.<br><br><<Dialogue "player" "You">>"I, I... I'm sorry, Johan, I need to go!"<</Dialogue>><br><br>Without allowing Johan a chance to respond, you sprint off to the stairs towards your own room, covering your chest as you run, droplets of milk flinging left and right as you go. You run inside, slam the door behind yourself, and quickly toss your <<print $outfit.top().name>> aside. You run to the kitchen sink and squeeze your dripping breasts, desperate to relieve the pressure and stop the embarrassing leaking. You sigh in equal parts relief and embarrassment. Being caught leaking by your only friend in the building! You're absolutely mortified. The sound of twin jets of milk hitting your sink provides an almost meditative background noise as you contemplate your embarrassment. You don't even know how you're going to show your face to Johan next time.<<elseif $carefree >= 1>><<Dialogue "player" "You">>"Oh, shoot. I had a bad feeling about that. Well, no worries. It's just the two of us here and we're nearly finished anyway. Let me get this last load up to your place before I fix this.<</Dialogue>><br><br>You shift the boxes so that they're no longer touching your chest, to keep your milk from soaking into them. Johan, meanwhile, has locked eyes with you in an adamant attempt to avoid appearing as though he's looking at your leaking breasts.<br><br><<Dialogue "Johan" "Johan">>"$playerFirstName, I... Honestly, you should, probably, you know, go and take care of that, before, you know...<</Dialogue>><br><br><<Dialogue "player" "You">>"Don't sweat it. We'll move quick, and if someone does come along... eh, don't worry about it. I didn't think to take care of it, so it's my problem, right?"<</Dialogue>><br><br>The two of you continue through the stairs and hallways, your breasts soaking through your <<print $outfit.top().name>> and leaving a trail of milk droplets on the floor for all to see. Johan's blush has yet to leave his face, and he continues to look straight ahead as he walks. Before long you reach his apartment and you drop off the boxes you were carrying. Despite your talk, you are a bit relieved you didn't run into anyone else on the way.<br><br><<Dialogue "player" "You">>"And job done! I better go take care of this. Talk to you later, Johan!<</Dialogue>><br><br>Johan mumbles something in response, quickly ducking back into his apartment and waving a goodbye, still attempting to avoid any awkward eye movements. You find your way back downstairs quickly. You make an inane attempt at covering your chest as you walk, but it's clear at this point that you aren't going to be able to stop the milk from spilling easily. By the time you reach your apartment, the flow has progressed to several streams spraying weakly through your <<print $outfit.top().name>>. As soon as the door shuts, you remove the soaked top and begin to empty your still strained breasts into your kitchen sink. You sigh with relief, and to your slight shame, a bit of pleasure, as you squeeze heavy streams of milk out of your breasts. It takes several minutes with you bent forward over the sink to get your heavy breasts to stop leaking on their own. During the quiet time, you realize how glad you are that only Johan saw you like this. Had it been a stranger, it would have been terribly embarrassing, but with Johan... Well, maybe he was a bit embarrassed. But you can make it up to him, right?<</if>>`
},
{
name: 'ifBreastsFullWithElena_LeakWhileLifting',
locationTags: ['elenaGym'],
conditions: [
() => State.variables.breastsFullness === 'overflowing',
() => State.variables.elenaOpinion >= 20,
() => !State.variables.outfit.bonuses().map(bonus => bonus.name).includes('LactationProof')
],
repeatable: false,
retriggerable: false,
priority: 'response',
npc: ['elena'],
content: 'You join Elena for a workout at the gym, the two of you pushing each other to your limits as usual. It\'s a lengthy, grueling day today, focusing heavily on your chest. You\'re almost done with it. Just one last set on the pec fly machine to cap things off. You take your seat at the machine and get to work, placing your arms behind the pads and pushing forward so that they come together in front of your chest. You feel your pulse rise, breathing quicken, and chest ache as you push yourself to continue. Your arms squeeze together and come apart rhythmically, like a machine, and Elena\'s encouraging words feed your drive.<br><br><<Dialogue "Elena" "Elena">>"Yes, good job, $playerFirstName. Just five more, keep going! Almost there."<</Dialogue>><br><br>As you count out your reps, the burn in your muscles rises to its peak, but you simultaneously become aware of another sensation growing in your chest. A stab, a pressure, and it\'s coming from your breasts? You come out of the zone just to realize what\'s happening, just in time to feel a warm patch spreading across the front of your <<print $outfit.top().name>>. Looking down, you confirm it. You\'ve leaked milk all over your top, and not a small amount, either. What worse, you can feel more spurting from your nipples. You look back up to catch Elena\'s gaze, and she looks positively horrified. You\'re not sure if she\'s experiencing secondhand embarrassment for you, or she simply doesn\'t know how to respond.<br><br><<Dialogue "Elena" "Elena">>//Mio Dio//. You, you, I... Here, take this!<</Dialogue>><br><br>She tosses her gym rag in your direction and turns to the side in an attempt to preserve some of your modesty.<br><br><<Dialogue "Elena" "Elena">>You can... probably should... Uh, //il spogliatoio!!!// The changing room!!! You can... you may want to go there.<</Dialogue>><br><br><<if $submissiveDominant >= 1>><<Dialogue "player" "You">>"Don\'t fret over that, hun. You finish up, I can go take care of this by myself."<</Dialogue>><br><br>You drape the towel over your leaking breasts and casually press your arm to your chest, giving Elena an encouraging pat on the shoulder before slipping off to the locker room. You can sense more than a few pairs of eyes on you as you walk, but you don\'t let it bother you too much. Nothing that can be done about it at this point.<<else>><<Dialogue "player" "You">>"Oh, God. Yeah, you\'re right. I\'m just gonna..."<</Dialogue>><br><br>You desperately press the towel to your dribbling breasts and attempt to slip away to the locker room as subtly as possible. You can feel countless sets of eyes on you, and you\'re stuck between sneaking to the locker room and an all-out sprint.<</if>><br><br>After a fast walk, you duck into the locker room and quickly slip back into the very rear of the room to access the showers. You duck inside, jerk the curtain closed, and tear off your <<print $outfit.top().name>>. Now free from their containment, your breasts quickly go from dribbling to streaming, twin jets of milk nearly heading all the way across the shower as you can feel the pressure in your breasts decreasing. You sigh in <<if $submissiveDominant >= 1>>relief<<else>>embarrassment<</if>>. For a moment it\'s just you and the sound of your milk splattering forcefully on the tile. You give your overfull breasts a squeeze, hoping to speed the process along, and let out an involuntary shudder of pleasure. You wonder if you\'re beginning to like the changes you\'re going through. Or perhaps if you\'re turning into an exhibitionist.<br><br>As the spray of milk from your mammaries slows back to a gentle trickle, you can hear footsteps approaching the shower room.<br><br><<Dialogue "Elena" "Elena">>"Hello? $playerFirstName?"<</Dialogue>><br><br>You carefully poke your head out from behind the shower curtain and find Elena standing in the hall outside, standing awkwardly and still blushing.<br><br><<Dialogue "Elena" "Elena">>"I wanted to check on you. Is... is everything fine?"<</Dialogue>><br><br><<Dialogue "player" "You">>"<<if $submissiveDominant >= 1>>All good now. Just about managed to get it to stop. But not in time to save my top, unfortunately.<<else>>I\'m okay. I mean, I\'m not hurt. But I\'m more than a little embarrassed, and now my top is soaked through...<</if>>"<</Dialogue>><br><br><<Dialogue "Elena" "Elena">>"Oh, I came to help with that. Here. Borrow my extra shirt. I will just wear my gym top home.<</Dialogue>><br><br>She sheepishly hands you her spare shirt. It\'s a touching gesture, considering the situation. After giving your breasts one more squeeze to ensure no more imminent leaking, you throw Elena\'s shirt on. <<if $muscle <= 20>>It fits you more like a dress than a shirt, but at least it will get you home.<<elseif $muscle <= 40>>You\'re practically swimming in it, but at least you can get back home without getting arrested.<<elseif $muscle <= 60>>It fits you well enough, if a little baggy. Still, it\'s an absolute godsend from Elena right now.<<elseif $muscle <= 80>>You\'ve never been so thankful to have met her. There\'s probably no one else on Earth who would have had a shirt in your size just lying around.<<else>>To your mild surprise, it\'s actually a bit tight on you. But you can hardly look a gift horse in the mouth at this point.<</if>> You step back out of the shower and give Elena a huge smile.<br><br><<Dialogue "player" "You">>"Thank you so much! You\'re an absolute lifesaver. I\'ll be sure to have this cleaned and back to you ASAP!"<</Dialogue>><br><br>Elena manages to meekly smile, eyes still avoiding looking directly at you.<br><br><<Dialogue "Elena" "Elena">>"You\'re welcome. This is what friends do, right? I am just glad I could be of help.<</Dialogue>><br><br><<if $shyConfident >= 1>>You reward Elena with a bear hug<<else>>You awkwardly smile back and give a little wave<</if>> before grabbing your things and preparing to take off to save yourself any further embarrassment.<<set $currentScene to "Home">>'
},
{
name: 'ifBreastsFullWithEmma_LeakWhileWorking',
locationTags: ['office'],
conditions: [
() => State.variables.breastsFullness === 'overflowing',
() => State.variables.daysWorkedOffice >= 3,
() => !State.variables.outfit.bonuses().map(bonus => bonus.name).includes('LactationProof')
],
repeatable: false,
retriggerable: false,
priority: 'response',
npc: ['emma'],
content: 'You\'re sitting in your cubicle at work, working your way through file after file. Thus far it\'s just another day, task after task blending together in the monotony. You only barely register the sound of your manager\'s door opening as she exits her office. As methodical as she is, Emma always takes a walk through the office around the same times each day in order to check in on people. She walks through the aisles, scanning each person\'s desk, only to pause at yours. <<if $emmaDateOneComplete>>You hear her quietly clear her throat, and you turn to address her.<br><br><<Dialogue "Emma" "Emma">>"$playerFirstName, aren\'t you a little overdue for your break? You might want to get up for a minute. Maybe take a walk to the restroom while you have a moment?"<</Dialogue>><br><br>You look back at her, puzzled. You just got back from grabbing a drink of water and Emma is always strict with break time... You stare cluelessly until you realize she\'s nodding subtly toward your chest. You look down and realize in shock that you\'re leaking milk straight through your <<print $outfit.top().name>>!<br><br><<Dialogue "player" "You">>"Oh God. Uh, yeah, I think that may be a good idea. Thanks for the timely heads-up.<</Dialogue>><br><br>You cover yourself and slink away to the restroom as stealthily as you can. Praising your luck that you found yourself alone in there, you quickly bend over the sink and dig your fingers into your breasts, attempting to force out the remaining milk as fast as you can. You knead forcefully, jets of milk shooting with a splash into the sink. It\'s over mercifully fast, and the pressure in your chest relieved as a result. You wring out what was left in your <<print $outfit.top().name>> as best you\'re able and walk back to your desk, content to just keep your head down and work through the rest of the day without drawing attention to yourself. As you take your seat, you find a note left on your desk.<br><br>"$playerFirstName,<br><br>If this is a recurring issue, you can adjust your schedule to fit in the time you need to take care of it. I expect you not to take advantage of this, but I want you to be well accommodated here. You\'re a valuable employee.<br><br>- Emma"<<else>><<Dialogue "Emma" "Emma">>Miss $playerLastName. Do we need to have a conversation about the dress code in the workplace?"<</Dialogue>><br><br>You look back at her, puzzled. You just got back from grabbing a drink of water and Emma is always strict with break time... You stare cluelessly until you realize she\'s nodding subtly toward your chest. You look down and realize in shock that you\'re leaking milk straight through your <<print $outfit.top().name>>!<br><br><<Dialogue "player" "You">>"Oh, God. I\'m so sorry, I didn\'t even realize. I\'m sorry, I\'ll just go take care of it.<</Dialogue>><br><br>You cover yourself and slink away to the restroom as stealthily as you can. Praising your luck that you found yourself alone in there, you quickly bend over the sink and dig your fingers into your breasts, attempting to force out the remaining milk as fast as you can. You knead forcefully, jets of milk shooting with a splash into the sink. It\'s over mercifully fast, and the pressure in your chest relieved as a result. You wring out what was left in your <<print $outfit.top().name>> as best you\'re able and walk back to your desk, content to just keep your head down and work through the rest of the day without drawing attention to yourself. As you take your seat, you find a note left on your desk.<br><br>"Ms. $playerLastName,<br><br>While I\'m sympathetic to whatever your situation may be, please stay on top of this in the future. This is completely inappropriate for the workplace and I\'m only letting off with a warning because no one else noticed. Further incidents may result in reprimands.<br><br>- Emma"<</if>>'
},
{
name: 'ifBreastsTightAtGym_UncomfortableBenchPress',
locationTags: ['gym'],
conditions: [
() => ['overflowing', 'full'].includes(State.variables.breastsFullness),
() => !State.variables.outfit.bonuses().map(bonus => bonus.name).includes('LactationProof')
],
repeatable: false,
retriggerable: false,
priority: 'filler',
npc: [],
content: 'You\'re pushing your way through your regular weightlifting routine. You\'re performing okay, except... you have a major distraction today. You\'re in the midst of your bench press, and with every lift you\'re getting a painful reminder of the changes your body are going through. As the bar drops down and slows to a stop, it sinks gently into your breasts, the same as it always does. But this time, it comes with a soreness far, far beyond what it should. It\'s clear what\'s happening when you think about the fullness in your breasts lately. Your breasts are clearly in need of attention. They\'ve gotten so full that just going through your normal daily routine leaves them tender. And you get another painful reminder as the barbell touches your chest again. This time right on top of your nipples for that extra bit of shock. You rack the bar and sit up with a frustrated sigh. <<if $shyConfident >= 1>>You put your hand to your chest and give you boobs a gentle squeeze, just sort of confirming the sensation that was there. You give another quiet huff.<<else>>You sheepishly wrap your arms across your chest. This experience has only furthered your awareness of your changing body.<</if>> Either way, this is going to require some... adjustments to your routine today. And that\'s on top of your now fouler mood. You\'re going to have to power through this, but you\'re not going to enjoy it.<<set $motivation -= 10>>'
},
{
name: 'ifLeakingAndBreasts>60_TooBigTooHandle',
locationTags: ['apartment'],
conditions: [
() => ['overflowing', 'full'].includes(State.variables.breastsFullness),
() => State.variables.breasts >= 70
],
repeatable: false,
retriggerable: false,
priority: 'filler',
npc: [],
content: 'You\'re attending to your regular chores at home when you feel a telltale wetness forming at the front of your <<print $outfit.top().name>>. You\'re clearly leaking milk. You sigh and mentally kick yourself for not taking care of it when you got up this morning, but if nothing else you can resolve the issue now. You quickly strip off your top and find your way to the kitchen sink, and wrap your arms around your breasts to empty yourself. Or, at least you attempt to. To your shock, you realize your breasts have grown so big that your arms can\'t reach all the way to your nipples. You think of how to tackle this as your nipples continue to drip into the sink. You could stand here and let them drip til they were empty, but that would take forever, if it worked at all. You look down at your arms, cupping your enormous tits in a cartoonish way. An idea forms in your head, and you sort of scoop your boobs up, and press them together in hopes of squeezing them dry that way. And somehow, that works! Mostly. Milk sprays out from your breasts, alright, all across the wall behind your sink. In a panic, you let your pendulous breasts go and they sink back into your arms. <<if $carefreeCarefull <= 0>>You take a look at the results and shrug. At least it gets the job done! You gather up your enormous boobs and smash them together again, twin fountains of milk haphazardly spraying out in response. It\'s successful, mostly, in that a decent portion of the milk makes it into the sink. If you\'re being honest with yourself, you\'re mostly having fun playing with your giant breasts, kneading and squishing them like clay.<<else>>This just isn\'t going to be an option, not with the mess that\'s going to result in. You rethink your predicament, and come up with a new plan. You bend forward and let your breasts rest in the sink, placing your arms on top of them and press down on top of them. The relief you feel is pure ecstasy. Milk practically floods out of your nipples and into the sink, the sound of the veritable waterfall rushing out of you accentuating your relief. You sigh in satisfaction as you feel your breasts emptying.<</if>> Before long, you manage to drain yourself until it\'s no longer an immediate problem<<if $carefreeCarefull >= 1>>, though the mess you\'ve left behind will probably take some time to attend to<</if>>. Tucking your melons back into your <<print $outfit.top().name>>, you set back to your other duties.'
},
{
name: 'ifLeakingAndBreasts>EmmaWork',
locationTags: ['office'],
conditions: [
() => ['overflowing', 'full'].includes(State.variables.breastsFullness),
() => !State.variables.outfit.bonuses().map(bonus => bonus.name).includes('LactationProof')
],
repeatable: false,
retriggerable: false,
priority: 'response',
npc: ['emma'],
content: 'You are in the zone - it doesn’t always happen, but sometimes at work you get in that same headspace when you are having the perfect jogging session: the rest of the world fades around you, and it’s just the task - you bulldoze through it, and a comet could fall next to you and you’d never even realize. That’s where you are right now, just mowing task after task for hours, at a breakneck pace that you wouldn’t even believe you could reach… except that you are doing it.<br><br>But as your productivity goes up, your awareness goes down… until a threshold is crossed. The example was a comet, but very few things can bother the human mind more than the sound of dripping, and it’s exactly this that snaps you out of the zone.<br><br><<Dialogue "player" "You">>"SHIT!"<</Dialogue>><br><br>As you come to your senses, you find your <<print $outfit.top().name>> damp with milk, a small puddle forming next to your keyboard as you step back from your hunched posture. Your eyes dart around, trying to see if anyone else noticed, but your cubicle is covered enough that you might just get away with it.<br><br>You grab some pieces of scrap paper and start toweling off the excess, and then you improvise a shield with a folder so you can make your way to the restroom.<br><br><<if $height > 195 || $muscle > 60>>Unfortunately, your rather large frame makes it hard for you to be discreet, and people always naturally look at you whenever you pass by the corridor.<</if>> As you rush there, you keep looking around, and the stain on your clothes is a bit too obvious to ignore. You hear whispers as you pass, and hope it’s the usual office gossip or just your imagination. <<if $shyConfident < 0>>You just want to dig your head under the carpet and die right now.<</if>><br><br>You get to the thankfully empty bathroom, and move to the farthest stall, where you close the door and start emptying your proverbial jugs into the toilet. <<if $shyConfident < 0>>You try to get as close as possible, to minimize the sound, even though, if you stopped to think, liquid dripping is exactly the use case of this implement.<</if>><br><br>Suddenly, you hear the door opening. You freeze for a second. You know those heavy, rhythmic and decided steps well.<br><br><<Dialogue "Emma" "Emma">>"Miss <<print $playerLastName>>, there’s some… gossip going on in the office right now…"<</Dialogue>><br><br>Shit shit shit!!!<br><br><<Dialogue "Emma" "Emma">>"Our policy highly discourages this kind of behavior, of course…"<</Dialogue>><br><br>Fuck!!!<br><br><<Dialogue "Emma" "Emma">>"So I was very clear I did not want ANYONE gossiping about their colleagues in that way."<</Dialogue>><br><br>Wait, what?<br><br><<Dialogue "Emma" "Emma">>"Miss <<print $playerLastName>>, I want you to know, we understand that accidents happen in the workplace, and we also have quite a few working mothers in our roster. Our general policy is that breaks to deal with lactation are perfectly acceptable at any time. We even have a dedicated pumping station in the back of the cafeteria, in case you didn’t notice. Of course, this is just a random reminder of some of our policies, I’m sure you understand."<</Dialogue>><br><br>Damn, Emma. Can you be a more perfect boss?<br><br><<Dialogue "Emma" "Emma">>"Oh, by the way, I happened to come across these nice jackets we gave out at the corporate getaway last winter… we went to a skiing resort, and these happen to be very waterproof - and have the company logo, so they fall within our rules for workplace attire. Huh… this one might just be the right size for you. I’ll just leave it here while I wash my hands, I’ll TRY not to forget it on the sink after I leave…"<</Dialogue>><br><br>Damn, I guess she can.<br><br>You hear the sink running, then stopping, then her steps getting out. You finish draining the last of the milk, and walk out to grab and wear the nice green jacket she left.<br><br>You walk back to your chair… and hope this kind of accident doesn’t happen here again.'
},
{
name: 'KrisLactation',
locationTags: ['kris'],
conditions: [
() => ['overflowing', 'full'].includes(State.variables.breastsFullness),
() => !State.variables.outfit.bonuses().map(bonus => bonus.name).includes('LactationProof')
],
repeatable: false,
retriggerable: false,
priority: 'response',
npc: ['kris'],
content: `Ah, caffeine. Sometimes it feels like the only thing that keeps you going these days. You feel quite adventurous today, and think about trying something different (look at you!).<br><br>
You wait in line, and look at the complicated menu full of unnecessary Italian words<<if $elenaOpinion > 20>> (you kinda wish Elena was there to translate some of those for you - you always get the cup sizes mixed up when ordering…)<</if>>. But you soldier on, mumbling words to yourself while you try to decide what you will have. Soon, you are at the front of the line, still looking distractedly at the chalkboard and its artful list of options.<br><br>
<<if $carefreeCarefull >= 1>>But as you get there, your attentive eyes immediately notice that Kris is running the cashier, so you brace yourself for some inappropriate behavior. Instead, however, you are surprised to see she’s… well… mostly behaved. <<else>>You keep scanning the menu casually, trying not to hold the line too long. But by the time you lower your eyes, you find Kris, being unusually quiet and behaved. Well, mostly.<</if>> She is licking her lips, staring at you… not your eyes… a little further down.
<<if $shyConfident <= -1>>It makes you quite uncomfortable, and you end up avoiding eye contact entirely.
<<elseif $submissiveDominant > 1>>You snap your fingers right in front of her nose, looking her straight in her eyes. Other than breathing a little deeper, and biting her lips harder to the point you can see her piercing them, bleeding a bit, she seems undeterred by your intervention.
<<else>>You just ignore her, it’s just Kris being Kris after all…
<</if>>
<<Dialogue "player" "You">>"I will have the… uhh… I guess the… dulce de leche espresso… grande…"<</Dialogue>><br><br>
Her naughty grin persists unabashed, and she’s still not establishing eye contact.<br><br>
<<Dialogue "Kris" "Kris">>"Would you like some milk with that?"<</Dialogue>><br><br>
<<Dialogue "player" "You">>"I mean, it’s an espresso, I would have ordered a latte otherwise… though, that doesn’t sound like a bad idea. Yeah, you can add milk."<</Dialogue>><br><br>
<<Dialogue "Kris" "Kris">>"Of course… the house’s…"<</Dialogue>><br><br>
Her grin grows to scary proportions, as she completes the thought in an even more provocative and louder tone:<br><br>
<<Dialogue "Kris" "Kris">>"... or YOURS?!?"<</Dialogue>><br><br>
Confused, you try to process what she means… OH! You look down, <<if $breasts >= 45>>staring at your rather inflated top,<</if>> only to find that your clothes are rather damp with your leaking breasts.<br><br>
<<if $shyConfident <= -1>>You cover your little galactorrhea mishap, blushing at Kris and her rather loud announcement - you scan around you, but thankfully the other patrons seem to discount it as… well, just another “Krishap”.<<else>><<Dialogue "player" "You">>"Ugh, not again!"<</Dialogue>><br><br>
<</if>>Kris starts tilting her head sideways, and approaching your breasts slowly over the counter, her mouth slowly opening as she approaches your moistened nipple.<br><br>
<<if $submissiveDominant > 1>>You lift your hand, placing it firmly against her shoulder. She just keeps pushing against it, rather unsuccessfully, undiscouraged.<br><br>
<<Dialogue "player" "You">>"Alright, hand over your apron, Kris."<</Dialogue>><br><br>
You order her, with a very demanding tone. Her eyes widen, and she stands back down, taking the apron off and handing it over with a very solemn answer:<br><br>
<<Dialogue "Kris" "Kris">>"Yes, miss <<print $playerLastName>>!"<</Dialogue>><br><br>
Huh. Who would’ve thought this would work? You cover yourself with the thick (and thankfully waterproof) apron.<<else>><<Dialogue "player" "You">>"Can… can we not do this, Kris? Please?"<</Dialogue>><br><br>
You say, as you pinch the bridge of your nose and close your eyes, annoyed.<br><br>
<<Dialogue "Kris" "Kris">>"What? Am I not entitled to some milk as well?"<</Dialogue>><br><br>
She replies, in a begging tone, as her tongue lashes out towards you.<br><br>
You roll your eyes, and just give up.<</if>><br><br>
<<Dialogue "player" "You">>"So… can I have my espresso?"<</Dialogue>><br><br>
Kris goes back to prepare your order, as another employee takes over the cashier. You wait for a bit, looking at your phone to pass the time.<br><br>
<<Dialogue "Kris" "Kris">>"Yoo-hoo… <<print $playerFirstName>>..."<</Dialogue>><br><br>
She is at the end of the counter, shaking a cup with your name written on it. And the grin is still there. You walk over, and grab the cup, but it takes a small tug for her to let go. You walk out, taking a sip… wait a minute. You open the paper container, to find it’s just steamed milk.<br><br>
You look back at her, and she’s winking at you, and mouthing what seems to be a “mooooo.”<br><br>
You sigh and decide this is just not worth the trouble.<<set $krisOpinion += 2>>`
})>><<set setup.events.push(
{
name: 'eddyIntro',
locationTags: ['fitnessStore'],
conditions: [
() => State.variables.eddyIntro != true
],
repeatable: false,
retriggerable: false,
priority: 'immediate',
npc: [],
content: 'You spot the Bulk Barn from quite afar: the local supplement store is anything but discreet: the front is nothing but glass, with a smattering of different oversized colorful bottles - and decorated with posters, cardboard cutouts and a video screen of VERY strong people. The message is clear: you wanna get BIG, this is the place to go.<BR><BR>As you approach the entrance, the flashy window becomes a little less appealing: it would seem the many bottles are very haphazardly arranged in no particular order, giving the establishment a somewhat chaotic energy. The music blaring for the screen, showing several commercials of supplements and snippets from bodybuilding competitions makes the store… <<if $shyConfident > 1 || $submissiveDominant > 1 || $muscle >= 35>>almost hypnotically enticing. Already hooked in,<<else>>extremely intimidating. Hesitantly,<</if>> you step inside.<br><br>Crossing the threshold, you are still somewhat shocked: <<if $carefreeCarefull > 1 || $skills[2].level > 2>>if the outside display looked messy, the interior of the store is downright chaotic, making you feel uneasy as the towers of huge bottles seem stacked in a fashion that could topple like dominoes if someone distractedly bumped on one!<<else>>the interior does not look much better, the merchandise arranged in no particular order or even trying to look neat on their shelves.<</if>> Finding anything specific here seems like a workout in and of itself! But you zig zag your way through the many displays and shelves, as you start to hear a booming voice from the back of the store, despite the blaring music being pumped through the speakers.<br><br><<Dialogue \"Eddy\" \"Eddy\">>\"... with the herbal tea, it certainly will help, but you might want to look into creatine - not only I swear by difference it made in my workouts, but I just find it an overall great addition to any diet. Seriously, I’ve been reading on some of the recent research on ergogenic aids, and there are some truly exciting data showing that it might even help with...\"<</Dialogue>><br><br>There is a burly dude, not particularly tall, but VERY strong-looking, behind the counter, loudly speaking AT this confused teen girl, who responds shortly:<br><br><<Dialogue \"randomPerson\" \"Teen girl\">>\"Huh… I just wanted to know if you knew where the coffee shop was, dude!\"<</Dialogue>><br><br>She leaves, a mix of intimidation, irritation and just plain confusion. The big guy, however, looks undaunted as he holds his equally large and very sincere boastful smile. You approach tentatively, taking in the full view of what you presume to be the shop owner.<br><br>Wearing a faded heavy metal sleeveless tank top, the balding blonde sports a shallow beard around his toothy grin. His muscular arms wave as frantically as his mouth flapped while talking to the girl, giving him this very energetic and exciting, albeit somewhat intimidating, aura. He follows the girl all the way to the door, still talking about the interactions of caffeine and creatine, completely ignoring your presence in the process. As he comes back, one of his hands taps one of the precariously placed supplement bottles, almost making the whole shelf come down - but his quick reflexes somehow catch it in time, and he just returns the receptacle in an equally precarious position before making his way back to the counter.<br><br><<Dialogue \"Eddy\" \"Eddy\">>\"Oh! Hey! Didn’t see you there! I’m Edward, but everyone just calls me Big Eddy! I run this here store, the Bulk Barn! We are the premiere location for buying supplements in town, but we also sell all kinds of exercise equipment, if you are so inclined…\"<</Dialogue>><br><br>He motions towards the big pile of weights in the back, arranged just as randomly as everything else.<br><br><<if $muscle >= 35>><<Dialogue \"Eddy\" \"Eddy\">>\"You look like you know your stuff, but I am more than happy to help if you have any questions regarding nutrition or supplements. Frankly, I kinda enjoy just talking about fitness, in case you hadn’t noticed. Why, just now, I was having this amazing conversation with a girl about the benefits…\"<</Dialogue>><br><br><<else>><<Dialogue \"Eddy\" \"Eddy\">>\"If you have any questions about supplements - or exercise in general - or nutrition, or the latest research, or bodybuilding competitions, or maybe if you want to talk about the latest and greatest metal songs, you’ve come to the right place. I will be happy to answer any questions, give tips, or just talk about it, really.\"<</Dialogue>><br><br><</if>>Wow, okay, and you thought Johan was a blabbermouth. Big Eddy is on a roll, and he speaks so fast it’s almost hard to keep up - his tongue seemingly just as strong as any of his limbs. Still, there’s something about his energy that is incredibly inviting and inclusive - motivating, instead of intimidating. Still, right now, you are a bit overwhelmed by it, so you try to answer as politely as you can:<br><br><<Dialogue \"player\" \"You\">>\"Huh… I will just browse a bit for now, if you don’t mind? But I promise I will come back to you if I have any questions. Thanks!\"<</Dialogue>><br><br>Big Eddy rambles on, like a mix between an excitable beagle and Santa Claus on steroids. It’s hard to deny that his enthusiasm is contagious, but your brain is not quite ready to absorb so much information at this speedy rate. Right now, you decide to have a look at what the Bulk Barn has in store.<<set $eddyIntro to true>>'
},
{
name: 'eddyJobOffer',
locationTags: ['fitnessStore'],
conditions: [
() => State.variables.eddyIntro,
() => State.variables.daysPlayed > 2
],
repeatable: false,
retriggerable: false,
priority: 'response',
npc: [],
content: 'You return to the now familiar supplement store, only to find something you thought completely impossible: a much bigger mess than usual.<br><br>It is almost impossible to even enter the store - there are piles of boxes and bottles all over the floor, requiring you to carefully step like you are negotiating a minefield. <<if $muscle >= 40 || $fat >= 40 || $height >= 175>>Given your larger-than-average size, this requires even more care, since any wrong move could trigger a chain reaction avalanche of products.<</if>><<if $carefreeCarefull > 1>> Thankfully, your very careful nature means this is just a matter of taking some extra time to traverse this perilous corridor, making way to a very confused and flustered Big Eddy behind the counter.<<elseif $carefreeCarefull < -1>> Still, you just lumber through, bumping on stuff and making the mess even bigger as you tip the merchandise over. Frankly, at this point, the store is already such a big mess that having more stuff on the ground is not going to make that much of a difference. So as you play miniature giant lizard monster in cardboard Tokyo, you eventually make your way to the counter, where you find a very confused and flustered Big Eddy.<</if>><br><br>The burly owner of the Bulk Barn is squatting, looking everywhere for something in a bit of a frantic frenzy as he mutters to himself.<br><br><<Dialogue \"Eddy\" \"Eddy\">>\"Oh, God! I really ought to stop leaving my reading glasses at home! How could I lose the invoice?!? My accountant is going to kill me! I could swear it was here a second ago!\"<</Dialogue>><br><br><<Dialogue \"player\" \"You\">>\"Eddy? Are you OK?\"<</Dialogue>><br><br>He freezes for a second, then stands up abruptly, eyes wide, before coming back to his usual grin and high-energy hijinks.<br><br><<Dialogue \"Eddy\" \"Eddy\">>\"Hey, there, girl! Huh, what was your name again?\"<</Dialogue>><br><br><<Dialogue \"player\" \"You\">>\"...<<print $playerFirstName>>. Huh, I couldn’t help but notice you seem a bit concerned there, is there a problem?\"<</Dialogue>><br><br><<Dialogue \"Eddy\" \"Eddy\">>\"Ah, no, it’s no bid deal. You see, today is delivery day, the truck stopped by with the merchandise for the month - but my stock room in the back is a bit messy, so they usually just drop it here in front. Still, I need to confirm that they delivered the right stuff according to the invoice, which I then need to forward to my accountant… but I guess I maybe misplaced the invoice? I could swear I had it in here just a second ago!\"<</Dialogue>><br><br>He continues to shuffle stuff all around his counter, flipping the drawer on the cash register, lifting about every object he comes across in hopes of finding the missing papers.<br><br><<if $carefreeCarefull > 1>>While he clearly is paying for his own lack of organization, you can’t help but feel bad for the guy.<<else>>Whelp! Given the current mess, this might be quite the ordeal. Feeling for the guy, you decide to help.<</if>> You start scanning your surroundings, but given all the stuff piled as far as the eye can see, this could take HOURS!<br><br>Still, as your brain is just starting to come up with a gameplan on how to scour the store, Big Eddy crouches again by the corner… and you see a roll of pink paper sticking from the back pocket on his shorts. You walk over and unceremoniously pick it up, unfolding it to see the big “INVOICE” title on top.<br><br><<Dialogue \"player\" \"You\">>\"Hey, Eddy?\"<</Dialogue>><br><br><<Dialogue \"Eddy\" \"Eddy\">>\"Just a second, I think it might have fallen under this big speaker. There’s a big pile of BCAA bottles on top, but I think if I am careful enough, I can lift it without having to move all of them first…\"<</Dialogue>><br><br><<Dialogue \"player\" \"You\">>\"Eddy… listen, wait a second…\"<</Dialogue>><br><br>Ignoring you, he lifts the speaker a little, making the pile wobble dangerously. Before you can react, they fall all over, and he puts the speaker down, sighing as he realizes that it wasn’t under that.<br><br><<Dialogue \"player\" \"You\">>\"Eddy, here!\"<</Dialogue>><br><br>You extend your hand, displaying the pink invoice page. He still seems to be pondering his next move, despite looking straight at the invoice.<br><br><<Dialogue \"Eddy\" \"Eddy\">>\"I wonder if maybe I took it with me when I went to the bathroom?\"<</Dialogue>><br><br>He asks himself with a pensive frown, hand on his chin.<br><br><<if $shyConfident > 1>><<Dialogue \"player\" \"You\">>\"EDDY!!!\"<</Dialogue>><br><br>He stops cold, looking at you and finally spotting the document you were trying to show him.<<else>>You look around, unsure how to catch his attention, so you hold the invoice with both hands right in front of his face with a shrug.<br><br><</if>><<Dialogue \"Eddy\" \"Eddy\">>\"Wait, you found it?!?\"<</Dialogue>><br><br>He nabs the paper from your hands suddenly, and starts inspecting it.<br><br><<Dialogue \"Eddy\" \"Eddy\">>\"Wow! You are good! Last time it took me two days to find it. Turns out I had tossed it in the trash by mistake with my protein bar wrapping. It was the first place I looked today.\"<</Dialogue>><br><br>He says, pointing out at the fallen bin, with trash all over the floor.<br><br>Happy to have helped, you figure now might not be the best time to try to make a purchase, and you start heading for the door - but his strong hand grabs your shoulder, making you stop.<br><br><<Dialogue \"Eddy\" \"Eddy\">>\"Hey, huh, <<print $playerFirstName>>, was it, right?\"<</Dialogue>><br><br>He looks at you, <<if $muscle >= 35 && $fat < 40>>apparently impressed with your physique.<br><br><<Dialogue \"Eddy\" \"Eddy\">>\"You seem like a fitness enthusiast, and I can’t stress how impressed I was just now with you finding that invoice so fast.\"<</Dialogue>><br><br><<elseif $muscle >= 50>>astounded with your freakishly strong muscles. You notice him looking you over, wondering whether he should bring up how extreme your size is.<br><br><<Dialogue \"Eddy\" \"Eddy\">>\"You are obviously a very strong girl, the kind that would be look at home here in the Bulk Barn, and I can’t stress how impressed I was just now with you finding that invoice so fast.\"<</Dialogue>><br><br><<elseif $fat >= 40 || $muscle <= 25>>not at all discouraged by your fuller figure.<br><br><<Dialogue \"Eddy\" \"Eddy\">>\"I understand you might feel a little out of place at the Bulk Barn, but we get plenty of people who come here looking to lose weight, and I can’t help but think that you might actually make them feel a bit more welcome. That, and I can’t stress how impressed I was just now with you finding that invoice so fast.\"<</Dialogue>><br><br><</if>>You turn around, blinking a couple times as you try to process whatever Eddy is trying to tell you.<br><br><<Dialogue \"Eddy\" \"Eddy\">>\"Listen, the truth is, I’m not a very organized person...\"<</Dialogue>><br><br>You don’t say!<br><br><<Dialogue \"Eddy\" \"Eddy\">>\"... and while I absolutely love my job helping and instructing people in their fitness journeys... the day-to-day operations of the Bulk Barn kind of put me at a disadvantage. What I am trying to say is, I could probably use a hand from someone with some organizational and people skills to run the place. And... well, maybe you would be willing to give it a try?\"<</Dialogue>><br><br>He looks at you beggingly with puppy dog eyes, and grabs your hand in his. He looks like he might just kneel at any moment.<br><br><<Dialogue \"Eddy\" \"Eddy\">>\"Listen, it’s not that hard a job. I just need someone to come in, say, wednesday through sunday, from 10 AM to 6PM, and help me run the cash register, organize the backroom... uh... maybe help me stock the shelves, I’ve heard some complaints from clients that it’s a bit hard to find stuff.\"<</Dialogue>><br><br>Again, you don’t say!!!<br><br><<Dialogue \"Eddy\" \"Eddy\">>\"The pay might start a bit modest, but my intuition is telling me that you are going to help sales a lot. And my intuition is NEVER wrong. I can increase your pay as the store starts doing better. That, and since I need you to help the clients, I will throw in an allowance of supplements every week so you can test the stuff to better advise the clientele. Come on, you COULDN’T POSSIBLY say no to such an offer, am I right?\"<</Dialogue>><br><br>He complements, whispering under his breath:<br><br><<Dialogue \"Eddy\" \"Eddy\">>\"Please say yes?\"<</Dialogue>><br><br>Big Eddy is really trying to sweeten the deal. And frankly, it does sound somewhat tempting: if you are intent on pursuing fitness as an interest, this is definitely a no-brainer - you are bound to learn more about nutrition and fitness at the job, and take home some supplements on top of that? Sure, it’s bound to be a lot of work, given Eddy’s... uh... lax organizational skills? And dealing with his larger-than-life personality might seriously be an issue if you have to hang out with him for several hours every day. Hmmmm...<br><br><<Dialogue \"player\" \"You\">>\"Wow, that’s actually a very generous offer, but I wonder if maybe you are overestimating my abilities a bit?\"<</Dialogue>><br><br><<Dialogue \"Eddy\" \"Eddy\">>\"Are you kidding me? I have a GREAT eye for people, kiddo. Listen to me right now: you are destined for great things. I am the one who would be humbled to have you working with me. And when it comes to nutrition and exercise, if you have anything left to learn, I vow to teach you everything I know in time.\"<</Dialogue>><br><br><<Dialogue \"player\" \"You\">>\"I am not sure you need another salesperson, you seem to be pretty good at it yourself, Eddy!\"<</Dialogue>><br><br><<Dialogue \"Eddy\" \"Eddy\">>\"HA! There’s a reason people joke that I should’ve been a cheerleader. Pep is my middle name! Well, not literally. But maybe I should change that legally someday! And, I mean, if I rearrange the letters upside-down, I could write peppy with the letters in Eddy. Or would I be missing one P? Still, my motivation is certainly better than my grammar!\"<</Dialogue>><br><br>There he goes into another ramble. But it is undeniable, the more he speaks, the more he stirs excitement inside you. The very idea of working with him is a mixture of daunting and exciting, and before you know...<span id="choice"><<link "Accept it">><<replace "#choice">><<set $bulkBarnJob to true>><<set $job to true>><br><br><<Dialogue \"player\" \"You\">>\"OK, you got me, I can’t say no to that! When do I start?\"<</Dialogue>><br><br><<Dialogue \"Eddy\" \"Eddy\">>\"AWESOME! You can come in during the next workday, I’ll take care of this mess - it wouldn’t feel right springing this mess on you like that!\"<</Dialogue>><br><br><<Dialogue \"player\" \"You\">>\"Are you sure you don’t want some help now?\"<</Dialogue>><br><br><<Dialogue \"Eddy\" \"Eddy\">>\"PFFFT! This? I’ve dealt with worse. Don’t worry about me, just make sure to come in fully rested next time!\"<</Dialogue>><br><br>And with that, you make your way out just like you walked in, but now with a new job!<<link "Continue" "FitnessStore">><</link>><</replace>><</link>><<link "Turn it down">><<replace "#choice">><<Dialogue \"player\" \"You\">>\"Eddy, I have no words to say how flattered I am but, geez, this is all a bit overwhelming right now. With me moving here, starting college life and all, I am not sure...\"<</Dialogue>><br><br><<Dialogue \"Eddy\" \"Eddy\">>\"Oh, no worries. I just had to try. Good help is hard to find, and somehow my brain is telling me that you are destined to great things.\"<</Dialogue>><br><br>You shake your head, confused by that comment. He seems very sincere about it, but you can’t say if that’s just his hyperbolic nature or if he really sees something extraordinary about you. Either way, you’d rather just maintain your relationship with him as salesman/client for the time being.<<Dialogue \"player\" \"You\">>\"Still, thanks for the compliment. It does wonders for my confidence!\"<</Dialogue>><br><br><<Dialogue \"Eddy\" \"Eddy\">>\"HA! They don’t call me Pep-Talk Captain for no reason! Still, don’t be a stranger. I would be honored to be part of your continuing fitness journey going forward, even if only as a humble helper!\"<</Dialogue>><br><br>Yup, that energy of his is undeniable. You smile, and once again traverse the minefield in order to leave the store. You know, deep inside, you’ll be back here soon enough.<<link "Continue" "FitnessStore">><</link>><</replace>><</link>></span>'
},
{
name: 'storeStocking',
locationTags: ['fitnessStoreJob'],
conditions: [
() => State.variables.bulkBarnJob
],
repeatable: true,
retriggerable: true,
priority: 'filler',
npc: [],
content: 'As your shift starts, you notice that some of the shelves are getting a little bare - it’s time to restock them! You head to the back to pick up some full boxes, <<if $muscle >= 50>>your mighty muscles allowing you to easily stack several of them on one hand,<<elseif $muscle >=35 >>carrying the big ones with ease,<<else>>struggling a bit to carry them,<</if>> you proceed to bring them to the front in order to replace the missing products on the shelves.<br><br><<if $height >= 190>>Since you are now pretty tall, the whole process is fairly easy - if anything, it’s the lower shelves that are now a bit of hassle!<<elseif $height >= 170>>You can now stock all shelves without needing any stepping surfaces! You replace even the tallest displays with a smile on your face.<<elseif $height >= 150>>You start by restocking the lower shelves, but see yourself forced to grab a stool for the tallest ones.<<else>>You quickly realize you need to go back into the storeroom for the ladder in order to reach some of the shelves. It takes a bit longer, but you manage.<</if>><br><br>You look proudly at the restocked shelves, <<if $carefreeCarefull > 1>>which frankly look impeccably neat, a far cry from Big Eddy’s chaotic “if it isn’t falling, that’s good enough!” system.<<elseif $carefreeCarefull > -1>>which are better looking than Eddy’s system that is in constant risk of toppling and starting a chain reaction.<<else>>which frankly aren’t that much neater-looking than Eddy’s, but at least they are considerably safer in that they are at no risk of falling on someone’s head!<</if>>'
},
{
name: 'helpingClient',
locationTags: ['fitnessStoreJob'],
conditions: [
() => State.variables.bulkBarnJob
],
repeatable: true,
retriggerable: true,
priority: 'filler',
npc: [],
content: 'You are yawning behind the cashier as a very timid person walks into the store. You tap your fingers idly while you watch this person browse several products, clearly confused and lost. <<if $shyConfident > 1>>Feeling for them, you immediately spring to offer some much-needed help.<<elseif $shyConfident > -1>>You hesitate for a moment, slightly insecure about just approaching the person, but decide to do so in the end.<<else>>You wait as long as possible, hoping the client will figure things out - but it’s quickly clear they are getting more lost by the second, and against all instincts, you shyly look with a smile, opening yourself for the inevitable questions.<</if>><br><br>The customer explains what they want, explaining that they don’t really know much about supplements, and that any help would be welcome. <<if $skills[1].level > 3>>Given your exceptional knowledge of nutrition, you are able to field a couple of questions and before you know it, you are piling bottles on their basket.<<elseif $skills[1].level > 1>>With your basic knowledge of nutrition, you try your best to help them, but with Eddy out at the moment, it leaves some to be desired. Still, you point them to a couple of products, and the customer seems satisfied enough.<<else>>Totally unaware of nutrition, you fumble as you try to answer their questions, and just randomly suggest some products, reading labels to make sure it won’t hurt more than help. Still, while the client doesn’t seem completely satisfied, they at least are thankful for your effort.<</if>><br><br>As you ring up the purchase, <<if $muscle >= 50>>you notice that the person can’t help but look intently at your physique. They end up admitting they were a bit intimidated by the size of your muscles, but it just confirmed that they came to the right place, and will be back again.<<elseif if $muscle >= 35 && $fat <= 25>>you notice the person can’t keep their eyes away from your body, and they confess that you are an inspiration with your super-fit look.<<else>>they once again thank you for the help, and admit that having someone with a normal body makes it a bit less daunting to come to the Bulk Barn for their supplement needs.<</if>><br><br>Otherwise, it’s just another run-of-the-mill day at the store.'
},
{
name: 'balancingCashRegister',
locationTags: ['fitnessStoreJob'],
conditions: [
() => State.variables.bulkBarnJob
],
repeatable: true,
retriggerable: true,
priority: 'filler',
npc: [],
content: 'After ringing a big purchase, you start putting the money in the drawer of the cash register, and you notice that it’s a bit of a mess. Well, more like a big mess. To be totally fair, it’s pure chaos - and that’s still underselling it. Since most clients pay with plastic, you don’t check the cash there very often.<br><br><<Dialogue \"player\" \"You\">>\"Uh, Eddy? When was the last time you did the balance on the cash drawer?\"<</Dialogue>><br><br><<Dialogue \"Eddy\" \"Eddy\">>\"What is that? Does it need to be oiled or something?\"<</Dialogue>><br><br><<if $skills[1].level > 2 || $carefreeCarefull > 1>>Oh, boy! I guess it’s up to you then! Since it’s almost the end of your shift, you pull all the cash out and get your phone, and start sorting all the bills by denomination, as you get all the receipts and try to make head or tails of the balance.<br><br>You finally make some sense of the finances, and explain to Eddy that he’ll need to write down the totals at closing time when you aren’t there. He looks at you, pouting like a little boy. You try and explain how important it is, but it apparently just goes into one ear and out the other.<<elseif $skills[1].level > -1 || $carefreeCarefull > -2>>You stare at him, blinking a few times in utter disbelief, then just shrug and decide to at least organize the cash back into the correct slots. You realize that, given his absolute lack of control over the balance, it really would not be that hard to get away with just taking some cash out at any time…<br><br><<else>>Well, if he doesn’t give a fuck, you care even less. You just close the cash drawer just as you found it, a dollar bill slightly sticking out. Not your problem.<br><br><</if>>With your job done, you wrap things up and get ready to close shop.'
},
{
name: 'EddyBanter',
locationTags: ['fitnessStoreJob'],
conditions: [
() => State.variables.bulkBarnJob
],
repeatable: true,
retriggerable: true,
priority: 'filler',
npc: [],
content: 'It’s a slow day. With a sigh, you try to come up with some small talk to pass time.<br><br><<Dialogue \"player\" \"You\">>\"Hey, boss? What do you do for fun?\"<</Dialogue>><br><br><<Dialogue \"Eddy\" \"Eddy\">>\"Oh, the real question is what I DON’T do for fun? Wow, OK, so, I have a few hobbies, like, did you know I can hold my breath for 4 full minutes?\"<</Dialogue>><br><br><<Dialogue \"player\" \"You\">>\"Uh, cool? But I assume you don’t hold your breath for fun?\"<</Dialogue>><br><br><<Dialogue \"Eddy\" \"Eddy\">>\"Well, I usually train that in my bathtub on saturday mornings. But, huh, I do have some hobbies! I love hiking and rock-climbing, I tend to go camping whenever I have a chance.\"<</Dialogue>><br><br><<Dialogue \"player\" \"You\">>\"Oh, that sounds cool. I’m kinda jealous. And I didn’t exactly peg you as a nature guy.\"<</Dialogue>><br><br><<Dialogue \"Eddy\" \"Eddy\">>\"I don’t know if I’d call myself that either. I just enjoy… life.\"<</Dialogue>><br><br>Yeah, Big Eddy has that energy - he leads a larger-than-life lifestyle, and enjoys it all to the fullest. It’s weirdly inspiring. Makes you want to go out more… but here you are, stuck behind the cash register.<br><br><<Dialogue \"Eddy\" \"Eddy\">>\"Tell you what, next time I go out camping, I’ll see about inviting you, how about that?\"<</Dialogue>><br><br>Sure, he’s older, but he is so wholesome that it isn’t creepy, he’s like a big brother.<br><br><<Dialogue \"player\" \"You\">>\"That is a very tempting offer!\"<</Dialogue>><br><br>Eddy lets out his trademark hearty laugh, and you sigh, wondering if you’ll ever have a chance to go camping with him. Maybe you could invite Johan, that would be a barrel of laughs…'
},
{
name: 'PuttingINOrders',
locationTags: ['fitnessStoreJob'],
conditions: [
() => State.variables.bulkBarnJob
],
repeatable: true,
retriggerable: true,
priority: 'filler',
npc: [],
content: '<<if $skills[1].level > 2 || $carefreeCarefull > 1>>You realize that some of the best-selling creatine is starting to run out. You double-check your stock in the back, and indeed there’s only 2 bottles left. You know by heart that the next shipment isn’t until next month, so it’s probably safe to go ahead and put another order in!<br><br><<elseif $skills[1].level > -1 || $carefreeCarefull > -2>>As you ring a client with a bottle of your best-selling creatine, you realize you are now completely out of that specific brand. There’s bound to be more people looking for it, and you are willing to bet Eddy is not going to take care of it.<br><br><<else>>As a customer asks for your best-selling brand of creatine, you spend a few minutes looking if you have any in stock. After going through every single shelf and the stock room, you now realize you are totally out! You apologize, and turn to Eddy for guidance.<br><br><</if>><<Dialogue \"player\" \"You\">>\"Hey, Eddy, I think we need to order some more creatine! How do we handle that?\"<</Dialogue>><br><br>He looks at you like a deer under headlights.<br><br><<Dialogue \"Eddy\" \"Eddy\">>\"Uhhhh, well, I usually just call the company, though I think they weren’t too happy about me talking their ears out for 30 minutes every time I needed some product, so they set up a monthly shipment. But I think they also gave me some email thingamajig once if I needed to put any special orders?\"<</Dialogue>><br><br>You check the store email inbox - and unsurprisingly, it’s a mess.<br><br><<if $skills[1].level > 2 || $carefreeCarefull > 1>>Unable to ignore the electronic pandemonium, you start creating automatic filters for the most common communications, setting up spam detection, and with a little searching you find the link the supplier offered, which leads to their online ordering form. You create some easy shortcuts and teach Eddy how to find those.<br><br><<Dialogue \"Eddy\" \"Eddy\">>\"Wow, I didn’t realize you were a tech wiz!\"<</Dialogue>><br><br><<Dialogue \"player\" \"You\">>\"Ah, this is all pretty basic for my generation. You’ll get used to it, you just need to exercise those computer muscles, like your meat ones!\"<</Dialogue>><br><br><<elseif $skills[1].level > -1 || $carefreeCarefull > -2>>Just looking at the mess is enough to make you shudder, and you decide to just search the company, and soon enough you are in business. Eddy just looks at you, like you just performed magic in front of his eyes.<br><br><<Dialogue \"Eddy\" \"Eddy\">>\"Well, glad that is taken care of! You are really pulling your weight here!\"<</Dialogue>><br><br><<else>>Looking at the wall of spam and unresponded email, you are immediately deflated at the prospect of figuring out how to put another order.<br><br><<Dialogue \"player\" \"You\">>\"I… guess we wait for the shipment coming in next month.\"<</Dialogue>><br><br><<Dialogue \"Eddy\" \"Eddy\">>\"That’s how I usually handle it, frankly.\"<</Dialogue>><br><br><</if>>And with that dealt with, you go back behind the counter'
},
{
name: 'recievingShipment',
locationTags: ['fitnessStoreJob'],
conditions: [
() => State.variables.bulkBarnJob
],
repeatable: true,
retriggerable: true,
priority: 'filler',
npc: [],
content: 'It’s that time again! As Eddy warned you, today you should be receiving a lot of boxes with the new merchandise. And promptly at 2PM, you hear the honking of the truck coming from the back of the stockroom.<br><br>The delivery man hands you the invoice, and starts setting up at the back of the vehicle, operating the elevator platform.<br><br><<if $height >= 190 && $muscle >= 35>><<Dialogue \"player\" \"You\">>\"No need to do that, just tell me what boxes I should get.\"<</Dialogue>><br><br>Confused, he points towards a plastic-wrapped pallet towards the front. You are so tall you just walk up to the trailer, without needing to use any platform for help. <<if $muscle >= 75>>Then you just insert your forearms into the holes of the pallets, as the delivery man tries to stop and warn you, but you just lift the entire thing like it was a bunch of empty cardboard boxes (which they certainly aren’t). You just come back down with it, leaving your new friend with his jaw dropped.<<elseif $muscle >= 55>>You stretch your arms and grab the ends of the extremely heavy pallet and, with a bit of effort, lift it up as the delivery man just stares in utter befuddlement while you come down with the cargo.<<else>> You rip the plastic around the pallet and start handing the boxes one by one with ease, as you watch the poor guy struggle to set them on his cart.<</if>><<elseif $muscle >= 75>>As he loads the big plastic-wrapped pallet into his cart, he brings it to the back of the trailer, and you just casually insert your arms into the holes of the pallet, bringing it to the stockroom like it was a pile of empty cardboard boxes. The poor guy is left confused.<<elseif $muscle >= 55>>He brings the big plastic-wrapped pallet with his cart to the back of the trailer, where you waited for him. You stretch your arms and grab the ends of the extremely heavy pallet and, with a bit of effort, lift it up as the delivery man just stares in utter befuddlement while you bring it inside the stockroom.<<elseif $muscle >= 35>>You watch as he brings the plastic-wrapped pallet down with his cart, using the built-in elevator. As he rips the plastic and checks the invoice, you casually start grabbing a couple of the heavy boxes in each hand, much to his surprise. He rushes to finish the check and puts the last two boxes in his cart, hurrying to follow you and attempt not to look completely useless. His male pride is quite gone, however.<<else>>You watch as he confirms the contents against the invoice, loading three boxes on the cart at a time. You offer to take it in while he checks the rest, but he insists on helping while he argues that it’s the least he could do for such a cute girl.<</if>><br><br>With all the boxes inside the stockroom, you sign the copy of the invoice and keep yours. The delivery guy says goodbye, and that he is looking forward to the next delivery. What a flirt!<br><br><<if $skills[1].level > 2 || $carefreeCarefull > 1>>Diligently, you start unpacking and checking every bit of merchandising, making sure to bring what is needed to replenish shelves, and organizing whatever is left in the stockroom. As you finish, you dust your hands off, with a satisfied smile.<<elseif $skills[1].level > -1 || $carefreeCarefull > -2>>You try to separate and store the boxes in a way that you’ll remember where the stuff is when needed, and proceed to return to the counter.<<else>>A little too lazy to put stuff away, you follow the Eddy protocol and just leave the boxes there, a problem for future you and Eddy whenever you need to find where something is.<</if>><br><br> Whew! Job well done! You could use a drink, though!'
},
{
name: 'LookingForNewProducts',
locationTags: ['fitnessStoreJob'],
conditions: [
() => State.variables.bulkBarnJob
],
repeatable: true,
retriggerable: true,
priority: 'filler',
npc: [],
content: 'Eddy may be very big into researching the newest research about nutrition, but you quickly notice he’s not much one to do anything about it. <<if $skills[1].level > 2 || $carefreeCarefull > 1>>But you’ve been keeping mental notes of all the new products he raves about excitedly, and decide to look at what is available locally.<<elseif $skills[1].level > -1 || $carefreeCarefull > -2>>You took the opportunity to write down about the last one he mentioned, and figure it doesn’t hurt to look if it is available locally on the computer.<<else>>But as you are surfing on social media using the work computer when there are no clients around, you actually find the official website of one of the things he brought up not that long ago.<</if>><br><br>As you browse the official website of this new supplement, you start wondering if maybe it would be worth a try to order some. <<if $skills[1].level > 2>>Given your knowledge in nutrition, you can guess that your average clientele would probably be very interested in it. <</if>><<if $skills[2].level > 2>>If you were to display it prominently on the window, that alone could probably bring in new clients to the store, given all the publicity this product has been getting lately. And they even have a special promotion for stores placing their first order, which would make this a very low-risk proposition!<</if>> You decide it’s worth asking Big Eddy if he would mind doing a trial run.<br><br><<Dialogue "Eddy" "Eddy">>"Wow, what a great idea, and what a find, <<print $playerFirstName>>! I knew I was right in hiring you!"<</Dialogue>><br><br>And so you set up the order, hoping this will translate into some sales - and maybe even some new clients! Time will tell…'
},
{
name: 'CleaningUpStore',
locationTags: ['fitnessStoreJob'],
conditions: [
() => State.variables.bulkBarnJob
],
repeatable: true,
retriggerable: true,
priority: 'filler',
npc: [],
content: 'Ugh! The store is looking a little nasty right now. Big Eddy doesn’t seem to be in habit of doing a lot of cleaning. While the general layout of the store is rather bare, it’s still getting pretty dusty and full of scuff marks - there’s even a bit of gum that you can’t even tell how old it is on the floor.<br><br><<Dialogue "player" "You">>"Hey, Eddy, do you have a mop and a bucket somewhere in the back I can use to clean up a bit?"<</Dialogue>><br><br><<Dialogue "Eddy" "Eddy">>"I don’t know, actually. Maybe? I think there might be one from the previous tenant there."<</Dialogue>><br><br><<if $submissiveDominant > 1>><<Dialogue "player" "You">>"Eddy, seriously? When was the last time you did ANY cleaning here?"<</Dialogue>><br><br><<Dialogue "Eddy" "Eddy">>"Errrr, there was that time the kid got sick here and ba..."<</Dialogue>><br><br><<Dialogue "player" "You">>"You know what, never mind, I don’t want to know, but we’re having a conversation about this later, mister!"<</Dialogue>><br><br><<elseif $submissiveDominant > -1>><<Dialogue "player" "You">>"I should have guessed. You are incorrigible, Eddy!"<</Dialogue>><br><br>He flashes his irresistible smile, knowing he can get away with it. You just roll your eyes.<<else>><<Dialogue "player" "You">>"No worries, I’ll take care of it."<</Dialogue>><br><br><</if>>You make your way to the labyrinthine stockroom, and you brave the broom closet in the corner - which looks like it hasn’t seen any living soul in YEARS. You rescue the cleaning supplies (from under a thick layer of dust which requires you to clean them before you even start). And you get to cleaning!<br><br>You make quick work of the floor, and improvise a tool to deal with the bubblegum, <<if $muscle >= 40>>which you easily scrape with your remarkable strength.<<else>>which takes quite a while to scrape, repeatedly pulling layers until it’s gone.<</if>> Which leaves the dusting. With a damp cloth, you proceed to work on the shelves, <<if $height >= 180>>all of which you can easily reach.<<elseif $height >= 170>>requiring you to grab a stool to reach some of them.<<else>>and you are forced to grab the ladder to finish tackling the higher ones.<</if>> And now the store feels so much nicer!<br><br><<Dialogue "Eddy" "Eddy">>"Good job, kiddo! I didn’t even realize how dirty this place was!"<</Dialogue>><br><br>With a proud smile, you put the cleaning supplies back at their home, hoping that Eddy might be a bit more proactive going forward.'
},
{
name: 'MusicInStore',
locationTags: ['fitnessStoreJob'],
conditions: [
() => State.variables.bulkBarnJob
],
repeatable: true,
retriggerable: true,
priority: 'filler',
npc: [],
content: 'Big Eddy is out for an errand today. As you run the register, you notice that lately most customers seem to be people who work out very seriously, with big muscular guys and very toned women making the bulk for the clientele. You wonder if there is any chance you can make the place a bit more inviting by changing the music to something a little more inviting, and maybe switching the video of bodybuilder competitors on the LCD screen to something less… intimidating?<br><br><span id="choice"><<link "How about we try something new-agey?">><<replace "#choice">>You open OurTube and try something a little more zen… some videos of older women doing yoga seem perfect, complete with the appropriate new age music that goes with it.<br><br>Initially, it seems like some women do respond to that, but watching the gymbros look downright mystified as they come in for their supplements was worth the change! When Eddy comes back, he immediately starts vibing to the new song, closing his eyes and humming.<br><br>You ask him if he wants the old media back, but he says he’s cool with it. And so, you leave it like that for the rest of the day. He’s so mellow, it’s nice to see him a little less energetic and a bit more chill for a change.<<link "Continue" "FitnessStore">><</link>><</replace>><</link>><<link "I know, let’s go with some hard rock!">><<replace "#choice">>You immediately check OurTube for some head-banging songs, and set the music videos on the screen and speakers. It’s so energetic that you can’t help but play the air guitar and shake your head to the tunes!<br><br>Your little show attracts the attention of a few metalheads, who come in the store to compliment you. <<if $shyConfident > 1>>You accept it gladly, and take the opportunity to sell them some supplements to help them handle their gruesome touring routine! Everyone wins!<<else>>You are taken aback by their unexpected appearance, and immediately retreat behind the counter, trying to look as serious as possible! They laugh, and give you a thumbs up before they leave.<</if>><br><br>As Eddy comes back, he is initially surprised by the new playlist, freezing in place… before making a horn hand sign, and starts headbanging himself. Left with no other option, you join him! What a day!”<<link "Continue" "FitnessStore">><</link>><</replace>><</link>><<link "Maybe what we need is something that makes the business look more serious!">><<replace "#choice">>You look for some nutritionists on OurTube, and set some instructional lectures about the subject on the screen. That’s going to really excite prospective clients, maybe incentivize to buy even more!<br><br>…<br><br>You are woken up by Big Eddy poking you on the shoulder. Oops. The lecture just put you to sleep. I guess it wasn’t such a great idea after all.<br><br>Big Eddy laughs, and sets the screen back to the original video, and sets the music back to the energetic gym beats. This was very embarrassing…<<link "Continue" "FitnessStore">><</link>><</replace>><</link>></span>'
},
{
name: 'newProduct',
locationTags: ['fitnessStoreJob'],
conditions: [
() => State.variables.bulkBarnJob
],
repeatable: true,
retriggerable: true,
priority: 'filler',
npc: [],
content: 'As you restock the shelves, you open an unusual box you find in the corner of the storeroom. Huh, you don’t remember seeing these before.<br><br><<if $skills[1].level > 3>>Oh! These are some top-of-the-line supplements that you’ve never seen on the shelves! In fact, you kinda want to try some of them yourself! <<elseif $skills[1].level > 1>>Hmm… these look like very fancy supplements, but that’s about all you can tell about them. <<else>>Nope, never seen anything like that. No idea what these even are.<</if>>Weird, why are they just gathering dust in the back? You bring them to the front, placing them by the counter. <<if $skills[2].level > 2>>You look up the SKU in the system, but it does not seem to be registered at all!<</if>><br><br><<Dialogue "player" "You">>"Hey, Eddy! I found these in the back, but I don’t think we usually sell these. I’m a bit confused here."<</Dialogue>><br><br><<Dialogue "Eddy" "Eddy">>"OH! THOSE! Yeah, yeah, I got a friend who works at a distributor, they sent me these samples a couple months ago as a promotional deal. Totally forgot about that!"<</Dialogue>><br><br><<Dialogue "player" "You">>"Oh. Should I put them up for sale then? Or do you want to take them home or something?"<</Dialogue>><br><br> <<if $muscle >= 35>> <<Dialogue "Eddy" "Eddy">>"Well, actually, you work out, right?"<</Dialogue>><br><br> <<if $shyConfident > 1>> <<Dialogue "player" "You">>"What can I say? You don’t get a body like that sitting on the couch!"<</Dialogue>><br><br> <<else>> <<Dialogue "player" "You">>"Oh, I dabble, I guess?"<</Dialogue>><br><br> <</if>> <<Dialogue "Eddy" "Eddy">>"Why don’t you have those? I’m sure you are going to make much better use than I would anyway!"<</Dialogue>><br><br><<Dialogue "player" "You">>"Are you sure???"<</Dialogue>><br><br><<Dialogue "Eddy" "Eddy">>"Yeah, go crazy! Least I can do to support my employees, right?"<</Dialogue>><br><br>You thank him profusely, and put the supplements away, looking forward to using them! <<else>> <<Dialogue "Eddy" "Eddy">>"Uh, I suppose I could take them home, maybe?"<</Dialogue>><br><br><<Dialogue "player" "You">>"Why don’t we make like some sort of contest and give those as a prize for people who spend over $100? Might drum up some extra business!"<</Dialogue>><br><br><<Dialogue "Eddy" "Eddy">>"Ah! I love the way you think! But I want to draw up the posters! I love painting! I’ll go get some paper in the back!"<</Dialogue>><br><br>And there he goes, like a little kid. Big Eddy, adorable as usual. You set up a little display of the prize on the counter, and get back to your regular business<</if>>'
},
{
name: 'watchPeople',
locationTags: ['fitnessStoreJob'],
conditions: [
() => State.variables.bulkBarnJob
],
repeatable: true,
retriggerable: true,
priority: 'filler',
npc: [],
content: 'It’s just another boring day at the Bulk Barn - you’ve done all your usual chores, and not many people are coming in to purchase stuff, so you pull your bench and decide to just kill time by watching the people going around.<br><br>You see a few families passing by, a man with his dog... oh, wait! There’s a runner, in proper gear and sweating profusely - maybe he’ll stop for something? Nah, no joy.<br><br>Hmmm, there’s a group of teens, making you concerned - they can be a lot of work. But thankfully they just pass straight by. Phew! Dodged that one.<br><br>As you keep watching the passersby, one woman draws your eyes - at first intuitively, as you see the unusually pronounced curves of her tight dress... but as you pay more attention, you notice the ripped legs, the wide back, the bulky arms. She lifts, and is proud of it. Damn, you can even see a hint of abs through the fabric...<br><br>You hope that she is coming in, but she just passes right by. But the image of her stays in your head, and you find yourself grabbing on the dumbbells on display to crank some curls, as you finish your daily journey.'
},
{
name: 'nutritionLecture',
locationTags: ['fitnessStoreJob'],
conditions: [
() => State.variables.bulkBarnJob
],
repeatable: true,
retriggerable: true,
priority: 'filler',
npc: [],
content: 'You go through the shelves, trying to group similar products together instead of... whatever it is that Big Eddy is going for right now. As you do so, you decide to ask him if he has any preferences.<br><br><<Dialogue \"player\" \"You\">>\"Hey, Eddy! Do you have any preference where the BCAA and the whey should go?\"<</Dialogue>><br><br><<Dialogue \"Eddy\" \"Eddy\">>\"Well, since I would be taking the BCAA before the whey, then I suppose they should stay closer here?\"<</Dialogue>><br><br>You nod and start placing the BCAA bottles near the counter where he is, but then he starts showing this confused expression, and continues:<br><br><<Dialogue \"Eddy\" \"Eddy\">>\"Though, actually, customers would come from the entrance, so maybe put the BCAA there, and then the whey closer to the cashier?\"<</Dialogue>><br><br>You start moving the bottles around, trying to carry as many as you can, when he interrupts again:<br><br><<Dialogue \"Eddy\" \"Eddy\">>\"Well, but then again, not everyone would necessarily follow my same protocols for supplements. I mean, my system is very clearly based on the science, since...\"<</Dialogue>><br><br>And so Eddy goes on a long lecture, with his extensive knowledge about nutrition becoming immediately obvious. You might have even learned something about it in the process while you decide yourself how to organize things, because depending on him for that just seems like a bad idea now - changing their location all the time on a whim is only going to get confusing.'
},
{
name: 'Storeroom',
locationTags: ['fitnessStoreJob'],
conditions: [
() => State.variables.bulkBarnJob
],
repeatable: true,
retriggerable: true,
priority: 'filler',
npc: [],
content: 'You finish ringing up the purchase, but the receipt printer has now run out of paper.<br><br><<Dialogue \"player\" \"You\">>\"Uh, I think we need more thermal paper for the receipt printer, Eddy.\"<</Dialogue>><br><br><<Dialogue \"Eddy\" \"Eddy\">>\"Ah, I keep a box in the storeroom, I think it’s, uh... it was, I’m pretty sure, or at least, I think, well...\"<</Dialogue>><br><br><<Dialogue \"player\" \"You\">>\"You have no idea, do you?\"<</Dialogue>><br><br><<Dialogue \"Eddy\" \"Eddy\">>\"I mean, I’m pretty sure it’s somewhere on the middle third of the room, probably close to the pipes. I have a system!\"<</Dialogue>><br><br>You roll your eyes and make your way to the storeroom. The dark and dirty room has dust all over, even some cobwebs. You follow the pipes Eddy mentioned, which go behind a pile of boxes. With an exasperated sigh, you start moving the stuff out of the way in hopes of finding the thermal paper.<br><br>As you move the boxes, you are distracted by the dripping noise from the pipes, turning to look and hope there are no spiders there. But just as you turn back around after moving one of the boxes, you see a pair of eyes looking right at you!<br><br>Startled, you step back, and trip on one of the moved boxes, falling and taking a chair with you. Heart still racing, you crawl backwards, until you realize what it was you saw: a cardboard cutout of a legendary bodybuilder, used for a point-of-purchase display that was stored back there a long time ago. With a laugh, you get up, and look behind it, where the small box of thermal paper was hiding all along.<br><br>You come back to the front, putting the small box under the register where it belong.<br><br><<Dialogue \"Eddy\" \"Eddy\">>\"What was that sound? Did something happen back there?\"<</Dialogue>><br><br><<Dialogue \"player\" \"You\">>\"Nah, just a random encounter with Dorian Yates, nothing serious.\"<</Dialogue>><br><br>Eddy looks at you, very confused, but then just shrugs it off, as you smirk. Just another day at the Bulk Barn, I guess!'
},
{
name: 'krisStore',
locationTags: ['fitnessStoreJob'],
conditions: [
() => State.variables.bulkBarnJob,
() => State.variables.krisOpinion >= 10
],
repeatable: true,
retriggerable: true,
priority: 'filler',
npc: [],
content: 'You count the cash inside the register as you hear the distinct sound of something rubbing against the glass. As you look up, you see a very familiar face.<br><br><<Dialogue \"player\" \"You\">>\"Kris?\"<</Dialogue>><br><br>The barista (hopefully on her break, and not just skipping work) is glued to the front window, her exposed tongue smushed against the surface as she looks longingly at the posters and cardboard cutouts of various bodybuilders that adorn the store.<br><br>You finish counting the money, and put it back in the drawer before closing it. With an elbow on the counter, you watch as she drools over the window. One of the screens inside the store starts running some scenes from the latest bodybuilding show, and her eyes wander there, and you can hear her giggle.<br><br>You’ll probably have to wash that window later, but you might as well wait until she’s done. <<if $muscle >= 50>>But as you start pulling your hair back a bit, you notice that her eyes once again shift, now focused on your incidental flexing. <<if $shyConfident > 1>>What the heck, might as well give her what she wants - you fake a yawn, and give her a proper show of your biceps, trying not to smile too obviously. Kris is quick to notice, and disconnects from the glass and starts cheering on you. Heh.<<else>>Surprised, you let go of your hair, and she makes a sad face while you blush.<</if>><</if>><br><br>Satisfied, Kris gives you a thumbs up, and leaves. You’ll have to get the cleaning supplies and clean that window later... that can’t have been very sanitary, you think to yourself.'
},
{
name: 'playInStore',
locationTags: ['fitnessStoreJob'],
conditions: [
() => State.variables.bulkBarnJob
],
repeatable: true,
retriggerable: true,
priority: 'filler',
npc: [],
content: 'You wonder how Big Eddy stays in business, with slow days like these. Completely bored, you start trying to find something to pass the time. Suddenly, you are hit by a naughty idea.<br><br>After taking stock of all the point of purchase displays, you start plotting something in your head, a devious smile on your face. You sketch a little layout on a piece of paper - yes, this might work!<br><br>You set the cardboard cutouts of bodybuilders and fitness models on the two ends of the store, side by side. You grab one of them, and start moving it like a puppet as you say with a funny voice:<br><br><<Dialogue \"player\" \"You\">>\"You won’t get away with this, Gun Show Army! The Figure Liberation Forces will not give up! Pew, pew!\"<</Dialogue>><br><br>You start moving them around in mock fights, and as they defeat one another, you tip the cutouts down to the ground.<br><br>Eddy comes back through the front, looks at you, and without saying a word, just turns around and leaves again.<br><br>You know, now the whole thing with Johan and his painted metal figures makes more sense. This is more fun than you realized.'
},
{
name: 'storeSizeCompare',
locationTags: ['fitnessStoreJob'],
conditions: [
() => State.variables.bulkBarnJob
],
repeatable: true,
retriggerable: true,
priority: 'filler',
npc: [],
content: 'After some long hours making sure the stock control was correct, you feel mentally drained. It’s harder to control your silly side, as you blow a loud raspberry trying to recenter yourself. Suddenly, you start just gazing at all the muscular cardboard cutouts that are spread throughout the store. They go all the way from a very fit and lean female, to a huge bodybuilder. Hmmmmmm...<br><br><<if $muscle >= 80>>You stand right in front of the biggest cutout of all, and just engage in the exact same pose. As your body expands, you completely eclipse your papery opponent, which is completely lost behind your large silhouette. <<if $shyConfident > 1>>You smile triumphantly, wondering if maybe you should just retire that piece and get one made of yourself.<</if>><<elseif $muscle >=50>>You stand in front of the cutout of the huge bodybuilder, and try to replicate his exact pose. You surprise yourself as you basically seem to match him almost exactly in size! Wow! You take another look, and the face leads you to believe this cutout is life-size! You place your arm right over the figure, looking as your flexed biceps match, and you feel weirdly excited about that achievement!<<elseif $muscle >=35>>You stand in front of the cutout of the bodybuilder, and start trying to imitate the pose - you stand face-to-face with the display, and despite its intimidating size, you still surprise yourself with your toned muscles. Sure, they are smaller than this male bodybuilder... but nonetheless, pretty nice looking for a young woman like yourself. You still have quite a bit of work if you ever want to seriously compete.<<else>>As you move towards the cutout of the bodybuilder, you quickly regret that decision, as you feel dwarfed by it. You decide to compare yourself with the female cutout… and so you try to replicate her pose, and still you feel that you leave... something to be desired. She looks toned everywhere, with very visible muscles. You bite your lips, feeling an urge to get more serious about your own workouts.<</if>><br><br>As you are distracted, a customer comes in, and as they clear their throat, you jump back startled. Blushing, you run back behind the counter and smile awkwardly. Eddy really should put one of those devices that chimes when people come in the store!'
},
{
name: 'strenghtCheckStore',
locationTags: ['fitnessStoreJob'],
conditions: [
() => State.variables.bulkBarnJob
],
repeatable: true,
retriggerable: true,
priority: 'filler',
npc: [],
content: 'Big Eddy comes back from lunch, and offers to take care of the counter for a bit.<br><br><<Dialogue \"Eddy\" \"Eddy\">>\"Don’t worry about this, I can handle the clients now. Is there anything you need to do?\"<</Dialogue>><br><br><<Dialogue \"player\" \"You\">>\"Well, now that you mention it, I tried going through the back and the boxes are all over the place in the storeroom - there’s no way to get to the door!\"<</Dialogue>><br><br>As a client enters, Big Eddy rushes to help them with a huge smirk. Yeah, I think he just wants you to deal with the boxes. Oh, well!<br><br>You head to the back and, WOW! That is a LOT of BIG BOXES all over. You estimate you’ll have to move at least a couple dozen of them in order to clear the path to the door at the back. You give yourself a quick stretch, and get to work.<br><br><<if $skills[2].level > 2 || $carefreeCarefull > 1>>You try to plan ahead, figuring out where to move what, in what order, to try to keep the physical labor to a minimal. It shouldn’t be too hard.<<else>>Anxiously, you just start going for the boxes without much planning, getting whatever you can out of the way and piling it in whichever place you can find - hoping to make your piles a little less precarious than what your boss just did. Safety first!<</if>><br><br><<if $muscle >= 80>>Despite those being some pretty hefty boxes, you are just piling them and moving several at a time. Casually, you just get them out of the way, opening the much needed path in a matter of a few minutes.<<elseif $muscle >=50>>These boxes are pretty hefty, but you have trained your body well. You can lift each with ease, putting them in their new place fairly quickly. It takes you about half an hour to eventually clear the much needed path.<<elseif $muscle >=35>>Those are some heavy boxes! Thankfully, your exercise is paying off, and you can still handle them. You start moving them, making sure you lift with proper form so as to not hurt your back - but it still takes you almost an hour to finally get the path cleared.<<else>>Oh, GOD, THESE ARE HEAVY! You find yourself forced to place the boxes on the ground or on top of others, then leverage your weight to just push them out of the way. Given the lack of space and general difficulty, you lose almost two hours trying to get this taken care of - and that’s not even speaking of the mental fatigue from this boring and arduous task.<</if>><br><br>And with the path clear, you sigh with relief, and walk back to tell Big Eddy the job is done - and that if he keeps leaving the boxes like this, you will quit!'
},
{
name: 'storeArmWrestling',
locationTags: ['fitnessStoreJob'],
conditions: [
() => State.variables.bulkBarnJob
],
repeatable: true,
retriggerable: true,
priority: 'filler',
npc: [],
content: 'You are setting up the new price tags on the shelves and Eddy is once again boasting about his glory days.<br><br><<Dialogue \"Eddy\" \"Eddy\">>\"Yeah, so, when I started working out seriously, people were quite surprised with my dramatic transformation. I had been a chubby kid, and when I started shedding the pounds and getting stronger, I’d get challenged to armwrestle all the time!\"<</Dialogue>><br><br>You nod as you continue on your task, acknowledging that you are paying attention, but still trying to finish the job.<br><br><<Dialogue \"Eddy\" \"Eddy\">>\"People were legitimately interested in seeing what I could do, but in some ways, I think I was the one who was more interested, because it was a way to measure my progress - you know, challenging the same person as I got stronger, which I think was amusing to all of us in that small town - it was kind of a thing by then!\"<</Dialogue>><br><br>He starts twisting his forearm, watching as the muscles twitch, before placing it on the counter in a mock pose for arm wrestling. Finished with the price tags, you make your way there, and imitate the pose, playfully grabbing his hand.<br><br><<if $shyConfident > 1>><<Dialogue \"player\" \"You\">>\"Well, are you up for a challenge then, old man?\"<</Dialogue>><br><br><<else>><<Dialogue \"player\" \"You\">>\"Huh, what about I give this a try? Now I’m curious how I stack now.\"<</Dialogue>><br><br><</if>><br><br><<Dialogue \"Eddy\" \"Eddy\">>\"Yeah, for old time’s sake! That would be fun!\"<</Dialogue>><br><br> You are somewhat taken aback by how quickly he agreed, as he closes his hand around yours, suddenly looking the most serious you ever seen him - even he still holds that jovial spark in his eyes.<br><br><<if $muscle >= 80>>You look at him defiantly in the eyes, and it brings a smile to his face. He puts all his strength in a sudden charge, but you just stop him dead. You keep him there for a few seconds, before slowly and deliberately bringing his hand down.<<elseif $muscle >=50>>You take a deep breath and prepare yourself. As you say GO, he puts all of his effort and gets yours back in kind. It’s a bit of an initial stalemate, as it becomes clear he has not only a lot of strength (almost impressively so for his short stature), but also a TON of expertise on armwrestling. It’s clear he knows exactly what he is doing, and he puts on a hell of a fight. But you got a ton of muscle on your side, and gritting your teeth, you slowly push his hand down, defeating him. He smiles, proud of you.<<elseif $muscle >=35>>Uh, oh, you’ve gotten quite strong lately, but maybe you should have thought this through. With a big smile, he just waits for you to announce GO and is immediately and controlledly bringing you down. You put all your strength in it, but his power and technique are unbeatable, and you never really had a chance.<<else>>What were you thinking? He waits for you to say go, and then just holds you steady at the start position. You put your other hand and your whole bodyweight against his arm, to no avail. He smiles, but doesn’t advance, instead calling it a draw.<</if>><br><br><<Dialogue \"Eddy\" \"Eddy\">>\"That was pretty good! Thanks for the throwback, I enjoyed it, and would love to try it again some other time.\"<</Dialogue>><br><br>The result of the match leaves you thinking, but you need to get back to work, so you leave it at that.'
},
{
name: 'storeLightbulb',
locationTags: ['fitnessStoreJob'],
conditions: [
() => State.variables.bulkBarnJob
],
repeatable: true,
retriggerable: true,
priority: 'filler',
npc: [],
content: 'Uh, oh! One of the lights on the ceiling died. Big Eddy is out - and being pretty short himself, he wouldn’t be of much help either way. You check the back and miraculously find a box of replacement lights. Well, that will still require some work.<br><br><<if $height >= 210>>It’s a good thing you’ve gotten so tall! It’s just a matter of walking there and reaching up and you can remove the cover of the light fixture, take the burnt bulb out, and replace it. Easy-peasy!<<elseif $height >= 190>>Ugh, you’ve grown a lot, but not enough to get away with switching the lightbulb without any help. But the small step stool should be enough. You quickly grab it, and reaching up you can now easily remove the cover of the light fixture, take the burnt bulb out and replace it. Not bad! <<elseif $height >= 170>>You are a lot taller, but this will still require some help for you to get up there. You grab one of the tall benches, and balance yourself on top of it. <<if $carefreeCarefull > 1>>Very carefully, you take the light fixture out of the casing, storing it under your armpit. Then, still balancing yourself, you remove and replace the bulb before replacing the cover. Slowly and steadily, you dismount the bench, glad that this is done.<<else>>You haphazardly climb the bench, which proves not to be very stable, and try to remove the cover. But it’s hard to balance on it, and you end up dropping and breaking the dome of the light fixture. Oops, that is coming out of your salary. You replace the bulb, which is now fully exposed. Oh, well!<</if>><<else>>Yeah, this will require a ladder, no matter what. You dread having to go hunt it down in the storeroom, but do so anyway. You drag the big aluminum stepladder into the store, and proceed to climb it. Removing the cover of the light fixture - but having no one to help with - you end up climbing down to place the cover on the counter. Then you climb back up to replace the bulb... only to have to come down again to get the cover, and then put the ladder away.<br><br>Phew, that was A LOT of work, if only you were taller, this would have been SO much easier! <</if>><br><br>Wow, that extra light makes a difference! The store now looks much nicer, and you are proud of your small accomplishment!'
},
{
name: 'storeCheckStock',
locationTags: ['fitnessStoreJob'],
conditions: [
() => State.variables.bulkBarnJob
],
repeatable: true,
retriggerable: true,
priority: 'filler',
npc: [],
content: 'You sell some glutamine, the last on display, and ring it up for the customer. According to the computer, there should be plenty of it left in stock, but you don’t see any. After raiding the stockroom (which, given the mess, is a long and thankless job), you find none of the 23 bottles that the software told you should be there.<br><br><<Dialogue "player" "You">>"Hey, Eddy, the computer says we still have plenty of glutamine, but I can’t find any."<</Dialogue>><br><br>He raises his eyes from his magazine, looking surprised.<br><br><<Dialogue "Eddy" "Eddy">>"You can talk to the computer? That’s neat! Oh, does it know where I saved that picture when I was skiing in a bathing suit? I can’t find it anywhere!"<</Dialogue>><br><br>You take a second to try and get rid of that mental image (unsuccessfully), before explaining to him how the stock keeping system works.<br><br><<Dialogue "Eddy" "Eddy">>"Oh, so you need to mark down when you sell glutamine there? Well, in that case, we’re probably out, because I sold a bunch without using the computer."<</Dialogue>><br><br><<Dialogue "player" "You">>"Look, Eddy, every time you make a sale, you ring it up with the scanner like this... and then the system shows how many we still have. Every time we get new stock, we just use this option and it will always show how much we have of each product. That way, I can come here... and then I know what we need to order. Get it?"<</Dialogue>><br><br><<Dialogue "Eddy" "Eddy">>"Whoa, that’s pretty neat! So that’s why we have this computer here? I was mostly using it for email, I’m pretty good at math, so I rarely used the scanner to ring up stuff!"<</Dialogue>><br><br> <<if $skills[2].level > 2 || $carefreeCarefull > 1>> You close your eyes and let out a huge sigh. You say you’ll take care of this, after begging him to always use the scanner to ring up items when sold. But right now, it’s time to get this right. You grab the clipboard and pen, and get to work.<br><br>You start by noting down the entire stock out on display in the store - a task which, by itself, takes half an hour. But you know the worst is yet to come... figuring out what is in the back. You tell Eddy to mind the cashier (after a very stern reminder to ring up stuff with the computer) and head to the stockroom.<br><br>OK, <<print $playerFirstName>>, you got this. You make a mental map of the maze of boxes, and come up with a game plan. This will take a while.<br><br>After a good 90 minutes, you have a complete tally of all the products written down. You go back to the front, where you find Eddy casually selling some nitric oxide to a guy, having his usual boastful conversation... and NOT using the computer.!<br><br><<if $submissiveDominant > 1>>You slap his hand, and with an angry face, point to the computer. He apologizes to the customer, and with a nervous smile, rings up the purchase.<<elseif $submissiveDominant > -1>><<Dialogue "player" "You">>"EDDY!!! What did I just tell you?"<</Dialogue>><br><br><<Dialogue "Eddy" "Eddy">>"Oh, yeah, sorry about that."<</Dialogue>><br><br>He runs to the computer to ring it up, but he’s so nice and upbeat about it that you can’t even get mad, just rolling your eyes.<br><br><<else>>With another heavy sigh, you make a note on your clipboard for the product he didn’t put in the system.<</if>><br><br> <<elseif $skills[2].level > 0 || $carefreeCarefull > 0>> You look at him, slightly exasperated. There’s no teaching an old dog new tricks, is there? But at least you can try.<br><br><<Dialogue "player" "You">>"Look, Eddy, every time you make a sale, you ring it up with the scanner like this... and then the system shows how many we still have. Every time we get new stock, we just use this option and it will always show how much we have of each product. That way, I can come here... and then I know what we need to order. Get it?"<</Dialogue>><br><br><<Dialogue "Eddy" "Eddy">>"Whoa, that’s pretty neat! So that’s why we have this computer here? I was mostly using it for email, I’m pretty good at math, so I rarely used the scanner to ring up stuff!"<</Dialogue>><br><br>You take a deep breath, smile, and give Eddy a big hug.<br><br><<Dialogue "player" "You">>"Never change, old man, never change."<</Dialogue>><br><br>Big Eddy smiles, and promises to you he will try to do better in the future. You still doubt it, but it’s kind of impossible to get mad at him. <<else>> Oh well. I guess there’s no point in using the stock keeping system. You shrug, and wonder how Big Eddy is still in business.<</if>>'
},
{
name: 'supplementTaste',
locationTags: ['fitnessStoreJob'],
conditions: [
() => State.variables.bulkBarnJob
],
repeatable: true,
retriggerable: true,
priority: 'filler',
npc: [],
content: 'Aaaargh! Some days are just TOOOOOO SLOOOOOOOW!!! You start rolling your eyes, flicking rubber bands and just tapping your foot impatiently. Can something happen, PLEASE?!? I’ll take a meteor impact with a smile at this point.<br><br>You go to the door and start watching people passing by and going to the other stores. As you look, you see some people ordering a flight of beers at the family restaurant across from the Bulk Bark. And then a lightbulb pops over your head.<br><br>You go in the back, remembering that you received a box of samples of protein powders of several flavors. You grab a bunch of small plastic coffee cups and set them side by side carefully, and then put small scoops of each flavor of the protein powder in each.<br><br><<Dialogue \"Eddy\" \"Eddy\">>\"Whatchu doin’, <<print $playerFirstName>>?\"<</Dialogue>><br><br><<Dialogue \"player\" \"You\">>\"So, hear me out here, Big Eddy - PROTEIN BLIND TASTE TESTING!\"<</Dialogue>><br><br>He looks at the little setup you just laid out, initially confused, but then he guffaws with that trademark belly laugh, and you smile.<br><br><<Dialogue \"Eddy\" \"Eddy\">>\"I gotta give it to you, that’s actually kinda genius!\"<</Dialogue>><br><br>You hand him one of the plastic coffee stirrers, and he grabs a tiny scoop of the first cup, tasting it.<br><br><<Dialogue \"Eddy\" \"Eddy\">>\"This one is definitely vanilla. I do like the subtle sweet note!\"<</Dialogue>><br><br>You grab a scoop of the second one. Hmmmm...<br><br><<Dialogue \"player\" \"You\">>\"Pretty sure this one is chocolate. The cocoa taste is actually richer than I expected, but a tad TOO sweet for me.\"<</Dialogue>><br><br>And so you two keep trying to figure out the flavors and making snide and snobbish comments.<br><br><<Dialogue \"player\" \"You\">>\"This one has fruity notes with a somewhat citrusy aftertaste...\"<</Dialogue>><br><br>You say, mocking a wine connoisseur with a pretend monocle. Big Eddy laughs so much he goes red in the face, losing his breath.<br><br>And to think this started as a slow day. Maybe if you could find a sanitary way to make this a thing for clients, it would not be such a bad idea... huh.<br><br><<Dialogue \"Eddy\" \"Eddy\">>\"I’m so glad I hired you. You really light up this place!\"<</Dialogue>><br><br>Awww, that’s sweet of him. But frankly, Big Eddy is such a larger than life personality that you doubt this store needed it. But it still makes you tingly inside to hear it.'
},
{
name: 'posingTraining',
locationTags: ['fitnessStoreJob'],
conditions: [
() => State.variables.bulkBarnJob
],
repeatable: true,
retriggerable: true,
priority: 'filler',
npc: [],
content: 'Not much to do today. Thank God Eddy has Internet on the store’s computer. You start browsing the web, and probably because of his cookies you keep getting banners about supplements on every page.<br><br>As bodybuilder after bodybuilder is paraded on the banners, you start getting a bit curious about all the posing. You end up on an online encyclopedia rabbit hole about posing in competitions. Huh. There’s a surprising amount of things to be learned about the subject.<br><br>You never realized there was so much more to this - like using forced perspective tricks, trying to cover up other opponents, or even forcing them into another pose, throwing off their routine.<br><br>This is weirdly fascinating. You start looking up how the scoring works. The trail leads you into several rulebooks for different competitions, and you eventually find out there are entries for the actual classic poses, and you are once again hooked.<br><br><<Dialogue "Eddy" "Eddy">>"What are you up to?"<</Dialogue>><br><br> <<if $shyConfident > 1>><<Dialogue "player" "You">>"Oh, I’m looking up bodybuilding posing, and it’s kind of amazing stuff."<</Dialogue>><br><br>Eddy’s eyes light up... and you know what is about to happen. Better buckle in, because he won’t stop talking for the next two hours...” <<elseif $shyConfident > -1>><<Dialogue "player" "You">>"Ah, nothing, just browsing the web while I wait, nothing major. And you?"<</Dialogue>><br><br>Eddy goes on about something, but your thoughts are still on the posing, and it all goes in through one ear and out the other for the rest of your shift.”<<else>>Surprised, you slam the monitor down in shame. Except it’s not a laptop, so you just bring the screen down onto the counter. With a nervous smile, you bring it back up and quickly close the browser, making Eddy go into a fit of laughter. Yeah, it’s just one of those days.<</if>>'
},
{
name: 'EddyStacking',
locationTags: ['fitnessStoreJob'],
conditions: [
() => State.variables.bulkBarnJob
],
repeatable: true,
retriggerable: true,
priority: 'filler',
npc: [],
content: 'After running out of BCAA in the display, you go to the stockroom to grab another box to put up. But what you find there does not make you happy. There’s a pile of boxes, six high, with the BCAA at the very bottom. Despite being similar sizes, the stacking leaves A LOT to be desired - it looks like if you coughed, the whole thing might just topple.<br><br><<if $muscle >= 35 && $height >= 175>>Thankfully, given your strength and height, it is mostly trivial to undo the dangerous pile, but despite completing your task, you are still somewhat irritated with the situation. <<elseif $carefreeCarefull > 1>>You very carefully try to undo this workplace hazard, using other boxes and careful planning - it’s very much like disarming a bomb in a movie, and just as stressful. But you do manage to defuse this situation. Doesn’t mean you are happy about it. <<else>>You don’t get paid enough for this. Nope. Not even gonna try. <</if>> But Big Eddy needs a talking to. This is not acceptable.<br><br> You go back to the front, tapping Big Eddy’s shoulder so he takes out his earbuds.<br><br><<Dialogue \"player\" \"You\">>\"Ed, we gotta talk.\"<</Dialogue>><br><br>You can see it in his face. It was probably half your demeanor, half the fact you called him just Ed, but he knows whatever is coming isn’t good.<br><br><<if $submissiveDominant > 1>><<Dialogue \"player\" \"You\">>\"Do I look like I receive hazard pay? Because that’s what your employees need to get if they are going to deal with the way you stack those boxes in the back. I’m pretty sure that’s at least an OSHA violation.\"<</Dialogue>><br><br><<Dialogue \"Eddy\" \"Eddy\">>\"Errrr, well...\"<</Dialogue>><br><br><<Dialogue \"player\" \"You\">>\"Don’t even TRY to talk your way out of this. I want you to go in the back RIGHT NOW and I’ll check things after you are done. If there is even one box precariously stacked, I’m going to make you regret this. Do I make myself clear?\"<</Dialogue>><br><br><<Dialogue \"Eddy\" \"Eddy\">>\"Yes, ma’m!\"<</Dialogue>><br><br>He says, with a military salute, and runs to the back. Good. Maybe you were a bit harsh, but you don’t want anyone getting hurt because of his carelessness.”<<elseif $submissiveDominant > -1>><<Dialogue \"player\" \"You\">>\"Look, I know you try hard, but the way you are stacking the boxes in the back is pretty dangerous - to you and everyone else that needs to go there. Last thing we need is for some delivery boy to get a concussion because he bumped one of your precarious piles. Could you PLEASE go in the back and help me clean it up?\"<</Dialogue>><br><br>He looks forlorn, and clearly feeling a bit guilty.<br><br><<Dialogue \"Eddy\" \"Eddy\">>\"Yeah, you’re right. It’s one thing if I’m putting myself at risk, but it’s pretty careless of me knowing other people need to go back there. I’m sorry, I’ll do it.\"<</Dialogue>><br><br><<Dialogue \"player\" \"You\">>\"I’ll help. We’ll do it together, here, let me put the bell on the desk if anyone needs service.\"<</Dialogue>><br><br>And with that, the two of you organize the back so there are no more dangerously piled boxes, while having the usual silly banter. It turns out to be more fun than you expected, and you even got a little workout from it.”<<else>><<Dialogue \"player\" \"You\">>\"Look, I’m super concerned about those boxes that could fall because they are so badly stacked in the stockroom. Do you think you could take a look, please? It would make me feel a lot safer back there!\"<</Dialogue>><br><br>Eddy apologizes profusely, really embarrassed, and runs to the back. You hear some noises of stuff falling and swearing, but by the time he’s done, the boxes are all firmly stacked and secured. Big Eddy really means well, he just needs a little shove - and you guess this is just part of your job description. It’s like being his mom at times.”<</if>>'
},
{
name: 'CustomerCompliment',
locationTags: ['fitnessStoreJob'],
conditions: [
() => State.variables.bulkBarnJob
],
repeatable: true,
retriggerable: true,
priority: 'filler',
npc: [],
content: '<<Dialogue "player" "You">>"So, these are GREAT for post-workout recovery. Big Eddy swears by them, and he knows what he’s talking about - just look at his pipes!"<</Dialogue>><br><br><<Dialogue "randomPerson" "Random person">>"Wow, you sure know a lot about this. It makes it a lot easier to come here and get stuff, I’m usually pretty intimidated."<</Dialogue>><br><br><<Dialogue "player" "You">>"Oh, Big Eddy may be, well, BIG, but he is the sweetest and nicest guy. I learned a lot from him, he’s very patient and knows his supplements."<</Dialogue>><br><br><<Dialogue "randomPerson" "Random person">>"Yeah, but I mean, talking to YOU was great! You’ve been so helpful!"<</Dialogue>><br><br><<Dialogue "player" "You">>"Awww, it was nothing, really."<</Dialogue>><br><br><<if $muscle >= 40>><<Dialogue "randomPerson" "Random person">>"And despite you being, CLEARLY, very fit and strong, you are still so easy to talk to!"<</Dialogue>><br><br><<Dialogue "player" "You">>"..."<</Dialogue>><br><br><</if>><<if $skills[1].level > 2>><<Dialogue "randomPerson" "Random person">>"And clearly there is no denying that you know A LOT about nutrition, you answered my every question so clearly, and added stuff I didn’t even know to ask!"<</Dialogue>><br><br><<Dialogue "player" "You">>"..."<</Dialogue>><br><br><</if>><<if $skills[0].level > 3>><<Dialogue "randomPerson" "Random person">>"Heck, you even gave me a ton of workout advice on top of that! You’re like a professional personal trainer!!!"<</Dialogue>><br><br><<Dialogue "player" "You">>"..."<</Dialogue>><br><br><</if>><<Dialogue "randomPerson" "Random person">>"You are, like, literally the BEST person to work in a place like this!"<</Dialogue>><br><br><<if $shyConfident > 1>><<Dialogue "player" "You">>"Well, what can I say? Some people just have a life calling... and I answered! It’s great to be the best at what you love, you know?"<</Dialogue>><br><br><<else>>You blush, unable to respond to such praise. Your eyes dart around as you hold your hands behind your back, hoping the customer will just be done with it and make a purchase.<</if>><br><br>Eventually, they just ring up the purchase and leave, still dropping a last few choice compliments on the way out.<br><br><<Dialogue "Eddy" "Eddy">>"Getting pretty popular, huh? You should be proud, you really are doing great work."<</Dialogue>><br><br>With a smile, you nod back at him. Yeah, it’s nice to be recognized.'
},
{
name: 'OrganizingStore',
locationTags: ['fitnessStoreJob'],
conditions: [
() => State.variables.bulkBarnJob
],
repeatable: true,
retriggerable: true,
priority: 'filler',
npc: [],
content: 'While the bulk of the sales for the Bulk Barn are supplements, the store also carries a bit of workout equipment in the back. Unfortunately, in typical Big Eddy fashion, it’s all pretty haphazardly tossed around on one corner. It looks like it could use a little organizing. You slightly dread the task, but with no much else to do right now, you roll up your sleeves and get to work.<br><br><<if $skills[2].level > 3>>First things first, you come up with a plan. Getting some pen and paper, you decide the best way to tackle the task. You draw up a layout, where you will organize all the weights by size on the left, then use one of the smaller shelves and the hooks on the wall to display all the aerobics equipment. Finally, the nice display on the opposite corner can house the tools like the scales, tapes and mirrors. That way, customers can also use the mirrors if they want while shopping. Yeah, that should work!<</if>><br><br>You decide to start moving the weights. <<if $muscle >= 60>>It’s a big anticlimactic that you can just casually move them with little to no effort. <<elseif $muscle >= 45>>You are strong enough that it’s basically a trivial task to move them, which makes the job a lot easier.<<elseif $muscle >= 30>>It takes some effort to move the large weights, but it’s a testament to your progress that you manage to do so by yourself, even if it’s hard to handle the bigger one.<<else>>You manage the smaller ones just fine, but you need to recruit Big Eddy to help with the bigger ones, which he does with pleasure and excitement.<</if>><br><br>Wow! It looks great, seeing the weights all organized by size and type! Next, you tackle the aerobics stuff. Given its colorful nature, you enjoy making the display all color-coded - which is both practical AND visually appealing! This is turning out to be more fun than you expected!<br><br>Finally, there’s only the electronics, tools, and mirrors left. For this, you try to find a balance and make it look like a high-end store, given all the chrome and reflective surfaces. By the time you are done, it looks REALLY GOOD.<br><br><<Dialogue \"Eddy\" \"Eddy\">>\"Nice job, girl. Keep it up!\"<</Dialogue>><br><br>He says, giving you the thumbs up. You shoot another one back with a wink, feeling very fulfilled.'
},
{
name: 'helpBodybuilder',
locationTags: ['fitnessStoreJob'],
conditions: [
() => State.variables.bulkBarnJob
],
repeatable: true,
retriggerable: true,
priority: 'filler',
npc: [],
content: 'Despite most clients being average people, the Bulk Barn still gets a lot of serious athletes. And suddenly in comes a very sizable bodybuilder. In some ways, these are the easiest customers to cater to, since they know exactly what they want. But that is not ALWAYS the case.<br><br><<Dialogue "randomPerson" "Random person">>"Hey, uh, can you help me out? I’m looking for something specific."<</Dialogue>><br><br><<Dialogue "player" "You">>"Sure, what is it?"<</Dialogue>><br><br>He grabs his phone, and shows a picture of a very specific brand of BCAA you’ve never seen before. You squint, and ask if you can have a closer look. You scroll through the article, examining the picture of the product, its brand and distributor. Hmmmm.<br><br><<Dialogue "player" "You">>"Hey, Eddy, help me out here. Have you ever heard about this?"<</Dialogue>><br><br>You show him the picture. He seems initially excited:<br><br><<Dialogue "Eddy" "Eddy">>"Oh, yeah, I heard about it! They just launched this product, and I heard some great things about it! It sounds AWESOME, there’s a lot of scientific literature about the stuff they have done with the proteins in this, really exciting stuff."<</Dialogue>><br><br><<Dialogue "player" "You">>"Yeah, but my question is more along the lines of ‘how do we get our hands on it?‘"<</Dialogue>><br><br>Eddy shrugs with his typical ‘I dunno’ face. You roll your eyes, because this is his code for ‘you figure this one out, kiddo.’ Which you proceed to do. Asking the guy for a minute, you head to the computer.<br><br> <<if $skills[2].level > 3>> You go through your order history, and try to figure out if any of your suppliers have ties with that distributor. After a few phone calls, you find out someone who gives you their contact. Another phone call and you are informed that it’s still on limited distribution - but you happen to have a good contact with one of the nearby markets that are part of that. It’s a bit convoluted, but you manage to convince a distributor from those parts to send you a couple of boxes of the product as a favor. It should be here in a week!<br><br><<Dialogue "randomPerson" "Random person">>"Wow, you are good, I’ve been to many stores, and called so many others, you were the only ones to even get this far! I’m telling my friends about this place, you guys are great!"<</Dialogue>><br><br>Big Eddy taps your back with his big smile.<br><br><<Dialogue "Eddy" "Eddy">>"You just don’t know how to let me down, do you, kiddo?"<</Dialogue>><br><br>You raise your arms, and thank him for the compliment. It feels good to be helpful like this. <<elseif $skills[1].level > 3>> Eddy’s mention of the studies about the protein remind you of some of your own nutrition research, and how they ran some of those trials. In fact, the local gym was probably part of it. You give them a call, and they hook you up with their contact - one more call, and you have a sample box being delivered within the week as a trial, for FREE, even!<br><br><<Dialogue "randomPerson" "Random person">>"Wow, you are good, I’ve been to many stores, and called so many others, you were the only ones to even get this far! I’m telling my friends about this place, you guys are great!"<</Dialogue>><br><br>Big Eddy taps your back with his big smile.<br><br><<Dialogue "Eddy" "Eddy">>"You just don’t know how to let me down, do you, kiddo?"<</Dialogue>><br><br>You raise your arms, and thank him for the compliment. It feels good to be helpful like this. <<else>> Well, this is tricky. Without much of a place to start, you just make calls to your regular distributors, but to no avail. They all say they haven’t received any of that product, and have no idea when they will. Dang!<br><br><<Dialogue "player" "You">>"I’m sorry, I have no idea when we’ll get that in stock. I’ll keep trying, but if you want you can leave your contact and I’ll let you know when we do.‘"<</Dialogue>><br><br> <<Dialogue "randomPerson" "Random person">>"It’s alright. I’ve already tried several other places, I guess I’ll just have to do without. Thanks for trying, though."<</Dialogue>><br><br>Big Eddy comes and puts an arm around your shoulder.<br><br><<Dialogue "Eddy" "Eddy">>"Don’t let it get to you, kiddo. You win some, and lose some. That’s just life."<</Dialogue>><br><br>You know he’s right, but it still bugs you, as you wonder if only you were better at it, maybe you could have done something about it? <</if>>'
})>>
<<script>>
for (let i = 0; i < setup.events.length; i++) {
if(!setup.events[i].locationTags.includes('fitnessStoreJob')){
continue;
}
setup.events[i].content += '<br><br>And that ends your shift! It took a bit of work, but you earned $<<print setup.balance.bulkBarnJobIncome()>> this shift.<<if $skills[0].level > 0>> Your knowledge of lifting certainly helped with this!<</if>> And your cooking skills did give you a suprising aid when it comes to advising people on their diets.<<if $skills[2].level > 0>> That course on bookkeeping certainly wasn\'t wasted either. Maybe Eddy should take one.<</if>><<set $money += setup.balance.bulkBarnJobIncome()>>';
}
<</script>>--- Version 0.7.4: Clothing & dates ---
● Added bonuses to clothing to give players more reasons to use the clothing system
● Added different styles of clothing with different written content
● Added completely new outfit and clothing system, which is far more forgiving
● Added new Date for Emma
● Added new Date for Elena
● Added new job to the bulk barn, allowing players to help in the store
● Added 70.000 words of new content
● Reworked the early Kris Dialogs
● Added lactation content to all jobs
● Performed an editorial pass over the entire game, fixing most grammatical & spelling issues
● Fixed slow load time, or no penis in mirror scene
● Rebalanced money and growth speed
--- Version 0.6.9: Measurements & story ---
● Added over 40.000 word of new content to the game
● Added a way to measure and keep track of your growth
● Added the ability to discover what potions do before buying and consuming
● Added async loading of the mirror scene, allowing for way faster loading
● Added reworked art of the bigger sizes
● Added new story content
● Added new Emma art
● Reworked event logic for quicker and more stable implementation
● Added Kris to places she should not be
● Reworked late game balance
● Added lactation to the mirror scene when the players breasts are full
● Reworked the time needed to eat food
● Rebalanced muscle growth speed
● Added content to the park
--- Version 0.6.5: Events & Lactation ---
● Added lactation to the game
● Added 12 new potions
● Added the event system
● Added over a dozen events that can pop up during the game
● Added jogging to the game
● Added a setting where the player determines the droprate of potions
● Reworked the way that potions drop
● Added new body descriptions
● Added new wakeup options
● Added a new diet option
● Added new story content
● Added new random NPC portraits
--- Version 0.5.9.0: Dates ---
● Added Dates for Emma and Kris
● Added new dialogs for skill mastery and more body types
● Added new cooking gear to balance out cooking time needed at big sizes
● Reworked Kris as an NPC, making her dialog appear more reliably
● Reworked passive income from streams
● Reworked food cost balancing
● Added new body descriptions
● Fixed a bug where Kris's dialog would be unavailable
● Renamed Kriss to Kris to keep my sanity (and the editor's as well)
● Fixed a bug where the player got stuck in an endless loop of eating
● Balanced potion appearance rates
● Added new career sidepath to the office career, where players can keep in touch with Emma for longer.
--- Version 0.5.5.3: Full body renders ---
● Total overhaul of the exhaustion and motivation mechanic.
● Hovering over a choice will now tell you how much motivation or exhaustion it gives or takes
● The time for several activities has been reduced - the way potions spawn has been tweaked.
● When starting a new game, players can select certain skills and personality types to change.
● The income from streaming has been stabilized.
● The way you gain viewers on streams has been changed.
● The income from the job has been changed.
● You can now get a promotion for the job.
● Potions have more scaled effects now.
● Certain potions have been made more prevalent.
● Full implementation of the workout and cooking skills.
● Total rework of cooking and recipes.
● Fixed a bug where tailored clothes did not fit.
● Fixed a bug where the player got stuck in an endless loop of sleeping.
● Added the first date with Elena.
● Added the full body renders for all body types.
--- Version 0.4.9.0: Dates & sewing ---
● Added the first date with Johan
● Added 4 new potions
● Added over 19 new dialogs.
● Added Simon as a minor NPC
● Added Sewing at home
● Fully implemented the sewing skill
● Reworked the tailoring, making it far more useable
● Added time indicators to most decisions, making managing time easier.
● Fixed a bug where tailored clothing would not fit.
● Fixed a bug where talking to an NPC did not cost time.
● Fixed a bug where talking to an NPC got you stuck in a loop.
● Fixed a bug where Kris was Johan
--- Version 0.4.5.2: Personality system ---
● Introduced a new NPC, the growth-obsessed Kris
● Added new Dialogs for Elena, Emma and Johan
● Rewrote existing dialog to include the new personality system where needed.
● Added the new personality system to the game, allowing the player to be shy, dominant, confident, submissive, careful or carefree
● Added the new character screen where players can find information about the skills of the main character.
● Rebalanced the cost and effect of several items
● Rewrote the functioning of books and added new books
● Added new transformation items
● Fixed bug where game would randomly make player character huge
● Fixed bug where all clothes disappeared
--- Version 0.4.1: Clothing tweaks ---
● Player can now throw away old clothes
● Player now always knows which size they need
● Removed part of clothing system that caused a lot of confusion
● Made sure futa potions only show when appropriate
--- Version 0.4: Rebalance & refactoring ---
● Reworked the clothing system
● Added tailor
● Rebalanced all sources of income
● Added descriptions to all workouts
● Reworked the shops
● Added home workouts
● Added many new icons for the player
● Added more random flavor text
● Rebalanced muscle growth speed
● Added cap to streaming income and rebalanced it
● Fixed minor grammar and spelling issues
● Huge amount of bugfixes
● Added weekly rent payments
● Added food cost based on weight
● Implemented difficulty settings
● 5 new transformations items
● Added balls to dick descriptions if futa is active.
● New dialog for Johan & Emma
--- Version 0.3: Johan & office ---
● Added Office job for more stable income
● Added new transformation items
● Added dialog tree for Johan, the first full-fledged NPC. Romance options will be added later.
● Added more random flavor text
● Reworked streaming and skill balancing
● Added the first art assets for the player, Johan, Elena and Emma. The player currently several sizes implemented.
● Fixed minor grammar and spelling issues
● Huge amount of bugfixes
● Added big and tall store
● Books now give more experience
● Learning skills on the PC now takes exhaustion and gives less experience
● Added settings for speech bubble sizes.
● Added settings to disable futa options
--- Version 0.2.1: Job & measurements---
● Added streaming job to PC when webcam is bought
● Added electronics store
● Added bathroom scale to measure weight
● Added measuring tape to measure different body parts
● Added flavor log texts at certain heights that appear at random once the player has grown enough
● Added settings' menu at start of the game
● Added different size modes and settings
● Revamped settings menu
● Fixed minor grammar and spelling issues
● Rewrote parts of intro
--- Version 0.1: Initial release---
● Added initial growth descriptions
● Added basic stores
● Added gym functionality
● Added gym supplements
● Added basic consumables
● Added skill books
● Added basic skill outlines
● Added initial goals setups
● Added clothing functionality
● Added different diets
● Added skills
● Added logging system
[[Return|$return]]<<script>>
$(function () {
$.getScript("https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.5.0/Chart.min.js", function (data, textStatus, jqxhr) {
function addData(yValues, name, element, displayName, color) {
var index = yValues.datasets.findIndex(object => object.label == displayName);
if (index === -1) {
yValues.datasets.push({
label: displayName,
data: [],
borderColor: color,
fill: false
});
index = yValues.datasets.findIndex(object => object.label == displayName);
}
if (State.variables.measurementSystem == 'imperial') {
yValues.datasets[index].data.push(Math.round(element.measurements[name] * 0.39370 * 10) / 10);
} else {
yValues.datasets[index].data.push(Math.round(element.measurements[name] * 10) / 10);
}
}
var xValues = [];
var yValues = {
labels: xValues,
datasets: []
}
var suffix;
if (State.variables.measurementSystem == 'imperial') {
suffix = 'in inches';
} else {
suffix = 'in cm';
}
State.variables.measurementProgress.forEach(element => {
xValues.push(element.date.toLocaleDateString());
if (State.variables.displayHeight == true) {
addData(yValues, 'height', element, 'Height ' + suffix, 'red');
}
if (State.variables.displayChest == true) {
addData(yValues, 'chest', element, 'Chest ' + suffix, 'orange');
}
if (State.variables.displayWaist == true) {
addData(yValues, 'waist', element, 'Waist ' + suffix, 'yellow');
}
if (State.variables.displayHips == true) {
addData(yValues, 'hips', element, 'Hips ' + suffix, 'green');
}
if (State.variables.displayNeck == true) {
addData(yValues, 'neck', element, 'Neck ' + suffix, 'cyan');
}
if (State.variables.displayUpperArm == true) {
addData(yValues, 'upperArm', element, 'Upper arm ' + suffix, 'blue');
}
if (State.variables.displayLowerArm == true) {
addData(yValues, 'lowerArm', element, 'Lower arm ' + suffix, 'indigo');
}
if (State.variables.displayThigh == true) {
addData(yValues, 'thigh', element, 'Thighs ' + suffix, 'purple');
}
if (State.variables.displayKnee == true) {
addData(yValues, 'knee', element, 'Knee ' + suffix, 'pink');
}
if (State.variables.displayCalve == true) {
addData(yValues, 'calve', element, 'Calve ' + suffix, 'lime');
}
if (State.variables.displayAnkle == true) {
addData(yValues, 'ankle', element, 'Ankle ' + suffix, 'maroon');
}
if (State.variables.displayWeight == true) {
var weightSuffix;
if(State.variables.measurementSystem == 'imperial') {
weightSuffix = 'in lbs';
} else {
weightSuffix = 'in kg';
}
addData(yValues, 'weight', element, 'Weight ' + weightSuffix, 'aqua');
}
});
new Chart("myChart", {
type: "line",
data: yValues,
options: {
legend: {
display: true
},
scale: {
y: [{
callback: function (value, index, values) {
return '$' + value;
},
ticks: {
precision: 0
}
}]
}
}
});
});
});
<</script>>
<canvas id="myChart" style="width:100%;max-width:600px"></canvas>
You kept track of a lot of things, and with it you can easily check your progress. Some data might be missing, but you did your best to note everything down.
<table style="width:100%;">
<tr>
<td><<checkbox "$displayHeight" false true autocheck>> Height</td>
<td><<checkbox "$displayChest" false true autocheck>> Chest</td>
<td><<checkbox "$displayWaist" false true autocheck>> Waist</td>
</tr>
<tr>
<td><<checkbox "$displayNeck" false true autocheck>> Neck</td>
<td><<checkbox "$displayUpperArm" false true autocheck>> Upper arm</td>
<td><<checkbox "$displayLowerArm" false true autocheck>> Lower arm</td>
</tr>
<tr>
<td><<checkbox "$displayThigh" false true autocheck>> Thigh</td>
<td><<checkbox "$displayKnee" false true autocheck>> Knee</td>
<td><<checkbox "$displayCalve" false true autocheck>> Calve</td>
</tr>
<tr>
<td><<checkbox "$displayAnkle" false true autocheck>> Ankle</td>
<td><<checkbox "$displayWeight" false true autocheck>> Weight</td>
<td></td>
</tr>
</table>
<<timed 0s>><<script>>
var boxes = $(":checkbox");
boxes.on("change", function () {
setTimeout(() => Engine.play("measurementProgressView"), Engine.minDomActionDelay);
});
<</script>><</timed>>
<<link "Continue with this later" "Bedroom">><</link>><<script>>
var events = setup.events;
for (let i = 0; i < setup.events.length; i++) {
event = setup.events[i];
}
<</script>><<nobr>>
<<widget "ConsumablePopup">>
<<if $args[0] == undefined>>
<<script>>
console.log("ConsumablePopup used without proper parameters");
<</script>>
<</if>>
<<set _index to $args[0]>>
<<set _usedConsumable to $consumables[_index]>>
<<set _name to _usedConsumable.name>>
<<set _message to "">>
<<set _code to "">>
<<for _i to 0; _i < _usedConsumable.effects.length; _i ++>>
<<capture _i>>
<<set _rand to 1 - Math.random()>>
<<if _usedConsumable.effects[_i].chance >= _rand>>
<<set _message += _usedConsumable.effects[_i].description()>>
<<set _code += _usedConsumable.effects[_i].code()>>
<<set $consumables[_index].effects[_i].discovered to true>>
<</if>>
<</capture>>
<</for>>
<<script>>
if (Dialog.isOpen() == false) {
var dialog = Dialog.setup(State.temporary.name);
new Wikifier(dialog, State.temporary.message);
Dialog.open();
}
<</script>>
<<print _code>>
<</widget>>
<</nobr>><<set setup.events.push(
{
name: 'parkFiller',
locationTags: ['park'],
conditions: [
() => true
],
repeatable: true,
retriggerable: false,
priority: 'filler',
npc: [],
content: "It's nice taking it slow and just going for a walk in the park. With everything that has been going on it's a rare enough treat that you get to you just walk around a bit, and contemplate everything that's going on. It's quiet here, with not many people around, and as you let the sun warm your face, you reflect on the recent events. Those weird drinks. Your body. It'd be insane, all these changes, if they hadn't become this weird new norm. But for the time being, you're just yourself, merely enjoying nature as you listen to the crisp bristling of leaves in the summer sun and the welcome song of a bird. Your body might feel heavier than it used to, your personality changed, but here, you still feel like yourself. <<set $exhaustion -= 10>><<set $motivation += 10>>"
},
{
name: 'parkFiller2',
locationTags: ['park'],
conditions: [
() => true
],
repeatable: true,
retriggerable: false,
priority: 'filler',
npc: [],
content: "Okay, this was a good call. Fresh air, warm sun, nothing but nature and a nice park to relax. It's a textbook - or perhaps storybook - summer. Flowers are in full bloom, <<if $elenaOpinion >= 20>>many of which Elena would love,<</if>> birds are happily singing, and for just a few moments, you can really relax. Though the last weeks have been crazy, you often forget how much it can exhaust you. But here you are, just relaxing and enjoying it while you stroll around. Not too many people around too, so you don't have to worry about people noticing your... changes.<<set $exhaustion -= 10>><<set $motivation += 10>>"
},
{
name: 'parkHeight',
locationTags: ['park'],
conditions: [
() => true
],
repeatable: true,
retriggerable: false,
priority: 'filler',
npc: [],
content: "Today is a great day for a walk in the park! You decide to just go for a casual stroll around the lake, and just chill for a bit.<br><br>As you walk around, you see all kinds of people: couples holding hands, joggers, park staff tending the plants, rollerbladers and bikers, old people feeding the birds, kids playing on the playground, all kinds of athletes using the park’s many facilities…<<if $height >= 230>>Alright, this is getting a bit ridiculous. You stopped being the one doing the people-watching, and are now the subject of everyone else at the park, who will stop whatever they are doing just to stare at you. You see cyclists falling and people walking into poles as they turn their necks to really confirm that they’ve just spotted a giant.<br><br>This might take some getting used to.<<elseif $height >= 210>>The experience has now radically changed, however. You basically tower over everyone else, even the people on the basketball court. In fact, every time you pass by, you tend to get an invitation to join them - some have even asked for your number. You guess that being tall has its advantages.<<elseif $height >= 190>>It’s kind of shocking, though… you notice that you are now decided above average, more in common with the tallest people than the others. It makes your heart race a little bit, and you giggle to yourself as you are reminded that you might still have not reached your potential.<<elseif $height >= 170>>But something has changed. You don’t feel so short anymore. In fact, you feel distinctly average. It’s kind of unusual to look at adults who are shorter than you. It’s kind of funny, being excited about the prospect of mediocrity… but maybe that’s just because you realize that’s just the beginning? <<elseif $height >= 150>>You enjoy just doing some good old people watching, but you can’t help being reminded of your below-average height. <<if $muscle <=25>>At one point, a kid even invites you to play with him, thinking you are just a child.<</if>><br><br>I mean, you are quite happy with your body, but part of you seems to… you aren’t sure, there’s just this DESIRE to be taller, even if just a little bit. Oh well… it is what it is.<</if>> As you finish your stroll, you head back home."
},
{
name: 'parkHeight2',
locationTags: ['park'],
conditions: [
() => true
],
repeatable: true,
retriggerable: false,
priority: 'filler',
npc: [],
content: "You walk into the park, and spot an exercise area with all kinds of equipment, pull-up bars, incline sit-up stations… and varied bars for stretching… ohhhh, you could use a good stretch!<<if $height >= 230>>As you reach the bar, you stop and realize you might have outgrown it - in more ways than one!<br><br>You kick your leg up, all the way over your head in a perfect split. You hug your leg with your arm, and realize it now stands taller than the stall bars. Well, I guess you don’t need to come back here for a good stretch after all!<<elseif $height >= 210>>Without hesitation, you just stop right at the stall bars and kick your leg up 135 degrees, reaching the ninth bar - the next to last one on the device. You casually extend your opposite arm over your head in a ballet motion, as you notice other people casually glancing at your display of flexibility.<<elseif $height >= 190>>You find the stall bars at their usual place in the exercise area, and confidently stand before them. With little effort, you raise your foot to a 90 degree angle, comfortably resting it on the sixth bar from the ground. You lean forward, hugging your tight as you feel every tendon stretch. It gives you a fuzzy warm feeling.<<elseif $height >= 170>>You return to the stall bars, and with a sweeping motion, plant your foot firmly on the fourth bar from the ground, at a 75 degree angle. You reach for your foot, and can actually hold to the very tip of your sneakers! You continue to stretch, feeling as your legs lengthen and your muscles relax.<<elseif $height >= 150>>You timidly approach the stall bars, feeling quite intimidated by their height. You raise your leg up at 60 degrees, barely reaching the third bar from the ground. Ugh, you look around, and it makes you feel so tiny! Yet, you push on, bending your back forward as you try to reach your foot. Your fingertips can almost make it… wiggling very close to your shoelaces.<</if>> Satisfied and very limber, you head back home."
},
{
name: 'parkCatInTree',
locationTags: ['park'],
conditions: [
() => State.variables.height >= 170
],
repeatable: false,
retriggerable: false,
priority: 'response',
npc: [],
content: `The park seems unusually quiet as you traverse its verdant paths. But suddenly, you hear a child crying from the tree’s nearby. You bring yourself to a sudden stop. Pinpointing the distressed voice, you make haste to find its source.<br><br>You see a small girl in a yellow dress, bawling her eyes out by a tree. A few people seem to have gathered around here, looking at the girl and the tree. You kneel next to her, curving down to try to get as close as possible.<br><br><<Dialogue "player" "You">>"Hey there. Are you okay? What is wrong?"<</Dialogue>><br><br><<Dialogue "randomPerson" "Random girl">>"It’s… (sob)... Emilia (sob)... my cat (sob)... she climbed that tree and can’t get down!"<</Dialogue>><br><br>You check the tree, and just like she said, a young tabby seems to have climbed on one of the branches (which you estimate to be about <<if $measurementSystem == 'metric'>>3 meters<<else>>10 feet<</if>> off the ground), and now is desperately walking across it, trying to figure its way down. The other adults see it, but no one knows how to get it down.<br><br> <<Dialogue "player" "You">>"Hey, listen. Emilia is going to be okay, alright? Let aunt <<print $playerFirstName>> take care of her, just calm down and give me one minute, alright?"<</Dialogue>><br><br><<if $height >= 245>>Standing up, and realize that you can probably reach the cat easily by stretching your arms. You start from the tip of the branch, bringing your extremely long arms up, and shushing gently - the cat is quite nervous and suspicious, and starts fleeing toward the beginning of the branch. You carefully and slowly follow it, until it is cornered at the trunk. You continue shushing, and envelop the scared feline in your sizable hands. It squirms, digging its claws on your skin, but you hold it as gently as you can, as you pull it away from the branch.<br><br>As you bring it down, the cat’s claws dig deeper, but you maintain your cool and make sure not to hurt it, as you kneel near the girl again, handing her Emily.<br><br><<elseif $height >= 210>>You check the tree, and realize that you might just make it to the beginning of the branch if you tiptoe and stretch your arms. You recruit a tall man with his son to help - the son grabs a stick and sits on his father’s shoulders, trying to make the cat go towards the trunk, where you wait, stretched as far as you can. Very gently you pick the cat up, biting your lip as it digs its claws on your hands.<br><br>You carefully bring the cat down, bracing for the sting of its claws, but not letting the poor girl know your pain. You kneel near the girl, handing Emily over.<br><br><<elseif $height >= 190 && $muscle >= 45>>You can ALMOST reach the branch, but not enough. You spot a nearby wrought iron bench… hmmm…<br><br>You grab the bench, and lift it off the ground. You carry the bench to the base of the tree, where the added height might just… YES!<br><br>You tiptoe from the top of the bench, and manage to nab the cat by the scruff of its neck, and carefully climb down. You return it to the little girl, with a smile.<<elseif $height >= 190>>You can ALMOST reach the branch, but not enough. You spot a nearby wrought iron bench… hmmm…<br><br>You ask for some help carrying the bench, grabbing it from one side while a man grabs the other one. He is somewhat surprised at the ease with which you carry the heavy piece, looking occasionally at your arms, but helps you drop it next to the tree.<br><br>The added height might just… YES!<br><br>You tiptoe from the top of the bench, and manage to nab the cat by the scruff of its neck, and carefully climb down. You return it to the little girl, with a smile.<<elseif $muscle >= 35>>You show your flexed biceps for the girl, as you whisper softly:<<Dialogue "player" "You">>"Don’t tell anyone, but I’m pretty strong, see? I’m going to help you out! Don’t worry!"<</Dialogue>><br><br>You deftly climb the tree, sitting on top of the branch where the cat has stranded itself. Your weight seems to put a lot of stress on it, but you are pretty sure you can do this… you calmly shush the cat, and scoop it by the tummy, while holding the trunk with your other hand. You cradle the cat on your chest with one arm, as you move your leg over the branch, sitting on it. You carefully turn to wrap your legs around the tree, and use your free arm to bring yourself down enough so that you can jump without scaring the cat too much.<br><br>As you land, you hand the cat over to the girl.<<else>>You aren’t so sure you got this… if only you were a bit taller or strong enough to lift yourself up the tree… hmmm…<br><br>Unsure of how to proceed, a man offers to help you up there. He cups his hands, and boosts you up to the branch. You sit on it, and plan your next step.<br><br>You calmly shush the cat, and scoop it by the tummy, while holding the trunk with your other hand. You cradle the cat on your chest with one arm, as you move your leg over the branch, sitting on it. You carefully turn to wrap your legs around the tree, and use your free arm to bring yourself down enough so that you can jump without scaring the cat too much.<br><br>As you land, you hand the cat over to the girl.<</if>><<Dialogue "randomPerson" "Random girl">>"Thank you, aunt <<print $playerFirstName>>!"<</Dialogue>><br><br><<Dialogue "player" "You">>"I’m glad to help! Just… make sure to put a leash on Emilia the next time you go out, okay?"<</Dialogue>><br><br>You tap the girl on the head, and smile as you watch her go, hugging her cat. It feels pretty good to help. You come back home with a big smile and a feeling of accomplishment.`
},
{
name: 'parkBreasts',
locationTags: ['park'],
conditions: [
() => true
],
repeatable: true,
retriggerable: false,
priority: 'filler',
npc: [],
content: "It’s such a nice day at the park, but for once, you just feel like relaxing a bit. And so you find yourself a nice bench, and sit down.<br><br><<if $breasts >= 100>>The bench audibly creaks from the weight of the two cannons you have on your chest. They basically rest over your legs, so big that they are - distraction, thy name is mammaries. You are forced to basically slouch down over them, and thus generating a huge field of diversion.<br><br>At this point, you are just willingly wreaking havok: people falling from bikes, running into the lake, letting their dogs run away, tripping into each other. You are a goddess of mischief, and your two breasts are your willing servants.<<elseif $breasts >= 75>>Your breasts jiggle as you do so, and you bite your lips with the satisfaction that you are the undisputed emperor of the boobs. Not a single soul could compare to you in the mammaries department - and the many looks you are getting only further prove that.<br><br>You drape your arms over the back of the bench, putting your sweater puppies in full display. Few people can resist a good stare, and you are pretty sure you might have made some girlfriends break up over the ogling you caused. A guy even ran face first into a streetlight, he was so distracted. You place your hands over these trophies, and give them a big, satisfied squeeze.<<elseif $breasts >= 50>>As you start automatically judging every female breast in your vicinity, you smile triumphantly as you realize you might as well be the king of the mounds - your mammaries make for a nice display, more sizeable than pretty much all the competition - and rightly so, you catch quite a feel sneaky glances from passers-by.<<elseif $breasts >= 35>>You watch other women passing by, and feel quite pleased about your breasts. You might be decidedly average in size, but they are perky and firm, giving you a nice edge. You surreptitiously cop a feel, and feel a shiver go up your spine as you do. You never thought you'd be so pleased with them!<br><br><<elseif $breasts >= 20>>As you look around, you start comparing your figure to other girls, and you notice you are a bit lacking in the breast department. You bring a hand to your chest, realizing you could probably have gone out without a bra. You frown, feeling jealous of all the other women and their bigger chests. Well, I guess not everyone can win the boobie lottery!<br><br><</if>>Relaxed and satisfied, you get up and head home."
},
{
name: 'parkKrisVibes',
locationTags: ['park'],
conditions: [
() => State.variables.krisInterested,
() => State.variables.krisObsessedOpinion >= 20
],
repeatable: false,
retriggerable: false,
priority: 'response',
npc: ['kris'],
content: 'It’s just another great day at the park, and it feels good to just relax for a change. It’s a large park, and you usually don’t see many familiar faces there, but that’s not the case today: as you pass by the fountain, you see Kris sitting on the bench, arms draped over the back, eyes closed and head tilting - presumably to the rhythm of the music she must be listening with her earphones.<br><br>This, in theory, is a completely normal scene by almost everyone’s standards, but your brain is having major cognitive whiplash processing it: in a park, full of very fit, scantily dressed females exercising, Kris has her EYES CLOSED! You find a bench that should be out of her general field of view, and decide to just watch her for a bit.<br><br>You are utterly mesmerized. There is a sense of calm in Kris that almost takes your breath away. She’s just vibing, and her usual energy of longing is entirely absent, replaced by an unusual sense of… just simple contentment. The experience feels somehow borderline religious, as if you had just found the Buddha, hanging out in the park, exuding an aura of pure zen.<br><br>Uh oh! There’s a tourist approaching her - the tall blonde woman must be over <<if $measurementSystem == "metric">>2 meters<<else>>6’6”<</if>> tall! This won’t end well…<br><br>The blonde taps Kris on the shoulder, and the little firecracker opens her eyes. The tourist points at some pictures on a book, and Kris calmly starts giving her directions. The tourist gives her a polite bow and goes on her way, and Kris closes her eyes and gets back to her vibing.<br><br>You are nothing short of flabbergasted. Who would’ve guessed that Kris could turn off her lecherous side? You resist an urge to just go there and squish her… and decide to get away before YOU are the one with the uncontrollable desires.'
}
)>>
<<for _i to 0; _i < setup.events.length; _i ++>>
<<capture _i>>
<<if setup.events[_i].locationTags.contains("park")>>
<<set setup.events[_i].content = "<<set $currentScene to \"Home\">>" + setup.events[_i].content>>
<</if>>
<</capture>>
<</for>>The file loads slowly, and what you see before you is... well, who you suspect to be Toshi. The odd red carpet, the same box... you know for sure it's the guy who inhabited this apartment before you. And given the lab coat and his pose, you bet he's the one responsible for all these strange drinks. You try and see if you can get more from the file, but for now, you can't think of anything. All the metadata has been corrupted, and you only got the filename and the image...
<<if $usbPassword3Unlocked == true>>
Compared to the other selfie, he's a LOT smaller! If you only knew how much time elapsed between these two selfies, but taking into consideration he's only been in this room for a year, that he looks pretty much the same if you ignore his size, at most we are talking a few months in-between. You wonder... <<if $muscle > 80>>are you growing even faster than him, giving how huge you already are?<<else>>is this how big you will become too? Do you even want that? He looks almost... awkwardly big...<</if>>
<</if>>
<img src="https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Art%20assets/Scenes/Toshi_selfie1.png" alt="alternatetext" style="width: 100%;">
<<link "Continue with this later" "pcUsbHacking">><</link>>You open the file, quickly seeing a simple text document open on your screen. The contents are easily readable, and at the top you can see the name of the file, as clear as day.
'toshi experiment log - January 1st, 2020'
It was written half a year before you moved here.
<<Dialogue "toshiUnknown" "Toshi">>
Okaaaaay, so! I dunno how, but so far it has been a resounding success! I can't precisely explain HOW my stuff works, but I do know that my stuff works. Once the initial dose of the gene-unlocker has been digested, anyone can benefit from the different variants of the distillation. What I didn't expect was to also make them taste like something; without the gene-unlocker, all of the distillations just taste like water. But, it doesn't matter!
I've drank the Gene-unlocker about a week ago now, and I gotta say, I feel fine! Okay, okay, maybe drinking your own untested experiments is a BIT of a gamble, but come on! The results were so promising! And so far, it's just AMAZING. If my readings are correct, I gained nearly <<if $measuringSystem == "imperial">>10lbs<<else>>5kg<</if>> of lean muscle mass, while my height increased by <<if $measuringSystem == "imperial">>1"<<else>>2cm<</if>>. There was noticeable soreness and muscle fatigue, but those are to be expected and VERY mild compared to normal side effects! I do eat a ton though, and man, the microwave burgers are getting expensive.... same with all the ingredients for the distillations. It's a good thing I sold that box of old junk, but now I can't find some of the previous distillations I made... I hope I didn't sell those...
<</Dialogue>>
There is a lot to unpack here. The thing you drank from the fridge must be one of the 'Gene-unlockers' that allows you to benefit from the other potions. That probably also explains why they don't do anything to anyone else. You had hoped for more information, but combined with the other logs, you're sure you will piece it all together.
<<link "Continue with this later" "pcUsbHacking">><</link>>The file loads in, and what you are greeted with is a selfie of inhumanely large proportions. <<if $usbPassword1Unlocked == true>> You see who you assume to be the same guy from the first picture, wearing the same shirt even, but blown up to gigantic proportions. How long has it been between these 2 selfies?! Years? Months? Weeks...? It's almost scary how big he has gotten.<<else>>You don't know who this is, or why you haven't heard of someone this... size. You're sure that someone THIS huge would be like an urban legend on the Internet. Who is he?<</if>><<if $muscle > 80>> Something else that stands out to you is how you're already bigger than him. Your own muscles would bulge just as much, your own pecs explode from your clothing. You pause for a second as you look at it, not sure how this makes you feel. <<else>> and looking at the sheer size on him, you wonder how he felt about it. This could be you at some point.<<if $shyConfident > 0>>But that physique does look amazing, and if you looked like that... would that be so bad?<<else>> You're no sure you even want to look like that. That size, that level of musculature... can he even walk normally in public? Maybe you should reconsider this whole potion business...<</if>><</if>>
<img src="https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Art%20assets/Scenes/Toshi_selfie2.png" alt="alternatetext" style="width: 100%;">
<<link "Continue with this later" "pcUsbHacking">><</link>>The text file loads very slowly. It's surprising it takes this long, but once it finally does, you are left with a textlog written April 1st, 2020. It's part of a bigger file called Toshi Experiment log. Well, let's see what you can learn.
<<Dialogue "toshiUnknown" "Toshi">>
Few months into the experiment, and okay, things have gotten a BIT extreme. With all different distillation I've noted a nearly 1200% increase in muscle mass, a 20% increase in stature, and a 10% increase in body hair... I think. To be honest, most of these are just guesses. What is clear is that I've advanced WELL beyond normal human limits. It seems however that in recent weeks the initial gene-unlocker lost some of its potency. All the distillations lost some of their effects, and I think that my growth has slowed down, or perhaps I've even begun to shrink. This might be good, but I do enjoy this growth. Sure, I had to move to a different place not to attract too much attention, but being this big... is amazing.
<</Dialogue>>
There was a lot to digest in this one. Apparently the writer of this document grew a LOT from his experiments, just like you did. But he describes here how the growth may slow down, or even reverse, if you don't take another batch of that... gene-unlocker, was it? The gene-unlocker must be the drink you found in your fridge; if that one runs out... suddenly, you're very aware of the changes your body has undergone. So far, you've accepted and enjoyed them without questioning anything. A big part of that was believing them to be permanent, but now that you know you might lose them over time...
Do you even want that?
<<link "Continue with this later" "pcUsbHacking">><</link>>You got the password, you got the file, let's see what this baby holds! It's another log file or something, just a small part of a bigger whole, but you think you can still get some good information from it. It also seems a lot older, looking at the file information. At from a few years ago...
<<Dialogue "toshiUnknown" "Toshi">>
Okay, okay, so some of the gene-unlockers got misplaced. This is bad. I really gotta start being more careful with my distillations as I seem to have lost two. Why did I even take them outside?!? One of them I had to have lost yesterday. I already retraced all my steps, I think. I went back to the library, to the museum, the gym... even the community garden. I asked everyone I saw in those places, even the cute Italian girl. She was so shy I had to dig the answers out of her.
The problem was too that this was a more refined version; it was a gene-unlocker with several distillations, all combined. It was meant to be diluted, and now a full bottle of that is out there, somewhere! Unless someone has drunk it already. Argh, I haven’t even had a chance to test this myself, and now it might hurt someone!
<</Dialogue>>
<<if $elenaOpinion >= 10>>Wait. Cute, shy, Italian girl... oh God... Elena?!<<else>>Well, that doesn't help much...<</if>>
<<link "Continue with this later" "pcUsbHacking">><</link>>This file opens quickly and you're presented with a handwritten note. The scanned paper comes from a doctor’s office, describing a full body review of someone named Toshi. By now, you got a good idea of who this might be.
<br>'Medical examination, May 4th, patient; Toshi [DATA CORRUPTED].</b>
Though Toshi shows a musculature and height increase that medical science cannot explain, his health doesn't seem to have been impacted at all. His cardiovascular system seems to have adapted incredibly well to the physiological expansion, and even the stress on joints caused by the huge increase in weight seems to be compensated by unexplained reinforced durability. It's downright remarkable how, despite the logical conclusion that Toshi SHOULD have all kind of side effects from excessive growth, there are none our team can discern. His vitals are fine, and although his blood panel is all over the place, somehow his metabolic functions appear to be just fine. His diet, though extreme, also corresponds to someone of his new size.
As his situation is unprecedented, and well beyond the experience of a general practitioner. Having a man show up, nearly <<if $measurementSystem == 'metric'>>215 centimeters<<else>>7 feet<</if>> tall and more muscular than any bodybuilder on record isn't something we normally handle. Especially if that man used to be of average height and on the thin side.
One more troubling thing, though, was Toshi's reaction to his changes. One would expect episodes of body dysmorphia, or any manifestation of stress. Yet the impression I got from him was more... what the youth these days would classify as 'stoked'. He was overly excited, and while I'm happy the changes did not cause him concern, his reaction to my suggestion of having his changes studied by a more experienced medical team did mark a change in his behavior. He immediately became evasive in his answers. He is known for being very scatterbrained. And though I've known him since he was a small boy, this new behavior does worry me. His personality has changed dramatically, and though he does not seem to be aware of it, this raises questions about psychological implications.
From what I've observed, his growth was not spontaneous, and Toshi is aware of the trigger, somehow. Whatever it is, it also seems to have affected his personality. Though the changes so far could be perceived as positive, I'm worried about him. He's never been this secretive.
<b>END OF FILE</b>
So, Toshi had gone to a medical practitioner and had himself reviewed. This feels odd to you; this matches what has happened to your body so far, and reading that those odd drinks could even change your personality... it does make you wonder who YOU even are, or who you want to be. As you take some time to sit down and ponder all of this, you wonder why you are still consuming that shit. But on the other hand... you just read a written record that your health is fine. And who else in the world even has this opportunity?
Well, one person. Toshi.
<<link "Continue with this later" "pcUsbHacking">><</link>>The file loads even slower than the others. In the time it takes to open, you could easily make a cup of tea, stare at the screen, and experience a refreshing bit of existential dread about the current situation you're in; hacking an USB stick so you can figure out what the fuck is going on with your body. When it finally loads though, it's just a.... spreadsheet? You study it for a moment; a list of names, along with their effects... wait a minute, these match the labels of the potions you found! Though it's all a bit more scientific than you are used to, you could now figure out what each drink would do to you!
<<nobr>>
<<script>>
for (let i = 0; i < State.variables.consumables.length; i++) {
for (let j = 0; j < State.variables.consumables[i].effects.length; j++) {
State.variables.consumables[i].effects[j].discovered = true;
}
}
<</script>>
<</nobr>>
<<link "Continue with this later" "pcUsbHacking">><</link>>With less than fifteen minutes until you clock out, you're trying to find ways to look busy. Given that, you jump slightly when you notice Emma striding towards your desk. Quickly, you reach for something to do so you don't have to face a stern glare or risk a lecture. Before you have a chance to pick up your task, you feel a hand gently resting on your shoulder. You turn to face the person, andssee Emma looking at you, an uncharacteristic softness on her face, along with the hint of a smile.
<<Dialogue "Emma" "Emma">>"Good afternoon, <<print $playerFirstName>>. I hope I'm not interrupting anything."<</Dialogue>>
<<Dialogue "player" "You">>"Ah... No, actually. I was just wrapping things up here."<</Dialogue>>
<<Dialogue "Emma" "Emma">>"Ah, good. I actually had something I wanted to ask you, if I may."<</Dialogue>>
<<Dialogue "player" "You">>"Sure! What is it?"<</Dialogue>>
<<Dialogue "Emma" "Emma">>"Well, I wanted to invite you out this evening. Right after you clock out, if it's possible."<</Dialogue>>
<<Dialogue "player" "You">>"Well, this is a nice surprise! What brought this on?"<</Dialogue>>
<<Dialogue "Emma" "Emma">>"Nothing in particular. But we seemed to enjoy ourselves the last time we spent some time together. Unfortunately, my schedule has been quite packed lately, so I wanted to invite you to join me for my workout this evening."<</Dialogue>>
<<if $muscle > 50 || $fitness > 1>><<if $emmaDateFlirty > $emmaDateProfessional and $emmaDateFlirty > $emmaDateFriendly>><<Dialogue "player" "You">>"Ahhh, I see what you mean. You and me working up a sweat together, probably in skimpy outfits..."<</Dialogue>>
<<Dialogue "Emma" "Emma">>"...I will refrain from responding to such statements during work hours. Would you care to join me or no?"<</Dialogue>><<elseif $emmaDateProfessional > $emmaDateFriendly>><<Dialogue "player" "You">>"I think that's a great idea! I think I could definitely learn a lot from the experience."<</Dialogue>>
<<Dialogue "Emma" "Emma">>"And hopefully I learn from you as well. So, what do you say?"<</Dialogue>>
<<else>><<Dialogue "player" "You">>"Well that sounds like a lot of fun! I don't know why we didn't think of this sooner!"<</Dialogue>>
<<Dialogue "Emma" "Emma">>"I agree wholeheartedly. So, do we have a date?"<</Dialogue>><</if>>
<<else>><<Dialogue "player" "You">>"Not to question your judgment or anything, but... how come? I'm not exactly a bodybuilder over here."<</Dialogue>>
<<Dialogue "Emma" "Emma">>"Well, you certainly seemed interested in my fitness regimen when we had dinner together. I assumed you would enjoy the experience on one level or another. So, do we have a date?"<</Dialogue>><</if>>
<<link "That sounds great!" "Emma Date Two Continue">><<set $emmaDateTwoHappened to true>><</link>>
<<link "I don't think I can make it." "Emma Date Two Cancel">><<set $emmaDateDenied to true>><</link>><<Dialogue "Emma" "Emma">>"Excellent. I was just about to make my way there. I'll text you the address and we can meet there."<</Dialogue>>
You nod enthusiastically, and you wave to one another as Emma makes her way out of the office. As much as you'd like to just spring up and follow her... Well, now that you know she's paying attention you can't clock out early. You resign yourself to a few very slow minutes of waiting before you can acceptably leave.
<<gameLink "Make your way there" "Emma Date Two Gym" time:30>><</gameLink>><<Dialogue "player" "You">>"As fun as that sounds, I just don't think I can. I just don't have the time in my schedule tonight."<</Dialogue>>
Emma frowns an dpurses her lips, just slightly.
<<Dialogue "Emma" "Emma">>"Well, that's fair. I suppose it was short notice. Sorry to have bothered you, <<print $playerFirstName>>."<</Dialogue>>
With that, she marches off, looking as busy as she always does. You get the feeling that you missed an important hint here, reinforced by the fact she called you by your first name. You continue working, pondering it as you go home.
<<link "Go home" "Home">><</link>>The gym itself isn't terribly far from work, thankfully. It's also a notably fancier than the one on your college campus. Everything sleek, clean, and modern. Holy crap, there's even a cafe right up front? And a spa?! You can't help but compare it in your mind to your normal spot, but that just makes you feel more out of place.
You're so busy taking in your surroundings that you don't notice a voice calling your name until it's practically shouting at you.
<<Dialogue "randomPerson" "Random">>"Ma'am? Ma'am!"<</Dialogue>>
<<Dialogue "player" "You">>"Oh shoot, uh, yes? Sorry, what's up?"<</Dialogue>>
<<Dialogue "randomPerson" "Random">>"Uh... Can I see your member ID, please?"<</Dialogue>>
You look around and realize that you were about to walk right past the front desk.
<<Dialogue "player" "You">>"<<if $confident > 1>>Oh, that, yeah, I was just on my way to meet someone here. She should have everything under control.<<else>>Oh, uh... I'm very sorry. I was expecting to... I'll just go.<</if>>"<</Dialogue>>
<<Dialogue "EmmaFitness" "Emma">>"Not to worry, Rodney. She's with me."<</Dialogue>>
The sound of Emma's voice is clear, and both you and Rodney the front desk clerk turn to face her.
<img src="https://raw.githubusercontent.com/BobdyBuilder/SummerGrowth/main/Art%20assets/Npc/Emma_swole.png" alt="Owh my lawd its do be Emma whose absolutely swole and gorgous!" style="border-radius: 50%; width: 75%; left: 12.5%; position: relative; display:block;">
<<Dialogue "EmmaFitness" "Emma">>"Nice to see you made it here without issue, <<print $playerFirstName>>. I've already signed you in as my guest, and Rodney should have everything you need ready to go."<</Dialogue>>
<<Dialogue "randomPerson" "Random">>"Oh, this is your guest! Yes ma'am, I've got everything here for you. Towel, guest pass, and a temporary key for a locker."<</Dialogue>>
You would have offered a polite thank you, but your eyes haven't moved from Emma, and you're fairly certain your brain has disconnected from your mouth. She had mentioned she was a bodybuilder, but you hadn't imagined this at all!
<span id="choice1"><<link "Ahem, yes, thank you. Let me go get changed.">><<replace "#choice1">><<set $emmaDateProfessional += 1>><<Dialogue "player" "You">>"Mmhmm, yes, I think that's all I need. Thank you very much. Would you mind showing me to the locker room, Emma?"<</Dialogue>>
<<Dialogue "EmmaFitness" "Emma">>"Not in the slightest. This way."<</Dialogue>><<script>>const box = document.getElementById('choice2');
box.style.display = 'block';<</script>><</replace>><</link>>
<<link "Holy crap, Emma.">><<replace "#choice1">><<set $emmaDateFriendly += 1>><<Dialogue "player" "You">>"Holy moly. I had no idea you were *that* built under those clothes."<</Dialogue>>
<<Dialogue "EmmaFitness" "Emma">>"By design, I assure you. And since we're out and about as friends, I won't pay any mind to your forwardness this time."<</Dialogue>>
<<Dialogue "player" "You">>"S-sorry. It's just... wow."<</Dialogue>>
You catch a subtle, but proud smirk on Emma's face.
<<Dialogue "EmmaFitness" "Emma">>"Come on. Why don't you get changed and then we can get to the meat of why we came here."<</Dialogue>><<script>>const box = document.getElementById('choice2');
box.style.display = 'block';<</script>><</replace>><</link>>
<<link "Stare silently.">><<replace "#choice1">><<set $emmaDateFlirty += 1>><<Dialogue "player" "You">>"................................"<</Dialogue>>
<<Dialogue "EmmaFitness" "Emma">>"<<print $playerFirstName>>... We're out here as friends but I am still on a schedule."<</Dialogue>>
<<Dialogue "player" "You">>"Uh? Oh, yeah, sorry, it's just... Hoo. Wow. I don't think I was mentally prepared for this."<</Dialogue>>
<<Dialogue "EmmaFitness" "Emma">>"Hopefully you adapt with time. Let's get you to the locker room before you start drooling on the floor."<</Dialogue>><<script>>const box = document.getElementById('choice2');
box.style.display = 'block';<</script>><</replace>><</link>></span>
<span id="choice2" style="display:none;">You follow Emma a short walk away to the women's lockers, and she leaves after saying she'll meet you at the base of the stairs. You find a quiet corner and prepare to change into your gym clothes. The image of Emma practically undressed doesn't seem to want to leave your head. You're not sure if it's simply shock at the incongruity of it all, or something deeper than that <<if $dick > 0>>though a certain, very active part of your anatomy is making its opinion known. It's creating an extra hurdle to put your <<print $outfit.bottom().name>> on<</if>>. You shake your head and tell yourself that you knew exactly what you had signed up for.
<<gameLink "Lets get pumped!" "Emma Date Two Workout" time:30 exhaustion:30>><</gameLink>></span>You eventually get changed into your gym clothes and find Emma waiting outside as expected. She sees you approach as she finishes a quick swig from a water bottle and smiles to you. A drop drips down one side of her mouth, cascading over that vascular, bull-like neck.
<<Dialogue "EmmaFitness" "Emma">>"Shall we?"<</Dialogue>>
God, it's just as shocking as the first time around.
<span id="choice1"><<link "Compliment her on her body">><<replace "#choice1">><<set $emmaDateFriendly += 1>><<Dialogue "player" "You">>"Wow. I mean, I know it barely needs saying, but... you have done some amazing work."<</Dialogue>>
<<if $muscle > 50 || $skills[0].level > 3>><<Dialogue "EmmaFitness" "Emma">>"Thank you for saying so. Though don't write off your own achievements, of course. I knew you were impressive too, though it's much differnet seeing you in this light."<</Dialogue>>
<<Dialogue "player" "You">>"You're telling me."<</Dialogue>>
The back of your head reminds you that you don't know how much you can claim credit for directly. Though it is something of a comfort to hear Emma speak of you so highly.
<<else>><<Dialogue "EmmaFitness" "Emma">>"Thank you for saying so. There are precious few people that I'm comfortable showing this side of me to. I'm extremely happy you agreed to come along today."<</Dialogue>>
<<Dialogue "player" "You">>"Well, I'm very happy to be here. But, uh... What do you mean by that exactly?"<</Dialogue>>
<<Dialogue "EmmaFitness" "Emma">>"...Never mind it. Let's get to work. The free weights are in the rear."<</Dialogue>><</if>><<script>>const box = document.getElementById('choice2');
box.style.display = 'block';<</script>><</replace>><</link>>
<<link "Get started with the workout">><<replace "#choice1">><<set $emmaDateProfessional += 1>><<Dialogue "player" "You">>"Thanks again for this opportunity. I don't think I'll ever get a better chance to learn from a professional like you."<</Dialogue>>
<<Dialogue "EmmaFitness" "Emma">>"Hehe. Well, I consider myself a professional in many aspects, but not in this one. This is a lifestyle choice. Or a hobby, you might say."<</Dialogue>>
<<Dialogue "player" "You">>"BS. You look like you could be on the cover of a fitness magazine tomorrow."<</Dialogue>>
<<Dialogue "EmmaFitness" "Emma">>"As flattering as that is, I'd rather not waste all evening here discussing myself. Shall we move on to the weights?"<</Dialogue>>
<<Dialogue "player" "You">>"Oh, right! Lead the way!"<</Dialogue>><<script>>const box = document.getElementById('choice2');
box.style.display = 'block';<</script>><</replace>><</link>>
<<link "Stare silently">><<replace "#choice1">><<set $emmaDateFlirty += 1>><<Dialogue "player" "You">>"................"<</Dialogue>>
<<Dialogue "EmmaFitness" "Emma">>"And here I thought you'd show up with a little more hustle."<</Dialogue>>
<<Dialogue "player" "You">>"I'm sorry, it's just... whoo. You are a lot to take in."<</Dialogue>>
<<Dialogue "EmmaFitness" "Emma">>"I'm flattered."<</Dialogue>>
<<Dialogue "player" "You">>"No, really. You're just gonna go around the office with all this under wraps? Why not show off at least a little bit?"<</Dialogue>>
<<Dialogue "EmmaFitness" "Emma">>"I assure you I have my reasons. And I really, truly, am honored that you would say so. But we aren't here to pile praise upon me, deserved or undeserved. Shall we?"<</Dialogue>>
<<Dialogue "player" "You">>"Oh, uh, yeah, I guess we should. I'll follow you then."<</Dialogue>><<script>>const box = document.getElementById('choice2');
box.style.display = 'block';<</script>><</replace>><</link>></span>
<span id="choice2" style="display: none;">You follow Emma toward the rear of the gym. You pass by a lot of sights that you were used to seeing at the gym prior to all this. Older folks staying active, a lot of people your age mostly fast-walking on treadmills... But the section to the rear is much less crowded, and those that are there are clearly serious fitness types. Fitness model women in the squat cages, burly men noisily forcing huge weights into the air... This new side of Emma looks right at home here.
You see her give a cordial wave to a few of the individuals you pass, though without exchanging any words. Emma clearly is here with a singular purpose, and people know it. She guides you towards a rack of dumbbells, with an array of benches and chairs facing them as people let her pass. When Emma is in the zone, her attitude grants her more than enough confidence to make up for her average height.
<<Dialogue "EmmaFitness" "Emma">>"I'm focusing primarily on my shoulders today. I hope that's not too much of a concern for you. If you have your own routine I'm sure we can both stick to our own exercises while staying close by."<</Dialogue>>
<<if $skills[0].level > 1>><<Dialogue "player" "You">>"No big deal. I can adapt around it. Let's hit those delts!"<</Dialogue>>
<<Dialogue "EmmaFitness" "Emma">>"Wonderful. Let's start with some shoulder presses."<</Dialogue>><<else>><<Dialogue "player" "You">>"I'm totally fine doing whatever you do. To be honest, I don't have much of a routine."<</Dialogue>>
<<Dialogue "EmmaFitness" "Emma">>"Fair enough. We'll begin with shoulder presses, and I'll start. Hopefully a demonstration is of some benefit to you."<</Dialogue>><</if>>
Emma grabs a hefty pair of dumbbells from the rack, <<if $metric is true>>20 kg<<else>>45 lbs<</if>> printed in big block letters on each side of them. She takes a deep breath, seeming to steady herself as she does so, then quickly hoists the weights into the air, her arms bent to a right angle. You watch silently as she then powers the dumbbells up above her head, the muscle fibers in her shoulders and arms visibly tensing as she does so. Then she repeats, her form perfect and unwavering. She moves like a machine, and the sharp, hissing exhale she makes as her she reaches the peak of each lift does nothing to dispell that image. She pounds her way through her routine, movements always forceful and always steady, until she's done about a dozen lifts and she carefully allows her arms to fall to her side with a satisfied sigh.
<<Dialogue "EmmaFitness" "Emma">>"Ahhh, good start. Would you like to take your set now?"<</Dialogue>>
<<if $skills[0].level >= 4>>You nod happily and walk to the dumbbell rack, finding the weights you're used to using. You practically know the numbers by heart, even though they've been increasing very quickly as of late. You take the same seat and begin your exercise in a manner much similar to Emma's. You know proper form perfectly well, of course, but now you felt obligated to put on a show as well. You take the movements as slow and steadily as you safely can, relishing the pleasant burning as it starts to radiate from your shoulders. You follow through with form as perfect as you can manage, attempting to match or best Emma in your own dozen reps. As you count out the last rep, your arms are on fire and you have to work just to not drop the weights on the floor. But you feel proud of your effort, and as you roll your shoulders, Emma steps up in front of you.
<<Dialogue "EmmaFitness" "Emma">>"Wow, I'm impressed. And I don't say that lightly. You clearly know your stuff."<</Dialogue>>
<<Dialogue "player" "You">>"Thank you. I've been working hard at this. I'm just happy to see it's paying off."<</Dialogue>>
<<Dialogue "EmmaFitness" "Emma">>"I should say so. I may need to ask you for pointers after we're done here."<</Dialogue>>
Your evening continues on in much the same way, the two of you giving a performance as perfect as possible, and attempting to assist and teach each other along the way.
<<elseif $skills[0].level > 1>>You size up the weights on the rack and grab a pair that feels right. You take your seat, inhale deeply, and carefully lift the weights upward. You feel your arms and back respond immediately, burning with exertion as you first shove the weights upward. You quickly find yourself breathing heavily as you power through your set. You grit your teeth and force yourself through, not willing to give anything less than a perfect performance now that you have someone observing you. You barely manage to bring it to your last lift, and you nearly collapse against the chair from exertion. Emma gently puts a hand to your shoulder.
<<Dialogue "EmmaFitness" "Emma">>"Well done. May I offer some advice, though?"<</Dialogue>>
Without waiting for a response, she brings her arms up as if she were doing the same exercise again, pantomiming her way through another set.
<<Dialogue "EmmaFitness" "Emma">>"You have sort of a bounce at the bottom of your lifts. You don't come steadily to a stop at the end. That's both cheating yourself and increasing your risk of injury. Try to come to a steady stop before your start the next eccentric movement."<</Dialogue>>
<<Dialogue "player" "You">>"Oh shoot. I hadn't even realized. Thanks, I'll try to keep an eye on that."<</Dialogue>>
<<Dialogue "EmmaFitness" "Emma">>"Constant improvement is the name of the game. Try to give it a shot in your next set here in a minute."<</Dialogue>>
Your evening continues in much the same way, with Emma spending equal time pushing through her own exacting workout and acting as a mentor for yours.
<<else>>You size up the long row of dumbbells, feeling quite intimidated by the whole affair. <<if $muscle > 80>>Going by instinct, you simply walk to one end and grab the heaviest pair that they have, hoping that you haven't already outgrown them.<<elseif $muscle < 20>>Going by instinct, you simply walk to one end and grab the smallest pair that they have, still worrying slightly that they will prove too much of a challenge.<<else>>You start at the size Emma had chosen, and work your way down the smaller options until you reach one that looks to be the right size, at least based on your gut feeling.<</if>> You take the weights in hand and do your best to imitate Emma's movements, putting your hands up besides your head and pushing the weights upwards. You only get three lifts in before you are interrupted.
<<Dialogue "EmmaFitness" "Emma">>"Put the weights down immediately, please."<</Dialogue>>
Her voice is stern and forceful, but not shouting. You feel like you're back at work and she's caught you watching a meme compilation video. Without thinking you drop the weights to the floor and look at her, concerned. Her face looks like you've done something to personally offend her, though her eyes are wide with shock. This quickly shifts to her screwing her eyes shut and pinching her nose.
<<Dialogue "EmmaFitness" "Emma">>"I should have known better. Honestly, I'm surprised you didn't tear a tendon like that."<</Dialogue>>
<<Dialogue "player" "You">>"Oh, geez. I'm sorry, I really didn't know this was that serious-"<</Dialogue>>
<<Dialogue "EmmaFitness" "Emma">>"Here."<</Dialogue>>
She crouches behind you, putting her hands under your arms. She guides you upward, gently moving your arms through the sequence.
<<Dialogue "EmmaFitness" "Emma">>"Slow and steady. Always control your movements. Never jerk the weight up and never allow it to just fall. Feeling better now?"<</Dialogue>>
<<Dialogue "player" "You">>"Uh... Y-yes. Thank you."<</Dialogue>>
<<Dialogue "EmmaFitness" "Emma">>"Good. Now, how about you give it another try, slowly and carefully this time."<</Dialogue>>
Your evening continues in much the same way. Emma tackles her workout expertly, and you follow behind attempting to copy her as best as you can, with plenty of tutorial from her along the way.<</if>>
[[Ugh, I can't feel my arms|Emma Date Two Finale]]</span>After what feels like hours, the two of you are finally resting. You take a comfortable seat and chug some water, while Emma stands nearby in front of a wall of mirrors. You watch along as she inspects her body, veins now standing in prominently above her taut muscles and the fibers all along her broad shoulders standing out like an anatomy chart. She turns and strike a side triceps pose which makes her shoulders flair out like cannonballs. The image still manages to take you by surprise. But despite what a great display Emma puts on, there's still a tinge of disappointment on her face.
<<Dialogue "player" "You">>"What's the matter?"<</Dialogue>>
<<Dialogue "EmmaFitness" "Emma">>"Mmm. It's nothing, really. Just noticing that my arms seem to be lagging behind the rest of my body. I worry I've been slacking."<</Dialogue>>
She stands up straight again and attempts a different pose, her bicep bunching up in the process.
<<Dialogue "player" "You">>"Just based off what I saw tonight, I'd be surprised if you were slacking anywhere"<</Dialogue>>
<<Dialogue "EmmaFitness" "Emma">>"It's flattering, I assure you. But I'm sure I just need to up my working weight a bit, or perhaps add on some more volume..."<</Dialogue>>
<<Dialogue "player" "You">>"Emma, seriously. You look like you're getting ready to step onto a bodybuilding stage right now. Hell, you're doing the poses and everything."<</Dialogue>>
<<Dialogue "EmmaFitness" "Emma">>"Again, flattering. But I am nowhere close to a professional bodybuilder, and I don't pretend to be."<</Dialogue>>
<<Dialogue "player" "You">>"Plenty of people would disagree with you. I seriously don't know why you don't at least try since you're already basically there."<</Dialogue>>
<<Dialogue "EmmaFitness" "Emma">>"As I've said before, I have my reasons."<</Dialogue>>
<<Dialogue "player" "You">>"But you've never told me what they are."<</Dialogue>>
Emma huffs and pushes her glasses into the bridge of her nose. She's silent for a moment, looking almost contemplative.
<<Dialogue "EmmaFitness" "Emma">>"It wouldn't be appropriate."<</Dialogue>>
<<Dialogue "player" "You">>"What do you mean?"<</Dialogue>>
<<Dialogue "EmmaFitness" "Emma">>"I mean, think of how you saw me when I first hired you. Very, very differnet from how you see me now, wouldn't you agree? This is not a flattering image to everybody. To do something as public as competing in a bodybuilding competition, or something far less than that even, would put a different image of myself into the heads of not just my colleagues, but nearly everyone I interact with. There's a reason I'm so choosy about who I share this interest with. This lifestyle is enjoyable, yes, but it also runs the risk of making me a laughingstock if I'm not careful with it."<</Dialogue>>
<<Dialogue "player" "You">>"I don't know if that's true... I mean, seeing you in your full glory was a surprise for sure, but... you're still you. The way you go about this whole thing is still very Emma. And I think people would be a lot more accepting than you give them credit for."<</Dialogue>>
<<Dialogue "EmmaFitness" "Emma">>"Maybe you're right. But maybe you're not. And it's not a risk I'm willing to accept. I can't put a career at risk over a hobby."<</Dialogue>>
There's an awkard moment of silence a tracksuit on over, once again obscuring her body from the outside world. Maybe she had a point. Now that you've seen what she looks like, you can't help but notice the broadness of her shoulders, the flair of her hips, the thickness of her arms, even as it's all hidden from view.
<span id="choice1"><<link "I mean it.">><<replace "#choice1">><<Dialogue "player" "You">>"I'm serious, you know. Everyone's got hobbies. Everyone's got weird stuff. You wouldn't fire someone because they write weird fanfiction. You don't see actors or celebrities getting grief for doing things for fun that are a little different. It doesn't have to be all business all the time for you."<</Dialogue>>
Emma sighs as she zips up the front of her tracksuit.
<<Dialogue "EmmaFitness" "Emma">>"I truly, truly admire your tenacity, $playerFirstName. I do wish I could see the world a little more like you sometimes."<</Dialogue>><<script>>const box = document.getElementById('choice2');
box.style.display = 'block';<</script>><</replace>><</link>>
<<link "I guess you got a point..">><<replace "#choice1">><<Dialogue "player" "You">>"You might be on to something. I mean, I wasn't lying when I said you're still Emma, but I'm kinda looking at you in a new light. And for the record, that's not a bad thing from my standpoint, but... I don't know. I just look at that as something more to admire about you."<</Dialogue>>
Emma stops short of zipping her tracksuit up all the way. She looks uncharacteristically surprised.
<<Dialogue "EmmaFitness" "Emma">>"Huh. I'd never realized you'd considered me to be worth admiring."<</Dialogue>>
<<Dialogue "player" "You">>"Well, sure. I mean, there's a lot to be impressed by. A lot to love."<</Dialogue>>
She finishes zipping up her top, her eyes now pointing away towards a spot on the floor.<<script>>const box = document.getElementById('choice2');
box.style.display = 'block';<</script>><</replace>><</link>></span>
<span id="choice2" style="display:none;"><<Dialogue "EmmaFitness" "Emma">>"I'm sorry to end it like this, but I must be going. I've already dawdled for longer than I meant to, and I still need to make dinner for myself."<</Dialogue>>
<<if $emmaDateFlirty > $emmaDateFriendly and $emmaDateFliry > $emmaDateProfessional>>Emma brings a hand up to your face and gently brushes a thumb against your cheek. What's even more surprising than the gesture is the softness of the smile on her face.
<<Dialogue "EmmaFitness" "Emma">>"I'm happy to have had this chance, <<print $playerFirstName>>."<</Dialogue>>
And with nothing more than that, she turns and makes her way out, leaving you a bit too stunned to follow after.
<<elseif $emmaDateProfessional > $emmaDateFriendly>>Emma claps a hand to your shoulder, a smile on her face in spite of everything.
<<Dialogue "EmmaFitness" "Emma">>"It means a lot to have your support, <<print $playerFirstName>>. Thank you."<</Dialogue>>
You nod in return.
<<Dialogue "player" "You">>"Thank you. Whatever you're after with this whole fitness thing, I hope you get it."<</Dialogue>>
<<Dialogue "EmmaFitness" "Emma">>"Me too."<</Dialogue>>
She gives you another nod and a quick pat before turning on her heel and exiting. You gather up your things quickly in hopes of seeing her off, but she's gone before you can find her again.
<<else>>Suddenly, Emma wraps one arm around you and pulls you closer. Like the world's gentlest, most non-committal hug. But a hug! From Emma, of all people!
<<Dialogue "EmmaFitness" "Emma">>"Have I told you yet that you're a good friend?"<</Dialogue>>
<<Dialogue "player" "You">>"I'm not sure, but... I could always stand to hear it again."<</Dialogue>>
<<Dialogue "EmmaFitness" "Emma">>"You are. Thank you for doing this with me, <<print $playerFirstName>>. I'll see you at work."<</Dialogue>>
She's walking off before you can respond again. You try to catch her on the way out, but you don't see her again. You must have missed her.<</if>>
With this behind you, there is nothing to do but to reflect on this, and head home. Tomorrow at work things will feel much the same, but also different. You wonder when you'll get a moment of intimacy with Emma again, but you can't help but feel like she decides that more than you.
<<gameLink "Go home" "Home" time:30>><<set $emmaDate2Done to true>><<set $emmaOpinion +=10>><</gameLink>>
</span>You see the magnificent building of the Natural History Museum in the distance, its classical architecture contrasting with the small town feel of its surroundings, and you find yourself accelerating your pace unconsciously - feelings of anxiety and excitement bubbling in your stomach. As you approach, you recognize the large figure of Elena waiting for you, reading a hardbound book on the steps of the building. It’s very refreshing to see her so concentrated on her reading, as she exudes this aura of peace and concentration that is very refreshing - when she’s at the gym, she’s usually alternating between a very intense focus and jittery nervousness about being watched. Here, she’s just calm and chill, like the rest of the world isn’t even there - but still heavily invested on the book, with a hint of delight. It’s hard to put in words, but this happier, freer Elena is just… centered and content.
Elena is wearing a flowy summer dress with a blue-and-yellow pattern of hummingbirds, which is surprisingly baggy despite her size, since she couldn’t find something that fits her well. The windy day is making her hair and dress fly and flow, giving her a wispy, almost ethereal feel that contrasts sharply with her bulky and firm muscles. It’s almost like the dress is caringly caressing her flesh, giving her enormous silhouette an inexplicable weightless appearance.
As you approach, she puts the book away in her comically small purse (or at least it looks that way given the size difference) and waves at you with a smile.
<<Dialogue "player" "You">>"Hey, Elena. You look pretty cute in that."<</Dialogue>>
She stammers, her usual nervousness coming back to the surface:
<<Dialogue "Elena" "Elena">>"Davvero? Per niente!"<</Dialogue>>
She says, waving her hands in front of her.
<<Dialogue "player" "You">>"I have NO idea what you just said, but from your face, I’m going to guess you just modestly disagreed..."<</Dialogue>>
<<Dialogue "Elena" "Elena">>"It’s just… it is so difficile - difficult - to find clothes that fit me… this looks like a sacco di patate… a potato sack… on me!"<</Dialogue>>
<<Dialogue "player" "You">>"Nonsense - I mean, yeah, this needs some tapering at your tiny waist. I would say that I can only imagine how hard it is for you to find clothes but…"<</Dialogue>>
You move your hands from your head to your thighs, as if presenting your entire body as evidence in court.
<<Dialogue "player" "You">>"I might just an idea or two about what it’s like getting clothes for you."<</Dialogue>>
You finish the thought with a smile. Still, she looks at your attire and tries to come up with a similar compliment, but it’s clear that she’s struggling a bit.
<<Dialogue "Elena" "Elena">>"Ah, si… your… uh… <<print $outfit.top().name>>... it… is… cool?"<</Dialogue>>
You laugh and tap her back, and Elena quickly joins with her own awkward laugh.
<<Dialogue "player" "You">>"Shall we go in?"<</Dialogue>>
Elena nods, and grabs two tickets from her purse - apparently she had this figured out already.
<<Dialogue "player" "You">>"You paid for my ticket? You really didn’t have to!"<</Dialogue>>
<<Dialogue "Elena" "Elena">>"Per sogno!"<</Dialogue>>
She says, quite emphatically, and frowns with an almost indignant expression, making it clear that it would be an affront to try and pay her back for it.
<<Dialogue "player" "You">>"You win this one! But I’ll get the next one, then! Uh… thank you, though, that was really sweet!"<</Dialogue>>
You smile, and wave your hand towards the museum entrance with a formal bow. The big girl giggles and excitedly walks up the stairs, with you following right behind.
Elena pauses briefly in front of the revolving door, realizing it will be a major struggle to try and make it through that. But you came prepared, and you open the handicapped door for her, trying to muster your most cavalier expression as you once again wave her in. Elena blushes, and you guess she isn’t quite used to people treating her gentlemanly - but she sure seems to appreciate it.
As you follow her inside, your eyes take a second to adjust from the bright sunny morning light to the subdued and dark interior… and all you can see is Elena, mouth agape as she looks up to the spacious entrance foyer. Her neck cranes as she absorbs the large room, looking very impressed. Initially, you wonder if the museums in Italy just aren’t as nice, which makes no sense to you. But then it dawns on you - it might just be the first time that she didn’t feel cramped inside a public building since her growth. You decide to give her a second to take all of that in, as she seems to really be enjoying herself.
As the wonder subsides, you place an arm around her shoulder, still in silence. Elena has a momentary flinch, almost like your touch zapped her with a static shock… but then she quickly relaxes, her tense shoulders slowly melting under your fingers. You amicably walk her towards the person checking tickets, like any two platonic friends would. The teenage boy seems just like any other bored summer worker, eyes glued to his phone and not really caring much about his task. But as you hand him the pair of tickets, you see his eyes following your wrist, up your arm and just getting shocked at the two gigantic females, dropping his phone to the ground. This clearly makes Elena uncomfortable, so you intervene:
<<Dialogue "player" "You">>"I’m sorry, I guess everyone is doing e-tickets nowadays. We’re sort of old-fashioned… but I like saving paper ticket stubs as mementos."<</Dialogue>>
Elena looks at you, as you hand her one of the stubs, and she presses it against her ample bosom like you just gave her the world’s most precious treasure. As you walk away, she gets her book from her purse and opens the last page, where a dry white chrysanthemum rests, and she stores the stub there alongside it, before returning the tome with a satisfied smile.
The two of you walk through the large gallery, and follow the signs that lead to the flower exhibit - which is being held in a greenhouse attached to the back of the museum. To get there, you pass through the prehistory hall, which is just ahead.
This even darker room is filled with dinosaur fossils and bright dioramas, feeling a bit like a movie theater. And once again Elena’s head turns around, trying to take it all in. However, there’s a weird melancholy in her expression now.
<<if $shyConfident > 0>>
You grab her hand and give it a tight squeeze. She sighs, and you can see she wants to explain, but it doesn’t come easy to her.
<<else>>
You take a step forward, getting closer to her - but giving her space to share what is eating her. It doesn’t take long for her to create the courage to voice her thoughts.
<</if>>
Still processing everything, she walks over to a sign that talks about the Cretaceous–Paleogene extinction event - when an asteroid impact changed the environment and led to their downfall.
<<Dialogue "Elena" "Elena">>"Isn’t it crazy? They were molto grande - very big - I actually feel small next to them… eppure… uh… and yet… they just vanished completely. All of them. The most precario link in the tapestry of life.<</Dialogue>>
It hits you like a club, making you feel quite dumb for not realizing that before: Elena’s size doesn’t make her feel powerful… but the opposite. You can see how looking at these creatures brings anguish to her.
<span id="choice">
<<link "But they did rule the Earth while they were around, right?">>
<<replace "#choice">>
<<Dialogue "player" "You">>"Sure, they disappeared - but don’t people say they ruled the Earth before that? It must count for something, right?"<</Dialogue>>
Elena crosses her arms and slumps her shoulders. It’s pretty obvious that she has no interest to leverage her strength to do any conquering - and that you should have kept your stupid mouth shut. You stop in your tracks as she keeps going, and you realize you need to clean up that mess. With some quick thinking, you increase your pace to catch up to her, and you give her a hug from behind - making her entire body tense and get quite uncomfortable.
<<if $shyConfident >= 0>>
You nuzzle her neck, a glaring display of affection with the intent of making her feel better, but Elena just isn’t in the right mood. She is still tense, but now also turtling - not quite confident enough to tell you to stop, but the message comes across clearly anyway. You open your arms, letting her go - and Elena just steps forward in a bit of a hurry. You sigh, frustrated… all you wanted was to comfort her, but apparently she isn’t quite ready for that yet.
You try to distract her, pointing out some of the dinosaurs you find the coolest and spouting some random trivia, but Elena just feels… distant. She is stuck in her thoughts, an impenetrable and inscrutable mind fortress that you would do anything to have a peek into. But how?
<<Dialogue "player" "You">>"Did you know that the fossilized bones are actually made of mineral rock, there’s actually no trace of the bone itself?"<</Dialogue>>
Elena nods absentmindedly, her introverted nature starting to make you feel uncomfortable. You raise a hand to put on her shoulder, but end up pulling it back. You run ahead of her towards the large T-Rex skeleton in the middle of room, making sure to stay under its spotlight, and you try your best to imitate its short hands by folding your arms in front of you, with your hands near your shoulders like you had no arms, and start impersonating the creature with big teeth snapping motions and comical grunts.
This elicits a giggle from Elena, who approaches and claps in congratulations for your little clownish display.
<<Dialogue "player" "You">>"Your turn. Pick one!"<</Dialogue>>
<<Dialogue "Elena" "Elena">>"Ma che?!?<</Dialogue>>
<<Dialogue "player" "You">>"Come on! I want to see YOUR dinosaur impersonation!"<</Dialogue>>
The girl just blushes and crosses her legs, holding her arms behind her back shyly. You give her arm a tap, and show her a big sign that has a chart with several different dinosaurs. You eventually tire Elena down into submission, and she looks intently at the chart, and a lightbulb goes off - she points at the apatosaurus, with a subtle but proud smile.
You take a step back with a big grin, and watch as she sort of curves her back forward, lowering her arms a bit to pretend to be a quadruped, while she makes the silliest face and pretends to munch on a philodendron. You burst out laughing at how cute she looks, and she gets uncomfortable for a second… but then realizes how silly the whole thing is and she starts to giggle herself.
<<Dialogue "player" "You">>"I’m sorry, Elena, I think you might just have to stick to being a human - the dinosaur life just isn’t for you!"<</Dialogue>>
At the very least, you seem to have distracted her a bit from her concern. You make your way towards the back of the exhibit, reaching for the door that leads out.
<<else>>
That was not what you intended, but you are not quite backing down yet. And so you whisper, gently:
<<Dialogue "player" "You">>"The thing is… strength is not only for imposing your will. You can also use it to protect those you care about."<</Dialogue>>
You can feel Elena’s rock-hard muscles slowly relaxing under your embrace, as her tension seems to disarm under your touch. She puts her hand on top of yours and sighs, and you open your arms, letting her go. She walks a couple of steps, then turns around with a sad smile.
<<Dialogue "Elena" "Elena">>"You are right. There are precious things that need to be protected. Credo che… I suppose… strength does become useful for that, dopo tutto.<</Dialogue>>
She stops in front of one of the dioramas, in which a model stegosaurus sits in front of a bunch of eggs. You see her resting one hand over her upper arm, looking pensive at the motherly reptile reproduction in front of her. You place your arm around her shoulder, but this time there is no tension or jerking - just a long sigh.
<<Dialogue "Elena" "Elena">>"There are several tipi of strength. Physical strength, sure. But it doesn’t do much by itself, does it? When the time comes and I have to protect something… will I have the other strength to do anything?<</Dialogue>>
As you two look at the diorama, you put a hand on your chest, and say calmly without looking at Elena:
<<Dialogue "player" "You">>"Real strength? I think it comes from the heart. It’s that emotion, love and caring, that allows us to do the impossible for those we need to protect. You don’t need to have big muscles to do incredible things when you have love. You know what they say, “love can move mountains”. Good luck trying to do that with muscles."<</Dialogue>>
Elena’s face turns towards you. You can see her eyes admiring you, like you somehow unlocked the secrets of the universe for her. It makes you laugh.
<<Dialogue "player" "You">>"Sorry, sometimes I get carried away with platitudes, I’m kinda corny that way!"<</Dialogue>>
You say, embarrassed, with a hand on the back of your head.
<<Dialogue "Elena" "Elena">>"No… that was very molto saggio… very wise. But… what does that have to do with corn?<</Dialogue>>
You burst into laughter, and she looks downright confused as you proceed to explain what “corny” means, while the two of you leave the prehistoric room.
<</if>>
[[Continue|ElenaDateCafetaria]]
<</replace>>
<</link>>
<<link "You shouldn’t judge them on size alone - they are much more than that!">>
<<replace "#choice">>
<<Dialogue "player" "You">>"Well, sure, a lot of the dinosaurs were big, especially compared to other creatures of that time. But… dinosaurs weren’t only defined by their size. Not only there were small ones…"<</Dialogue>>
You point to a diorama that features an Aquilops, not bigger than a house cat.
<<Dialogue "player" "You">>"But there’s so much more to them - not everything that was big was a dinosaur - and the extinction certainly affected many creatures that were not dinosaurs. But you know what I like the most about them? There is so much to find out when you take the time to investigate!"<</Dialogue>>
You point her to one diorama that discusses theories of hot-blooded dinosaurs, feathered dinosaurs…
<<Dialogue "player" "You">>"We only have these fossils to go by, but the more we look, we find out all kinds of secrets. Sure, it’s easy to think about a violent T-Rex, but we probably had gentle giants like…"<</Dialogue>>
You approach a sign that shows the scale of a Brachiosaurus. The exhibit has a reproduction of one of its legs for scale, and it’s taller than Elena.
<<Dialogue "player" "You">>"These guys? Herbivores. Didn’t even eat meat. Can you imagine? Grazing a field like a goddamn prehistoric cow. Imagine of these just licking you!"<</Dialogue>>
Elena is dumbfounded, like you somehow did a magic trick and changed reality in front of her eyes. She is still looking at the giant fossils in front of her, but now with a weird child-like glee, like they could be enormous puppies instead of ferocious monsters. That idea seems to bring warmth deep inside her, allowing her to enjoy the entire exhibit under a completely new perspective… which you secretly hope she also applies to the way she perceives herself.
<<Dialogue "player" "You">>"Besides, you know… the asteroid DID wipe out A LOT of stuff that wasn’t dinosaurs or big. It says right here that it killed three quarters of all plant and animal life… it affected PLANKTON! Do you know how small those are?"<</Dialogue>>
Elena does a spin, looking at the entire exhibit, and then she rests her head on your shoulder, contemplative.
<<Dialogue "Elena" "Elena">>"Grazie, <<print $playerFirstName>>. It is not everyday that I find new enjoyment in things. Now… I feel like dinosaurs are going to make me smile every time I see one…"<</Dialogue>>
You wrap an arm around her waist, and she lets out a content sigh. You decide to let her savor this moment a bit more before you accompany her out of the dinosaur room, the two of you sharing a happy, if subdued, smile.
[[Continue|ElenaDateCafetaria]]
<</replace>>
<</link>>
</span>As you leave the darkened dinosaur room, you are surprised by a small external garden cafeteria that is quite pleasant. The mixed smell of coffee and bread makes Elena’s stomach grumble, and you turn to see her embarrassed face.<br><br>
<<Dialogue "Elena" "Elena">>"Scusi, it took me longer to pick my clothes this morning, I ended up not having breakfast…"<</Dialogue>><br><br>
Her voice speeds up as she tries to justify herself as if she has just committed a huge sin, and it takes every fiber of your being to not squish her cheeks or laugh. It seems like she’s really hungry, though…<br><br>
<<Dialogue "player" "You">>"Hey, I sort of invited you, why don’t you let me treat you to a snack, huh?"<</Dialogue>><br><br>
Elena tries to politely decline, but your insistence beats her in the end. She casually pulls up one of the ornate iron garden chairs away from the iron garden table so she can actually fit (you are pretty sure those were not supposed to be moved due to their hefty weight, but you aren’t about to bring that detail to her attention, as the metal slightly groans while she sits down).<br><br>
As you reach the counter, you realize that there are quite a few options available - they apparently specialize in pastries, with all kinds of breads and sweet confections that look really yummy. Argh! Too many choices!!!<br><br>
OK, <<print $playerFirstName>>, you can do this! It’s just picking something for Elena, how hard can it really be?!?<br><br>
<span id="choice">
<<PersonalityCheck $shyConfident >= 2 "I should go all out! Elena’s a growing girl, and I bet she would appreciate a snack tasting smorgasbord!">>
<<replace "#choice">>
<<if $money >= 100>>
Before you know it, you are just pointing at several different pastries, and the poor attendant rushes to grab one after the other, placing them onto a tray… soon enough, she’s working on the third tray as you order almost one of every item available. Elena is, thankfully, too distracted appreciating the flora of the garden to see the small spectacle you are conducting at the counter. To top it off, you order a hot chocolate for yourself and a macchiato for her.<br><br>
The attendant rings up your impulsive purchase, and you realize you truly went overboard when the total comes to 100 bucks… still… you feel like Elena deserves to be treated like a princess. So you don’t hesitate (well, maybe a little) as you pay for the order, and start trying to figure out the logistics on how to balance the three trays - on the bright side, they feel really light for your powerful arms!<br><br>
You approach the table, a tray on each hand and balancing a third one between your arms, and once Elena notices, she immediately springs up, dropping the heavy chair back as she grabs two trays and sets them on the table. You do the same with the last one, and try to act gentlemanly as you pick up the chair and to help Elena sit down… except she is a bit stunned at your display of generosity.<br><br>
<<Dialogue "Elena" "Elena">>"Mio Dio, What… have you done? I… I don’t… you shouldn’t…"<</Dialogue>><br><br>
At first, you assumed she was just being polite, but you can sense some shame, as she looks around, trying to see if anyone is looking at the two of you.<br><br>
<<Dialogue "Elena" "Elena">>"Così tanto, that is too much!"<</Dialogue>><br><br>
Her tone betrays her disapproval - she isn’t mad at you as much as she seems disappointed with the fact that she is painfully aware that she would easily eat all that… but would rather not do it in public (made especially obvious by her constant looking around). But you got this under control, as you confidently assure her:<br><br>
<<Dialogue "player" "You">>"Ah, chill down, Elena - it’s not everyday I get to go out to cool, swanky places with a cute girl, so why not splurge a little, right?"<</Dialogue>><br><br>
<<Dialogue "Elena" "Elena">>"C-cute…?"<</Dialogue>><br><br>
Elena blushes, the compliment successfully making her brain change gears, and you decide to break the ice by bringing attention to the plethora of options on the table.<br><br>
<<Dialogue "player" "You">>"I think you are going to love some of these - I got the coffee eclair, which looks really yummy - unless you want to start with something savory - these are Brazilian pão de queijo - they look like pastries, but they are actually gluten-free!"<</Dialogue>><br><br>
You continue to explain the option like a goddamn professor giving a lecture, and Elena’s shy hesitation slowly dissolves, replaced with a look of admiration - you are not sure if it’s your cosmopolitan selection of snacks (which, granted, you just memorized from the explanations the lady at the café gave you) or your generosity. Either way, she looks to be almost salivating at the options.<br><br>
<<Dialogue "player" "You">>"But what do I know? You are the foodie here - just pick something!"<</Dialogue>><br><br>
You smile, and Elena feels encouraged to try something. You see her sparkly eyes darting among the many options, until she spots a strawberry chiffon cake - and she picks it up very delicately. Bringing the plate right in front of her face, she spends a few seconds just admiring the craftsmanship of the beautiful confection - despite her hunger. She looks at you with begging eyes, as if seeking approval, and you just smile and nod.<br><br>
The small plate and fork look even tinier in her big hands, but she very elegantly cuts a small piece of the cake, and brings it to her mouth. Instantly, her face is one of pure bliss, her legs tapping up and down like a little girl. The adorable display is almost too much for you to bear, but eventually she looks at you, still chewing, and brings a bite towards your mouth. You gulp the treat eagerly, but end up with some whipped cream on your nose. Without hesitation, Elena just brings a napkin and cleans it up… but then feels awkward about doing it without asking for permission, pulling the napkin back and shrinking into herself. For someone so big, she sure knows how to look absolutely adorable.<br><br>
You decide to help yourself to a chicken empanada, grabbing a big bite before offering the other half to Elena while you munch happily, but she politely declines. While you dwell on the delicious seasoning of the steamy filling, you can’t help but notice that Elena is looking at you with eyes that hint at admiration and affection.<br><br>
And that’s how two large girls quickly make short work of the snack-filled table. The culinary journey may not last long - but it leaves a big impression on the two of you. But as you finish the meal with a lone cherry, you notice Elena is looking at you quite wistfully.<br><br>
<<Dialogue "Elena" "Elena">>"Grazie…"<</Dialogue>><br><br>
<<Dialogue "player" "You">>"What’s with the sad face?"<</Dialogue>><br><br>
<<Dialogue "Elena" "Elena">>"Oh, no, I’m quite content. It’s just… girls really shouldn’t eat this much…"<</Dialogue>><br><br>
You snort, amused.<br><br>
<<Dialogue "player" "You">>"I don’t think most girls who are concerned about their figure have washboard abs and legs that could uproot a tree, Elena. Heck, I bet you will burn these calories before we leave the museum!"<</Dialogue>><br><br>
Elena tries to argue back, with a vague point that it’s not about her physique but what is proper for a lady, but quickly realizes that you won’t concede this.<br><br>
<<Dialogue "Elena" "Elena">>"I suppose it feels good… to go all out sometimes."<</Dialogue>><br><br>
<<Dialogue "player" "You">>"THAT’S the spirit!"<</Dialogue>><br><br>
The two of you stand up, and no longer hungry, and you happily escort Elena to the nearby greenhouse entrance where the flower exhibit is being held.<br><br>
<<set $money -=100>>
<<elseif $money >= 15>>
You check your wallet - and quickly realize that you won’t be able to get as many snacks as a big girl like Elena deserves. Disappointed, you settle for a tarte tatin and a macchiato, as well as some hot chocolate for yourself. You pay the attendant 15 dollars, and bring the tray back to the table.<br><br>
<<Dialogue "Elena" "Elena">>"Oh. That looks delizioso…"<</Dialogue>><br><br>
You sit by her side, with your hot chocolate in hand, and watch as she grabs the fork. She spends a few seconds just admiring the craftsmanship of the beautiful confection, despite her hunger.<br><br>
The small plate and fork look even tinier in her big hands, but she very elegantly cuts a small piece of the pie, and brings it to her mouth. Instantly, her face is one of pure bliss, her legs tapping up and down like a little girl. The adorable display is almost too much for you to bear. But as she looks at you, her eyes widen, and she silently and awkwardly starts to point towards her own upper lip, confusing you. It takes a second to dawn on you that she’s trying to warn you that you have a ridiculous hot chocolate mustache, and you wipe it out with a napkin, calming her down - and making you laugh a bit.<br><br>
<<Dialogue "player" "You">>"I suppose we must look a bit ridiculous, you know, two big, strong, women… acting like little girls."<</Dialogue>><br><br>
Elena, uncharacteristically, shrugs. With complete sincerity, she just replies:<br><br>
<<Dialogue "Elena" "Elena">>"But isn’t that what we are? Due ragazze… two girls."<</Dialogue>><br><br>
You scratch your head, and realize that there is some deep wisdom in that. You’ve been growing so fast that you kinda forgot that you are still… you. You don’t need to act differently just because you can bench press a cow, society be damned. You aren’t gonna stop wearing frilly dresses just because some dude thinks you look manly.<br><br>
Elena finishes the tarte, and you find yourself just admiring her feminine demeanor. She really lives by that mantra - under all that muscle, you can still clearly see the dainty girl, and it stirs something inside you.<br><br>
She very elegantly wipes her mouth with a napkin and stands up, and you do the same. You offer an arm, and Elena gladly takes it as the two of you go towards the greenhouse where the flower exhibit is being held.<br><br>
<<set $money -=15>>
<<else>>
You quickly look at your depressingly empty wallet, and realize you can’t really afford a snack. You feel miserable about it, and return to the table with empty hands and a defeated expression. Elena, however, is quick on the uptake, and realizes what happened. She stands up promptly, and goes to the counter. You try to stop her, but for once, she seems to not hesitate at all. Before you know, she comes back with a tray with two espressos and a couple of blueberry muffins - they don’t quite seem like the type of food she would usually… oh…<br><br>
She got those thinking of you.<br><br>
It’s your turn to blush, as you sit on the chair and silently munch on the treat. You find the black coffee a tad too bitter for your taste, especially in contrast to the dessert you just had, but drink it happily and say nothing. In fact, you find yourself more interested in just watching as Elena delicately peels the paper off the muffin, and takes tiny nibbles. She looks strangely elegant doing so, with her bites betraying the obvious scale difference between her and her treat. The whole process is hypnotizing, and eventually she comes to the realization that you are just staring - which makes HER blush, and you laugh.<br><br>
<<Dialogue "player" "You">>"Sorry, I didn’t mean to stare!"<</Dialogue>><br><br>
<<Dialogue "Elena" "Elena">>"..."<</Dialogue>><br><br>
You get back to your own muffin, feeling like a water buffalo in the way you eat it when compared to the lady next to you, but it doesn’t really bother you - it just increases your admiration for her. You really couldn’t think of anything you’d rather be doing than spending some time with her, differences be damned.<br><br>
It doesn’t take too long for both of you to finish, and you try to be gentlemanly and dispose of the trash while she cleans the crumbs off her dress, and the two of you make your way to the greenhouse.<br><br>
<</if>>
[[Continue|ElenaDate2GreenHouse]]
<</replace>>
<<Failed>>
<<replace "#choice">>
<<if $money >= 15>>
Oh, man! There are SO MANY OPTIONS!!! You start looking at the sweets, because they remind you of Elena’s demeanor… but then you remember just how refined her tastes are and start second-guessing yourself. Maybe just go with one of the savory options - oh, look, that’s gluten-free! But… does she even have a problem with gluten? I suppose she might prefer something with protein, like this empanada…<br><br>
Gosh, this is harder than you thought.<br><br>
After what it feels like an eternity, you end up just getting a boring couple of oatmeal cookies and two black coffees, and return to the table, unwilling to talk about it. Elena is quite confused about your frustration, but politely pretends not to notice while the two of you consume your respective snacks in silence.<br><br>
After the awkward break is over, the two of you proceed to the greenhouse, with Elena still wondering about what just happened.<br><br>
<<set $money -=15>>
<<else>>
Oh, man! There are SO MANY OPTIONS!!! You start looking at the sweets, because they remind you of Elena’s demeanor… but then you remember just how refined her tastes are and start second-guessing yourself. Maybe just go with one of the savory options - oh, look, that’s gluten-free! But… does she even have a problem with gluten? I suppose she might prefer something with protein, like this empanada…<br><br>
Oh wait… you just remembered - you don’t really have enough money to afford a snack for the two of you. Resigned, you come back to the table and apologize profusely, which starts a whole vicious cycle of apologies from her end. After this recursive loop that makes it feel like some sort of Canadian sport, the two of you eventually run out of things to apologize for, and awkwardly (and hungrily) move on to the greenhouse for the exhibit proper.<br><br>
<</if>>
[[Continue|ElenaDate2GreenHouse]]
<</replace>>
<</PersonalityCheck>>
<<link "I bet she would love something dainty and refined - like a tarte and an espresso…">>
<<replace "#choice">>
<<if $money >= 10>>
Frankly, it’s sort of amazing that this array of foodstuffs isn’t part of a museum exhibit - it would be right at home on an art museum… but this is a natural history museum, and this is the café, and there are pricetags by the items. So you still fall back to your sense of aesthetics more so than your culinary gifts when you pick an exquisite tarte tatin for Elena, coupled with an espresso as part of a promotional deal. You settle for a hot chocolate for yourself, and quickly return to the table with the items.<br><br>
Elena is distracted, looking at the beautiful sunlight garden, and you serve her meal with a big smile. She seems very pleased at your selection.<br><br>
<<Dialogue "Elena" "Elena">>"<<print $playerFirstName>>, that looks delicious. Grazie."<</Dialogue>><br><br>
You have a silly smirk on your face. Somehow, her rather plain praise is enough to make you fuzzy inside, just as much as the cute way in which she grabs the miniscule fork - made even smaller by the obvious scale disparity - and starts to cut tiny pieces of the mini-pie. You can’t shake this feeling of being two girls playing with doll-sized props, and the mere idea makes you chuckle. This, in turn, makes Elena self-conscious, looking at you confused and somewhat embarrassed.<br><br>
<<Dialogue "player" "You">>"No, no, sorry… it was just… I…"<</Dialogue>><br><br>
You almost start explaining your logic, but then realize that maybe it’s better not to bring up her size after the whole discussion regarding dinosaurs, so you just improvise a bit.<br><br>
<<Dialogue "player" "You">>"I just… remembered something funny, that’s all!"<</Dialogue>><br><br>
<<Dialogue "Elena" "Elena">>"Oh. What’s that?"<</Dialogue>><br><br>
Stuttering, you try to get out of the trap you just laid out for yourself.<br><br>
<<Dialogue "player" "You">>"Oh, you know, I’ve been trying to teach myself cooking lately… yeah! And I… uh… made a mess trying to make a pie. Boy, am I clumsy! I just… flour everywhere. I even dropped an egg on the flour. He… hehe… he…"<</Dialogue>><br><br>
Elena gives a genuine amused smile, and part of you feels guilty for the misdirection, but that’s a small price to pay for that beautiful smile. Her teeth (which you don’t get to see that often) shine as she does, much like her brown hair against the sun. It makes you melt from the inside. You find yourself joining her with giggles, and you take a sip of your delicious hot chocolate.<br><br>
<<Dialogue "player" "You">>"Yeah, I’m such a klutz!"<</Dialogue>><br><br>
Elena is confused by the word, which you explain, is a synonym for fool. She takes immediate umbrage at that.<br><br>
<<Dialogue "Elena" "Elena">>"You are not a fool. You are very smart and caring."<</Dialogue>><br><br>
The conviction and sincerity in her voice is… touching. You are left speechless, your off-hand remark being less about self-loathing and more like a jest but… Elena clearly took it very seriously. You can see real concern in her eyes, and it cuts through your heart like a dagger. You take a few seconds just to compose yourself before you can reply.<br><br>
<<Dialogue "player" "You">>"Oh, no, I was just joking."<</Dialogue>><br><br>
<<Dialogue "Elena" "Elena">>"You shouldn’t joke about that."<</Dialogue>><br><br>
It’s… weird. She’s not chastising you, it comes from a real place of concern. And you just aren’t used to seeing this more assertive side of Elena. It’s… refreshing? No, it actually makes something stir inside of you, something you can’t quite describe. You admire her for it.<br><br>
<<Dialogue "player" "You">>"I… I won’t."<</Dialogue>><br><br>
The two of you finish your respective drinks in silence, and you notice your heartbeat is faster than usual. Why is this whole thing making you feel this way? You twiddle your fingers nervously as Elena takes her sweet time finishing her espresso, making you unusually anxious. As she does so, you get up immediately, and Elena follows, grabbing your hand - which makes your heart race even faster. She leads you to the greenhouse, and you find yourself almost panting.<br><br>
What ARE these feelings that Elena is surfacing on you?<br><br>
And thus, the two of you make your way to the flower exhibit.<br><br>
<<set $money -=10>>
<<else>>
Oh wait… you just remembered - you don’t really have enough money to afford a snack for the two of you. Resigned, you come back to the table and apologize profusely, which starts a whole vicious cycle of apologies from her end. After this recursive loop that makes it feel like some sort of Canadian sport, the two of you eventually run out of things to apologize for, and awkwardly (and hungrily) move on to the greenhouse for the exhibit proper.<br><br>
<</if>>
[[Continue|ElenaDate2GreenHouse]]
<</replace>>
<</link>>
</span>As you leave the darkened dinosaur room, you are surprised by a small external garden cafeteria that is quite pleasant. The mixed smell of coffee and bread makes Elena’s stomach grumble, and you turn to see her embarrassed face.<br><br>
<<Dialogue "Elena" "Elena">>"Scusi, it took me longer to pick my clothes this morning, I ended up not having breakfast…"<</Dialogue>><br><br>
Her voice speeds up as she tries to justify herself as if she has just committed a huge sin, and it takes every fiber of your being to not squish her cheeks or laugh. It seems like she’s really hungry, though…<br><br>
<<Dialogue "player" "You">>"Hey, I sort of invited you, why don’t you let me treat you to a snack, huh?"<</Dialogue>><br><br>
Elena tries to politely decline, but your insistence beats her in the end. She casually pulls up one of the ornate iron garden chairs away from the iron garden table so she can actually fit (you are pretty sure those were not supposed to be moved due to their hefty weight, but you aren’t about to bring that detail to her attention, as the metal slightly groans while she sits down).<br><br>
As you reach the counter, you realize that there are quite a few options available - they apparently specialize in pastries, with all kinds of breads and sweet confections that look really yummy. Argh! Too many choices!!!<br><br>
OK, <<print $playerFirstName>>, you can do this! It’s just picking something for Elena, how hard can it really be?!?<br><br>
<span id="choice">
<<PersonalityCheck $shyConfident >= 2 "I should go all out! Elena’s a growing girl, and I bet she would appreciate a snack tasting smorgasbord!">>
<<replace "#choice">>
<<if $money >= 100>>
Before you know it, you are just pointing at several different pastries, and the poor attendant rushes to grab one after the other, placing them onto a tray… soon enough, she’s working on the third tray as you order almost one of every item available. Elena is, thankfully, too distracted appreciating the flora of the garden to see the small spectacle you are conducting at the counter. To top it off, you order a hot chocolate for yourself and a macchiato for her.<br><br>
The attendant rings up your impulsive purchase, and you realize you truly went overboard when the total comes to 100 bucks… still… you feel like Elena deserves to be treated like a princess. So you don’t hesitate (well, maybe a little) as you pay for the order, and start trying to figure out the logistics on how to balance the three trays - on the bright side, they feel really light for your powerful arms!<br><br>
You approach the table, a tray on each hand and balancing a third one between your arms, and once Elena notices, she immediately springs up, dropping the heavy chair back as she grabs two trays and sets them on the table. You do the same with the last one, and try to act gentlemanly as you pick up the chair and to help Elena sit down… except she is a bit stunned at your display of generosity.<br><br>
<<Dialogue "Elena" "Elena">>"Mio Dio, What… have you done? I… I don’t… you shouldn’t…"<</Dialogue>><br><br>
At first, you assumed she was just being polite, but you can sense some shame, as she looks around, trying to see if anyone is looking at the two of you.<br><br>
<<Dialogue "Elena" "Elena">>"Così tanto, that is too much!"<</Dialogue>><br><br>
Her tone betrays her disapproval - she isn’t mad at you as much as she seems disappointed with the fact that she is painfully aware that she would easily eat all that… but would rather not do it in public (made especially obvious by her constant looking around). But you got this under control, as you confidently assure her:<br><br>
<<Dialogue "player" "You">>"Ah, chill down, Elena - it’s not everyday I get to go out to cool, swanky places with a cute girl, so why not splurge a little, right?"<</Dialogue>><br><br>
<<Dialogue "Elena" "Elena">>"C-cute…?"<</Dialogue>><br><br>
Elena blushes, the compliment successfully making her brain change gears, and you decide to break the ice by bringing attention to the plethora of options on the table.<br><br>
<<Dialogue "player" "You">>"I think you are going to love some of these - I got the coffee eclair, which looks really yummy - unless you want to start with something savory - these are Brazilian pão de queijo - they look like pastries, but they are actually gluten-free!"<</Dialogue>><br><br>
You continue to explain the option like a goddamn professor giving a lecture, and Elena’s shy hesitation slowly dissolves, replaced with a look of admiration - you are not sure if it’s your cosmopolitan selection of snacks (which, granted, you just memorized from the explanations the lady at the café gave you) or your generosity. Either way, she looks to be almost salivating at the options.<br><br>
<<Dialogue "player" "You">>"But what do I know? You are the foodie here - just pick something!"<</Dialogue>><br><br>
You smile, and Elena feels encouraged to try something. You see her sparkly eyes darting among the many options, until she spots a strawberry chiffon cake - and she picks it up very delicately. Bringing the plate right in front of her face, she spends a few seconds just admiring the craftsmanship of the beautiful confection - despite her hunger. She looks at you with begging eyes, as if seeking approval, and you just smile and nod.<br><br>
The small plate and fork look even tinier in her big hands, but she very elegantly cuts a small piece of the cake, and brings it to her mouth. Instantly, her face is one of pure bliss, her legs tapping up and down like a little girl. The adorable display is almost too much for you to bear, but eventually she looks at you, still chewing, and brings a bite towards your mouth. You gulp the treat eagerly, but end up with some whipped cream on your nose. Without hesitation, Elena just brings a napkin and cleans it up… but then feels awkward about doing it without asking for permission, pulling the napkin back and shrinking into herself. For someone so big, she sure knows how to look absolutely adorable.<br><br>
You decide to help yourself to a chicken empanada, grabbing a big bite before offering the other half to Elena while you munch happily, but she politely declines. While you dwell on the delicious seasoning of the steamy filling, you can’t help but notice that Elena is looking at you with eyes that hint at admiration and affection.<br><br>
And that’s how two large girls quickly make short work of the snack-filled table. The culinary journey may not last long - but it leaves a big impression on the two of you. But as you finish the meal with a lone cherry, you notice Elena is looking at you quite wistfully.<br><br>
<<Dialogue "Elena" "Elena">>"Grazie…"<</Dialogue>><br><br>
<<Dialogue "player" "You">>"What’s with the sad face?"<</Dialogue>><br><br>
<<Dialogue "Elena" "Elena">>"Oh, no, I’m quite content. It’s just… girls really shouldn’t eat this much…"<</Dialogue>><br><br>
You snort, amused.<br><br>
<<Dialogue "player" "You">>"I don’t think most girls who are concerned about their figure have washboard abs and legs that could uproot a tree, Elena. Heck, I bet you will burn these calories before we leave the museum!"<</Dialogue>><br><br>
Elena tries to argue back, with a vague point that it’s not about her physique but what is proper for a lady, but quickly realizes that you won’t concede this.<br><br>
<<Dialogue "Elena" "Elena">>"I suppose it feels good… to go all out sometimes."<</Dialogue>><br><br>
<<Dialogue "player" "You">>"THAT’S the spirit!"<</Dialogue>><br><br>
The two of you stand up, and no longer hungry, and you happily escort Elena to the nearby greenhouse entrance where the flower exhibit is being held.<br><br>
<<set $money -=100>>
<<elseif $money >= 15>>
You check your wallet - and quickly realize that you won’t be able to get as many snacks as a big girl like Elena deserves. Disappointed, you settle for a tarte tatin and a macchiato, as well as some hot chocolate for yourself. You pay the attendant 15 dollars, and bring the tray back to the table.<br><br>
<<Dialogue "Elena" "Elena">>"Oh. That looks delizioso…"<</Dialogue>><br><br>
You sit by her side, with your hot chocolate in hand, and watch as she grabs the fork. She spends a few seconds just admiring the craftsmanship of the beautiful confection, despite her hunger.<br><br>
The small plate and fork look even tinier in her big hands, but she very elegantly cuts a small piece of the pie, and brings it to her mouth. Instantly, her face is one of pure bliss, her legs tapping up and down like a little girl. The adorable display is almost too much for you to bear. But as she looks at you, her eyes widen, and she silently and awkwardly starts to point towards her own upper lip, confusing you. It takes a second to dawn on you that she’s trying to warn you that you have a ridiculous hot chocolate mustache, and you wipe it out with a napkin, calming her down - and making you laugh a bit.<br><br>
<<Dialogue "player" "You">>"I suppose we must look a bit ridiculous, you know, two big, strong, women… acting like little girls."<</Dialogue>><br><br>
Elena, uncharacteristically, shrugs. With complete sincerity, she just replies:<br><br>
<<Dialogue "Elena" "Elena">>"But isn’t that what we are? Due ragazze… two girls."<</Dialogue>><br><br>
You scratch your head, and realize that there is some deep wisdom in that. You’ve been growing so fast that you kinda forgot that you are still… you. You don’t need to act differently just because you can bench press a cow, society be damned. You aren’t gonna stop wearing frilly dresses just because some dude thinks you look manly.<br><br>
Elena finishes the tarte, and you find yourself just admiring her feminine demeanor. She really lives by that mantra - under all that muscle, you can still clearly see the dainty girl, and it stirs something inside you.<br><br>
She very elegantly wipes her mouth with a napkin and stands up, and you do the same. You offer an arm, and Elena gladly takes it as the two of you go towards the greenhouse where the flower exhibit is being held.<br><br>
<<set $money -=15>>
<<else>>
You quickly look at your depressingly empty wallet, and realize you can’t really afford a snack. You feel miserable about it, and return to the table with empty hands and a defeated expression. Elena, however, is quick on the uptake, and realizes what happened. She stands up promptly, and goes to the counter. You try to stop her, but for once, she seems to not hesitate at all. Before you know, she comes back with a tray with two espressos and a couple of blueberry muffins - they don’t quite seem like the type of food she would usually… oh…<br><br>
She got those thinking of you.<br><br>
It’s your turn to blush, as you sit on the chair and silently munch on the treat. You find the black coffee a tad too bitter for your taste, especially in contrast to the dessert you just had, but drink it happily and say nothing. In fact, you find yourself more interested in just watching as Elena delicately peels the paper off the muffin, and takes tiny nibbles. She looks strangely elegant doing so, with her bites betraying the obvious scale difference between her and her treat. The whole process is hypnotizing, and eventually she comes to the realization that you are just staring - which makes HER blush, and you laugh.<br><br>
<<Dialogue "player" "You">>"Sorry, I didn’t mean to stare!"<</Dialogue>><br><br>
<<Dialogue "Elena" "Elena">>"..."<</Dialogue>><br><br>
You get back to your own muffin, feeling like a water buffalo in the way you eat it when compared to the lady next to you, but it doesn’t really bother you - it just increases your admiration for her. You really couldn’t think of anything you’d rather be doing than spending some time with her, differences be damned.<br><br>
It doesn’t take too long for both of you to finish, and you try to be gentlemanly and dispose of the trash while she cleans the crumbs off her dress, and the two of you make your way to the greenhouse.<br><br>
<</if>>
[[Continue|ElenaDate2GreenHouse]]
<</replace>>
<<Failed>>
<<replace "#choice">>
<<if $money >= 15>>
Oh, man! There are SO MANY OPTIONS!!! You start looking at the sweets, because they remind you of Elena’s demeanor… but then you remember just how refined her tastes are and start second-guessing yourself. Maybe just go with one of the savory options - oh, look, that’s gluten-free! But… does she even have a problem with gluten? I suppose she might prefer something with protein, like this empanada…<br><br>
Gosh, this is harder than you thought.<br><br>
After what it feels like an eternity, you end up just getting a boring couple of oatmeal cookies and two black coffees, and return to the table, unwilling to talk about it. Elena is quite confused about your frustration, but politely pretends not to notice while the two of you consume your respective snacks in silence.<br><br>
After the awkward break is over, the two of you proceed to the greenhouse, with Elena still wondering about what just happened.<br><br>
<<set $money -=15>>
<<else>>
Oh, man! There are SO MANY OPTIONS!!! You start looking at the sweets, because they remind you of Elena’s demeanor… but then you remember just how refined her tastes are and start second-guessing yourself. Maybe just go with one of the savory options - oh, look, that’s gluten-free! But… does she even have a problem with gluten? I suppose she might prefer something with protein, like this empanada…<br><br>
Oh wait… you just remembered - you don’t really have enough money to afford a snack for the two of you. Resigned, you come back to the table and apologize profusely, which starts a whole vicious cycle of apologies from her end. After this recursive loop that makes it feel like some sort of Canadian sport, the two of you eventually run out of things to apologize for, and awkwardly (and hungrily) move on to the greenhouse for the exhibit proper.<br><br>
<</if>>
[[Continue|ElenaDate2GreenHouse]]
<</replace>>
<</PersonalityCheck>>
<<link "I bet she would love something dainty and refined - like a tarte and an espresso…">>
<<replace "#choice">>
<<if $money >= 10>>
Frankly, it’s sort of amazing that this array of foodstuffs isn’t part of a museum exhibit - it would be right at home on an art museum… but this is a natural history museum, and this is the café, and there are pricetags by the items. So you still fall back to your sense of aesthetics more so than your culinary gifts when you pick an exquisite tarte tatin for Elena, coupled with an espresso as part of a promotional deal. You settle for a hot chocolate for yourself, and quickly return to the table with the items.<br><br>
Elena is distracted, looking at the beautiful sunlight garden, and you serve her meal with a big smile. She seems very pleased at your selection.<br><br>
<<Dialogue "Elena" "Elena">>"<<print $playerFirstName>>, that looks delicious. Grazie."<</Dialogue>><br><br>
You have a silly smirk on your face. Somehow, her rather plain praise is enough to make you fuzzy inside, just as much as the cute way in which she grabs the miniscule fork - made even smaller by the obvious scale disparity - and starts to cut tiny pieces of the mini-pie. You can’t shake this feeling of being two girls playing with doll-sized props, and the mere idea makes you chuckle. This, in turn, makes Elena self-conscious, looking at you confused and somewhat embarrassed.<br><br>
<<Dialogue "player" "You">>"No, no, sorry… it was just… I…"<</Dialogue>><br><br>
You almost start explaining your logic, but then realize that maybe it’s better not to bring up her size after the whole discussion regarding dinosaurs, so you just improvise a bit.<br><br>
<<Dialogue "player" "You">>"I just… remembered something funny, that’s all!"<</Dialogue>><br><br>
<<Dialogue "Elena" "Elena">>"Oh. What’s that?"<</Dialogue>><br><br>
Stuttering, you try to get out of the trap you just laid out for yourself.<br><br>
<<Dialogue "player" "You">>"Oh, you know, I’ve been trying to teach myself cooking lately… yeah! And I… uh… made a mess trying to make a pie. Boy, am I clumsy! I just… flour everywhere. I even dropped an egg on the flour. He… hehe… he…"<</Dialogue>><br><br>
Elena gives a genuine amused smile, and part of you feels guilty for the misdirection, but that’s a small price to pay for that beautiful smile. Her teeth (which you don’t get to see that often) shine as she does, much like her brown hair against the sun. It makes you melt from the inside. You find yourself joining her with giggles, and you take a sip of your delicious hot chocolate.<br><br>
<<Dialogue "player" "You">>"Yeah, I’m such a klutz!"<</Dialogue>><br><br>
Elena is confused by the word, which you explain, is a synonym for fool. She takes immediate umbrage at that.<br><br>
<<Dialogue "Elena" "Elena">>"You are not a fool. You are very smart and caring."<</Dialogue>><br><br>
The conviction and sincerity in her voice is… touching. You are left speechless, your off-hand remark being less about self-loathing and more like a jest but… Elena clearly took it very seriously. You can see real concern in her eyes, and it cuts through your heart like a dagger. You take a few seconds just to compose yourself before you can reply.<br><br>
<<Dialogue "player" "You">>"Oh, no, I was just joking."<</Dialogue>><br><br>
<<Dialogue "Elena" "Elena">>"You shouldn’t joke about that."<</Dialogue>><br><br>
It’s… weird. She’s not chastising you, it comes from a real place of concern. And you just aren’t used to seeing this more assertive side of Elena. It’s… refreshing? No, it actually makes something stir inside of you, something you can’t quite describe. You admire her for it.<br><br>
<<Dialogue "player" "You">>"I… I won’t."<</Dialogue>><br><br>
The two of you finish your respective drinks in silence, and you notice your heartbeat is faster than usual. Why is this whole thing making you feel this way? You twiddle your fingers nervously as Elena takes her sweet time finishing her espresso, making you unusually anxious. As she does so, you get up immediately, and Elena follows, grabbing your hand - which makes your heart race even faster. She leads you to the greenhouse, and you find yourself almost panting.<br><br>
What ARE these feelings that Elena is surfacing on you?<br><br>
And thus, the two of you make your way to the flower exhibit.<br><br>
<<set $money -=10>>
<<else>>
Oh wait… you just remembered - you don’t really have enough money to afford a snack for the two of you. Resigned, you come back to the table and apologize profusely, which starts a whole vicious cycle of apologies from her end. After this recursive loop that makes it feel like some sort of Canadian sport, the two of you eventually run out of things to apologize for, and awkwardly (and hungrily) move on to the greenhouse for the exhibit proper.<br><br>
<</if>>
[[Continue|ElenaDate2GreenHouse]]
<</replace>>
<</link>>
</span>Having crossed the garden, you arrive at the little plastic tent that acts as an airlock of sorts for the greenhouse. The structure confuses you regarding its purpose as you open the flaps, and some hunching over is necessary to make it in. It is when you open the glass doors to the greenhouse proper that you realize what its true need is:
They also have a large live butterfly exhibit within the space. As your eyes focus inside, the enormous greenhouse is rife with the flying creatures, giving the space a surreal fairy-tale ambiance, like you just walked into a magic kingdom straight out of a book.
Elena squeezes your hand, and you find yourself blushing into a deep shade of red - so it’s a good thing she’s so taken by the fauna and flora, looking around with her mouth agape. You are also slightly out of breath, not so much from the magnificent sight… but from the emotions being brought by her casual physical contact.
Almost entranced, Elena pulls you by the hand as she spots a Vietnamese lotus, which is a beautiful pink bloom, almost a caricature of what you would expect of a flower. She squeezes your hand quite hard in excitement, and you thank the gods that you have the strength to withstand the pressure applied - you are pretty sure she would have broken Johan’s hand with that.
<<Dialogue "Elena" "Elena">>"Look at this lotus… è bellissima."<</Dialogue>>
Her excitement is contagious - Sure, the flower IS beautiful. But as you look at her enchanted face, you find yourself quickly forgetting about the flower. You don’t get to see Elena in such a joyous mood often, and it sure is breathtaking. She proceeds to drag you around the greenhouse, and you feel like a princess being escorted in a children’s story. Elena gives long and detailed explanations about each flower, Italian words slowly slipping in with more frequency as she takes you from bloom to bloom - and soon she’s basically speaking only in her native language. But it doesn’t matter - her happiness speaks volumes louder than any words could ever do justice, and it makes you feel incredibly warm inside.
The whole experience is dreamlike, from the morning sunlight coming in refracted beams through the glass, to the swarms of colorful butterflies casually fluttering about. Time becomes abstract, and you just find yourself basking on the entire experience with a huge smile.
Eventually, Elena freezes. She looks into the distance, and her jaw drops. She lets go of your hand, and rushes away. The childish outburst only makes her more endearing, and you lazily follow her, finding her next to the giant orchid from the pamphlet. You approach, looking at the sign that proudly presents the Grammatophyllum speciosum - but the real surprise is that the plant actually dwarves Elena, this specimen being a few heads taller than her.
Still, you watch as she admires the plant, absolutely entranced, you can’t help but feel a strange kinship between the two - not only is this plant nothing sort of gigantic - but its yellow and red tones actually compliment Elena incredibly well, like they were made for each other. You decide to stay back and let her have this moment, which seems like a once-in-a-lifetime kind of deal to her. And frankly… witnessing it is nothing short of a blessing for you.
<<if $shyConfident >= 1>>
You approach Elena, tenderly hugging her from behind. While she doesn’t tense nor tries to break free, she also seems to be absorbed by this nigh-religious experience to truly notice you. Still, you enjoy this rare opportunity to feel Elena’s warmth, her soft skin and its stark contrast to the firm layers of sinew and muscle. It feels so good you don’t even mind the fact that she’s not reciprocating the affection - but that acknowledgement still does linger subconsciously on your mind, like a pea under the mattress that you can’t really feel, but is aware of nonetheless.
You can somehow sense that Elena is on the verge of tears, and you tighten the hug, and that seems to spark something in her. She still isn’t tensing or trying to get free, but it’s as if she is awkward and uncertain on how to respond to that. She motions to put her hand over yours, which is laying on her cobbled abdomen, but after a brief touch she pulls it away and moves her hair out of her face, and you can feel her breathing getting a bit more ragged.
You decide for both of your sakes to step on the brakes, and you let go. Elena turns, still looking somewhat lost, and she now grabs your hand with actual affectionate intent, and a joyous smile just explodes on your face. Elena’s eyes dart everywhere, and you bring her to a nearby park bench, where the two of you can sit, side by side.
<<else>>
You find one of the park benches and sit, elbows resting on your knees and your chin on your hands, and you just admire this beautiful, caring human being. There’s a hint of pain in knowing that most people can only see a giantess that could kill them on a whim, while it’s so blatantly obvious to you that this is the gentlest person you’ve ever met. If you weren’t in such a content mood, the sheer injustice of it might really be souring your mood. And yet, you are happy to just kick back and admire this beautiful person, quirks and all, feeling blessed to be able to call her a friend.
While you could easily spend the rest of the day doing so, Elena eventually notices that you aren’t around, and hurries to the join you on the bench, apologizing for her distraction.
<<Dialogue "Elena" "Elena">>"Scusi. I… didn’t even notice you had sat down. It’s just that…"<</Dialogue>>
<<Dialogue "player" "You">>"Hey, it’s okay, Elena. This is how I’m enjoying this. No worries, really."<</Dialogue>>
<</if>>
Elena puts her hands daintily on her lap, blushing slightly, but it doesn’t take long for her to realize how happy you seem to be, and she relaxes again. And as her worries melt away, she goes back into her own contemplative mood just as the sun perfectly hits her brown hair, projecting a halo around her head in its hazy glory. And on cue a beautiful blue butterfly lands on her flowery headband, very slowly opening and closing its wings. The image could not be any more perfect if it was painted by a renaissance master - you get lost in Elena's golden eyes as they lovingly gaze around, her mouth slightly open, with bright red lips that are so incredibly inviting…
<<if $shyConfident >= 2 || $submissiveDominant >= 2>>
As if commanded by an invisible force, you place a hand on Elena’s cheek and turn her face towards yours, and place a quick peck on her lips. It all happens so fast that the awareness of your act really only dawns after it’s already over, but while you regret nothing, Elena seems downright shocked - not like revolt or disgust, just something entirely unexpected. You look at her, your expression making it crystal clear that you regret nothing. Elena continues to fight her internal struggle - you can see in her huge eyes a little part of her that wants to give in, return the kiss… but it seems to be losing to that sheltered child, afraid to get hurt or hurt others, that constantly puts up emotional shields as thick as her muscles. The battle eventually is settled as she stands up and walks away in a hurry, and you can hear her sobbing.
You follow her, and grab her by the hand. She tries to pull it away gently, but you use all your might to keep her from doing so. With absolute earnesty, you announce, your own voice filled with regret.
<<Dialogue "player" "You">>"Elena, I’m sorry I don’t know what came over me."<</Dialogue>>
She turns to look at you, teary-eyed.
<<Dialogue "Elena" "Elena">>"No. Io… mi scuzi, non lo so…"<</Dialogue>>
You watch as she struggles with her words, and it breaks your heart. You gently place a hand on her shoulder and shush her. It seems to help her settle down a bit, and she gathers her wits.
<<Dialogue "Elena" "Elena">>"Sorry. I didn’t mean to react like that. It… felt nice. I’m not just quite ready… questo è tutto."<</Dialogue>>
You smile, and reinforce that it’s okay. Elena hugs you, resting her head on your shoulder, as she whispers:
<<Dialogue "Elena" "Elena">>"Grazie."<</Dialogue>>
You just stay there, as if time itself had frozen, and feel a sense of peace take over the two of you.
<<elseif $shyConfident >= 0>>
In what can almost be described as an out of body experience, your own lips just slowly start approaching Elena’s face, your own lips parting to mimic hers, as you close your eyes and feel the softness of her lips against hers. Time feels like it comes to a stop, even as the contact lasts for less than a split second, but it feels like… heaven. And as you reopen your eyes, returning to your own body, you see Elena’s own eyes open wide, a mix of surprise and panic.
As the sense and awareness rush back into your mind, you feel like your heart stops, and so does your breathing. Oh, no! What have you done? Thoughts cross your mind faster than you can process them, and you almost freak out trying to establish what to do next - do you apologize? Feign confusion? Pretend nothing happened? Run awa…
But then… Elena smiles, looks away and puts her hand on yours, squeezing it with incredible affection. Your heart almost jumps out of your mouth, but her presence is so soothing… so relaxing… that you find yourself just settling into this peaceful aura of happiness.
If only for a few precious moments, all is good in the world.
<<else>>
You can’t take your eyes from the plump red lips, inviting and sweet as ripe vesuvio cherry tomatoes. You find your own lips mimicking the half-open position as deep feelings stir deep within you. Your breath becomes deeper, and eventually Elena notices your expression - but you are so mesmerized that you are completely oblivious to it. But instead of recoiling, she stares deep into your eyes as she works her own courage and plants the tenderest kiss you can conceive of on your lips.
The world vanishes around the two of you as you close your eyes. All that exists are two kindred souls, connected by the weird happenstance of disproportionate bodies that, frankly, might as well not even exist right now. As your lips part, you bask in the warm breath against your face, and after you open your eyes, you see Elena looking at you with the same longing that you are experiencing right now. But the expression is quickly replaced by a content smile, as she leans her head on your shoulder and holds your hand, sighing happily.
If only for a few precious moments, all is good in the world.
<</if>>
But as an indeterminate amount of time passes, Elena is the first one to act.
<<Dialogue "Elena" "Elena">>"Thank you so much, this exhibit was magical. I can’t ever repay you enough for dragging me here, mi fiore."<</Dialogue>>
Her eyes sparkle as she says the last two words, quite emphatically. You look at her quizzically, but she just smiles like a bird who just ate the canary.
<<Dialogue "Elena" "Elena">>"Oh, it’s nothing. Just a little nickname for you!"<</Dialogue>>
She walks ahead, and you make sure to catch up as you walk out of the greenhouse and towards the exit.
[[Continue|ElenaDate2GiftShop]]The two of you walk back to the main foyer of the museum, hand in hand, and towards the gift shop that leads to the exit. Elena, like a little kid, is quickly attracted to some of the books dedicated to the exhibit, sporting several illustrations and pictures of the flowers. You watch as she leafs through them, when you hear something that at first sounds innocuous enough - but then quickly turns into panic as you think about it - a large group of children.
It would seem like your plan to avoid children was flawed, as a large school group stampedes into the gift shop. Before Elena can react, you grab her hand and hold it tightly, trying to be her island as you wait to see what happens next.
One of the kids just rushes blindly, running headfirst into Elena’s beefy thigh - and falling back on the ground. As the small boy opens his eyes, his head slowly tracks up, taking in the scale of the giantess in front of him, as Elena realizes what just happened and the other kids start crowding around her.
<<if $elenaOpinion > 40>>
You brace yourself, expecting Elena to freeze or flee, but instead, she smiles, and reaches down with a gentle hand, and scoops up the kid as if he were entirely weightless, placing him down, now standing up. With wide-open eyes, the boy gives a thankful nod, and runs away. The other kids look in wonder, as if they have just witnessed a magical creature.
Elena just smiles as she closes her eyes and tilts her head, and the kids all come running, begging her to lift and wave them around.
Elena giggles and apologizes, explaining with a thick accent (which only leaves the kids more awed) that it’s not the proper place for that:
<<Dialogue "Elena" "Elena">>"But who knows? Maybe we’ll meet at the park someday!"<</Dialogue>>
The crowd cheers, and Elena carefully steps out of the store with you.
<<Dialogue "player" "You">>"I have a sneaky feeling they will be telling stories about you for quite some time."<</Dialogue>>
Elena nods and smiles, and it fills you with an indescribable happiness that she seems to own her size for once. Who knows, maybe she will even grow into it someday - you tell yourself, laughing out loud at your unintentional pun.
But as the morning comes to an end, Elena thanks you one last time and, with a warm hug, says her goodbyes. You watch as she walks away, with a surprising spring to her step - as opposed to her usual hunched and careful gait. You shake your head, and turn the other way.
<<elseif $elenaOpinion > 20>>
Elena gasps, but you squeeze her hand and nod, trying to convey that everything is fine. You sense hesitation in her hand, but she just takes a deep breath (which momentarily scares the kid) before asking, in surprisingly clear English:
<<Dialogue "Elena" "Elena">>"Are you hurt, dear?"<</Dialogue>>
Her steady tone is incredibly soothing and reassuring, and the young boy’s fear seems to evaporate as he replies that he’s alright. Elena kneels and offers him her free hand, a single finger almost as big as the boy’s entire hand. And yet, he accepts, and she very gently envelops his palm in hers, lifting him so smoothly that he almost seems to be levitating.
With a bright smile, she apologizes:
<<Dialogue "Elena" "Elena">>"Sorry, sometimes I forget my own size. Are you sure you are fine?"<</Dialogue>>
The boy nervously nods his head, quickly and repeatedly, as his friends chatter excitedly.
<<Dialogue "player" "You">>"You should all drink your milk to make sure that you grow to be big and strong as my friend!"<</Dialogue>>
You motion Elena to make a muscle, and she blushes to what you could swear is a deep shade of purple, but she complies, showing a bicep that might just be bigger than most of their legs. This time, the children utter a unison of “wow”, while Elena hunches over herself. You can’t help but laugh at the surreal scene.
<<Dialogue "player" "You">>"We need to go now, but you should behave - remember, no running inside the museum!"<</Dialogue>>
As you wave goodbye and pull Elena by her hand out of the shop, she seems to be in a deep introspective mood, thinking to herself.
<<Dialogue "player" "You">>"Penny for your thoughts?"<</Dialogue>>
Elena is at first confused by the idiom, which you quickly explain.
<<Dialogue "Elena" "Elena">>"Ah, si. No, I was just… sorpresa. They weren’t afraid of me."<</Dialogue>>
<<Dialogue "player" "You">>"Sorry to break it to you, Elena, the only way you would surprise me is if you willingly hurt an ant."<</Dialogue>>
She keeps looking at her oversized hands as you escort her outside. You can see that something has triggered in her, and you give her a hug, while you tell her not to sweat about it. She gives a weak but sincere smile, and thanks you once again.
<<Dialogue "Elena" "Elena">>"Grazie. This… was magical. I have no words."<</Dialogue>>
<<Dialogue "player" "You">>"Hey, I can say the same. Looking forward to another..."<</Dialogue>>
You cut yourself before saying the word “date”. But the smiles on both of you say it all. You watch as Elena walks on her way, admiring her radiant beauty as you force yourself to turn around towards your own apartment.
<<else>>
Elena tugs at your hand, and it takes all her willpower to suppress her fight or flight instinct - which is clearly 100% flight. But you hold her steady, feeling her palm getting sweaty. You assume it’s part of her empathic nature, but her terror seems to radiate and infect the children, which get just as panicked as she is - the boy scurrying away, as one of the other kids actually starts to cry.
OK, <<print $playerFirstName>>, calm down, you got this. It feels like disarming a bomb in a movie, except more tense. Your eyes dart around, trying to take in the situation - do you concentrate on Elena? No, you should first soothe the kids - but how?
<<if $shyConfident > 1 || $carefreeCarefull < -1>>
<<Dialogue "player" "You">>"It’s okay, she’s a GOOD giant! Kinda like… a superhero!"<</Dialogue>>
Elena’s panic turns into utter confusion as she looks at you, complete bafflement all over her face. You muster the most confident smile you can, along with your best storytelling voice, as you proclaim loudly:
<<Dialogue "player" "You">>"Don’t worry, we just made sure there are no monsters or bad guys here - they call us every now and then when there’s a pesky dinosaur!"<</Dialogue>>
And there you have it - you can see the one kid that is entranced by your narrative, and like a wave, his energy flows into the others as he starts asking questions about the monsters and dinosaurs. You continue to weave a tall tale, and just like the kids, Elena is soothed by your dramatic chops. Soon there’s awed “Ooooh!”s and giggles all around, and you explain that the two of you need to get going because there are other monsters out there that need vanquishing.
Elena, still somewhat dazed, just follows as you tug her out of the museum.
<<else>>
You take a deep breath, trying to find the focus to get out of this situation. You gently ask if the kid is okay, and he just nods, somewhat panicked like he had committed a heinous crime. You offer him a hand, but the sheer discrepancy in size is enough to make him scurry away. You try to insist it’s all okay, but they are just too worked up. But then, due to your distraction, Elena manages to pull her hand away from yours.
<<Dialogue "Elena" "Elena">>"I’m sorry."<</Dialogue>>
There it is, that sad melancholy that comes so naturally to her. It makes the kids stop for a moment, and it’s enough for you to take the reins of the situation. You assure the kids that everything is okay, and they look at you, incredulously - not doubting your sincerity, but the enormity of your physique. You tell them that you got this big and strong because you always ate your vegetables and drank all your milk, and that seems to make an impression on them, enough to completely disarm the situation. The group walks away, buzzing about how they’ll never again skip on their milk and veggies, and you turn your attention to Elena, who seems to be finally settling down. You give her a hug to make her feel better, and escort her out of the museum.
<</if>>
As you leave the shop, Elena thanks you for the intervention, which you just wave off as just something any friend will do. But she is quite adamant, a serious expression on her face, as she proclaims:
<<Dialogue "Elena" "Elena">>"Grazie. I have no words. This… everything… sono in debito con te… I owe you."<</Dialogue>>
You scoff at that comment, but she is dead serious. You clear your throat, and nod in agreement, trying to match her seriousness - but she just gives you a tight hug… and you hug her back. And with that, you say your goodbyes, and each of you go back to your own abodes.
<</if>>
As you make your way back home, you pull up your phone to look up the meaning of “mi fiore”.
It means “my flower”.
You bring the phone to your chest, pushing it tightly against it, as you let out a content sigh. It’s going to be a long walk home… or at the very least, it will feel that way.
<<link "Go home" "Home">><<set $elenaOpinion += 10>><<set $elenaShyOpinion += 10>><</link>>