<<set $header to "sugarcube epistolary/prose template">>
<p>This is the first text passage of the project. Press ''Q'' to access the widget guide at any time.</p>
<div class='choice choicebtn'>
<<button "Template Styles">><<goto [[Styles]]>><</button>>
<<button "Template Widgets">><<goto [[Widget Explanation]]>><</button>>
</div>// ADDRESS
<!-- Use to format an address. -->
<<widget "add">>
<p class="address">
<<for _i, _name range _args>>
_args[_i]<br>
<</for>>
</p>
<</widget>>
// DATE
<!-- This is a wrapper widget for writing dates (ex. for letters, journal entries, etc.). It requires opening and closing tags. -->
<<widget "date" container>>
<p class="date">
_contents
</p>
<</widget>>
// SIGNATURE
<!-- This widget styles signoffs/signatures.-->
<<widget "sig">>
<p class="sig">
<<if _args.length gt 1>>
_args[0]<br>
<span>_args[1]</span>
<<elseif _args.length is 1>>
<span>_args[0]</span>
<</if>>
</p>
<</widget>><div id="interface">
<div id="header" data-passage="Header"></div>
<div id="left" data-passage="Left"></div>
<div id="passages"></div>
<div id="right"></div>
<div id="footer" data-passage="Footer">footer</div>
</div> $header<<link '<i class="fa-solid fa-backward" title="Back"></i>'>>
<<run Engine.backward()>>
<</link>>
<!-- begin oobleck menu -->
<div class="nav-container">
<ul class="navMenu" id="nav">
<input type="checkbox" id="nav-menu" class="navMenuToggle" name="navMenuToggle" />
<li class=" nav-li ms-li5 ms-li-last">
<<link '<i class="fa-regular fa-floppy-disk" title="Saves"></i>'>>
<<run UI.saves();>>
<</link>>
</li>
<li class=" nav-li ms-li4">
<<link '<i class="fa-solid fa-power-off" title="Restart"></i>'>>
<<run UI.restart();>>
<</link>>
</li>
<li class="nav-li ms-li3">
<<link '<i class="fa-solid fa-code" title="Credits"></i>'>>
<<run Dialog.create("Credits").wikiPassage("Credits").open();>>
<</link>>
</li>
<li class="nav-li ms-li2">
<<link '<i class="fa-solid fa-gears" title="Settings"></i>'>>
<<run UI.settings();>>
<</link>>
</li>
<li class="nav-li ms-li1 ms-li-first">
<<link '<i class="fa-solid fa-book-bookmark"></i>'>>
<<if Dialog.isOpen("key")>>
<<run Dialog.close()>>
<<else>>
<<run Dialog.create("Quick Guide", "key").wikiPassage("Key").open();>>
<</if>>
<</link>>
</li>
<li class="nav-main">
<a>
<label class="navMenuToggle-lbl" for="nav-menu">
<span>Δ</span>
</label>
</a>
</li>
</ul>
</div>
<!-- end oobleck menu -->
<<link '<i class="fa-solid fa-forward" title="Forward"></i>'>>
<<run Engine.forward()>>
<</link>><ul>
<li>
Sugarcube Epistolary/Prose UI Template & Epistolary Formatting Widgets by <a href="https://lapinlunaire-games.neocities.org">Lapin Lunaire Games</a>.
</li>
<hr>
<!-- Add more credits below this line -->
<li>
Writing by Lorelei Nguyen
</li>
<!-- Your last credit should go above this line! -->
</ul>Press ''"Q"'' at any time to open/close this! ''M'' expands/collapses the menu discs and ''ESC'' closes an open dialog.
<hr>
<!--When using this template, you can change the contents of this passage to a character profile, stats page, achievements page, etc.-->
<p>
''**ADDRESS**''
<br>Use to format an address.
<pre>{{{
<<add "[Recipient Name]" "[Address Line 1]" "[Address Line 2]" ... "[Argument n]">>
}}}</pre>
</p>
<p>
''**DATE**''
<br>This is a wrapper widget for writing dates (ex. for letters, journal entries, etc.). It requires opening and closing tags.
<pre>{{{
<<date>>
[date]
<</date>>
}}}</pre>
</p>
<p>
''**SIGNATURE**''
<br>This widget styles signoffs/signatures.
<pre>{{{
<<sig "[Signoff (optional)]" "[signature]">>
}}}</pre>
</p><!--Set default value of text in [[Header]]-->
<<set $header to "for your eyes only">>
<!--Set default save file name-->
<<set $take to "Curtain Up">><!-- Do not remove the tags on this passage -->
<div id="titleCont">''<<include "Title">>''
<br><span id="tagline"><<include "Tagline">></span>
<p>By <<include "Author">></p>
<div id="splashLinks">
<<link "Start" "Start">><</link>> <span>✦</span>
<<if (Save.browser.auto.isEnabled() and Save.browser.auto.has()) or (Config.saves.maxSlotSaves gte 1)>>
<<link "Load">><<script>>UI.saves()<</script>><</link>> <span>✦</span> <</if>>
<<link "Settings">><<run UI.settings()>><</link>> <span>✦</span>
<<link "Credits">>
<<run Dialog.create("Credits").wikiPassage("Credits").open();>>
<</link>>
</div>
</div>What will you do if you have just one day left?Time After TimeLorelei Nguyen<<set $header to "sugarcube epistolary/prose template | widgets">><<set $take to 'Widgets'>>
<<date>>22 March 2024<</date>>
<p><<sig "Dear Reader,">></p>
<p>I married him.</p>
<p>Just kidding! The body of this letter is wrapped in {{{<p>}}} tags as usual. The date above is wrapped in <<{{{date}}}>> tags so the ''date'' macro handles its formatting.</p>
<p>Here’s an example of what the ''address'' widget looks like:</p>
<<add "Lapin Lunaire Games" "℅ Jinx" "123 Lunar Way" "Aristarchus NS 9256" "YUE">>
<p>Each line in the formatted return address is an argument given to the widget. The signature widget works the same way, by taking up to two arguments.
If two arguments are provided, the first is the signoff (“Cheers,”) and the second is the signature itself (“Jinx”). If only one argument is given, the widget will style it as a signature without a signoff (as seen in “Dear Reader” at the top of this letter).</p>
<<sig "Cheers," "Jinx">>
<hr>
<div class="choice choicebtn">
<<link "First Page" "Start">><</link>>
<<link "Template Styles" "Styles">><</link>>
</div><<set $header to "sugarcube epistolary/prose template | styles">><<set $take to 'Styles'>>
<h1>This is an h1 heading.</h1>
<h2>This is an h2 heading.</h2>
<h3>This is an h3 heading.</h3>
<h4>This is an h4 heading.</h4>
<h5>This is an h5 heading.</h5>
<p>This is ''bold text'', //italic text//, and __underlined text__. <<link "Here is an example of an inline (non-choice) link.">><</link>> Directly below this sentence is an <nowiki><hr></nowiki>.</p>
<hr>
<p>This template comes with default serif (Benne) font as well as sans serif (Montserrat Alternates), Open Dyslexic, and monospace (Courier Prime) options. To preview these options, open the menu (‘''M''’) or click the delta at the bottom of the page) and change the font style in the Settings Menu (<i class="fa-solid fa-gears"></i>).</p>
<p>You can also change the UI display theme in the Settings Menu. This minimalist screenplay-inspired template comes with two display themes (“Day” and “Night”). The colors for each are easily customizable through the CSS stylesheet’s variables (look for the section labeled with 🐇🌙🌸🌸🌸🌙🐇 emojis).</p>
<p>This template also comes with pre-styled choice links and two styling options for choice buttons. The buttons will resize/wrap automatically to fit. Simply create a div with the class “choice” and your links/buttons inside. If using buttons, you must also add the appropriate styling class (.choicebtn or .stack).</p>
<hr>
<p>You can use links to direct players...</p>
<div class="choice">
[[First Page|old_start]]
[[Widget Explanation]]
</div>
<p>Or buttons...</p>
<div class="choice choicebtn">
<<button 'First Page'>><<goto [[old_start]]>><</button>>
<<button 'Widget Explanation'>><<goto [[Widget Explanation]]>><</button>>
</div>
<p>Or another style of buttons...</p>
<div class="choice choicebtn stack">
<<button "First Page" "Start">><</button>>
<<button 'Widget Explanation'>><<goto [[Widget Explanation]]>><</button>>
</div>Hi! Thanks for downloading my Sugarcube Epistolary/Prose Template.
Below is a key to the colour-coded tags I've used to identify which passages should be edited with your own text, which are guides/references for the template's screenplay format widgets, and which should not be edited without deeper HTML/CSS/Twinescript familiarity.
I've tried to make the template as plug-and-play friendly as possible, but please don't hesitate to leave a comment on itch or contact me (https://lapinlunaire-games.neocities.org/contact/) if you have any questions and the code comments aren't quite getting you the info you need.
Happy Twining!
-Jinx
//---------------
TAG KEY
-----------------
"Guide" (BLUE)
Reference passage.
"Edit-This!" (GREEN)
Passages tagged "Edit-This!" contain text meant for you to change to your own project's information.
"No-Touchy!" (RED)
Editing not recommended without advanced HTML/CSS/Twinescript knowledge.<<set $header to "act 1">>
<<set $choices to []>>
<p>The end of the world came about a lot sooner than anyone was really expecting.</p>
<p>In the end, it all came down to simple human greed. Every nation pushed to have the best technology, the best weapons, the best of everything...even if that meant taking it from someone else.</p>
<p>It was almost <em>ironic</em> that we'd all meet the end of the world at the hands of zombies, too.</p>
<div class="choice">
[[I never believed in zombies->never]]
[[I always knew this would happen->knew]]
</div><<run $choices.push('neverbelieved')>>
<p>I never thought zombies could be real. Something about how grotesque they are was just too much. It was unscientific. But it turns out that science can do a lot [[more->scene1]] than anyone ever thought.</p><<run $choices.push('alwaysknew')>>
<p>All fiction has some basis in real life. So even when I was growing up and only saw zombies in movies and video games, I knew there had to be one out there somewhere...or that there would be someday.</p>
<p>The trouble is, [[someday actually came->scene1]]. I knew it was coming, knew it had to, but still.</p><p>Still, whether you believed in zombies or not, they took over the world. Now, about 95% of the world's population has turned into zombies. That's about 7.9 billion people gone...just mindless husks now out to eat or destroy everything.</p>
<p>That means there's about 415 million non-zombies left in the world. That sounds like a lot and yeah, it's not like I'm the last of humanity or anything, [[but it gets worse->scene2]].</p><p>You see, the zombie virus accidentally unleashed by the scientists hasn't just targeted humans.</p>
<p><em>Oh, no.</em></p>
<p>Dogs, cats, birds, even fish...they've all been zombified, too. Nature's being overtaken, one species at a time, and <em>those</em> have been primed over centuries to attack. You can see a person ambling towards you, but what are you supposed to do when a zombie seagull flies at your face? Scientists are now predicting that zombie plants will be a threat in the future, too. It's like the whole planet's out to get us.</p>
<div class="choice">
[[So we fled underground->underground]]
[[So we barricaded ourselves indoors->indoors]]
</div><<run $choices.push('underground')>>
<p>So humanity fled underground. We built bunkers with tunnels and guarded entrances. It was harder for zombies to infiltrate below ground. They seem to need at least <em>some</em> sunlight or they lose all function.</p>
<p>Problem is, so do we humans. Some of the underground cities built skylights--windows to the upper world. But those were easily broken and infiltrated, so it became a less popular option over time.</p>
<p>So every day we take turns going on missions to the surface to get supplies and some much-needed sunlight and vitamin D. Everyone ends up going once or twice a week...unless fear has eaten you up so much that you can't bear to go out.</p>
<p>But those types don't last down here.</p>
<p>I've been making it so far, doing my best to stay alive every day... [[But I don't know how much time I have left.->scene3]]</p><<run $choices.push('indoors')>>
<p>So most of the people left barricaded themselves indoors. Regular 'ol houses in the suburbs became fortresses with windows fortified with metal bars, doors with 20 locks, and cellars filled with emergency supplies.</p>
<p>The internet's still been working so far, so we're all in contact with each other, taking risks to leave our homes to trade for supplies or help out when someone just can't bear to fight off their brother-turned-zombie with their own hands.</p>
<p>It doesn't get any easier to deal with, and that's coming from <em>me</em> who has nothing left to lose. Zombies still look so very human, after all. Sometimes it's hard to tell right away that someone's a zombie, especially if they're newly-turned. It takes some time for their brain to shut down. I've almost gotten bitten a few times, but these days I don't let my guard down so much anymore.</p>
<p>Besides, people are just as vicious as the zombies. "There's 415 million of us left, but if there was just one less, that means I'd have more food...!" That's what some of them think. I've...</p>
<p>Well. Let's just say I've done some stuff I'm not happy about or proud of, but you have to do what it takes to survive out here. [[Even so, I don't know how much time I have left.->scene3]]</p><<set $header to "act 2">>
<<if $choices.includes('underground')>>
<p>I currently live in an underground city named Staplegrad. Why "Staplegrad"? I have no idea, but the words must mean something to someone. Last week, the mayor of our city, a guy named Marshall who used to fix antique clocks for a living, sent a group out on a mission as usual, but they never returned.</p>
<<if $choices.includes('neverbelieved')>>
<p>There were skeptics in that group, same as me. People like us...took longer to adjust to the apocalypse. Somewhere in our minds, we just wanted to believe that all this wasn't really happening. That if we just kept ignoring it, it would go away.</p>
<</if>>
<<if $choices.includes('alwaysknew')>>
<p>I don't know how this could have happened. Everyone in the group was prepared and had been on multiple missions before. We all know the stakes, knew zombies would be coming before the apocalypse actually came. Yet not one of them returned.</p>
<</if>>
<p>Scared of what this might mean, Marshall hasn't sent anyone out since then. But we're running out of food. People are getting antsy. And even I can feel myself weakening from the lack of sunlight.</p>
<p>[[So I volunteer to go.->volunteer]]</p>
<<else>>
<p>The house I live in now isn't the one I lived in before the world ended. I just ended up here. It's got two stories, so it's easier to be safe and see what's going on from above. I have two housemates--people I met in the last couple months who know their way around.</p>
<<if $choices.includes('neverbelieved')>>
<p>One of them's someone like me who didn't ever think this could happen...but we both learned better. Grace, her name is. She's a nurse, so maybe it was that medical science mind that kept her from accepting that the zombie apocalypse is upon us. The other housemate, Jordan, is ex-military, so he knew to always be prepared for anything.</p>
<</if>>
<<if $choices.includes('alwaysknew')>>
<p>Jordan is ex-military so, like me, he always knew to be prepared for anything that might happen. Apparently the military had exercises on what to do in case of a zombie apocalypse. Who knew their training would actually come in handy? Our other housemate, Grace, was a zombie skeptic. It took a few more months of this happening for her to accept our new reality. She knows better now, obviously, and her nursing skills still come in handy.</p>
<</if>>
<p>We've been doing alright for ourselves, all things considered. It's easier having only 3 mouths to feed, and our skillsets help. Oh, me? I'm a--[[wait, what was that noise?->investigate]]
<</if>><p>After seeing me volunteer, two other people shakily raise their hands to go, too.
<<if $choices.includes('neverbelieved')>>
It seems noble and maybe it actually is, but I know they actually just want first crack at whatever we find out there.
<<else>>
It's noble of them to volunteer like that...they didn't have to, after all. In this zombie-eat-everyone world, it's usually easiest to just keep your head down.
<</if>>
</p>
<p>We set out at first light, packs in hand. We're to look for supplies, especially food and anything that might have vitamin D in it. If we manage to raid an old CVS or something, that would be the motherload. Those multivitamins are real helpful when you live in underground tunnels.</p>
<p>Leaving from that particular exit from Staplegrad, I find myself in unfamiliar surroundings. The underground cities extend for miles and miles...and I don't think I've ever been in this area before on missions myself.</p>
<p>"Hey." I ask one of the other volunteers... Sam, I think her name is. "Have you been in this area before? Anything left that's worth checking out?"</p>
<p>Sam purses her lips. "I have... There's a Super Target that I don't think's been explored much. Problem is..."</p>
<p>"One of the overground colonies is barricaded nearby. [[They probably won't like us poking around->volunteer2]]," the other volunteer butts in.</p><p>"What's your name again?" I ask the guy who spoke up.</p>
<p>"Jay. I'm new. Just arrived in Staplegrad last week. ...Bad timing, I guess."</p>
<p>I nod. "Thanks for letting us know."</p>
<div class="choice">
[[I think it's still worth trying->try]]
[[I think we should give up then->notry]]
</div><<run $choices.push('try')>>
<p>"Still, I think we should still try. Surely they won't shoot us on sight or anything, right?" I press.</p>
<p>"Well... Probably not," Jay concedes.</p>
<p>So we approach the Super Target carefully. Sure enough, there's guards posted out front, armed and everything. I walk up slowly, my hands up and visible. The other two are behind me. Not sure when I became the leader, but eh.</p>
<p>"We're from...down below. Staplegrad. We're here for supplies, but also to see what might have happened to another group we sent about a week ago."</p>
<p>The guard's eyes narrow. "Staplegrad?" He turns to his buddy and the two whisper to each other. "Do y'all have any identifying things on you? Uniforms or anything?"</p>
<p>"I'm afraid not." I describe how some of the people who went on the last mission looked. The guard's face changes in obvious recognition, then clouds. No way he's about to give us good news.</p>
<p>"Right. Those descriptions ring a bell. I think they were part of a group that got attacked by zombies. We already put them out of their misery."</p>
<p>"And their belongings?" I ask.</p>
<p>"The guard shakes his head. "We already re-distributed everything. Sorry."</p>
<p>"No need to be sorry. I get it. We would've done the same. At least now we know. No survivors at all?"</p>
<p>"None that we found. If one of them got away, they'd be out there somewhere." he inclines his head to gesture to the area behind us.</p><<set $header to "end (to not try is to lose)">>
<<run $choices.push('notry')>>
<p>Since we have eyewitness testimony about how the place isn't safe, we should just gather resources from areas we have access to. "Let's just stay outside where they can see, then. We don't want any trouble with zombies <em>or</em> humans." The other two nod.</p>
<p>We look around for supplies and gather some berries and nuts and stuff, but everything else is contaminated. All the wildlife around here has already turned zombie and the buildings we have access to have either been fully ransacked or are guarded by colonists.</p>
<p>We make it back to Staplegrad basically empty-handed... Not exactly the Hail Mary mission everyone was expecting. The supplies are divvied up, but it's not enough to last us 2 days.</p>
<p>Marshall's disappointed, but he knows we did the best we could.</p>
<p>Staplegrad's time... <em>My</em> time...</p>
<p>It's coming to an <strong>end</strong>.</p>