{(set: $hoursPlayed += $tempTimePassed)
(set: $hoursIntoWeek to ($hoursPlayed % 168))
(set: $daysIntoWeek to (floor:($hoursIntoWeek / 24)))
(set: $hoursIntoDay to ($hoursPlayed % 24))
(set: $hygiene -= (($weight / $hygieneDivider)*$tempTimePassed))
(if: $hygiene < 0)[(set: $hygiene to 0)]
(if: $hygiene <= 50)[(set: $health -= ($health/50))]
(display: "Metabolism") <!-- perform body calculations -->}<span id="content">//''<div class="roundborder2"><font color="#0000AA">(display: "DisplayDateTime")</font>''// <!-- insert date/time display --> Fast Forward: (link:"3 hours")[(goto:"Rest")] - (link:"Next Morning")[(goto:"Sleep")]</div>
(if: (($daysIntoWeek is not 0) and ($daysIntoWeek is not 6)) and $hoursIntoDay is 7 and $occupation is not 0)[You should get ready for work...
[[Shower]] - (link-goto: "Leave for Work", "work") - [[Call in Sick]]]
(display: "SpecialMessage")
EAT: (link:"At Home")[(if: $desiredFullness is 0)[(set: $tempForward to "EatAtHome")(goto:"SetDesiredFullness")](else:)[(goto:"EatAtHome")]] - (link:"Order Delivery")[(if: $desiredFullness is 0)[(set: $tempForward to "EatDelivery")(goto:"SetDesiredFullness")](else:)[(goto:"EatDelivery")]]
CLEAN: (link:"Yourself")[(goto:"Shower")] - (link:"The Apartment")[(goto:"Tidy")]
SHOPPING: (link:"Food")[(goto:"FoodShopping")] - (link:"Medical")[(goto: "MedicalShopping")] - (link:"Amenities")[(goto:"AmenitiesShopping")]
[[Exercise]]
</span>(display: "StatusBox")
<!-- OLD EAT ROUTINE -->
<!-- for reference only -->
<span id="content">(if: $foodType is "nutritious")[(set: $tempMult to 500)You prepare some (print: (either:"house salad", "healthy sandwiches")).](elseif: $foodType is "comfort")[(set: $tempMult to 1800)You cook up some (print: (either:"macaroni and cheese", "meatloaf", "fish sticks")).](elseif: $foodType is "fastfood")[(set: $tempMult to 3000)You order some (print: (either:"pizza", "hamburgers", "tacos", "Chinese food", "fried chicken")), and set down to eating.]
(if: $portion is 1)[(set: $stomachContent += (($stomachSize/2)-$stomachContent), $stomachCalories += ((($stomachSize/2)-$stomachContent) * $tempMult))](elseif: $portion is 2)[(set: $stomachContent += ($stomachSize-$stomachContent), $stomachCalories += (($stomachSize-$stomachContent) * $tempMult))](elseif: $portion is 3)[(set: $stomachContent += (($stomachSize*1.2)-$stomachContent), $stomachCalories += ((($stomachSize*1.2)-$stomachContent) * $tempMult))](else:)[(set: $stomachContent += ($stomachSize*0.2), $stomachCalories += (($stomachSize*0.2) * $tempMult))]
(if: $stomachContent < ($stomachSize * 0.6))[The meal doesn't last long. You're left feeling barely satisfied, longing for more.](elseif: $stomachContent <= ($stomachSize))[You eat your fill, and burp with the satisfying pressure filling your belly.](elseif: $stomachContent <= ($stomachSize * 1.2))[You try not to think about how much you're eating. You know you're full, but you force yourself to take another bite and keep chewing. The pressure builds until you begin to sweat.](else:)[The pressure is becoming too much... it's definitely painful. You imagine what it would be like to keep going until you pop...]
(set: $hygiene -= ($weight / 100))
[[Continue]]
</span>(display: "StatusBox")
<span id="content">You decide to wash the stink off, and drag yourself to the shower.
With some scrubbing, you feel clean again.
[[Continue]]
(set: $hygiene += (20000/$weight))
(if: $hygiene > 100)[(set: $hygiene to 100)]
(set: $tempTimePassed to 3)</span>(display: "StatusBox")
<span id="content">{(set: $tempTimePassed to 3)
You decide to (print: (either:
"watch some TV",
"take a short nap",
"play a game on your phone for a while",
"try out a new computer game"
)).}
Losing track of time, you look up to find (print: $tempTimePassed) hour(if: $tempTimePassed > 1)[s have](else:)[ has] passed.
[[Continue]]
(set: $hygiene -= (($weight / 100)*$tempTimePassed))</span>(display: "StatusBox")
<!-- OLD EAT ROUTINE -->
<!-- for reference only -->
<span id="content">How much will you eat?
(link:"A standard portion")[(set: $portion to 1, $bankBalance -= (floor:((($stomachSize/2)-$stomachContent)*$foodPrice)*100)/100))(goto:"eat2")] ($(print:(floor:((($stomachSize/2)-$stomachContent)*$foodPrice)*100)/100))
(link:"A hearty portion")[(set: $portion to 2, $bankBalance -= (floor:((($stomachSize/2)-$stomachContent)*$foodPrice)*100)/100))(goto:"eat2")] ($(print:(floor:((($stomachSize/2)-$stomachContent)*$foodPrice)*100)/100))
(if:$stomachContent<$stomachSize)[(link:"Eat your fill")[(set: $portion to 3, $bankBalance -= (floor:(($stomachSize-$stomachContent)*$foodPrice)*100)/100))(goto:"eat2")] ($(print:(floor:(($stomachSize-$stomachContent)*$foodPrice)*100)/100))]
(set: $hoursPlayed += 1)
{
(if: $stomachContent > ($stomachSize * 1.1))[<span id="message">Your stomach is packed so tightly with food, it must be stretching a bit.</span><br/>(set: $stomachSize += (($stomachContent - $stomachSize) / 10))]
(if: $hygiene < 50 and $hygiene > 24)[<span id="message">You should freshen up.</span><br/>]
(if: $hygiene < 25)[<span id="message">You smell horrible.</span><br/>]
(if: $stomachContent > ($stomachSize * 1.2))[<span id="message">You feel like you're about to pop!</span><br/>]
$currentMessages
}
<span id="content">You decide you've done all you care to do today, and sleep and laze away the time until next morning.
[[Continue]]
(set: $hoursIntoDay to $hoursPlayed % 24)
(if: $hoursIntoDay < 6)[(set: $tempTimePassed to 8 - $hoursIntoDay)](else:)[(set: $tempTimePassed to (24 - $hoursIntoDay) + 6)]
</span>(display: "StatusBox")
{<!-- Factor weight into overall body metabolism -->
(set: $metabolism to ($weight / $metabolismDivider)) <!-- divider determines overall metabolism burn speed, set in variable init passage -->
<!-- VER 2 METABOLISM -->
<!-- Reduction of stomach content (burn) equals metabolism over time -->
(set: $burned to $metabolism * $tempTimePassed)
<!-- if stomach isn't already empty -->
(if: $stomachContent > 0)[
<!-- determine average calories per unit of stomach content -->
(set: $avgCalories to $stomachCalories / $stomachContent)
<!-- If there's enough, metabolise stomach content only... -->
(if: ($avgCalories * $burned) <= $stomachCalories)[
(set: $stomachContent -= $burned)
(set: $stomachCalories -= $avgCalories * $burned)
(set: $weight += ($avgCalories * $burned)/3500)
](else:)[ <!-- ... otherwise convert remaining content, then burn fat -->
(set: $weight += ($stomachCalories)/3500)
(set: $weight -= (($avgCalories * $burned)-$stomachCalories)/3500)
(set: $stomachContent to 0, $stomachCalories to 0)
]
](else:)[ <!-- empty stomach, burn fat and confirm zero values -->
(set: $weight -= (($avgCalories * $burned)-$stomachCalories)/3500)
(set: $stomachContent to 0, $stomachCalories to 0)
]
(set: $stomachSpace to $stomachSize - $stomachContent)
<!-- END VER 2 METABOLISM -->
(set: $tempTimePassed to 0)
(if: $stomachSize < $stomachContent)[(set: $stomachSpace to 0)](else:)[(set: $stomachSpace to ($stomachSize - $stomachContent))] <!-- Temp variable for spare stomach space available -->}
<span id="box">{<div class='roundborder3'>''Weight:'' (print: (floor: $weight*10)/10) lbs.</div>
<div class='roundborder3'>''Bank Balance:'' $$bankBalance</div>
(set: $stomachFill to (($stomachContent/$stomachSize)*100))
(if: $health < 60)[(set: $healthBarColor to "yellow")]
(elseif: $health < 25)[(set: $healthBarColor to "red")]
(else:)[(set: $healthBarColor to "green")]
(print: "<div class='roundborder1'><b>Health:</b> " + (text:((floor: $health*10)/10)) + "/100<div class='w3-progress-container w3-round'><div class='w3-progressbar w3-round-small w3-" + $healthBarColor + "' style='width:" + (text:(floor: $health*10)/10) + "%'></div></div>")
(if: $energy < 50)[(set: $energyBarColor to "yellow")]
(elseif: $energy < 25)[(set: $energyBarColor to "red")]
(else:)[(set: $energyBarColor to "green")]
(print: "<div class='roundborder1'><b>Energy:</b> " + (text:((floor: $energy*10)/10)) + "/100<div class='w3-progress-container w3-round'><div class='w3-progressbar w3-round-small w3-" + $energyBarColor + "' style='width:" + (text:(floor: $energy*10)/10) + "%'></div></div>")
(if: $stomachFill > 70 and $stomachFill < 95)[(set: $stomachBarColor to "yellow")]
(elseif: $stomachFill >= 95)[(set: $stomachBarColor to "red")]
(else:)[(set: $stomachBarColor to "green")]
(if: $stomachFill > 100)[
(print: "<div class='roundborder1warn'><b>Fullness: </b><font color=red>" + (text:((floor: $stomachFill*10)/10)) + "</font>/100<div class='w3-progress-container w3-round'><div class='w3-progressbar w3-round-small w3-" + $stomachBarColor + "' style='width:100%'></div></div>")]
(else:)[
(print: "<div class='roundborder1'><b>Fullness:</b> " + (text:((floor: $stomachFill*10)/10)) + "/100<div class='w3-progress-container w3-round'><div class='w3-progressbar w3-round-small w3-" + $stomachBarColor + "' style='width:" + (text:(floor: $stomachFill*10)/10) + "%'></div></div>")]
(if: $morale < 50)[(set: $moraleBarColor to "yellow")]
(elseif: $morale < 25)[(set: $moraleBarColor to "red")]
(else:)[(set: $moraleBarColor to "green")]
(print: "<div class='roundborder1'><b>Morale:</b> " + (text:((floor: $morale*10)/10)) + "/100<div class='w3-progress-container w3-round'><div class='w3-progressbar w3-round-small w3-" + $moraleBarColor + "' style='width:" + (text:(floor: $morale*10)/10) + "%'></div></div>")}
Edibles in the house: (print: salads of $inv + sandwiches of $inv + burgers of $inv + doughnuts of $inv + cakes of $inv)
DesiredFullness = $desiredFullness
<font size='+1'>[[Options]]</font></span>
(if: $gluttony is 20)[Several more years of classrooms and exams have finally come to a close. You're ready for the workforce.
While you're not an academic prodigy, you earned a diploma with very little difficulty. Maintaining your diet was a steady distraction -- but you continued to fight your constant hunger, and ended up... a bit heavy. Comfortably and tolerably overweight.
You suppose things might have been much different. So many times, you almost "fell off the wagon". You walk into an interview at a nearby office complex, and almost feel thin next to some of the other candidates. You land the position easily. Now you'll be able to save up for what you really want...](if: $gluttony is 40)[Several years of classrooms, studying, and exams have finally come to a close. You've graduated. It wasn't alway easy, but a diploma gives you access to some job options, and hopefully some income -- at least for the time being.
You've never banished your constant hunger, and you are plenty big enough that if you //really// started to give in, the slope will be slippery. After answering some job postings, you secure a promising position at a nearby office. You need to take care of business for a while, and build up a nest egg.](if: $gluttony is 60)[Several years of classrooms, studying, and exams have finally come to a close. You've graduated. You feel relieved, mostly because you were finding classes an increasingly exhausting //physical// challenge -- but you can't just relax. Not yet. You'll need to spend at least //some// time working, unless you can arrange to win the lottery or something. Food expenses have been draining your savings.
You pull yourself together long enough to attend a couple of job interviews, and despite your appearance and borderline disability, you secure a surprisingly cushy position at a nearby office... while it lasts.]
[[Your first day of work->Continue]]
(if: $gluttony is 20)[(set: $weight to (random: 280,350))(set: $bankBalance to (random: 9000,11000))(set: $stomachSize to 4)]
(elseif: $gluttony is 40)[(set: $weight to (random: 400,500))(set: $bankBalance to (random: 4000,6000))(set: $stomachSize to 6)]
(else:)[(set: $weight to (random: 550,650))(set: $bankBalance to (random: 900,1100))(set: $stomachSize to 10)]
Your earliest memories have always been about eating: Enjoying your favorite foods. The feeling of an overstuffed stomach. Sneaking extra snacks, or sometimes even extra meals at your friends' houses.
Your parents both work full time jobs, and rarely spend time at home. Eventually they agree to sit you down for "a talk" about "healthy choices". They say they're worried about your eating habits, noting that you're becoming noticeably fat. They make you promise you understand the problem, and that you're prepared to do something about it. No specific advice. No encouragement. They seem relieved to simply have the discussion over with.
You wonder if maybe you should be more concerned with your weight. Your pudgy belly is already straining against your newest shirt, and it's not like they don't have a point. You're awfully tempted just to carry on like nothing has changed, but then again their hamfisted attempt at parenting certainly rubbed you the wrong way. //How will you react?//
(link: "Watch your diet carefully")[(set: $gluttony to 20)(goto: "Intro2")]
(link: "Do things the same way you always have")[(set: $gluttony to 40)(goto: "Intro2")]
(link: "Defy them and gain weight on purpose")[(set: $gluttony to 60)(goto: "Intro2")]
(display: "init_variables")
(if: $gluttony is 20)[Ugh. Dieting sucks, but there are good reasons to keep your weight under control. You keep working at it for your own sake.
By the time you enter high school, more weight still stubbornly creeps onto your frame. The trend continues until graduation. It's a constant struggle, and despite what you feel is impressive self-control, you're still plunging into "fat" territory by any normal, reasonable definition.
You always feel like you're on a razor's edge, waiting to lose control. It's troublesome, but you manage keep up the resistance. It seems like a good idea -- a way to buy yourself extra time.](if: $gluttony is 40)[No worries, right?
By the time you enter high school, even without any particular effort, you've managed to pack on //a lot// of weight. Your parents look on with distain, but apparently they can't even be bothered to arrange another awkward chat, clumsy intervention, or any other meaningful gesture that might make a difference.
You become the token fatty that stands out in most classes, rarely overshadowed in size by another student -- and never by very much. Your girth hardly makes for an easy, ridicule-free school career, but you muddle through, trying to take the good with the bad.](if: $gluttony is 60)[Screw them, and screw healthy choices. You binge like never before, and take satisfaction in your parents' dismay as your weight balloons. After a few months, you've made your point. After a few //more// months, every attempt to slow down only seems to make things worse. Was this really such a good idea?
When you begin high school you are easily the fattest student, and by senior year you've surpassed every adult in town who could still compete with your size. Luckily the Internet helps to put things into perspective. You find plenty of people who have reached more advanced stages of obesity -- some even younger than yourself, and a few cases so extreme that you flinch at the details. You chat with some of these people regularly, and find their shared experience invaluable. You also learn to accept when their profiles sometimes become inactive without explanation...]
The time comes when you need to choose a career path. It's already clear that you are angling toward a desk job, but //what specialty will you focus on?//
(link: "Computer Programmer")[(set: $occupation to 1)(goto: "Intro3")]
(link: "Graphic Designer")[(set: $occupation to 2)(goto: "Intro3")]
(link: "Stock Trader")[(set: $occupation to 3)(goto: "Intro3")]
<!-- Variables intitialized and given default values -->
<!-- CHARACTER attributes -->
(set: $health to 100) <!-- Overall health in percent -->
(set: $energy to 100) <!-- Current energy/stamina, starting at 100 -->
(set: $morale to 100) <!-- Morale/mood, out of 100 -->
(set: $hygiene to 100) <!-- Hygiene, expressed in percentage cleanliness -->
(set: $metabolism to 5) <!-- Metabolic rate (calculated by weight / metabolic divider -->
(set: $gluttony to 100) <!-- Tendency toward overeating, out of 100 -->
(set: $weight to 1) <!-- Weight in Pounds -->
(set: $stomachContent to 1) <!-- Current volume of stomach contents -->
(set: $stomachCalories to 1) <!-- Caloric value of stomach contents -->
(set: $stomachSize to 10) <!-- Current capacity of stomach (roughly corresponding to pounds of food, figured into weight display) -->
(set: $stomachFill to 0) <!-- Percent stomach is full-->
(set: $desiredFullness to 0) <!-- Target fullness when eating (percent) -->
<!-- Inventory Datamap (paired array) -->
(set: $inv to (datamap: "salads", 5, "sandwiches", 5, "burgers", 5, "doughnuts", 12, "cakes", 5))
<!-- GAME attributes -->
(set: $employed to true) <!-- have job? -->
(set: $bankBalance to 5000) <!-- funds -->
(set: $income to 1000) <!-- Weekly wage -->
(set: $hoursPlayed to 30) <!-- Hours of in-game time passed -->
(set: $tempTimePassed to 0) <!-- Hours since previous turn -->
(set: $nsf to 0) <!-- flag for "not enough money" display -->
(set: $tempForward to "null") <!-- redirect for proceeding to a passage after looking after other business -->
<!-- Balancing variables to tweak gameplay -->
(set: $metabolismDivider to 500)<!-- Higher number, slower calorie burn -->
(set: $hygieneDivider to 200) <!-- Higher number, slower drop in hygiene -->
(set: $eatEnergyDivider to 1) <!-- Higher number, lower cost to stamina during eating sessions -->
<!-- Food Item Properties -->
(set: $saladPrice to 1)
(set: $saladCalories to 250)
(set: $saladVolume to 1)
(set: $sandwichPrice to 2.75)
(set: $sandwichCalories to 300)
(set: $sandwichVolume to 0.4)
(set: $burgerPrice to 4) <!-- Set food item prices -->
(set: $burgerCalories to 800) <!-- Set food calorie count-->
(set: $burgerVolume to 0.8) <!-- Set food volume -->
(set: $doughnutPrice to 1)
(set: $doughnutCalories to 225)
(set: $doughnutVolume to 0.2)
(set: $cakePrice to 10)
(set: $cakeCalories to 4000)
(set: $cakeVolume to 4)
(set: $checkFood to 0) <!-- random number during "find something to eat" passage -->
(set: $foodPrice to 0.05) <!-- Delivery food price multiplier -->
<!-- Message display cache -->
(set: $currentMessages to "") <!-- persistent message placeholder -->
{(if: $occupation is 1)[Computer Programmer: Potential for a moderate to high income, where any reasonably established employee will have the opportunity to work from home.]
(else-if: $occupation is 2)[Graphic Artist: Low to moderate income, but you've recently developed a particular appreciation for creative design work. (Small morale bonus)]}
(else-if: $occupation is 3)[Stock Trader: Stressful shifts and irratic income, but if you can ride out the dry spells, you can also cash in on incredible short-term gains.]
//Is this what you studied?//
[[Yes->Intro4]] / [[No->Intro2]]
You pick up the phone, and give the receptionist at your office your best excuse.
Best not let this become a habit if you want to keep your job.
[[Continue]]
(set: $tempTimePassed to 3)
Intro skip for testing purposes
Low starting weight
[[Your first day of work->Continue]]
(display: "init_variables")
(set: $weight to (random: 280,350))(set: $bankBalance to (random: 9000,11000))(set: $gluttony to 20)
<span id="content">(link: "Set Eating Target")[(set: $tempForward to "Options")(goto: "SetDesiredFullness")0] (fullness)
[[Continue]]
</span>(display: "StatusBox")
(if: $hoursIntoDay < 3)[(print: "Midnight")](elseif: $hoursIntoDay < 6)[(print: "Dead of Night")](elseif: $hoursIntoDay < 9)[(print: "Early Morning")](elseif: $hoursIntoDay < 12)[(print: "Late Morning")](elseif: $hoursIntoDay < 15)[(print: "Midday")](elseif: $hoursIntoDay < 18)[(print: "Afternoon")](elseif: $hoursIntoDay < 21)[(print: "Evening")](elseif: $hoursIntoDay < 24)[(print: "Late Evening")] ((if: $hoursIntoDay is 0)[12](elseif: $hoursIntoDay > 12)[(print: ($hoursIntoDay - 12))](else:)[(print: $hoursIntoDay)](if: $hoursIntoDay < 12)[AM](else:)[PM]) (if: $daysIntoWeek is 0)[Sunday](elseif: $daysIntoWeek is 1)[Monday](elseif: $daysIntoWeek is 2)[Tuesday](elseif: $daysIntoWeek is 3)[Wednesday](elseif: $daysIntoWeek is 4)[Thursday](elseif: $daysIntoWeek is 5)[Friday](else:)[Saturday] - Day (print: (floor: ($hoursPlayed / 24)))
Specific goals, unfinished items from game scope document:
Working:
- fullness show actual stomach size, not percentage
- troubleshoot "ate 0 sandwiches". Maybe other foods.
- implement rest/sleep energy restoration
- lay out Options Screen
- implement work day mode
- implement stamina/energy requirements
- implement "mobility check" game event
- shopping for medical, amenity items
- check available funds in shopping displays
- optimizations for eat-at-home loop? message for delay?
- implement hygiene penalty on health
Done (for reference):
- find glitch in eating script re: negative cakes
- set eating preference on first meal
- Populate addn'l food items: salad, sandwich, cake
- Set up eat at home loop
- Fix time of day calculation vs hour (think it's fixed)
- Finish flavor text for "predisposition 1" (thinnest) intro
- Simple add-inventory array
- Shopping for food
- Add initial values for gluttony variable in intro4
- Adjust time display for 3 hour slots, with "part of day" text display
Todo
[[Continue]]
<span id="content">Thanks to one weird trick you read online, your food never spoils, and it doesn't take up any space. Neat.
(if: $nsf is 1)[//''(print: "You don't have the money to buy that...")''//(set: $nsf to 0)]
//Boring garden salad://
$saladVolume lbs, $saladCalories calories, ''have (if: salads of $inv is 0)[<font color='red'>none</font>](else:)[(print: salads of $inv)] left.''
Buy (link: "1")[(if:$bankBalance < $saladPrice)[(set: $nsf to 1)](else:)[(set: salads of $inv to it + 1)(set: $bankBalance to it -$saladPrice)](goto: "FoodShopping")] ($$saladPrice) / (link:"10")[(if:$bankBalance < ($saladPrice * 10))[(set: $nsf to 1)](else:)[(set: salads of $inv to it + 10)(set: $bankBalance to it - (10 * $saladPrice))](goto: "FoodShopping")] ($(print:(10 * $saladPrice))) / (link:"50")[(if: $bankBalance < ($saladPrice * 50))[(set: $nsf to 1)](else:)[(set: salads of $inv to it + 50)(set: $bankBalance to it - (50 * $saladPrice))](goto: "FoodShopping")] ($(print:(50 * $saladPrice)))
//PB & J Sandwich://
$sandwichVolume lbs, $sandwichCalories calories, ''have (if: sandwiches of $inv is 0)[<font color='red'>none</font>](else:)[(print: sandwiches of $inv)] left.''
Buy (link: "1")[(if:$bankBalance < $sandwichPrice)[(set: $nsf to 1)](else:)[(set: sandwiches of $inv to it + 1)(set: $bankBalance to it -$sandwichPrice)](goto: "FoodShopping")] ($$sandwichPrice) / (link:"10")[(if:$bankBalance < ($sandwichPrice * 10))[(set: $nsf to 1)](else:)[(set: sandwiches of $inv to it + 10)(set: $bankBalance to it - (10 * $sandwichPrice))](goto: "FoodShopping")] ($(print:(10 * $sandwichPrice))) / (link:"50")[(if: $bankBalance < ($sandwichPrice * 50))[(set: $nsf to 1)](else:)[(set: sandwiches of $inv to it + 50)(set: $bankBalance to it - (50 * $sandwichPrice))](goto: "FoodShopping")] ($(print:(50 * $sandwichPrice)))
//Double Cheeseburger://
$burgerVolume lbs, $burgerCalories calories, ''have (if: burgers of $inv is 0)[<font color='red'>none</font>](else:)[(print: burgers of $inv)] left.''
Buy (link: "1")[(if:$bankBalance < $burgerPrice)[(set: $nsf to 1)](else:)[(set: burgers of $inv to it + 1)(set: $bankBalance to it -$burgerPrice)](goto: "FoodShopping")] ($$burgerPrice) / (link:"10")[(if:$bankBalance < ($burgerPrice * 10))[(set: $nsf to 1)](else:)[(set: burgers of $inv to it + 10)(set: $bankBalance to it - (10 * $burgerPrice))](goto: "FoodShopping")] ($(print:(10 * $burgerPrice))) / (link:"50")[(if: $bankBalance < ($burgerPrice * 50))[(set: $nsf to 1)](else:)[(set: burgers of $inv to it + 50)(set: $bankBalance to it - (50 * $burgerPrice))](goto: "FoodShopping")] ($(print:(50 * $burgerPrice)))
//Cream-filled doughnut://
$doughnutVolume lbs, $doughnutCalories calories, ''have (if: doughnuts of $inv is 0)[<font color='red'>none</font>](else:)[(print: doughnuts of $inv)] left.''
Buy (link: "1")[(if:$bankBalance < $doughnutPrice)[(set: $nsf to 1)](else:)[(set: doughnuts of $inv to it + 1)(set: $bankBalance to it -$doughnutPrice)](goto: "FoodShopping")] ($$doughnutPrice) / (link:"10")[(if:$bankBalance < ($doughnutPrice * 10))[(set: $nsf to 1)](else:)[(set: doughnuts of $inv to it + 10)(set: $bankBalance to it - (10 * $doughnutPrice))](goto: "FoodShopping")] ($(print:(10 * $doughnutPrice))) / (link:"50")[(if: $bankBalance < ($doughnutPrice * 50))[(set: $nsf to 1)](else:)[(set: doughnuts of $inv to it + 50)(set: $bankBalance to it - (50 * $doughnutPrice))](goto: "FoodShopping")] ($(print:(50 * $doughnutPrice)))
//Entire Frosted Cake://
$cakeVolume lbs, $cakeCalories calories, ''have (if: cakes of $inv is 0)[<font color='red'>none</font>](else:)[(print: cakes of $inv)] left.''
Buy (link: "1")[(if:$bankBalance < $cakePrice)[(set: $nsf to 1)](else:)[(set: cakes of $inv to it + 1)(set: $bankBalance to it -$cakePrice)](goto: "FoodShopping")] ($$cakePrice) / (link:"10")[(if:$bankBalance < ($cakePrice * 10))[(set: $nsf to 1)](else:)[(set: cakes of $inv to it + 10)(set: $bankBalance to it - (10 * $cakePrice))](goto: "FoodShopping")] ($(print:(10 * $cakePrice))) / (link:"50")[(if: $bankBalance < ($cakePrice * 50))[(set: $nsf to 1)](else:)[(set: cakes of $inv to it + 50)(set: $bankBalance to it - (50 * $cakePrice))](goto: "FoodShopping")] ($(print:(50 * $cakePrice)))
[[Continue]]
</span>(display: "StatusBox")
<span id="content">So... you normally eat how much, again?
//(Change this any time in "options")//
(link:"A decent-sized snack")[(set: $desiredFullness = 70)(goto: $tempForward)]<br />
(link:"Gotta be full")[(set: $desiredFullness to 100)(goto: $tempForward)]
(link:"Until you're stuffed")[(set: $desiredFullness to 120)(goto: $tempForward)]
(might get sick)
(link:"Painfully stuffed")[(set: $desiredFullness to 140)(goto: $tempForward)]
(often get sick)</span>(display: "StatusBox")
Title ideas:
Binge
Final Binge *
Last Supper
Letting it Go
Going Big
Gone
Dire Diet
The Bigger they Are *
So I've been lurking a while. I'm here for the same reason as most of you, and generally found a lot of games that are proof-of-concepts, teasers, adaptations, mods, and afterthoughts.
Could I make my own? Definitely maybe.
This game is a project I've been working on sporadically for a couple of years. There were several false starts, different ideas, and different platforms. (I considered different game engines, dabbled in Flash/HTML5, and eventually got traction working in Twine after seeing what Leupai achieved with Boundless). I'm not entirely useless with graphic design, but decided a bare-bones look would suffice unless the graphics could add something to gameplay. I figured out a bit of CSS later on, which helped dress things up a little.
Premise:
Your character has a fattening childhood, graduates from school, enters the workforce, and tries to holds down a job while they save their money, lay the groundwork to support their advancing obesity, and slowly (or not so slowly) watch that groundwork crumble.
What this game IS:
A weird blend of things. I guess I'd call it a semi-realistic weight gain strategy-sim. I wanted choices to matter, while factoring in enough luck to encourage replay. Your final score is measured in pounds (the "weighty" kind. Sorry, metric system lovers...)
Some themes include weight gain, stuffing, struggling, immobility, hygiene, health, medical distress, and death.
What this game IS NOT:
Overtly sexual in nature, or intentionally pornographic. The focus is on weight gain itself, and the immediate reprocussions. Not a dating sim. I don't have any interactive player relationships planned at this time. Even a simpler established wife/feedee relationship was ultimately shelved when I started considering the coding involved. Maybe later, but probably not.
It borrows inspiration from a few games, namely:
Leupai's Boundless (Twine platform, some of my UI choices)
dj_sharp's "A Game" (Some of the food inventory handling, automated purchase system)
noone's "Fatty Text Adventure" (Probably the closest thing I can recall to a "finished product" in this genre)
Several others: (Metabolism, stomach, and digestion simulation)
I'm not going to promise regular updates, development, or added content -- but I'm not planning to disappear either.
General help / Strategy:
You're going to die anyways. Might as well get fat first.
The introductory "question" has an effect on four things: Starting weight, starting stomach capacity, starting cash, and the starting value for the character's "gluttony".
Weight and stomach size are self-explanatory. Your starting cash is higher if your food costs have been lower. The gluttony value takes a little more explaining: It's a key factor that quietly pushes your character toward their endgame. I chose to keep it hidden, because like IRL you might see the signs, but it's not a simple measure of "pounds" or "Big Macs". The specific effects are as follows:
- Persistent tendency to overeat (disregard your "stop eating/fullness" target)
- A perk to your morale when you stuff yourself, which develops into an dependency -- your morale will suffer when you aren't at least mostly full.
- These effects increase in intensity each time player is stuffed.
- Non-reversible. Can be temporarily reduced by an appetite suppressant (medical item), but is generally a cascade-effect. Encourage at your peril.
Put simply: Starting fatter is like lighting a shorter and quicker-burning fuse. You get a head-start, but less time to work with.
Health is ultimately your countdown timer in this game. Things that affect it are:
- Morale (a good mood improves your natural resistance)
- Hygiene (spending time as a dirty slob will begin to drain your health)
<span id="content">Eating at home...
{
(set: $availableFoods to (a:)) <!-- create available food array -->
(if: salads of $inv > 0)[(set: $availableFoods to it + (a:"salad"))]
(if: sandwiches of $inv > 0)[(set: $availableFoods to it + (a:"sandwich"))]
(if: burgers of $inv > 0)[(set: $availableFoods to it + (a:"burger"))]
(if: doughnuts of $inv > 0)[(set: $availableFoods to it + (a:"doughnut"))]
(if: cakes of $inv > 0)[(set: $availableFoods to it + (a:"cake"))]
(set: $stomachFill to ($stomachContent/$stomachSize)*100)
(if: $stomachFill < $desiredFullness)[
(set: $ateSalad to 0)
(set: $ateSandwich to 0)
(set: $ateBurger to 0)
(set: $ateDoughnut to 0)
(set: $ateCake to 0)
(set: $counter to 0)
(display: "FindSomethingToEat")
](else:)[You're not hungry... yet.(set: $shortMeal to 1)]
(if: ($ateSalad>0) or ($ateSandwich>0) or ($ateBurger>0) or ($ateDoughnut>0) or ($ateCake>0))[
You ate(if: $ateSalad is not 0)[
(if: $ateSalad is 1)[(print: "1 salad, ")]
(else:)[$ateSalad salads,]
]
(if: $ateSandwich is not 0)[
(if: $ateSandwich is 1)[(print: "1 sandwich, ")]
(else:)[$ateBurger sandwiches,]
]
(if: $ateBurger is not 0)[
(if: $ateBurger is 1)[(print: "1 burger, ")]
(else:)[$ateBurger burgers,]
]
(if: $ateDoughnut is not 0)[
(if: $ateDoughnut is 1)[(print: "1 doughnut, ")]
(else:)[$ateDoughnut doughnuts,]
]
(if: $ateCake is not 0)[
(if: $ateCake is 1)[1 cake]
(else:)[$ateCake cakes]
]
](else:)[(set: $shortMeal to 1)]
(print:"<br />")
(if: $lastSalad is 1)[You ate the last salad. (set: $lastSalad to 0)]
(if: $lastSandwich is 1)[You ate the last sandwich. (set: $lastSandwich to 0)]
(if: $lastBurger is 1)[You ate the last hamburger. (set: $lastBurger to 0)]
(if: $lastDoughnut is 1)[You ate the last doughnut. (set: $lastDoughnut to 0)]
(if: $lastCake is 1)[You ate the last cake. (set: $lastCake to 0)]
(if: $outOfFood is 1)[''There's NO food left!''(set: $outOfFood to 0)]
(set: $ateSalad to 0)
(set: $ateSandwich to 0)
(set: $ateBurger to 0)
(set: $ateDoughnut to 0)
(set: $ateCake to 0)
(if: $shortMeal is 0)[(set: $tempTimePassed to 3)]
(else:)[Guess you'll have to do something else...(set: $tempTimePassed to 0)(set: $shortMeal to 0)]
}
[[Continue]]
</span>(display: "StatusBox")
{
(set: $counter to it + 1)
<!-- Inner loop 1 -->
(set: $stomachFill to ($stomachContent/$stomachSize)*100)
(if: $stomachFill < $desiredFullness)[
(if: $availableFoods's length is not 0)[
(set: $checkFood to (either: ...$availableFoods))
(if: $checkFood is "salad")[
(set: salads of $inv to it - 1)
(set: $stomachContent to it + $saladVolume)
(set: $stomachCalories to it + $saladCalories)
(set: $energy to it - ($saladVolume / $eatEnergyDivider))
(set: $ateSalad to it + 1)
(if: salads of $inv is 0)[
(set: $availableFoods to it - (a:"salad"))
(set: $lastSalad to 1)
]
]
(elseif: $checkFood is "sandwich")[
(set: sandwiches of $inv to it - 1)
(set: $stomachContent to it + $sandwichVolume)
(set: $stomachCalories to it + $sandwichCalories)
(set: $energy to it - ($sandwichVolume / $eatEnergyDivider))
(set: $ateSandwich to it + 1)
(if: sandwiches of $inv is 0)[
(set: $availableFoods to it - (a:"sandwich"))
(set: $lastSandwich to 1)
]
]
(elseif: $checkFood is "burger")[
(set: burgers of $inv to it - 1)
(set: $stomachContent to it + $burgerVolume)
(set: $stomachCalories to it + $burgerCalories)
(set: $energy to it - ($burgerVolume / $eatEnergyDivider))
(set: $ateBurger to it + 1)
(if: burgers of $inv is 0)[
(set: $availableFoods to it - (a:"burger"))
(set: $lastBurnger to 1)
]
]
(elseif: $checkFood is "doughnut")[
(set: doughnuts of $inv to it - 1)
(set: $stomachContent to it + $doughnutVolume)
(set: $stomachCalories to it + $doughnutCalories)
(set: $energy to it - ($doughnutVolume / $eatEnergyDivider))
(set: $ateDoughnut to it + 1)
(if: doughnuts of $inv is 0)[
(set: $availableFoods to it - (a:"doughnut"))
(set: $lastDoughnut to 1)
]
]
(elseif: $checkFood is "cake")[
(set: cakes of $inv to it - 1)
(set: $stomachContent to it + $cakeVolume)
(set: $stomachCalories to it + $cakeCalories)
(set: $energy to it - ($cakeVolume / $eatEnergyDivider))
(set: $ateCake to it + 1)
(if: cakes of $inv is 0)[
(set: $availableFoods to it - (a:"cake"))
(set: $lastCake to 1)
]
]
](else:)[(set: $outOfFood to 1)]
]
<!-- Inner Loop 2 -->
(set: $stomachFill to ($stomachContent/$stomachSize)*100)
(if: $stomachFill < $desiredFullness)[
(if: $availableFoods's length is not 0)[
(set: $checkFood to (either: ...$availableFoods))
(if: $checkFood is "salad")[
(set: salads of $inv to it - 1)
(set: $stomachContent to it + $saladVolume)
(set: $stomachCalories to it + $saladCalories)
(set: $energy to it - ($saladVolume / $eatEnergyDivider))
(set: $ateSalad to it + 1)
(if: salads of $inv is 0)[
(set: $availableFoods to it - (a:"salad"))
(set: $lastSalad to 1)
]
]
(elseif: $checkFood is "sandwich")[
(set: sandwiches of $inv to it - 1)
(set: $stomachContent to it + $sandwichVolume)
(set: $stomachCalories to it + $sandwichCalories)
(set: $energy to it - ($sandwichVolume / $eatEnergyDivider))
(set: $ateSandwich to it + 1)
(if: sandwiches of $inv is 0)[
(set: $availableFoods to it - (a:"sandwich"))
(set: $lastSandwich to 1)
]
]
(elseif: $checkFood is "burger")[
(set: burgers of $inv to it - 1)
(set: $stomachContent to it + $burgerVolume)
(set: $stomachCalories to it + $burgerCalories)
(set: $energy to it - ($burgerVolume / $eatEnergyDivider))
(set: $ateBurger to it + 1)
(if: burgers of $inv is 0)[
(set: $availableFoods to it - (a:"burger"))
(set: $lastBurger to 1)
]
]
(elseif: $checkFood is "doughnut")[
(set: doughnuts of $inv to it - 1)
(set: $stomachContent to it + $doughnutVolume)
(set: $stomachCalories to it + $doughnutCalories)
(set: $energy to it - ($doughnutVolume / $eatEnergyDivider))
(set: $ateDoughnut to it + 1)
(if: doughnuts of $inv is 0)[
(set: $availableFoods to it - (a:"doughnut"))
(set: $lastDoughnut to 1)
]
]
(elseif: $checkFood is "cake")[
(set: cakes of $inv to it - 1)
(set: $stomachContent to it + $cakeVolume)
(set: $stomachCalories to it + $cakeCalories)
(set: $energy to it - ($cakeVolume / $eatEnergyDivider))
(set: $ateCake to it + 1)
(if: cakes of $inv is 0)[
(set: $availableFoods to it - (a:"cake"))
(set: $lastCake to 1)
]
]
](else:)[(set: $outOfFood to 1)]
]
<!-- Inner Loop 3 -->
(set: $stomachFill to ($stomachContent/$stomachSize)*100)
(if: $stomachFill < $desiredFullness)[
(if: $availableFoods's length is not 0)[
(set: $checkFood to (either: ...$availableFoods))
(if: $checkFood is "salad")[
(set: salads of $inv to it - 1)
(set: $stomachContent to it + $saladVolume)
(set: $stomachCalories to it + $saladCalories)
(set: $energy to it - ($saladVolume / $eatEnergyDivider))
(set: $ateSalad to it + 1)
(if: salads of $inv is 0)[
(set: $availableFoods to it - (a:"salad"))
(set: $lastSalad to 1)
]
]
(elseif: $checkFood is "sandwich")[
(set: sandwiches of $inv to it - 1)
(set: $stomachContent to it + $sandwichVolume)
(set: $stomachCalories to it + $sandwichCalories)
(set: $energy to it - ($sandwichVolume / $eatEnergyDivider))
(set: $ateSandwich to it + 1)
(if: sandwiches of $inv is 0)[
(set: $availableFoods to it - (a:"sandwich"))
(set: $lastSandwich to 1)
]
]
(elseif: $checkFood is "burger")[
(set: burgers of $inv to it - 1)
(set: $stomachContent to it + $burgerVolume)
(set: $stomachCalories to it + $burgerCalories)
(set: $energy to it - ($burgerVolume / $eatEnergyDivider))
(set: $ateBurger to it + 1)
(if: burgers of $inv is 0)[
(set: $availableFoods to it - (a:"burger"))
(set: $lastBurger to 1)
]
]
(elseif: $checkFood is "doughnut")[
(set: doughnuts of $inv to it - 1)
(set: $stomachContent to it + $doughnutVolume)
(set: $stomachCalories to it + $doughnutCalories)
(set: $energy to it - ($doughnutVolume / $eatEnergyDivider))
(set: $ateDoughnut to it + 1)
(if: doughnuts of $inv is 0)[
(set: $availableFoods to it - (a:"doughnut"))
(set: $lastDoughnut to 1)
]
]
(elseif: $checkFood is "cake")[
(set: cakes of $inv to it - 1)
(set: $stomachContent to it + $cakeVolume)
(set: $stomachCalories to it + $cakeCalories)
(set: $energy to it - ($cakeVolume / $eatEnergyDivider))
(set: $ateCake to it + 1)
(if: cakes of $inv is 0)[
(set: $availableFoods to it - (a:"cake"))
(set: $lastCake to 1)
]
]
](else:)[(set: $outOfFood to 1)]
]
<!-- Inner Loop 4 -->
(set: $stomachFill to ($stomachContent/$stomachSize)*100)
(if: $stomachFill < $desiredFullness)[
(if: $availableFoods's length is not 0)[
(set: $checkFood to (either: ...$availableFoods))
(if: $checkFood is "salad")[
(set: salads of $inv to it - 1)
(set: $stomachContent to it + $saladVolume)
(set: $stomachCalories to it + $saladCalories)
(set: $energy to it - ($saladVolume / $eatEnergyDivider))
(set: $ateSalad to it + 1)
(if: salads of $inv is 0)[
(set: $availableFoods to it - (a:"salad"))
(set: $lastSalad to 1)
]
]
(elseif: $checkFood is "sandwich")[
(set: sandwiches of $inv to it - 1)
(set: $stomachContent to it + $sandwichVolume)
(set: $stomachCalories to it + $sandwichCalories)
(set: $energy to it - ($sandwichVolume / $eatEnergyDivider))
(set: $ateSandwich to it + 1)
(if: sandwiches of $inv is 0)[
(set: $availableFoods to it - (a:"sandwich"))
(set: $lastSandwich to 1)
]
]
(elseif: $checkFood is "burger")[
(set: burgers of $inv to it - 1)
(set: $stomachContent to it + $burgerVolume)
(set: $stomachCalories to it + $burgerCalories)
(set: $energy to it - ($burgerVolume / $eatEnergyDivider))
(set: $ateBurger to it + 1)
(if: burgers of $inv is 0)[
(set: $availableFoods to it - (a:"burger"))
(set: $lastBurger to 1)
]
]
(elseif: $checkFood is "doughnut")[
(set: doughnuts of $inv to it - 1)
(set: $stomachContent to it + $doughnutVolume)
(set: $stomachCalories to it + $doughnutCalories)
(set: $energy to it - ($doughnutVolume / $eatEnergyDivider))
(set: $ateDoughnut to it + 1)
(if: doughnuts of $inv is 0)[
(set: $availableFoods to it - (a:"doughnut"))
(set: $lastDoughnut to 1)
]
]
(elseif: $checkFood is "cake")[
(set: cakes of $inv to it - 1)
(set: $stomachContent to it + $cakeVolume)
(set: $stomachCalories to it + $cakeCalories)
(set: $energy to it - ($cakeVolume / $eatEnergyDivider))
(set: $ateCake to it + 1)
(if: cakes of $inv is 0)[
(set: $availableFoods to it - (a:"cake"))
(set: $lastCake to 1)
]
]
](else:)[(set: $outOfFood to 1)]
]
<!-- Inner Loop 5 -->
(set: $stomachFill to ($stomachContent/$stomachSize)*100)
(if: $stomachFill < $desiredFullness)[
(if: $availableFoods's length is not 0)[
(set: $checkFood to (either: ...$availableFoods))
(if: $checkFood is "salad")[
(set: salads of $inv to it - 1)
(set: $stomachContent to it + $saladVolume)
(set: $stomachCalories to it + $saladCalories)
(set: $energy to it - ($saladVolume / $eatEnergyDivider))
(set: $ateSalad to it + 1)
(if: salads of $inv is 0)[
(set: $availableFoods to it - (a:"salad"))
(set: $lastSalad to 1)
]
]
(elseif: $checkFood is "sandwich")[
(set: sandwiches of $inv to it - 1)
(set: $stomachContent to it + $sandwichVolume)
(set: $stomachCalories to it + $sandwichCalories)
(set: $energy to it - ($sandwichVolume / $eatEnergyDivider))
(set: $ateSandwich to it + 1)
(if: sandwiches of $inv is 0)[
(set: $availableFoods to it - (a:"sandwich"))
(set: $lastSandwich to 1)
]
]
(elseif: $checkFood is "burger")[
(set: burgers of $inv to it - 1)
(set: $stomachContent to it + $burgerVolume)
(set: $stomachCalories to it + $burgerCalories)
(set: $energy to it - ($burgerVolume / $eatEnergyDivider))
(set: $ateBurger to it + 1)
(if: burgers of $inv is 0)[
(set: $availableFoods to it - (a:"burger"))
(set: $lastBurger to 1)
]
]
(elseif: $checkFood is "doughnut")[
(set: doughnuts of $inv to it - 1)
(set: $stomachContent to it + $doughnutVolume)
(set: $stomachCalories to it + $doughnutCalories)
(set: $energy to it - ($doughnutVolume / $eatEnergyDivider))
(set: $ateDoughnut to it + 1)
(if: doughnuts of $inv is 0)[
(set: $availableFoods to it - (a:"doughnut"))
(set: $lastDoughnut to 1)
]
]
(elseif: $checkFood is "cake")[
(set: cakes of $inv to it - 1)
(set: $stomachContent to it + $cakeVolume)
(set: $stomachCalories to it + $cakeCalories)
(set: $energy to it - ($cakeVolume / $eatEnergyDivider))
(set: $ateCake to it + 1)
(if: cakes of $inv is 0)[
(set: $availableFoods to it - (a:"cake"))
(set: $lastCake to 1)
]
]
](else:)[(set: $outOfFood to 1)]
]
<!-- Inner Loop 6 -->
(set: $stomachFill to ($stomachContent/$stomachSize)*100)
(if: $stomachFill < $desiredFullness)[
(if: $availableFoods's length is not 0)[
(set: $checkFood to (either: ...$availableFoods))
(if: $checkFood is "salad")[
(set: salads of $inv to it - 1)
(set: $stomachContent to it + $saladVolume)
(set: $stomachCalories to it + $saladCalories)
(set: $energy to it - ($saladVolume / $eatEnergyDivider))
(set: $ateSalad to it + 1)
(if: salads of $inv is 0)[
(set: $availableFoods to it - (a:"salad"))
(set: $lastSalad to 1)
]
]
(elseif: $checkFood is "sandwich")[
(set: sandwiches of $inv to it - 1)
(set: $stomachContent to it + $sandwichVolume)
(set: $stomachCalories to it + $sandwichCalories)
(set: $energy to it - ($sandwichVolume / $eatEnergyDivider))
(set: $ateSandwich to it + 1)
(if: sandwiches of $inv is 0)[
(set: $availableFoods to it - (a:"sandwich"))
(set: $lastSandwich to 1)
]
]
(elseif: $checkFood is "burger")[
(set: burgers of $inv to it - 1)
(set: $stomachContent to it + $burgerVolume)
(set: $stomachCalories to it + $burgerCalories)
(set: $energy to it - ($burgerVolume / $eatEnergyDivider))
(set: $ateBurger to it + 1)
(if: burgers of $inv is 0)[
(set: $availableFoods to it - (a:"burger"))
(set: $lastBurger to 1)
]
]
(elseif: $checkFood is "doughnut")[
(set: doughnuts of $inv to it - 1)
(set: $stomachContent to it + $doughnutVolume)
(set: $stomachCalories to it + $doughnutCalories)
(set: $energy to it - ($doughnutVolume / $eatEnergyDivider))
(set: $ateDoughnut to it + 1)
(if: doughnuts of $inv is 0)[
(set: $availableFoods to it - (a:"doughnut"))
(set: $lastDoughnut to 1)
]
]
(elseif: $checkFood is "cake")[
(set: cakes of $inv to it - 1)
(set: $stomachContent to it + $cakeVolume)
(set: $stomachCalories to it + $cakeCalories)
(set: $energy to it - ($cakeVolume / $eatEnergyDivider))
(set: $ateCake to it + 1)
(if: cakes of $inv is 0)[
(set: $availableFoods to it - (a:"cake"))
(set: $lastCake to 1)
]
]
](else:)[(set: $outOfFood to 1)]
]
<!-- Inner Loop 7 -->
(set: $stomachFill to ($stomachContent/$stomachSize)*100)
(if: $stomachFill < $desiredFullness)[
(if: $availableFoods's length is not 0)[
(set: $checkFood to (either: ...$availableFoods))
(if: $checkFood is "salad")[
(set: salads of $inv to it - 1)
(set: $stomachContent to it + $saladVolume)
(set: $stomachCalories to it + $saladCalories)
(set: $energy to it - ($saladVolume / $eatEnergyDivider))
(set: $ateSalad to it + 1)
(if: salads of $inv is 0)[
(set: $availableFoods to it - (a:"salad"))
(set: $lastSalad to 1)
]
]
(elseif: $checkFood is "sandwich")[
(set: sandwiches of $inv to it - 1)
(set: $stomachContent to it + $sandwichVolume)
(set: $stomachCalories to it + $sandwichCalories)
(set: $energy to it - ($sandwichVolume / $eatEnergyDivider))
(set: $ateSandwich to it + 1)
(if: sandwiches of $inv is 0)[
(set: $availableFoods to it - (a:"sandwich"))
(set: $lastSandwich to 1)
]
]
(elseif: $checkFood is "burger")[
(set: burgers of $inv to it - 1)
(set: $stomachContent to it + $burgerVolume)
(set: $stomachCalories to it + $burgerCalories)
(set: $energy to it - ($burgerVolume / $eatEnergyDivider))
(set: $ateBurger to it + 1)
(if: burgers of $inv is 0)[
(set: $availableFoods to it - (a:"burger"))
(set: $lastBurger to 1)
]
]
(elseif: $checkFood is "doughnut")[
(set: doughnuts of $inv to it - 1)
(set: $stomachContent to it + $doughnutVolume)
(set: $stomachCalories to it + $doughnutCalories)
(set: $energy to it - ($doughnutVolume / $eatEnergyDivider))
(set: $ateDoughnut to it + 1)
(if: doughnuts of $inv is 0)[
(set: $availableFoods to it - (a:"doughnut"))
(set: $lastDoughnut to 1)
]
]
(elseif: $checkFood is "cake")[
(set: cakes of $inv to it - 1)
(set: $stomachContent to it + $cakeVolume)
(set: $stomachCalories to it + $cakeCalories)
(set: $energy to it - ($cakeVolume / $eatEnergyDivider))
(set: $ateCake to it + 1)
(if: cakes of $inv is 0)[
(set: $availableFoods to it - (a:"cake"))
(set: $lastCake to 1)
]
]
](else:)[(set: $outOfFood to 1)]
]
<!-- Inner Loop 8 -->
(set: $stomachFill to ($stomachContent/$stomachSize)*100)
(if: $stomachFill < $desiredFullness)[
(if: $availableFoods's length is not 0)[
(set: $checkFood to (either: ...$availableFoods))
(if: $checkFood is "salad")[
(set: salads of $inv to it - 1)
(set: $stomachContent to it + $saladVolume)
(set: $stomachCalories to it + $saladCalories)
(set: $energy to it - ($saladVolume / $eatEnergyDivider))
(set: $ateSalad to it + 1)
(if: salads of $inv is 0)[
(set: $availableFoods to it - (a:"salad"))
(set: $lastSalad to 1)
]
]
(elseif: $checkFood is "sandwich")[
(set: sandwiches of $inv to it - 1)
(set: $stomachContent to it + $sandwichVolume)
(set: $stomachCalories to it + $sandwichCalories)
(set: $energy to it - ($sandwichVolume / $eatEnergyDivider))
(set: $ateSandwich to it + 1)
(if: sandwiches of $inv is 0)[
(set: $availableFoods to it - (a:"sandwich"))
(set: $lastSandwich to 1)
]
]
(elseif: $checkFood is "burger")[
(set: burgers of $inv to it - 1)
(set: $stomachContent to it + $burgerVolume)
(set: $stomachCalories to it + $burgerCalories)
(set: $energy to it - ($burgerVolume / $eatEnergyDivider))
(set: $ateBurger to it + 1)
(if: burgers of $inv is 0)[
(set: $availableFoods to it - (a:"burger"))
(set: $lastBurger to 1)
]
]
(elseif: $checkFood is "doughnut")[
(set: doughnuts of $inv to it - 1)
(set: $stomachContent to it + $doughnutVolume)
(set: $stomachCalories to it + $doughnutCalories)
(set: $energy to it - ($doughnutVolume / $eatEnergyDivider))
(set: $ateDoughnut to it + 1)
(if: doughnuts of $inv is 0)[
(set: $availableFoods to it - (a:"doughnut"))
(set: $lastDoughnut to 1)
]
]
(elseif: $checkFood is "cake")[
(set: cakes of $inv to it - 1)
(set: $stomachContent to it + $cakeVolume)
(set: $stomachCalories to it + $cakeCalories)
(set: $energy to it - ($cakeVolume / $eatEnergyDivider))
(set: $ateCake to it + 1)
(if: cakes of $inv is 0)[
(set: $availableFoods to it - (a:"cake"))
(set: $lastCake to 1)
]
]
](else:)[(set: $outOfFood to 1)]
]
<!-- Finalize, recursive call if needed -->
(set: $stomachFill to ($stomachContent/$stomachSize)*100)
(if: ($stomachFill < $desiredFullness))[
(if: $counter > 5)[Aborted -- too many loops, ]
(elseif: $availableFoods's length is 0)[
(set: $outOfFood to 1)
]
(else:)[(display: "FindSomethingToEat")]
]}
<span id="content">Delivery: A quick fix when you don't want to (or //can't//) leave the house. Loaded with calories, and more than a little expensive.
To get your fill, it's going to cost about $(print: (Floor:(($desiredFullness * $stomachSize) * $foodPrice)*10)/10).
Sounds Good - Not right now
[[Continue]]
</span>(display: "StatusBox")
<span id="content">Todo -
calculate food intake, calories
describe meal
deduct price
[[Continue]]
</span>(display: "StatusBox")