,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,There once was a river named Never
near which a portentous endeavor
began with a crime
and ends with a climb -
or death, if you're not very clever.
$more[There once was a crook called $m[Mulana],
as dangerous as belladonna,
whose mastermind eyes
had tagged a grand prize:
a Fabergé egg - crime nirvana.
$more[There once was a cat burglar, $v[Verge],
the grappling-hooked egg-stealing scourge
of King Oaks Casino.
A stealthy neutrino,
she lifted the egg, then emerged.
$more[The egg, upon further description,
contained a small Russian inscription.
The two hopped a boat,
went east, bought a coat,
and now it is time for decryption.
$more[Идти к востоку от реки
Клад похоронено навеки
Копать в сквер
Я открою дверь
Раскрывая загадку ацтеки
<i>"Go to the east of the river,
The treasure is buried forever.
Dig in the square,
I will open the door,
revealing the Aztec enigma."</i>
$more[To seek out the square is the way;
you scrutinize all you survey.
You brandish your whip
and your shovel's steel tip.
(set: $choice to "Select from this dropdown to play.") \
|play>[(dropdown: bind $choice, "Select from this dropdown to play.", "Forever comes early this day.", "The world is your treasure buffet.", "\"I look rather dashing,\" you say.", )]
|begin>[]
\
(live: 0.2s)[ \
(if: $choice is not "Select from this dropdown to play.")[ \
(replace: ?begin)[(begin)] \
(stop:) \
]] \
\
(click: "(begin)")[ \
(set: $isIntro to false) \
(goto: "Riverbank") \
]]]]]]{
<!-- Styles -->
(set: $titlecard to (css: "font-size: 500%; line-height: 100%; text-align: center;"))
(set: $act to (css: "font-size: 200%; line-height: 100%") + (text-style:'bold') + (align:"=><="))
(set: $subact to (css: "font-size: 150%; line-height: 100%") + (align:"=><="))
(set: $introducing to (css: "font-size: 150%; line-height: 100%") + (align:"=><=") + (t8n: "slide-left"))
(set: $itemstyle to (color: yellow) + (css: "font-weight: bold;"))
(set: $item to (t8n: "dissolve") + $itemstyle)
(set: $size to (color: orange) + (css: "font-weight: bold;"))
(set: $weight to (color: red) + (css: "font-weight: bold;"))
(set: $small to (css: "font-size: 60%;"))
(set: $locStyle to (css: "font-weight: bold;"))
(set: $bam to (t8n: "rumble"))
(set: $rumble to (text-style: "rumble"))
(set: $shudder to (text-style: "shudder"))
<!-- Sugar -->
(set: $xxx to "(color: #555)[`___`]")
(set: $inv to "|inv>[(color: yellow)[''`[___]`'']]")
(set: $invbull to "<br>- ")
(set: $knapsackContents to (display: "INV"))
(set: $initializePuzzle to (display: "5 initialize puzzle"))
(set: $initializeVariables to (display: "10 initialize variables"))
(set: $confirm to (link: "(confirm)"))
(set: $loc to (replace: ?loc))
(set: $displayThreadNumber to (display: "thread number"))
(set: $end to (display: "END"))
(set: $endingWords to "Too bad!")
(set: $knapsack to (display: "knapsack"))
(set: $mineWheel to (display: "minecart wheel of fortune 1"))
(set: $mineWheel2 to (display: "minecart wheel of fortune 2"))
<!-- Colors -->
(set: $m to (color: "#90EE90"))
(set: $v to (color: magenta))
(set: $b to (color: "#777777")) <!-- boulder -->
<!-- Names -->
(set: $Mulana to "Mulana")
(set: $Mulanas to "Mulana's")
(set: $Verge to "Verge")
(set: $Verges to "Verge's")
<!-- Minecart -->
(set: $minecartTimings to (a:
(a: .8),
(a: .5, .8),
(a: .6, 0, .8),
(a: .6, 0, .3, .8),
(a: .6, 0, .4, .2, .8),
(a: .6, .2 ,.5 ,0, .4, .8),
(a: .5, .3, .6, .1, 0, .4, .8)))
}{
<!-- Header -->
(set: $isIntro to true)
(set: $isCutscene to false)
(set: $isEpilogue to false)
(set: $party to "$m[Mulana], $v[Verge]")
<!-- Inventory -->
(set: $hasEgg to true) (set: $invHeistLoot to false)
(set: $hasWhip to true) (set: $invCat to false)
(set: $hasShovel to true) (set: $invDigger to false)
(set: $brokeShovel to false)
(set: $hasNoTea to true) (set: $invChai to false)
(set: $hasGear to false)
(set: $hasCoil to false) (set: $invSpring to false)
(set: $hasKey to false) (set: $invDevice to false)
(set: $hasGin to false) (set: $invSchnapps to false)
(set: $hasPotions to false) (set: $invDraughts to false)
(set: $hasThread to false) (set: $invString to false)
(set: $threadNumber to 0)
(set: $hasTreasure to false) (set: $invTombLoot to false)
(set: $hasSchist to false) (set: $invGneiss to false)
(set: $contains to "contains")
(set: $withthis to "with this")
(set: $cryptic to "cryptic ")
(set: $decree to "decree")
<!-- Compass -->
(set: $exitCount to 0)
(set: $n to "LOCATION IS ERROR")
(set: $w to "LOCATION IS ERROR")
(set: $e to "LOCATION IS ERROR")
(set: $s to "LOCATION IS ERROR")
(set: $isDoomNigh to false)
<!-- Debug -->
(set: $debug to false)
}{
You look through your knapsack and see:
|INV_EGG>[AN ERROR OCCURRED WITH THE EGG]
|INV_KEY>[AN ERROR OCCURRED WITH THE KEY]
|INV_EARLYGIN>[AN EARLY OCCURRED WITH THE GIN]
|INV_TREASURE>[AN ERROR OCCURRED WITH THE TREASURE]
|INV_WHIP>[AN ERROR OCCURRED WITH THE WHIP]
|INV_SHOVEL>[AN ERROR OCCURRED WITH THE SHOVEL]
|INV_GEAR>[AN ERROR OCCURRED WITH THE GEAR]
|INV_COIL>[AN ERROR OCCURRED WITH THE COIL]
|INV_TEA>[AN ERROR OCCURRED WITH THE TEA]
(unless: $isEpilogue)[
|INV_SECOND_STANZA>[AN ERROR OCCURRED, SECOND STANZA]
|INV_GIN>[AN ERROR OCCURRED WITH THE GIN]
|INV_THREAD>[AN ERROR OCCURRED WITH THE THREAD]
|INV_POTIONS>[AN ERROR OCCURRED WITH THE POTIONS]
|INV_SCHIST>[AN ERROR OCCURRED WITH THE SCHIST]
|INV_MY_COIL_IS_STRETCHED>[AN ERROR WHILE STRETCHING THE COIL]
]
(set: $cryptic to "cryptic ")
(set: $decree to "decree")
(set: $contains to "contains")
(set: $withthis to "with this")
<!-- egg + key (?INV_EGG is handled later) -->
(if: $hasEgg)[
(set: $the_egg to "the ")
(if: $hasKey)[
(unless: $invDevice)[
(set: $cryptic to "") (set: $decree to "riddle")
]
(replace: ?INV_KEY)[<br>- [a ]<some_key|[key]<key|]
]
(unless: $hasKey)[
(replace: ?INV_KEY)[]
]
]
<!-- whip -->
(if: $hasWhip)[
(replace: ?INV_WHIP)[<br>- [your ]<your_whip|trusty ol' [whip]<whip| (hooked onto its clip)]
]
<!-- shovel -->
(if: $hasShovel)[
(replace: ?INV_WHIP)[<br>- [your ]<your_whip|trusty ol' [whip]<whip|]
(replace: ?INV_SHOVEL)[<br>- a [shovel]<shovel| (steel tip)]
]
(unless: $hasShovel)[(replace: ?INV_SHOVEL)[]]
<!-- treasure -->
(if: $hasTreasure)[
(replace: ?INV_TREASURE)[<br>- [the ]<the_treasure|[treasure]<treasure|]
(replace: "trusty ol' ")[]
]
(unless: $hasTreasure)[(replace: ?INV_TREASURE)[]]
<!-- tea / no tea -->
(if: $hasNoTea)[
(replace: ?INV_TEA)[<br>- alas, a distinct [lack of tea]<notea|]
]
(unless: $hasNoTea)[
(replace: ?INV_TEA)[<br>- and finally, [one cup of tea]<tea|]
]
<!-- gear/coil -->
(if: $hasGear or $hasCoil)[
(if: $hasGear)[
(replace: ?INV_GEAR)[<br>- a [gear]<gear| (old and battered)]]
(if: $hasCoil)[
(if: $isBouldered)[
(replace: ?INV_COIL)[<br>- a [stretched coil]<coil| (quite old), and]]
(else:)[
(replace: ?INV_COIL)[<br>- a [coil]<coil| (old and rusty)]]
]
(if: $hasNoTea)[
(replace: ?INV_TEA)[<br>- [no tea]<notea|] <!-- otherwise it thinks I'm trying to attach <br>- to the ?notea hook -->
]
(else:)[
(replace: ?INV_TEA)[<br>- some [tea]<tea|]
]
]
(unless: $hasGear)[
(replace: ?INV_GEAR)[]
]
(unless: $hasCoil)[
(replace: ?INV_COIL)[]
]
<!-- no second stanza -->
(if: (!$hasPotions) and (!$hasThread))[
(replace: ?INV_SECOND_STANZA)[]
(replace: ?INV_GIN)[]
<!-- early gin -->
(if: $hasGin)[
(replace: ?INV_EARLYGIN)[<br>- some [gin]<gin|]
(if: $hasTreasure)[
<!-- tightest squeeze -->
(replace: ?INV_TREASURE)[<br> - [treasure]<treasure|]
(replace: ?INV_WHIP)[<br>- [whip]<whip|]
]
(else:)[
(replace: "your trusty ol'")[your ol']
]
]
(else:)[
(replace: ?INV_EARLYGIN)[]]
]
<!-- second stanza -->
(if: $hasPotions or $hasThread)[
(replace: ?INV_SECOND_STANZA)[<br><br>And let us continue the list:]
(replace: ?INV_EARLYGIN)[]
<!-- late gin -->
(if: $hasGin)[
(replace: ?INV_GIN)[<br>- a bottle of [gin]<gin| (won't be missed)]]
(else:)[
(replace: ?INV_GIN)[]]]
<!-- thread -->
(if: $hasThread)[
(replace: ?INV_THREAD)[<br>- (unless: $hasGin)[an item that will not be missed: ] the [$displayThreadNumber thread]<thread| (retrieved from the dead)]]
(unless: $hasThread)[
(replace: ?INV_THREAD)[]]
<!-- strength potions -->
(if: $hasPotions)[
(if: $hasGin and (!$hasThread))[
(replace: ?INV_POTIONS)[<br>- [strength potions]<potions| (required to note they're expired, in case they don't (if: $hasSchist)[function](else:)[work and you're pissed])]]
(if: (!$hasGin) or $hasThread)[
(replace: ?INV_POTIONS)[<br>- some [strength potions]<potions| (if: $hasSchist and ($hasGin or $hasThread))[(powerless)](else:)[(marked with a fist)]]]]
(unless: $hasPotions)[
(replace: ?INV_POTIONS)[]
(replace: "retrieved from the dead)")[retrieved from the dead, hand-woven with triplicate twist)]]
(unless: $hasThread)[
(replace: "(marked with a fist)")[(marked with a fist) (it's also required to note they're expired, in case they don't work and you're pissed)]]
<!-- schist -->
(if: $hasSchist)[
(if: $hasThread)[
(replace: ?INV_SCHIST)[<br>- [schist]<schist|] <!-- otherwise it thinks I'm trying to attach <br>- to the ?schist hook -->
(unless: $hasPotions)[
(replace: "with triplicate twist")[in triplicate]]
]
(unless: $hasThread)[
(replace: ?INV_SCHIST)[<br>- some [schist]<schist|]
(if: $hasGin)[
(replace: "some strength")[strength]]
(replace: "powerless")[required to note they're expired, in case they don't function]
(replace: "work and you're pissed")[function]
]]
(unless: $hasSchist)[
(replace: ?INV_SCHIST)[]]
<!-- hey, my coil is stretched -->
(if: $hasCoil and $isBouldered and (not $hasSeenStretchedCoil))[
(set: $hasSeenStretchedCoil to true)
(replace: ?INV_MY_COIL_IS_STRETCHED)[<br><br>You look at $Verge over your shoulder.\
<br>$m["My coil is stretched out now!"] you scold her.\
<br>$v["You wound me with doubt!\
<br>It must have stretched out\
<br>while we were escaping that boulder."]]]
(else:)[
(replace: ?INV_MY_COIL_IS_STRETCHED)[]
]
<!-- AZTEC ENIGMA THESAURUS -->
<!-- the hard ones -->
(if: $invDevice)[
(replace: "You look through your knapsack and see:")[You've:]
(set: $the_egg to "")
(replace: ?INV_KEY)[<br>- [some]<some_key| [opening-doors-type debris]<key|]
]
(if: $invCat)[
<!-- instead of treasure whip shovel coil tea, we'll go whip coil treasure shovel tea, so we can rhyme tail with frail -->
(replace: ?INV_TREASURE)[]
(replace: ?INV_SHOVEL)[]
(replace: ?INV_COIL)[]
(replace: ?INV_WHIP)[<br>- [your ]<your_whip|[cat-o'-one-tail]<whip|\
<br>- your [shovel]<shovel| so frail\
<br>- [the ]<the_treasure|[treasure]<treasure|\
<br>- [a ]<a_coil|[stretched coil]<coil|]
]
(if: $invChai)[
(replace: "knapsack and see:")[pack in a trice. You've:]
(set: $the_egg to "")
(replace: "the heist loot")[heist loot]
(set: $decree to "advice")
(replace: ?some_key)[an]
(unless: $invDevice)[
(set: $cryptic to "cryptic ")
(if: $invHeistLoot)[
(replace: ?some_key)[]
]
(unless: $invHeistLoot)[
(replace: ?some_key)[a ]
]
(if: $hasKey)[
(replace: ?your_whip)[]
]
(unless: $invCat)[(replace: ?the_treasure)[]]
]
(replace: "debris")[device]
(replace: "(quite old), and")[(quite old)]
(if: $hasNoTea)[
(replace: ?INV_TEA)[<br>- [no Chai Spice]<notea|]
](else:)[
(replace: ?INV_TEA)[<br>- [some Chai Spice]<tea|]
]
(replace: ?a_coil)[]
]
<!-- the medium ones -->
(if: $invDraughts)[
(replace: "potions")[draughts]
(replace: "(marked")[(each marked]
(replace: "(powerless)")[(all powerless)]
]
(if: $invString)[
(replace: "thread")[string]
(replace: "retrieved from the dead")[from the heir of a king]
]
(if: $invGneiss)[
(replace: ?INV_SECOND_STANZA)[<br><br>You've got so much stuff we'll go twice:]
(replace: ?INV_GIN)[<br>- a bottle of [gin]<gin| (cold as ice)]
(replace: ?INV_SCHIST)[<br>- [gneiss]<schist|]
]
<!-- egg (gotta do this late since the footnote has variables in it -->
(if: $hasEgg)[
(if: $invHeistLoot)[
(set: $contains to "with")
(set: $withthis to "with")
]
(replace: ?INV_EGG)[<br>- [$the_egg][egg]<egg| |CDFootnote>[(display: "Open CDFootnote")]]
]
<!-- the easy ones -->
(if: $invHeistLoot)[
(replace: "egg")[heist loot]
]
(if: $invDigger)[(replace: "shovel")[digger]]
(if: $invTombLoot)[(replace: "treasure")[tomb loot]]
(if: $invSchnapps)[(replace: "gin")[schnapps](replace: "schnappsg")[ging]]
(if: $invSpring)[(replace: "coil")[spring]]
<!-- misc. -->
(if: $isEggDoorOpen)[(replace: "cryptic")[helpful]]
}|north>[AN ERROR OCCURRED GOING NORTH]
|west_east>[AN ERROR OCCURRED WEST OR EAST]
|south>[AN ERROR WITH SOUTH]
|coda>[A BUG IN YOUR MOUTH
AN ERROR-FREE RUN HAS NOW CEASED] \
\
(replace: ?north)[ \
(if: $n is not false)[You could go [[north]] unpoliced.] \
(else:)[Passages northward have ceased.] \
] \
\
(set: $localEnd to ",") \
(if: $s is not false)[(set: $localEnd to ".")] \
(if: ($w is not false) && ($e is not false))[(replace: ?west_east)[ \
[[West]] is a choice, as is [[east]]$localEnd]] \
(if: ($w is not false) && ($e is false))[(replace: ?west_east)[ \
[[West]] is a choice, though not east$localEnd]] \
(if: ($w is false) && ($e is not false))[(replace: ?west_east)[ \
West is right out, but there's [[east]]$localEnd]] \
(if: ($w is false) && ($e is false))[(replace: ?west_east)[ \
West is right out, as is east$localEnd]] \
\
(replace: ?south)[ \
(if: $s is not false)[Lastly, there's [[south]].] \
(else:)[and zilch to the south.]] \
(display: "MOUTH"){
(set: $debug to true)
(set: $isIntro to false)
<!-- (set: $more to true) -->
(set: $pressureDone to true)
(set: $hasThread to true)
(set: $threadNumber to 17)
(set: $hasPotions to true)
(set: $hasGin to true)
(set: $hasCoil to true)
(set: $hasKey to true)
(set: $hasTreasure to true)
(set: $isBouldered to true)
(set: $isBridged to true)
(set: $knowsPrince to true)
}$loc[Impassable Pit] \
|pit>[Impassable pit! You can't skip it.
You get out your $inv, firmly grip it.
Across is, you see,
a thick-branching tree.
You aim at the branch and you $xxx!]
(if: $treeHasGear)[(replace: "thick-branching")[gear-enringed]] \
|knapsack>[$knapsackContents]
(unless: $triedWhip)[ \
(click: ?whip)[ \
(set: $triedWhip to true) \
(replace: ?knapsack)[] \
(replace: ?pit)[ \
Impassable pit! You can't skip it.
You get out your $item[whip], firmly grip it.
Across is, you see,
a thick-branching tree.
You aim at the branch and you whip it!
(if: $treeHasGear)[(replace: "thick-branching")[gear-enringed]] \
$more[$loc[Apparently Passable Pit] \
(set: $clearedPit to true) \
It coils 'round the branch, and you swing.
You land, toss it back with a fling.
$Verge purses her lips,
leaps out, grabs it, whips,
twice-somersaults, lands with a spring.
(if: $treeHasGear)[(set: $hasGear to true)(replace: "twice-somersaults")[scoops up the gear]] \
[[(continue)->Totally Inconspicuous Clearing]]
]]]]
\
(unless: $triedNoTea)[ \
(click: ?notea)[ \
(set: $triedNoTea to true) \
(replace: ?knapsack)[] \
(replace: ?pit)[ \
Impassable pit! You can't skip it.
You get out your $item[lack of tea], firmly grip it.
Across is, you see,
a thick-branching tree.
If you had some tea, you could sip it!
(if: $treeHasGear)[(replace: "thick-branching")[gear-enringed]] \
[[(return)->impassable pit]]]]]
\
\
\
(unless: $triedShovel)[ \
(click: ?shovel)[ \
(set: $triedShovel to true) \
(set: $hasShovel to false) \
(set: $brokeShovel to "pit") \
(replace: ?knapsack)[] \
(replace: ?pit)[ \
Impassable pit! You can't skip it.
You get out your $item[shovel], firmly grip it.
Now this one's a keeper:
Let's make the pit deeper!
$Verge dashes up toward you to flip it
$more[ \
right into the chasm! $m["My digger!"]
$v["Your 'shovel', you mean. Have some rigor."]
You're ready to burst!
$m["That move was the worst!"]
$v["Um, worse than to make the pit //bigger?"//]
[[(return)->impassable pit]]]]]]
\
\
\
(unless: $triedEgg)[ \
(click: ?egg)[ \
(set: $triedEgg to true) \
(replace: ?knapsack)[] \
(replace: ?pit)[ \
Impassable pit! You can't skip it.
You get out your $item[egg], firmly grip it.
Across is, you see,
a thick-branching tree.
You aim at the branch and you slip it $small[back into your knapsack quietly, hoping no one was looking]
(if: $treeHasGear)[(replace: "thick-branching")[gear-enringed]] \
[[(return)->impassable pit]]]]]
\
\
\
(unless: $triedGear)[ \
(click: ?gear)[ \
(set: $triedgear to true) \
(replace: ?knapsack)[] \
(replace: ?pit)[ \
Impassable pit! You can't skip it.
You get out your $item[gear], firmly grip it.
Across is, you see,
a thick-branching tree.
You aim at the branch and you flip it...
(set: $hasGear to false) \
(set: $treeHasGear to true) \
$more[The gear catches onto the tree!
Your ring-toss was deft as can be.
$v["I'm really impressed,
but might I request
that you be more cautious than me?"]]
[[(return)->impassable pit]]]]]([$contains] [$cryptic$decree]<optCD|(click: ?optCD)[(replace: ?CDFootnote)[(display: "CDFootnote")]])(display: "Close CDFootnote")
<div class="footnote">Идти к востоку от реки
Клад похоронено навеки
Копать в сквер
Я открою дверь
Раскрывая загадку ацтеки
<i>"Go to the east of the river,
The treasure is buried forever.
Dig in the square,
I will open the door,
revealing the Aztec enigma."</i>
</div>([$withthis] |optCD>[$cryptic$decree](click: ?optCD)[(replace: ?CDFootnote)[(display: "Open CDFootnote")]]:)$loc[Sealed Hatch] \
You dig there all day like a dog,
then make out a hatch in the bog.
Its hinges are sealed,
attached to a wheeled
contraption that's missing a cog.
{
(unless: $gearFirstTime)[
(set: $maybeMore to true)
(replace: "dig there")[dug there]
(replace: "digs there")[dug there]
(replace: "make out a hatch")[made out a hatch]
]
(if: $gearFirstTime)[
(set: $maybeMore to $more)
(set: $gearFirstTime to false)
(unless: $hasShovel)[
(replace: "You dig")[$Verge digs]
(replace: "make out a hatch")[makes out a hatch]
]]
}
$maybeMore[|puzzle>[ \
You insert the $inv in its station.
The clockwork begins its $xxx.
$precog[The hatch opens free
with a ponderous //SCREEEE,//
allowing your gang's infiltration.]]
<div class="footnote">(The hatch is now open? Well, nope.
That $precog[outliney text]'s what you //hope//
will happen in time.
So reason and rhyme,
and choose like a whiz or a dope.)</div>
|knapsack>[(display: "INV")]
{
(click-goto: ?gear, "gear gear")
(unless: $triedNoTea)[(click-goto: ?notea, "gear lack of tea")]
(unless: $triedEgg)[(click-goto: ?egg, "gear egg")]
(unless: $triedShovel)[(click-goto: ?shovel, "gear shovel")]
(unless: $triedWhip)[(click-goto: ?whip, "gear whip")]
}
Passages northward have ceased.
[[West->Apparently Passable Pit]] is back, forward is [[east->bump into the sealed hatch]].
There's zilch to the south.
|coda>[A BUG IN YOUR MOUTH
AN ERROR-FREE RUN HAS NOW CEASED] \
(set: $exitCount to 1) \
(display: "MOUTH") \
]$loc[Sealed Hatch] \
(set: $triedNoTea to true) \
You dug there all day like a dog,
then made out a hatch in the bog.
Its hinges are sealed,
attached to a wheeled
contraption that's missing a cog.
(unless: $hasShovel)[(replace: "You dug")[$Verge dug]] \
You insert the $item[lack of tea] in its station.
The clockwork ignores the libation.
The hatch remains shut
and ponderous, but
you now have some new information.
$more[You know and can now guarantee
that an inopportune lack of tea
is not the right match
to open this hatch...
as no one on earth could foresee.
$more[ \
(set: $choice to "AN ERROR HAS LED US TO RUIN") \
|whatchadoin>[$Verge elbows you, asks, $v["Whatcha doin'?"]
(dropdown: bind $choice, "Just seein' if this screw will... screw in.", "Do you want to try? You're a shoe-in.", "My madness will bring us to ruin.")
(confirm)
] \
(click: "(confirm)")[ \
(replace: ?whatchadoin)[] \
(display: $choice) \
] \
]]$loc[Sealed Hatch] \
$Verge elbows you, asks, $v["Whatcha doin'?"]
$m["Just seein' if this screw will... screw in."]
$v["What screw? I don't see it."]
$m["It's right here, albeit
small. Oops, I dropped it!"] you threw in.
$more[Embarrassed, $m["S-screw it,"] you stutter.
You shrug, then continue to putter.
$Verge lifts her brow
with a wry, silly bow.
$v["...thought I was the weird one,"] she mutters.
[[(return)->gear puzzle]]]$loc[Sealed Hatch] \
$Verge elbows you, asks, $v["Whatcha doin'?"]
$m["Do you want to try? You're a shoe-in."]
$v["And give up my shot
at watching you swat
the air? Not a chance."] She keeps viewin'.
[[(return)->gear puzzle]]$loc[Sealed Hatch (with the madness)] \
$Verge elbows you, asks, $v["Whatcha doin'?"]
$m["My madness will bring us to ruin.
The prophecy states (set: $didSpoutProphecy to true)
that our intertwined fates
shall end in the maw of a bruin."]
$more[$v["In that case, we'd better beware
of... what is a bruin?"] $m["A bear."]
$v["No bears underground.
Let's not stick around!"]
she says with her arms in the air.
[[(return)->gear puzzle]]]$initializePuzzle \
(display: "gear puzzle")$loc[Sealed Hatch] \
(set: $triedShovel to true) \
You dug there all day like a dog,
then made out a hatch in the bog.
Its hinges are sealed,
attached to a wheeled
contraption that's missing a cog.
You insert the $item[shovel] between
the hinges, a simple machine.
You lever it down
and see with a frown
the strength of this hatch is obscene.
$more[|options>[You think about using more might...
or you could just give up the fight.] \
(set: $unclickableOptions to "You think about using more might...
or you could just give up the fight.") \
\
(click: "using more might")[ \
(set: $hasShovel to false) (set: $brokeShovel to "gear")\
(replace: ?knapsack)[(display: "INV")] \
(replace: ?options)[$unclickableOptions] \
You stand on your tool
as if it's a stool.
It snaps! You discard it in spite.
[[(return)->gear puzzle]] \
] \
(click: "give up the fight")[ \
(replace: ?options)[$unclickableOptions] \
You pick up your tool
and store it where you'll
most likely reuse it tonight.
[[(return)->gear puzzle]] \
] \
]{
(set: $triedNoTea to false)
(set: $triedTea to false)
(set: $triedEgg to false)
(set: $triedWhip to false)
(set: $triedShovel to false)
(set: $triedGear to false)
(set: $triedKey to false)
}(if: $clearedPit) [ \
(display: "Apparently Passable Pit") \
] \
(else:) [ \
$initializePuzzle \
(display: "impassable pit") \
]$loc[Sealed Hatch] \
(set: $triedEgg to true) \
You dug there all day like a dog,
then made out a hatch in the bog.
Its hinges are sealed,
attached to a wheeled
contraption that's missing a cog.
(unless: $hasShovel)[(replace: "You dug")[$Verge dug]] \
You insert the $item[egg] in its station.
The clockwork maintains its rotation
as part of the Earth,
for what it is worth,
in orbital circumgyration.
$more["<i>I</i> open the door," the egg read.
$m["A hatch is a door,"] you have said.
You wiggle the egg.
You tap it. You beg
for something to happen. Instead,
$more[a whole lot of nothing occurs.
You grumble, and take back what's yours.
(if: $hasGear)[ \
You browse through your [[knapsack->gear puzzle]].
What's recently ransacked -
err, "salvaged by entrepreneurs"?
](else:)[ \
You browse through your knapsack,
then opt to go [[backtrack->Apparently Passable Pit]]
and search more completely outdoors.
]]]$loc[Sealed Hatch] \
(set: $triedWhip to true) \
You dug there all day like a dog,
then made out a hatch in the bog.
Its hinges are sealed,
attached to a wheeled
contraption that's missing a cog.
(unless: $hasShovel)[(replace: "You dug")[$Verge dug]] \
You insert the $item[whip] in its station.
The clockwork and linked automation
stay put, don't revolve.
If you're gonna solve
this puzzle, you'll need machination.
[[(return)->gear puzzle]]$loc[Open Hatch] \
You dug there all day like a dog,
then made out a hatch in the bog.
Its hinges are sealed,
attached to a wheeled
contraption that's missing a cog.
(unless: $hasShovel)[(replace: "You dug")[$Verge dug]] \
You insert the $item[gear] in its station. (set: $hasGear to false)
The clockwork begins its rotation.
The [[hatch->Ice Slide]] opens free
with a ponderous //SCREEEE,//
allowing your gang's infiltration.
You reach in the clockwork to pluck
the gear from its place, but it's stuck.
Your fingers are sticky,
but this one's too tricky;
this thief is, for once, out of luck.
But not for long - more to despoil!
Your fingers, now slick with old oil,
dig deep in the works,
and with nimble jerks,
you manage to wrangle a $item[coil]. (set: $hasCoil to true)(if: $gearFirstTime)[ \
$loc[Totally Inconspicuous Clearing] \
A very cold swamp. $Verge is rapping,
when softly you hear a faint flapping.
You hold up a finger
and listen and linger,
then clearly you hear a tap-tapping.
$more[Four woodpeckers, located where
they stake out the shape of a square.
This must be the place!
Triangulate, trace...
$m["Right here is the spot,"] you declare.
(if: $hasShovel)[ \
[[(dig)->gear puzzle start]]] \
(else:)[ \
$more[$m["You know what would be opportune?
A shovel!"] $Verge blushes maroon.
$v["I'm sorry, boss, but it -"]
$m["Start digging and shut it,
or you won't see a single doubloon."]
$more[She extends her retractable claws,
and digs in the swamp without pause.
You lean back and watch,
and sip pretend scotch,
and "help" with infrequent applause.
[[("help")->gear puzzle start]] \
]]]]] \
(unless: $gearFirstTime)[(goto: "gear puzzle start")]$loc[Peninsula] \
(set: $hasGear to true) \
\
A $item[gear,] old and battered and grooved,
from some odd machine's been removed.
This sprocket of chrome
has found a new home,
its usefulness yet to be proved.\
\
(click: "a new home")[
(display: "INV")]
(display: "River Bend end")<i>This is as far as I've completed, but I have created one more puzzle.</i>
<i>you acquire a key and a coil</i> (set: $hasKey to true) (set: $hasCoil to true)
<i>fast-forward to the [[third puzzle->chest puzzle start]]</i>$loc[Locked Tomb] \
|puzzle>[ \
The tomb has a keyhole-shaped socket.
You reach deep down into your pocket,
grab hold of a $inv
and $xxx
proceed to the tomb and $xxx it.]
|knapsack>[(display: "INV")]
[[(return)->Tomb Room]]
{
(click-goto: ?key, "chest key")
(click-goto: ?whip, "chest whip")
(unless: $chestTriedNoTea)[(click-goto: ?notea, "chest lack of tea")]
(unless: $chestTriedEgg)[(click-goto: ?egg, "chest egg")]
(unless: $chestTriedShovel)[(click-goto: ?shovel, "chest shovel")]
(unless: $chestTriedCoil)[(click-goto: ?coil, "chest coil")]
(unless: $chestTriedGin)[(click-goto: ?gin, "chest gin")]
}$initializePuzzle \
(set: $chestTriedNoTea to false) \
(set: $chestTriedEgg to false) \
(set: $chestTriedShovel to false) \
(set: $chestTriedCoil to false) \
(set: $chestTriedGin to false) \
(if: $isTombOpen)[(display: "open chest")] \
(else:)[(display: "chest puzzle")]$loc[Unlocked Tomb] \
The tomb has a keyhole-shaped socket.
You reach deep down into your pocket,
grab hold of a $item[key],
and confidently
proceed to [[the tomb->open chest]] and unlock it.$loc[Opened Tomb] \
(set: $isTombOpen to true) \
\
$Verge pauses her piddling patters
to focus on what really matters:
revealed is a body,
bedecked in some gaudy
ornate ceremonial [[tatters]].
The body's been quite well preserved
by all of the people who served.
The stillness runs deep.
$m["He looks just asleep,"]
with wonder you softly observe.
$more[From faraway Aztecan land
this king must have plotted and planned.
Before he deceased,
he looked to the east
and made a peculiar demand.
(if: $knowsPrince)[(replace: "this king must have")[his father had]] \
(if: $hasPotions)[[[(return)->Tomb Room]]] \
(unless: $hasPotions)[ \
$more[You rein in your wild mental traffic,
and turn to your lone demographic:
one Aztec king, dead.
Spread out near his head
is writing that's ideographic.
$more[After a hasty translation,
you come to the realization
they're potions of... stuff.
A fist conveys "tough",
so, "escalate toughification"?
$more[They're strength potions! Gifts for the king,
(unless: $hasPotions)[(replace: "strength potions")[[[strength potions]]]] \
to help with some afterlife thing.
$m["$Verge, do not drink -"]
$v["- the antiquities. Sync!"] (set: $doNotDrinkTheAntiquities to true)
Delighted, she pauses to (link-reveal: "sing.")[
$v[//"Oh, I withheld an impulse, an impulse,
I withheld an impulse, an impulse.
I withheld an impulse, an impuuuuuuuulse!
Down in the middle of the road -
What hoed!"//]
$more[Your suffering's also now sonic.
At least she did not drink the tonic.
But what keeps you going
is your relish in knowing
that $Verge doesn't see it's ironic.]]
[[(return)->Tomb Room]]]]]]]$loc[Unlocked Tomb] \
[[The tomb->open chest]] has a keyhole-shaped socket.
You reach deep down into your pocket,
grab hold of your $item[whip]
and - $bam[BAM!] - flick the tip
right into the hole and unlock it.
You see $Verge has misplaced her jaw.
She gasps, $v["Is that what I just saw?
You just picked a lock
with a whip."] $m["Yep."] $v["You rock!"]
$Verge double high-fives you in awe.$loc[Locked Tomb] \
(set: $chestTriedNoTea to true) \
The tomb has a keyhole-shaped socket.
You reach deep down into your pocket,
grab hold of $item[no tea]
and foolhardily
take off toward the tomb like a rocket,
$more[and shove in the keyhole no tea!
$v["You're tryna unlock it with <i>chi?</i>
A cool special move,
but it breaks the whole groove
if it doesn't work... wannabe."]
$more[$v["I'll show you a <i>real</i> chi attack."]
She centers her soul and goes slack.
$v[$bam["Aaaa...tari!"]] With grace,
she strikes the key place.
Still locked. $v["Fine, I take it all back."]
[[(return)->chest puzzle]]]]$loc[Locked Tomb] \
(set: $chestTriedShovel to true) \
The tomb has a keyhole-shaped socket.
You reach deep down into your pocket,
grab hold of a $item[shovel...]
Whoa, now you're in trouble.
A shovel? In there? $v[Verge'll] clock it.
$more[$v["I can't help but notice by chance
the cavernous size of your pants.
And I've gotta know:
how deep do they go?
And might they assist in romance?"]
$more[$m["Exactly the size of one backpack.
You see?"] You unpocket the knapsack.
$m["I needed a lapse;
those overtight straps
were killing my shoulders - no strap slack.]
$more[$m[And as for romance, I'll just say
that one needs <i>deep pockets</i> to play.]
A hand on your hip
while biting your lip,
$m["That's <i>literally,"</i>] you convey.
$more[$v["Enough! Time for action!"] $Verge claims.
She bogarts the shovel and aims
to pry up the lid!
$m["Verge, no!"] you forbid.
(if: $chestTriedEgg)[$v["Less dumb than the egg!"] she defames.] \
(else:)[$v["I swear this will work!"] she proclaims.]
$more[You wrestle $Verge down to the ground.
$m["I just didn't want to have found
a shovel-tripped trap!
Get up now."] Aw, crap -
the shovel's been crushed. How profound. (set: $hasShovel to false) (set: $brokeShovel to "tomb")
[[(return)->chest puzzle]]]]]]]$loc[Locked Tomb] \
(set: $chestTriedEgg to true) \
The tomb has a keyhole-shaped socket.
You reach deep down into your pocket,
grab hold of the $item[egg]
and shove the round peg
into the square hole. Then you mock it:
$more[$m["'I'll open the door,' so you claim.
You don't open bupkis!"] you flame.
The egg is uncowed,
but $Verge does you proud,
and solemnly says, $v["You got game."]
[[(return)->chest puzzle]]]$loc[Riverbank] \
The taiga, majestic and vast,
its beauty austere unsurpassed,
before you stands bold.
It's also quite cold,
so best get a move-on, like, fast.
$more[The square's the objective to find.
There's no point in using your mind;
you've got to explore
a little bit more,
'cause right now you're tomb-raiding blind.
$knapsack
You could go [[north->River Bend]] unpoliced.
[[West->Frozen Lake]] is ice, canyon is [[east->impassable pit start]].
A farm's to the [[south->Egorov Farm]].
|coda>[A BUG IN YOUR MOUTH
AN ERROR-FREE RUN HAS NOW CEASED]
{
(set: $n to "River Bend")
(set: $w to "Frozen Lake")
(set: $e to "impassable pit start")
(set: $s to "Egorov Farm")
}
(display: "MOUTH")](set: $n to "LOCATION IS ERROR")\
(set: $w to "LOCATION IS ERROR")\
(set: $e to "LOCATION IS ERROR")\
(set: $s to "LOCATION IS ERROR")\
(set: $isDoomNigh to false)\
\
(display: "COMPASS")(set: $n to "LOCATION IS ERROR")\
(set: $w to "LOCATION IS ERROR")\
(set: $e to "LOCATION IS ERROR")\
(set: $s to "LOCATION IS ERROR")\
(set: $isDoomNigh to true)\
\
(display: "COMPASS")(unless: $isIntro or $isCutscene)[$locStyle[[]<loc|] (css: "float: right;")[Party: |party>[$party]] \
---
] \
{
(print: "<script>$('html').removeClass(\)</script>")
(if: (passage:)'s tags's length > 0)[
(print: "<script>$('html').addClass('" + (passage:)'s tags.join(' ') + "'\)</script>")
]
(if: ((history:) contains (passage:)'s name) and ((passage:)'s name is not "minecart next stage"))[(set: $more to true)]
}$initializePuzzle \
$initializeVariables \
<div class="mainmenu">
[[Play->intro]]
[[Options]]
[[Achievements->achievements]]
[[Retract->retract]]
[[About]]</div>You know all those links labeled "(more)"?
If all of that clicking's a bore,
disable them all
and nevermore stall.
Or keep 'em; take time to explore.
{
$isMore[(click: "disable them all")[(set: $isMore to false)(set: $more to true)(goto: "Options")]]
(else:)[(click: "keep 'em")[(set: $isMore to true)(set: $more to (link: "(more)"))(goto: "Options")]]
}
(if: $isTimed)[You may have to act expeditiously
while timers tick downward perniciously.
If you're a slow reader,
or just not a speeder,
disable them; choose more judiciously.
{
$isTimed[(click: "disable them;")[(set: $isTimed to false)(goto: "Options")]]
}
](else:)[You won't have to act expeditiously;
no timers will tick down perniciously.
If you want excitement
that could lead to smitement,
enable the timers ambitiously.
{
(click: "enable the timers")[(set: $isTimed to true)(goto: "Options")]
}
]
[[Main Menu]]My name is <a href="http://pacesmith.com/games/" target="_blank">Pace Smith</a>. Have some tea.
You'll miss it quite soon - guarantee.
I've shout-outs to shout
to the folks who helped out,
but first, here's a bit about me:
* bridger
* trans
* ADHD
* intersectional feminist
* 3
* socialist
* Sufi
* multipod
* goofy
* pan
* creepy lemon
* `[her/she]`
Viv Dunstan and Emma S. Roy
helped make the game smooth to enjoy.
Amanda G. Ray,
and Kyeli (my bae)
both helped me be clear and less coy.
And then Mike Carletta found flaws
by breaking unbreakable laws.
Kelly Kingman made art.
Big thanks for each part!
I give you a round of applause!
[[Main Menu]]$loc[Peninsula] \
(if: $hasGear)[ \
You spot nothing new in the scenery
while making your way through the greenery.
'Twas right around here
you found the old gear,
but now there's no more unforeseenery.] \
(else:)[ \
While making your way through the greenery,
you notice a glint in the scenery.
A very old [[gear]]
has fallen quite near,
as if broken loose from machinery.]
$knapsack
(display: "River Bend end")(goto: $n)$loc[AN ERROR OCCURRED IN LOCATION](goto: $w)(goto: $e)(goto: $s)$loc[Frozen Underground Lake] \
The edge of a beautiful lake -
it's frozen so thick it won't break.
But beauty's allure
is much less than your
ambition for treasures to take.
$more[You look up above to the hole
that trapped you down here like a troll.
The icy-slide route
is not a way out,
so best press ahead to your goal.
$knapsack
{
(set: $n to false)
(set: $w to "Stalactites")
(set: $e to false)
(set: $s to false)
}
(display: "COMPASS")
]$loc[Ice Slide] \
You enter the hatch open wide,
and $shudder[WHOA!] - you fall down a steep slide!
The tunnel of ice
ejects in a trice
two thieves, but hangs onto their pride.
$more[You two are the brightest and best,
yet fell down a hole. Who'd've guessed?
Well, now you're all in -
no choice but to win
this rollicking[[...->ACT ONE]]
(set: $isCutscene to true)]$loc[Egorov Farm] \
A farmhouse is to the southwest.
You say, $m["I bet it'd be best
to keep a safe distance
from local assistance."]
$v["Besides, I'm a bit of a pest."]
$knapsack
{
(set: $n to "Riverbank")
(set: $w to false)
(set: $e to false)
(set: $s to false)
}
(display: "COMPASS")$loc[Apparently Passable Pit] \
{
(set: $n to false)
(set: $w to "Riverbank")
(set: $e to "Totally Inconspicuous Clearing")
(set: $s to false)
} \
Apparently passable pit!
You whip across lickety-split.
You whip-toss to Verge,
who yields to her urge
to flaunt her mad skillz quite a bit:
Three-somersault twist to a fakie!
She sticks it, the slightest bit shaky.
$m["That <i>was</i> pretty cool.
You know, you could rule -"]
$v["The world if I weren't so damn flaky?"]
$knapsack
(display: "COMPASS")(set: $exitCount to 0) \
(if: $n is not false)[(set: $exitCount to $exitCount+1)] \
(if: $w is not false)[(set: $exitCount to $exitCount+1)] \
(if: $e is not false)[(set: $exitCount to $exitCount+1)] \
(if: $s is not false)[(set: $exitCount to $exitCount+1)] \
\
(if: $exitCount >= 2)[ \
(replace: ?coda)[ \
(if: $isDoomNigh)[You furrow your mouth
and ponder where doom lurketh least.] \
(else:)[You furrow your mouth
and ponder, impatience increased.] \
]] \
(if: $exitCount is 1)[ \
(replace: ?coda)[You furrow your mouth;
your options have sharply decreased.]] \
(replace: "furrow")[(either: "furrow", "furrow", "pucker", "pucker", "scrunch up", "scrunch up", "crinkle", "wrinkle", "tighten")] \
(replace: "ponder, impatience increased")[(either: "ponder, impatience increased", "ponder, your hopes now increased", "muse, perseverance increased", "ponder, your greed now increased")] \
(replace: "muse")[(either: "muse", "muse", "think", "think", "mull")] \
(replace: "ponder where doom lurketh least")[(either: "mull, apprehension increased", "ponder, foreboding increased", "ponder, composure decreased", "ponder, your sang-froid decreased", "mull, your misgivings increased", "mull, trepidation increased")] \
(replace: "mull")[(either: "mull", "brood")]$loc[Faceplanting Into the Sealed Hatch] \
You start heading east, but soon yield
to the hatch that's still thoroughly sealed.
Perhaps heading [[west->Totally Inconspicuous Clearing]]
would be for the best,
at least 'til your poor nose has healed?
$knapsack(set: $hasGear to true) \
[[gear puzzle start]]Land that goes northward has ceased.
West is the river, like east.
It flows to the [[south->Riverbank]].
|coda>[A BUG IN YOUR MOUTH
AN ERROR-FREE RUN HAS NOW CEASED]
{
(set: $n to false)
(set: $w to false)
(set: $e to false)
(set: $s to "Riverbank")
}
(display: "MOUTH")(goto: "Riverbank")You brashly ignore her advice.
(set: $fracturedIce to true) \
Not long 'til you hear a sharp $bam[CRACK!] -
an icy, thin, spidering track.
$v["I <i>said</i> it was thin!
Now look what you're in!
Stop right where you are and look back.]
$more[$v[Do just what I say and no lip.
Remember to keep a tight grip.
We're going to glide."]
The ice opens wide.
$v["Bend your knees! Look at me! Whip!"]
$more[Obeying, you whip at your sidekick.
The instant it cracks with a wide flick,
$Verge grabs it and squeezes.
$v["Before your ass freezes,
let's move!"] She starts towing; you glide quick.
$more[You skate without skates and outpace
the fracturing ice. You retrace
your path to dry land.
$Verge holds up her hand -
the thinnest red line is in place.
$more[$v["Now tell me how cool I am, boss."]
You tell her, and heap on the sauce.
$v["That's right!"] and she nods.
$v["Well, let's try our odds
somewhere else; we're not gettin' across."]
[[(east)->Riverbank]]]]]]$loc[Frozen Lake] \
A lake with a layer of ice
as thin as a thick grain of rice.
$v["Too thinning, I think.
We'd dunk in the drink."] \
(if: $fracturedIce)[
[[You opt to go back, thinking twice.->Riverbank]]]
(else:)[ \
\
(set: $choice to "AN ERROR. THAT'S NOT VERY NICE!") \
|thinice>[(dropdown: bind $choice, "You opt to go back, thinking twice.", "You brashly ignore her advice.")
(confirm)
\
] \
(click: "(confirm)")[ \
(replace: ?thinice)[] \
(display: $choice) \
] \
]$loc[Colossal Cave] \
A cave of colossal expanse
impedes your ascending advance.
You stand on the brink
of a pit black as ink.
To cross it, there's only one chance...
$more[A minecart: the only way through.
The tracks have gone slightly askew,
so you'll need to steer it
if you're gonna clear it.
You hop in and check out the view.
$more[There's pits and stalactites and gaps
and all kinds of perilous traps.
You'll have to be fast
to navigate past
the pit, because time will elapse.
$more[There's only one way to your goal
of safely escaping this hole.
You pull the brake free
and boldly decree,
$m["This minecart is ready to roll!"]
(click: "roll")[ \
(set: $isCutscene to true) \
(goto: "Minecart Mayhem")]]]]{
(display: "save act 4")
(if: $achievedAct < 4)[(set: $achievedAct to 4)]
(set: $isCutscene to false)
(set: $isIntro to false)
(display: "act 4 invariants")
(set: $minecartStage to 0)
(set: $minecartPath to (either: (a: "plummet L", "narrow L", "gap", "tunnel", "rock fall", "plummet R", "bat"),
(a: "plummet L", "narrow L", "gap", "tunnel", "rock fall", "narrow R", "bat"),
(a: "plummet L", "narrow R", "gap", "tunnel", "plummet R", "rock fall", "bat"),
(a: "plummet L", "narrow R", "gap", "tunnel", "narrow L", "rock fall", "bat"),
(a: "plummet L", "narrow L", "gap", "plummet R", "tunnel", "bat", "rock fall"),
(a: "plummet L", "narrow R", "tunnel", "narrow L", "gap", "rock fall", "bat"),
(a: "plummet L", "narrow L", "plummet R", "gap", "rock fall", "bat", "tunnel"),
(a: "plummet R", "narrow L", "gap", "tunnel", "rock fall", "plummet L", "bat"),
(a: "plummet R", "narrow L", "gap", "tunnel", "rock fall", "narrow R", "bat"),
(a: "plummet R", "narrow R", "gap", "tunnel", "plummet L", "rock fall", "bat"),
(a: "plummet R", "narrow R", "gap", "tunnel", "narrow L", "rock fall", "bat"),
(a: "plummet R", "narrow L", "gap", "plummet L", "tunnel", "bat", "rock fall"),
(a: "plummet R", "narrow R", "tunnel", "narrow L", "gap", "rock fall", "bat"),
(a: "plummet R", "narrow L", "plummet L", "gap", "rock fall", "bat", "tunnel")))
}
<div class="act">FINAL ACT</div>
|line2)[<div class="act">Minecart Mayhem</div>]
|limerick)[[[(roll)->minecart next stage]]]
{(live: 1s)[
(show: ?line2)
(stop:)
]
(live: 2s)[
(show: ?limerick)
(stop:)
]}$loc[Minecart Junction] \
A junction, and one path is doom -
the track plummets into the gloom.
Get ready to lean
to dodge the ravine,
as steadily toward it you (link-reveal: "zoom.")[
(if: $isTimed)[(set: $minecartTime to $minecartHowMuchTime) \
<div class="titlecard">|timer>[$minecartTime]</div>
{
(live: 1s)[
(set: $minecartTime to it - 1)
(if: $minecartTime is 0)[(goto: "plummet L choice")]
(replace: ?timer)[$minecartTime]
]
}
] \
(set: $choice to "You hesitate, panic, and stall") \
(display: "set choices") \
(dropdown: bind $choice, $choice, ...$minecartChoices)
with all of your might and your (set: $mineWord to "heft")$mineWheel.
$precog[You dodge your fell fate!
Thank goodness your weight
was boosted by looting and (set: $mineWord to "theft")$mineWheel2.]
[[(confirm)->plummet L choice]]]$loc[Falling] \
You hesitate, panic, and stall,
and wonder of wonders, you $rumble[[[fall->minecart fall to your doom]]]
toward what, you presume,
is surely your tomb,
because you did nothing at all.(set: $isIntro to false) \
(set: $party to "$m[Mulana]") \
(set: $isCutscene to false) \
[[minecart prologue]]$loc[Minecart Junction] \
A junction, and one path is doom -
the track plummets into the gloom.
Get ready to lean
to dodge the ravine,
as steadily toward it you (link-reveal: "zoom.")[
(if: $isTimed)[(set: $minecartTime to $minecartHowMuchTime) \
<div class="titlecard">|timer>[$minecartTime]</div>
{
(live: 1s)[
(set: $minecartTime to it - 1)
(if: $minecartTime is 0)[(goto: "plummet R choice")]
(replace: ?timer)[$minecartTime]
]
}
] \
(set: $choice to "You hesitate, panic, and stall") \
(display: "set choices") \
(dropdown: bind $choice, $choice, ...$minecartChoices)
away from the plummeting (set: $mineWord to "height")$mineWheel.
$precog[You dodge the deep dive
and give a high five
to - oh. You do hope she's (set: $mineWord to "alright")$mineWheel2.]
[[(confirm)->plummet R choice]]]$loc[Minecart Junction, Left Path] \
You hastily lean to the left
with all of your might and your heft.
You dodge your fell fate!
Thank goodness your weight
was boosted by looting and theft!
[[(roll)->minecart next stage]]$loc[Falling] \
You hastily lean to the right,
and hindly you see in your sight:
the right way was wrong.
You $rumble[[[tumble->minecart fall to your doom]]] headlong,
and fly like a lead-laden kite.$loc[Falling] \
You hastily lean to the left,
and $rumble[[[fall->minecart fall to your doom]]] through the plummeting cleft,
toward what, you presume,
is surely your tomb.
Of hope to survive you're bereft.$loc[Minecart Junction, Right Path] \
You hastily lean to the right,
away from the plummeting height.
You dodge the deep dive
and give a high five
to - oh. You do hope she's alright.
[[(roll)->minecart next stage]]$loc[Falling] \
When suddenly out of the air,
an arm wraps around you. From where? (set: $party to "$m[Mulana], $v[$Verge]")(replace: ?party)[$party]
You're flying! You're [[saved]]!
$v["That's too closely shaved!"]
says $Verge. $v["Nearly gave me a scare."](if: $choice is "You hesitate, panic, and stall")[ \
(goto: "plummet nothing")] \
(set: $minecartPassage to "plummet L")
(set: $minecartFallbackPassage to "plummet")
(display: "minecart choice")
(goto: "MINECART ERROR")[[THE MINECART ENCOUNTERED AN ERROR->SKIP TO MINECART]](if: $choice is "You hesitate, panic, and stall")[ \
(goto: "plummet nothing")] \
(set: $minecartPassage to "plummet R")
(set: $minecartFallbackPassage to "plummet")
(display: "minecart choice")
(goto: "MINECART ERROR"){
(display: "minecart increment stage")
(if: $minecartStage < 1)[(goto: "MINECART ERROR")]
(if: $minecartStage > 7)[(goto: "minecart win")]
(goto: $minecartPath's ($minecartStage))
}{
(if: $minecartStage is 1)[(set: $minecartHowMuchTime to 30)]
(if: $minecartStage is 2)[(set: $minecartHowMuchTime to 25)]
(if: $minecartStage is 3)[(set: $minecartHowMuchTime to 20)]
(if: $minecartStage is 4)[(set: $minecartHowMuchTime to 15)]
(if: $minecartStage is 5)[(set: $minecartHowMuchTime to 13)]
(if: $minecartStage is 6)[(set: $minecartHowMuchTime to 12)]
(if: $minecartStage is 7)[(set: $minecartHowMuchTime to 11)]
(if: $minecartStage is 8)[(set: $minecartHowMuchTime to 10)]
}(set: $minecartStage to it + 1) \
(display: "set how much time")(if: $minecartStage < 3)[$loc[Minecart Narrows]](else:)[$loc[Minecart Narrows #2]] \
One path up ahead is too narrow,
the second is straight as an arrow.
Your life's on the line:
you'll either be fine
or end up entombed like a pharaoh.
(lean) \
(click-replace: "(lean)")[ \
(if: $isTimed)[(set: $minecartTime to $minecartHowMuchTime) \
<div class="titlecard">|timer>[$minecartTime]</div>
{
(live: 1s)[
(set: $minecartTime to it - 1)
(if: $minecartTime is 0)[(goto: "narrow L choice")]
(replace: ?timer)[$minecartTime]
] \
}
] \
(set: $choice to "You pussyfoot, ponder, and pass") \
(display: "set choices") \
(dropdown: bind $choice, $choice, ...$minecartChoices)
avoiding the too-narrow (set: $mineWord to "cleft")$mineWheel.
$precog[This comfortless cave
could soon be your grave -
you'd better stay quick and be (set: $mineWord to "deft")$mineWheel2!]
[[(confirm)->narrow L choice]]]$loc[Approaching The Gap] \
The track ahead suddenly quits -
just dangles off into the pits.
It's just a small rift,
so give it some lift;
(link-reveal: "avoid getting broken to bits.")[
(if: $isTimed)[(set: $minecartTime to $minecartHowMuchTime) \
<div class="titlecard">|timer>[$minecartTime]</div>
{
(live: 1s)[
(set: $minecartTime to it - 1)
(if: $minecartTime is 0)[(goto: "gap choice")]
(replace: ?timer)[$minecartTime]
]
}
] \
(set: $choice to "You barrel right into the gap") \
(display: "set choices") \
(dropdown: bind $choice, $choice, ...$minecartChoices)
You cling with a wing and a (set: $mineWord to "prayer")$mineWheel...
$precog[then land with a $bam[//WHACK//]
on the other side's track,
continuing smoothly from (set: $mineWord to "there")$mineWheel2.]
[[(confirm)->gap choice]]]$loc[Approaching The Tunnel] \
You see up ahead a low tunnel;
the track guides you in like a runnel.
So best get recessed,
before you're compressed
like cake icing squeezed through a funnel.
(roll) \
(click-replace: "(roll)")[ \
(if: $isTimed)[(set: $minecartTime to $minecartHowMuchTime) \
<div class="titlecard">|timer>[$minecartTime]</div>
{
(live: 1s)[
(set: $minecartTime to it - 1)
(if: $minecartTime is 0)[(goto: "tunnel choice")]
(replace: ?timer)[$minecartTime]
]
}
] \
(set: $choice to "You sit there and stare like a hack") \
(display: "set choices") \
(dropdown: bind $choice, $choice, ...$minecartChoices)
Much slower and you would be (set: $mineWord to "dead")$mineWheel.
$precog[You peek and pop back
to scout out the track
and see the next hazard (set: $mineWord to "ahead")$mineWheel2.]
[[(confirm)->tunnel choice]]]$loc[Approaching Falling Rocks] \
Oh no! Rocks collapse from the ceiling!
You gauge their descent and you're feeling
that, keeping the pace,
they'll clobber the place
just as you arrive - unappealing.
(roll) \
(click-replace: "(roll)")[ \
(if: $isTimed)[(set: $minecartTime to $minecartHowMuchTime) \
<div class="titlecard">|timer>[$minecartTime]</div>
{
(live: 1s)[
(set: $minecartTime to it - 1)
(if: $minecartTime is 0)[(goto: "rock fall choice")]
(replace: ?timer)[$minecartTime]
]
}
] \
(set: $choice to "Neglecting the tick of the clock") \
(display: "set choices") \
(dropdown: bind $choice, $choice, ...$minecartChoices)
You watch the rock falling, (set: $mineWord to "aghast")$mineWheel...
$precog[It impacts - you flinch!
It missed by an inch -
each peril more grim than the (set: $mineWord to "last")$mineWheel2.]
[[(confirm)->rock fall choice]]]$loc[Minecart Narrows] \
One path up ahead is too narrow,
the second is straight as an arrow.
Your life's on the line:
you'll either be fine
or end up entombed like a pharaoh.
(lean) \
(click-replace: "(lean)")[ \
(if: $isTimed)[(set: $minecartTime to $minecartHowMuchTime) \
<div class="titlecard">|timer>[$minecartTime]</div>
{
(live: 1s)[
(set: $minecartTime to it - 1)
(if: $minecartTime is 0)[(goto: "narrow R choice")]
(replace: ?timer)[$minecartTime]
] \
}
] \
(set: $choice to "You pussyfoot, ponder, and pass") \
(display: "set choices") \
(dropdown: bind $choice, $choice, ...$minecartChoices)
avoiding a harrowing (set: $mineWord to "plight")$mineWheel.
$precog[These treacherous tracks
won't let you relax;
you're still at a dizzying (set: $mineWord to "height")$mineWheel2!]
[[(confirm)->narrow R choice]]]$loc[Minecart Track (approaching a bat)] \
A vampire bat swoops at your face!
You really don't want to replace
your face with a bat,
so judge where it's at,
and (link-reveal: "plan to not be in that place.")[
(if: $isTimed)[(set: $minecartTime to $minecartHowMuchTime) \
<div class="titlecard">|timer>[$minecartTime]</div>
{
(live: 1s)[
(set: $minecartTime to it - 1)
(if: $minecartTime is 0)[(goto: "bat choice")]
(replace: ?timer)[$minecartTime]
] \
}
] \
(set: $choice to "You stay put and wait to be stricken") \
(display: "set choices") \
(dropdown: bind $choice, $choice, ...$minecartChoices)
The bat swoops alarmingly (set: $mineWord to "low")$mineWheel...
$precog[but fumbles its stunt
and bonks off the front
of the cart, which continues to (set: $mineWord to "go")$mineWheel2.]
[[(confirm)->bat choice]]]{
(if: $choice is "You pussyfoot, ponder, and pass")[ \
(goto: "narrow nothing")] \
(set: $minecartPassage to "narrow L")
(display: "minecart choice")
}$loc[Minecart Narrows, Left Path] \
You hastily lean to the left,
avoiding the too-narrow cleft.
This comfortless cave
could soon be your grave -
you'd better stay quick and be deft!
[[(roll)->minecart next stage]]$loc[Minecart Narrows, Right Path] \
You hastily lean to the right,
but the tunnel is, sadly, too slight.
The cart crashes hard,
and now you are barred
from minecarting on Friday night.
$more[$loc[Falling] \
And furthermore, you have been thrown;
you're $rumble[[[plummeting->minecart fall to your doom]]] down like a stone.
Your ill-fated arc
leads down to the dark,
toward treacherous terrors unknown.]$loc[Falling] \
You hastily lean to the left
and clobber the too-narrow cleft!
You're thrashed and you're thrown;
you $rumble[[[fall->minecart fall to your doom]]] like a stone.
Of hope to survive you're bereft.$loc[Minecart Narrows, Right Path] \
You hastily lean to the right,
avoiding a harrowing plight.
These treacherous tracks
won't let you relax;
you're still at a dizzying height!
[[(roll)->minecart next stage]]$loc[Minecart Narrows, Center "Path"] \
You pussyfoot, ponder, and pass.
The cart tries to thread the crevasse.
It's too big to squeeze;
it crashes! With ease,
you're chucked like a bucket of glass.
$more[$loc[Falling] \
And since you've been thoughtlessly thrown,
you're $rumble[[[plummeting->minecart fall to your doom]]] down like a stone.
Your ill-fated arc
leads down to the dark,
toward treacherous terrors unknown.](if: $choice is "You pussyfoot, ponder, and pass")[ \
(goto: "narrow nothing")] \
(set: $minecartPassage to "narrow R")
(display: "minecart choice")
(goto: "MINECART ERROR")(if: $choice is "You barrel right into the gap")[ \
(goto: "gap nothing")] \
(set: $minecartPassage to "gap")
(display: "minecart choice")
(goto: "MINECART ERROR")(if: $choice is "You sit there and stare like a hack")[ \
(goto: "tunnel nothing")] \
(set: $minecartPassage to "tunnel")
(display: "minecart choice")
(goto: "MINECART ERROR")$loc[Falling] \
You barrel right into the gap,
paying no heed to the trap.
You $rumble[[[fall->minecart fall to your doom]]], and soon you
will be smashed into goo,
and the cart will be smashed into scrap.$loc[Falling] \
You hastily lean to the right,
and hindly you see in your sight:
the gap, it cares naught
for the leaning you've wrought,
and now you're in free-falling flight.
$more[Your fate is legit to bemoan:
you're $rumble[[[plummeting->minecart fall to your doom]]] down like a stone.
Your ill-fated arc
leads down to the dark,
toward treacherous terrors unknown.]$loc[Falling] \
You hastily lean to the left,
and $rumble[[[fall->minecart fall to your doom]]] through the plummeting cleft
toward what, you presume,
is surely your tomb.
Of hope to survive you're bereft.$loc[Tunnel] \
You hastily lean to the right,
with all of your heft and your might.
When tunnel meets head
you flop as if dead
and fall from a very great height.
$more[$loc[Falling] \
And since you've been floppily thrown,
you're $rumble[[[plummeting->minecart fall to your doom]]] down like a stone.
Your ill-fated arc
leads down to the dark,
toward treacherous terrors unknown.]$loc[Tunnel] \
You sit there and stare like a hack
at the low-ceilinged oncoming crack.
When tunnel meets brow
you yelp and say, "Ow!"
and swiftly drop into the black.
$more[$loc[Falling] \
And since you've been shamefully thrown,
you're $rumble[[[plummeting->minecart fall to your doom]]] down like a stone.
Your ill-fated arc
leads down to the dark,
toward treacherous terrors unknown.]$loc[Tunnel] \
You hastily lean to the left,
with all of your might and your heft.
When tunnel meets skull
you squawk like a gull,
and dive, but of water bereft.
$more[$loc[Falling] \
You $rumble[[[plummet->minecart fall to your doom]]] on down like a stone.
You're panicky, squawking, alone.
Your ill-fated arc
leads down to the dark,
toward treacherous terrors unknown.]$loc[Above The Gap] \
You jump the cart into the air!
You cling with a wing and a prayer(link-reveal: "...")[
$loc[Far Side Of Gap] \
then land with a $bam[//WHACK//]
on the other side's track,
continuing smoothly from there.
[[(roll)->minecart next stage]]]$loc[Your Happy Place] \
You rapidly lower your head
to hide from the imminent dread.
Your ostrich retreat
helps keep you upbeat
as you fall like a bag full of lead.
$more[You struggle to stay in the zone
while $rumble[[[plummeting->minecart fall to your doom]]] down like a stone.
Your ill-fated arc
leads down to the dark,
toward treacherous terrors unknown.]$loc[Tunnel] \
You jump the cart into the air!
It's too bad a wall was right there,
all solid and obstinate.
If you'd done the opposite,
you'd be in less need of repair.
$more[$loc[Falling] \
And not to be bursting your bubble,
but you're $rumble[[[falling->minecart fall to your doom]]] at speed toward some rubble.
It's dark, you're alone,
no tea and no scone -
you're in just a smidgen of trouble.]$loc[Tunnel] \
You rapidly lower your head!
Much slower and you would be dead.
You peek and pop back
to scout out the track
and see the next hazard ahead.
[[(roll)->minecart next stage]](if: $choice is "Neglecting the tick of the clock")[ \
(goto: "rock fall nothing")] \
(set: $minecartPassage to "rock fall")
(display: "minecart choice")
(goto: "MINECART ERROR")$loc[Falling Rocks] \
You hastily lean to the left
with all of your might and your heft.
There's too many rocks,
and one of them knocks
you off, and you fall through a cleft.
$more[$loc[Falling] \
And since you've been thoughtlessly thrown,
you're $rumble[[[plummeting->minecart fall to your doom]]] down like a stone.
Your ill-fated arc
leads down to the dark,
toward treacherous terrors unknown.]$loc[Falling Rocks] \
You hastily lean to the right
with all of your heft and your might.
When rocks do collide,
they hit your good side,
which doesn't diminish your plight.
$more[$loc[Falling (with the regret)] \
The rock knocks you out of the cart;
from all solid ground you depart.
You're plummeting freely!
In contrast, ideally,
you would have done something more smart.
$more[But no, you've been thoughtlessly thrown,
and are $rumble[[[plummeting->minecart fall to your doom]]] down like a stone.
Your ill-fated arc
leads down to the dark,
toward treacherous terrors unknown.]]$loc[Falling Rocks] \
Neglecting the tick of the clock...
Surprise! You get hit by a rock.
The angle of clout
propels you right out
of the cart, and you're falling in shock.
$more[$loc[Falling] \
Although, I point out, it //is// dumb
to be shocked about what was to come.
The author allegéd this
in //"Minecarts and Prejudice"//
which I will quote famously from:
$more[//"It's a truth universally known
that a single rock falling alone
is in want of a head
to bonk."// And that said,
it's more true for more than one stone!
$more[And thus from the cart you've been thrown;
you're $rumble[[[plummeting->minecart fall to your doom]]] down with a groan.
Your ill-fated arc
leads down to the dark,
toward treacherous terrors unknown.]]]$loc[Falling Rocks] \
You jump the cart into the air!
You take a quick sec to compare
the great numerosity
of rocks whose velocity
increased with respect to your hair.
$more[$loc[Falling] \
They strike you with force like a scourge,
and out from the minecart you surge.
You drop like a brick...
$more[then out of the darkness comes $Verge!]]
$more[She's swinging at speed through the air!
Her arms wrap around you with care. (set: $party to "$m[Mulana], $v[$Verge]")(replace: ?party)[$party]
You're flying! You're [[saved]]!
$v["That's too closely shaved!"]
says $Verge. $v["Nearly gave me a scare."]]$loc[Falling Rocks] \
You rapidly lower your head!
Your back takes the beating instead.
The rocks knock the cart
right off of the part
of the track they were on, like I said.
$more[$loc[Falling] \
The minecart and you have been thrown;
you're $rumble[[[plummeting->minecart fall to your doom]]] down like a stone.
Your ill-fated arc
leads down to the dark,
toward treacherous terrors unknown.]$loc[Falling Rocks] \
You frontload to make the cart fast!
You watch the rock falling, aghast...
It impacts - you flinch!
$more[$loc[Past The Falling Rocks] \
It missed by an inch -
each peril more grim than the last.
[[(roll)->minecart next stage]]]$loc[Falling Rocks] \
You backload to make the cart slow!
The rocks fall in front, then - oh no!
You're heading right for 'em!
With utmost decorum,
you bow to your conquering foe.
$more[The rocks, they care not for your virtue.
They don't even hunger to hurt you.
And yet, you collide
and are thrown out the side
of the cart - though it does not besmirch you.
$more[$loc[Falling] \
You've just been amorally thrown
and are $rumble[[[plummeting->minecart fall to your doom]]] down like a stone.
Your ill-fated arc
leads down to the dark,
toward treacherous terrors unknown.]](set: $isIntro to false)(set: $isTimed to false) \
[[SKIP TO MINECART]]$loc[Minecart Track (with a bat)] \
You hastily lean to the left,
with all of your might and your heft.
The bat, with a $bam[//SCREEK//]
claws into your cheek.
Of one pint of blood you're bereft.
$more[$loc[Falling] \
Woozy and dazed and alone,
you $rumble[[[fall->minecart fall to your doom]]] from the cart as you moan.
Your ill-fated arc
leads down to the dark,
toward treacherous terrors unknown.]$loc[Minecart Track (with a bat)] \
You hastily lean to the right,
to try to keep clear of a bite.
You don't avoid harm;
the bat claws your arm,
then carries on elsewhere in flight.
$more[The bat is uninjured, but you
are bleeding - a liter or two.
You're feeling so woozy
you leave the jacuzzi.
Oh, that was the minecart! Who knew?
$more[$loc[Falling] \
Lightheaded, dazed and alone,
you $rumble[[[fall->minecart fall to your doom]]] from the cart as you moan.
Your ill-fated arc
leads down to the dark,
toward treacherous terrors unknown.]]$loc[Minecart Track (with a bat)] \
You stay put and wait to be stricken,
mistaking the bat for a chicken.
It bites off your face,
an unholy embrace,
and that's when the plot starts to thicken.
$more[You now are a vampire undead.
From bloodlust alone you are fed.
(The best is aortal.)
You're also immortal,
and - cool! - you can see infrared!
$more[$loc[Colossal Cave, Far Side] \
The minecart rolls in, expeditious,
and stops on the far side - auspicious!
Then out of thin air,
it's $Verge standing there! (set: $party to "$Mulana, $Verge")(replace: ?party)[$party]
And my, does her neck look delicious.
(set: $choice to "AN ERROR HAS LED US TO RUIN") \
|bite>[(dropdown: bind $choice, "I'm not gonna bloodsuck my friend.", "\"Hey Verge, do you wanna get vamped?\"", "You pull back her hair and you sink")
(confirm)] \
\
(click: "(confirm)")[ \
(replace: ?bite)[] \
(display: $choice) \
] \
]]$loc[Minecart Track (with a bat)] \
You jump the cart into the air!
But sadly, the bat is right there.
It claws at your arm,
exacts grievous harm -
your veins are in need of repair.
$more[$loc[Falling] \
Woozy from blood loss, you moan
and $rumble[[[fall->minecart fall to your doom]]] from the cart like a stone.
Your ill-fated arc
leads down to the dark,
toward treacherous terrors unknown.]$loc[Minecart Track (with a bat)] \
You rapidly lower your head!
The bat has a target to shred:
its claws in your hair,
it pulls, and you swear;
a chunk of your scalp has been shed.
$more[A bounty of blood you expel.
You feel very dazed and unwell.
You clutch your poor noggin
and leave the toboggan.
Oh, that was the minecart! Aw, hell!
$more[$loc[Falling] \
Lightheaded, bleeding, alone,
you $rumble[[[fall->minecart fall to your doom]]] through the dark as you moan.
Your ill-fated arc
leads down to the dark,
toward treacherous terrors unknown.]]$loc[Minecart Track (with a bat)] \
You frontload to make the cart fast!
You zoom, and the bat's almost past(link-reveal: "...")[
The bat claws your neck!
You feel like a wreck,
your blood loss alarmingly vast.
$more[$loc[Falling] \
Woozy and dazed and alone,
you $rumble[[[fall->minecart fall to your doom]]] from the cart as you moan.
Your ill-fated arc
leads down to the dark,
toward treacherous terrors unknown.]]$loc[Minecart Track (with a bat)] \
You backload to make the cart slow!
The bat swoops alarmingly low(link-reveal: "...")[
but fumbles its stunt
and bonks off the front
of the cart, which continues to go.
[[(roll)->minecart next stage]]](if: $choice is "You stay put and wait to be stricken")[ \
(goto: "bat nothing")] \
(set: $minecartPassage to "bat")
(display: "minecart choice")
(goto: "MINECART ERROR")$loc[Colossal Cave, Far Side] \
I'm not gonna bloodsuck my friend.
But there's something else to attend:
$v["What's up with your face?"]
$Verge asks without grace.
You say, $m["Vampire bat. It'll mend.]
$more[$m[Or maybe it's mangled eternally,
since I've been conscripted infernally;
I'm now Nosferatu,
not just some yahoo
who creeps around mansions nocturnally."]
$more[$v["A vampire? For real? That's amazing!"]
She gives you a thorough appraising.
$v["I did think it odd,
that with your face flawed,
you're even more sexy - like, blazing.]
$more[$v[Now let's [[blow this popsicle stand]]."]
$m["Things didn't turn out as we'd planned."]
$v["That's quite understated.
My hopes have deflated;
just staying alive would be grand."]]]]$loc[Into The Moonrise] \
(set: $achievedDoubleVampire to true) \
$m["Hey $Verge, do you wanna -"] $v["I'm in."]
You make $Verge a vampire, and then
ride into the moonrise
and anyone who tries
to murder you soon dies
(except for those rune guys
you turned into juneflies)
avoiding the noon skies
'cause you're not immune (wise!)
an inopportune prize
your powers typhoon size
including the swoon eyes
A bat bit your face off(link-reveal: "...")[<b>YOU WIN!</b>
(set: $endingName to "DOUBLE VAMPIRE END") (set: $endingWords to "Oh my!") $end]$loc[Colossal Cave, Far Side] \
You pull back her hair and you sink
your teeth into nothing. $Verge winks
from ten feet away.
$v["A neck bite? Cliché.
The vampire thing isn't my kink.]
$more[$v[But danger dilutes the malaise,
so let me attempt to rephrase:
No bitin', cupcake."]
She flashes a stake,
and says, $v["I know //seventeen// ways."]
$more[$v["So let's [[blow this popsicle stand]]."]
$m["Things didn't turn out as we'd planned."]
$v["That's quite understated.
My hopes have deflated;
just staying alive would be grand."]]](set: $isCutscene to false) (set: $isEpilogue to true)\
<div class="act">Epilogue</div>
|limerick)[[[(escape)->GOOD END]]]
{
(live: 2s)[
(show: ?limerick)
(stop:)
]
}(set: $isCutscene to true) \
(goto: "epilogue")$loc[Minecart Junction #2, Center Path] \
You jump the cart into the air!
When given two choices, you dare
to choose option three.
You bellow, $m["I'm free!"]
and note that The Man is unfair.
$more[One problem, though, rebel dissenter:
there isn't a track in the center.
So when you take flight
but not left or right,
the cavernous pit's what you enter.
$more[$loc[Falling] \
You're falling. It's dark. You're alone.
You're $rumble[[[plummeting->minecart fall to your doom]]] down like a stone.
Your ill-fated arc
leads down to the dark,
toward treacherous terrors unknown.]]$loc[Minecart Junction, |L⟩ + i|R⟩ Path] \
You rapidly lower your head,
and think of a book that you read
where Schrödinger's Cat
survived and went splat
in superposition, it said.
$more[By keeping the turn out of sight
then you can choose both left and right!
So ducking, perhaps,
prevents the collapse
of the wavefunction. Logic: airtight!
$more[Despite your heroic logistics,
you've misunderstood quantum physics.
Your problems pertain
to a different domain:
the study of human ballistics.
$more[$loc[Falling] \
You're falling. It's dark. You're alone.
You're $rumble[[[plummeting->minecart fall to your doom]]] down like a stone.
Your ill-fated arc
leads down to the dark,
toward treacherous terrors unknown.]]]$loc[Minecart Junction] \
You frontload to make the cart fast,
then realize this plan was half-assed.
The cart doesn't turn,
and now you will learn:
the depths of this cavern are vast.
$more[$loc[Falling] \
You're falling. It's dark. You're alone.
You're $rumble[[[plummeting->minecart fall to your doom]]] down like a stone.
Your ill-fated arc
leads down to the dark,
toward treacherous terrors unknown.]$loc[Minecart Junction] \
You backload to make the cart slow,
but, not knowing which way to go,
the cart chooses neither,
so you take a breather
to check out the cavern below.
$more[$loc[Falling] \
You're falling. It's dark. You're alone.
You're $rumble[[[plummeting->minecart fall to your doom]]] down like a stone.
Your ill-fated arc
leads down to the dark,
toward treacherous terrors unknown.]]$loc[Minecart Narrows, Center Path] \
You jump the cart into the air!
However, the track is not there
upon your descent.
$m["Outrageous!"] you vent.
$m["There should be a sign, like 'BEWARE!']
$more[You ponder on whether to sue,
but first you've got errands to do,
like 2. escape cave,
and 1. somehow save
myself getting splooshed into goo.
$more[$loc[Falling] \
It's not looking good. You're alone.
You're $rumble[[[plummeting->minecart fall to your doom]]] down like a stone.
Your ill-fated arc
leads down to the dark,
toward treacherous terrors unknown.]]$loc[Minecart //Narrows//] \
You rapidly lower your head,
but clearly you must have misread.
I said it was narrow,
but you didn't care. Oh
no! The cart crashes instead!
$more[$loc[Falling] \
And so, from the cart you've been thrown;
you're $rumble[[[plummeting->minecart fall to your doom]]] down like a stone.
Your ill-fated arc
leads down to the dark,
toward treacherous terrors unknown.]$loc[Minecart Narrows] \
You frontload to make the cart fast!
The cart quickly smashes, crevassed.
You've anti-postponed
your own getting owned;
you're "chuck-like-a-bucket-of-glass"-ed.
$more[$loc[Falling] \
And since you've been thoughtlessly thrown,
you're $rumble[[[plummeting->minecart fall to your doom]]] down like a stone.
Your ill-fated arc
leads down to the dark,
toward treacherous terrors unknown.]$loc[Minecart Narrows] \
You backload to make the cart slow,
and narrow your eyes at your foe.
You now have more time
to ponder which rhyme
will get you where you want to go.
(link: "(more)")[(goto: "narrow R")]$loc[Minecart Narrows] \
You backload to make the cart slow,
and narrow your eyes at your foe.
You now have more time
to ponder which rhyme
will get you where you want to go.
(link: "(more)")[(goto: "narrow L")]$loc[Rapidly Approaching The Gap] \
You frontload to make the cart fast!
There's no point in dying half-assed.
Let's ram the damn gap!
You fall. Let's recap:
A pit. You sped up. A lambaste:
Your painfully poor choice of pace
will lead to a ruinous place.
Don't heed every urge
to be more like $Verge.
Show some restraint and/or grace!
$more[$loc[Falling] \
And so, from the cart you've been thrown;
you're $rumble[[[plummeting->minecart fall to your doom]]] down like a stone.
Your ill-fated arc
leads down to the dark,
toward treacherous terrors unknown.]$loc[Slowly Approaching The Gap] \
You backload to make the cart slow,
to gain time to mind how you go.
There's no left or right;
no tracks are in sight.
You'd better go upward. Although...
$more[You calculate relative mass
and gauge that to hurdle the pass
you'd have to exert
a force that would squirt
your arm muscles right out your ass.
$more[It seems quite a bit problematic,
but you've got a flair for dramatics,
so say $m["What the hey!"]
and try to downplay
the physics - go ham cinematic.
(link: "(more)")[(goto: gap)]]]$loc[Rapidly Approaching The Tunnel] \
You frontload to make the cart fast,
approaching the shaft at full blast.
When tunnel meets pate...
it doesn't feel great.
You stop, and the minecart goes past.
$more[$loc[Falling] \
And so from the cart you've been thrown.
You're $rumble[[[plummeting->minecart fall to your doom]]] down like a stone.
Your ill-fated arc
leads down to the dark,
toward treacherous terrors unknown.]$loc[Slowly Approaching The Gap] \
You backload to make the cart slow.
Your speed is decreasing, although
when tunnel meets scalp
the pain is quite palp-
able. Now you'd best look out below!
$more[$loc[Falling] \
Out from the cart you've been thrown.
You're $rumble[[[plummeting->minecart fall to your doom]]] down like a stone.
Your ill-fated arc
leads down to the dark,
toward treacherous terrors unknown.]$loc[Colossal Cave, Far Side] \
(set: $achievedMinecartSuccess to true) \
The minecart rolls in, expeditious,
and stops on the far side - auspicious!
Then out of thin air,
it's $Verge standing there! (set: $party to "$m[Mulana], $v[$Verge]")(replace: ?party)[$party]
You blink to disprove she's fictitious.
$more[You shout, $m["You're alive!"] as you gape.
$v["Ayup! The new cave-in reshaped
the rocks and revealed
a tunnel concealed.
I'm glad I caught up. Let's [[escape->ascend]]!"]]
$knapsack{
(if: $minecartStage <= 2)[(set: $minecartChoices to (a: "You hastily lean to the left", "You hastily lean to the right"))]
(else-if: $minecartStage <= 4)[(set: $minecartChoices to (a: "You hastily lean to the left", "You hastily lean to the right", "You jump the cart into the air", "You rapidly lower your head"))]
(else:)[(set: $minecartChoices to (a: "You hastily lean to the left", "You hastily lean to the right", "You jump the cart into the air", "You rapidly lower your head", "You frontload to make the cart fast", "You backload to make the cart slow"))]
} (if: $minecartStage >= 3)[ \
(replace: "Minecart Junction")[Minecart Junction #2] \
(replace: "Minecart Narrows")[Minecart Narrows #2] \
(replace: "#2 #2")[`#2`]
]Skip ahead to:
* [[Prologue->intro]]
* [[Act I: Sarcophagus Shenanigans->SKIP TO ACT ONE]]
* [[Act II: Boulder Banter->SKIP TO ACT TWO]]
* [[Act III: Catapult Catastrophe->SKIP TO ACT THREE]]
* [[Final Act: Minecart Mayhem->SKIP TO MINECART]]
//These options will give you a consistent, fixed set of items that might not be the items you actually had on your playthrough.//(if: $achievedAct < 1)[(set: $achievedAct to 1)]
(display: "save act 1") \
(set: $isCutscene to false) \
(set: $isIntro to false) \
(display: "act 1 invariants") \
<div class="titlecard">$m[LIMERICK]|line2)[
$m[QUEST]]</div>
|line3)[<div class="act">ACT I</div>]
|line4)[<div class="act">Sarcophagus Shenanigans</div>]
|limerick)[[[(raid)->Frozen Underground Lake]]]
{
(live: 1s)[
(show: ?line2)
(stop:)
]
(live: 3s)[
(show: ?line3)
(stop:)
]
(live: 4s)[
(show: ?line4)
(stop:)
]
(live: 5s)[
(show: ?limerick)
(stop:)
]
}(set: $isIntro to false) (set: $hasCoil to true) (goto: "Ice Slide")$loc[Locked Tomb] \
(set: $chestTriedCoil to true) \
The tomb has a keyhole-shaped socket.
You reach deep down into your pocket,
grab hold of a $item[coil]
and, with some turmoil,
proceed to the tomb to unlock it.
$more[The coil is too tight and too thick
to practically use as a pick.
You wiggle and jam,
finagle and ram,
then toss in your sack with a flick.
[[(return)->chest puzzle]]]$loc[Stalactites] \
Stalactites adhere to the ceiling -
except for one spike that went reeling
a thousand years prior
and caused to expire
a [[person->person]] now pinned ever-kneeling.
$knapsack
{
(set: $n to false)
(set: $w to "Altar")
(set: $e to "Frozen Underground Lake")
(set: $s to false)
}
(display: "COMPASS")$loc[Obsidian Altar] \
You enter the cave to explore,
and see a sight hard to ignore.
It's hardly quotidian:
an [[altar obsidian->Obsidian Altar]],
centered 'twixt passageways four:
$knapsack
{
(set: $n to "statue puzzle start")
(set: $w to "Tomb Room")
(set: $e to "Stalactites")
(set: $s to "cul-de-sac")
}
(display: "COMPASS")
(replace: "is a choice, as is")[there's a passage, like]$loc[Tomb Room] \
A sepulcher? Vault? It's a room
containing a stone-lidded [[tomb]].
(if: $hasGin)[ \
The wall's lined with niches
that do not hold riches,
just really old booze to consume.
] \
(else:)[ \
The wall's lined with [[niches]]
that might hide some riches,
but you wouldn't want to presume.
] \
$knapsack
{
(set: $n to false)
(set: $w to false)
(set: $e to "Altar")
(set: $s to false)
}
(display: "COMPASS")$loc[Ocelot Statues] \
A gate made of ice blocks your way.
Two ocelot statues survey
the cave from each side,
their mouths gaping wide,
conspicuous holes on display.
$Verge ponders and widens her eyes.
(set: $choice to "AN ERROR HAS STRUCK BY SURPRISE") \
(set: $firstChoice to "\"Mulana, I think it's the size.\"") \
(set: $firstText to "$v[\"$Mulana, I think it's the size.\"") \
(if: $statueHintNumber > 1)[(set: $firstChoice to "\"Mulana, more thoughts about size...\"") (set: $firstText to "$v[\"Mulana, more thoughts about size...\"]")] \
|advise>[(dropdown: bind $choice, $firstChoice, "\"Mulana -\" \"Hush. I'll improvise.\"")
(confirm)] \
(click: "(confirm)")[ \
(unless: $choice is "\"Mulana -\" \"Hush. I'll improvise.\"")[ \
(replace: ?advise)[ \
(if: $statueHintNumber is 1)[$v["Mulana, I think it's the size.
The mouths won't admit
without perfect fit,
so [[this->statue hint]] is what I would advise."]] \
(else:)[$v["Mulana, more thoughts about size...
the mouths won't admit
without perfect fit,
so [[this->statue hint]] is what else I'd advise."]]]] \
(if: $choice is "\"Mulana -\" \"Hush. I'll improvise.\"")[ \
(replace: ?advise)[$v["$Mulana -"] $m["Hush. I'll improvise."]
$v["Whatevs, 'mastermind',
but if you're inclined
to let me help out, I'll [[advise->statue hint]]."]]]]
|puzzle>[ \
The |item1>[$inv]: now in One's maw.
The |item2>[$inv]: now on Two's jaw.
$precog[Each fits like a glove!
And then, up above,
the gate made of ice starts to thaw.]]
|knapsack>[(display: "INV")]
{
(set: $statueItem to false)
(set: $statueItem1 to false)
(set: $statueItem2 to false)
(click: ?notea)[
(set: $statueItem to "no tea")
(display: "click on a statue item")
]
(click: ?egg)[
(set: $statueItem to "egg")
(display: "click on a statue item")
]
(click: ?shovel)[
(set: $statueItem to "shovel")
(display: "click on a statue item")
]
(click: ?coil)[
(set: $statueItem to "coil")
(display: "click on a statue item")
]
(click: ?gin)[
(set: $statueItem to "gin")
(display: "click on a statue item")
]
(click: ?key)[
(set: $statueItem to "key")
(display: "click on a statue item")
]
(click: ?whip)[
(set: $statueItem to "whip")
(display: "click on a statue item")
]
(click: ?thread)[
(set: $statueItem to $threadOrdinals's $threadNumber)
(display: "click on a statue item")
]
(click: ?potions)[
(set: $statueItem to "strength potions")
(display: "click on a statue item")
]
(click: ?schist)[
(set: $statueItem to "schist")
(display: "click on a statue item")
]
(set: $n to false)
(set: $w to false)
(set: $e to false)
(set: $s to "Altar")
}
(display: "COMPASS") \
(replace: "Passages northward have ceased")[A gate blocks the north like a beast]
(replace: " is right out")['s a cave wall](if: $pressureDone)[(goto: "pressure done")] \
$loc[Secret Treasure Room] \
You made it! A shining gold treasure,
which surely has worth beyond measure,
just sits on a pillar!
You're sure that no killer
trap will incur your displeasure.
$more[Aw, heck. There's a pressurized plate
that senses the treasure's true weight.
So now to arrange
a nimble exchange
with an item whose mass will equate.
$more[$v["That $item[treasure] looks heavy. You'd best
swap two of your things,"] $Verge suggests.
//You've just got one shot,//
so give some good thought
to keeping that pressure plate pressed.
$v["Hey boss, want more weight advice?"] \
(set: $choice to "ERROR") \
|advise>[(dropdown: bind $choice, "\"Hit me.\"", "\"Nope.\"")
(confirm)] \
(click: "(confirm)")[ \
(if: $choice is "\"Nope.\"")[ \
(replace: ?advise)[$m["Nope."]
$v["Whatevs! I'll just stand here and mope.
If you run outta luck,
[[I'll get you unstuck.]]
So don't, like, abandon all hope."]]]
(unless: $choice is "\"Nope.\"")[ \
(goto: $choice)]]
You pick out your $item[|item1>[___]] and your $item[|item2>[___]],
approach, taking care not to $xxx,
you balance, review,
$precog[then swap - //switcheroo!//
It's done! Did the pressure plate $xxx?]
|knapsack>[(display: "INV")]
{
(set: $pressureItem to false)
(set: $pressureItem1 to false)
(set: $pressureItem2 to false)
(click: ?notea)[ (set: $pressureItem to "no tea") (display: "click on a pressure item") ]
(click: ?egg)[ (set: $pressureItem to "egg") (display: "click on a pressure item") ]
(click: ?shovel)[ (set: $pressureItem to "shovel") (display: "click on a pressure item") ]
(click: ?coil)[ (set: $pressureItem to "coil") (display: "click on a pressure item") ]
(click: ?gin)[ (set: $pressureItem to "gin") (display: "click on a pressure item") ]
(click: ?key)[ (set: $pressureItem to "key") (display: "click on a pressure item") ]
(click: ?whip)[ (set: $pressureItem to "whip") (display: "click on a pressure item") ]
(click: ?thread)[ (set: $pressureItem to $threadOrdinals's $threadNumber) (display: "click on a pressure item") ]
(click: ?potions)[ (set: $pressureItem to "strength potions") (display: "click on a pressure item") ]
(set: $n to false)
(set: $w to false)
(set: $e to false)
(set: $s to "wormhole")
}
(display: "COMPASS") \
(replace: " is right out, as is")['s a cave wall, as is]]]{
(if: $isBouldered)[
(unless: $seenAct3TitleCard)[
(set: $isCutscene to true)
(goto: "ACT THREE")
]
(else:)[
(display: "ex-cul-de-sac")
]]
(unless: $isBouldered)[
(display: "dead end")]
}$loc[Pink Crystal Cave] \
A cave full of crystals, all pink.
A wind blows; they vibrate in sync.
$v["A breeze! That means out!"]
says $Verge with a shout.
She's got a good point there, you think.
$knapsack
{
(set: $n to "narrow bridge")
(set: $w to "door puzzle")
(set: $e to false)
(set: $s to "cave-in")
}
(display: "COMPASS") \
(replace: "though not east")[crystals east]
(replace: "is a choice")[is a door]
(replace: "Lastly, there's")[The wind's from the]$loc[Catapult] \
A $item[cave-in of tons of stressed rocks,
stacked thick as the stubbornest ox]
has blocked this egress.
You won't acquiesce!
$m["Heh, simple as picking some locks."]
$more[A catapult arm's lodged inside.
If just enough force is applied,
it acts like a lever,
dislodging whatever,
and clearing a path to outside.
$more[The catapult's basket awaits,
positioned to break through the gates.
Precisely apprise
its limited size
and then overload it with weights.
$more[You place in the basket the |item1>[$inv]
in hopes the blockade will collapse.
You load the |item2>[$inv],
the |item3>[$inv], the |item4>[$inv],
and |item5>[$inv] to fill in the gaps.
|knapsack>[(display: "INV")]
{
(set: $catItem to "ERROR")
(set: $catItems to (a: false, false, false, false, false))
(set: $cati to 1)
(click: ?egg)[
(if: $invHeistLoot)[(set: $catItem to "heist loot")]
(else:)[(set: $catItem to "egg")]
(display: "click on a catapult item")]
(click: ?whip)[
(if: $invCat)[(set: $catItem to "cat-o'-one-tail")]
(else:)[(set: $catItem to "whip")]
(display: "click on a catapult item")]
(click: ?shovel)[
(if: $invDigger)[(set: $catItem to "digger")]
(else:)[(set: $catItem to "shovel")]
(display: "click on a catapult item")]
(click: ?notea)[
(if: $invChai)[(set: $catItem to "no Chai Spice")]
(else:)[(set: $catItem to "no tea")]
(display: "click on a catapult item")]
(click: ?coil)[
(if: $invSpring)[(set: $catItem to "stretched spring")]
(else:)[(set: $catItem to "stretched coil")]
(display: "click on a catapult item")]
(click: ?key)[
(if: $invDevice)[(if: $invChai)[(set: $catItem to "opening-doors-type device")](else:)[(set: $catItem to "opening-doors-type debris")]]
(else:)[(set: $catItem to "key")]
(display: "click on a catapult item")]
(click: ?gin)[
(if: $invSchnapps)[(set: $catItem to "schnapps")]
(else:)[(set: $catItem to "gin")]
(display: "click on a catapult item")]
(click: ?potions)[
(if: $invDraughts)[(set: $catItem to "strength draughts")]
(else:)[(set: $catItem to "strength potions")]
(display: "click on a catapult item")]
(click: ?thread)[
(if: $invString)[(set: $catItem to $ordinals's $threadNumber + " string")]
(else:)[(set: $catItem to $ordinals's $threadNumber + " thread")]
(display: "click on a catapult item")]
(click: ?treasure)[
(if: $invTombLoot)[(set: $catItem to "tomb loot")]
(else:)[(set: $catItem to "treasure")]
(display: "click on a catapult item")]
(click: ?schist)[
(if: $invGneiss)[(set: $catItem to "gneiss")]
(else:)[(set: $catItem to "schist")]
(display: "click on a catapult item")]
(set: $n to "Crystal Cave")
(set: $w to false)
(set: $e to false)
(set: $s to false)
}
(display: "COMPASS") \
(replace: " is right out")['s a cave wall]]]]$loc[Stalactites (examining the skeleton)] \
A [[skeleton]] - Aztec or Russian?
A topic that's up for discussion.
Much easier guessed:
stalactite through chest -
this chump did not die of concussion.
$knapsack
[[(return)->Stalactites]]$loc[Stalactites (examining the skeleton)] \
(set: $hasKey to true) \
|knapsack>[(display: "INV")] \
(replace: "key")[$item[key]]
[[(return)->skeleton]]$loc[Stalactites (examining the skeleton)] \
You search through the bones and you see
this stiff has bequeathed you a key!
A boon for a schemer,
right next to that [[femur]],
just lying amongst the debris.
$knapsack
[[(return)->Stalactites]] \
\
(unless: $hasKey)[(replace: "key")[[[key]]]]$loc[Stalactites (examining the skeleton)] \
$v["Hey boss, are you taking that bone?"]
$Verge asks in a dangerous tone.
$v["Their soul would be hosed,
the way that they're posed -
I think we should leave it alone."]
$more[$m["I thought you were just avaricious,
not even a bit superstitious."]
$v["I'm full of surprises!"]
$m["And I, compromises."]
$v["That's great! I won't have to get vicious."]]
$knapsack
[[(return)->skeleton]]{
(set: $hasThread to true)
(set: $threadNumber to 13)
(set: $hasPotions to true)
(set: $hasGin to true)
(set: $hasCoil to true)
(set: $hasKey to true)
}
[[statue puzzle]] (set: $isIntro to false) (set: $hasCoil to true) \
(set: $hasKey to true) (set: $hasGin to true) (set: $hasPotions to true)
(set: $hasThread to true) (set: $threadNumber to 77) \
(goto: "pressure puzzle")$loc[Aztec Enigma] \
The Aztec Enigma! Dramatic!
It looks like a blueprint schematic.
There's circles and pipes
and gears of all types.
There's no other word: enigmatic!
$more[Again you play [[language detective]],
and though your translation's subjective,
you're pretty darn sure
this enigma obscure
professes to "change your perspective".
$more[The focal location's a ring
which sometimes emits a soft ping.
Within glows a bright
corona of light.
The center's the size of [[a thing]].
$knapsack
{
(set: $n to false)
(set: $w to false)
(set: $e to "Crystal Cave")
(set: $s to false)
}
(display: "COMPASS") \
(replace: " is right out, but there's")[, lots of pipes. Back is] \
(replace: "zilch")[gears]]]$loc[Obsidian Altar] \
An altar, too heavy to move.
You hope that it won't disapprove
of your close inspection.
Near the midsection,
you notice a shallow, thin (link-reveal: "groove.")[
A channel to catch flowing blood
and focus the trickle to flood
and spill off the brink.
You look and you think
you see crusty stains, brown like mud.
$more[Sacrifice. Aztecs were known for it.
This altar was carefully honed for it.
By what weird criteria
is this near Siberia?
You don't know - just don't end up prone for it.]]
$knapsack
[[(return)->Altar]]$loc[Tomb Room (examining the tomb)] \
This human-sized box is the tomb
of whom you can only assume
was some kind of ruler.
Well, you are a jeweler
and you've got some loot to [[exhume->chest puzzle start]].
[[(return)->Tomb Room]]$loc[Tomb Room (examining the niches)] \
The niches! What might lie within?
You're searching, when $Verge yells, $v["I win!"]
Before you can ask,
she gulps from a flask,
and says, $v["It's some really old gin!"]
$more[You shout, $m["Do not drink the antiquities!"]
(if: $doNotDrinkTheAntiquities)[$v["Too late! One of many iniquities."]] \
(else:)[She shrugs. $v["One of many iniquities."]]
$m["My beef with your flaws
is you never press pause;
they're practically freakin' ubiquities!"]
$more[$v["Touché,"] $Verge replies with a pout.
$v["But look on the bright side: no doubt
about what is in
this bottle: it's [[gin]].
It's horrible!"] $Verge holds it out.]]
$knapsack$loc[Tomb Room (examining the niches)] \
You snatch the old bottle of $item[gin] (set: $hasGin to true)
and toss it haphazardly in
your knapsack. $v["You bore!
I want a bit more!"]
You play her a wee violin. \
\
(click: "knapsack")[
(display: "INV")]
[[(return)->Tomb Room]]$loc[Locked Tomb] \
(set: $chestTriedGin to true) \
The tomb has a keyhole-shaped socket.
You reach deep down into your pocket,
grab hold of the $item[gin],
and drink from within.
$Verge carps, $v["Talk the talk, but don't walk it."]
[[(return)->chest puzzle]](set: $isCutscene to false) \
$loc[Ex-cul-de-sac] \
A limestoney path with no bends
northward and southward extends.
A boulder went SMASH
and made a big gash;
it's good to have giant stone friends.
$knapsack
{
(set: $n to "Altar")
(set: $w to false)
(set: $e to false)
(set: $s to false)
(if: $isBouldered)[(set: $s to "narrow bridge")]
}
(display: "COMPASS")
(replace: "is right out, as is")[is rough rock, as is]$loc[Cul-de-sac] \
A limestoney path with no bends
southward and southward extends.
You journey a ways,
then to your dismays,
the passage just up and dead ends.
$knapsack
{
(set: $n to "Altar")
(set: $w to false)
(set: $e to false)
(set: $s to false)
}
(display: "COMPASS") \
(replace: "as is east,")[as is east.] \
(replace: "and zilch")[Dead end](if: $invString)[(display: "tatters string")](else:)[(display: "tatters thread")]$loc[Opened Tomb] \
(set: $hasPotions to true) \
|knapsack>[(display: "INV")] \
(replace: "strength potions")[$item[strength potions]]
[[(return)->open chest]](set: $isBouldered to true) \
(set: $invHeistLoot to false) \
(set: $invCat to false) \
(set: $invChai to true) \
(set: $hasKey to false) (set: $invDevice to false) \
(set: $hasCoil to true) (set: $invSpring to true) \
(set: $hasGin to true) (set: $invSchnapps to false) \
(set: $hasTreasure to false) (set: $invTombLoot to true) \
(set: $hasShovel to true) (set: $invDigger to true) \
(set: $hasThread to true) (set: $invString to true) \
(set: $threadNumber to 17) \
(set: $hasPotions to false) (set: $invDraughts to false) \
(set: $hasSchist to false) (set: $invGneiss to false) \
egg (if: $hasEgg)[(if: $invHeistLoot)[heist loot](else:)[true]](else:)[false]
key (if: $hasKey)[(if: $invDevice)[door-opening thingy](else:)[true]](else:)[false]
coil (if: $hasCoil)[(if: $invSpring)[spring](else:)[true]](else:)[false]
gin (if: $hasGin)[(if: $invSchnapps)[schnapps](else:)[true]](else:)[false]
potions (if: $hasPotions)[(if: $invDraughts)[draughts](else:)[true]](else:)[false]
schist (if: $hasSchist)[(if: $invGneiss)[gneiss](else:)[true]](else:)[false]
treasure (if: $hasTreasure)[(if: $invTombLoot)[tomb loot](else:)[true]](else:)[false]
shovel (if: $hasShovel)[(if: $invDigger)[digger](else:)[true]](else:)[false]
thread (if: $hasThread)[(if: $invString)[string ]$displayThreadNumber](else:)[false]
(display: "INV")
(click-goto: ?notea, "LOCATION IS ERROR") \
(click-goto: ?egg, "LOCATION IS ERROR") \
(click-goto: ?whip, "LOCATION IS ERROR") \
(click-goto: ?shovel, "LOCATION IS ERROR") \
(click-goto: ?key, "LOCATION IS ERROR") \
(click-goto: ?gear, "LOCATION IS ERROR") \
(click-goto: ?coil, "LOCATION IS ERROR") \
(click-goto: ?gin, "LOCATION IS ERROR") \
(click-goto: ?thread, "LOCATION IS ERROR") \
(click-goto: ?potions, "LOCATION IS ERROR") \
(click-goto: ?treasure, "LOCATION IS ERROR") \
(click-goto: ?schist, "LOCATION IS ERROR")(print: $ordinals's $threadNumber)$loc[Narrow Bridge (north side)] \
A shine from the south tempts your view,
but a chasm's between it and you.
You see a stone bridge
whose width is a smidge
less wide than the sole of your shoe.
(if: $isBridged)[ \
(replace: "Narrow")[Relievingly Wide] \
(replace: "the sole of your shoe")[a turkey or two] \
(replace: "a turkey")[(either: "a turkey", "a meter", "a pillow", "an otter", "a tiger", "an Xbox", "a breadbox", "an ostrich", "a dolphin", "an oboe", "a hacksaw", "a bathtub", "a banshee", "a beehive")] \
] \
$knapsack
{
(set: $n to "cul-de-sac")
(set: $w to false)
(set: $e to false)
(set: $s to false)
(if: $isBridged)[
(set: $s to "Crystal Cave")]
(else:)[
(set: $s to "bridge attempt")]
(display: "COMPASS")
(replace: "is right out, as is")[is the pit, as is]
(replace: "Lastly, there's")[The bridgeway is]
}(set: $localSwapYerThread to false) \
(if: $hasThread)[ \
(set: $localThread to ($threadOrdinals's $threadNumber)) \
(set: $localVolume to $volume's ($localThread)) \
(if: $localVolume is not 3)[(set: $localSwapYerThread to true)]] \
(if: $localSwapYerThread)[ \
$v["Take for example an $item[apricot].
It's equal in size to an $item[ocelot].
You've gotten some thread,
but swap it instead.
I think you need one that you haven't got."]] \
(else:)[ \
$v["An $item[ocelot], everyone knows,
is three times as big as a $item[rose],
and exactly identical
in size to a $item[tentacle].
Statue mouths gotta enclose
the perfect-sized items. Experiment!
No doom will occur, only merriment."]
$m["You say that each time.
Remember last crime?"]
$v["I'm not optimistic, just arrogant."]]$initializePuzzle \
(set: $statueTriedNoTea to false) \
(set: $statueTriedEgg to false) \
(set: $statueTriedShovel to false) \
(set: $statueTriedCoil to false) \
(set: $statueTriedGin to false) \
(set: $statueTriedKey to false) \
(set: $statueTriedWhip to false) \
(set: $statueTriedThread to false) \
(set: $statueTriedPotions to false) \
(if: $solvedStatue)[(display: "open ocelot statues")] \
(else:)[(display: "statue puzzle")]$loc[Ocelot Statues] \
A gate made of slush (ice puree).
Two ocelot statues survey
the cave from each side,
their mouths gaping wide.
You solved this; there's no need to stay.
$knapsack
{
(set: $n to "wormhole")
(set: $w to false)
(set: $e to false)
(set: $s to "Altar")
}
(display: "COMPASS") \
(if: $isOcelotShattered)[(replace: "their mouths gaping wide")[one mouth shattered wide]] \
(replace: "unpoliced")[past the beasts]
(replace: " is right out")['s a cave wall]{
<!-- INPUT: $statueItem, $statueItem1, $statueItem2 -->
(if: $statueItem1 is not false)[
(set: $statueItem2 to $statueItem)
(replace: ?item2)[$item[$statueItem]]
(live: 0.2s)[(goto: "statue attempt")]
]
(if: $statueItem1 is false)[
(set: $statueItem1 to $statueItem)
(replace: ?item1)[$item[$statueItem]]
]
}$loc[Ocelot Statues] \
The |item1>[$item[$statueItem1]]: now in One's maw.
The |item2>[$item[$statueItem2]]: now on Two's jaw.
(set: $volume1 to $volume's $statueItem1) \
(set: $volume2 to $volume's $statueItem2) \
(if: $volume1 > 3)[(replace: ": now in")[: not in]] \
(if: $volume2 > 3)[(replace: ": now on")[: not on]] \
(set: $localDone to false) \
<!-- These are all the cases:
1 1
1 2 / 2 1
2 2
2 3 / 3 2
3 3
1 4 / 4 1
1 5 / 5 1
1 6 / 6 1
2 4 / 4 2
2 5 / 5 2
2 6 / 6 2
3 4 / 4 3
3 5 / 5 3
3 6 / 6 3
--> \
<!-- 3 3 --> \
(if: ($volume1 is 3) and ($volume2 is 3))[ \
(set: $localDone to true) \
Each fits like a glove!
And then, up above,
the gate made of ice starts to thaw. (set: $solvedStatue to true)
(set: $isCutscene to true) \
[[(enter)->ACT TWO]] \
] \
\
<!-- 1 1 --> \
(if: (not $localDone) and ($volume1 is 1) and ($volume2 is 1))[ \
(set: $localDone to true) \
The $statueItem1's way too little,
the $statueItem2 as well. It'll
take way more to fill up this craw.] \
\
<!-- 1 2 / 2 1 / 2 2 --> \
(if: (not $localDone) and ($volume1 <= 2) and ($volume2 <= 2))[ \
(set: $localDone to true) \
(if: ($statueItem1 is "shovel") or ($statueItem2 is "shovel"))[ \
The shovel's a bit
too small for a fit -
a minor yet stymieing flaw.] \
(else:)[ \
No tea is a bit
too small for a fit -
a minor yet stymieing flaw.]] \
\
<!-- 2 3 / 3 2 --> \
(if: (not $localDone) and ($volume1 <= 3) and ($volume2 <= 3) and ($volume1 >= 2) and ($volume2 >= 2))[ \
(set: $localDone to true) \
(if: $volume1 is 3)[(set: $localGoodItem to $statueItem1) (set: $localBadItem to $statueItem2)] \
(else:)[(set: $localGoodItem to $statueItem2) (set: $localBadItem to $statueItem1)] \
(if: $localGoodItem is "strength potions")[ \
The strength potions fit!
The $localBadItem, though, it
is a little too small for the craw.] \
(else:)[ \
The $localGoodItem fits!
The $localBadItem, though, it's
a little too small for the craw.]] \
\
<!-- 1 3 / 3 1 --> \
(if: (not $localDone) and ($volume1 <= 3) and ($volume2 <= 3))[ \
(set: $localDone to true) \
(if: $volume1 is 3)[(set: $localGoodItem to $statueItem1) (set: $localBadItem to $statueItem2)] \
(else:)[(set: $localGoodItem to $statueItem2) (set: $localBadItem to $statueItem1)] \
(if: $localGoodItem is "strength potions")[ \
The strength potions fit!
But here's some tough shit:
the $localBadItem's way too small for the craw.] \
(else:)[ \
The $localGoodItem fits!
But this is the pits:
the $localBadItem's way too small for the craw.]] \
\
<!-- 3 4 / 4 3 --> \
(if: (not $localDone) and ($volume1 <= 4) and ($volume2 <= 4) and ($volume1 >= 3) and ($volume2 >= 3))[ \
(set: $localDone to true) \
(if: $volume1 is 3)[(set: $localGoodItem to $statueItem1) (set: $localBadItem to $statueItem2)] \
(else:)[(set: $localGoodItem to $statueItem2) (set: $localBadItem to $statueItem1)] \
The $localGoodItem? Fed!
But the $localBadItem
is slightly too big for the craw.] \
\
<!-- 1 4 / 4 1 / 2 4 / 4 2 --> \
(if: (not $localDone) and ($volume1 <= 4) and ($volume2 <= 4))[ \
(set: $localDone to true) \
(if: $volume1 is 4)[(set: $localBigItem to $statueItem1) (set: $localSmallItem to $statueItem2)] \
(else:)[(set: $localBigItem to $statueItem2) (set: $localSmallItem to $statueItem1)] \
One cat's underfed,
and the $localBigItem
is slightly too big for the craw.] \
\
<!-- 3 5 / 5 3 --> \
(if: (not $localDone) and ($volume1 <= 5) and ($volume2 <= 5) and ($volume1 >= 3) and ($volume2 >= 3))[ \
(set: $localDone to true) \
(if: $volume1 is 3)[(set: $localGoodItem to $statueItem1) (set: $localBadItem to $statueItem2)] \
(else:)[(set: $localGoodItem to $statueItem2) (set: $localBadItem to $statueItem1)] \
The strength potions fit!
The... other thing? It
is much too immense for the craw.] \
\
<!-- 1 5 / 5 1 / 2 5 / 5 2 --> \
(if: (not $localDone) and ($volume1 <= 5) and ($volume2 <= 5))[ \
(set: $localDone to true) \
(if: $volume1 is 5)[(set: $localBigItem to $statueItem1) (set: $localSmallItem to $statueItem2)] \
(else:)[(set: $localBigItem to $statueItem2) (set: $localSmallItem to $statueItem1)] \
One cat can't be fed;
the, uh... (text-style: "condense")[$localBigItem]
is much too immense for the craw.] \
<!-- * 6 / 6 * --> \
(if: (not $localDone) and ($volume1 <= 6) and ($volume2 <= 6))[ \
(set: $localDone to true) \
(set: $solvedStatue to true) \
(set: $isOcelotShattered to true) (set: $achievedOcelotShatter to true) \
(if: $volume1 is 3)[ \
(set: $localGoodItem to $statueItem1) (set: $localBadItem to $statueItem2) \
(replace: ": not on")[ shatters] (replace: "jaw.")[jaw!] \
The $localGoodItem fit!
] \
(else:)[ \
(set: $localGoodItem to $statueItem2) (set: $localBadItem to $statueItem1) \
(replace: ": not in")[ shatters] (replace: "maw.")[maw!] \
One cat's underfed.
] \
The $displayThreadNumber thread?
Umm...
$more[You know, there are only two threads
in the entire pile of ancient Aztec king-garb tatters
that are $size[6] big.
You really went out of your way
to pick something I can't fit into a limerick; congrats!
$more[To honor the glory of you
epitomizing "overdo",
some things up I'll mix
and try some new tricks:
(link-reveal: "a celebratory haiku.")[
<div class="haiku">dahlia petals
strewn haphazardly on stone
a thousand years pass</div>]
(link: "So anyway...")[ \
You cram the $displayThreadNumber thread in the maw.
It's so huge it shatters its jaw!
This shock activates
a switch that negates
the ice, and the gate starts to thaw.
(set: $isCutscene to true) \
[[(enter)->ACT TWO]] \
]]]] \
(if: (($statueItem1 is "no tea") or ($statueItem2 is "no tea")) and (not $solvedStatue))[
$more[There's also the trivial hitch
that $item[no tea] is kind of a glitch.
It's not even there!
It's thin as thin air!
Your brain starts to wriggle and twitch.
$more[How can $item[no tea] have a size?
Why is it bigger than $item[fries]
and smaller than $item[elephants]?
Filter for relevance.
Think with your mouth, not your eyes.]]] \
\
(if: ($statueItem1 is "shovel") or ($statueItem2 is "shovel"))[
An ocelot's started to bite!
Its jaw clenches down awfully tight.
Your shovel's been pulverized!
That done, the mechanized
jaw reassumes its full height. \
(set: $hasShovel to false) (set: $brokeShovel to "statue")] \
\
(unless: $localDone)[AN ERROR OCCURRED IN THE CRAW] \
(unless: $solvedStatue)[
[[(try again)->statue puzzle]]]{
<!-- INPUT: $minecartPassage, $minecartFallbackPassage -->
(if: $choice is "You hastily lean to the left")[ \
(set: $localSuffix to " left")] \
(if: $choice is "You hastily lean to the right")[ \
(set: $localSuffix to " right")] \
(if: $choice is "You jump the cart into the air")[ \
(set: $localSuffix to " jump")] \
(if: $choice is "You rapidly lower your head")[ \
(set: $localSuffix to " duck")] \
(if: $choice is "You frontload to make the cart fast")[ \
(set: $localSuffix to " fast")] \
(if: $choice is "You backload to make the cart slow")[ \
(set: $localSuffix to " slow")] \
(set: $localGoto to $minecartPassage + $localSuffix)
(if: (altered: via its name, ...(passages:)) contains $localGoto)[(goto: $localGoto)]
(else:)[
(set: $localGoto to $minecartFallbackPassage + $localSuffix)
(if: (altered: via its name, ...(passages:)) contains $localGoto)[(goto: $localGoto)]
(else:)[(goto: "MINECART ERROR")]]
}{
(if: $achievedAct < 2)[(set: $achievedAct to 2)]
(display: "save act 2") \
(set: $isCutscene to false) \
(set: $isIntro to false) \
(display: "act 2 invariants") \
}
<div class="act">ACT II</div>
|line2)[<div class="act">Boulder Banter</div>]
|limerick)[[[(raid)->open ocelot statues]]]
{
(live: 1s)[
(show: ?line2)
(stop:)
]
(live: 2s)[
(show: ?limerick)
(stop:)
]
}{
<!-- Achievements -->
(set: $achievedAct to 0) <!-- not really an achievement, but it sticks like one -->
(set: $achievedOcelotShatter to false)
(set: $achievedProphecy to false)
(set: $achievedAbandonedVerge to false)
(set: $achievedTwoTruthsAndALie to false)
(set: $achievedTreasure to false)
(set: $achievedDoubleVampire to false)
(set: $achievedMinecartSuccess to false)
(set: $achievedMeltedKey to false)
(set: $achievedTaco to false)
}{
<!-- Options -->
(set: $isMore to true)
(set: $more to (link: "(more)"))
(set: $isBlurry to true)
(set: $precog to (text-style: "outline"))
(set: $isTimed to true)
}$loc[Ocelot Statues (talking to $Verge)] \
(set: $localDone to false) \
(unless: $hasPotions and $hasThread)[(set: $localDone to true) \
$v["Mulana, you shouldn't assume
you have what you need for this room.
If I may persuade,
I think we should raid
some more of this cavernous tomb."]] \
(unless: $localDone)[ \
(display: "statue hint " + (text: $statueHintNumber))] \
(set: $statueHintNumber to it + 1) (if: $statueHintNumber > 3)[(set: $statueHintNumber to 1) (set: $isHintRandomized to true)] \
(if: $isHintRandomized)[ \
(replace: "an apricot")[(either: "an apricot", "a juggernaut", "an astronaut", "Sir Lancelot", "an afterthought")]
(replace: "ocelot,")[(either: "ocelot,", "octopus,", "orphanage,", "aubergine,", "anchovy,", "icicle,", "elephant,", "underdog,")] \
(replace: "as you can see")[take it from me] \
(replace: "whip")[(either: "whip", "egg", "coil")] \
(replace: "tentacle")[(either: "tentacle", "pentacle")] \
(set: $localBee to (text: (either: "bee", "flea", "pea"))) \
(replace: "tree")[$localBee] \
(replace: "gallon")[(either: "thimble", "thimble", "smidgen", "tulip", "small drop")] \
]
[[(return)->statue puzzle]]$v["An $item[ocelot], as you can see,
is three times as big as a $item[tree].
And when I bake $item[pies],
they're all a tree's size,
so best bring a gallon of tea!"]
$more[$v["By thinking and paying attention
you'll soon attain size comprehension.
To learn to compute it,
don't try to refute it,
just toss away worldly convention."]]$v["I'll get out my tape measure, see?
This $item[ocelot]? Spot on at $size[3].
Your $item[whip] is size $size[1].
And check this out, hon,
your $item[shovel]'s size $size[2], guarantee."]
(if: $brokeShovel is "pit")[
$m["My shovel, you say? Funny thing...
Where is it? Did somebody //fling
it into a pit?//
I'm sure that's not it."]
$Verge throws out her palms and says, $v["Zing."]] \
(if: $brokeShovel is "tomb")[
$m["My shovel? My shovel, you say?
Did somebody get in the way
and //pry up a tomb?//
No //pro,// I assume."]
$Verge throws out her palms, says, $v["Touché."]] \
(if: (not $hasShovel) and ($brokeShovel is not "pit") and ($brokeShovel is not "tomb"))[
$m["My shovel, if you will recall,
is broken. Kaput. Gone AWOL."]
$Verge says, $v["Right, I knew.
But it'd be $size[2]
if you had it. I'm sayin', that's all."]]$loc[Wormhole] \
A circular shaft, smooth and firm
as if it was dug by a worm.
$v["Three feet in radius,"]
$Verge says, spontaneous.
$m["A really big worm,"] you confirm.
$knapsack
It widens up [[north->pressure puzzle]]. Be released!
West's a smooth wall, as is east.
The statues are [[south->open ocelot statues]].
|coda>[A BUG IN YOUR MOUTH
AN ERROR-FREE RUN HAS NOW CEASED]
{
(set: $n to "pressure puzzle")
(set: $s to "open ocelot statues")
(set: $w to false)
(set: $e to false)
}
(display: "MOUTH")$loc[Secret Treasure Room] \
You rescue your stuff from the plate,
then [[run with a double-time gait.->boulder banter]]
(if: $hasTreasure)[You're sure you were right,
so wherefore this plight?
Oh, well! There's no time to debate!] \
(else:)[You missed your one chance
for treasure and dance,
but damned if you'll meet a flat fate.]{
(set: $party to "$m[Mulana], $v[Verge], $b[a boulder]") \
(set: $run to (link: "(run)"))
(set: $pressureDone to true)
(goto: "boulder escape")
}$m["We raided a tomb. There's a boulder.
We triggered a trap on the holder
of treasure - that plate.]
(if: $hasTreasure)[$m[We picked the right weight,
but still we risk not getting older."]] \
(else:)[$m[We picked the wrong weight,
and now we risk not getting older."]]
$run[$Verge shrugs at your practical answer,
and twirls as she runs, like a dancer.
You follow. Your feet
both rush to compete
for which gets to be the advancer.
$run[(if: $hasTreasure)[ \
$v["I'm sure that the weight was correct,"]
says $Verge. $v["Guaranteed, double-checked.
But maybe the gears,
after thousands of years,
had gotten run-down from neglect."]
$m["It's really not fair,"] you agree,] \
(else:)[ \
$v["I don't mean to bitch or insult,
but I bet that //I'd// get a result -
like getting that treasure,"]
$Verge gripes with displeasure.
(if: $consultedVerge)[$v["Perhaps //I// should lead, //you// consult."
$m["I made a mistake," you agree,]] \
](else:)[$v["The least you could do is consult."]
$m["I'll ask you next time,"] you agree,]]
(display: "while sprinting your fastest to flee")]]And what better time for philosophy
in anapests laid out in prosody
than fleeing a stone,
your future unknown,
your feet making strides at velocity.
$more[$m["Well, first we must go back in time
to what made us get into crime.
For me, I like money."]
$v["For me, well, it's funny.
I'd risk life and limb for one dime."]
$more[The boulder keeps rolling and rolling.
You feel like two tenpins in bowling.
You hope it will spare
your life, so a bear
can later consume you. (Just trolling.)
$more[$m["So why the disturbing neglect
of your life, which I'd like to protect?"]
$v["Well shucks boss, it's just
I'm not too much fussed
'bout gettin' these bones of mine wrecked."]
$more[The boulder's like, $b["Wrecked I can do,"]
as it nips at the heels of your shoe.
You continue to speed
and attempt to exceed
the pace of what's following you.
$more[You ask her, $m["So why wreck your bones?"]
She says, $v["I'll still flee from this stone,
but if I do die,
I reckon that I
will travel the - Ocelot Zone!"]
(link: "(huh?)")[$m["The Ocelot Zone after dying?"]
You wonder if $Verge is just trying
to rattle your hide.
$v["No, now! To the side!"]
She dives to the side as if flying.
$more[You're nearing the ocelot statue.
The boulder is still coming at you,
but soon there'll be room
to dodge, then consume
a mighty fine nut, like (set: $choice to "AN ERROR") \
|nut>[(dropdown: bind $choice, "an almond.", "a cashew.", "a hazelnut.", "a peanut.", "a pecan.", "a pistachio.", "a walnut.")
(confirm)] \
\
(click: "(confirm)")[ \
(set: $localLine to "
You visualize nutmeats with glee") \
(if: $choice is "a cashew.")[(replace: ?nut)[$choice $localLine]] \
(else:)[(replace: ?nut)[a //cashew.// (certainly //not// $choice) $localLine]]
(display: "while sprinting your fastest to flee")
]]]]]]]]you trip over debris.
And then, almost like it was planned,
(display: "Verge yanks you to safety")a stray rock strikes your knee.
You stumble and struggle to stand(link-reveal: "...")[
when (display: "Verge yanks you to safety")]you are claimed by the sea.
Through some kind of ancient mistake,
an unfrozen underground lake
is flooding the cave!
A boulderless wave
propels you, the rock in its wake.
(set: $party to "$m[Mulana]")
[[(swim)->claimed by the sea 2]]while sprinting your fastest to flee
from the oncoming sphere.
Escape is so near,
but then (set: $choice to "AN ERROR HAS LED TO THIS MESS") \
|escapeisnear>[(dropdown: bind $choice, "you trip over debris.", "a stray rock strikes your knee.", "you are claimed by the sea.")
(confirm)] \
\
(click: "(confirm)")[ \
(replace: ?escapeisnear)[] \
(display: $choice) \
](set: $party to "$m[Mulana], $v[Verge]") (replace: ?party)[$party] \
your flailing arm's grabbed by a hand.
It's $Verge, and she yanks
you to safety. $m["Whoa, thanks!"]
She shrugs. $v["I'm just stayin' on brand."]
$more[The boulder maintains its attack
and rushes by, staying on track.
Southward it slides,
then - $bam[SMASH!] - it collides (set: $isBouldered to true)
with the soon-to-be-ex-cul-de-sac.
$more[$v["]$m[W]$v[e] $m[m]$v[a]$m[d]$v[e] $m[i]$v[t]$m[!]$v["] you shout, both relieved.
A fist-pump. $v["Survival achieved!
Now //I// recommend
we check the dead end
to challenge what's now preconceived."]
[[(continue)->open ocelot statues]] \
]]I don't know, over there.
You aimlessly wander and thrash,
'til (display: "Verge takes you out like the trash")toward a very wet bear.
Because of this choice, you run smack
right into a cave bear attack.
The drowning bear freaks;
you spring several leaks.
(if: $didSpoutProphecy)[The prophecy happened on track!
(set: $achievedProphecy to true)
(set: $endingName to "PROPHETIC END") $end] \
(else:)[Your vision grows dim, and then black.
(set: $endingName to "POOR LIFE CHOICES END") $end]toward the ice slide and square.
You swim toward the slippery slide.
By logic, it must coincide
with a passageway up.
You get there, and - yup!
You surface and breathe in with pride.
(set: $wasHoldingTreasure to $hasTreasure) \
(set: $choice to "AN ERROR PREVENTS YOUR ESCAPE") \
|iceslide>[(if: $hasTreasure)[(dropdown: bind $choice, "But Verge is still trapped. You go back", "With treasure in hand, you escape")] \
(else:)[(dropdown: bind $choice, "But Verge is still trapped. You go back", "You leave empty-handed, alive")]
(confirm)] \
\
(click: "(confirm)")[ \
(replace: ?iceslide)[] \
(display: $choice) \
]toward the ocelot pair.
You feel like you're getting a hernia,
but no, it's acute hypothermia.
The ice gate is cold.
Your panic's consoled
by pining for peaceful suburbia.
$more[Your temperature's fixing to crash...
then (display: "Verge takes you out like the trash")]overwrought with despair.
You do the despairstroke and find
that every which way is confined.
No air at the ceiling,
and you can't help feeling
that you're in a bit of a bind.
$more[Your heart's slowly turning to ash,
when (display: "Verge takes you out like the trash")]But Verge is still trapped. You go back...
(display: "right into a cave bear attack")(set: $localCount to 0)
Have you:
* (if: $achievedProphecy)[(set: $localCount to it + 1)(set: $localColor to "#90EE90")](else:)[(set: $localColor to "#777777")] (color: $localColor)[A prophecy made and completed?] (unless: $achievedProphecy)[(link:"(which act?)")[(Prologue + Act II)]]
* (if: $achievedOcelotShatter)[(set: $localCount to it + 1)(set: $localColor to "#90EE90")](else:)[(set: $localColor to "#777777")] (color: $localColor)[An ocelot shattered, defeated?] (unless: $achievedOcelotShatter)[(link:"(which act?)")[(Act I)]]
* (if: $achievedTreasure)[(set: $localCount to it + 1)(set: $localColor to "#90EE90")](else:)[(set: $localColor to "#777777")] (color: $localColor)[Escaped with the treasure?] (unless: $achievedTreasure)[(link:"(which act?)")[(Act II + Epilogue)]]
* (if: $achievedDoubleVampire)[(set: $localCount to it + 1)(set: $localColor to "#90EE90")](else:)[(set: $localColor to "#777777")] (color: $localColor)[Got vamped up together?] (unless: $achievedDoubleVampire)[(link:"(which act?)")[(Final Act)]]
* (if: $achievedMinecartSuccess)[(set: $localCount to it + 1)(set: $localColor to "#90EE90")](else:)[(set: $localColor to "#777777")] (color: $localColor)[Arrived in the minecart, still seated?] (unless: $achievedMinecartSuccess)[(link:"(which act?)")[(Final Act, obv)]]<br><br>
* (if: $achievedTwoTruthsAndALie)[(set: $localCount to it + 1)(set: $localColor to "#90EE90")](else:)[(set: $localColor to "#777777")] (color: $localColor)[Beat $Verge at //Two Truths And A Lie?//] (unless: $achievedTwoTruthsAndALie)[(link:"(which act?)")[(Act III)]]
* (if: $achievedAbandonedVerge)[(set: $localCount to it + 1)(set: $localColor to "#90EE90")](else:)[(set: $localColor to "#777777")] (color: $localColor)[Abandoned her; left her to die?] (unless: $achievedAbandonedVerge)[(link:"(which act?)")[(Act II)]]
* (if: $achievedMeltedKey)[(set: $localCount to it + 1)(set: $localColor to "#90EE90")](else:)[(set: $localColor to "#777777")] (color: $localColor)[Melted the key?] (unless: $achievedMeltedKey)[(link:"(which act?)")[(Act III)]]
* (if: $achievedTaco)[(set: $localCount to it + 1)(set: $localColor to "#90EE90")](else:)[(set: $localColor to "#777777")] (color: $localColor)[Ate tacos with V?] (unless: $achievedTaco)[(link:"(which act?)")[(Act II or III)]]
* (if: $localCount >= 9)[(set: $localColor to "#90EE90")](else:)[(set: $localColor to "#777777")] (color: $localColor)[Done all the above?] (if: $localCount >= 8)[(set: $localColor to "#90EE90")](else:)[(set: $localColor to "#777777")] (color: $localColor)[(or come nigh?)]
(if: $localCount >= 9)[A feat that cannot be believed:
you've found all the things I conceived,
from minecarts to bats!
A hearty congrats
on everything you have achieved!
$more[You now are the thoroughest crook!
You dug deep inside every nook,
and also each cranny.
Your moxie's uncanny!
I wonder how long it all took.
$more[You've mastered this work I have penned;
my thanks I would like to extend
for spending your time
with this romp of a rhyme.
<div class="ending">THE THOROUGH COMPLETIONIST END</div>]]]
[[Main Menu]]<div class="ending">$endingName</div>
$endingWords Would you like to [[retract]];
return to the start of the act?
Or [[play from the top->Main Menu]]?
You could, of course, stop,
but achievements will not stay intact.
|achievements>[] \
\
(click: "achievements")[(display: "achievements")] {
<!-- Prologue -->
(set: $didSpoutProphecy to false)
(set: $fracturedIce to false)
(set: $clearedPit to false)
(set: $treeHasGear to false)
(set: $gearFirstTime to true)
(set: $isHatchOpen to false)
}{
<!-- Sarcophagus Shenanigans -->
(set: $isOcelotShattered to false)
(set: $solvedStatue to false)
(set: $isTombOpen to false)
(set: $doNotDrinkTheAntiquities to false)
(set: $statueHintNumber to 1)
(set: $isHintRandomized to false)
}{
<!-- Boulder Banter -->
(set: $pressureDone to false)
(set: $isBouldered to false)
(set: $hasSeenStretchedCoil to false)
(set: $isTooHeavy to false)
(set: $pressureItem1 to "ERROR")
(set: $pressureItem2 to "ERROR")
(set: $consultedVerge to false)
}{
<!-- Cavern Catastrophe -->
(set: $isBridged to false)
(set: $isEggDoorOpen to false)
(set: $solvedCatapult to false)
(set: $seenAct3TitleCard to false)
(set: $knowsPrince to false)
(set: $catHintNumber to 1)
(set: $isCatHintRandomized to false)
}{
<!-- Minecart Mayhem -->
(set: $minecartStage to 1)
(set: $minecartHowMuchTime to 30)
(set: $minecartPath to (a: "MINECART ERROR", "MINECART ERROR"))
(set: $minecartChoices to (a: "MINECART ERROR"))
(set: $minecartPassage to "MINECART ERROR")
(set: $minecartFallbackPassage to "MINECART ERROR")
}With treasure in hand, you're a jerk!
You'd leave $Verge for dead, and then smirk?
Just run with the haul?
Well hey, it's your call.
I'll shut up and get back to work.
$more[You're still in a slippery slide
upon which you downward did ride.
You scrabble to climb
for quite a long time,
but the tunnel's too icy and wide.
$more[You //might// could just handle the route
if you dropped all your items. You pout;
you're //holding// the treasure.
Despite your displeasure,
this might be the only way out.
(set: $choice to "AN ERROR PREVENTS YOUR ESCAPE") \
|iceslide>[(dropdown: bind $choice, "You've got to save Verge. You go back", "You leave empty-handed, alive")
(confirm)] \
\
(click: "(confirm)")[ \
(replace: ?iceslide)[] \
(display: $choice) \
]]]You leave empty-handed, alive. (set: $achievedAbandonedVerge to true)
You did what you must to survive.
You curse the steep cost
and mourn for the lost(link-reveal:"...")[(set: $party to "$m[Mulana], $v[Verge]") (replace: ?party)[$party]
and then you receive a high five!
$Verge snuck up behind you, all dripping.
She says, $v["Oh, you made it! How gripping!
It turns out I float!
Yet I can't help but note
that it looks like you've been unequipping."]
$more[$m["The treasure's been claimed by the sea,"]
you solemnly say. $m["We must flee."]
$v["A compact submersible -"]
$m["Flee! Irreversible!"]
You never come back, but you're free.
(unless: $wasHoldingTreasure)[(replace: "The treasure's been")[My gear has been]] \
(set: $endingName to "EMPTY-HANDED END") (set: $endingWords to "Oh, well!") $end]](set: $isIntro to false) (set: $isCutscene to true) (set: $threadNumber to 2) (goto: "ACT TWO")$loc[Underwater] \
You're free from the stone, but beware:
you're now underwater, and air
is nowhere in sight.
You ponder your plight,
and swim (set: $choice to "AN ERROR HAS LED TO THIS MESS") \
|youswim>[(dropdown: bind $choice, "I don't know, over there.", "toward a very wet bear.", "toward the ice slide and square.", "toward the ocelot pair.", "overwrought with despair.")
(confirm)] \
\
(click: "(confirm)")[ \
(replace: ?youswim)[] \
(display: $choice) \
]right into a cave bear attack.
The drowning bear freaks;
you spring several leaks.
(if: $didSpoutProphecy)[The prophecy happened on track!
(set: $achievedProphecy to true)
(set: $endingName to "PROPHETIC END") $end] \
(else:)[Your vision grows dim, and then black.
(set: $endingName to "NO GOOD DEED END") $end]$Verge takes you out like the trash!
Despite being smaller,
she clutches your collar
and hauls you to air with a splash.
$more[However, you cannot ascend,
and the water rise starts to impend.
$v["Well, don't look at me!
//You// picked 'claimed by the sea'!"]
(set: $endingName to "THE SEA WILL CLAIM EVERYTHING END") $end](if: $isMore)[(set: $more to (link: "(more)"))](else:)[(set: $more to true)]{
(set: $didSpoutProphecy1 to $didSpoutProphecy)
(set: $hasShovel1 to $hasShovel)
(set: $brokeShovel1 to $brokeShovel)
}{
(set: $didSpoutProphecy to $didSpoutProphecy1)
(set: $hasShovel to $hasShovel1)
(set: $brokeShovel to $brokeShovel1)
(goto: "ACT ONE")
}Restart from the beginning of:
* [[Prologue->intro]]
* (if: $achievedAct >= 2)[(color: "white")[[[Act I: Sarcophagus Shenanigans->load act 1]]]](else:)[(color: "#777777")[Act I: Sarcophagus Shenanigans]]
* (if: $achievedAct >= 2)[(color: "white")[[[Act II: Boulder Banter->load act 2]]]](else:)[(color: "#777777")[Act II: Boulder Banter]]
* (if: $achievedAct >= 3)[(color: "white")[[[Act III: Catapult Catastrophe ->load act 3]]]](else:)[(color: "#777777")[Act III: Catapult Catastrophe]]
* (if: $achievedAct >= 4)[(color: "white")[[[Final Act: Minecart Mayhem->load act 4]]]](else:)[(color: "#777777")[Final Act: Minecart Mayhem]]
[[Main Menu]]{
(set: $didSpoutProphecy to $didSpoutProphecy1)
(set: $hasShovel to $hasShovel2)
(set: $brokeShovel to $brokeShovel2)
(set: $hasKey to $hasKey2)
(set: $hasGin to $hasGin2)
(set: $hasPotions to $hasPotions2)
(set: $hasThread to $hasThread2)
(set: $threadNumber to $threadNumber2)
(set: $hasSeenStretchedCoil to $hasSeenStretchedCoil2)
(goto: "ACT TWO")
}{
(set: $hasShovel to $hasShovel4)
(set: $brokeShovel to $brokeShovel4)
(set: $hasKey to $hasKey4)
(set: $hasGin to $hasGin4)
(set: $hasPotions to $hasPotions4)
(set: $hasThread to $hasThread4)
(set: $threadNumber to $threadNumber4)
(set: $hasTreasure to $hasTreasure4)
(set: $invHeistLoot to $invHeistLoot4)
(set: $invCat to $invCat4)
(set: $invDigger to $invDigger4)
(set: $invChai to $invChai4)
(set: $invSpring to $invSpring4)
(set: $invDevice to $invDevice4)
(set: $invSchnapps to $invSchnapps4)
(set: $invDraughts to $invDraughts4)
(set: $invString to $invString4)
(set: $invTombLoot to $invTombLoot4)
(set: $invGneiss to $invGneiss4)
(goto: "Minecart Mayhem")
}{
(set: $hasShovel to $hasShovel3)
(set: $brokeShovel to $brokeShovel3)
(set: $hasKey to $hasKey3)
(set: $hasGin to $hasGin3)
(set: $hasPotions to $hasPotions3)
(set: $hasThread to $hasThread3)
(set: $threadNumber to $threadNumber3)
(set: $hasSeenStretchedCoil to $hasSeenStretchedCoil3)
(set: $hasTreasure to $hasTreasure3)
(goto: "ACT THREE")
}
{
(set: $didSpoutProphecy1 to $didSpoutProphecy)
(set: $hasShovel2 to $hasShovel)
(set: $brokeShovel2 to $brokeShovel)
(set: $hasKey2 to $hasKey)
(set: $hasGin2 to $hasGin)
(set: $hasPotions2 to $hasPotions)
(set: $hasThread2 to $hasThread)
(set: $threadNumber2 to $threadNumber)
(set: $hasSeenStretchedCoil2 to $hasSeenStretchedCoil)
}
$v["Awesome. If you will permit me,
grab hold of my $item[fist].
Okay, now my $item[wrist].
Perfect. Now try to outwit me:]
(link: "(hint)")[$v[So obvi, they're both the same size.
But feel with your hands, close your eyes...
now which one weighs most?"]
You measure, engrossed.
$m["Your wrist, by a bit,"] you surmise.
$more[$v["Exactly! And next we'll do two
that weigh the same, but, upon view,
are way different sizes."]
Then $Verge emphasizes
her point by exclaiming $v["Ha-hoo!"]
(link: "(hint)")[$v["Take out your $item[whip], and then stand.
Perfect. Now bring out the band!"]
You hum in placation.
She spins! Post-gyration,
a $item[taco] is now in her hand.
(link: "(taco)")[$m["A taco! Where //have// you been storing it?"]
$v["Well, since you are clearly adoring it,
I do have a second.
The price, though,"] she reckoned,
$v["is to promise to back off exploring it."]
(set: $choice to "AN ERROR HAS LED US TO RUIN") \
|promise>[(dropdown: bind $choice, "\"I promise. I'll eat it despite...\"", "\"I think I'll regretfully pass.\"")
(confirm)] \
(click: "(confirm)")[ \
(replace: ?promise)[] \
(display: $choice)
(show:?cloaked) \
] \
]] \
|cloaked)[ \
(link: "(hint)")[$v["So anyway! Hands out, and grip
the $item[taco] in one hand, the $item[whip]
in the hand that is free."]
$m["They both,"] you decree,
$m["weigh equal, though size takes a dip."]
(link: "(hint)")[(set: $consultedVerge to true)$v["So now just compare and contrast;
review all the facts you've amassed.
A $item[whip] and a $item[fist],
a $item[taco], a $item[wrist],
they all weigh the same but the last."]
(link: "(hint)")[$v["An $item[ox] weighs just $weight[2], while a $item[cat]
weighs $weight[3], but the tiniest $item[gnat]
weighs in at a $weight[4].
That's right, it's twice more
than an $item[ox]. Did you follow all that?"
"By thinking and paying attention
you'll soon attain weight comprehension.
To learn to compute it,
don't try to refute it,
just toss away worldly convention."]]]]]]] \
[[(return)->pressure puzzle]]$loc[Secret Treasure Room] \
$v["So //now// you want weight advice?"] $m["Hit me."]
(display: "pressure hint rest")$m["I promise. I'll eat it despite
its origin. I'm not uptight."]
You wolf the suspicious
taco. Delicious! (set: $achievedTaco to true)
$Verge brings out one more; all is right.$m["I think I'll regretfully pass,
for I'm trying to feign I've got class.
That just doesn't jibe
with accepting a bribe
that came from a cat burglar's... pocket."]$loc[Secret Treasure Room] \
$v["Hey boss, want more weight advice?"] $m["Hit me."]
(display: "pressure hint rest")$loc[Secret Treasure Room] \
You pick out your $item[coil] and your $item[whip],
approach, taking care not to slip,
you balance, review,
then swap - //switcheroo!// (set: $hasTreasure to true)
It's done! Did the pressure plate trip?
You pause(link-reveal: "...")[ and then breathe with relief.
$m["Who swapped out the $item[treasure]? This thief!"]
You stick out two thumbs.
The cavern becomes
a rave with an Aztec motif,
$more['cause $Verge has her black light, and, raving,
yells, $v["Treasure!"] with all her limbs waving.
You knapsack the loot
as well as your snoot
and join her in dance party caving.
$knapsack
$more[Despite the Great Pressure Plate Truce,
a giant-ass boulder comes loose!
If you don't make haste,
you'll soon be thief paste,
so make like an elk and [[vamoose!->boulder escape start]]]]]$loc[Secret Treasure Room] \
You pick out your $item[$pressureItem1] and $item[no tea],
approach, taking care not to squee,
you balance, review,
then swap - //switcheroo!// (set: $hasTreasure to true)
It's done! Did the pressure plate see?
$more[Could it tell that no tea wasn't nothing?
Or are you at fever dreams clutching?
Will the plate feel the weight
as $weight[3] or as $weight[8]?
Are death traps about to come crushing?
You pause(link-reveal: "...")[ and then breathe with relief.
$m["Who swapped out the $item[treasure]? This thief!"]
You stick out two thumbs.
The cavern becomes
a rave with an Aztec motif,
$more['cause $Verge has her black light, and, raving,
yells, $v["Treasure!"] with all her limbs waving.
You knapsack the loot
as well as your snoot
and join her in dance party caving.
$knapsack
$more[Despite the Great Pressure Plate Truce,
a giant-ass boulder comes loose!
If you don't make haste,
you'll soon be thief paste,
so make like an elk and [[vamoose!->boulder escape start]]]]]
]$loc[Secret Treasure Room] \
You pick out your $item[$pressureItem1] and your $item[egg],
approach, taking care not to neg,
you balance, review,
then swap - //switcheroo!//
It's done! Did the pressure plate beg
for a heavier item? \
(if: $isTooHeavy)[ \
(replace: "heavier item")[less heavy item] \
] \
(link: "(more)")[Oh, yes.
The pressure plate starts to unpress.
(if: $isTooHeavy)[(replace: "unpress")[depress]] \
A rock countermeasure
drops, $rumble[crushing] the $item[treasure]!
It rolls, and you [[flee in distress!->boulder escape start]]]$loc[Secret Treasure Room] \
You pick out your $item[$pressureItem1] and your $item[gin],
approach, taking care not to grin,
you balance, review,
then swap - //switcheroo!//
It's done! [[Did the pressure plate spin?->treasure crush]]$loc[Secret Treasure Room] \
$more[Oh shit! You were under, you guess.
(if: $isTooHeavy)[(replace: "under")[over]] \
The pressure plate starts to unpress.
(if: $isTooHeavy)[(replace: "unpress")[depress]] \
A rock countermeasure
(if: ($pressureItem1 is "shovel") or ($pressureItem2 is "shovel"))[drops, $rumble[crushing] the $item[treasure]
and $item[shovel]!(set: $hasShovel to false)(set: $brokeShovel to "pressure") You [[flee in distress!->boulder escape start]]] \
(else:)[drops, $rumble[crushing] the $item[treasure]!
It rolls, and you [[flee in distress!->boulder escape start]]]]$loc[Secret Treasure Room] \
You pick out your $item[$pressureItem1] and your $item[whip],
approach, taking care not to slip,
you balance, review,
then swap - //switcheroo!//
It's done! Did the pressure plate trip?
$more[Oh shit! You were under, you guess.
(if: $isTooHeavy)[(replace: "under")[over]] \
The pressure plate starts to unpress.
(if: $isTooHeavy)[(replace: "unpress")[depress]] \
A rock countermeasure
drops, $rumble[crushing] the $item[treasure]!
It rolls, and you [[flee in distress!->boulder escape start]]]$loc[Secret Treasure Room] \
You pick out your $item[$pressureItem1] and your $item[strength potions],
and clearly you must have some strange notions
about these things' weight,
'cause they push down the plate,
i.e. rapidly shortening length motions.
$more[Oh shit! You're way over, you guess.
Then, due to the pressure plate's stress,
a rock countermeasure
drops, $rumble[crushing] the $item[treasure]!
It rolls, and you [[flee in distress!->boulder escape start]]]$loc[Secret Treasure Room] \
You pick out your $item[$pressureItem1] and the $item[$displayThreadNumber thread],
and clearly you must be misled
about the thread's weight,
'cause it slams down the plate.
You hear ominous scrapes overhead.
$more[Oh shit! You're way over, you guess.
Then, due to the pressure plate's stress,
a rock countermeasure
drops, $rumble[crushing] the $item[treasure]!
It rolls, and you [[flee in distress!->boulder escape start]]]$loc[Secret Treasure Room] \
You pick out your $item[$pressureItem1] and your $item[coil],
approach, taking care on the soil,
you balance, review,
then swap - //switcheroo!//
[[Is the pressure plate now in turmoil?->treasure crush]]$loc[Secret Treasure Room] \
You pick out your $item[shovel] and $item[key],
approach, taking care not to pee,
you balance, review,
then swap - //switcheroo!//
It's done! Will the pressure plate ski?
$more[It will. It goes skiing, and takes you.
A fine fellow skier mistakes you
for Eddie the Eagle!
You dance with a beagle,
and break from your daze as $Verge shakes you.
$more[$v["Hey boss, you in some kind of trance?
Your eyes went all glazed and askance.
Your arms sticking out,
all flailing about,
and crouched in a hunkered-down stance."]
$more[You shake your head, shake off your daze.
A terrible sound draws your gaze.
The pressure plate sinks;
your hopefulness shrinks.
The weight you have failed to appraise.
$more[A hidden trap door in the ceiling
swings open, abruptly revealing
a rock countermeasure,
which crushes the $item[treasure]
and $item[shovel]! [[You flee, your arms wheeling!->boulder escape start]]]]]]{
<!-- INPUT: $pressureItem, $pressureItem1, $pressureItem2 -->
(if: $pressureItem1 is not false)[
(set: $pressureItem2 to $pressureItem)
(replace: ?item2)[$item[$pressureItem]]
(live: 0.2s)[(goto: "pressure attempt")]
]
(if: $pressureItem1 is false)[
(set: $pressureItem1 to $pressureItem)
(replace: ?item1)[$item[$pressureItem]]
]
}{
$loc[Secret Treasure Room] \
(set: $mass1 to $mass's $pressureItem1) \
(set: $mass2 to $mass's $pressureItem2) \
(set: $totalMass to $mass1 + $mass2)
(if: $totalMass is 8)[
(if: $pressureItem1 is "no tea")[(set: _local to $pressureItem2)(set: $pressureItem2 to $pressureItem1)(set: $pressureItem1 to _local)]
(if: $pressureItem2 is "no tea")[(goto: "pressure success no tea")]
(else:)[(goto: "pressure success")]]
(if: $totalMass > 8)[(set: $isTooHeavy to true)](else:)[(set: $isTooHeavy to false)]
(if: $totalMass is 35)[(goto: "pressure success 35")]
<!-- sort the items -->
(set: $localDone to false)
(if: ($localDone is false) and ($pressureItem2 is "shovel"))[(set: _local to $pressureItem1)(set: $pressureItem1 to $pressureItem2)(set: $pressureItem2 to _local)(set: $localDone to true)]
(if: $pressureItem1 is "shovel")[(set: $localDone to true)]
(if: ($localDone is false) and ($pressureItem2 is "key"))[(set: _local to $pressureItem1)(set: $pressureItem1 to $pressureItem2)(set: $pressureItem2 to _local)]
(if: $pressureItem1 is "key")[(set: $localDone to true)]
(if: ($localDone is false) and ($pressureItem2 is "coil"))[$debug[coil swap! $pressureItem1 <-> $pressureItem2](set: _local to $pressureItem1)(set: $pressureItem1 to $pressureItem2)(set: $pressureItem2 to _local)$debug[now ($pressureItem1, $pressureItem2)]]
(if: $pressureItem1 is "coil")[$debug[coil end!]$debug[now ($pressureItem1, $pressureItem2)](set: $localDone to true)]
(if: ($localDone is false) and ($pressureItem2 is "egg"))[$debug[egg swap! $pressureItem1 <-> $pressureItem2](set: _local to $pressureItem1)(set: $pressureItem1 to $pressureItem2)(set: $pressureItem2 to _local)]
(if: $pressureItem1 is "egg")[$debug[egg end!](set: $localDone to true)]
(if: ($localDone is false) and ($pressureItem2 is "strength potions"))[(set: _local to $pressureItem1)(set: $pressureItem1 to $pressureItem2)(set: $pressureItem2 to _local)]
(if: $pressureItem1 is "strength potions")[(set: $localDone to true)]
(if: ($localDone is false) and ($pressureItem2 is "gin"))[(set: _local to $pressureItem1)(set: $pressureItem1 to $pressureItem2)(set: $pressureItem2 to _local)]
(if: $pressureItem1 is "gin")[(set: $localDone to true)]
(if: ($localDone is false) and ($pressureItem2 is $threadOrdinals's $threadNumber))[(set: _local to $pressureItem1)(set: $pressureItem1 to $pressureItem2)(set: $pressureItem2 to _local)]
(if: ($localDone is false) and ($pressureItem2 is "whip"))[(set: _local to $pressureItem1)(set: $pressureItem1 to $pressureItem2)(set: $pressureItem2 to _local)]
(if: $pressureItem1 is "whip")[(set: $localDone to true)]
(if: ($localDone is false) and ($pressureItem2 is "no tea"))[(set: _local to $pressureItem1)(set: $pressureItem1 to $pressureItem2)(set: $pressureItem2 to _local)]
(if: $pressureItem1 is "no tea")[(set: $localDone to true)]
$debug[endcase ($pressureItem1, $pressureItem2)]
(if: $pressureItem2 is $threadOrdinals's $threadNumber)[(goto: "pressure thread")]
(else:)[(goto: "pressure " + $pressureItem2)]
}{
(set: $ordinals to (a: "first", "second", "third", "fourth", "fifth", "sixth", "seventh", "eighth", "ninth", "tenth", "eleventh", "twelfth", "thirteenth", "fourteenth", "fifteenth", "sixteenth", "seventeenth", "eighteenth", "nineteenth", "twentieth", "twenty-first", "twenty-second", "twenty-third", "twenty-fourth", "twenty-fifth", "twenty-sixth", "twenty-seventh", "twenty-eighth", "twenty-ninth", "thirtieth", "thirty-first", "thirty-second", "thirty-third", "thirty-fourth", "thirty-fifth", "thirty-sixth", "thirty-seventh", "thirty-eighth", "thirty-ninth", "fortieth", "forty-first", "forty-second", "forty-third", "forty-fourth", "forty-fifth", "forty-sixth", "forty-seventh", "forty-eighth", "forty-ninth", "fiftieth", "fifty-first", "fifty-second", "fifty-third", "fifty-fourth", "fifty-fifth", "fifty-sixth", "fifty-seventh", "fifty-eighth", "fifty-ninth", "sixtieth", "sixty-first", "sixty-second", "sixty-third", "sixty-fourth", "sixty-fifth", "sixty-sixth", "sixty-seventh", "sixty-eighth", "sixty-ninth", "seventieth", "seventy-first", "seventy-second", "seventy-third", "seventy-fourth", "seventy-fifth", "seventy-sixth", "seventy-seventh", "seventy-eighth", "seventy-ninth", "eightieth", "eighty-first", "eighty-second", "eighty-third", "eighty-fourth", "eighty-fifth", "eighty-sixth", "eighty-seventh", "eighty-eighth", "eighty-ninth", "ninetieth", "ninety-first", "ninety-second", "ninety-third", "ninety-fourth", "ninety-fifth", "ninety-sixth", "ninety-seventh", "ninety-eighth", "ninety-ninth", "hundredth"))
(set: $threadOrdinals to (a: "first thread", "second thread", "third thread", "fourth thread", "fifth thread", "sixth thread", "seventh thread", "eighth thread", "ninth thread", "tenth thread", "eleventh thread", "twelfth thread", "thirteenth thread", "fourteenth thread", "fifteenth thread", "sixteenth thread", "seventeenth thread", "eighteenth thread", "nineteenth thread", "twentieth thread", "twenty-first thread", "twenty-second thread", "twenty-third thread", "twenty-fourth thread", "twenty-fifth thread", "twenty-sixth thread", "twenty-seventh thread", "twenty-eighth thread", "twenty-ninth thread", "thirtieth thread", "thirty-first thread", "thirty-second thread", "thirty-third thread", "thirty-fourth thread", "thirty-fifth thread", "thirty-sixth thread", "thirty-seventh thread", "thirty-eighth thread", "thirty-ninth thread", "fortieth thread", "forty-first thread", "forty-second thread", "forty-third thread", "forty-fourth thread", "forty-fifth thread", "forty-sixth thread", "forty-seventh thread", "forty-eighth thread", "forty-ninth thread", "fiftieth thread", "fifty-first thread", "fifty-second thread", "fifty-third thread", "fifty-fourth thread", "fifty-fifth thread", "fifty-sixth thread", "fifty-seventh thread", "fifty-eighth thread", "fifty-ninth thread", "sixtieth thread", "sixty-first thread", "sixty-second thread", "sixty-third thread", "sixty-fourth thread", "sixty-fifth thread", "sixty-sixth thread", "sixty-seventh thread", "sixty-eighth thread", "sixty-ninth thread", "seventieth thread", "seventy-first thread", "seventy-second thread", "seventy-third thread", "seventy-fourth thread", "seventy-fifth thread", "seventy-sixth thread", "seventy-seventh thread", "seventy-eighth thread", "seventy-ninth thread", "eightieth thread", "eighty-first thread", "eighty-second thread", "eighty-third thread", "eighty-fourth thread", "eighty-fifth thread", "eighty-sixth thread", "eighty-seventh thread", "eighty-eighth thread", "eighty-ninth thread", "ninetieth thread", "ninety-first thread", "ninety-second thread", "ninety-third thread", "ninety-fourth thread", "ninety-fifth thread", "ninety-sixth thread", "ninety-seventh thread", "ninety-eighth thread", "ninety-ninth thread", "hundredth thread"))
(set: $stringOrdinals to (a: "first string", "second string", "third string", "fourth string", "fifth string", "sixth string", "seventh string", "eighth string", "ninth string", "tenth string", "eleventh string", "twelfth string", "thirteenth string", "fourteenth string", "fifteenth string", "sixteenth string", "seventeenth string", "eighteenth string", "nineteenth string", "twentieth string", "twenty-first string", "twenty-second string", "twenty-third string", "twenty-fourth string", "twenty-fifth string", "twenty-sixth string", "twenty-seventh string", "twenty-eighth string", "twenty-ninth string", "thirtieth string", "thirty-first string", "thirty-second string", "thirty-third string", "thirty-fourth string", "thirty-fifth string", "thirty-sixth string", "thirty-seventh string", "thirty-eighth string", "thirty-ninth string", "fortieth string", "forty-first string", "forty-second string", "forty-third string", "forty-fourth string", "forty-fifth string", "forty-sixth string", "forty-seventh string", "forty-eighth string", "forty-ninth string", "fiftieth string", "fifty-first string", "fifty-second string", "fifty-third string", "fifty-fourth string", "fifty-fifth string", "fifty-sixth string", "fifty-seventh string", "fifty-eighth string", "fifty-ninth string", "sixtieth string", "sixty-first string", "sixty-second string", "sixty-third string", "sixty-fourth string", "sixty-fifth string", "sixty-sixth string", "sixty-seventh string", "sixty-eighth string", "sixty-ninth string", "seventieth string", "seventy-first string", "seventy-second string", "seventy-third string", "seventy-fourth string", "seventy-fifth string", "seventy-sixth string", "seventy-seventh string", "seventy-eighth string", "seventy-ninth string", "eightieth string", "eighty-first string", "eighty-second string", "eighty-third string", "eighty-fourth string", "eighty-fifth string", "eighty-sixth string", "eighty-seventh string", "eighty-eighth string", "eighty-ninth string", "ninetieth string", "ninety-first string", "ninety-second string", "ninety-third string", "ninety-fourth string", "ninety-fifth string", "ninety-sixth string", "ninety-seventh string", "ninety-eighth string", "ninety-ninth string", "hundredth string"))
(set: $volume to (dm: "egg", 1, "heist loot", 2, "key", 1, "opening-doors-type device", 6, "opening-doors-type debris", 6, "whip", 1, "cat-o'-one-tail", 4, "shovel", 2, "digger", 2, "coil", 1, "spring", 1, "bent coil", 2, "bent spring", 2, "stretched coil", 2, "stretched spring", 2, "gin", 1, "schnapps", 1, "schist", 1, "gneiss", 1, "strength potions", 3, "fortitude potions", 5, "strength draughts", 2, "fortitude draughts", 4, "no tea", 2, "tea", 1, "Chai Spice", 2, "no Chai Spice", 3, "treasure", 2, "tomb loot", 2, "first thread", 2, "second thread", 3, "third thread", 2, "fourth thread", 2, "fifth thread", 2, "sixth thread", 2, "seventh thread", 3, "eighth thread", 2, "ninth thread", 2, "tenth thread", 2, "eleventh thread", 4, "twelfth thread", 2, "thirteenth thread", 3, "fourteenth thread", 3, "fifteenth thread", 3, "sixteenth thread", 3, "seventeenth thread", 4, "eighteenth thread", 3, "nineteenth thread", 3, "twentieth thread", 4, "twenty-first thread", 4, "twenty-second thread", 5, "twenty-third thread", 4, "twenty-fourth thread", 4, "twenty-fifth thread", 4, "twenty-sixth thread", 4, "twenty-seventh thread", 5, "twenty-eighth thread", 4, "twenty-ninth thread", 4, "thirtieth thread", 4, "thirty-first thread", 4, "thirty-second thread", 5, "thirty-third thread", 4, "thirty-fourth thread", 4, "thirty-fifth thread", 4, "thirty-sixth thread", 4, "thirty-seventh thread", 5, "thirty-eighth thread", 4, "thirty-ninth thread", 4, "fortieth thread", 4, "forty-first thread", 4, "forty-second thread", 5, "forty-third thread", 4, "forty-fourth thread", 4, "forty-fifth thread", 4, "forty-sixth thread", 4, "forty-seventh thread", 5, "forty-eighth thread", 4, "forty-ninth thread", 4, "fiftieth thread", 4, "fifty-first thread", 4, "fifty-second thread", 5, "fifty-third thread", 4, "fifty-fourth thread", 4, "fifty-fifth thread", 4, "fifty-sixth thread", 4, "fifty-seventh thread", 5, "fifty-eighth thread", 4, "fifty-ninth thread", 4, "sixtieth thread", 4, "sixty-first thread", 4, "sixty-second thread", 5, "sixty-third thread", 4, "sixty-fourth thread", 4, "sixty-fifth thread", 4, "sixty-sixth thread", 4, "sixty-seventh thread", 5, "sixty-eighth thread", 4, "sixty-ninth thread", 4, "seventieth thread", 5, "seventy-first thread", 5, "seventy-second thread", 6, "seventy-third thread", 5, "seventy-fourth thread", 5, "seventy-fifth thread", 5, "seventy-sixth thread", 5, "seventy-seventh thread", 6, "seventy-eighth thread", 5, "seventy-ninth thread", 5, "eightieth thread", 4, "eighty-first thread", 4, "eighty-second thread", 5, "eighty-third thread", 4, "eighty-fourth thread", 4, "eighty-fifth thread", 4, "eighty-sixth thread", 4, "eighty-seventh thread", 5, "eighty-eighth thread", 4, "eighty-ninth thread", 4, "ninetieth thread", 4, "ninety-first thread", 4, "ninety-second thread", 5, "ninety-third thread", 4, "ninety-fourth thread", 4, "ninety-fifth thread", 4, "ninety-sixth thread", 4, "ninety-seventh thread", 5, "ninety-eighth thread", 4, "ninety-ninth thread", 4, "hundredth thread", 3, "first string", 2, "second string", 3, "third string", 2, "fourth string", 2, "fifth string", 2, "sixth string", 2, "seventh string", 3, "eighth string", 2, "ninth string", 2, "tenth string", 2, "eleventh string", 4, "twelfth string", 2, "thirteenth string", 3, "fourteenth string", 3, "fifteenth string", 3, "sixteenth string", 3, "seventeenth string", 4, "eighteenth string", 3, "nineteenth string", 3, "twentieth string", 4, "twenty-first string", 4, "twenty-second string", 5, "twenty-third string", 4, "twenty-fourth string", 4, "twenty-fifth string", 4, "twenty-sixth string", 4, "twenty-seventh string", 5, "twenty-eighth string", 4, "twenty-ninth string", 4, "thirtieth string", 4, "thirty-first string", 4, "thirty-second string", 5, "thirty-third string", 4, "thirty-fourth string", 4, "thirty-fifth string", 4, "thirty-sixth string", 4, "thirty-seventh string", 5, "thirty-eighth string", 4, "thirty-ninth string", 4, "fortieth string", 4, "forty-first string", 4, "forty-second string", 5, "forty-third string", 4, "forty-fourth string", 4, "forty-fifth string", 4, "forty-sixth string", 4, "forty-seventh string", 5, "forty-eighth string", 4, "forty-ninth string", 4, "fiftieth string", 4, "fifty-first string", 4, "fifty-second string", 5, "fifty-third string", 4, "fifty-fourth string", 4, "fifty-fifth string", 4, "fifty-sixth string", 4, "fifty-seventh string", 5, "fifty-eighth string", 4, "fifty-ninth string", 4, "sixtieth string", 4, "sixty-first string", 4, "sixty-second string", 5, "sixty-third string", 4, "sixty-fourth string", 4, "sixty-fifth string", 4, "sixty-sixth string", 4, "sixty-seventh string", 5, "sixty-eighth string", 4, "sixty-ninth string", 4, "seventieth string", 5, "seventy-first string", 5, "seventy-second string", 6, "seventy-third string", 5, "seventy-fourth string", 5, "seventy-fifth string", 5, "seventy-sixth string", 5, "seventy-seventh string", 6, "seventy-eighth string", 5, "seventy-ninth string", 5, "eightieth string", 4, "eighty-first string", 4, "eighty-second string", 5, "eighty-third string", 4, "eighty-fourth string", 4, "eighty-fifth string", 4, "eighty-sixth string", 4, "eighty-seventh string", 5, "eighty-eighth string", 4, "eighty-ninth string", 4, "ninetieth string", 4, "ninety-first string", 4, "ninety-second string", 5, "ninety-third string", 4, "ninety-fourth string", 4, "ninety-fifth string", 4, "ninety-sixth string", 4, "ninety-seventh string", 5, "ninety-eighth string", 4, "ninety-ninth string", 4, "hundredth string", 3))
(set: $mass to (dm: "egg", 3, "heist loot", 9, "key", 3, "opening-doors-type device", 22, "opening-doors-type debris", 22, "whip", 4, "cat-o'-one-tail", 11, "shovel", 6, "digger", 6, "coil", 4, "spring", 6, "bent coil", 8, "bent spring", 10, "stretched coil", 13, "stretched spring", 15, "gin", 3, "schnapps", 8, "schist", 6, "gneiss", 6, "strength potions", 15, "fortitude potions", 16, "strength draughts", 16, "fortitude draughts", 17, "no tea", 5, "tea", 3, "Chai Spice", 9, "no Chai Spice", 11, "treasure", 8, "tomb loot", 8, "first thread", 11, "third thread", 11, "fifth thread", 11, "sixth thread", 11, "ninth thread", 11, "tenth thread", 11, "second thread", 12, "fourth thread", 12, "eighth thread", 12, "seventh thread", 13, "twelfth thread", 13, "eleventh thread", 14, "fortieth thread", 14, "fiftieth thread", 14, "sixtieth thread", 14, "fifteenth thread", 15, "sixteenth thread", 15, "twentieth thread", 15, "thirtieth thread", 15, "eightieth thread", 15, "ninetieth thread", 15, "hundredth thread", 15, "thirteenth thread", 16, "fourteenth thread", 16, "eighteenth thread", 16, "nineteenth thread", 16, "seventieth thread", 16, "forty-first thread", 16, "forty-third thread", 16, "forty-fifth thread", 16, "forty-sixth thread", 16, "forty-ninth thread", 16, "fifty-first thread", 16, "fifty-third thread", 16, "fifty-fifth thread", 16, "fifty-sixth thread", 16, "fifty-ninth thread", 16, "sixty-first thread", 16, "sixty-third thread", 16, "sixty-fifth thread", 16, "sixty-sixth thread", 16, "sixty-ninth thread", 16, "seventeenth thread", 17, "forty-second thread", 17, "forty-fourth thread", 17, "forty-eighth thread", 17, "fifty-fourth thread", 17, "fifty-second thread", 17, "fifty-eighth thread", 17, "sixty-second thread", 17, "sixty-fourth thread", 17, "sixty-eighth thread", 17, "twenty-first thread", 17, "twenty-third thread", 17, "twenty-fifth thread", 17, "twenty-sixth thread", 17, "twenty-ninth thread", 17, "thirty-first thread", 17, "thirty-third thread", 17, "thirty-fifth thread", 17, "thirty-sixth thread", 17, "thirty-ninth thread", 17, "eighty-first thread", 17, "eighty-third thread", 17, "eighty-fifth thread", 17, "eighty-sixth thread", 17, "eighty-ninth thread", 17, "ninety-first thread", 17, "ninety-third thread", 17, "ninety-fifth thread", 17, "ninety-sixth thread", 17, "ninety-ninth thread", 17, "forty-seventh thread", 18, "fifty-seventh thread", 18, "sixty-seventh thread", 18, "twenty-second thread", 18, "twenty-fourth thread", 18, "twenty-eighth thread", 18, "thirty-second thread", 18, "thirty-fourth thread", 18, "thirty-eighth thread", 18, "eighty-second thread", 18, "eighty-fourth thread", 18, "eighty-eighth thread", 18, "ninety-second thread", 18, "ninety-fourth thread", 18, "ninety-eighth thread", 18, "seventy-first thread", 18, "seventy-third thread", 18, "seventy-fifth thread", 18, "seventy-sixth thread", 18, "seventy-ninth thread", 18, "twenty-seventh thread", 19, "thirty-seventh thread", 19, "eighty-seventh thread", 19, "ninety-seventh thread", 19, "seventy-second thread", 19, "seventy-fourth thread", 19, "seventy-eighth thread", 19, "seventy-seventh thread", 20, "first string", 11, "third string", 11, "fifth string", 11, "sixth string", 11, "ninth string", 11, "tenth string", 11, "second string", 12, "fourth string", 12, "eighth string", 12, "seventh string", 13, "twelfth string", 13, "eleventh string", 14, "fortieth string", 14, "fiftieth string", 14, "sixtieth string", 14, "fifteenth string", 15, "sixteenth string", 15, "twentieth string", 15, "thirtieth string", 15, "eightieth string", 15, "ninetieth string", 15, "hundredth string", 15, "thirteenth string", 16, "fourteenth string", 16, "eighteenth string", 16, "nineteenth string", 16, "seventieth string", 16, "forty-first string", 16, "forty-third string", 16, "forty-fifth string", 16, "forty-sixth string", 16, "forty-ninth string", 16, "fifty-first string", 16, "fifty-third string", 16, "fifty-fifth string", 16, "fifty-sixth string", 16, "fifty-ninth string", 16, "sixty-first string", 16, "sixty-third string", 16, "sixty-fifth string", 16, "sixty-sixth string", 16, "sixty-ninth string", 16, "seventeenth string", 17, "forty-second string", 17, "forty-fourth string", 17, "forty-eighth string", 17, "fifty-fourth string", 17, "fifty-second string", 17, "fifty-eighth string", 17, "sixty-second string", 17, "sixty-fourth string", 17, "sixty-eighth string", 17, "twenty-first string", 17, "twenty-third string", 17, "twenty-fifth string", 17, "twenty-sixth string", 17, "twenty-ninth string", 17, "thirty-first string", 17, "thirty-third string", 17, "thirty-fifth string", 17, "thirty-sixth string", 17, "thirty-ninth string", 17, "eighty-first string", 17, "eighty-third string", 17, "eighty-fifth string", 17, "eighty-sixth string", 17, "eighty-ninth string", 17, "ninety-first string", 17, "ninety-third string", 17, "ninety-fifth string", 17, "ninety-sixth string", 17, "ninety-ninth string", 17, "forty-seventh string", 18, "fifty-seventh string", 18, "sixty-seventh string", 18, "twenty-second string", 18, "twenty-fourth string", 18, "twenty-eighth string", 18, "thirty-second string", 18, "thirty-fourth string", 18, "thirty-eighth string", 18, "eighty-second string", 18, "eighty-fourth string", 18, "eighty-eighth string", 18, "ninety-second string", 18, "ninety-fourth string", 18, "ninety-eighth string", 18, "seventy-first string", 18, "seventy-third string", 18, "seventy-fifth string", 18, "seventy-sixth string", 18, "seventy-ninth string", 18, "twenty-seventh string", 19, "thirty-seventh string", 19, "eighty-seventh string", 19, "ninety-seventh string", 19, "seventy-second string", 19, "seventy-fourth string", 19, "seventy-eighth string", 19, "seventy-seventh string", 20))
}$loc[Secret Treasure Room] \
You pick out your $item[$pressureItem1] and $item[no tea],
approach, taking care not to squee,
you balance, review,
then swap - //switcheroo!//
It's done! Did the pressure plate see?
$more[Regardless, your weight calculation
was off either way. Lamentation!
A rock countermeasure
(if: ($pressureItem1 is "shovel") or ($pressureItem2 is "shovel"))[drops, $rumble[crushing] the $item[treasure]
and $item[shovel]! You [[flee this location!->boulder escape start]]] \
(else:)[drops, $rumble[crushing] the $item[treasure]!
It rolls, and you [[flee this location!->boulder escape start]]]]$loc[Secret Treasure Room] \
You pick out your $item[strength potions] and your $item[seventy-seventh thread],
approach, taking care where you tread,
you balance, review,
then swap - //switcheroo!// (set: $hasTreasure to true)
It's done, and it's heavy as lead.
$more[The pressure plate slams with such force
that you can't help but smugly endorse
the plan of such cleverness
that led to this heaviness...
and now $Verge is dancing, of course.
$more[She's got out her black light, and, raving,
yells, $v["Treasure!"] with all her limbs waving.
You knapsack the loot
as well as your snoot
and join her in dance party caving.
$knapsack
$more[Despite the Great Pressure Plate Truce,
a giant-ass boulder comes loose!
If you don't make haste,
you'll soon be thief paste,
so make like an elk and [[vamoose!->boulder escape start]]]]]{
(if: $achievedAct < 1)[(set: $achievedAct to 3)]
(display: "save act 3")
(set: $isCutscene to false)
(set: $isIntro to false)
(display: "act 3 invariants")
(set: $seenAct3TitleCard to true)
}
<div class="act">ACT III</div>
|line2)[<div class="act">Catapult Catastrophe</div>]
|limerick)[[[(escape)->ex-cul-de-sac]]]
{
(live: 1s)[
(show: ?line2)
(stop:)
]
(live: 2s)[
(show: ?limerick)
(stop:)
]
}
{
(set: $hasShovel3 to $hasShovel)
(set: $brokeShovel3 to $brokeShovel)
(set: $hasKey3 to $hasKey)
(set: $hasGin3 to $hasGin)
(set: $hasPotions3 to $hasPotions)
(set: $hasThread3 to $hasThread)
(set: $threadNumber3 to $threadNumber)
(set: $hasSeenStretchedCoil3 to $hasSeenStretchedCoil)
(set: $hasTreasure3 to $hasTreasure)
}
{
(display: "12v initialize act 1 variables")
<!-- enforce invariants -->
(set: $hasEgg to true)
(set: $hasWhip to true)
(set: $hasNoTea to true)
(set: $hasGear to false)
(set: $hasCoil to true)
(set: $isDoomNigh to true)
(set: $hasKey to false)
(set: $hasGin to false)
(set: $hasPotions to false)
(set: $hasThread to false)
(set: $threadNumber to 0)
(set: $hasTreasure to false)
(set: $isTombOpen to false)
(set: $pressureDone to false)
(set: $isBouldered to false)
(set: $hasSchist to false)
}{
(display: "13v initialize act 2 variables")
<!-- enforce invariants -->
(set: $hasEgg to true)
(set: $hasWhip to true)
(set: $hasNoTea to true)
(set: $hasGear to false)
(set: $hasCoil to true)
(set: $isDoomNigh to true)
(set: $hasThread to true)
(set: $solvedStatue to true)
(set: $hasTreasure to false)
(set: $isTombOpen to true)
(set: $pressureDone to false)
(set: $isBouldered to false)
(set: $hasSchist to false)
}{
(display: "14v initialize act 3 variables")
<!-- initialize puzzle -->
(set: $doorTriedKey to false)
(set: $doorTriedTreasure to false)
(set: $doorTriedWhip to false)
(set: $doorTriedShovel to false)
(set: $doorTriedCoil to false)
(set: $doorTriedNoTea to false)
(set: $doorTriedGin to false)
(set: $doorTriedThread to false)
(set: $doorTriedThreadCount to 0)
(set: $doorTriedPotions to false)
(set: $doorTriedSchist to false)
<!-- enforce invariants -->
(set: $hasEgg to true)
(set: $hasWhip to true)
(set: $hasNoTea to true)
(set: $hasGear to false)
(set: $hasCoil to true)
(set: $isDoomNigh to true)
(set: $hasThread to true)
(set: $solvedStatue to true)
(set: $isTombOpen to true)
(set: $pressureDone to true)
(set: $isBouldered to true)
(set: $hasSchist to false)
}
{
(set: $party to "$m[Mulana]") \
(set: $isEggDoorOpen to true) \
(display: "15v initialize act 4 variables")
<!-- invariants -->
(set: $hasEgg to true)
(set: $hasWhip to true)
(set: $hasNoTea to true)
(set: $hasGear to false)
(set: $hasCoil to true)
(set: $isDoomNigh to true)
(set: $hasThread to true)
(set: $solvedStatue to true)
(set: $isTombOpen to true)
(set: $pressureDone to true)
(set: $isBouldered to true)
}{
(set: $hasShovel4 to $hasShovel)
(set: $brokeShovel4 to $brokeShovel)
(set: $hasKey4 to $hasKey)
(set: $hasGin4 to $hasGin)
(set: $hasPotions4 to $hasPotions)
(set: $hasThread4 to $hasThread)
(set: $threadNumber4 to $threadNumber)
(set: $hasTreasure4 to $hasTreasure)
(set: $invHeistLoot4 to $invHeistLoot)
(set: $invCat4 to $invCat)
(set: $invDigger4 to $invDigger)
(set: $invChai4 to $invChai)
(set: $invSpring4 to $invSpring)
(set: $invDevice4 to $invDevice)
(set: $invSchnapps4 to $invSchnapps)
(set: $invDraughts4 to $invDraughts)
(set: $invString4 to $invString)
(set: $invTombLoot4 to $invTombLoot)
(set: $invGneiss4 to $invGneiss)
}
(link: "(knapsack)")[(display: "INV")]$loc[Wormhole] \
$Verge mentions while running, $v["I guess
this sure beats a nice game of chess.
But while we're on task,
I've just got to ask:
how //did// we get into this mess?"]
(set: $choice to "AN ERROR HAS LED TO THIS MESS") \
|howdid>[(dropdown: bind $choice, "We raided a tomb. There's a boulder.", "And what better time for philosophy")
(confirm)] \
\
(click: "(confirm)")[ \
(replace: ?howdid)[] \
(display: $choice) \
]
$knapsack$loc[Narrow Bridge (north side)] \
(set: $localBalanced to true) \
(if: $volume's ($threadOrdinals's $threadNumber) is not 4)[ \
(set: $localBalanced to false) \
You gingerly step on the track,
then instantly step right on back.
Despite all your talents,
you're just too off-balance.
You need to rebalance your pack.
(click: "your pack")[
(display: "INV")
]
(set: $choice to "ERROR") \
|advise>[(dropdown: bind $choice, "\"Your pack looks unbalanced there, boss.\"", "\"Your pack looks unbalanced -\" \"Don't worry.\"")
(confirm)] \
(click: "(confirm)")[ \
(if: $choice is "\"Your pack looks unbalanced there, boss.\"")[ \
(replace: ?advise)[$v["Your pack looks unbalanced there, boss."]
$m["A bit like my profit and loss."]
$v["Mulana, don't sweat this;
I'm awesome at Tetris.
I'll [[root through->bridge hint]] and help you across."]]] \
(unless: $choice is "\"Your pack looks unbalanced there, boss.\"")[ \
(replace: ?advise)[$v["Your pack looks unbalanced -"] $m["Don't worry.
I'll sort it all out in a hurry."]
$v["You sure? Because I
am sayin' goodbye!"]
She crosses so fast she looks blurry. (set: $party to "$m[Mulana]") (replace: ?party)[$party]
$more[$Verge walks back across on her hands. (set: $party to "$m[Mulana], $v[Verge]") (replace: ?party)[$party]
$v["Hello! Let me [[help->bridge hint]]!"] she demands.
$m["I've got this. Chill out."]
$Verge giggles with doubt.
$v["Have you //met// me? I'll make other plans."]]]]]
{
(set: $n to "cul-de-sac")
(set: $w to false)
(set: $e to false)
(set: $s to false)
(if: $isBridged)[
(set: $s to "Crystal Cave")]
(else:)[
(set: $s to "bridge attempt")]
(display: "COMPASS")
(replace: "is right out, as is")[is the pit, as is]
(replace: "Lastly, there's")[The bridgeway is]
}
] \
(if: $localBalanced)[(goto: "narrow bridge south")]{
(set: $hasThread to true)
(set: $threadNumber to 17)
(set: $hasPotions to true)
(set: $hasGin to true)
(set: $hasCoil to true)
(set: $hasKey to true)
(set: $hasTreasure to true)
(set: $isBouldered to true)
(goto: "narrow bridge")
}$loc[Narrow Bridge (talking to $Verge)] \
$v["Just sort through your knapsack and mumble
out loud while you do it. A stumble
means that's out of whack,
so ditch from your pack,
and switch it for one you won't fumble."] \
\
(click: "sort through your knapsack and mumble")[
$m["(display: "INV")"] \
(replace: "your")[my] \
(replace: "my knapsack and mumble")[your knapsack and mumble] \
(replace: "ditch from my")[ditch from your]
(replace: "You")[I] \
(replace: "let us")[let me] \
$more[$v["Aha! I could hear what's askew.
The question becomes, then, could you?"]
To safeguard from tumbling,
you measure your mumbling.
$v["I'm happy to give you [[a clue->bridge spoiler]]!"]]]
{
(set: $n to "cul-de-sac")
(set: $w to false)
(set: $e to false)
(set: $s to false)
(set: $s to "bridge attempt")
(display: "COMPASS")
(replace: "is right out, as is")[is the pit, as is]
(replace: "Lastly, there's")[The bridgeway is]
}$loc[Narrow Bridge] \
You balance precisely, averse
to slipping and falling, or worse,
to look like a fool.
But no, you're quite cool;
you totally nail the traverse.
$more[You turn and look back, and you curse.
$m["I hope we don't have to reverse."]
$v["Ooh, look, boss, a lever!"]
Before you perceive her,
she's pulled it! That imp is perverse! (set: $isBridged to true)
$more[The bridge makes a sound like a grinder.
You find $Verge and hide right behind her.
As stone starts to slide,
the bridge is now wide!
You almost regret you maligned her.
$knapsack
[[(more)->Crystal Cave]]]]$loc[Narrow Bridge (not boiling $Verge)] \
$v["The thread! It's the thread!"] exclaims $Verge.
You valiantly stifle the urge
to feather and boil her.
$m["A clue? That's a spoiler!"]
$v["I know! It just had to emerge."]
(set: $choice to "ERROR") \
|advise>[(dropdown: bind $choice, "\"But how can I swap out the thread?\"", "\"I know I should swap it, but which?\"")
(confirm)] \
(click: "(confirm)")[ \
(if: $choice is "\"But how can I swap out the thread?\"")[ \
(replace: ?advise)[$m["But how can I swap out the thread?"]
you query of $Verge, full of dread.
$v["Let's backtrack to where
we got it, and tear
another loose fiber instead."]]] \
(else:)[ \
(replace: ?advise)[$m["I know I should swap it, but which?"]
$v["I //KNOW// that you //WANT// to get //RICH,//
so //SWAP// out the //THREAD//
for //ONE// which in-//STEAD//
has //CA-//dence that //FITS// with no //HITCH.//"]]]]
$knapsack
{
(set: $n to "cul-de-sac")
(set: $w to false)
(set: $e to false)
(set: $s to "bridge attempt")
(display: "COMPASS")
(replace: "is right out, as is")[is the pit, as is]
(replace: "Lastly, there's")[The bridgeway is]
}$loc[Secret Measure Room] \
You're here again! Shining gold treasure,
which surely had worth beyond measure,
once sat on that pillar!
It's too bad a killer
boulder incurred your displeasure.
(if: $hasTreasure)[But still, you acquired the gold!
You take it on out, just to hold.
These thieves uninvited
have now been requited;
This fortune has favored the bold.
]$more[They're fresh out of boulders now, though.
You've gotta count that as a pro.
But then, as a con,
it's time to move on.
There's nothing else here, so you [[go->wormhole]].
{
(set: $n to false)
(set: $w to false)
(set: $e to false)
(set: $s to "wormhole")
}
(display: "COMPASS") \
(replace: " is right out, as is")['s a cave wall, as is]](if: $isEggDoorOpen)[(goto: "Aztec Enigma")] \
$loc[Ponderous Door] \
A door blocks your cave exploration.
Devoid of all ornamentation,
it's solid and dormant,
its only adornment
a half-a-fist-sized indentation.
$more[|puzzle>[ \
You insert the $inv in the door.
That recess was not just decor!
$precog[With stone grinding stone,
unknown becomes known;
your way is obstructed no more.
However, you've now lost your $inv!
You fiddle and lever and $xxx...
then $Verge pops it out
with a twist and a flout,
while hopping about $xxx $xxx $xxx.]]
|knapsack>[(display: "INV")]
{
(click-goto: ?egg, "door egg")
(unless: $doorTriedKey)[(click-goto: ?key, "door key")]
(unless: $doorTriedTreasure)[(click-goto: ?treasure, "door treasure")]
(unless: $doorTriedWhip)[(click-goto: ?whip, "door whip")]
(unless: $doorTriedShovel)[(click-goto: ?shovel, "door shovel")]
(unless: $doorTriedCoil)[(click-goto: ?coil, "door coil")]
(unless: $doorTriedNoTea)[(click-goto: ?notea, "door no tea")]
(unless: $doorTriedGin)[(click-goto: ?gin, "door gin")]
(unless: $doorTriedThread)[(click-goto: ?thread, "door thread")]
(unless: $doorTriedPotions)[(click-goto: ?potions, "door potions")]
(unless: $doorTriedSchist)[(click-goto: ?schist, "door schist")]
(set: $n to false)
(set: $w to false)
(set: $e to "Crystal Cave")
(set: $s to false)
}
(display: "COMPASS") \
(replace: "is right out, but there's east,")[is the door, crystals [[east->Crystal Cave]].] \
(replace: "and zilch")[There's zilch]]$loc[Cave-In (north side)] \
(set: $hasSchist to true) \
(display: "INV")
(replace: "schist")[$item[schist]]
[[(return)->cave-in]]$loc[Cave-In (north side)] \
You followed the breeze as it blew,
but now a dead end blocks your view.
The cave has caved in.
You note with chagrin
the only known exit is through.
(unless: $hasSchist)[ \
$m["Goddammit!"] you say, really pissed.
You punch the rock wall with your fist.
Your knuckles aren't brass,
but //are// quite badass;
you break off a small piece of [[schist]].
] \
$more[But wait! There's a way out of trouble.
A beam's jutting out from the rubble.
A catapult half:
The basket and staff!
You rush to [[explore->catapult puzzle]] on the double.]
$knapsack
{
(set: $n to "Crystal Cave")
(set: $w to false)
(set: $e to false)
(set: $s to false)
(if: $solvedCatapult)[(set: $s to "minecart prologue")]
}
(display: "COMPASS") \
(replace: " is right out, as is east,")['s a rock wall, as is east.] \
(replace: "and zilch to the")[The cave-in is]$loc[Ponderous Door] \
You insert the $item[egg] in the door.
That recess was not just decor!
With stone grinding stone,
unknown becomes known;
your way is obstructed no more. (set: $isEggDoorOpen to true)
However, you've now lost your $item[egg]!
You fiddle and lever and beg...
then $Verge pops it out
with a twist and a flout,
while hopping about on one leg.
$knapsack
[[(enter)->Aztec Enigma]]$loc[Ponderous Door] \
Remember the keyhole-shaped socket?
You could have used this to unlock it,
but no, you just whipped
the lock on that crypt,
so now the $item[key]'s still in your pocket.
$more[And now, in a much later verse,
you're switching it up in reverse;
instead of what's meant
for this half-a-fist dent
you're using the key. How perverse!
$more[The small indentation glows blue.
You snatch back your hand, say adieu
to the key, which is stuck.
You witness, awestruck:
the metal key melts into goo. (set: $achievedMeltedKey to true) (set: $hasKey to false)
$more[The key-liquid seeps into grooves
that light the door blue and remove
the liquid from view.
The door splits in two:
a crack down the middle, which moves.
[[(return)->door puzzle]]]]]$loc[Ponderous Door] \
You insert the $item[treasure] in the door.
How bold, after troubles galore,
to bet your best booty!
But it's my sad duty
to say, "no effect." What a bore!
$more[No too-clever quips, no reward
for risking your hard-obtained hoard.
No $Verge being weird,
no Aztecs appeared,
no riddles to keep you unbored.
$more[No ponderous rolling stone ball,
no gold (and no silver at all).
No vampires, no sea,
and //surely// no tea.
It's just "no effect." How banal.
[[(return)->door puzzle]]]]$loc[Ponderous Door] \
You whip the shit out of the door,
until you can't whip anymore.
This pony's one trick
is so frickin' slick!
$Verge says, $v["I'm scared too, boss. Therefore,]
$more[$v[I sing silly songs and you whip.
I get it. But don't lose your grip."]
Her hand on your shoulder.
$v["We outran a boulder.
We got this,"] her hand on her hip.
[[(return)->door puzzle]]]$loc[Ponderous Door] \
You insert the $item[shovel] in the door.
It breaks your heart just a bit more.
It, too, snaps in half (set: $hasShovel to false) (set: $brokeShovel to "door")
the shovel, like chaff,
and scatters its bits to the floor.
$more[$v["This shovel! We should have brought //mine!//
Where'd you even //get// this?"] $Verge whines.
$m["Home Depot! Be fair!"]
A silent, stern glare.
$m["...on sale for just $9.99."]
[[(return)->door puzzle]]]$loc[Ponderous Door] \
You smush the $item[stretched coil] in the door.
It bounces right out to the floor!
This coil and/or spring
has still got some zing,
but you'll have to try something more.
[[(return)->door puzzle]]$loc[Ponderous Door] \
You insert $item[no tea] in the door,
establish a mental rapport,
and think how you long
for tea, hot and strong.
//Open Chai Spice!// you implore.
$more[However, your telekinetic
ability's purely cosmetic.
Look serious, now,
then furrow your brow
and act like your forehead's prosthetic.
$more[The door, you believe, is impressed.
You certainly gave it your best.
And yet, it remains
immune to your strains,
so give your poor forehead a rest.
[[(return)->door puzzle]]]]$loc[Ponderous Door] \
You insert the $item[gin] in the door.
$m["Let's all play a game. I'll keep score.
Two truths and a lie.
You win, you stay dry,
but drink if you're wrong or a bore."]
$v["I've broken no more than four laws.
I once was an extra in //Jaws,//
in the scene on the sand.
I'm a kid. I just stand.
And I have retractable claws."]
(set: $localMulanaDrinks to true) \
(set: $choice to "AN ERROR OCCURRED WITH THE GUESS") \
|guess>[(dropdown: bind $choice, "You haven't a clue which to guess.", "\"The lie is the laws one,\" you guess.", "\"The lie is the Jaws one,\" you guess.", "\"The lie is the claws one,\" you guess.", "\"Those all sound like lies, Verge,\" you guess.")
(confirm)] \
\
(click: "(confirm)")[ \
(replace: ?guess)[] \
(display: $choice) \
]$loc[Ponderous Door] \
You insert the $item[$displayThreadNumber thread] in the door.
It falls out and lands on the floor.
You pick it up, sigh,
and give one more try...
or [[give up and thread it no more.->door puzzle]] \
(click: "give one more try")[ \
(set: $doorTriedThreadCount to it + 1) \
(if: $doorTriedThreadCount >= 10)[(goto: "thread persistence")](else:)[(goto: "door thread")]]$loc[Ponderous Door] \
You insert the $item[strength potions] in the door.
Like it was too weak heretofore!
The door becomes stronger;
your quest becomes longer.
You now have a negative score.
[[(return)->door puzzle]]$loc[Ponderous Door] \
You insert the $item[schist] in the door.
It's just the right size, and therefore,
it oughta work, right?
Like a hide-a-key might?
But no. It's a rock, and no more.
[[(return)->door puzzle]](set: $hasKey to true) \
(set: $hasCoil to true) \
(set: $hasGin to true) \
(set: $hasThread to false) \
(set: $threadNumber to 91) \
(set: $hasPotions to false) \
(set: $hasSchist to false) \
(set: $hasTreasure to true) \
(set: $hasShovel to true) \
coil (if: $hasCoil)[true](else:)[false]
gin (if: $hasGin)[true](else:)[false]
thread (if: $hasThread)[true](else:)[false]
potions (if: $hasPotions)[true](else:)[false]
schist (if: $hasSchist)[true](else:)[false]
treasure (if: $hasTreasure)[true](else:)[false]
shovel (if: $hasShovel)[true](else:)[false]
(display: "INV")
(click-goto: ?notea, "LOCATION IS ERROR") \
(click-goto: ?egg, "LOCATION IS ERROR") \
(click-goto: ?whip, "LOCATION IS ERROR") \
(click-goto: ?shovel, "LOCATION IS ERROR") \
(click-goto: ?key, "LOCATION IS ERROR") \
(click-goto: ?gear, "LOCATION IS ERROR") \
(click-goto: ?coil, "LOCATION IS ERROR") \
(click-goto: ?gin, "LOCATION IS ERROR") \
(click-goto: ?thread, "LOCATION IS ERROR") \
(click-goto: ?potions, "LOCATION IS ERROR") \
(click-goto: ?treasure, "LOCATION IS ERROR") \
(click-goto: ?schist, "LOCATION IS ERROR")You haven't a clue which to guess.
The door volunteers even less.
You say, $m["I don't know."]
$Verge shakes her head no,
and says with her eyebrow raised, $v["Yes."]
[[(next round)->two truths and a lie]]$m["The lie is the laws one,"] you guess.
$m["You've just got too much to confess."]
$v["Nope! Theft, B&E,
some grand larceny,
and public indecent undress."]
[[(next round)->two truths and a lie]]$m["The lie is the Jaws one,"] you guess. (set: $achievedTwoTruthsAndALie to true) (set: $localMulanaDrinks to false)
$m["You're never that old."] $v["I confess!
I care not for sharks
with predictable arcs."]
You revel in well-earned success.
[[(next round)->two truths and a lie]]$m["The lie is the claws one,"] you guess.
(if: $brokeShovel is "pit")[ \
$v["Your memory fails to impress.
Remember the square?
I used my claws there,
while you sipped fake drinks with finesse.]
$more[$v[You saw them, like, with your own eyes!
You're //so// bad at picking out lies."]
$m["Don't put too much stock;
my handsaw's a hawk,"]
you desperately rationalize.
[[(next round)->two truths and a lie]]]] \
(else:)[ \
$v["It's true! They unsheath under stress."]
$m["Well, show me!"] $v["Abstain.
Gratuitous pain.
You'll just have to trust me then, yes?"]
[[(next round)->two truths and a lie]]]$m["Those all sound like lies, Verge,"] you guess.
$v["No way! I've been known to transgress,
but I played this one fair;
two truths were right there.
You totally lose. Acquiesce!"]
[[(next round)->two truths and a lie]]You drink. $m["Now it's your turn, my door.
Regale us with backstory lore."]
You wait and you wait
for the door to narrate,
'til you simply can't wait anymore.
(unless: $localMulanaDrinks)[ \
(replace: "drink.")[won!]] \
$more[$v["Were you trying to get the door drunk
in hopes it would open? You flunk."]
$m["I have, though, amassed,
some facts from your past."]
You wink. $v["You skulduggerous punk!"]
[[(return)->door puzzle]]]You've got to save Verge. You go back...
(display: "right into a cave bear attack")$loc[Ponderous Door] \
You insert the $item[$displayThreadNumber thread] in the door.
It falls out and lands on the floor.
You pick it up, sigh,
and curse at the sky,
$m["I won't take this shit anymore!"]
[[(return)->door puzzle]]$loc[Aztec Enigma] \
Inscribed is the full explanation
of why he abandoned his nation
in Mesoamerica
to build esoterica
in such a remote, odd location.
$more[Aha! It's the //prince// in the tomb. (set: $knowsPrince to true)
The Aztecs were facing their doom.
The king, with great care,
sent off his sole heir
to lands far away from those whom
$more[were slaughtering Aztecan innocents.
With looting and pillaging imminent,
The king sent his boy
with a curious toy
to place into hidden imprisonment.
$more[A knight from [[a secret society]]
once known for their knowledge and piety
transported the heir
to Spain, and once there,
laid low to avoid notoriety.
$more[And then they began to convey
the prince and his prize far away:
to Russia. Though crowned,
he lived underground,
lest sightings his secret betray.
$more[Rebuilding it inside this room,
enigma concealed in the gloom,
he lived out his days
in this cavernous maze,
until it was also his tomb.]]]]]
[[(return)->Aztec Enigma]]$loc[Aztec Enigma] \
You pass the $inv through the hoop,
and once it's pulled out of the loop,
$precog[it looks... rearranged.
//Your perspective has changed.//
It's back in your pack; you regroup.]
|knapsack>[(display: "INV")]
{
(set: $enigmaItemChosen to "ERROR")
(click: ?egg)[
(if: $invHeistLoot)[(set: $enigmaItemChosen to "heist loot")(set: $enigmaItemNew to "egg")]
(else:)[(set: $enigmaItemChosen to "egg")(set: $enigmaItemNew to "heist loot")]
(set: $invHeistLoot to not it)
(goto: "perspective shifted")]
(click: ?whip)[
(if: $invCat)[(set: $enigmaItemChosen to "cat-o'-one-tail")(set: $enigmaItemNew to "whip")]
(else:)[(set: $enigmaItemChosen to "whip")(set: $enigmaItemNew to "cat-o'-one-tail")]
(set: $invCat to not it)
(goto: "perspective shifted")]
(click: ?shovel)[
(if: $invDigger)[(set: $enigmaItemChosen to "digger")(set: $enigmaItemNew to "shovel")]
(else:)[(set: $enigmaItemChosen to "shovel")(set: $enigmaItemNew to "digger")]
(set: $invDigger to not it)
(goto: "perspective shifted")]
(click: ?notea)[
(if: $invChai)[(set: $enigmaItemChosen to "no Chai Spice")(set: $enigmaItemNew to "no tea")]
(else:)[(set: $enigmaItemChosen to "no tea")(set: $enigmaItemNew to "no Chai Spice")]
(set: $invChai to not it)
(goto: "perspective shifted")]
(click: ?coil)[
(if: $invSpring)[(set: $enigmaItemChosen to "stretched spring")(set: $enigmaItemNew to "stretched coil")]
(else:)[(set: $enigmaItemChosen to "stretched coil")(set: $enigmaItemNew to "stretched spring")]
(set: $invSpring to not it)
(goto: "perspective shifted")]
(click: ?key)[
(if: $invDevice)[(set: $enigmaItemNew to "key")(if: $invChai)[(set: $enigmaItemChosen to "opening-doors-type device")](else:)[(set: $enigmaItemChosen to "opening-doors-type debris")]]
(else:)[(set: $enigmaItemChosen to "key")(if: $invChai)[(set: $enigmaItemNew to "opening-doors-type device")](else:)[(set: $enigmaItemNew to "opening-doors-type debris")]]
(set: $invDevice to not it)
(goto: "perspective shifted")]
(click: ?gin)[
(if: $invSchnapps)[(set: $enigmaItemChosen to "schnapps")(set: $enigmaItemNew to "gin")]
(else:)[(set: $enigmaItemChosen to "gin")(set: $enigmaItemNew to "schnapps")]
(set: $invSchnapps to not it)
(goto: "perspective shifted")]
(click: ?potions)[
(if: $invDraughts)[(set: $enigmaItemChosen to "strength draughts")(set: $enigmaItemNew to "strength potions")]
(else:)[(set: $enigmaItemChosen to "strength potions")(set: $enigmaItemNew to "strength draughts")]
(set: $invDraughts to not it)
(goto: "perspective shifted")]
(click: ?thread)[
(if: $invString)[(set: $enigmaItemChosen to $ordinals's $threadNumber + " string")(set: $enigmaItemChosen to $ordinals's $threadNumber + " thread")]
(else:)[(set: $enigmaItemChosen to $ordinals's $threadNumber + " thread")(set: $enigmaItemNew to $ordinals's $threadNumber + " string")]
(set: $invString to not it)
(goto: "perspective shifted")]
(click: ?treasure)[
(if: $invTombLoot)[(set: $enigmaItemChosen to "tomb loot")(set: $enigmaItemNew to "treasure")]
(else:)[(set: $enigmaItemChosen to "treasure")(set: $enigmaItemNew to "tomb loot")]
(set: $invTombLoot to not it)
(goto: "perspective shifted")]
(click: ?schist)[
(if: $invGneiss)[(set: $enigmaItemChosen to "gneiss")(set: $enigmaItemNew to "schist")]
(else:)[(set: $enigmaItemChosen to "schist")(set: $enigmaItemNew to "gneiss")]
(set: $invGneiss to not it)
(goto: "perspective shifted")]
} \
[[(return)->Aztec Enigma]]$loc[Aztec Enigma] \
The Templars, the ones who knew where,
were not really willing to share.
But centuries later,
a Templar curator
who went by the name of Pierre
$more[inscribed on an egg what you've read.
To this very room it has led.
A gift to the Tsar,
to entrust the bizarre
enigma to him. But instead,
$more[Tsar Nicholas never achieved it.
We know that he surely received it.
The egg was then lost,
from hand to hand tossed,
and then, in the last game, you thieved it.]]
[[(return)->Aztec Enigma]]$loc[Aztec Enigma] \
You pass the $item[[$enigmaItemChosen]<item|] through the hoop,
and once it's pulled out of the loop,
it looks... rearranged.
//Your perspective has changed.//
It's back in your pack; you regroup.
|knapsack>[(display: "INV")]
{
(replace: ?item)[$enigmaItemChosen] <!-- to fix the replaces in INV -->
(replace: $enigmaItemNew)[$item[$enigmaItemNew]]
(if: ($enigmaItemChosen is "strength potions") or ($enigmaItemNew is "strength potions"))[(replace: "it's pulled")[they're pulled](replace: "it looks")[they look](replace: "It's back")[They're back]]
(set: $enigmaVolumeChosen to $volume's $enigmaItemChosen)
(if: $enigmaVolumeChosen is 1)[
(replace: "You pass")[You wiggle]
]
}
[[(return)->a thing]]{
(set: $isIntro to false)
(set: $isCutscene to true)
(set: $isTombOpen to true)
(set: $isBouldered to true)
(set: $hasThread to true)
(set: $threadNumber to 100)
(set: $hasPotions to true)
(set: $hasGin to true)
(set: $hasCoil to true)
(set: $hasTreasure to true)
(goto: "ACT THREE")
}{
<!-- INPUT: $catItem, $catItems, $cati -->
(set: $catItems's $cati to $catItem)
(if: $cati is 1)[(replace: ?item1)[$item[$catItem]]]
(if: $cati is 2)[(replace: ?item2)[$item[$catItem]]]
(if: $cati is 3)[(replace: ?item3)[$item[$catItem]]]
(if: $cati is 4)[(replace: ?item4)[$item[$catItem]]]
(if: $cati is 5)[(replace: ?item5)[$item[$catItem]](live: 0.2s)[(replace: ?knapsack)[(goto: "catapult attempt")]]]
(set: $cati to it + 1)
}$loc[Catapult] \
You place in the basket the $item[|item1>[$inv]]
in hopes the blockade will collapse.
You load the $item[|item2>[$inv]],
the $item[|item3>[$inv]], the $item[|item4>[$inv]],
and $item[|item5>[$inv]] to fill in the gaps.
{
(replace: ?item1)[(text: $catItems's 1th)]
(replace: ?item2)[(text: $catItems's 2th)]
(replace: ?item3)[(text: $catItems's 3th)]
(replace: ?item4)[(text: $catItems's 4th)]
(replace: ?item5)[(text: $catItems's 5th)]
(set: $volume1 to $volume's $catItems's 1th)
(set: $volume2 to $volume's $catItems's 2th)
(set: $volume3 to $volume's $catItems's 3th)
(set: $volume4 to $volume's $catItems's 4th)
(set: $volume5 to $volume's $catItems's 5th)
(set: $totalVolume to $volume1 + $volume2 + $volume3 + $volume4 + $volume5)
(set: $mass1 to $mass's $catItems's 1th)
(set: $mass2 to $mass's $catItems's 2th)
(set: $mass3 to $mass's $catItems's 3th)
(set: $mass4 to $mass's $catItems's 4th)
(set: $mass5 to $mass's $catItems's 5th)
(set: $totalMass to $mass1 + $mass2 + $mass3 + $mass4 + $mass5)
} \
(if: $debug)[(total volume = $totalVolume)] \
(if: $totalVolume > 8)[Or rather, you //try// to emplace,
(if: $totalVolume is 9)[but they take just a bit too much space.] \
(if: $totalVolume is 10)[but the items take up too much space.] \
(if: $totalVolume > 10)[but the items take way too much space.]
To be one who tries
to minimize size,
go find smaller things, and [[replace->catapult puzzle]].
(display: "catapult size")] \
(if: $totalVolume <= 8)[
(if: $debug)[(total mass = $totalMass out of 58)] \
(set: $localMassShortage to 58 - $totalMass) \
(if: $localMassShortage > 0)[You manage to fit all the stuff,
but the basket's not heavy enough!
In order to pass,
you'll need some more mass,
so [[swap in->catapult puzzle]] some lead for the fluff!
(display: "catapult weight")] \
(if: ($localMassShortage <= 6) or ($localMassShortage is 8) or ($localMassShortage is 9) or ($localMassShortage is 10) or ($localMassShortage is 12))[(replace: "some more")[$weight[(text: $localMassShortage)] more]] \
(if: $localMassShortage >= 13)[(replace: "some more")[way more]] \
(if: $localMassShortage <= 0)[ \
(set: $catBalance to true) \
(if: $volume1 is not 1)[(set: $catBalance to false)(if: $debug)[(The (text: $catItems's 1th) is out of balance.)]] \
(if: $volume2 is not 2)[(set: $catBalance to false)(if: $debug)[(The (text: $catItems's 2th) is out of balance.)]] \
(if: $volume3 + $volume4 is not 3)[(set: $catBalance to false)(if: $debug)[(The (text: $catItems's 3th) and/or the (text: $catItems's 4th) are out of balance.)]] \
(if: $volume5 is not 2)[(set: $catBalance to false)(if: $debug)[(The (text: $catItems's 5th) is out of balance.)]] \
(unless: $catItems's 1st is "schnapps")[(set: $catBalance to false)]
(unless: ($catItems's 2nd contains "spring") or ($catItems's 2nd contains "string"))[(set: $catBalance to false)] \
(unless: ($catItems's 4th contains "spring") or ($catItems's 4th contains "string"))[(set: $catBalance to false)] \
(unless: $catBalance)[They fit, and they're heavy, and yet
the [[cave-in->catapult puzzle]] persists as a threat.
You aptly conclude
the balance is skewed;
the order is off in the set.
(display: "catapult balance")] \
(if: $catBalance)[You did it! It's shifting the rocks!
You hope that's the last of the blocks.
$m["Getting //out// of this hollow's
a tough act to follow.
It beats getting //into// Fort Knox."]
$v["Fort Knox is like, way overrated.
Its security's mad overstated.
I once took a peek
to check the mystique.
Insecure as some people I've dated."]
(replace: ?north)[] \
(replace: ?west_east)[] \
(replace: ?south)[] \
(replace: ?coda)[] \
(link: "(south)")[(set: $party to "$m[Mulana]")(goto: "separated from Verge")]]]] \
(unless: $hasGin and $hasSchist and $hasThread and $hasCoil and $hasPotions and $isEggDoorOpen)[
$v["Mulana, you shouldn't assume
you have what you need for this room.
If I may persuade,
I think we should raid
some more of this cavernous tomb."]] \
(unless: $threadNumber is 12)[
$v["Ahem! I don't mean to coopt,
but there's something that needs to be swapped."]
$m["Upon some reflection,
your quick interjection]
(set: $choice2 to "AN ERROR-FREE RUN HAS NOW STOPPED") \
|reply>[(dropdown: bind $choice2, "is aid that I aim to adopt.\"", "is nagging that I'd prefer stopped.\"")
[(confirm)]<confirm2|] \
(click: ?confirm2)[ \
(replace: ?reply)[] \
(display: $choice2)
] \
]$loc[Cave-In (south side)] \
You pass through the newly-made gap.
You suddenly hear a loud $bam[SNAP!]
The catapult cracked!
Before you react,
the rocks tumble down like a trap.
$more[The cave-in caved in again. $m["Verge!"]
you shout, but she doesn't emerge.
Are the rocks a divide,
or is $Verge trapped inside
the rockfall and wholly submerged?
$knapsack
[[(dig)->dig]]]$loc[Cave-In (south side)] \
You [[dig]] and you [[scrabble->dig]] and [[scrape->dig]],
but the cave-in does not change its shape.
You've done all you can;
it's time to replan.
No choice but [[resume your escape->minecart prologue]].
$knapsack{
(set: $hasThread to true)
(set: $hasPotions to true)
(set: $hasGin to true)
(set: $hasCoil to true)
(set: $hasKey to true)
(set: $hasTreasure to true)
(set: $isBouldered to true)
(set: $hasSchist to true)
(set: $invString to true)
(set: $invSchnapps to true)
(set: $invSpring to true)
(set: $invDraughts to true)
(set: $invCat to true)
(set: $threadNumber to 12)
(goto: "catapult puzzle")
}$v["The ocelots! Like from before..."]
(set: $choice to "ERROR") \
|advise>[(dropdown: bind $choice, "\"Why don't you remind me. Say more.\"", "\"I'm full up on ocelot lore.\"")
[(confirm)]<confirm_size|] \
(click: ?confirm_size)[ \
(if: $choice is "\"I'm full up on ocelot lore.\"")[ \
(replace: ?advise)[$m["I'm full up on ocelot lore."]
$v["Whatevs! [[Change your mind->catapult size hint]],
you know where to find
me. Folks say I'm hard to ignore."]]]
(unless: $choice is "\"I'm full up on ocelot lore.\"")[ \
(goto: "catapult size hint")]]$v["I see, boss! Remember the pressure?"]
(set: $choice to "ERROR") \
|advise>[(dropdown: bind $choice, "\"Why don't you provide a refresher?\"", "\"I'd rather be thrashed by a thresher.\"")
[(confirm)]<confirm_weight|] \
(click: ?confirm_weight)[ \
(if: $choice is "\"I'd rather be thrashed by a thresher.\"")[ \
(replace: ?advise)[$m["I'd rather be thrashed by a thresher."]
$v["Whatevs! [[Change your mind->catapult weight hint]],
you know where to find
me,"] $Verge replies, grinning all Cheshire.]]
(unless: $choice is "\"I'd rather be thrashed by a thresher.\"")[ \
(goto: "catapult weight hint")]]$v["It's just like the narrowest bridge!"]
(set: $choice to "ERROR") \
|advise>[(dropdown: bind $choice, "\"The one by the chasm and ridge?\"", "\"Enough. Put it back in the fridge.\"")
[(confirm)]<confirm_balance|] \
(click: ?confirm_balance)[ \
(if: $choice is "\"Enough. Put it back in the fridge.\"")[ \
(replace: ?advise)[$m["Enough. Put it back in the fridge."]
$Verge gigglesnorts twice.
$v["It's 'put it on ice'.
I think you were off by a smidge."]]]
(unless: $choice is "\"Enough. Put it back in the fridge.\"")[ \
(goto: "catapult balance hint")]]$loc[Catapult (talking to $Verge)] \
(display: "catapult size hint " + (text: $catHintNumber)) \
(set: $catHintNumber to it + 1) (if: $catHintNumber > 3)[(set: $catHintNumber to 1) (set: $isCatHintRandomized to true)] \
(if: $isCatHintRandomized)[ \
(replace: "doll")[(either: "doll", "wall", "shawl", "ball", "ball")] \
(replace: "elephant")[(either: "icicle", "octopus", "underdog", "apricot")]
(replace: "whip")[(either: "whip", "egg")] \
(set: $localBee to (text: (either: "bee", "flea", "pea"))) \
(replace: "tree")[$localBee] \
(replace: "gallon")[(either: "thimble", "thimble", "smidgen", "tulip", "small drop")] \
]
[[(hint)->catapult size hint]]
[[(return)->catapult puzzle]]$v["The $item[catapult's excellent basket]
is four times as big as a $item[gasket],
and eight times a $item[doll],
So pick stuff that's small,
so we don't end up in a casket."]$v["An $item[elephant], take it from me,
is three times as big as a $item[tree].
And when I bake $item[pies],
they're all a tree's size,
so best bring a gallon of tea!"]$v["I'll get out my tape measure, see?
This $item[catapult]? Spot on at $size[3].
(if: $invCat)[Your $item[cat-o'-one-tail?]
Size $size[4], without fail.
Y](else:)[Your $item[whip] is size $size[1].
And check this out, hon,
y]our $item[shovel]'s size $size[2], guarantee."]
(if: $brokeShovel is "pit")[
$m["My shovel, you say? Funny thing...
Where is it? Did somebody //fling
it into a pit?//
I'm sure that's not it."]
$Verge throws out her palms and says, $v["Zing."]] \
(if: $brokeShovel is "tomb")[
$m["My shovel? My shovel, you say?
Did somebody get in the way
and //pry up a tomb?//
No //pro,// I assume."]
$Verge throws out her palms, says, $v["Touché."]] \
(if: (not $hasShovel) and ($brokeShovel is not "pit") and ($brokeShovel is not "tomb"))[
$m["My shovel, if you will recall,
is broken. Kaput. Gone AWOL."]
$Verge says, $v["Right, I knew.
But it'd be $size[2]
if you had it. I'm sayin', that's all."]](if: $invCat)[(display: "catapult weight hint burrito")](else:)[(display: "catapult weight hint taco")]$loc[Catapult (talking to $Verge)] \
$v["Just sort through the basket and mumble
out loud while you do it. A stumble
means that's out of whack,
so ditch from your pack,
and switch it for one you won't fumble."]
(click: "sort through the basket")[I placed in the basket the $item[|item1>[$inv]]
in hopes the blockade will collapse.
I see the $item[|item2>[$inv]],
the $item[|item3>[$inv]], the $item[|item4>[$inv]],
and $item[|item5>[$inv]] to fill in the gaps.
{
(replace: ?item1)[(text: $catItems's 1th)]
(replace: ?item2)[(text: $catItems's 2th)]
(replace: ?item3)[(text: $catItems's 3th)]
(replace: ?item4)[(text: $catItems's 4th)]
(replace: ?item5)[(text: $catItems's 5th)]
} \
$more[$v["Aha! I could hear what's askew.
The question becomes, then, could you?"]
You measure your mumbling
to get the rocks crumbling.
$v["I'm happy to give you a clue!"]|clue)[
(display: "catapult balance clue")] \
(click: "a clue")[(show: ?clue)]
[[(return)->catapult puzzle]]]]$loc[Catapult (talking to $Verge)] \
(set: $localDone to false) \
(if: (not $localDone) and ($volume1 is not 1))[(set: $localDone to not $debug)$v["Now listen up close when I say
the $item[(text: $catItems's 1th)] is unbalanced, astray.
You see? When I spoke,
[[my rhythm was broke]],
so balance it out in some way."]
] \
(if: (not $localDone) and ($volume2 is not 2))[(set: $localDone to not $debug)$v["Now listen up close when I say
the $item[(text: $catItems's 2th)] is far from okay.
You see? When I spoke,
[[my rhythm was broke]],
so balance it out in some way."]
] \
(if: (not $localDone) and ($volume3 + $volume4 is not 3))[(set: $localDone to not $debug)$v["Now listen up close when I say
the $item[(text: $catItems's 3th)] or $item[(text: $catItems's 4th)] are astray.
You see? When I spoke,
[[my rhythm was broke]],
so fix at least one in some way."]
] \
(if: (not $localDone) and ($volume5 is not 2))[(set: $localDone to not $debug)$v["Now listen up close when I say
the $item[(text: $catItems's 5th)] is far from okay.
You see? When I spoke,
[[my rhythm was broke]],
so balance it out in some way."]
] \
(if: (not $localDone) and ($catItems's 1st is not "schnapps"))[(set: $localDone to not $debug)$v["I don't mean to seem acrimonious,
But that balance of stuff is erroneous.
Consider the $item[(text: $catItems's 1st)].
Observe and perhaps
you'll hear [[how it sounds disharmonious->my rhythm was broke]]."]
] \
(if: (not $localDone) and (not (($catItems's 2nd contains "spring") or ($catItems's 2nd contains "string")) or (not (($catItems's 4th contains "spring") or ($catItems's 4th contains "string")))))[(set: $localDone to not $debug)$v["I don't mean to seem sanctimonious,
But that balance of stuff is erroneous.
Now listen: '$item[(text: $catItems's 2nd)]'.
And listen: '$item[(text: $catItems's 4th)]'.
You hear [[how that sounds disharmonious->my rhythm was broke]]?"]
] \
(unless: $localDone)[I'm sorry to fill you with terror,
but you've sadly encountered an error.
Please copy this page
and <a href="mailto:pace@pacesmith.com?subject=Limerick Quest bug report: catapult balance clue">email</a> with rage
and I will become its repairer.]$loc[Epilogue] \
(set: $localMore to $more) \
(unless: $hasTreasure)[(set: $localMore to true)] \
(if: $hasTreasure)[(set: $achievedTreasure to true)(if: $invTombLoot)[There once was some solid gold loot
that triggered a boulder pursuit.
$m["It's mine now!"] you shout.
You'll fence and pay out;
you'll all be too rich to compute.](else:)[There once was a solid gold treasure
that's priceless beyond any measure.
It's yours now; hooray!
You'll fence it to pay
for you all to have lives full of leisure.]
(set: $hasNoTea to false)$knapsack
(replace: "- treasure")[- $item[treasure]](replace: "- the treasure")[- the $item[treasure]](replace: "- tomb loot")[- $item[tomb loot]](replace: "- the tomb loot")[- the $item[tomb loot]](click: ?inv_tea)[(show: ?teaster_egg)]
|teaster_egg)[The first thing you do once you're free
is brew up some well-deserved tea.
The second's a shower.
It takes a full hour
to scour off the dusty debris.
]]$localMore[There once was a hoop that exchanged
whatever passed through, rearranged.
Your hands have gone through it,
and somehow, you knew it:
//Your whole life perspective has changed.//
$more[You've always been meaning to try it,
despite your attempts to deny it.
The (cycling-link: "plunder", "scurvy", "insults"), the (cycling-link: "breeze", "sleaze", "fleas"),
the scourge of the seas:
You feel like a(link-reveal: "...")[ LIMERICK PIRATE!]
$more[There once were a couple of thieves
who pulled a job no one believes.
They raided and looted
a cave convoluted,
but now it's time one of them leaves.
$more[$m["I'll see you next job. You're the best."]
And then, before $Verge can protest,
you hug her goodbye.
She wipes at her eye.
$v["I'll see you next(link-reveal:"...")[
<div class="titlecard">$v[LIMERICK]
$v[QUEST!]</div>
(set: $isCutscene to true)
[[(achievements)->achievements]]]]]]]]$loc[An Upward Gradation] \
$m["Let's do it!"] you gladly assent.
$m["With everything we underwent,
we need a vacation."]
An upward gradation;
you climb and begin your ascent.
$more[You're steadily making your way.
The climbing is going okay
for the tomb-raiding crew,
when suddenly you(link-reveal: "...")[
emerge to [[the warm light of day->epilogue start]].]]
$knapsack$loc[Colossal Cave, Far Side] \
You shout, $m["You're alive!"] as you gape.
$v["Ayup! The new cave-in reshaped
the rocks and revealed
a tunnel concealed.
I'm glad I caught up. Let's [[escape->ascend]]!"]
$knapsack$loc[Catapult (talking to $Verge)] \
$v["I see, boss! Remember the pressure?"]
$m["Why don't you provide a refresher?"]
$v["Grab hold of my $item[fist].
Okay, now my $item[wrist].
That's perfect."] Her grin is all Cheshire.
(link: "(hint)")[$v["So obvi, they're both the same size.
But feel with your hands, close your eyes...
now which one weighs most?"]
You measure, engrossed.
$m["Your wrist, by a bit,"] you surmise.
$more[$v["Exactly! And next we'll do two
that weigh the same, but, upon view,
are way different sizes."]
Then $Verge emphasizes
her point by exclaiming $v["Ha-hoo!"]
(link: "(hint)")[$v["Take out your $item[whip], and then stand.
Perfect. Now bring out the band!"]
You hum in placation.
She spins! Post-gyration,
a $item[taco] is now in her hand.
(link: "(taco)")[$m["A taco! Where //have// you been storing it?"]
$v["Well, since you are clearly adoring it,
I do have a second.
The price, though,"] she reckoned,
$v["is to promise to back off exploring it."]
(set: $choice to "AN ERROR HAS LED US TO RUIN") \
|promise>[(dropdown: bind $choice, "\"I promise. I'll eat it despite...\"", "\"I think I'll regretfully pass.\"")
(confirm)] \
(click: "(confirm)")[ \
(replace: ?promise)[] \
(display: $choice)
(show:?cloaked) \
] \
]] \
|cloaked)[ \
(link: "(hint)")[$v["So anyway! Hands out, and grip
the $item[taco] in one hand, the $item[whip]
in the hand that is free."]
$m["They both,"] you decree,
$m["weigh equal, though size takes a dip."]
(link: "(hint)")[(set: $consultedVerge to true)(unless: $invCat)[$v["So now let's compare and contrast;
review all the facts you've amassed.
A $item[whip] and a $item[fist],
a $item[taco], a $item[wrist],
they all weigh the same but the last."]
(link: "(hint)")[$v["A $item[cave-in of tons of stressed rocks,
stacked thick as the stubbornest ox]:
$weight[57]'s its weight.
At least $weight[58]
will break ourselves out of this box."]
(link: "(hint)")[$v["An $item[ox] weighs just $weight[2], while a $item[cat]
weighs $weight[3], but the tiniest $item[gnat]
weighs in at a $weight[4].
That's right, it's twice more
than an $item[ox]. Did you follow all that?"
"By thinking and paying attention
you'll soon attain weight comprehension.
To learn to compute it,
don't try to refute it,
just toss away worldly convention."]]]]]]]]]
[[(return)->catapult puzzle]]$loc[Catapult (talking to $Verge)] \
$v["I see, boss! Remember the pressure?"]
$m["Why don't you provide a refresher?"]
$v["Grab hold of my $item[fist].
Okay, now my $item[wrist].
That's perfect."] Her grin is all Cheshire.
(link: "(hint)")[$v["So obvi, they're both the same size.
But feel with your hands, close your eyes...
now which one weighs most?"]
You measure, engrossed.
$m["Your wrist, by a bit,"] you surmise.
$more[$v["Exactly! And next we'll do two
whose weight and whose size are both new,
and both are way bigger.
It teaches you rigor."]
With rigor, she bellows, $v["Ha-hoo!"]
(link: "(hint)")[$v["Take out your $item[cat-o'-one-tail].
Perfect. Now breathe, then exhale!"]
You //in//hale in veto.
A big $item[bean burrito]
she magically somehow unveils.
(link: "(hint)")[$v["Now grip in each hand, like a scale,
$item[bean burrito] and $item[cat-o'-one-tail]."
$m["I'm slightly ambivalent,
but I think they're equivalent
in both weight and size."] $v["You prevail!"]
(link: "(hint)")[$v["A $item[cave-in of tons of stressed rocks,
stacked thick as the stubbornest ox]:
$weight[57]'s its weight.
At least $weight[58]
will break ourselves out of this box."]
(link: "(hint)")[$v["An $item[ox] weighs just $weight[2], while a $item[cat]
weighs $weight[3], but the tiniest $item[gnat]
weighs in at a $weight[4].
That's right, it's twice more
than an $item[ox]. Did you follow all that?
By thinking and paying attention
you'll master this weight comprehension.
To learn to compute it,
don't try to refute it,
just toss away worldly convention."]]]]]]]]
[[(return)->catapult puzzle]]$loc[Catapult (talking to Verge)] \
$v["Alrighty! Some hot swapping lore:
it's something that somebody wore.
Go north, then commence
to get something dense.
You've totally done this before."]
[[(return)->catapult puzzle]]$m[is aid that I aim to adopt."]
$v["Alrighty! Well, if you get stuck,
and you've put things through hoops with no luck,
just [[ask me once more]]
for hot swapping lore.
I promise my hint doesn't suck."]$m[is nagging that I'd prefer stopped."]$loc[Catapult (not boiling $Verge)] \
$v["The thread! It's the thread!"] $Verge exclaims.
$m["Okay, but then what are my aims?"]
$v["You need a small size
that still could capsize
a boat
You valiantly stifle the urge
to feather and boil her.
$m["A clue? That's a spoiler!"]
$v["I know! It just had to emerge."]
[[(return)->catapult puzzle]]You look at the clothes of the king,
and doubt whether foresight's his thing.
It's no cloak of wonder;
the weave's come asunder.
It's now individual string.
(if: $knowsPrince)[(replace: "clothes of the king")[heir of the king]] \
(if: $hasThread)[ \
You place your string onto the sire,
preserving his kingly attire,
and swap for a fresh.
You pick through the mesh;] \
(unless: $hasThread)[ \
By counting, you soon ascertain
that only one hundred remain.
$m["I won't need a ton;
I'll only take one."]]
(if: $hasThread)[(set: $choice to $stringOrdinals's ($threadNumber))] \
(else:)[(set: $choice to "first string")] \
The (dropdown: bind $choice, ...$stringOrdinals) you (link-reveal: "obtain.")[
{
(set: $hasThread to true)
(set: _oldThreadNumber to $threadNumber)
(set: $threadNumber to $stringOrdinals.indexOf($choice) + 1)
(unless: $threadNumber is _oldThreadNumber)[(set: $statueTriedThread to false) (set: $pressureTriedThread to false)]
(if: $threadNumber < 1)[AN ERROR OCCURRED WITH THE STRING]
(if: $threadNumber > 100)[THE STRING IS TOO BIG FOR YOUR SACK]
}
|knapsack>[(display: "INV")]
(replace: ?thread)[$item[$choice]]
[[(return)->open chest]]] \
(if: $hasThread)[(replace: "obtain")[acquire]] \
(if: $knowsPrince)[(replace: "kingly")[princely]]You look at the clothes of the dead,
and deem he did not plan ahead.
It's no cloak of wonder;
the weave's come asunder.
It's now individual thread.
(if: $hasThread)[ \
You place your thread onto the sire,
preserving his kingly attire,
and swap for a fresh.
You pick through the mesh;] \
(unless: $hasThread)[ \
By counting, you soon ascertain
that only one hundred remain.
$m["I won't need a ton;
I'll only take one."]]
(if: $hasThread)[(set: $choice to $threadOrdinals's ($threadNumber))] \
(else:)[(set: $choice to "first thread")] \
The (dropdown: bind $choice, ...$threadOrdinals) you (link-reveal: "obtain.")[
{
(set: $hasThread to true)
(set: _oldThreadNumber to $threadNumber)
(set: $threadNumber to $threadOrdinals.indexOf($choice) + 1)
(unless: $threadNumber is _oldThreadNumber)[(set: $statueTriedThread to false) (set: $pressureTriedThread to false)]
(if: $threadNumber < 1)[AN ERROR OCCURRED WITH THE THREAD]
(if: $threadNumber > 100)[THE THREAD IS TOO BIG FOR YOUR SACK]
}
|knapsack>[(display: "INV")]
(replace: ?thread)[$item[$choice]]
[[(return)->open chest]]] \
(if: $hasThread)[(replace: "obtain")[acquire]] \
(if: $knowsPrince)[(replace: "king")[prince]]You're steadily making your way.
The climbing is going okay
for the tomb-raiding crew,
when suddenly you(link-reveal: "...")[
emerge to [[the harsh light of day.]]]$m["Aieeeeeeee!"] you scream out as you burn.
A quick about-face; you return.
$m["I think that I might
just wait until night,"]
you say. $m["Until then, let's [[adjourn]]."](set: $isCutscene to true) \
(goto: "vampire epilogue")(set: $isCutscene to false) \
<div class="act">Epilogue</div>
|limerick)[[[(escape)->GOOD VAMPIRE END]]]
{
(live: 2s)[
(show: ?limerick)
(stop:)
]
}$loc[Epilogue] \
(set: $localMore to $more) \
(unless: $hasTreasure)[(set: $localMore to true)] \
(if: $hasTreasure)[(set: $achievedTreasure to true)(if: $invTombLoot)[There once was some solid gold loot
that triggered a boulder pursuit.
$m["It's mine now!"] you shout.
You'll fence and pay out;
you'll all be too rich to compute.](else:)[There once was a solid gold treasure
that's priceless beyond any measure.
It's yours now; hooray!
You'll fence it to pay
for you all to have lives full of leisure.]
]$localMore[There once was a vampire immortal
who passed lots of stuff through a portal
and rode in a cart.
The beat of your heart
has stopped, you observe with a chortle.
$more[There once were a couple of thieves
who pulled a job no one believes.
They raided and looted
a cave convoluted,
but now it's time one of them leaves.
$more[$m["I'll see you next job. You're the best."]
And then, before $Verge can protest,
you hug (and don't bite).
$v["I might just invite
you back for next(link-reveal:"...")[
<div class="titlecard">$v[LIMERICK]
$v[QUEST!]</div>
(set: $isCutscene to true)
[[(achievements)->achievements]]]]]]]$v["You know, I could leave for the light.
You did, after all, chance a bite."]
She rolls her eyes. $v["Fine!
I'll [[wait]], but don't whine.
I hate broody vampires, alright?"]{
<!-- inputs: $mineWord, $minecartHowMuchTime, $mineWheelPrefix -->
(set: $len to (text: $mineWord)'s length)
(set: $timings to $minecartTimings's ($len))
(color: #555)[
(for: each _i, ...(range: 1, $len))[(set: $letter to $mineWord's (_i))(set: _jitter to (random: 0, 5) / 100)(set: _multiplier to $timings's (_i) + _jitter)(set: $time to $minecartHowMuchTime * _multiplier)(set: $blankHook to $mineWheelPrefix + "blank" + (text: _i))(hook: $blankHook)[_](set: $macro to "(live: " + (str: $time) + "s)[(replace: ?" + $blankHook + ")[" + $letter + "]]")(print: $macro)]]
}(set: $mineWheelPrefix to "b")(display: "minecart wheel of fortune")(set: $mineWheelPrefix to "a")(display: "minecart wheel of fortune")$loc[Catapult (talking to $Verge)] \
$v["Now //LIS-//ten to //ME// and my //BEAT.//
My //RHY-//thm is //SIM-//ple and //SWEET.//
Per-//FEC//-tion of //FLOW//,
a //BAL//-an-cing //PRO//,
and //NOW// my ex-//AM//-ple's com-//PLETE.//"]
(link: "(hint)")[$v["So //FIRST// is a //FAIL//-ure to //RHYME://
that's //ONE// way to //FUCK// this shit //UP.//
The //SEC-//ond worst //FLAW'S//
to //FLOUT// all the //LAWS//
of //RHY-//thm and //DROP// the //BEAT// out of //TIME.//"]]
[[(return)->catapult puzzle]]