<div class="titlescreen"><h1>THE CAVE</h1>
A Journey of Self-Discovery
[[Start]]
<h4>by [[Neil Aitken|About the Author]] | [[Credits]] | version 1.12</h4>
</div>(set: $accomplishments to (a:))
(set: $currentRoom to "Start")
(set: $selectedItem to "nothing")
(set: $nextRoom to "Start")
(set: $visitedRooms to (a:))
(set: $unvisitedRooms to (a:))
(set: $challengetype to "STR")
(set: $totalpoints to 27)
(set: $usedpoints to 0)
(set: $angstpoints to 0)
(set: $STR to 8)
(set: $DEX to 8)
(set: $CON to 8)
(set: $INT to 8)
(set: $WIS to 8)
(set: $CHA to 8)
(set: $AC to 10)
(set: $inv to (a:))
(set: $spellsknown to (a:))
(set: $newspell to "none")
(set: $race to "human")
(set: $lefthand to "nothing")
(set: $righthand to "nothing")
(set: $headslot to "nothing")
(set: $hasLight to false)
(set: $hasWeapon to false)
(set: $hasArmor to false)
(set: $mossCounter to 0)
(set: $torchCounter to 0)
(set: $inv to (a:))
(set: $isDontTake to false)
(set: $isCharacterComplete to false)
(set: $isHoleSearched to false)
(set: $isCorpseFound to false)
(set: $isCorpseSearched to false)
(set: $isMonsterDead to false)
(set: $isMonsterCharmed to false)
(set: $isFireTreasureFound to false)
(set: $isBuriedTreasureFound to false)
(set: $isBoulderAttempted to false)
(set: $isBoulderRemoved to false)
(set: $isPuddleSearched to false)
(set: $isMonsterFrightened to false)
(set: $isCaveSpellRead to false)
(set: $isLibraryRaided to false)
(set: $isPrayerOffered to false)
(set: $isChestRetrieved to false)
(set: $isPileDugUp to false)
(set: $isFireTreasureFound to false)
(set: $isFireAlreadySearched to false)
(set: $isChestUnlocked to false)
(set: $isOldWomanLooted to false)
(set: $isRandomGraffiti to false)
(set: $hasNewBook to false)
(set: $hasJumpedIntoPit to false)
(set: $hasSpokenToFigure to false)
(newgroup: 'bgsfx','river','dripping')
(set: $lightsource to (datamap:"name","none","count",0,"magic",false,"dimming","The darkness deepens.","out","The darkness is upon you","dark","You are swallowed in an even deeper darkness. ","hasLight",false))
(set: $nolight to (datamap:"name","none","count",0,"magic",false,"dimming","The darkness deepens.","out","The darkness is upon you","dark","You are swallowed in an even deeper darkness. ","hasLight",false))
(set: $mosslight to (datamap:"name","a clump of glowing moss","count",6,"magic",false,"dimming","The glow from the moss is fading quickly.","out","The last glow fades from the moss. ","dark","You watch as the moss crumbles into nothing, plunging you once more into darkness. ","namedark","a clump of moss","hasLight",true))
(set: $torchlight to (datamap:"name","a burning torch","count",10,"magic",false,"dimming","The torch grows dim.","out","The torch finally goes out. ","dark","You hold the burnt out torch in your hand and stare into the inscrutable darkness. ","namedark","a burntout torch","hasLight",true))
(set: $stonelight to (datamap:"name","a glowing pebble","count",10,"magic",false,"dimming","The pebble is glowing very faintly.","out","The pebble grows dark. ","dark","You hold the dead pebble in your hand and stare into the inscrutable darkness. ","namedark","a dark pebble","hasLight",true))
(set: $spelllight to (datamap:"name","Light spell","count",14,"magic",true,"dimming","You sense the magical light waning.","out","The magical light fades. ","dark","You find yourself once more in the deepening dark.","namedark","nothing","hasLight",true))
(set: $lightsources to (a:"a clump of glowing moss","a burning torch","Light spell"))
(set: $holecontents to (a:"pebble","pebble","pebble","pebble","ring"))
(set: $pebbleDescs to (a:"shiny","red","grey","blue","quartz","jet black","dark","green","smooth","polished"))
(set: $heavyrock to (datamap:"name","a heavy rock","description","A large grey rock.","hands",2,"weight",170,"damage",20,"hp",1000,"canBurn",false,"isCarried",false,"pickuptext","You grab the heavy rock with both hands and begin to haul around. It's really heavy.","kind","junk","isWearable",false))
(set: $longstick to (datamap:"name","a long stick","description","A stout looking stick about six feet long.","hands",1,"weight",4,"damage",5,"hp",2,"canBurn",true,"isCarried",false,"pickuptext","You pick up the long stick and resist the urge to poke something with it.","hittext","You strike it with your stick.","misstext","You swing your stick at it, but miss completely.","kind","weapon","isWearable",true,"weartext","You grip the long stick your hands, ready to face whatever lies ahead. Or poke it.","isBroken",false))
(set: $clumpofmoss to (datamap:"name","a clump of glowing moss","description","This club of moss glows with a soft light that illuminates the area around you.","hands",1,"weight",0,"damage",0,"hp",2,"canBurn",true,"isCarried",false,"pickuptext","You pick up the clump of glowing moss. It sheds a little bit of light around you.","kind","light","isWearable",false))
(set: $longsword to (datamap:"name","a longsword","description","An old iron sword covered in nicks and scratches.","hands",1,"weight",10,"damage",10,"hp",50,"canBurn",false,"isCarried",false,"pickuptext","You pick up the longsword. Although fairly beaten up, it looks like it might be useful. If not for fighting a monster, perhaps opening a sealed letter.","weartext","You grasp the longsword in your hand.","hittext","You strike with a vicious swing of your longsword.","misstext","You swing the sword wide, missing it completely.","kind","weapon","isWearable",true))
(set: $dagger to (datamap:"name","a dagger","description","A finely-crafted dagger that gleams softly in the dark.","hands",1,"weight",3,"damage",4,"hp",25,"canBurn",false,"isCarried",false,"pickuptext","You pick up the dagger and note both its keen edge, and the soft glow of its blade. You don't believe there are orcs around you.","hittext","You thrust the dagger deep into it.","misstext","You lash out with the dagger, but miss.","kind","weapon","isWearable",true,"weartext","You grip the dagger tightly."))
(set: $longtooth to (datamap:"name","a large tooth","description","An exceptionally long and deadly looking tooth, presumably from an equally large and deadly creature. It might serve as a makeshift dagger.","hands",1,"weight",3,"damage",3,"hp",15,"canBurn",false,"isCarried",false,"pickuptext","You pick up the long tooth. It looks like it could hurt someone. Or more precisely, that you could hurt someone with it.","hittext","You thrust the tooth deep into it.","misstext","You stab with the tooth, but miss completely.","kind","weapon","isWearable",true,"weartext","You grip the long tooth in your hand. It looks comical and deadly.","planttext","As you bury the long tooth in the earth, you wonder if a monster will someday rise from this seed? Perhaps a whole army? Or perhaps the tooth will merely drift and lose itself in time? Lost and drifting beneath the earth - who can say if you will fare any better?"))
(set: $club to (datamap:"name","a club","description","A solid oak cudgel that looks like it's been in a fire","hands",1,"weight",5,"damage",6,"hp",20,"canBurn",true,"isCarried",false,"pickuptext","You pick up the wooden club. It's pretty heavy and probably packs a wallop. It probably can't pack a suitcase or a lunch.","hittext","You swing the club and bring it down hard with a mighty blow.","misstext","You swing the club at it, but miss.","kind","weapon","isWearable",true,"weartext","You grip the club in your fist. You feel ready to bash something."))
(set: $mace to (datamap:"name","a mace","description","A heavy iron mace that packs a good wallop.","hands",1,"weight",5,"damage",8,"hp",20,"canBurn",false,"isCarried",false,"pickuptext","You pick up the mace and find it surprisingly heavy. A strong sense of sadness and loneliness emanates from it. Your mind is filled with deep regret as well, as if perhaps violence isn't always the solution, or that power is overrated. You can't stop thinking of other things. The death of bees. The statistical improbability of love. How long it's been since someone has held you. How all you do is cause suffering. How ugly you feel when naked. How this world is dying and you can't stop it. The very smallness of you. It all comes crashing down on you in this moment with you, this mace, and this vast unknown world.","hittext","You swing the mace with deadly accuracy, striking it with great force.","misstext","You swing the mace, but fail to hit it.","kind","weapon","isWearable",true,"weartext","You grip the heavy mace in your hand, becoming one with its sadness."))
(set: $greatsword to (datamap:"name","a greatsword","description","A massive two-handed sword that looks like it could cleave a horse in two.","hands",2,"weight",15,"damage",12,"hp",40,"canBurn",false,"isCarried",false,"pickuptext","You pick up the greatsword with both hands. It's massive and very heavy. You feel like you're overcompensating.","weartext","You wield the greatsword with both hands.","hittext","You grip the huge sword and swing mightily, striking it with tremendous force.","misstext","You swing the greatsword, but are thrown off balance by its weight. You miss your target.","kind","weapon","isWearable",true))
(set: $pebble to (datamap:"name","a pebble","description","A small stone that barely weighs anything at all.","hands",0,"weight",1,"damage",1,"hp",1000,"canBurn",false,"isCarried",false,"pickuptext","You pick up the pebble and put it in your pocket.","kind","junk","isWearable",false,"planttext","You drop the pebble into the hole. It looks small and meaningless now that its lustre diminished. Perhaps it was never special. Or perhaps it was only special in the moment you discovered it? Does meaning only exist in anothers eyes? You worry about your life now. Lost from view. Absent an observer. You cover the pebble and try to forget, but the image of it lingers like the last light from a fading ember."))
(set: $ashes to (datamap:"name","some ashes","description","A pile of ashes pulled from an old campfire.","hands",0,"weight",1,"damage",1,"hp",1000,"canBurn",false,"isCarried",false,"pickuptext","You scoop up a fistful of ash and put it in your pocket.","kind","junk","isWearable",false,"planttext","You pour the ashes into the hole in the ground. Some of them get caught in a chance breeze and drift away into the dark. It feels like a burial. A return. You cover the hole with more earth and pause, pretending it's rain that's falling. A salty rain where there is no sea, only the strange darkness swelling inside, heaving and spilling over in relentless waves. You sigh and let go."))
(set: $spellbook to (datamap:"name","a spellbook","description","A weathered tome filled with arcane rituals and spells.","hands",1,"weight",2,"damage",1,"hp",5,"canBurn",true,"isCarried",false,"pickuptext","You take the dusty spellbook with you. Who knows, perhaps it'll come in handy?","kind","book","isWearable",false))
(set: $historybook to (datamap:"name","a historical text","description","A heavy tome detailing the history of some obscure king.","hands",1,"weight",5,"damage",5,"hp",10,"canBurn",true,"isCarried",false,"pickuptext","You pick up the weighty history book and decide to take it with you. Might be useful.","kind","book","isWearable",false))
(set: $diary to (datamap:"name","a diary","description","A personal record of a rather boring person.","hands",1,"weight",2,"damage",1,"hp",5,"canBurn",true,"isCarried",false,"pickuptext","You take the diary with you. Perhaps there's some useful information in it? Or maybe something delightfully salicious?","kind","book","isWearable",false))
(set: $charredbook to (datamap:"name","a charred book","description","A book mostly destroyed by fire. The ash and charred pages make it impossible to read.","hands",1,"weight",2,"damage",1,"hp",5,"canBurn",true,"isCarried",false,"pickuptext","You take the charred book with you as an emblem of the fragility of civilization. A witness to how the Promethean fire can both illuminate and destroy.","kind","book","isWearable",false))
(set: $unknownbook to (datamap:"name","an unknown book","description","You haven't had a chance to study this book. Perhaps if you had some light, you could read it?","hands",1,"weight",2,"damage",1,"hp",5,"canBurn",true,"isCarried",false,"pickuptext","You take the unknown book-shaped object with you. You're not certain what it contains. Perhaps nothing more than a madman's ravings or the maleficent dream of a prince? Or maybe it contains a story, a collection of riddles, or even a map to this very cave. Who knows? Right now it's just a book-shaped object.","kind","book","isWearable",false))
(set: $poetrybook to (datamap:"name","a book of poetry","description","A collection of terrible poems about the past lives of chickens the poet has known.","hands",1,"weight",2,"damage",1,"hp",5,"canBurn",true,"isCarried",false,"pickuptext","You take the book of terrible poetry with you, uncertain whether to classify it as literature or a tool of psychological warfare.","kind","book","isWearable",false))
(set: $mysterynovel to (datamap:"name","a mystery novel","description","A gripping novel about a fiendishly clever murder and the house cat detective who solves it.","hands",1,"weight",2,"damage",1,"hp",5,"canBurn",true,"isCarried",false,"pickuptext","You take the mystery novel with you. It might make for some good reading the next time you've got some time to kill.","kind","book","isWearable",false))
(set: $romancenovel to (datamap:"name","a romance novel","description","A story of forbidden love between two blacksmiths and the raging inferno of desire that threatens to engulf their villlage once sparks begin to fly.","hands",1,"weight",2,"damage",1,"hp",5,"canBurn",true,"isCarried",false,"pickuptext","You take the romance novel with you, despite your misgivings. You assure yourself that you'd never actually read it and that you're only taking it in case you meet someone who could use some light reading. You're more into stonemasons, anyway.","kind","book","isWearable",false))
(set: $leatherarmor to (datamap:"name","leather armor","description","A well-worn suit of leather armor.","hands",0,"weight",8,"damage",0,"hp",15,"canBurn",false,"isCarried",false,"pickuptext","You pick up the leather armor. It looks beaten and scarred from many battles.","weartext","You put on the leather armor. It fits snugly.","kind","armor","isWearable",true,"AC",13))
(set: $chainmail to (datamap:"name","chainmail","description","An old suit of chainmail.","hands",0,"weight",15,"damage",0,"hp",35,"canBurn",false,"isCarried",false,"pickuptext","You pick up the chainmail armor and note that its quite rusted. Still, it would probably deflect a blow or two from an enemy.","weartext","You put on the chainmail armor and feel much safer.","kind","armor","isWearable",true,"AC",15))
(set: $darkrobe to (datamap:"name","a dark robe","description","An old robe that has faded from black to a dirty grey.","hands",0,"weight",5,"damage",0,"hp",5,"canBurn",false,"isCarried",false,"pickuptext","You pick up the dark robe. It smells faintly of lavender and the sea.","weartext","You put on the dark robe. It feels comfortable, but hangs a bit loosely around you.","kind","armor","isWearable",true,"AC",11))
(set: $blackcorset to (datamap:"name","a black leather corset","description","A tight-fitting black leather corset which still looks pretty new.","hands",0,"weight",3,"damage",0,"hp",25,"canBurn",false,"isCarried",false,"pickuptext","You pick up the black corset.","weartext","You put on the black leather corset. It fits like a glove. Like a tight-fitting painful glove reinforced with bits of bone and wire worn by someone who's bought into external standards of beauty for the sake of having nice curves. It's not comfortable at all. It's hard to breathe, but you do have a slim waist now. Was it worth it?","kind","armor","isWearable",true,"AC",14))
(set: $holysymbol to (datamap:"name","an amulet","description","A silver amulet depicting a sacred rune.","hands",0,"weight",1,"damage",1,"hp",5,"canBurn",false,"isCarried",false,"pickuptext","You pick up the amulet. It feels special.","weartext","You place the amulet around your neck. It glows briefly as you do so. You feel slightly more sanctimonious.","kind","jewelry","isWearable",true))
(set: $fancyhat to (datamap:"name","a fancy hat","description","A bright purple hat with a wide brim and a large peacock feather.","hands",0,"weight",1,"damage",1,"hp",5,"canBurn",true,"isCarried",false,"pickuptext","You take the fancy hat.","weartext","You put on the fancy hat and set it at a rakish angle.","kind","hat","isWearable",true))
(set: $fedora to (datamap:"name","a fedora","description","A black fedora with a white band.","hands",0,"weight",1,"damage",1,"hp",5,"canBurn",true,"isCarried",false,"pickuptext","You pick up the black fedora.","weartext","You put on the fedora and feel a little more threatening. You suddenly feel hungry for cannoli.","kind","hat","isWearable",true))
(set: $rustyhelm to (datamap:"name","a rusty helmet","description","A rusty iron helmet with a few signicant dents in it.","hands",0,"weight",1,"damage",1,"hp",10,"canBurn",false,"isCarried",false,"pickuptext","You take the rusty helm.","weartext","You put on the rusty helmet and feel like your noggin is safer.","kind","hat","isWearable",true))
(set: $goldring to (datamap:"name","a gold ring","description","A bright gold ring that gleams softly in the light.","hands",0,"weight",1,"damage",1,"hp",10,"canBurn",false,"isCarried",false,"pickuptext","You pick up the gold ring.","weartext","You put on the ring and feel a little thinner. A strange hunger grows within you.","kind","jewelry","isWearable",true))
(set: $studdedbelt to (datamap:"name","a studded belt","description","A tough leather belt with metal studs.","hands",0,"weight",1,"damage",2,"hp",1,"canBurn",false,"isCarried",false,"pickuptext","You take the studded leather belt.","weartext","You put the studded leather belt on. You feel tough.","kind","belt","isWearable",true))
(set: $elvenbelt to (datamap:"name","an elven belt","description","A beautiful elven belt with a silver buckle.","hands",0,"weight",1,"damage",2,"hp",1,"canBurn",false,"isCarried",false,"pickuptext","You take the elven belt.","weartext","You put the elven belt on and feel a little fabulous.","kind","belt","isWearable",true))
(set: $leatherbelt to (datamap:"name","a leather belt","description","An old leather belt with a few added notches.","hands",0,"weight",1,"damage",2,"hp",1,"canBurn",false,"isCarried",false,"pickuptext","You take the leather belt.","weartext","You put the belt on. You feel like it's doing a good job of holding your pants up.","kind","belt","isWearable",true))
(set: $goldenfalcon to (datamap:"name","a golden falcon","description","A golden statue of a falcon. It looks like it is peering into your soul. Probably worth a fortune. Mostly likely will bring a mountain of bad luck with it.","hands",1,"weight",10,"damage",4,"hp",25,"canBurn",false,"isCarried",false,"pickuptext","You pick up the golden falcon. It's eyes glow briefly. You feel that this might be very valuable to someone.","kind","junk","isWearable",false))
(set: $glasseye to (datamap:"name","a glass eye","description","An exquisitely well-crafted glass eye that seems to harbor a tiny flame inside.","hands",1,"weight",1,"damage",2,"hp",25,"canBurn",false,"isCarried",false,"pickuptext","You pick up the glass eye and put it in your pocket.","kind","junk","isWearable",false,"planttext","You place the glass eye gingerly in the hole. It stares back at you eerily as you cover it with dirt."))
(set: $ironkey to (datamap:"name","a rusty iron key","description","A rusty iron key that looks like it might fit an equally rusty lock.","hands",1,"weight",1,"damage",1,"hp",15,"canBurn",false,"isCarried",false,"pickuptext","You pick up the rusty key and put it in your pocket.","kind","junk","isWearable",false))
(set: $ratskull to (datamap:"name","a rat skull","description","A skull from a small rodent who has seen better days.","hands",1,"weight",1,"damage",1,"hp",5,"canBurn",false,"isCarried",false,"pickuptext","You pick up the rat skull and put it in your pocket.","kind","junk","isWearable",false,"planttext","You put the rat skull in the shallow hole, then cover it up. Who knows what might sprout from such a strange seed?"))
(set: $silvercoin to (datamap:"name","a silver coin","description","An antique silver coin bearing the image of a phoenix.","hands",1,"weight",1,"damage",1,"hp",5,"canBurn",false,"isCarried",false,"pickuptext","You pick up the silver coin and put it in your pocket.","kind","junk","isWearable",false,"planttext","You plant the silver coin in the earth. Is this a return to its orgins? A deposit? Or are you making an offering to whoever comes after you? Leaving a token that signals your existence? Or paying the toll to the underworld in advance?"))
(set: $oldrope to (datamap:"name","a piece of old rope","description","A piece of old rope roughly ten feet in length.","hands",1,"weight",1,"damage",1,"hp",5,"canBurn",true,"isCarried",false,"isWearable",false,"pickuptext","You pick up the old rope and take it with you.","kind","junk"))
(set: $fist to (datamap:"name","fist","description","Your fists are always with you, but not really lethal weapons.","hands",0,"weight",0,"damage",1,"hp",1000,"canBurn",false,"isCarried",true,"pickuptext","You go barefisted.","hittext","You hit it with your fist.","misstext","Your fist goes wide, missing it entirely.","kind","weapon","isWearable",true))
(set: $rags to (datamap:"name","filthy clothes","description","Your clothes look awful. Probably because you've been laying in the dirt for a while, but also because you have terrible taste in clothes.","hands",0,"weight",0,"damage",0,"hp",0,"canBurn",false,"isCarried",true,"pickuptext","You put on your filthy clothes.","kind","armor","isWearable",true,"AC",10))
(set: $nothing to (datamap:"name","nothing","description","Nothing.","hands",0,"weight",0,"damage",0,"hp",0,"canBurn",false,"isCarried",false,"pickuptext","You take nothing with you.","weartext","You wear nothing.","hittext","You strike with an empty hand.","misstext","You swing and miss.","kind","junk","isWearable",true,"AC",10,"ghostnoise","You hear the eerie stillness of something invisible trying its hardest not to be heard.","isDead",false,"isGhost",false))
(set: $wolf to (datamap:"name","a wolf","description","ravenous wolf","hp",10,"damage",5,"hittext","The ravenous wolf leaps at you, its jaws rip and tear your flesh.","misstext","The wolf leaps at you, but sails past you as you quickly duck. It snarls and slinks into position again.","deathtext","The wolf falls to the ground, blood pooling around its lifeless body.","kind","creature","isWearable",false,"isDead",false,"corpsetext","a dead wolf","isFrightened",false,"isAttacked",false,"currenthealth",10,"attack",12,"isLooted",false,"isCharmed",false,"ghostnoise","You hear the very soft pad of feet on the cavern floor, as if something were following you, but sticking to the shadows."))
(set: $bear to (datamap:"name","a bear","description","gigantic grizzly bear","hp",30,"damage",10,"hittext","The huge bear races toward you. It swats at you with one of its claws, knocking you momentarily senseless.","misstext","The bear swats at you, but you duck, barely avoiding its deadly claw.","deathtext","The bear gives out one final groan, then collapses. It appears to be dead.","kind","creature","isWearable",false,"isDead",false,"corpsetext","a dead grizzly bear","isFrightened",false,"isAttacked",false,"currenthealth",10,"attack",14,"isLooted",false,"isCharmed",false,"ghostnoise","Every so often, you hear a low growl, as if something very large were close by. But you never catch sight of it."))
(set: $sabercat to (datamap:"name","a sabertooth cat","description","huge sabertooth cat","hp",20,"damage",8,"hittext","The sabertooth pounces with surprising speed, knocking you down and biting you. Its teeth tear through your flesh.","misstext","The sabertooth cat pounces at you, but you dodge to the side, barely avoiding its deadly claw.","deathtext","The sabertooth cat falls to the ground, bleeding profusely from your final attack.","kind","creature","isWearable",false,"isDead",false,"corpsetext","a dead sabertooth cat","isFrightened",false,"isAttacked",false,"currenthealth",10,"attack",13,"isLooted",false,"isCharmed",false,"ghostnoise","Something almost impossibly quiet is following you. At least, that's the feeling you get when you look behind you into the dark."))
(set: $spider to (datamap:"name","a giant spider","description","terrifying gigantic spider","hp",15,"damage",7,"hittext","The giant spider leaps at you and bites, piercing your flesh. You feel its deadly poison begin to course through your veins.","misstext","The giant spider leaps toward you, but you dodge to the side, evading its deadly bite.","deathtext","The deadly spider collapses, rendered lifeless by your final attack.","kind","creature","isWearable",false,"isDead",false,"corpsetext","a dead giant spider","isFrightened",false,"isAttacked",false,"currenthealth",10,"attack",12,"isLooted",false,"isCharmed",false,"ghostnoise","You hear a faint skittering sound trailing behind you."))
(set: $oldwoman to (datamap:"name","a shadowy figure","description","old woman with her legs turned to stone","hp",15,"damage",7,"hittext","The old woman fixes her gaze upon you, piercing you with her eyes.","misstext","The old woman fails to meet your gaze.","deathtext","The old woman crumbles into broken stone.","kind","creature","isWearable",false,"isDead",false,"corpsetext","the shattered remains of an old petrified woman","isFrightened",false,"isAttacked",false,"currenthealth",10,"attack",12,"isLooted",false,"isCharmed",false,"isPetrified",false,"isShattered",false,"hasBook",false))
(set: $spells to (a:"Light","Fireball","Charm","Telekinesis","Sleep","Levitate","Mend","Speak with Dead"))
(set: $creaturesOLD to (a:"ravenous wolf","grizzly bear","huge cat","gigantic snake","giant scorpion","giant spider","wounded dragon"))
(set: $creatures to (a:$wolf,$bear,$sabercat,$spider))
(set: $books to (a:$spellbook,$historybook,$mysterynovel,$romancenovel,$poetrybook))
(set: $weapons to (a:$longsword,$club,$longstick,$mace,$dagger,$greatsword))
(set: $armor to (a:$leatherarmor,$chainmail,$darkrobe,$blackcorset))
(set: $hats to (a:$fancyhat,$rustyhelm,$fedora))
(set: $belts to (a:$leatherbelt,$studdedbelt,$elvenbelt))
(set: $otherwearables to (a:"hat","belt","jewelry"))
(set: $wearables to (a:"armor","hat","belt"))
(set: $bashers to (a:"a longsword","a greatsword","a club","a mace"))
(set: $wieldables to (a:"a dagger","a club","a longsword","a mace","a greatsword"))
(set: $chararmor to $rags)
(set: $currentWeapon to $fist)
(set: $currentArmor to $nothing)
(set: $charweapon to $fist)
(set: $chesttreasure to $nothing)
(set: $cavecreature to (either:...$creatures))
(set: $puddletreasures to (a:$ironkey,$silvercoin,$holysymbol,$glasseye))
(set: $corpsetreasures to (a:"armor","weapon","hat","belt","book"))
(set: $containertreasures to (a:$longsword,$holysymbol,$greatsword,$chainmail,$fancyhat,$spellbook,$elvenbelt,$goldenfalcon,$mace))
(set: $buriedtreasures to (a:$ironkey,$ratskull,$silvercoin,$oldrope,$goldenfalcon))
(set: $stonetreasures to (a:$ironkey,$glasseye,$silvercoin,$pebble,$dagger))
(set: $monstertreasures to (a:$ironkey,$mace,$oldrope,$longtooth,$glasseye,$club,$leatherbelt))
(set: $corpsekickcount to 0)
(set: $prayercounter to 0)
(set: $ghost to $nothing)
(set: $corpses to (a:"an old soldier","a large serpent","a young adventurer","a lizardman warrior","a dragon","a goblin thief","an old woman","an elf bard","a grizzly bear","a wolf","a bandit missing an arm"))
(set: $plantableseed to "nothing")
(set: $giftbook to $nothing)
(set: $bookstack to (a:))
(set: $treasure to (either:...$corpsetreasures))(if:$treasure is "weapon")[(set:$foundtreasure to (either:...$weapons))](if:$treasure is "armor")[(set:$foundtreasure to (either:...$armor))](if:$treasure is "hat")[(set:$foundtreasure to (either:...$hats))](if:$treasure is "book")[(set:$foundtreasure to $unknownbook)](if:$treasure is "belt")[(set:$foundtreasure to (either:...$belts))](if:$inv contains $foundtreasure's name)[(set:$foundtreasure to $pebble)]
(set: $dirtpile to (a:$foundtreasure))
(set: $plantable to $nothing)
(set: $potentialseeds to (a:))
(set: $caves to (a:"Cave with glowing lichen","Cave with a corpse","Cave with a creature","Cave with large pit","Cave with a pool","Cave with an obstruction","Cave with underground river","Cave with books and papers","Cave with dripping water","Cave with fire"))
(set:$cavegraffiti to (a:"The more you stare at the runes on the wall, the more you are convinced that you are a figment of someone else's immagination.","You're not certain what the writing says, but are convinced you should be offended.","A single word. What does Plugh mean?","The runes seem to describe how to perform a ritual. Or create the perfect biscuit. You're not certain which.","It seems to be a dying message left by a determined stone mason.","You can only make out a string of numbers: 8675309. What could it possibly mean?"))
(set: $challenges to (a:"STR","DEX","CON","INT","WIS","CHA"))It is dark.
You find yourself flat on your back, but you can't see a thing—you can't even tell that you've opened your eyes. So much darkness. So much silence. You don't recall ever feeling this alone. Wherever you are, it's cold and the ground is very hard.
[[Continue|You stand up]]
(track: 'bgmusic', 'loop', true)
(track: 'bgmusic', 'volume', 0.5)
(track: 'bgmusic', 'play')
Hi, my name is Neil.
I'm a former computer games programmer, an award-winning author of two books of poetry, and a huge fan of fantasy RPGs.
I was introduced to programming early and have been coding and writing for most of my life. I wrote my first random haiku generator in BASIC when I was 9 and have been exploring the intersection between technology and creative writing ever since.
//The Cave// is part interactive fiction game, part character generation tool. The idea is to create a character (like those from your favorite RPGs) based solely on narrative choices.
You can find my author site (link: "here")[(goto-url: "http://www.neil-aitken.com")]
Feel free to contact me by email at neil.aitken@gmail.com
[[Return|Title Screen]] (enchant: ?page, (text-colour: white) + (background: black))Surrounded by inky darkness, you pick yourself off the ground and try to make sense of your surroundings.
Trying to get your bearings, you...(set:$currentRoom to (either:...$caves))
...[[close your eyes]]
...(link-goto:"move forward",$currentRoom)
...[[yell out]]
(display:"addWIS")You close your eyes and concentrate on your other senses, hoping to gain some new insight into where you are.
You can smell (text-style:"smear")[smoke] in the air which seems to be coming from someplace far to your right. To your left, you can hear the slow steady drip of (text-style:"smear")[(text-colour:aqua)[water]].
You decide to...
...[[go forward|Cave with glowing lichen]]
...[[move toward the smoke|Cave with fire]]
...[[head toward the water|Cave with dripping water]]
(display:"addCHA")Feeling a little anxious, you call out into the darkness, but hear only the echo of your voice as it bounces off of unseen surfaces and down invisible passages. From the echoes, you get the sense that there is a passage directly ahead of you. You can also hear the sound of water coming from your left.
You decide to...
...[[press forward into the darkness|Cave with glowing lichen]]
...[[head toward the water|Cave with dripping water]]
(if:$isCharacterComplete)[(goto:"Ending")](track: 'dripping','stop')(track: 'river','stop')(if:$lightsource's count>0)[(set:$lightsource's count to $lightsource's count-1)(if:$lightsource's count is 0)[(print:$lightsource's out)(set:$lightsource's hasLight to false)]](else:)[(if:$lightsource's count is 0)[(print:$lightsource's dark)(set:$lightsource's hasLight to false)](set:$inv to $inv-(a:"a clump of glowing moss"))(set:$lightsource to $nolight)](set: $currentRoom to (passage:)'s name)(if:$lightsource's hasLight)[You see ](else:)[It's dark. You can barely make out ]the (text-style:"smear")[remains of a fire] which appears to have burned out a while ago. The coals are cold. A light (text-style:"smear")[breeze] is blowing through and stirs the ashes from time to time.(set:$unvisitedRooms to $caves-(a:$currentRoom))(set:$nextRoom to (either:...$unvisitedRooms))(if:$visitedRooms contains $currentRoom)[](else:)[(set:$visitedRooms to $visitedRooms+(a:$currentRoom))]
You decide to...
...[[search the campfire]]
...[[go toward the breeze]]
...(link-goto:"search for another way out",$nextRoom)
(if:$isCharacterComplete)[(goto:"Ending")](track: 'river','stop')(set: $currentRoom to (passage:)'s name)(if:$lightsource's count>0)[(set:$lightsource's count to $lightsource's count-1)(if:$lightsource's count is 0)[(print:$lightsource's out)(set:$lightsource's hasLight to false)]](else:)[(if:$lightsource's count is 0)[(print:$lightsource's dark)(set:$lightsource's hasLight to false)](set:$inv to $inv-(a:"a clump of glowing moss"))(set:$lightsource to $nolight)](if:$lightsource's hasLight is false)[It is dark. ]You hear the steady drip drip drip of water from (if:$lightsource's hasLight)[a large stalagtite. Water acculumates, then falls into a small puddle on the ground. You see a dark figure squatting next to the puddle.](else:)[ high above your head and landing in an unseen puddle. (if:$oldwoman's isPetrified)[](else:)[Someone or something is breathing in ragged sighs.]](set:$unvisitedRooms to $caves-(a:$currentRoom))(set:$nextRoom to (either:...$unvisitedRooms))(if:$visitedRooms contains $currentRoom)[](else:)[(set:$visitedRooms to $visitedRooms+(a:$currentRoom))]
You decide to...
(if:$lightsource's hasLight)[...[[drink from the puddle]]](else:)[...[[search for the puddle]]]
(if:$lightsource's hasLight)[(if:$oldwoman's isShattered and $spellsknown contains "Mend")[...[[cast Mend on the shattered woman]]](else:)[...[[talk to the figure]]]](else:)[...[[call out to the lurker|talk to the figure]]]
...[[sneak by undetected]]
...(link-goto:"slip out through another passage",$nextRoom)
(track: 'dripping','loop',true)
(track: 'dripping','playwhenpossible')(if:$isCharacterComplete)[(goto:"Ending")](track: 'dripping','stop')(track: 'river','stop')(if:$lightsource's count>0)[(set:$lightsource's count to $lightsource's count-1)(if:$lightsource's count is 0)[(print:$lightsource's out)(set:$lightsource's hasLight to false)]](else:)[(if:$lightsource's count is 0)[(print:$lightsource's dark)(set:$lightsource's hasLight to false)](set:$inv to $inv-(a:"a clump of glowing moss"))(set:$lightsource to $nolight)](if:$isHoleSearched is false)[(set:$treasure to (either:...$holecontents))](set: $currentRoom to (passage:)'s name)A faint glow emanates from one of the far walls. You see a clump of phosphorencent (text-style:"smear")+(text-colour:lime)[moss] growing in a crevice. Most of the cave is still shrouded in darkness, but thanks to the moss you can see (text-style:"smear")[a narrow passage] leading to your left. (if: $isHoleSearched)[The ground appears to already have been dug up.(set:$treasure to "nothing")](else:)[(if:$inv contains "a gold ring")[(if: $inv contains "a pebble")[The ground appears to already have been dug up.(set:$treasure to "nothing")](else:)[There seems to be (text-style:"smear")[something] shiny on the ground.](set:$treasure to "pebble")](else:)[(if:$inv contains "a pebble")[(if:$treasure is "pebble")[There's nothing of interest on the ground.(set:$treasure to "nothing")](else:)[There is (text-style:"smear")+(text-colour:yellow)[something] gleaming in the dirt.]](else:)[(if:$treasure is "pebble")[There seems to be (text-style:"smear")[something] shiny on the ground.](else:)[There is (text-style:"smear")+(text-colour:yellow)[something] gleaming in the dirt.]]]](set:$unvisitedRooms to $caves-(a:$currentRoom))(set:$nextRoom to (either:...$unvisitedRooms))(if:$visitedRooms contains $currentRoom)[](else:)[(set:$visitedRooms to $visitedRooms+(a:$currentRoom))]
You decide to....
(if:$inv contains "a clump of glowing moss")[...[[take some fresh moss]]](else:)[...[[take the moss]]]
(if:$isHoleSearched)[...[[try to fit through the narrow passage]]](else:)[...[[search in the dirt]]]
...(link-goto:"find your way back",$nextRoom)(if: (passage:)'s name is "Title Screen" or (passage:)'s name is "Ending")[<!--Do nothing-->] (else:)[(if: (passage:)'s tags contains "hideinventory" or (passage:)'s tags contains "Description")[<!--Do nothing-->] (else:)[(if: (passage:)'s tags contains "hideinventory" or (passage:)'s name is "Display Character")[](else:)[<br>
(if:$STR>14)[You feel incredibly strong. ](else:)[(if:$STR>11)[You feel very strong. ]](if:$CON>14)[Your body is very resilient. ](else:)[(if:$CON>11)[You feel tough. ]](if:$DEX>14)[You are exceptionally dextrous. ](else:)[(if:$DEX>11)[You are agile. ]](if:$INT>14)[You are brilliant. ](else:)[(if:$INT>11)[You are smart. ]](if:$WIS>14)[You have incomprehensible wisdom. ](else:)[(if:$WIS>11)[You are wise. ]](if:$CHA>14)[Your charm is overwhelming. ](else:)[(if:$CHA>11)[You are charming. ]]]
[(if: $inv's length > 0)[You are carrying (print: $inv.join(", ")).](else:)[You are carrying nothing.]
(if:$spellsknown's length>0)[<br>You know how to cast (print:$spellsknown.join(", ")).]]
(display:"calcPoints")(display:"checkWinState")]](if:$isCharacterComplete)[(goto:"Ending")](track: 'dripping','volume',0.5)(track: 'river','stop')(if:$lightsource's count>0)[(set:$lightsource's count to $lightsource's count-1)(if:$lightsource's count is 0)[(print:$lightsource's out)(set:$lightsource's hasLight to false)]](else:)[(if:$lightsource's count is 0)[(print:$lightsource's dark)(set:$lightsource's hasLight to false)](set:$inv to $inv-(a:"a clump of glowing moss"))(set:$lightsource to $nolight)](set: $currentRoom to (passage:)'s name)(if:$lightsource's hasLight)[(if:$lightsource's name is "Light spell")[The space is illuminated by your magical light. ](else:)[Your light pushes back the darkness. ]This seems to have been some hermit's secret hiding spot. You see the remains of a straw mattress, an old table, and a broken stool. A few books and papers lie scattered on the ground. There's a large crack in the far wall almost wide enough for you to fit through.](else:)[It is dark. You hear the rustling of leaves or paper on the ground.(if:$cavecreature's isDead)[ (print:$ghost's ghostnoise)]](set:$unvisitedRooms to $caves-(a:$currentRoom))(set:$nextRoom to (either:...$unvisitedRooms))(if:$visitedRooms contains $currentRoom)[](else:)[(set:$visitedRooms to $visitedRooms+(a:$currentRoom))]
You decide to...
(if:$lightsource's hasLight)[...[[search the books]]](else:)[...[[feel around on the floor]]]
(if:$lightsource's hasLight)[...[[go through the crack in the wall|try to fit through the narrow passage]]](else:)[(if:$spellsknown contains "Light")[...[[cast Light spell]]](else:)[...[[find the source of the draft]]]]
...(link-goto:"head back the way you came",$nextRoom)(if:$isCharacterComplete)[(goto:"Ending")](track: 'dripping','stop')(if:$lightsource's count>0)[(set:$lightsource's count to $lightsource's count-1)(if:$lightsource's count is 0)[(print:$lightsource's out)(set:$lightsource's hasLight to false)]](else:)[(if:$lightsource's count is 0)[(print:$lightsource's dark)(set:$lightsource's hasLight to false)](set:$inv to $inv-(a:"a clump of glowing moss"))(set:$lightsource to $nolight)](set: $currentRoom to (passage:)'s name)You hear the sound of rushing water. It's clear that there is an underground river here. (if:$longstick's isCarried)[](else:)[A (text-style:"smear")[long stick] rests against the bank closest to you.](set:$unvisitedRooms to $caves-(a:$currentRoom))(set:$nextRoom to (either:...$unvisitedRooms))(if:$visitedRooms contains $currentRoom)[](else:)[(set:$visitedRooms to $visitedRooms+(a:$currentRoom))]
You decide to...
(if:$inv contains "a long stick")[...[[use the stick to polevault across]]](else:)[...[[take the stick]]]
...[[wade across the river]]
(if:$spellsknown contains "Levitate")[...[[cast Levitate on yourself|cast Levitate]]](else:)[...[[find a narrow place to cross]]]
...(link-goto:"try to find another way through",$nextRoom)
(track: 'river','loop',true)
(track: 'river','playwhenpossible')(if:$isCharacterComplete)[(goto:"Ending")](track: 'dripping','volume',0.5)(track: 'river','stop')(if:$lightsource's hasLight is false)[It is very dark. (if:$cavecreature's isDead)[(print:$ghost's ghostnoise) ]](if:$lightsource's count>0)[(set:$lightsource's count to $lightsource's count-1)(if:$lightsource's count is 0)[(print:$lightsource's out)(set:$lightsource's hasLight to false)]](else:)[(if:$lightsource's count is 0)[(print:$lightsource's dark)(set:$lightsource's hasLight to false)](set:$inv to $inv-(a:"a clump of glowing moss"))(set:$lightsource to $nolight)](set: $currentRoom to (passage:)'s name)The cavern floor has caved in. A giant pit lies between you and the other side.(if:$lightsource's hasLight)[ You can barely make out something scrawled on the wall. (if:$isCaveSpellRead)[Beneath it you now see a stone button.]](set:$unvisitedRooms to $caves-(a:$currentRoom))(set:$nextRoom to (either:...$unvisitedRooms))(if:$visitedRooms contains $currentRoom)[](else:)[(set:$visitedRooms to $visitedRooms+(a:$currentRoom))]
You decide to...
(if:$inv contains "a pebble")[...[[drop your pebble into the pit]]](else:)[(if:$spellsknown contains "Light" and $lightsource's hasLight is false)[...[[cast Light|cast Light spell]]](else:)[(if:$hasJumpedIntoPit)[...[[leap into the pit|really jump into pit]]](else:)[...[[leap into the pit]]]]]
(if:$longstick's isCarried)[...[[use your stick to polevault across|use the stick to polevault across]]](else:)[...[[walk around the narrow edge]]]
(if:$isCaveSpellRead)[...[[push the stone button]]](else:)[(if:$lightsource's hasLight)[...[[try to make sense of the writing]]](else:)[...[[feel around for another exit]]]]
...(link-goto:"find another way across",$nextRoom)(if:$isCharacterComplete)[(goto:"Ending")](track: 'dripping','volume',0.5)(track: 'river','stop')(set:$isCaveSpellRead to false)(set: $currentRoom to (passage:)'s name)(if:$lightsource's count>0)[(set:$lightsource's count to $lightsource's count-1)(if:$lightsource's count is 0)[(print:$lightsource's out)(set:$lightsource's hasLight to false)]](else:)[(if:$lightsource's count is 0)[(print:$lightsource's dark)(set:$lightsource's hasLight to false)](set:$inv to $inv-(a:"a clump of glowing moss"))(set:$lightsource to $nolight)](if:$cavecreature's isDead)[(set:$isMonsterDead to true)(if:$isBuriedTreasureFound)[(set:$foundtreasure to $nothing)(if:$lightsource's hasLight is false)[It is very dark. ]You see (print:$cavecreature's corpsetext). Aside from the earth falling slowly back into the hole, the cave feels deathly still.](else:)[You (if:$lightsource's hasLight is false)[can barely ]see (print:$cavecreature's corpsetext), and just beyond it what looks like a partially filled in hole.]](else:)[(set:$monsterhealth to $cavecreature's currenthealth)You (if:$lightsource's hasLight)[ see (print:$cavecreature's name)](else:)[ hear something] moving about(if:$lightsource's hasLight)[. ](else:)[ in the dark.] (if:$isMonsterCharmed)[It looks dazed and distracted. ](if:$lightsource's hasLight)[Beyond it, there seems to be a pile of recently disturbed earth.]](set:$unvisitedRooms to $caves-(a:$currentRoom))(set:$nextRoom to (either:...$unvisitedRooms))(if:$visitedRooms contains $currentRoom)[](else:)[(set:$visitedRooms to $visitedRooms+(a:$currentRoom))]
You decide to...
(if:$isMonsterDead)[...[[examine the corpse|search the dead monster]]](else:)[...[[attack it]]]
(if:$isMonsterDead or $isMonsterCharmed)[...[[search the pile of dirt]]](else:)[(if:$CHA>10)[...[[charm it with your singing]]](else:)[...[[frighten it away]]]]
(if:$isMonsterDead)[(if:$spellsknown contains "Light" and $lightsource's hasLight is false)[...[[cast Light|cast Light spell]]](else:)[...(link-goto:"search for a different exit",$nextRoom)]](else:)[...[[use magic to defeat it]]]
(if:$isMonsterDead)[...(link-goto:"try to find your way back",$nextRoom)](else:)[...[[sneak past it]]]
(if:$isCharacterComplete)[(goto:"Ending")](track: 'dripping','volume',0.5)(track: 'river','stop')(if:$lightsource's count>0)[(set:$lightsource's count to $lightsource's count-1)(if:$lightsource's count is 0)[(print:$lightsource's out)(set:$lightsource's hasLight to false)]](else:)[(if:$lightsource's count is 0)[(print:$lightsource's dark)(set:$lightsource's hasLight to false)](set:$inv to $inv-(a:"a clump of glowing moss"))(set:$lightsource to $nolight)](set:$isCaveSpellRead to false)(set: $currentRoom to (passage:)'s name)(if:$lightsource's hasLight)[You see](else:)[You can barely make out] what looks to be the remains of (if:$isCorpseFound)[$corpse.](else:)[(set:$corpse to (either:...$corpses))$corpse.(set:$isCorpseFound to true)](set:$unvisitedRooms to $caves-(a:$currentRoom))(set:$nextRoom to (either:...$unvisitedRooms))(if:$visitedRooms contains $currentRoom)[](else:)[(set:$visitedRooms to $visitedRooms+(a:$currentRoom))]
You decide to...
(if:$isPrayerOffered)[...[[contemplate your own mortality]]](else:)[...[[offer a silent prayer over the dead]]]
(if:$isCorpseSearched)[...[[search the body again|search the body]]](else:)[...[[search the body]]]
(if:$spellsknown contains "Speak with Dead")[...[[cast Speak with Dead]]](else:)[(if:$lightsource's hasLight is false and $spellsknown contains "Light")[...[[cast Light spell]]](else:)[...(link-goto:"continue onward",$nextRoom)]]
(if:$spellsknown contains "Speak with Dead")[...(link-goto:"continue onward",$nextRoom)](if:$isCharacterComplete)[(goto:"Ending")](track: 'dripping','volume',0.5)(track: 'river','stop')(if:$lightsource's count>0)[(set:$lightsource's count to $lightsource's count-1)(if:$lightsource's count is 0)[(print:$lightsource's out)(set:$lightsource's hasLight to false)]](else:)[(if:$lightsource's count is 0)[(print:$lightsource's dark)(set:$lightsource's hasLight to false)](set:$inv to $inv-(a:"a clump of glowing moss"))(set:$lightsource to $nolight)](set: $currentRoom to (passage:)'s name)(if: $lightsource's hasLight)[You see a possible passage out of this space(if:$isBoulderRemoved)[ and beside it, a recently moved heavy boulder. ](else:)[, but it appears to be blocked by a heavy boulder. You also spot a crack in the far wall that looks like it might go somewhere.]](else:)[It is dark. You feel a bit claustrophobic as if invisible walls are closing in on you.](if:$lightsource's count is 1)[ (print:$lightsource's dimming)](set:$unvisitedRooms to $caves-(a:$currentRoom))(set:$nextRoom to (either:...$unvisitedRooms))(if:$visitedRooms contains $currentRoom)[](else:)[(set:$visitedRooms to $visitedRooms+(a:$currentRoom))]
You decide to...
(if:$lightsource's hasLight)[(if:$isBoulderRemoved)[...(link-goto:"go through the now opened passage",$nextRoom)](else:)[(if:$spellsknown contains "Telekinesis")[...[[cast Telekinesis]]](else:)[(if:$inv contains "a long stick")[...[[use your stick as a lever]]](else:)[...[[find a weak point in the boulder]]]]]](else:)[...(link-goto:"follow the breeze",$nextRoom)]
(if:$lightsource's hasLight)[(if:$isBoulderRemoved)[...(link-goto:"head back the way you came",$nextRoom)](else:)[...[[push the boulder out of the way]]]](else:)[(if:$spellsknown contains "Light")[...[[cast Light spell]]](else:)[...[[feel around for another exit]]]]
(if:$lightsource's hasLight)[(if:$isBoulderRemoved)[](else:)[...[[squeeze through the narrow crack|try to fit through the narrow passage]]]](else:)[(if:$spellsknown contains "Light")[...(link-goto:"find your way back out",$nextRoom)]](if:$isCharacterComplete)[(goto:"Ending")](track: 'dripping','volume',0.5)(track: 'river','stop')(set:$isCaveSpellRead to false)(set: $currentRoom to (passage:)'s name)(if:$lightsource's count>0)[(set:$lightsource's count to $lightsource's count-1)(if:$lightsource's count is 0)[(print:$lightsource's out)(set:$lightsource's hasLight to false)]](else:)[(if:$lightsource's count is 0)[(print:$lightsource's dark)(set:$lightsource's hasLight to false)](set:$inv to $inv-(a:"a clump of glowing moss"))(set:$lightsource to $nolight)] A large deep-looking pool fills most of this room. On the other side of the chamber, you see what looks to be an exit. You see an old chest (if:$isChestRetrieved)[sitting at the side of the pool](else:)[lying in the depths of the pool].(set:$unvisitedRooms to $caves-(a:$currentRoom))(set:$nextRoom to (either:...$unvisitedRooms))(if:$visitedRooms contains $currentRoom)[](else:)[(set:$visitedRooms to $visitedRooms+(a:$currentRoom))]
You decide to...
(if:$isChestRetrieved)[(if:$isChestUnlocked is false)[(if:$inv contains "a rusty iron key")[...[[use key to open chest]]](else:)[...[[try to pick the lock]]]](else:)[...[[call out and see if anyone answer]]]](else:)[...[[dive to the bottom to retrieve the chest]]]
(if:$isChestRetrieved)[(if:$isChestUnlocked is false)[...[[force open the lock]]](else:)[...[[push the chest back into the pool]]]](else:)[(if:$lightsource's hasLight)[...[[swim across the pool]]](else:)[...[[feel around for another exit]]]]
(if:$inv contains "a silver coin")[...[[toss your silver coin into the pool]]](else:)[(if:$inv contains "a pebble")[...[[throw your pebble into the pool]]](else:)[...(link-goto:"try to find another way across",$nextRoom)]]
...(link-goto:"retrace your steps",$nextRoom)(set:$hasNewBook to false)(set: $inv to $inv + (a:$clumpofmoss's name))(set:$clumpofmoss's isCarried to true)(set:$lightsource to $mosslight)(set:$currentWeight to $currentWeight+$clumpofmoss's weight)You pick up the glowing clump of moss and (if:$righthand is "empty")[put it in your right hand.(set:$righthand to "a glowing clump of moss")](else:)[(if:$lefthand is "empty")[put it in your left hand.(set:$lefthand to "a glowing clump of moss")](else:)[put it in your pocket.]](set:$hasLight to true)(if:$inv contains "an unknown book")[(set:$foundtreasure to (either:...$books))(set:$inv to $inv-(a:"an unknown book"))(set:$inv to $inv+(a:$foundtreasure's name))(set:$hasNewBook to true)<br><br> You realize that the unknown book is actually (print:$foundtreasure's name)].
(if:$hasNewBook)[You decide to...<br><br>(if:$foundtreasure's name is "a spellbook")[...[[study the spellbook]]](else:)[...[[study the book]]]](else:)[(link-goto:"Continue",$currentRoom)](if:$treasure is "nothing")[You dig around, but can't find anything.](if:$treasure is "pebble")[You dig around in the dirt and find a smooth pebble](if:$treasure is "ring")[You spot a gold ring poking out of the dust. Who could have left such a beautiful thing here?](set:$isHoleSearched to true)
You decide to...
(if:$treasure is "nothing")[...(link-goto:"look around the room again",$currentRoom)](else:)[(if: $treasure is "pebble")[...[[take the pebble]]](else:)[(if:$treasure is "ring")[...[[take the gold ring]]]]
...(link-goto:"leave it alone",$currentRoom)](display:"addDEX")The cave passage is especially narrow and requires you to twist and contort. (if:$DEX<13)[It's a tight fit, but somehow you manage to squeeze through to the other side.](else:)[Fortunately, you've become quite limber and are able to squeeze through with ease.]
(link-goto:"Continue",$nextRoom)(set: $inv to $inv + (a:$pebble's name))(set:$pebble's isCarried to true)(set:$isHoleEmpty to true)(set:$currentWeight to $currentWeight+$pebble's weight)(print:$pebble's pickuptext)(set:$treasure to "nothing")
(link-goto:"Continue",$currentRoom)(set: $inv to $inv + (a:$goldring's name))(set:$goldring's isCarried to true)(set:$currentWeight to $currentWeight+$goldring's weight)You pick up the gold ring and (if:$WIS<13)[put it on your finger. You feel thinner. A strange hunger grows within you.](else:)[put it on your finger and marvel at its beauty.]
(link-goto:"Continue",$currentRoom)(set:$hasNewBook to false)(if:$lightsource's count<3)[(set:$lightsource to $mosslight)]You pick up a fresh clump of glowing moss and (if:$righthand is "empty")[put it in your right hand.(set:$righthand to "a glowing clump of moss")](else:)[(if:$lefthand is "empty")[put it in your left hand.(set:$lefthand to "a glowing clump of moss")](else:)[put it in your pocket.]](if:$inv contains "an unknown book")[(set:$foundtreasure to (either:...$books))(set:$inv to $inv-(a:"an unknown book"))(set:$inv to $inv+(a:$foundtreasure's name))(set:$hasNewBook to true)<br><br> You realize that the unknown book is actually (print:$foundtreasure's name)].
(if:$hasNewBook)[You decide to...<br><br>(if:$foundtreasure's name is "a spellbook")[...[[study the spellbook]]](else:)[...[[study the book]]]](else:)[(link-goto:"Continue",$currentRoom)](if:$isCorpseSearched)[You search the body and find nothing.](else:)[(set: $treasure to (either:...$corpsetreasures))(if:$treasure is "weapon")[(set:$foundtreasure to (either:...$weapons))](if:$treasure is "armor")[(set:$foundtreasure to (either:...$armor))](if:$treasure is "hat")[(set:$foundtreasure to (either:...$hats))](if:$treasure is "book")[(set:$foundtreasure to (either:...$books))](if:$treasure is "belt")[(set:$foundtreasure to (either:...$belts))]You search the body and find (print:$foundtreasure's name).]
You decide to...
(if:$isCorpseSearched)[...[[kick the body]]](else:)[...[[take it with you|pick up item from corpse]](set:$isCorpseSearched to true)]
...(link-goto:"leave it alone",$currentRoom)(print:$foundtreasure's pickuptext)(set:$inv to $inv + (a:$foundtreasure's name))(set:$currentWeight to $currentWeight+$foundtreasure's weight)
You decide to...
(if:$foundtreasure's isWearable)[(if:$foundtreasure's kind is "weapon")[...[[wield it|wear item]]](else:)[...[[put it on|wear item]]]](else:)[...[[give the body a kick|kick the body]]]
...(link-goto:"resume your search of the room",$currentRoom)(print: $selectedItem's description)
(link-goto:"Done",$currentRoom)You see a stout looking stick about six feet long. You think it might be good for hitting things. Or poking things. Or maintaining social distance.
(link-goto:"Done",$currentRoom)A large grey rock that is surprisingly heavy. You think it'd make a great door stop, but not a great pillow.
(link-goto:"Done",$currentRoom)(set: $books to (a:"a dusty spellbook","a historical text","a mystery novel","a romance novel","a diary"))
(set: $weapons to (a:"a longsword","a club","a long stick","a mace","a dagger","a greatsword"))
(set: $armor to (a:"leather armor","chainmail","a dark robe","a black leather corset"))
(set: $hats to (a:"a fancy hat","a rusty helmet","a fedora"))
(set: $belts to (a:"a leather belt","a studded belt","an elven belt"))
(set: $boots to (a:"stiletto heels","elven boots","sandals","sensible shoes","flip flops","leather boots","red sparkly heels"))
(set: $containertreasures to (a:"a longsword","a golden falcon","a deck of cards","an ancient bottle of wine","a dusty spellbook","a glowing red eye","an amulet"))
(set: $buriedtreasures to (a:"a gold coin","a rusty iron key","a rat skull","a silver bracelet","some old rope","a broken femur"))
(if:$foundtreasure's kind is "weapon")[(set:$hasWeapon to true)(if:$foundtreasure's damage > $currentWeapon's damage)[(set:$currentWeapon to $foundtreasure)(print:$foundtreasure's weartext)](else:)[You decide your current weapon, (print:$currentWeapon's name), is better.]]
(if:$foundtreasure's kind is "armor")[(set:$hasArmor to true)(if:$foundtreasure's AC > $currentArmor's AC)[(set:$currentArmor to $foundtreasure)(print:$foundtreasure's weartext)](else:)[You feel safer in what you're already wearing.]]
(if:$otherwearables contains $foundtreasure's kind)[(print:$foundtreasure's weartext)]
(link-goto:"Continue",$currentRoom)(set:$corpsekickcount to $corpsekickcount+1)You give the corpse a solid kick(if:$corpsekickcount is 1)[, but no gold coins come spilling out. You feel oddly disappointed.](if:$corpsekickcount is 2)[ again. You're not certain how this is helping.](if:$corpsekickcount is 3)[, but feel no better than before. A great emptiness grows within and you can't help but sense the meaninglessness of your violence. Here, what once lived, moved, breathed, and perhaps even loved, is now only husk, a loose gesture toward the life that once inhabited this frame. Or perhaps, it has nothing to do with the creature it once was and everything to do with you and the life you've squandered? Or do you rage against something else entirely? Death? Fate? God? Your father? Or the child you once were?](if:$corpsekickcount is 4)[ and continue rage, then suddenly - inexplicably - you collapse to your knees, your face wet with tears you did not know had burst from some deep hidden well of sorrow. ](if:$corpsekickcount>4)[ and feel dead inside. Numbness filling your heart.]
(link-goto:"Continue",$currentRoom)(display:"addSTR")(set:$isBoulderAttempt to true)(if:$STR<13)[You push with all your might and somehow manage to move the boulder.(set:$isBoulderRemoved to true)](else:)[The huge boulder is no match for your mighty strength. You move it easily.(set:$isBoulderRemoved to true)]
(link-goto:"Continue",$currentRoom)(display:"addINT")(set:$isBoulderAttempt to true)(if:$INT<13)[You use your long stick as a lever and apply pressure. Little by little the huge boulder moves, until at last the passage is cleared.(set:$isBoulderRemoved to true)](else:)[Work smarter not harder, you think to yourself, as you insert the long stick into gap beneath one side of the boulder. Putting your weight onto the lever, the huge boulder rolls aside.(set:$isBoulderRemoved to true)]
(link-goto:"Continue",$currentRoom)(display:"addWIS")(set:$isBoulderAttempt to true)(if:$WIS<13)[You study the boulder and notice that it has a large crack running through the middle of the stone. You use your (if:$inv contains "a longsword")[ longsword](else:)[(if: $inv contains "a dagger")[ dagger](else:)[(if: $inv contains "a greatsword")[ greatsword](else:)[ fingers]]] to widen the crack. The boulder breaks into two. (set:$isBoulderRemoved to true)](else:)[You study the boulder for a few minutes, then with a mighty THWACK, strike it with a single blow which causes it to explode.(set:$isBoulderRemoved to true)]
(link-goto:"Continue",$currentRoom)(if:$isFireAlreadySearched)[You sift through the old campfire, but find nothing of interest.(set:$isFireTreasureFound to false)](else:)[(display:"addINT")(set:$foundtreasure to (either:...$buriedtreasures))(if:$inv contains $foundtreasure's name)[(set:$foundtreasure to $nothing)](else:)[(set:$isFireTreasureFound to true)(if:$INT<13)[You (if:$lightsource's hasLight is false)[fumble around in dark, searching the burnt out campfire ](else:)[search the burnt out campfire] and find (text-style:"smear")[(print:$foundtreasure's name)] buried in the ashes.](else:)[You search the burnt out campfire (if:$lightsource's hasLight is false)[in the dark ]and find (text-style:"smear")[(print:$foundtreasure's name)] buried in the ashes.]]](set:$isFireAlreadySearched to true)
You decide to...
(if:$isFireTreasureFound)[(if:$foundtreasure's name is "a charred book")[(if:$spellsknown contains "Mend")[...[[cast Mend on the ruined book|cast Mend]]](else:)[...[[take the charred book]]]](else:)[...[[take what you've found]]]](else:)[...[[take some ashes]]]
...(link-goto:"look elsewhere",$currentRoom)(display:"addWIS")(if:$WIS<13)[You follow the breeze and ever so slowly find your way (if:$lightsource's hasLight is false)[through the dark ]to what seems to be an opening.](else:)[Following the faintest of traces(if:$lightsource's hasLight is false)[in the dark ], you locate the source of the draft. There appears to be an opening here.]
(link-goto:"Continue",$nextRoom)(display:"addCON")(if:$CON<13)[You drink from the puddle. The ice cold water tastes of mud, dust, and forgetting. Your thirst is mostly quenched, but the cold persists, sinking deeper into your bones. You gulp it all down.](else:)[You drink from the puddle and its bone-chilling cold. Despite the awful taste, you slake your thirst and steel yourself for whatever awaits you next.]
(link-goto:"Continue",$currentRoom)(display:"addCHA")You open your mouth and call out to the figure in the shadows(if:$hasSpokenToFigure)[ again, hoping they respond this time(if:$oldwoman's isPetrified)[ and remembering too late that she is already no more].](else:)[, hoping that they are friendly. How long has it been since you last spoke to someone? How long since you were heard?]
You say...
...[["Ahoy!"|greet the figure]]
...[["Who are you?"|ask the figure to identify themselves]]
(if:$oldwoman's isPetrified)[...[[nothing|Cave with dripping water]]](else:)[...[["Do you need help?"|offer to help the figure]]
...[[nothing|fail to speak to the figure]]](display:"addDEX")(if:$DEX>13)[You sneak by undetected, as silent as a ghost(if:$oldwoman's isPetrified)[ aided no doubt by the fact that she has turned to stone].](else:)[You hear a ghostly voice call out after you(if:$oldwoman's isPetrified)[or was it just your conscience?](else:)[, suddenly aware of your presence, but you are already gone.]]
(link-goto:"Continue",$nextRoom)(set:$isLibraryRaided to true)(set: $inv to $inv + (a:$foundtreasure's name))(set:$foundtreasure's isCarried to true)(set:$currentWeight to $currentWeight+$foundtreasure's weight)(print:$foundtreasure's pickuptext)
You decide to...
(if:$foundtreasure's name is "a spellbook")[...[[study the spellbook]]](else:)[...[[study the book]]]
...(link-goto:"keep looking around",$currentRoom)(display:"addDEX")(if:$DEX<13)[(set:$isCaveSpellRead to false)You slowly inch your ways around the gaping pit, finally making it to the other side.](else:)[You skirt the edge of the pit, aware of the danger, but confident in your footing. You soon arrive on the other side.(set:$isCaveSpellRead to false)]
(link-goto:"Continue",$nextRoom)(display:"addWIS")(set:$isPuddleFound to true)(if:$WIS<13)[You feel around on the cave floor while trying to navigate using the sound of the dripping water. After a few minutes, your hand finds the puddle. It feels very cold.](else:)[Navigating using your keen hearing and smell, you crawl across the cavern floor and find the puddle. It is cold and feels somewhat deep.]
You decide to...
(if:$isPuddleFound)[...[[reach into the puddle]]](else:)[...(link-goto:"explore the other passage",$nextRoom)]
...(link-goto:"search elsewhere",$currentRoom)(if: $inv contains "a long stick")[You compare your stick with the one on the riverbank and decide to take the one with a bit more heft.](else:)[(set: $inv to $inv + (a:$longstick's name))(set:$longstick's isCarried to true)(set:$currentWeight to $currentWeight+$longstick's weight)(if:$longstick's damage>$currentWeapon's damage)[(set:$currentWeapon to $longstick)](print:$longstick's pickuptext)] You think it might prove useful.
(link-goto:"Continue",$currentRoom)(display:"addSTR")(if:$STR<13)[You take a running start, then deftly plant the long stick in the ground and polevault over to the other side.](else:)[You run swiftly toward the river's edge, then deftly plant the pole in the ground and propel yourself across to the other side.]
(link-goto:"Continue",$nextRoom)You search through the hermit's stash of books. Most of the volumes are waterstained and black with mold. You find (set:$foundtreasure to (either:...$books))(if:$inv contains $foundtreasure's name)[(set:$isDuplicateBook to true)a secret passage concealed behind the bookcase.](else:)[(set:$isDuplicateBook to false)(print:$foundtreasure's name).]
You decide to...
(if:$isDuplicateBook)[...(link-goto:"take the secret passage",$nextRoom)](else:)[...[[take the book]]]
...(link-goto:"leave it behind",$currentRoom)(print:$foundtreasure's description) (display:"addINT")(if:$INT<13)[You spend a few moments studying the book and glean some useful knowledge.](else:)[You feel your mind opening to a much broader cosmos. Who knew that even in (print: $foundtreasure's name), you could find so much hidden knowledge.]
(link-goto:"Continue",$currentRoom)(set:$newspell to (either:...$spells))(if: $spellsknown contains $newspell)[(set:$newspell to "nothing")](else:)[(set:$spellsknown to $spellsknown+(a:$newspell))](print:$foundtreasure's description) (if:$INT<13)[You study the spellbook and feel magical energy fill your mind. (if:$newspell is "nothing")[](else:)[(display:"addINT")You learn how to cast (print:$newspell).]](else:)[Your mind is flooded with magical energy. (if:$newspell is "nothing")[](else:)[ (display:"addINT")You learn how to cast (print:$newspell).]]
(if:$newspell is "Mend" and $inv contains "charred book")[...[[cast Mend on the charred book|cast Mend]]](else:)[...(link-goto:"Continue",$currentRoom)]
(if:$newspell is "Mend" and $inv contains "charred book")[...(link-goto:"Continue",$currentRoom)](display:"addWIS")(set:$isBookFound to false)(if:$WIS<13)[You crouch down and begin to feel around the cavern floor. After a while your hand finds something that feels like a book.(set:$isBookFound to true)](else:)[You crawl around the cavern floor feeling about for whatever is rustling. You soon find yourself holding what feels like a book.(set:$isBookFound to true)]
You decide to...
(if:$isBookFound)[...[[take book|pick up book in the dark]]](else:)[...(link-goto:"go through the other opening",$nextRoom)]
...(link-goto:"stop searching",$currentRoom)(display:"addINT")(set:$hasNewBook to false)(set:$hasLight to true)(set:$lightsource to $spelllight)You focus your arcane power into a single point of (text-style:"smear")[light] which suddenly floods the room.(if:$inv contains "an unknown book")[(set:$foundtreasure to (either:...$books))(set:$inv to $inv-(a:"an unknown book"))(set:$inv to $inv+(a:$foundtreasure's name))(set:$hasNewBook to true) You realize that the unknown book is actually (print:$foundtreasure's name)].
(if:$hasNewBook)[You decide to...<br><br>(if:$foundtreasure's name is "a spellbook")[...[[study the spellbook]]](else:)[...[[study the book]]]](else:)[(link-goto:"Continue",$currentRoom)](display:"addWIS")(if:$WIS<13)[You follow the breeze and ever so slowly find your way to what seems to be an opening.](else:)[Following the faintest of traces, you locate the source of the draft. There appears to be an opening here.]
(link-goto:"Continue",$nextRoom)(display:"addCON")You push the stone button and hear an audible click, followed by the sound of shifting stone. The stone you are standing on tilts down, sending you sliding down a hidden chute.
(link-goto:"Continue",$nextRoom)(display:"addINT")(set:$newspell to (either:...$spells))(set:$isCaveSpellRead to true)(if: $spellsknown contains $newspell)[(set:$newspell to "nothing")(set:$isRandomGraffiti to true)](else:)[(set:$spellsknown to $spellsknown+(a:$newspell))]
(if:$isRandomGraffiti)[You stare at the wall for a long time. (print:(either:...$cavegraffiti))](else:)[(if:$INT<13)[You study the runes on the wall and feel a surge of magical energy.You learn how to cast (text-style:"smear")[(print:$newspell)].](else:)[The strange runes on the wall suddenly make sense and your mind is flooded with magical energy. You learn how to cast (text-style:"smear")[(print:$newspell)].](if:$inv contains "a charred book" and $newspell is "Mend")[<br><br>Perhaps you could use magic to repair the book?]]
(if:$newspell is "Mend" and $inv contains "charred book")[You decide to...<br><br>...[[cast Mend on the charred book|cast Mend]]<br>...(link-goto:"leave it for now",$currentRoom)](else:)[(link-goto:"Continue",$currentRoom)]
(display:"addWIS")(if:$WIS<13)[You fumble around in the dark and eventually discover another opening.](else:)[You feel around in the dark and soon find another opening.]
(link-goto:"Continue",$nextRoom)(display:"addINT")(set:$isBoulderAttempt to true)(if:$INT<13)[You chant the strange magical words and, filled in arcane power, move the boulder to the side.(set:$isBoulderRemoved to true)](else:)[Arcane power surges through you mind. As you raise your hand, crackling energy shoots across the room and surrounds the boulder. With a slight turn of your wrist, the huge stone moves to the side revealing the previously obstructed passage.(set:$isBoulderRemoved to true)]
(link-goto:"Continue",$currentRoom)Story & Code: Neil Aitken
Principal Testers: Carina Mifuel, Andrew MacPherson
Additional Testers: Kazim Ali, LeAnne Hunt, Saba Razvi, Jake Vermaas
Background SFX: "Shallow Waters" by Erisson (IUMA/Internet Archive)
[[Return|Title Screen]] (set: $prayercounter to $prayercounter+1)(if:$prayercounter<3)[(display:"addWIS")(if:$WIS<13)[You offer a few words of solace and dignity to the fallen. Somewhere, you think, this poor spirit journeys on. You hope the gods will be kind to it.](else:)[You find some deep reverence moves you to prayer. To the gods and to the dead, you silently pray and dedicate this place to be holy. You feel something sacred descend upon you.]](else:)[You try to find words, but your mind drifts. Perhaps it's enough to pause and remember.]
(link-goto:"Continue",$currentRoom)(display:"addWIS")(if:$WIS<13)[You stare at the corpse and feel something stare back at you. Perhaps in a short while, someone else will find you in a room just like this one. Dead. An artful arrangement of bones still clutching what could not save your life.](else:)[You stare at the dead body and feel the full weight of your mortality. What are you, but a walking tomb? Your body a necropolis, a city built upon millennia of deaths, yours merely the next in a long line.]
(link-goto:"Continue",$nextRoom)(display:"addCHA")(if:$CHA<13)[You call out into the dark cavern, but only hear your own voice echoing back. It sounds like it is mocking you. As if your own voice had turned on you, betraying to all who lurk in the darkness. You feel even more alone now, but also more certain that you would like to talk to someone.](else:)[You call out, but only hear your own voice echoing back, oddly distorted by the water. Familiar, but not familiar. Almost comforting. Somewhere, you believe, there must be someone waiting for your voice. But who?]
(link-goto:"Continue",$currentRoom)(display:"addCON")(set:$foundtreasure to (either:...$containertreasures))(set:$isChestRetrieved to true)You dive to the bottom of the frigid lake and retrieve the chest. When you drag up on the shore and examine it, you discover that it is locked.
You decide to...
(if:$inv contains "a rusty iron key")[...[[use the rusty key to open chest|use key to open chest]]](else:)[...[[try to pick the lock]]]
...[[force open the lock]]
...(link-goto:"leave the chest",$currentRoom)
(display:"addCON")(if:$CON<10)[You leap into the pool and begin to swim in the cold water. It's frigid and dark. You can't see a thing. But stroke after exhausting stroke, you swim on. Eventually you find yourself in shallow waters again. You trudge out of the water into someplace new.](else:)[(if:$CON<13)[You stride into the frigid water and begin to swim across the dark pool. With every stroke, you grow more weary, but still you push on. Better to find yourself exhausted on the shore, than drowning in the unfathomable deep. After much effort, you arrive on the opposite side. You pull yourself out, give your clothes a good wring, and survey this new place. ](else:)[You wade into the pool, then start swimming. Although exhausted, you push yourself forward, stroke after stroke, drawing yourself ever closer to the other side. Your body moves with a precise rhythm, and soon you forget yourself in the work. The ground comes up faster than you expect. You find yourself standing on the other side. A new darkness to explore.]]
(link-goto:"Continue",$nextRoom)You attack the (print:$cavecreature's description). (print:$currentWeapon's hittext) (set:$monsterhealth to $monsterhealth-$currentWeapon's damage)(if:$monsterhealth<1)[(set:$cavecreature's currenthealth to 0)(set:$cavecreature's isDead to true)(set:$isMonsterDead to true)(print:$cavecreature's deathtext)(set:$ghost to $cavecreature)](else:)[(if:$cavecreature's attack>$currentArmor's AC)[(print:$cavecreature's hittext)](else:)[(print:$cavecreature's misstext)]]
You decide to...
(if:$isMonsterDead)[...[[examine the corpse|search the dead monster]]](else:)[...[[attack it again|attack it]]]
(if:$isMonsterDead)[...(link-goto:"leave the body",$currentRoom)](else:)[...[[run away|run from creature]]](if:$cavecreature's isCharmed)[The (print:$cavecreature's description) is already charmed.](else:)[(display:"addCHA")(set:$cavecreature's isCharmed to true)(if:$CHA<10)[You sing an old lullaby that you haven't sung in years. Your voice is tired and strained, but earnest. At some point, you no longer can tell if you're singing for the creature or for yourself. When you look at the creature, it has calmed down. It watches you, entranced by your singing.](else:)[(if:$CHA<13)[You begin to sing a lullaby, but soon you find other words and images coming to your mind. Tensions between darkness and light. You find your voice filled with sorrow and longing. Sadness. Something grows out of the dark pain and blooms. Your eyes fill with tears. Through them you see the creature too is moved. The (print:$cavecreature's description) lowers its head. You hear it sob as well, overwhelmed by the common lot you share.](else:)[(display:"addWIS")You begin to sing a familiar song from your youth. At first, it seems silly, but as you continue it grows on you. You can't remember the words, so keep adding your own. When you run out of words, you make sounds that mimic the sounds you've heard the creature to make. It seems to respond. Almost as if it understood you. Or perhaps, it does understand you. It is you who doesn't understand yourself. The two of you settle into a pattern. A slow sway, then gradually you both sit down in the dark. The creature is still. Watching you. Listening closely to your voice and your breathing. As if it were about to sing as well.]]]
...(link-goto:"Continue",$currentRoom)(display:"addCHA")(set:$isMonsterFrightened to true)(if:$CHA<13)[You scream and wave your hands wildly, attempting to make yourself bigger. This probably doesn't actually change your height, but does sufficiently intimidate the creature into leaving you alone.](else:)[You rage and bellow like a wild creature, one wilder and crazier and more deadly than this one. It turns out that you can do a pretty good impression of a fire-breathing dragon.]
(link-goto:"Continue",$currentRoom)
(display:"addDEX")(if:$DEX<10)[You attempt to sneak past it, which seems to work.](else:)[(if:$DEX<13)[You stay close to the perimeter of the room and blend into the shadows. Slowly, but surely you slip past undetected.](else:)[You slip into the darkest shadows. Like a ghost of a ghost. The creature doesn't not notice your absence. You were never here.]]
(link-goto:"Continue",$nextRoom)(display:"addINT")(set: $isChestUnlocked to true)(if:$INT<10)[You insert the key into the rusty lock on the chest, and surprisingly it fits. As you turn it, you hear the mechanism click, and the chest opens revealing (print: $foundtreasure's name).](else:)[(if:$INT<13)[You fish out the rusty key and try it on the locked chest. Surprisingly it works. You eagerly open the chest and find (print:$foundtreasure's name) inside.](else:)[You insert the key into the rusty lock on the chest, and surprisingly it fits. As you turn it, you hear the mechanism click, and the chest opens revealing (print: $foundtreasure's name).]]
You decide to...
...[[take the treasure|take chest treasure]]
...(link-goto:"leave it behind",$currentRoom)(display:"addDEX")(set:$isChestUnlocked to true)(if:$DEX<13)[You find a small thin piece of bone on the ground and use it to fiddle with the lock. After a few minutes of work, the lock pops open. Inside the chest you find (print:$foundtreasure's name).](else:)[You find a small thin sliver of bone on the ground, and with tremondous dexterity, pick the lock. When you open the chest, it groans on its rusty hinges. Inside you find (print:$foundtreasure's name).]
You decide to...
(if:$isChestUnlocked)[...[[take the treasure|take chest treasure]]](else:)[...(link-goto:"leave the chest",$currentRoom)]
(if:$isChestUnlocked)[...(link-goto:"leave",$currentRoom)](display:"addSTR")(set:$isChestUnlocked to true)[(if:$STR<10)[(if:$currentWeapon's name is "fist")[You punch it with your fists. This proves surprisingly effective. The lock breaks. You open the chest and find (print:$foundtreasure's name).](else:)[(print:$currentWeapon's hittext) The lock is smashed and the chest breaks open. Inside you find (print:$foundtreasure's name).]](else:)[(if:$STR<13)[(if:$currentWeapon's name is "fist")[You pummel the chest with your fists, smashing it open. When you look inside you find (print:$foundtreasure's name).](else:)[(print:$currentWeapon's hittext) The lock is broken and the chest smashed open. Inside you find (print: $foundtreasure's name).]](else:)[You give it a mighty kick and surprisingly the chest breaks open. Inside you find (print:$foundtreasure's name).]]]
You decide to...
(if:$isChestUnlocked)[...[[take the treasure|take chest treasure]]](else:)[...(link-goto:"leave the chest",$currentRoom)]
(if:$isChestUnlocked)[...(link-goto:"leave",$currentRoom)](if:$cavecreature's isLooted)[You search the (print:$cavecreature's corpsetext) once again, but find nothing. Was it worth it? You're not certain how much each death is worth. And to whom. It weighs on you. Was there another way? Are there answers you're just not seeing? Or is death always what awaits us in the dark? In such terrible moments when we are lost. You hear a strange noise coming from the final wound you inflicted.](else:)[(set:$foundtreasure to (either:...$monstertreasures))(if:$inv contains $foundtreasure's name)[(set:$foundtreasure to $nothing)]You search the creature's body and find (print:$foundtreasure's name) inside it. (if:$foundtreasure's name is "nothing")[](else:)[How did it get there?]]
You decide to...
(if:$cavecreature's isLooted or $foundtreasure's name is "nothing")[...[[listen to the wound]]](else:)[...[[take it with you|take item from dead monster]]]
...(link-goto:"leave it",$currentRoom)You search through the pile of dirt and find (if:$dirtpile's length>0)[(set:$foundtreasure to (either:...$dirtpile))](else:)[(set:$foundtreasure to $nothing)(set:$dirtpile to (a:$nothing))](if:$foundtreasure's kind is "book" and $lightsource's hasLight is false)[(set:$foundtreasure to $unknownbook)](print:$foundtreasure's name).
You decide to...
(if:$foundtreasure's name is "nothing")[...[[dig a small hole in the earth]]](else:)[...[[take it with you|take item from dirt pile]]]
...(link-goto:"leave it alone",$currentRoom)(display:"addINT")You summon the elemental flames within you and form (text-style:"smear")+(text-color:"red")[a glowing fiery ball], which you then hurl toward the (print: $cavecreature's description). You watch as it becomes engulfed in flames, and in its terror and madness, runs away into the dark. Its yelps and cries fill the room with frantic horror. The echoes of its last final scream haunts you long after you watch it collapse, dead, but still in flames. The stench of burnt flesh is overpowering. It all feels too much. Too terrible. What have you done? Was this the only way? (set:$cavecreature's isDead to true)(set:$isMonsterDead to true)
...[[search its burnt corpse|search the dead monster]]
...(link-goto:"leave the body",$currentRoom)(display:"addINT")(if:$currentRoom is "Cave with a creature")[(set:$cavecreature's isCharmed to true)(set:$isMonsterCharmed to true)You speak the ancient words and the air fills with strange dazzling lights. The (print:$cavecreature's description) halts, mesmerized by the sight, falling into a trance as you continue uttering the mysterious syllables that weave a chain of words about it. It no longer sees you as a threat.]
(link-goto:"Continue",$currentRoom)You cast (text-style:"smear")[Sleep] and an eerie stillness falls over the cavern. You watch as the (print:$cavecreature's description)'s eyes grow heavy, its body slowing to a halt. The creature lies down, weary, a deep exhaustion settling over it. You can't help but also feel tired as well. So much has gone wrong with the world. So much you cannot change. As its eyes droop, you too settle to the ground beside. It gives a mighty yawn, then slips into sleep. You can't help but feel the same. The weariness. The darkness. The cool ground. And your heart slowing slowing until there is only a gentle beating of waves. the distant sound of the sea. No cave. No fear. Only the great sky. The endless clouds. The sun like a mother's eye upon you.(set:$cavecreature's isCharmed to true)(set:$isMonsterCharmed to true)
(link-goto:"Continue",$currentRoom)You cast (text-style:"smear")[Levitate] on yourself and begin to float a few inches off the ground. Now what?
You decide to...
(if:$currentWeapon's name is "fist")[...[[struggle awkwardly in the air]]](else:)[...[[propel yourself forward]]]
...[[wait until the spell wears off|struggle awkwardly in the air]](set:$isBookRepaired to false)(set:$foundtreasure to (either:...$books))(if:$inv contains (print:$foundtreasure's name))[(set:$foundtreasure to $diary)](display:"addINT")(if:$INT<13)[(set:$isBookRepaired to true)You chant the strange magical words and time seems to reverse. The charred book becomes new again. You now see that it is (print:$foundtreasure's name).](else:)[(set:$isBookRepaired to true)Arcane power surges through you mind. As you place your hand on the ruined book, you watch as the charred pages become restored. You see now that it is (print:$foundtreasure's name).](if:$accomplishments contains "You repaired a ruined book using magic.")[](else:)[(set:$accomplishments to $accomplishments+(a:"You repaired a ruined book using magic."))]
You decide to...
(if:$isBookRepaired)[...[[take the book with you]]](else:)[...(link-goto:"discard the book",$currentRoom)]
...(link-goto:"keep searching around",$currentRoom)(display:"addCON")(if:$CON<13)[You wade into the icy river. The current is strong, but you press on, step by step. Eventually you make it to the other side.](else:)[You wade into icy river. It's cold, but you steel yourself and plod on. Eventually you make it to the other side.]
(link-goto:"Continue",$nextRoom)(display:"addWIS")You find a place where the river is a little more narrow. It's still cold, but thankfully only a short distance. You bear with it and get to the other side.
(link-goto:"Continue",$nextRoom)You reach into the puddle and find it much colder and deeper than you expected. You know people like that. Colder and deeper than expected. You've also lived through loss that has felt the same way.
When your fingers touch the bottom of the puddle, you (if:$isPuddleSearched)[find nothing. You sense that something that was once there is gone. Possibly forever. Your hand is empty. You have become used to this, but it still hurts. How can nothing hurt? How is absence inescapable, even here? Even in the dark, your face to the earth. Your hand empty and full. Cold and alive. You shiver.](else:)[feel something hard resting there at the center. It does not move or react. It practices a stillness that often eludes you. It is within reach.]
You decide to...
(if:$isPuddleSearched)[...(link-goto:"pull your hand out",$currentRoom)](else:)[...[[take it out|remove item from puddle]]]
(if:$isPuddleSearched)[](else:)[...(link-goto:"pull your hand out",$currentRoom)](set:$isFireTreasureFound to true)(if:$inv contains $foundtreasure's name)[You decide not to take it since you already have one.(set:$isDontTake to true)](else:)[(set:$isDontTake to false)(set: $inv to $inv + (a:$foundtreasure's name))(set:$foundtreasure's isCarried to true)(set:$currentWeight to $currentWeight+$foundtreasure's weight)(print:$foundtreasure's pickuptext)]
You decide to...
(if:$isDontTake)[...(link-goto:"leave it behind",$currentRoom)](else:)[(if:$foundtreasure's name is "a spellbook")[...[[study the spellbook]]](else:)[...[[examine it more closely]]]]
...(link-goto:"keep looking around",$currentRoom)(if:$inv contains "some ashes")[You add (text-style:"smear")[more ash] to the pile of ashes you're already carrying.](else:)[(set:$inv to $inv+(a:"some ashes"))You pick up (text-style:"smear")[some ashes] from the old campfire and take them with you.]
(link-goto:"Continue",$currentRoom)(if: $inv contains "an unknown book")[You try to pick it up, but the book crumbles to ashes in your hands.](else:)[(set: $inv to $inv + (a:$unknownbook's name))(set:$unknownbook's isCarried to true)(set:$currentWeight to $currentWeight+$unknownbook's weight)(print:$unknownbook's pickuptext)]
(link-goto:"Continue",$currentRoom)(set: $inv to $inv + (a:$foundtreasure's name))(set:$foundtreasure's isCarried to true)(set:$currentWeight to $currentWeight+$foundBook's weight)(print:$foundtreasure's pickuptext)
You decide to...
(if:$foundtreasure's name is "a spellbook")[...[[study the spellbook]]](else:)[...[[study the book]]]
...(link-goto:"keep looking around",$currentRoom)(set: $inv to $inv + (a:$charredbook's name))(set:$charredbook's isCarried to true)(set:$currentWeight to $currentWeight+$charredbook's weight)(print:$charredbook's pickuptext)
(link-goto:"Continue",$currentRoom)Finally, after hours of wandering, you locate a passage that leads upward toward what seems to be light. You plod on and soon find yourself at the cave's entrance.
As you stand at its threshold and look out on the world, the sun begins to sink.
You watch the crimson sky darken into night. The forest ahead looks deep and foreboding. Shadows fall all around you. It is late and you are far from home.
Where will you go now?
<h1>THE END?</h1>
<hr>
[[Who did I become?|Display Character]] | [[Restart Game]](print: $foundtreasure's description)
(link-goto:"Continue",$currentRoom)(set:$hasSleep to false)(set:$hasCharm to false)You sense great arcane power within yourself(if:$spellsknown's length is 0)[, at least, that's what you want to believe. What you need to believe. Desperate times. Right? Desperate times](else:)[ and try to focus your mind].
You decide to...
(if:$spellsknown contains "Fireball")[...[[cast Fireball]]](else:)[(if:$spellsknown contains "Sleep")[(set:$hasSleep to true)...[[cast Sleep]]](else:)[(if:$spellsknown contains "Charm")[(set:$hasCharm to true)...[[cast Charm]]](else:)[...[[make up something on the spot]]]]]
(if:$hasCharm)[...(link-goto:"try something else",$currentRoom)](else:)[(if:$hasSleep)[(if:$spellsknown contains "Charm")[...[[cast Charm]]](else:)[...(link-goto:"try something else",$currentRoom)]](else:)[...(link-goto:"try something else",$currentRoom)]]bgmusic: ./audio/ErissonShallowWaters.mp3
dripping: ./audio/sclolexWaterDrippingInCave.mp3
river: ./audio/caveriver02.mp3(print:$foundtreasure's pickuptext)(set:$inv to $inv + (a:$foundtreasure's name))(set:$currentWeight to $currentWeight+$foundtreasure's weight)
You decide to...
(if:$foundtreasure's name is "a spellbook")[...[[study the spellbook]]](else:)[(if:$foundtreasure's isWearable)[(if:$foundtreasure's kind is "weapon")[...[[wield it|wear item]]](else:)[...[[put it on|wear item]]]]]
...(link-goto:"keep moving",$currentRoom)(display:"addSTR")You attempt to push the old chest back into the pool, but find yourself still too exhausted from the effort to drag out earlier. It really wouldn't make any sense to do this, would it? It's not like the chest will magically refill with new treasure every time it sinks to the bottom of the pool.
You decide to...
...[[crawl inside the chest]]
...(link-goto: "give up",$currentRoom)(display:"addWIS")You crawl inside the chest. Sometimes you just want to curl up in a small space and forget about everything. The world can be pretty ugly and scary. A small enclosed space does wonders. Like a nest or a womb.
You close the lid and suddenly the world disappears into darkness. You glimpse a slight glow around you and notice (text-style:"smear")+(text-colour:green)[faint runes] traced on the inside of the lid. There's a sudden (text-style:"smear")[flash] of light.(if:$accomplishments contains "You used the magic chest to teleport.")[](else:)[(set:$accomplishments to $accomplishments+(a:"You used the magic chest to teleport."))]
(link-goto:"Continue",$nextRoom)(display:"addWIS")You toss the silver coin into the depths of the dark pool. There is a satisfying plop as it enters. You feel lucky. You're not certain what role luck plays in your life. You've always tried to do things with your own strength, but perhaps, you wonder now, there is some way in which chance does impact everything you and everywhere you've been.
You have no idea whether the coin lands heads or tails up when it reaches the bottom. You're not even certain there is a bottom. A true bottom. Perhaps everything is an illusion, a deception. A complete fabrication out of the mind of someone who is mad, or perhaps you are the mad one, you are the one dreaming this entire thing.
Absence. Presence. Life. Death. Joy. Pain. You sense a million impossible coins being flipped every second. Lights go on. Lights go off. The world shimmers. In the depths something gleams.
Perhaps it is the silver coin. Perhaps it is the moon. Perhaps it is the face of the dreamer. Or the eye of the one within the dream. (set:$inv to $inv-(a:"a silver coin"))(set: $silvercoin's isCarried to false)
(link-goto:"Continue",$currentRoom)(display:"addWIS")You hurl the pebble with all your might into the depths of the dark pool. You feel a strange release. A catharsis of sorts. As if all your pent up anger and despair were suddenly expelled, cast into a well of unfathomable darkness and pain to be consumed there, not by you, but by unseen creatures who most likely are better adapted to endure your own life.
You reflect on this and sigh. Your sigh grows into a low cry. Soon your body quakes. Tears run down your face. They flow into the pool, joining the others. You are certain that must be the case. Perhaps everyone cries sometimes, you think. Perhaps here is the sum total of everyone's pain.
Here is where loss goes in the end. The ripples returning, the endless cascade of sorrow and joy and sorrow again.(set: $inv to $inv-(a:"a pebble"))(set: $pebble's isCarried to false)
(link-goto:"Continue",$currentRoom)RELEASE NOTES
v1.12 [2020.09.28] - fixed JumpIntoPit option (misplaced ])
v1.11 [2020.09.28] - fixed typo (Charm)
v1.10 [2020.09.28] - fixed the restart game bug (to submit Oct 1)
v1.07 [2020.09.28] - fixed Puddle searching bug (submitted with restart bug)
v1.06 [2020.09.28] - fixed jump check on the pit - missing]
v1.05 [2020.09.28] - added a line to handle giving/not giving unknown books
v1.04 [2020.09.28] - added 2nd time pit jumping - now teleports to the start, switched score checks to 13 instead of 14 (more text variety)
v1.03 [2020.09.28] - various bug fixes with accomplishments and campfire
v1.00 [2020.09.28] - complete revamp of movement, skill scoring, and powerups. lots of bug fixes. first 'complete' game.
v0.997[2020.09.28] - adjusted volume
v0.996[2020.09.28] - fixed ghost bugs
v0.995[2020.09.27] - lots of style polishing of spell names, improved corpse kicking, added ghostly noises, misc bug fixes
v0.99 [2020.09.27] - overhaul room movement, fixed some planting issues, fixed iron key issue, fixed some book problems
v0.98 [2020.09.26] - added Speak with Dead, fixed duplicate spell issue, implemented the encounter with the shadowy figure/old woman, improved light functionality
v0.97 [2020.09.25] - added light charges (will expire over time), implemented plant item options, multiple corpsekicker text, fixed key and chest interaction
v0.96 [2020.07.29] - double weartext for armor. typo for malificent, narrow passage fix, praying for the dead fix. new room selection method to avoid repeats.
v0.95 [2020.07.27] - fixed some typos for mace description, fixed iron key, fixed long stick as weapon, implemented Fireball, Charm, and fake magic.
v0.94 [2020.07.27] - fixed wear text for weapons.
v0.93 [2020.07.27] - fixed wade and narrow river crossings, fixed Levitate, added jump into the pit text, added charm monster by singing.
v0.92 [2020.07.26] - fixed nothing AC
v0.91 [2020.07.26] - fixed dropping pebble into pit. fixed confusing exit option (no extra crack exit). implement monster combat and fleeing. added wound listening. fixed more bugs.
v0.90 [2020.07.26] - player can now reach the end of the game
v0.84 [2020.07.26] - more bug fixes (silver coin and library)
v0.83 [2020.07.25] - fixed search in dark room for book (missing bracket)
v0.82 [2020.07.25] - (pool room) fixed minor typos and bugs, added pebble and coin functionality, switched swimming to boost CON instead. (footer). adjusted placement of stat scores for testing purposes, added KIND and isWEARABLE to items, (pit room) added pebble.
v0.81 [2020.07.24] - added lootable chest functionality, added more chest options for unlocking and disposing.
(if:$cavecreature's isDead is false)[(set:$accomplishments to $accomplishments+(a:"You spared the life of the "+$cavecreature's description))](if:$oldwoman's hasBook)[(set:$accomplishments to $accomplishments+(a:"You gave the old woman something to read."))]Your final scores:
<table style="width:80%;border:1px solid white;padding:15px"><tr><td style="width:15%">STR</td><td>(print:$STR)</td><td style="width:15%">INT</td><td>(print:$INT)</td></tr><tr><td>DEX</td><td>(print:$DEX)</td><td>WIS</td><td>(print:$WIS)</td></tr><tr><td>CON</td><td>(print:$CON)</td><td>CHA</td><td>(print:$CHA)</td></tr></table>
Items Carried: (if: $inv's length > 0)[(print: $inv.join(", ")).](else:)[nothing]
Spells Learned: (if:$spellsknown's length>0)[(print:$spellsknown.join(", ")).](else:)[none]
Rooms Explored: (print:$visitedRooms's length)/(print:$caves's length)
Accomplishments: (if:$accomplishments's length>0)[<br> (print:$accomplishments.join("<br> "))](else:)[none]
[[Return|Ending]]You drop the pebble into the pit and listen to hear how long it takes to strike bottom, but there's no sound. You feel a pang of regret - a sadness that comes with parting. Where have you gone little pebble? Where are you going? You gaze into the dark abyss and feel it stare back.(set: $inv to $inv-(a:"a pebble"))(set: $pebble's isCarried to false)
(link-goto:"Continue",$currentRoom)(set:$isBuriedTreasureFound to true)(set:$isPileDugUp to true)(print:$foundtreasure's pickuptext)(set:$inv to $inv + (a:$foundtreasure's name))(set:$currentWeight to $currentWeight+$foundtreasure's weight)(set:$dirtpile to $dirtpile-(a:$foundtreasure))(if:$dirtpile's length is 0)[(set:$dirtpile to (a:$nothing))]
You decide to...
(if:$foundtreasure's isWearable)[(if:$foundtreasure's kind is "weapon")[...[[wield it|wear item]]](else:)[...[[put it on|wear item]]]](else:)[...[[fill up the hole]]]
...(link-goto:"resume your search of the room",$currentRoom)You begin filling up the hole with the dirt piled up next to it. You're not certain why you're doing this. Perhaps you've been conditioned to tidy things up. Or maybe, you, like Nature, abhor a vacuum. In any case, you spend a few minutes moving the earth around and covering the spot where you were digging. You're tired. You're still not certain where you are. But at least, there'll be one less hole to fall into.
(link-goto:"Continue",$currentRoom)(print:$foundtreasure's pickuptext)(set:$inv to $inv + (a:$foundtreasure's name))(set:$currentWeight to $currentWeight+$foundtreasure's weight)
You decide to...
(if:$foundtreasure's isWearable)[(if:$foundtreasure's kind is "weapon")[...[[wield it|wear item]]](else:)[...[[put it on|wear item]]]](else:)[...[[stare deep into its eyes]]](set:$cavecreature's isLooted to true)
...(link-goto:"resume your search of the room",$currentRoom)(display:"addWIS")You gaze deeply into the eyes of the dead creature, now dark and devoid of life. Now more like gigantic pools of nothingness. Holes in the cosmos where no light escapes. Or the hole inside you that no amount of gold or silver can fill. It seems like you have been staring for such a long time. You feel time slow down, as if wounded mortally. How each second limps along before collapsing. How each tiny speck of a dust is mirrored back to you in its eyes. As grand as ghosts. As terrifying as anything empty might be. A body. A chest. A cave. A home. Even your own name, which you no longer recall.
You are jolted back to the world at hand.
...(link-goto:"Continue",$currentRoom)(set:$foundtreasure to (either:...$puddletreasures))(if:$inv contains $foundtreasure's name)[(set:$foundtreasure to $pebble)]You close your hands around the unknown object, then pull it out of the puddle. You can see now that it is (print:$foundtreasure's name).(set:$isPuddleSearched to true)
You decide to...
...[[take it with you|take puddle item with you]]
...(link-goto:"return it to the puddle",$currentRoom)(print:$foundtreasure's pickuptext)(set:$inv to $inv + (a:$foundtreasure's name))(set:$currentWeight to $currentWeight+$foundtreasure's weight)
You decide to...
(if:$foundtreasure's isWearable)[(if:$foundtreasure's kind is "weapon")[...[[wield it|wear item]]](else:)[...[[put it on|wear item]]]](else:)[...[[gaze deeply into the puddle]]]
...(link-goto:"return to your search",$currentRoom)(display:"addWIS")You stare into the puddle. It's an oddly symetrical puddle, almost perfectly round. At once satisfying and disturbing. There have been so few things in your life this perfect, this complete. You attempt to see yourself in the dark reflective surface, but the water refuses to reveal your face. Only your eyes. Your eyes and the puddle. This endlessly repeating dialog. What one mirror says to another. What you say to yourself in a whisper. Hush now. Hush. The twin moons. How they set in unison when you blink. How the world is annihilated and brought back.
The puddle suddenly ripples and everything is gone. You are gone. You are back.
(link-goto:"Continue",$currentRoom)Your heart thumping against your ribcase, heart in your mouth, you flee as fast as you can into the darkness, hoping that the (print:$cavecreature's description) will not chase after you. You dare not look back.
(link-goto:"Continue",$nextRoom)(display:"addWIS")You place your ear against the dead creature's gaping wound. There's a low moaning sound coming from deep within. A rumbling sorrowful voice that is not a voice. Something older than words.
This extended final sigh. This exhaustion of suffering. What could it be saying?
You do not know, but recognize it now as a kind of shadow of beauty. Grief. Your grief. Regret. Your regret. And now, silence. Your silence. You were briefly not alone. Now, you are alone again.
(link-goto:"Continue",$currentRoom)You cast (text-style:"smear")[Speak with Dead]. At first, nothing happens, but then you hear an unearthly voice emanating from the corpse. It sounds like gravel and fire, a wind through a valley gutted by flames. Perhaps the darkest depths of the ocean.
(if:$WIS<15)[You are filled with terror. You cannot bring yourself to ask the question that burns within you. Or to beg for a secret that will set you free. What price would entail? What would the dead ask of you? Or what would you forever lose?](else:)[You bend your ear to the impossible and begin to ask a question, but think better of it. What do the dead know? And would they tell you the truth? The eerie voice rattles in your ear, almost intelligible - almost familiar. Where have you heard it before? That voice. That depth of loss. That unwavering sorrow that sharpens itself into a point or spreads itself now like a blanket over the darkness, over the stillness you are reluctant to name.]
(link-goto:"Continue",$currentRoom)Without any means of propelling yourself forward, you find yourself floundering a foot off the ground. You wait a few minutes, then notice yourself gradually descending back to the earth. Once your feet hit the ground, you let out an unexpected sigh of relief. Those childhood dreams of flying seem a lot less compelling.
(link-goto:"Continue",$currentRoom)(display:"addWIS")You realize that you have (print:$currentWeapon's name) in your hand. You use it to push off from a nearby wall and guide your floating body across (if:$currentRoom is "Cave with underground river")[the river](else:)[(if:$currentRoom is "Cave with large pit")[the open pit](else:)[the darkness of the cavern]] to the other side.
(link-goto:"Continue",$nextRoom)(set:$hasNewBook to false)(set:$hasJumpedIntoPit to true)You take a running start and prepare to throw yourself into the unknown depths, but at the last possible moment, you stop yourself. You're not certain why. Perhaps it's fear. Perhaps you've always been weak. But maybe, you think, maybe it's not that. Maybe there is something left for you to do here. Some small act. Bravery. Kindness. Curiosity. Whatever it is, something. The pit's wide maw seems to grow larger and larger, the darkness deeper and deeper, but you press yourself against the wall. You dig your fingers into the cracks and crannies, trying to hold on. The tremor in your soul passes. The shaking subsides.
You let yourself believe. You whisper a name you'd almost forgotten. You can't remember whose name it is, but it feels like a little fire. A little flower in the dark. Your hand glows briefly. You say the name again. The darkness retreats a little. You let go. You do what you have to do. You press on. (if:$spellsknown contains "Light")[You feel (text-style:"smear")[light] well up around you. For a moment, the darkness fades.(set:$lightsource to $spelllight)](else:)[(set:$hasLight to true)You have learned how to cast (text-style:"smear")[Light].(set: $spellsknown to $spellsknown+(a:"Light"))(set:$lightsource to $spelllight)]
(if:$inv contains "an unknown book")[(set:$foundtreasure to (either:...$books))(set:$inv to $inv-(a:"an unknown book"))(set:$inv to $inv+(a:$foundtreasure's name))(set:$hasNewBook to true) You realize that the unknown book is actually (print:$foundtreasure's name).]
(if:$hasNewBook)[(if:$foundtreasure's name is "a spellbook")[(link-goto:"Study the spellbook","study the spellbook")](else:)[(link-goto:"Study the book","study the book")]](else:)[(link-goto:"Continue",$currentRoom)]You channel all your fear and hubris into a ball of dark fire in your mind, then redirect it to your arms. Something crackles and roars as you wave your hands wildly, your bold gestures merging with the strange words and syllables you scream at the (print:$cavecreature's description).
You have no idea what you're doing. When you bring your hands together and with one final effort thrust them out toward it, nothing shoots forth. No great gout of flame. No terrifying blast of eldritch energy. No bolt of lightning. Nothing.
Your heart sinks as your face reddens. It is hard to meet the gaze of the creature. It stares back at you confused, unharmed, its eyes filled with deep worry.
(link-goto:"Continue",$currentRoom)
<br><h4>STR (print:$STR) DEX (print:$DEX) CON (print:$CON) INT (print:$INT) WIS (print:$WIS) CHA (print:$CHA) | (print:$totalpoints)/27
OLD
(if:$isPileDugUp)[(if:$totalpoints is 0)[(set:$isCharacterComplete to true)]You search through the pile of dirt and find nothing of interest.](else:)[(set: $treasure to (either:...$corpsetreasures))(if:$treasure is "weapon")[(set:$foundtreasure to (either:...$weapons))](if:$treasure is "armor")[(set:$foundtreasure to (either:...$armor))](if:$treasure is "hat")[(set:$foundtreasure to (either:...$hats))](if:$treasure is "book")[(set:$foundtreasure to (either:...$books))](if:$treasure is "belt")[(set:$foundtreasure to (either:...$belts))](if:$inv contains $foundtreasure's name)[(set:$foundtreasure to $pebble)](if:$totalpoints is 0)[(set:$isCharacterComplete to true)]You search through the pile of dirt and find (print:$foundtreasure's name).]
NEW
(if:$isPileDugUp)[(if:$totalpoints is 0)[(set:$isCharacterComplete to true)]You search through the pile of dirt and find nothing of interest.](else:)[(set: $treasure to (either:...$corpsetreasures))(if:$treasure is "weapon")[(set:$foundtreasure to (either:...$weapons))](if:$treasure is "armor")[(set:$foundtreasure to (either:...$armor))](if:$treasure is "hat")[(set:$foundtreasure to (either:...$hats))](if:$treasure is "book")[(set:$foundtreasure to (either:...$books))](if:$treasure is "belt")[(set:$foundtreasure to (either:...$belts))](if:$inv contains $foundtreasure's name)[(set:$foundtreasure to $pebble)](if:$totalpoints is 0)[(set:$isCharacterComplete to true)]You search through the pile of dirt and find (print:$foundtreasure's name).]
You search through the pile of dirt and find (set:$foundtreasure to (either:...$dirtpile))(print:$foundtreasure's name).
(print:$visitedRooms.join("<br>"))
(else:)[You rage and storm, fire shoots from your eyes and sets the creature aflame. Well, not really. But you do scare it back.]]](else:)[You attempt to sound ferocious, but somehow come across a cute and cuddly, filled with tasty organs that the creature might enjoy feasting on. This attempt could not have ended more badly. It is not impressed. Or scared. Or even annoyed. It ignores you. This is perhaps the worst thing you've felt all day.(set:$plantableseed to "nothing")(if:$inv's length>0)[(set:$plantable to $nothing)(set:$potentialseeds to (find:_itm where _itm is "a silver coin" or _itm is "a pebble" or _itm is "a glass eye" or _itm is "a rat skull" or _itm is "some ashes",...$inv))(if: $potentialseeds's length>0)[(set:$plantableseed to (either:...$potentialseeds))(if:$plantableseed is "a silver coin")[(set:$plantable to $silvercoin)](if:$plantableseed is "a pebble")[(set:$plantable to $pebble)](if:$plantableseed is "a glass eye")[(set:$plantable to $glasseye)](if:$plantableseed is "a rat skull")[(set:$plantable to $ratskull)](if:$plantableseed is "some ashes")[(set:$plantable to $ashes)]You dig a small hole in the dirt just deep enough to plant something.](else:)[You dig a small hole in the pile of dirt, but can't seem to find anything to bury there. It feels wrong to leave it unfinished. You bend down close to the earth and place your hand over it. The dirt is colder than you expect, and yet as you cover the void, you sense a little warmth passing from you to the ground. There's a chill in your heart. You press your lips to the freezing soil and speak a secret you had all but forgotten from your youth. And then, you stand, brush off the dirt, and pretend that it never happened.]](else:)[(set:$plantable to $nothing)You dig a small hole in the pile of dirt, but can't seem to find anything to bury there. It feels wrong to leave it unfinished. You bend down close to the earth and place your hand over it. The dirt is colder than you expect, and yet as you cover the void, you sense a little warmth passing from you to the ground. There's a chill in your heart. You press your lips to the freezing soil and speak a secret you had all but forgotten from your youth. And then, you stand, brush off the dirt, and pretend that it never happened.]
(if:$plantable's name is "nothing")[(set:$hasSeed to false)A cold wind begins to blow, but you can't tell from where.](else:)[(set:$hasSeed to true)You reach into your pocket searching for something small. When you pull it out, you are holding (print:$plantable's name).]
You decide to...
(if:$hasSeed)[...[[plant it|plant something]]](else:)[...(link-goto:"leave the hole alone",$currentRoom)]
(if:$hasSeed)[...(link-goto:"return",$currentRoom)](print: $plantable's planttext)(if:$plantable's name is "a pebble")[(set: $inv to $inv-(a:"a pebble"))(set: $pebble's isCarried to false)](if:$plantable's name is "a silver coin")[(set: $inv to $inv-(a:"a silver coin"))(set: $silvercoin's isCarried to false)](if:$plantable's name is "a rat skull")[(set: $inv to $inv-(a:"a rat skull"))(set: $ratskull's isCarried to false)](if:$plantable's name is "a glass eye")[(set: $inv to $inv-(a:"a glass eye"))(set: $glasseye's isCarried to false)](if:$plantable's name is "some ashes")[(set: $inv to $inv-(a:"some ashes"))(set: $ashes's isCarried to false)]
(link-goto:"Continue",$currentRoom)(set:$hasSpokenToFigure to true)You yell out "Ahoy!" hoping to catch the figure's attention(if:$oldwoman's isPetrified)[, then remember she has turned to stone.](else:)[(display:"addCHA"). As soon as the word leaves your mouth, you instantly regret it. Who are you? Some wannabe sailor? A pirate? Might as well have yelled, "Shiver me timbers." You were never good at small talk. Or big talk. Or any sort of talking to be honest. Much better to press yourself into a wall and disappear. Come to think of it, just watching others talk was already exhausting enough. You feel the full weight of weariness and dread sweep over you.
(if:$CHA<13)[The figure doesn't move.](else:)[You watch as the figure slowly turns toward you. At least you think so, but it's hard to tell with the shadows.]
(if:$CHA<13)[Great. Perhaps they didn't hear you. Or perhaps, they don't want to talk to you.](else:)[You can barely hear their voice.]]
You decide to...
[...[[move closer and try again|talk to the figure]]]
...(link-goto:"slip away before they notice",$nextRoom)(if:$oldwoman's isPetrified)[You call out to her, then remember that the old woman (if:$oldwoman's isShattered)[is no more than a broken statue now, destroyed by your hand.](else:)[has turned to stone.]](else:)[(display:"addCHA")(set:$hasSpokenToFigure to true)The figure turns toward you. Though shadowed, you can barely make out the deeply wrinkled face of an elderly woman with startling green eyes. Her voice is low and dry, as if she has not spoken in a long time.
You can't make out her name, but you see her gesture to her legs. You glance down and see that her feet have melded to the cavern floor. All about her are strewn old books. She looks up at you. You can sense a desperation in her eyes.]
You decide to...
(if:$oldwoman's isPetrified)[(if:$oldwoman's isShattered)[...[[search through the stone fragments]]](else:)[...[[smash her into pieces]]]](else:)[...[[break her free|attempt to free the old woman]]]
(if:$oldwoman's isPetrified)[...[[leave her alone|Cave with dripping water]]](else:)[...[[attack her|attack the figure]]]
(if:$oldwoman's isPetrified)[](else:)[...[[offer to help|offer to help the figure]]
...[[leave her alone|Cave with dripping water]]](set:$hasSpokenToFigure to true)You chicken out at the last second and can't bring yourself to break silence. Is it the fear of rejection? Or is it something else? Fear that someone might actually answer? Fear that this nightmare of being lost in perpetual darkness is not a dream, but a reality? Your stomach churns and your throat feels parched.
You decide to...
...[[sneak away|sneak by undetected]]
...[[attack the figure]](set:$hasSpokenToFigure to true)You ask the old woman if you can be of assistance.
She looks you in the eye as if peering into your soul.
"Something new to read would be nice. I'm not going anywhere and reading is the only solace I have."
You feel an unexpected closeness to her. You've always loved books. The weight of them. The smell of their pages. The secrets they carry locked away in the cipher of language. Stories within stories. An endless spiral unwinding sound into a labyrinth. The mind the only candle. The darkness everywhere, but here.
You decide to...
...[[give her one of your books]]
...[[promise to bring her something to read]]
...[[leave her alone|Cave with dripping water]](display:"addSTR")Overwhelmed with fear, you leap toward the figure in the shadows and attack it. (print:$currentWeapon's hittext) To your shock, you see that the figure is that of an old woman, her feet melded into the cavern floor. Her face is filled with fear and pain as she cries out, clutching her shoulder, blood everywhere.
You decide to...
[...[[beg forgiveness|apologize to the figure]]]
[...[[run away|run from figure]]](set:$oldwoman's isPetrified to true)You run in terror, fleeing into the dark passages (if:$DEX>13)[as silently as you can ]hoping to escape the violence you committed, but the memory of it follows you. You can't shake it. Can't forgive yourself. And can't forget her face. What have you become?
(link-goto:"Continue",$nextRoom)(display:"addWIS")(set:$oldwoman's isPetrified to true)Horrified by your actions and the pain you've caused her, you begin apologizing. However, your words fall on deaf ears. You see that something strange is happening. Her blood has begun to conceal and turn grey. Her face looks ashen and still. She has turned to stone.
You decide to...
...[[search through her books]]
...[[leave her alone|Cave with dripping water]]You exert all your strength, but nothing happens. You cannot free her from the grasp of the stone. Her legs are already a part of this place.
[[Continue|Cave with dripping water]]You search through the books scattered around the old woman. Many of them appear well-read, their pages worn thin, and the ink almost completely faded. A thick layer of dust covers most of them. You find (set:$foundtreasure to (either:...$books))(print:$foundtreasure's name).
You decide to...
...[[take the book]]
...(link-goto:"leave it behind",$currentRoom)(set:$foundtreasure to (either:...$stonetreasures))(if:$inv contains $foundtreasure's name)[(set:$foundtreasure to $nothing)]You sift through the fragments of stone that once were the old woman. You find (print:$foundtreasure's name).
You decide to...
(if:$foundtreasure's name is "nothing")[...[[stop searching|Cave with dripping water]]](else:)[...[[take the (print:$foundtreasure's name)|take item from fragments]]]
(if:$foundtreasure's name is "nothing")[](else:)[...[[leave it behind|Cave with dripping water]]]Confronted by the physical reality of what you've done, you (if:$currentWeapon's name is "fist")[ pummel the petrified woman with your fists. All that rage and regret piled on this stone figure. Your hands are covered in blood. Your blood. The statue does not shatter.](else:)[ seize your weapon and strike at the old woman's stony form, causing her to break. Several large fragments of stone fall to the ground.(set:$oldwoman's isShattered to true)]
You decide to...
...[[search through the stone fragments]]
...[[leave her alone|Cave with dripping water]](set:$isOldWomanLooted to true)(set: $inv to $inv + (a:$foundtreasure's name))(set:$foundtreasure's isCarried to true)(set:$currentWeight to $currentWeight+$foundtreasure's weight)(print:$foundtreasure's pickuptext)
You decide to...
[...[[examine it more closely]]](set:$giftbook to "nothing")(set:$bookstack to (find:_itm where _itm is "a mystery novel" or _itm is "a romance novel" or _itm is "a book of poetry",...$inv))(if: $bookstack's length>0)[(set:$giftbook to (either:...$bookstack))You search your things and find (print:$giftbook). You decide to give it to her.(set:$inv to $inv-(a:$giftbook))(display:"addCHA") She thanks you for your gift. Her eyes seem less cold, less fearful. Perhaps you've done something good here.(set:$oldwoman's hasBook to true)](else:)[You search through your things, (if:$inv contains "a historical text")[but only find a history book. She waves it away.](else:)[(if:$inv contains "an unknown book")[but only find an unknown book. She waves it away and mutters something about an unexamined book being a book not worth reading.](else:)[but can't find any worthwhile reading material.] You feel awful about promising something you don't have. The old woman sighs, then closes her eyes.]]
[[Continue|Cave with dripping water]]You promise the old woman that you'll return with something she can read. You aren't certain if you can fulfill that promise though. Nothing is ever certain. And you've failed so many times in the past. At least, that's how it feels some days. What is a promise, anyway? A wish? An aspiration? A bond? The thin tendrils of language and regret wind their way about you as the words leave your mouth. You can feel yourself being drawn into a complex web. A book. You think perhaps it might be possible, even as you consider all the other things you should be seeking.
[[Continue|Cave with dripping water]](display:"addWIS")You cast (text-style:"smear")[Mend] on the broken rubble that once was the old woman. Magical energy surges from your hand, drawing itself from deep within you. You feel desperation grow within you as the raw and dark power lifts and moves the debris. The bits of shattered stone begin to reassemble into her original form. (set:$oldwoman's isShattered to false)(if:$accomplishments contain "You restored the old woman to her complete petrified form.")[](else:)[(set:$accomplishments to $accomplishments+(a:"You restored the old woman to her complete petrified form."))]
When it is done, you see before you the old woman as before, except this time still stone. Still devoid of the life you took from her. A mere shape. A shadow made tangible, yet forever empty. Her eyes still turned upward, forever caught in that final moment when you struck her down.
You can't fix this.
[[Continue|Cave with dripping water]](set:$totalpoints to 27)(set:$usedpoints to $STR-8)(if:$STR>12)[(set:$usedpoints to $usedpoints+$STR-13)](set:$totalpoints to $totalpoints-$usedpoints)(set:$usedpoints to $DEX-8)(if:$DEX>12)[(set:$usedpoints to $usedpoints+$DEX-13)](set:$totalpoints to $totalpoints-$usedpoints)(set:$usedpoints to $CON-8)(if:$CON>12)[(set:$usedpoints to $usedpoints+$CON-13)](set:$totalpoints to $totalpoints-$usedpoints)(set:$usedpoints to $INT-8)(if:$INT>12)[(set:$usedpoints to $usedpoints+$INT-13)](set:$totalpoints to $totalpoints-$usedpoints)(set:$usedpoints to $WIS-8)(if:$WIS>12)[(set:$usedpoints to $usedpoints+$WIS-13)](set:$totalpoints to $totalpoints-$usedpoints)(set:$usedpoints to $CHA-8)(if:$CHA>12)[(set:$usedpoints to $usedpoints+$CHA-13)](set:$totalpoints to $totalpoints-$usedpoints)(if:$totalpoints is 0)[(set:$isCharacterComplete to true)(set:$nextRoom to "Ending")](if:$totalpoints>0)[(if:$STR<15)[(if:$STR<12)[(set:$STR to $STR+1)](else:)[(if:$totalpoints>1)[(set:$STR to $STR+1)]]]](if:$totalpoints>0)[(if:$CON<15)[(if:$CON<12)[(set:$CON to $CON+1)](else:)[(if:$totalpoints>1)[(set:$CON to $CON+1)]]]](if:$totalpoints>0)[(if:$DEX<15)[(if:$DEX<12)[(set:$DEX to $DEX+1)](else:)[(if:$totalpoints>1)[(set:$DEX to $DEX+1)]]]](if:$totalpoints>0)[(if:$INT<15)[(if:$INT<12)[(set:$INT to $INT+1)](else:)[(if:$totalpoints>1)[(set:$INT to $INT+1)]]]](if:$totalpoints>0)[(if:$WIS<15)[(if:$WIS<12)[(set:$WIS to $WIS+1)](else:)[(if:$totalpoints>1)[(set:$WIS to $WIS+1)]]]](if:$totalpoints>0)[(if:$CHA<15)[(if:$CHA<12)[(set:$CHA to $CHA+1)](else:)[(if:$totalpoints>1)[(set:$CHA to $CHA+1)]]]]You run toward the void and once more try to leap into the pit. This time, however, your self-destructive tendencies win. As you sail into the nothingness, you wonder if it was worth it?
You find yourself plummeting into an impossibly thick darkness. Impenetrable. Almost tangible. Your hand disappears. Then your arm. Then all sound.
[[Continue|Start]](display:"GameSetup")
(go-to:"Start")TO BE IMPLEMENTED
ROOMS
Rooms that evolve with repeated actions (maybe rooms replace other rooms?)
More cave graffiti locations
Breakable containers (inside a statue, a barrel, etc)
11. Cave with a Statue/Pedestal/Altar
12. Cave with a rickety bridge
13. Cave with a door
14. Cave with many many creatures (swarm)
15. Cave with plants / mushrooms
16. Cave with trash heap / lots of treasure
17. Cave with a strange machine
18. Cave with a view of the sky
19. Cave with red mud
20. Cave with hotspring
CREATURES
Ghost? (more functionality) How else does the ghost interfere or haunt?
ITEMS
Musical instruments
Gold ring makes you hungry - what happens? does it consume things?
Books to be given to the creature
Books might contain a bookmark
Spellbooks disintegrate after being studied.
Long stick can break
Armor can break.
Weapons can break.
Broken items to be Mended: broken stick
More ways to use/drop items
Benefits/uses for stylish clothes (hats)
ABILITIES
More CON opportunities (Poison, Hits by Monster)
Some options only available if you have a high enough stat