Apologies! You are using an outdated browser which lacks required capabilities. Please upgrade your browser to improve your experience.
Initializing. Please wait…
It's a beautiful day, and you are excited.
The last of the party supplies have finally arrived. That gives you almost exactly a day to actually set everything up; plenty of time to do things right. You are looking forward to throwing your good friend the party she deserves.
You can't wait to see the look on her face!
[['"Ping!"'|Start 2]]Oh, that's your phone. Looks like you have a text message. Who could that be?
"hey. we're running a little late. be there in an hour. sorry!"
Oh no. Oh no no no no no
[[Check your calendar|Start 3]]<<set $intro = true>>You turn in horror to your old-timey tear-away calendar on the wall.
YOU RIDICULOUS DOOFUS. THE 12TH IS TODAY.
//Don't panic,// you tell yourself from the ball you've curled up into on the floor, //There's still time to get everything ready!//
You've got a good point. You've gotten yourself out of worse situations than this. And also put yourself into situations far, far worse situations than those. Absolutely impossible, irredeemable situations.
But this probably isn't one of those! If you work efficiently, maybe you can still salvage this thing!
It's not like you have any other option. Let's find out exactly how quickly you can [[prepare a birthday party|Living Room]].<<if $timeleft > 0>>You're standing in the living room of your home. <<if not $decorations>>The walls are [[unadorned|decorate walls]], creating a sullen atmosphere.<<else>>The walls are decorated with streamers and a <<if $askew>>[[slightly-askew]] <<else>>perfectly straight <<endif>>"HAPPY BIRTHDAY" banner, creating a festive atmosphere.<<endif>> An <<if not $beverages>>[[empty punch bowl]]<<else>>gorgeous, inviting punch bowl<<endif>> sits in the middle of a <<if not $snacks>>[[long table, barren]] apart from a few piles of napkins<<else>>snack-laden table, piles of sweet and salty treats waiting to be [[consumed]]<<endif>>.
From here, you can travel to [[the kitchen]], [[the backyard]] or the [[computer room]].
You can also [[wait one minute]], [[wait five minutes]] or [[wait until eevee arrives]].<<else>><<display "eevee arrives">><<endif>><<if passage() == "Living Room" and $intro>>!eevee's run<<set $intro = false>><<endif>><<silently>>
<<if $timeleft > 33>>
<<set $hour = 12>>
<<set $minute = 93 - $timeleft>>
<<else>>
<<set $hour = 1>>
<<set $minute = 33 - $timeleft>>
<<endif>>
<</silently>><<if tags().contains("time") and not tags().contains("notime") and $timeleft > 0>>It is currently $hour:<<if $minute<10>>0<<endif>><<print $minute>>pm.
eevee arrives in $timeleft minute<<if $timeleft != 1>>s<<endif>>.
<</if>><<set $timeleft to 60>>
<<set $decorations to false>>
<<set $askew to true>>
<<set $beverages to false>>
<<set $snacks to false>>
<<set $castle_start = 99>>
<<set $castle_jam1 = -1>>
<<set $castle_jam2 = -1>>
<<set $castle_jam3 = -1>>
<<set $computer = false>>
<<set $wrapped = false>>
<<set $research = false>>
<<set $sass = false>>
<<set $cake1_start = 99>>
<<set $cake2_start = 99>>
<<set $cake1_status = "unmade">>
<<set $cake2_status = "unmade">>
<<set $cake1_doomed = false>>
<<set $cake2_doomed = false>>
<<set $oven = 99>>No, no, these plain walls simply won't do! Thankfully, putting up the decorations shouldn't take long. Are you going to [[decorate now]] or [[do something else first|Living Room]]?<<losetime 4>><<set $decorations to true>><<set $askew = true>>Rushing about a hammer in one hand and nails in your teeth, you quickly move between the four walls of the room, slamming in a nail and slapping the end of a steamer over it in smooth one-two motion.
Taking only a minute per wall, you hang the other end of your massive HAPPY BIRTHDAY banner to the wall. It's a few degress off straight, but you ignore the disgust in your soul to move onto [[more important tasks|Living Room]].The banner is almost perfect. It's off by an inch at most. You're not even certain which side is higher, really. You have [[far more important things to do|Living Room]].
YOU WANT TO [[FIX IT]] SO BADLY, THOUGH<<set $askew=false>><<losetime 15>>Okay, right, let's just tweak this thing a little bit. Just a tiny scooch. Just a nudge up on the left, and... hm, no, that's a bit much. A tiny bit on the right... oh, that's worse. Maybe you should adjust the left hook a bit...
...there! It's perfect! You feel so pleased with yourself!
Then you look at your watch and feel [[slightly less pleased with yourself|Living Room]].The punch bowl is empty, but thankfully, all you need to prepare it is fetch the punch from the kitchen. Do you want to [[do that now|prepare drinks]] or [[do something else first|Living Room]]?This table doesn't have a single sugary confection or salty comestible on it! What a tragedy. Thankfully, you have all the yummy snacks a birthday fox could ask for waiting to be unpacked in your garage.
Hauling them in might take a little time -- do you want to [[unpack them now]] or [[do something else first|Living Room]]?<<losetime 4>><<set $beverages = true>>You rush to the kitchen, retrieve the box of punch from the refrigerator, then haul it back to the living room. Carefully, you pour the beverage into the glass bowl, filling it to the brim.
Then, with supreme care, you place the plastic ladle into the ruby concoction. The liquid swells... and stays in the bowl, thanks to the magic of surface tension. Flawless.
A minute each for the trip there, the trip back, the pouring and the ladle. Not bad. [[What's next|Living Room]]?<<losetime 8>><<set $snacks = true>>You make several trips back and forth from the garage to your living room, hauling as many snack packets as you can carry. Then it's just a matter of arranging them in pleasing geometric patterns across the table: a snowflake of snickers, a fractal of fudge. It takes you nearly nine minutes, but presentation counts.
Yes. Glorious. This room smells less healthy already. Hopefully the airborne sugar will help speed you to [[your next task|Living Room]]....
They're just sitting there... out in the open... no one's looking...
You should probably just [[leave them there|Living Room]], but... surely [[one]] couldn't hurt, right?<<losetime 1>>Okay, ONE, that's it.
You pluck a single chocolate bonbon from its place and indulge.
Yummmmmmmmm. So worth it.
Now, [[back to work]]!You're standing in the living room of your home. The walls...
No. Wait. Taking that piece of candy messed up your pattern. You have to [[fix it|fix the candy]] first before anything else.You nudge the pieces about, closing up the gap, adjusting the other arms as necessary to maintain radial symmetry.
There we go. That didn't take //too// long. Now you can get [[back to work|Living Room]] properly!<<if $timeleft > 0>>Here you are, in your kitchen. You've got a bunch of stuff in here: [[a refrigerator]], [[a cabinet]], [[an oven]], <<if $ingredients_out>>[[cake ingredients]], <<endif>>the works. <<if $cake1_status == "prepared" or $cake2_status == "prepared">>Your beautiful, [[unbaked cake]] is sitting on the counter as well. <<elseif $cake1_status == "winged" or $cake2_status == "winged">>Your unbaked... [[cake|unbaked cake]]... is sitting on the counter as well. <<endif>>So, what are you going to do with it all?
Or you could just [[return to the living room|Living Room]].<<else>><<display "eevee arrives">><<endif>><<if $timeleft > 0>>This is your backyard. <<if $castle_jam1 == -1>>The only thing to do out here is enjoy the fresh outdoors. The fresh outdoors and the BOUNCY CASTLE, that is!! What's a party without a bouncy castle, after all?
The bouncy castle isn't currently inflated, though. Maybe you should [[do that now|bc instructions]].<<else>><<if $castle_jam1 >= $timeleft>>It is currently dominated by a bouncy castle which is in the process of... wait, what's that sound? The castle only looks about a third of the way inflated. Is it [[jammed|jam1]]?? You should take care of that!<<else>><<if $castle_jam2 >= $timeleft>>It is currently dominated by a bouncy castle which is in the process of... wait, what's that sound? The castle only looks about two-thirds of the way inflated. Is it [[jammed AGAIN|jam2]]?? Looks like you're going to have to take care of it AGAIN!!<<else>><<if $castle_jam3 >= $timeleft>>It is currently dominated by the lofty walls and towering turrets of the most glorious bouncy castle you've ever seen in your life. Hmm. Maybe you should [[give it a test bounce]] before eevee arrives...<<else>>It is currently dominated by a bouncy castle which is in the process of being inflated. You could stand here and watch it inflate!<<endif>><<endif>><<endif>><<endif>>
Or you could [[head back inside|Living Room]].<<else>><<display "eevee arrives">><<endif>><<if $timeleft > 0>>You are standing in your computer room. Ah, your computer room. Your entirely white room which has a computer directly in the middle of it. Someday, they may make a computer which moves between rooms, but for now, this is as good as it gets.
<<if not $computer>>Your computer can do many amazing things, but you need to [[turn it on]] first.<<else>>Your computer can do many amazing things!<<if not $research>> It can be used to [[research cake recipes]]!<<endif>> You could [[make a game]] with it! <<if not $sass>>It can also be used to [[argue with anonymous strangers on the internet]]. <<endif>>And many more things besides, probably!<<if not $wrapped>>
Oh, while you're in here, you should probably [[wrap eevee's present]], too.<<endif>><<endif>>
In addition to a computer, this room also has [[a door back to the living room|Living Room]].<<else>><<display "eevee arrives">><<endif>><<losetime 1>>Okay. You stare off into space for a moment. It's relaxing.
<<silently>>
<<if $timeleft > 33>>
<<set $hour = 12>>
<<set $minute = 93 - $timeleft>>
<<else>>
<<set $hour = 1>>
<<set $minute = 33 - $timeleft>>
<<endif>>
<</silently>>It is currently $hour:<<if $minute<10>>0<<endif>><<print $minute>>pm.
eevee arrives in $timeleft minute<<if $timeleft != 1>>s<<endif>>.
<<display "Living Room">><<set $timeleft = 0>>Okay. You stare at the ceiling, waiting for the doorbell to wake you from your reverie.
[[...|eevee arrives]]<<if $timeleft == 0>>Right on time, you hear the fateful "ding dong" of the doorbell. Time's up!<<else>>As you set about your task, you hear the fateful "ding dong" of your doorbell. Time's up!<<endif>>
You rush to the front door in time to [[greet eevee]] as she arrives.This castle holds about 1,000 liters of air; so if you want it inflated in time for the party, you better start now.
Grabbing the nearest air nozzle, you take a deep breath, bring your lips to the plastic, and blow, and blow, [[and blow]]...<<losetime 3>><<set $castle_jam1 = $timeleft - 14>>Just kidding. You've got a machine to inflate this thing for you. Obviously.
You connect the air pump to the castle and take a moment to read the packaging. According to this, it'll take about 45 minutes to fully inflate the castle. <<if $timeleft >= 45>>Wow, that's convenient!<<else>>Oh... well, a partially-inflated castle is still better than no castle at all, you suppose.<<endif>>
Well, looks like you can [[get other things done|the backyard]] while this thing works its magic. What could go wrong?<<losetime 1>><<set $castle_jam2 = $timeleft - 14>><<set $castle_jam1 = 0>>Son of a gun, the air pump jammed! You hit the reset switch, clearing the jam instantly. <<if $timeleft > 30>>At least you caught it in time, phew.<<else>>It doesn't look like it'll get finished on time... but at least you tried, right?<<endif>>
Enough worrying about this, [[back to work|the backyard]]!<<losetime 5>>You stop to find some interesting patterns in the wood grain on the table. Neat.
<<silently>>
<<if $timeleft > 33>>
<<set $hour = 12>>
<<set $minute = 93 - $timeleft>>
<<else>>
<<set $hour = 1>>
<<set $minute = 33 - $timeleft>>
<<endif>>
<</silently>>It is currently $hour:<<if $minute<10>>0<<endif>><<print $minute>>pm.
eevee arrives in $timeleft minute<<if $timeleft != 1>>s<<endif>>.
<<display "Living Room">><<losetime 1>><<set $castle_jam3 = $timeleft - 15>><<set $castle_success = $castle_jam3 >= 0>><<set $castle_jam2 = 0>>Unbelievable! The pump jammed //again//! You toggle the reset switch, once more clearing the jam. <<if $timeleft > 15>>It's incredibly lucky that you managed to catch it in time not just once, but twice.<<else>>You'd like to believe it'll still be ready in time, but at this rate...<<endif>>
You simply do NOT have time to be participating in jams like this. Not that this particular jam wasn't important to you, but it had better be the last jam you participate in for a while. Anyway, [[back to work|the backyard]]!Sure, the castle has been certified by over a dozen different independent safety agencies. And sure, the average eevee weighs, what, 6.5kg (according to trusted Pokémon internet resource <a href="veekun.com">veekun.com</a>, at least), so it's not like she's going to pop it. You really have [[more important things to do|the backyard]].
But... surely [[one quick bounce]] couldn't hurt... <<losetime 5>>You're not doing this for fun, mind. You're doing it for safety. You can never be too safe.
WEEEEEEEEEEEEEEEEEE YAAAAAAAAAAAAAAAAAAAAAAY!!
Ha ha ha ha, okay. That was fun. Entirely irresponsible, but fun. [[Back to business|the backyard]].<<widget "losetime">><<silently>>
<<set $timeleft -= $args[0]>>
<<endsilently>><<endwidget>><<losetime 2>><<set $computer = true>>You push the custom-modded, water-cooled, LED-lit power button on your computer.
And then wait for it to start up.
It takes a minute.
Well, about a minute.
More like two minutes.
Is it slower these days? Feels like it used to be a minute, tops.
Forty-five seconds, if anything.
Well, you know, every time they update the OS...
[[Oh, it's done.|computer room]]That's right -- you were planning to bake a cake for eevee. That means knowing anything about baking a cake. Do you want to [[put in the time now]], or [[put it off until later|computer room]]?Okay... no, this is not a good use of your time.
And I don't just mean because of the whole "birthday speedrun" thing. I mean this is never, ever a good use of your time. There are better things to do with your life, such as literally any other thing you can think of.
Which is why you are going to [[not argue with anonymous strangers on the internet|computer room]]. You are going to [[close that tab|computer room]] right now. You are going to [[stop|computer room]], turn around, and walk away...
...oh... but that argument has such an obvious, glaring error in it. It is //so// obvious! No one could ignore an error that obvious, if only it was [[pointed out to them]].
But that's for someone else to do, right? You're [[not going to waste your time|computer room]]. You're going to [[get back to preparing the party|computer room]]. Right [[now|computer room]]....okay, just, quickly quickly, dash out a quick rebuttal and go. One minute, tops. Just slam out your thought, then walk away, and whoa they responded already.
They don't get it. Well, you're pretty sure they don't get it, most of this response is about irrelevant nonsense. You can't let them get away with that, or else they might assume they're right. Just... [[respond real quick]]...<<losetime 20>><<set $sass=true>>...
...shit, what time is it??
Fuck, fuck, how deep is this thread now?? How did you end up three topics removed from the original post?? How does this rando have so many reaction gifs of Leonardo DiCaprio to sass you with??
[[Get back to work|computer room]]!!Excuse me?
You want to make a game? Right //now//?
I'm sorry, but you must out of your mind. Do you think games just //happen//? Do you think you can just sit down and magically whip up a game on a whim? That just anyone can set a variable and later print that variable to the screen, using the "set" and "print" commands? That you really have time to design the game, write the text, program the code, then playtest and thoroughly debug every possible action the user might conceivably undertake, all in <<print timeleft>> minutes??
It's clear to me you have no idea how many days of subway rides and lunch breaks go into game development. Like... four, //at least//.
I'm not even going to waste my time creating a useless option where you [[waste your time]] instead of getting the party ready. [[Back to work|computer room]] with you.<<losetime 3>><<set $wrapped=true>>Oh, good idea. Better wrap eevee's present before she arrives.
You open a new finder window, right-click on the source code for this game and click "zip" from the context menu.
Then you spend about three minutes selecting a nice compression scheme for her. Ooh, look, this one just happens to put a "133" near the beginning of the compressed file! You bet she'd get a kick out of that.
Beautiful. You can't wait to see the look on her face when you give it to her. But for now, there's a [[party to prepare|computer room]]!//GODDAMNIT//
But seriously neither of us has time for this, [[back to work|computer room]]<<losetime 5>><<set $research = true>>Right. This seems like a task you should do early on. Can't imagine you'll be able to get too far down the critical path without it.
You set about hunting through Google search results for quick-and-easy cake recipes. Given the importance of this task, you manage to avoid doing that thing where you ironically spend more time doing research than you end up saving, possibly for the first time ever. However, you do end up opening 89 tabs, which you decide to leave open in their own window. Just in case.
At last, you find the perfect recipe! Hm, how are you going to get this recipe into the kitchen where you need it? Ah, of course: you snap a photo of the screen with your cellphone. Nice.
So, [[back to work|computer room]]!This is where you put food when you're not using it.
[[Cool|the kitchen]].
<<if $dumbjoke>>Ha ha, "cool". I just got that.<<endif>><<set $dumbjoke = true>><<if not $ingredients_out>>You pull open your cabinet, which you use exclusively to house cake ingredients. There's probably other things you could add to it, but what's the point of things that can't be turned into cake?
Cake is great. You wish you could be cake sometimes.
Anyway, I'm guessing you want to [[pull them out]]. Or would you rather just [[close the cabinet door|the kitchen]]?<<else>>Your cabinet is empty. Devoid of cake ingredients, it has been denied its purpose.
[[Close the door|the kitchen]] before your heart breaks.<<endif>><<if $oven == 99>>This is your oven. It makes things hotter. But to achieve this, though, it must first become hot //itself//. There's probably a lesson here, if you squint hard enough.
But there's no time for philosophical relevations at present. If you want to have a cake baked on time, you should probably start [[pre-heating it now]].<<elseif $oven < $timeleft>>The oven is still pre-heating. It'll be another <<print $timeleft - $oven>> minutes.
[[Go away|the kitchen]] now. Come back later.<<elseif $cake1_status == "oven" or $cake2_status == "oven">>This is your oven. It is currently baking a cake for you!
Would you like to [[remove the cake]], or [[leave it in]] there?<<else>>This is your oven. It is currently baking a cube of air the exact shape of its inside. Or was, until you opened the door and let some of that air out. Nice going.
In any event, there's nothing for you to do with your oven right now. Maybe [[go do something else|the kitchen]]?<<endif>><<set $ingredients_out = true>>With one arm, you sweep all the ingredients out of the cabinet and onto the kitchen counter. Slick!
Too bad no one else was in [[the kitchen]] to see that.<<if $cake2_status != "unmade">>That's enough cake-baking for now, don't you think? There's more to a party than cakes.
...
Well... that's not technically accurate, but for the purposes of this game, [[let's do something else|the kitchen]].<<elseif ["winged", "prepared", "oven"].contains($cake1_status)>>Hang on, one cake at a time is plenty. You've got enough to juggle as it is! Maybe take care of [[some other task|the kitchen]], first.<<elseif not $research>>Alright, let's get to it! Let's make a cake!
First, you...
...
...oh no. Despite what your cake ingredient hoard might suggest, you actually have no idea how to bake a cake. This could be a problem.
Are you going to [[give up|do it later]], or [[wing it]]?<<else>>Alright, let's get to it! Let's make a cake!
You pull up the photo of your computer screen displaying the cake recipe on your phone, taking just a moment to appreciate your own ingenuity again. Hm. Looks like it'll take about 10 minutes to prepare the cake for baking. Do you want to [[go ahead]] or [[do it later]]?<<endif>><<losetime 10>><<if $cake1_status == "unmade">><<set $cake1_doomed = true>><<set $cake1_status = "winged">><<else>><<set $cake2_doomed = true>><<set $cake2_status = "winged">><<endif>>Okay, that's fine. You might not know how to bake a cake; but you're pretty confident you can figure it out how you go. You're smart, and really, how hard can be it?
...
...well, that's... an interestingly shaped lump...
...
...uh... eggs don't normally do that, right?
...
...hm. You're done, it looks like. Which is to say, there's probably nothing more you should do.
[[Take a step back|the kitchen]].<<losetime 10>><<if $cake1_status == "unmade">><<set $cake1_status = "prepared">><<else>><<set $cake2_status = "prepared">><<endif>>Confidently squinting at your phone, you go about preparing the cake with your free hand.
Flour!
Sugar!
Pinch of salt!
Eggs!
Butter!
More things that go into a cake!
It's... it's beautiful. You're going to need some more room to appreciate your creation.
[[Take a step back|the kitchen]].That's sensible. You can always come back to it <<if not $research>>when you're more prepared<<else>>when you're ready<<endif>>. Back to [[the kitchen]] passage with you.<<set $oven=$timeleft - 30>><<losetime 1>>You turn on the oven. This thing takes about half an hour to preheat.
Yes, you heard me right. A full 30 minutes just to preheat it.
You know, not withstanding all the incredible epiphanies this thing has provided you, it really is a piece of junk. You keep meaning to replace with something more reliable and less profound. For now, there's nothing you can do but wait. Or rather, rush around getting [[other things done|the kitchen]] in the meantime.<<if $oven < $timeleft>>You've got a cake here. And an oven.
But not a hot oven. And that's a pity. <<if $oven == 99>>Maybe you should [[attend to that first|the kitchen]].<<else>>Seems like it's still warming up.
Find [[something else to do|the kitchen]].<<endif>><<else>>You've got a cake here. And a pre-heated oven.
Huh.
What a crazy coincidence.
Geez. That's the kind of thing that'll stick in your head as you go about [[doing other things|the kitchen]]. I mean, what are the odds, right?
...
...oh! Did you want to [[put the cake into the oven]]?<<endif>><<if $cake1_status == "winged" or $cake1_status == "prepared">><<set $cake1_status = "oven">><<set $cake1_start = $timeleft>><<else>><<set $cake2_status = "oven">><<set $cake2_start = $timeleft>><<endif>>Right! You put the cake in the oven.
The recipe said the cake will take 8-12 minutes to bake. You make a mental note to return in that time period to take the cake from the oven. Or maybe you make a [[physical note]] instead. I don't know what kind of player you are. Whatever works for you; just don't fuck up this cake.
So, what are you going [[to do|the kitchen]] in the meantime?IF YOU ACTUALLY TAKE PHYSICAL NOTES PLEASE TAKE A PHOTO AND SEND THEM TO ME
I MEAN DON'T DO IT JUST BECAUSE YOU READ THIS PASSAGE OR ANYTHING, BUT IF YOU WERE GOING TO ANYWAY...
Uh anyway I'll let you get [[back to the game|the kitchen]].It's time, you've decided. Let's see how you did. You remove the cake from the oven, and...
<<if $cake1_status == "oven">><<if $cake1_doomed>>Oh. Oh no. This cake is awful. You thought this was going to be a learning experience. The only thing you have learned is that you do not know how to make cake. Next time, you tell yourself, you will heed the warnings of all the cake bakers who have proceeded you. But there is nothing you can do for this cake. It is doomed.
<<display "cake fail">><<elseif $cake1_start - $timeleft < 8>>Oh. Oh no. This cake is awful. You have pulled it out too soon. It turns out there is no such thing as an any% speedrun for a cake; you must take the time to do it properly. Your desire to hew to this game jam's theme has cost you dearly.
<<display "cake fail">><<elseif $cake1_start - $timeleft > 13>>Oh. Oh no. This cake is awful. You have waited too long to pull it out. In attempting to juggle too many things at once, you have dropped the most delicious, most tasty ball of the entire metaphor. And now you have a ball on the floor, which is to say, a ruined cake. You feel even stupider than the presentation of this metaphor.
<<display "cake fail">><<else>><<set $cake1_status to "perfect">>Oh. Oh my god. This cake is perfect. You've done it. You've baked a cake. I'm so proud of you!
This is no time to rest on your laurels, but... good job. I know she's going to love it. Let's see if you can do just as good a job with [[everything else|the kitchen]]!<<endif>><<else>><<if $cake2_doomed>>Oh. Oh no. This cake is awful. Somehow, it's worse than the previous cake. You are further away from knowing how to make a cake than when you started. And given how bad the first cake was, that didn't even seem possible. Well, it turns out, with enough bloody-mindedness, it is possible to really, //truly// fuck up a cake.
<<display "cake fail">><<elseif $cake2_start - $timeleft < 8>>Oh. Oh no. This cake is awful. You have pulled it out too soon. It turns out there is no such thing as an any% speedrun for a cake; you must take the time to do it properly. Your desire to hew to this game jam's theme has cost you dearly.
<<display "cake fail">><<elseif $cake2_start - $timeleft > 13>>Oh. Oh no. This cake is awful. You have waited too long to pull it out. In attempting to juggle too many things at once, you have dropped the most delicious, most tasty ball of the entire metaphor. And now you have a ball on the floor, which is to say, a ruined cake. You feel even stupider than the presentation of this metaphor.
<<display "cake fail">><<else>><<set $cake2_status to "perfect">>Oh. Oh my god. This cake is perfect. You've done it<<if $cake1_status == "perfect">> again! You've baked TWO cakes. That's AWESOME!!
eevee is going to be absolutely over the moon with her two cakes. That's so thoughtful of you.
But for now, time's running out! If there's [[anything else you wanted to do|the kitchen]], do it quick!<<else>>! You've baked a cake! I'm so proud of you! That first one might've gone awry, but this one is gorgeous!
This is no time to rest on your laurels, but... good job. I know she's going to love it. Let's see if you can do just as good a job with [[everything else|the kitchen]]!<<endif>><<endif>><<endif>>Sure thing, pal.
Back to [[the kitchen]] with you.<<if $cake1_status == "oven">><<set $cake1_status = "failure">><<else>><<set $cake2_status = "failure">><<endif>>Mournfully, you cram the entire cake into your mouth and force yourself to swallow the bitter fruits of your inadequate labors. The taste is bitter, and the cake rests heavy in your stomach; but not nearly as bitterly or as heavily as it rests in your heart.
Maybe next time you should try store-bought. For now, retreat to [[the kitchen]].<<losetime 30>>Okay. You do that.
<<display "Living Room">><<set $roomscore = $decorations + $snacks + $beverages>><<set $cakes = 0>><<if $cake1_status == "perfect">><<set $cakes += 1>><<endif>><<if $cake2_status == "perfect">><<set $cakes += 1>><<endif>>As she enters, eevee looks around the room. <<if $roomscore == 0>>"oh," she says, and that just about covers it.<<elseif $roomscore == 1>><<if $snacks>>"ah, nice, snacks," she says, helping herself to a piece that doesn't disrupt the radial symmetry (phew).<<elseif $drinks>>"looks like you put out drinks; i do love drinking things," she says.<<else>>"oh, you decorated!" she says.<<endif>><<elseif $roomscore == 2>><<if not $snacks>>"drinks and decorations!" she says, "that was sweet of you!"<<elseif not $drinks>>"ooh, how festive!" she says, looking around the room.<<elseif not $banner>>"hey, what a spread!" she says, looking up and down the table.<<endif>><<else>>"wow! you really went all out!", she exclaims. It's true, you actually managed to make something special of this room. Nice job!<<endif>>
<<if $roomscore == 0>>"Well, it's not about the decorations or the snacks, right? A party is really about the bouncy castle!" you try. <<if $castle_success>>eevee nods solemnly at this. It seems she might agree. <<else>>
"you set up a bouncy castle?" she asks.
"Well... no, not yet. But I //rented// one," you explain weakly. "It'll be ready later." Oof. Not doing so great.<<endif>><<elseif $roomscore == 1 or $roomscore == 2>>"There's also a bouncy castle out back!" you add. <<if $castle_success>>
"hooray!" eevee exclaims.<<else>>
"really, a bouncy castle?" she asks.
"Well... not an inflated bouncy castle. Not yet. But... later?" you explain weakly. It feels a bit disappointing to admit.<<endif>><<else>>"Plus," you add casually, "bouncy castle." <<if $castle_success>>
"no way!" eevee exclaims. You are nailing this.<<else>>
"that's awesome, let's go now!" she exclaims.
"Well... I mean, it's not //quite// ready yet. But soon!" you hastily add. Dang, and you were doing so well, too.<<endif>><<endif>>
<<if $cakes == 0>>"So, what do you think?" you ask. eevee says nothing, but you swear, somehow, that you can feel a hole in her soul. A cake-shaped hole. How could you have let it get away from you? You pledge that, next time eevee's birthday comes around, you'll have something better than a cute little esolang script. I mean, a cake for her. Next time...<<elseif $cakes == 1>>"Plus..." you gesture towards the kitchen.
"oh, that cake looks great!" she says. And indeed, you can't help but be a little bit proud of your cake, rushed though it was. Still... no, never mind, It's nothing.<<else>>"Plus, I made..."
"you made /two/ cakes??" eevee exclaims happily.
"It's the only thing better than one cake!"<<endif>>
And with that, [[the party begins]]...Double-click this passage to edit it.FINAL SCORING
<<silently>>
<<set $points = 0>>
<<if $decorations>><<set $points += 1>><<endif>>
<<if $beverages>><<set $points += 1>><<endif>>
<<if $snacks>><<set $points += 1>><<endif>>
<<if $wrapped>><<set $points += 1>><<endif>>
<<if $castle_success>><<set $points += 5>><<endif>>
<<set $points += $cakes * 2>>
<<endsilently>><<if $decorations and $beverages and $snacks and $castle_success and ($cakes == 2) and $wrapped>>Wow. Holy cow. You did it. You did everything. You actually did every single possible thing. You set up the room perfectly, prepared the bouncy castle, made TWO cakes, and even found time to wrap eevee's present. <<if $timeleft >= 0>>And...
...the moment you've been waiting for...
...you did it in... <<print State.length>> moves!! I'm checking with our online server, (beep boop beep beep boop), and, yes, that's the new World Record!! CONGRATULATIONS!! Incredible, congratulations!
Your final score is: YOU ARE THE WINNER<<else>>But...
...I regret to inform you that you used more than your alloted time. I'm sorry, but I'm afraid that disqualifies you for a proper 100% WR run. Don't get me wrong, it's still amazing you managed to squeeze in everything, but next time, you gotta be ready to greet eevee at the door for this to count. Sorry!<<endif>><<elseif $points > 8>>You did a pretty great job! You did all the big stuff, or at least a solid mix of big and little things. I don't actually know for certain, the scoring system isn't that sensitive. You scored $points points. Does that mean anything to you? It looks pretty good to me!
The point, is maybe you didn't score all the points. Maybe there were things you wanted to do that you ran out of time for. Maybe there were things you tried to do that didn't turn out so well! That's not important. What's important is you did your best with the time you had. And isn't that the most important thing, please say yes?
Your final score is: VICTORY<<elseif $points > 3>>Hey, not bad! You did at least one big thing, or maybe just all the little things. I don't actually know, I don't have time to write that many branches for this bit. The point is: you didn't waste all the time you had available. That's pretty cool!
Your final score is: GOOD ENOUGH<<elseif $points > 1>>Sure, whatever.
Your final score is: EH<<else>>You ruined a birthday party. What do you want from me? Some funny response to that? I'm not going to reward you for ruining a birthday party! That's awful.
Your final score is: MORALLY BANKRUPT<<endif>>