<<set $deaths = 0>>You go to sleep, and when you wake, things are [[different]].\n\nskip to: [[turn|turn]]
That's not how it starts, though. You've been thinking, on and off, about [[growing up]]. You've gotten to the age where you can reminisce about your childhood without dwelling on how miserable it was at the time.\n\nNothing life-shaking or important, just that you've been wondering what your childhood friends grew up to be like.
You grew up in a small town, not that far from the big city you live now. This is the midwest; "small" and "big" are pretty relative. But you've been thinking about one of your friends.\n\nOne of your first memories -- you've done the math, and this must've happened when you were six or seven -- is of sitting back in the grassy margin of some alleyway, back against the siding of someone else's garage. Your friend is sitting next to you, and from the garage, above you, there's the long warbling of an old record player, something classical. It [[skips and warps]], tempo uneven.
For the longest time that's how you thought classical music was supposed to sound: uneven, warbling, with slurring starts and stops at the end of the old records. It wasn't until you were thirteen or so when you learned otherwise. You'd been wondering why none of the other classical music you heard had those particular accents, the uneven rhythm you were so used to, and you just hadn't thought about it, until one day it just... clicked.\n\nThat was just how childhood was: you didn't have any room to compare, so whatever you [[first experienced]] was normal, usual, and that understanding lasted long after, protected in a bubble of childhood naivety.
Hence the wonder about your childhood friends. Maybe you'd recognize something of your old friends in them, now? But there was the one, the kid who'd been your closest friend that whole time, but you couldn't remember his //name//. It was something biblical, you thought. Adam, or Jonah, or [[something like that]].\n\nYou were close friends; you remember throwing a huge tantrum when you started going to school and you learned he was gonna be home-schooled. If he wasn't going to school you didn't see any reason in going either, you remember telling your parents, only then you actually used his name, so the memory is broken, splintered at the part where you can't remember your line.
His name's been on the tip of your tongue for days. It itches in your brain during the drive to work or late at night, in the idle moments. He was home-schooled because he lived at the orphanage, and they had something like Sunday school for the kids. You always wanted him to sleep over at your house, but the sisters didn't like kids that young staying away at night, and they didn't want //you// staying over as another mouth to feed, either, so your friend [[snuck you in]] once after-hours, and then woke you up in the early morning before anyone else.
That was kind of how it went, you and him working against everyone else, until later -- a year before your parents moved, so you must've been eleven or twelve -- you two just kind of... went separate ways. You didn't see him around much anymore, and then just after the end of the sixth grade your parents moved, and that was that. You never saw him again.\n\nAnd now it's [[itching in your brain]]. He's probably on facebook; everyone is on facebook. You could look him up. You probably don't have a single thing in common any more, but it'd be nice to see what he's up to.
There's nothing that precipitates it. Just something finally connects, some almost-lost memory bursts back to life with no rhyme or reason to it. It's like a line of dominoes: one thing leads to another, and you keep going, pulling old memories to the surface.\n\nHis name was Samuel. [[Samuel Walker]], though you just called him <<timedinsert 3s>><<class "below inside">>Sam<<endclass>><<endtimedinsert>>Sam. He told you once that that wasn't his mom's last name; the pastor of the convent -- Mr. Walker -- had legally adopted him. Which, in retrospect, was kind of weird, both the mention of his mom and that the orphanage guy had apparently adopted him.
The dominoes keep falling, clack clack clack, and your thoughts turn to your secret sleepovers, Sam cracking open a window so you could shimmy into the basement hall. You still knew the paths you took from there; you snuck in a //lot//.\n\nDown the main hall; through the big shiny industrial kitchen; to the drab staff-only hallway behind that; and then the stairwell going down, into the concrete bunker like a fallout shelter beneath the church.\n\nAnd then down from there, a metal spiral staircase where each step clattered and shook, resonating up and down with distorted echoes -- a big novelty when you were nine or ten -- with the concrete walls that turned to hewn stone, and then opened into some vast cavern space, the bottom like a sky full of stars, points of light from dim lanterns scattered all across the floor, in ragged bunches and patterns.\n\n[[Sam]] had a pallet down there, and you slept curled up next to him. There were no other kids.
<<class "below">>can't be right<<endclass>>\nWhen you fall asleep that night, you wake up to a world where things are [[different|different_]].<<class "below">>must be misremembering<<endclass>>
It feels like a bad dream. Or like a headache. There's a dizzy ringing in the back of your head, the throbbing ache of a headache starting up. Your alarm doesn't go off -- numbers blinking 12:00 -- but the light from your shuttered windows tells you you've overslept. You stumble out of bed, get dressed, grab your jacket and bag and run [[out of the building]].
It's night out. It's dark and cold.\n\n<<timedinsert 3s>>Your breath steams in the air.<<endtimedinsert>><<timedinsert 4s>> <<class "below">>(It's midsummer.)<<endclass>><<endtimedinsert>>\n\n<<timedinsert 7s>>You follow the wisps up, into the night sky.<<endtimedinsert>>\n\n<<timedinsert 11s>>It looks like the top of the neighboring building is on fire, smoky red-orange light hanging above it.<<endtimedinsert>>\n\n<<timedinsert 15s>>You step out from under the building awning, and your [[perspective shifts]].<<endtimedinsert>>
It's not on the building. It's on the sky:<<timedinsert 2s>> a razor-sharp crack through the sky, cut edges bleeding fiery light. That was the light in your window.<<endtimedinsert>>\n\n<<timedinsert 6s>><<class "below">>What time is it?<<endclass>><<endtimedinsert>>\n\n<<timedinsert 9s>>You fish your phone out from your pocket: it's turned off.<<endtimedinsert>><<timedinsert 12s>> It doesn't turn on.<<endtimedinsert>>\n\n<<timedinsert 16s>><<class "below">>This is all just a [[bad dream]].<<endclass>><<endtimedinsert>>
<<set $respawn = "outside apt">>You think about going upstairs, back to bed. This seems real, but in the dream it always does. You'll wake up and this will all be washed-out, hazy and unreal, but in the dream it always seems real. You can't think clearly right now.\n\nThere's usually graffiti on the side of the concrete steps down from the entryway. Someone sprayed a complex figure there, geometrical, all interlocking spines. The paint is glowing <span class="sun">[[ember red]]</span>.\n\n<<timedinsert 4s>>You've been having <<timedinsert 1s>><<class "below inside">>strange dreams<<endclass>><<endtimedinsert>>[[strange dreams]] lately.<<endtimedinsert>>
<span class="sun">You reach for it, fingers trailing over the rough concrete. The glow burns higher, the red the exact same hue as the burning sky, and your headache bursts into a sharp pain for a second, before dying down to a slow throb. Like your heartbeat.\n\n[[You step back.|bad dream]]</span>
The city is dead silent, not even the distant bustle of cars on the freeway. You start walking. There are cars parked on the streets, but less than usual; the streets are completely deserted.\n\nYou get a better view of the sky: the crack in the sky is joined by others. They peek through between buildings, lower on the horizon, blocked by buildings and trees, and some impulse has you heading towards the freeway.\n\nThere's a pedestrian bridge over the freeway, -- completely devoid of cars -- and it's not until you're halfway up the stairs that you see the [[full picture]].
At the horizon, the sky is on fire. Smoky red light comes from all directions, like five suns are about to dawn. It spreads upwards. There's a zig-zagging web of overlapping cuts, thinner and finer the higher they go, almost a delicate web a quarter of the way up. The first crack you noticed was just the //highest//.\n\n<<timedinsert 5s>>You hear [[footsteps]] below.<<endtimedinsert>>
You look down. There's a kid running down the highway. Young, dark-haired, pale-skinned. "Hey!" you shout, and the kid glances over his shoulder at you but keeps running. The way down to the highway from here is complex: down the steps, half a block up to where the noise barriers break near an on ramp. You [[run]] there.
You round the corner, at a dead run.\n\nThe kid isn't there. <<timedinsert 2s>>Something else is.<<gains>>\n\nA black shape pools down the highway, streaking over the pavement like a shadow cast from something high above. <<gains>>You look up. There's nothing you can see.\n\n<<gains>>When you look down, the shape is looking [[back at you]].<<endtimedinsert>>
Its eyes are burning red, completely without iris or pupil: miniature suns, brilliantly bright.\n\nIts teeth are similar. Large and sharp, mouth hanging open, slavering black drool.\n\nIt makes absolutely no noise as it turns towards you. It's a -- "a goat" would be incorrect, but it's more like a goat than it's not. Six legs, all ending in hooves of the same boiling red, leaving burning hoofprints behind it. The rest of its body -- its fur -- is a solid black, completely matte, without any reflection at all. You can only see it in silhouette. It has a goat head. It has two immense horns, ember red, in a sweeping curve forward that ends with their razor-sharp points directly ahead of it. It's gigantic.\n\nIt charges at you. You stumble and fall, trying to change direction on a dime, and by the time your shoes catch on the pebbled asphalt you can swear you feel its breath at your heels.\n\nYou [[run|run_]].
You run. You run.\n\nIt makes no noise; when you look behind you to see if it's following you -- if it really //exists// -- it's almost directly behind you, eyes burning, staring straight at you, hooves hitting the pavement with no sound.\n\nThere's a flash of motion down alleyway to your left, pale skin and dark hair.\n\n<ul id="NAV">\\n<li class="left">[[↰|left]]</li>\\n<li class="forward">[[↑|straight]]</li>\\n<li class="right">[[↱|right]]</li>\\n</ul>
The street is long. Halfway down the block you stumble, toes catching on a rock. That's enough: the thing is on you. Teeth cut into you, burning hot. Your blood boils.\n\n<<set $deaths += 1>><span class="sun">[[You die.|respawn]]</span>
The alleyway is narrow. The backs of buildings nad chain link fences blur past you. Narrower and narrower, until it ends in a chain link fence. You leap onto it, but the thing pounces, sending you sprawling on top of the wreckage of the fence. Black ichor drips down onto you: boiling hot. Its teeth are hotter. Your blood boils.\n\n<<set $deaths += 1>><span class="sun">[[You die.|respawn]]</span>
<span class="sun"><<if $respawn == "outside apt">>\\nYour hand halts, an inch from the concrete. The glowing paint throbs in time with your hammering heart, fast and hard. Your vision is hazing at the edges, blood rushing to your head; you find yourself leaning against the concrete, hands splayed over the center of the sigil, waiting for the rush to fade.\n\nYou're outside your apartment building. That makes sense. You just stepped outside, after all.\n\n[[You step back.|bad dream]]<<endif>></span>
Your dash down the alleyway, almost slipping and falling again. The creature follows almost instantly. A back gate swings open with a creak, and you run through it. The creature vaults over it silently, but by the time it lands you've run up the back steps and kicked straight through the door. It swings inward and you topple over, into the house, leg jammed to the ankle through the door.\n\nThe creature walks up to you, immense eyes staring down at you.\n\nIts shoulders are too big to fit through the door. Its head almost fills the doorway. Its horns drift back and forth, a hair away from your leg.\n\nYou kick your way out and scramble further inside, just staring back at it. It doesn't move, just stares, eyes unblinkingly fixed on you, mouth open, slavering drool dripping in black streamers to the ground.\n\nIt's a long, long moment before you look [[away]].
The house is dark inside, the only light from the cheap amber streetlight, coming in through the window, and the lamplight eyes of the goat-thing's head, the same exact shade. Open doorways are black holes in the walls.\n\nThe goat-thing doesn't move when you look at it, but each time you look back its head is angled differently. It doesn't seem real. Like an inert piece of furniture, just sitting there.\n\nThere are [[doorways]] deeper into the house. There's no sound except for your footsteps, not even from the goat-thing.
You've always been afraid of doorways.\n\nYou step further into the house. Floorboards creak under your feet. The first doorway opens into darkness, no matter the angle: no windows, no light. You look away, to the right -- at the goat thing's head, burning eyes still fixed on you. It's pitch black, even in the light from outside. Close its eyes, hide its claws, and it's just darkness.\n\nYou turn back to the doorway to see two patches of brilliant light, circular blobs. Eyes, staring back at you -- you jerk back, tripping over your own feet. The eyes shift; there's no depth in the darkness, no clue if it's -- the thing they belong to -- across the room or [[right behind the door]], a foot away.
You scramble to your feet, and more eyes open, pair after pair, until it seems like the doorway is a shroud, painted over with eyes, shifting and occluding each other.\n\nA black-furred hand reaches across the doorway, cutting through the white bar of the frame, and you run.\n\nThere's a shift, a creak ringing through the house like a gunshot. A door swings open -- stairs, down. The [[basement]]. Light spills out, indirect.
You close your eyes on the way there, fumbling across the table, feeling the other doorways you pass, until your fingers close on the doorknob. The thought of -- of stumbling right into something, some monster, that's less terrifying than constantly looking for one, glancing through one of those dark doorways and seeing what's stepping out. None of this seems real. Like a bad dream: closing your eyes makes it stop happening.\n\nYou stumble down the [[steps]]. You don't look behind you.
The basement is a square room, lit by a single bulb, hanging on a wire in the center of the room. The floor is dirt, the walls cement. The room is stacked with boxes, in piles and heaps; there are shelves filled with cluttered piles. The light is sharp-edged. There are swaths of darkness in the corners, under shelves, above the low beams of the ceiling. There's a door, closed, to a further room.\n\nThere's a kid sitting on the floor, head buried in his arms. He's crying, you think.\n\nYou keep looking at the stairs up, waiting to see -- something. Something crawling down the stairs, silently. There's nothing.\n\nYour [[voice]] is loud when you speak, and the kid flinches.
You kneel next to him, speaking softer: "Hey, kid, are you okay?"\n\nHe shakes his head; full-body, like an animal. He sobs, a high choked sound that cuts off in a rising whine.\n\n"It's gonna be okay," you say, not sure why. It seems the thing to say. "I won't let [[those things]]--" you start, but the kid lets out a sharper sob and bolts. You jerk to your feet, head hitting the bulb and sending it swinging wildly. The kid runs to the door and throws it wide, dashing through it into a dark concrete hall, like a drainway.
In the swaying light: the shadows cut back and forth, and illuminated for flashes inside them are human forms. Lying under shelves, standing against the wall, packed curled up in every patch of shadow. Goat heads, spiky black fur. Eyes closed, claws tucked against their arms. Waiting, or sleeping, or dead. You don't [[wait]] for them to wake.
You run after the kid, into the dark corridor. Eyes closed, trusting the ground won't open up under you.<<timedinsert 4s>>\n\nIt only hits you minutes in that you'll have to open your eyes some time: acknowledge you're in utter darkness, strange things crawling around you. You imagine bodies swarming around you, stepping back as you reach out, always an inch away, and squeeze your eyes shut harder.<<gains>>\n\nThe [[gunshot]] opens your eyes.<<endtimedinsert>>
The sound is deafening. Its echoes ripple back from behind, like a roar from the dark. Your ears ring so loud you can't hear anything else.\n\nThere's a light splotch up again: dark, but not utterly. You don't know if you actually want to go ahead, but you do anyway.\n\nThe light resolves as you approach: a rough chamber, with light from above, and a black figure [[thrashing and shuddering]] in the center.
The hallway opens into a small, circular chamber, with high, narrow doorways opening into darkness on all sides. The light streams down from above: the smoky reddish light of the strange sky. There's a thin metal ladder in the center of the room, up to something that looks like an open manhole.\n\nThere's a splash of black on the floor, just before the ladder. A few steps more and the shape resolves into a humanoid thing: black fur, goat head, burning hooves and horns. It's bleeding -- you think. It's moving, its thrashing dying with it. One clawed hand is clapped to its side, and smoky orange light pours between its fingers. Ichor gushes between its fingers in bubbles. You can't hear anything over the ringing in your ears, but you know somehow that nothing it does makes any sound.\n\nYou think about walking closer. You think about -- standing and watching it die. You think about it dragging itself to its feet and lunging when you get close. You've been walking slow and measured, and by the time you're close time has made your decision for you. The thing spasms one last time and goes still.\n\nYou walk [[closer]].
There are scars in the concrete beside it, where it was scraping. It's bigger than you, long-limbed and lanky. It's dead. Its eyes are open, fire in them still burning in death.\n\nIt's hard thinking of it -- of all of them -- as threatening. //Terrifying//, absolutely, but ever since you woke up everything's felt unreal. Physical danger is something for the waking world, and this isn't it. It could kill you, maybe, even in death, but it's hard to shake the feeling that you'd just wake in your bed.\n\nYou step over its corpse and climb up. You still close your eyes on the way up. The rungs ring with every step, barely audible now. Don't want to look down and see something staring up at you -- don't want to look down at the thing's dead eyes. Don't want to catch movement in the corner of your eyes, seeing things collect at the bottom of the ladder.\n\nYou feel the ladder's end, the surface above cold asphalt. You scramble up, sure you felt a cold touch on your foot, a claw just-barely scraping the sole of your shoe.\n\nThe night is dark, but [[brighter]] now.
The air is hazy. Fine black soot snows down, and in the sky the impossible cuts through the sky look closer: fine cracks have opened wide enough to see through, into a realm that's simply flat, boiling light. It smells like something's burning; smoke rolling through the air.\n\nYou're in a fenced parking lot, devoid of cars. There's some municipal building in front of you, but -- someone runs down the street, passing by the opening in the fence without stopping. It's the same kid you saw before: young, dark hair, pale skin.\n\n"Hey!" you yell, again, and like before the kid doesn't even look your way.\n\nYou run after him, [[again]].
The street is empty. There are skeletonized wrecks, rarely: cars that look like they were flattened and then left in the sun for decades, little more than red rust and glass pebbles.\n\nThe kid twists a turn, and you follow, skidding to a stop when you take in the scene. Again: the kid is gone, and instead there's a black //thing//.\n\nBut this time, there's [[someone else]], too:
In bright clothes, adult, and holding a gun. He's aiming it at the thing -- and this isn't the thing you saw before. It looks like... it looks like a giant, or an enormous shadow walking on its own. There's a flatter shadow around it, like a scuffed black coat, that reaches all the way to its feet. Its head is a whipping plume of dark fire. Shadow pours like heavy smoke from the arms; from under the hem.\n\nThe man isn't looking at you; neither is the thing. They're laid out like a tableau before you. The crack of the man's gun is loud in the night, and you only see the impacts: red-orange dots appearing in an instant in the giant's coat, fuming and spitting fire.\n\nThe giant strides forward, fast, and its coat opens. The man shudders back and turns to run, and in an instant a swarm of arms reach out from inside, all stretched and shattered. They grab him and drag him back. He's screaming, and when he passes the horizon of the coat his screams fade fast: like he's sinking, or falling, or simply having the breath squeezed out of him.\n\nThe giant turns toward you, and more than the threat you stare into the opening inside. It looks like a night sky, just after dusk: purple tinging into black, with things that could be clouds or nebulae as splotches of orange and pink, all shot through with glittering stars. That's the substance of it.\n\nThe shape is hands and legs and heads, human and animal, hooves and claws and wings, all reaching for you. A goat heat opens wide and its tongue lolls out as an octopus tentacle, twining around a clawed hand that reaches past the lip of the coat. Dozens of things strain out, and it more drawn by their movement than by its own volition the giant steps closer.\n\nYou [[turn|turn]] and run--
--but the kid is suddenly right next to you. He pulls you to the side, into the dark alcove of a doorway. You sink into hazy darkness, pulled along by the kid's hand, and emerge [[elsewhere]].<<set $dir = 0>><<initMap>>
Another alleyway, somewhere else. It's bitterly cold; your breath steams in the air. The sky is pitch black: no stars, or any sign of the burning tears. Patterns of frost curl over every surface: neat snowflake fractals over metal, irregular vine-like patterns over the concrete. Everything is quiet.\n\nThe kid's vanished; when you turn around you find the doorway you passed through just a shallow alcove, the door locked.
The alley you arrived in this place through. It's bitterly cold. Frost crawls up the walls.
Spars of crystal ice encase the streetlights, like plants growing towards light. The street is wide, and all the building faces are bare and black.
The street is wide. Ice seals the gaps between buildings. All the street fronts are frozen solid. Perhaps the ripples behind them are things moving; perhaps not.
The street ends. It's the end of the world. In the clear air, you can see far: past the final building, there's nothing in any direction, an absolute blackness indistinguishable from the night sky.
The street ends. Pavement flakes apart, in sheets and then wafer-thin layers. Darkness below. A spar of road juts out into the abyss, the ice studding the pavement like refracting lights, until they leave the dim light of the working streetlights.
Trees of ice line the road, the wood beneath blackened and dead. The street stretches out.
The street passes by a park on the <<print $dir == 0 ? "left" : "right">>: the fence is overgrown with blue-clear ice, huge spars reaching into the sky. Blurry silver lights bob and shift behind the ice wall, like dim lanterns: they skitter back when you approach.
An intersection. The street signs are encased in hoar frost. The streetlights are ice-blue and limned in rainbows. The street is frozen-over and slippery.
A wide street, lit by icy lights. A larger building fills the entire block <<print\n $dir == $west ? "on the left side of the street"\n : $dir == $east ? "on the right side of the street"\n : $dir == $north ? "behind you"\n : "before you">>.
An intersection. The street you're <<print $dir % 2 ? "walking along" : "meeting">> is brilliantly lit with icy lights. Frost crunches underfoot.
(function(){version.extensions["replaceMacrosCombined"]={major:1,minor:0,revision:0};\nvar nullobj={handler:function(){}};function showVer(n,notrans){n.innerHTML="";\nnew Wikifier(n,n.tweecode);n.setAttribute("data-enabled","true");\nn.style.display="inline";n.classList.remove("revision-span-out");\nif(!notrans){n.classList.add("revision-span-in");if(n.timeout){clearTimeout(n.timeout)\n}n.timeout=setTimeout(function(){n.classList.remove("revision-span-in")\n},1)}}function hideVer(n,notrans){n.setAttribute("data-enabled","false");\nn.classList.remove("revision-span-in");if(n.timeout){clearTimeout(n.timeout)\n}if(!notrans){n.classList.add("revision-span-out");n.timeout=setTimeout(function(){if(n.getAttribute("data-enabled")=="false"){n.classList.remove("revision-span-out");\nn.style.display="none";n.innerHTML=""}},1000)}else{n.style.display="none";\nn.innerHTML=""}}function tagcontents(b,starttags,desttags,endtags,k){var l=0,c="",tg,a,i;\nfunction tagfound(i,e){for(var j=0;j<e.length;j++){if(a.indexOf("<<"+e[j],i)==i){return e[j]\n}}}a=b.source.slice(k);for(i=0;i<a.length;i++){if(tg=tagfound(i,starttags)){l++\n}else{if((tg=tagfound(i,desttags))&&l==0){b.nextMatch=k+i+tg.length+4;\nreturn[c,tg]}else{if(tg=tagfound(i,endtags)){l--;if(l<0){return null\n}}}}c+=a.charAt(i)}return null}var begintags=[];var endtags=[];\nfunction revisionSpanHandler(g,e,f,b){var k=b.source.indexOf(">>",b.matchStart)+2,vsns=[],vtype=e,flen=f.length,becomes,c,cn,m,h,vsn;\nfunction mkspan(vtype){h=insertElement(m,"span",null,"revision-span "+vtype);\nh.setAttribute("data-enabled",false);h.style.display="none";h.tweecode="";\nreturn h}if(this.shorthand&&flen){while(f.length>0){vsns.push([f.shift(),(this.flavour=="insert"?"gains":"becomes")])\n}}else{if(this.flavour=="insert"||(this.flavour=="continue"&&this.trigger=="time")){vsns.push(["","becomes"])\n}}if(this.flavour=="continue"&&flen){b.nextMatch=k+b.source.slice(k).length;\nvsns.push([b.source.slice(k),vtype])}else{becomes=["becomes","gains"];\nc=tagcontents(b,begintags,becomes.concat(endtags),endtags,k);\nif(c&&endtags.indexOf(c[1])==-1){while(c){vsns.push(c);c=tagcontents(b,begintags,becomes,endtags,b.nextMatch)\n}c=tagcontents(b,begintags,["end"+e],endtags,b.nextMatch)}if(!c){throwError(g,"can't find matching end"+e);\nreturn}vsns.push(c);if(this.flavour=="continue"){k=b.nextMatch;\nb.nextMatch=k+b.source.slice(k).length;vsns.push([b.source.slice(k),""])\n}}if(this.flavour=="remove"){vsns.push(["","becomes"])}console.log(JSON.stringify(vsns));\ncn=0;m=insertElement(g,"span",null,e);m.setAttribute("data-flavour",this.flavour);\nh=mkspan("initial");vsn=vsns.shift();console.log(e+" "+vsn[0]);\nh.tweecode=vsn[0];showVer(h,true);while(vsns.length>0){if(vsn){vtype=vsn[1]\n}vsn=vsns.shift();h=mkspan(vtype);h.tweecode=vsn[0]}if(typeof this.setup=="function"){this.setup(m,g,f)\n}}function quantity(m){return(m.children.length-1)+(m.getAttribute("data-flavour")=="remove")\n}function revisionSetup(m,g,f){m.className+=" "+f[0].replace(" ","_");\nshowVer(m.firstChild,true)}function timeSetup(m,g,f){function cssTimeUnit(s){if(typeof s=="string"){if(s.slice(-2).toLowerCase()=="ms"){return Number(s.slice(0,-2))||0\n}else{if(s.slice(-1).toLowerCase()=="s"){return Number(s.slice(0,-1))*1000||0\n}}}throwError(g,s+" isn't a CSS time unit");return 0}var fl=this.flavour;\nvar tm=cssTimeUnit(f[0]);setTimeout(function timefn(){var done=!revise("revise",m);\nif(!done){setTimeout(timefn,tm)}},tm)}function hoverSetup(m){m.onmouseover=function(){revise("revise",m)\n};m.onmouseout=function(){revise("revert",m)}}function mouseSetup(m){var fl=this.flavour;\nm.onmouseenter=function(){var done=!revise("revise",m);if(done){this.onmouseenter=null\n}}}function linkSetup(m,g,f){var fl=this.flavour,l=Wikifier.createInternalLink(),p=m.parentNode;\nl.className="internalLink replaceLink";p.insertBefore(l,m);l.insertBefore(m,null);\nl.onclick=function(){var p,done=false;if(m&&m.parentNode==this){done=!revise("revise",m);\nscrollWindowTo(m)}if(done){this.parentNode.insertBefore(m,this);\nthis.parentNode.removeChild(this)}}}function visitedSetup(m,g,f){var i,done,shv=state.history[0].variables,os="once seen",d=(m.firstChild&&(this.flavour=="insert"?m.firstChild.nextSibling:m.firstChild).tweecode);\nshv[os]=shv[os]||{};if(d&&!shv[os].hasOwnProperty(d)){shv[os][d]=1\n}else{for(i=shv[os][d];i>0&&!done;i--){done=!revise("revise",m,true)\n}if(shv[os].hasOwnProperty(d)){shv[os][d]+=1}}}[{name:"insert",flavour:"insert",trigger:"link",setup:linkSetup},{name:"timedinsert",flavour:"insert",trigger:"time",setup:timeSetup},{name:"insertion",flavour:"insert",trigger:"revisemacro",setup:revisionSetup},{name:"later",flavour:"insert",trigger:"visited",setup:visitedSetup},{name:"replace",flavour:"replace",trigger:"link",setup:linkSetup},{name:"timedreplace",flavour:"replace",trigger:"time",setup:timeSetup},{name:"mousereplace",flavour:"replace",trigger:"mouse",setup:mouseSetup},{name:"hoverreplace",flavour:"replace",trigger:"hover",setup:hoverSetup},{name:"revision",flavour:"replace",trigger:"revisemacro",setup:revisionSetup},{name:"timedremove",flavour:"remove",trigger:"time",setup:timeSetup},{name:"mouseremove",flavour:"remove",trigger:"mouse",setup:mouseSetup},{name:"hoverremove",flavour:"remove",trigger:"hover",setup:hoverSetup},{name:"removal",flavour:"remove",trigger:"revisemacro",setup:revisionSetup},{name:"once",flavour:"remove",trigger:"visited",setup:visitedSetup},{name:"continue",flavour:"continue",trigger:"link",setup:linkSetup},{name:"timedcontinue",flavour:"continue",trigger:"time",setup:timeSetup},{name:"mousecontinue",flavour:"continue",trigger:"mouse",setup:mouseSetup},{name:"cycle",flavour:"cycle",trigger:"revisemacro",setup:revisionSetup},{name:"mousecycle",flavour:"cycle",trigger:"mouse",setup:mouseSetup},{name:"timedcycle",flavour:"cycle",trigger:"time",setup:timeSetup}].forEach(function(e){e.handler=revisionSpanHandler;\ne.shorthand=(["link","mouse","hover"].indexOf(e.trigger)>-1);\nmacros[e.name]=e;macros["end"+e.name]=nullobj;begintags.push(e.name);\nendtags.push("end"+e.name)});function reviseAll(rt,rname){var rall=document.querySelectorAll(".passage ."+rname),ret=false;\nfor(var i=0;i<rall.length;i++){ret=ret||revise(rt,rall[i])}return ret\n}function revise(rt,r,notrans){var ind2,curr,next,ind=-1,rev=(rt=="revert"),rnd=(rt.indexOf("random")>-1),fl=r.getAttribute("data-flavour"),rc=r.childNodes,cyc=(fl=="cycle"),rcl=rc.length-1;\nfunction doToGainerSpans(n,fn){for(var k=n-1;k>=0;k--){if(rc[k+1].classList.contains("gains")){fn(rc[k],notrans)\n}else{break}}}for(var k=0;k<=rcl;k++){if(rc[k].getAttribute("data-enabled")=="true"){ind=k\n}}if(rev){ind-=1}curr=(ind>=0?rc[ind]:(cyc?rc[rcl]:null));ind2=ind;\nif(rnd){ind2=(ind+(Math.floor(Math.random()*rcl)))%rcl}next=((ind2<rcl)?rc[ind2+1]:(cyc?rc[0]:null));\nvar docurr=(rev?showVer:hideVer);var donext=(rev?hideVer:showVer);\nif(curr){if(!(next&&next.classList.contains("gains"))||rnd){docurr(curr,notrans);\ndoToGainerSpans(ind,docurr,notrans)}}if(next){donext(next,notrans);\nif(rnd){doToGainerSpans(ind2+1,donext,notrans)}}return(cyc?true:(rev?(ind>0):(ind2<rcl-1)))\n}macros["revert"]=macros["revise"]=macros["randomise"]=macros["randomize"]={handler:function(a,b,c){var l,rev,rname;\nfunction disableLink(l){l.style.display="none"}function enableLink(l){l.style.display="inline"\n}function updateLink(l){if(l.className.indexOf("random")>-1){enableLink(l);\nreturn}var rall=document.querySelectorAll(".passage ."+rname),cannext,canprev,i,ind,r,fl;\nfor(i=0;i<rall.length;i++){r=rall[i],fl=r.getAttribute("data-flavour");\nif(fl=="cycle"){cannext=canprev=true}else{if(r.firstChild.getAttribute("data-enabled")==!1+""){canprev=true\n}if(r.lastChild.getAttribute("data-enabled")==!1+""){cannext=true\n}}}var can=(l.classList.contains("revert")?canprev:cannext);(can?enableLink:disableLink)(l)\n}function toggleText(w){w.classList.toggle(rl+"Enabled");w.classList.toggle(rl+"Disabled");\nw.style.display=((w.style.display=="none")?"inline":"none")}var rl="reviseLink";\nif(c.length<2){throwError(a,b+" macro needs 2 parameters");return\n}rname=c.shift().replace(" ","_");l=Wikifier.createInternalLink(a,null);\nl.className="internalLink "+rl+" "+rl+"_"+rname+" "+b;var v="";\nvar end=false;var out=false;if(c.length>1&&c[0][0]=="$"){v=c[0].slice(1);\nc.shift()}switch(c[c.length-1]){case"end":end=true;c.pop();break;\ncase"out":out=true;c.pop();break}var h=state.history[0].variables;\nfor(var i=0;i<c.length;i++){var on=(i==Math.max(c.indexOf(h[v]),0));\nvar d=insertElement(null,"span",null,rl+((on)?"En":"Dis")+"abled");\nif(on){h[v]=c[i];l.setAttribute("data-cycle",i)}else{d.style.display="none"\n}insertText(d,c[i]);l.appendChild(d)}l.onclick=function(){reviseAll(b,rname);\nvar t=this.childNodes,u=this.getAttribute("data-cycle")-0,m=t.length,n,lall,i;\nif((end||out)&&u==m-(end?2:1)){if(end){n=this.removeChild(t[u+1]);\nn.className=rl+"End";n.style.display="inline";this.parentNode.replaceChild(n,this)\n}else{this.parentNode.removeChild(this);return}}else{toggleText(t[u]);\nu=(u+1)%m;if(v){h[v]=c[u]}toggleText(t[u]);this.setAttribute("data-cycle",u)\n}lall=document.getElementsByClassName(rl+"_"+rname);for(i=0;i<lall.length;\ni++){updateLink(lall[i])}};disableLink(l);setTimeout(function(){updateLink(l)\n},1)}};macros["mouserevise"]=macros["hoverrevise"]={handler:function(a,b,c,d){var endtags=["end"+b];\nvar t=tagcontents(d,[b],endtags,endtags,d.source.indexOf(">>",d.matchStart)+2);\nif(t){var rname=c[0].replace(" ","//"),h=insertElement(a,"span",null,"hoverrevise hoverrevise//"+rname),f=function(){var done=!reviseAll("revise",rname);\nif(b!="hoverrevise"&&done){this.onmouseenter=null}};new Wikifier(h,t[0]);\nif(b=="hoverrevise"){h.onmouseover=f;h.onmouseout=function(){reviseAll("revert",rname)\n}}else{h.onmouseenter=f}}}};macros["endmouserevise"]=nullobj;\nmacros["endhoverrevise"]=nullobj}());\n\nversion.extensions.classMacro={major:1,minor:0,revision:0};\nmacros.class =\n { handler: function (place, macroName, params, parser)\n {\n var tag = "span";\n if (params[1]) {\n tag = params[1];\n if (Wikifier.parse(params[1]) != params[1]) {\n tag = eval (Wikifier.parse(params[1]));\n }\n }\n var classes = "";\n if (params[0]) {\n classes = params[0];\n if (Wikifier.parse(params[0]) != params[0]) {\n classes = eval (Wikifier.parse(params[0]));\n }\n }\n var srcOffset=parser.source.indexOf(">>",parser.matchStart)+2;\n var src=parser.source.slice(srcOffset);\n var endPos=-1;\n var endElem=-1;\n var nesting=1;\n for(var i=0;i<src.length;i++){\n if(src.substr(i,7)=="<<class"){\n nesting++;\n }\n if(src.substr(i,12)=="<<endclass>>"){\n nesting--;\n if(nesting==0){\n endElem = i+12;\n endPos = srcOffset+i+12;\n break;\n }\n }\n }\n if (endPos == -1) {\n throwError(place,"can't find matching endclass");\n } else {\n newElem = insertElement (null, tag, null, classes);\n place.appendChild (newElem);\n new Wikifier(newElem, src.substr(0,endElem));\n parser.nextMatch=endPos;\n }\n }\n }\nmacros.endclass = { handler: function () {}}
@font-face {\n font-family: 'Quicksand Regular';\n font-style: normal;\n font-weight: 400;\n src: local('Quicksand Regular'), local('Quicksand-Regular'), url(https://dl.dropbox.com/s/roxwdsrg09fho3b/Quicksand_Regular.ttf) format('truetype');\n}\nbody {\n font-size: 9pt;\n margin-right: 0;\n color: #ccc;\n}\nhr {\n border: none;\n border-bottom: 1px solid #333;\n}\n#passages {\n border-left: none;\n}\n.passage {\n font-family: 'Quicksand Regular', sans-serif;\n font-size: 12pt;\n margin-right: 33%;\n text-align: justify;\n}\n.passage li {\n display: list-item;\n}\n.passage ul {\n text-align: left;\n}\n\n* {\n position: relative;\n z-index: 1;\n}\n.below {\n display: block;\n margin-top: -0.5em;\n margin-bottom: -1.5em;\n font-size: 200%;\n color: #222;\n white-space: nowrap;\n position: relative;\n z-index: 0;\n}\n .below:nth-of-type(3n + 1) {\n margin-left: 3em;\n }\n .below:nth-of-type(3n + 2) {\n margin-left: 2.33em;\n }\n .below:nth-of-type(3n + 0) {\n margin-left: 3.66em;\n }\n.below a.internalLink {\n color: #333;\n text-shadow: 1px -1px 3px #000, -1px 1px 3px #000;\n}\n.below a.internalLink:hover {\n color: #000;\n text-shadow: 1px -1px 39px #333, -1px 1px 39px #333;\n}\n.inside {\n position: absolute;\n}\n.below.inside {\n margin-left: -.33em;\n margin-top: -.9em;\n}\n\na.internalLink {\n color: #eee;\n text-decoration: none;\n text-shadow: 1px -1px 3px #444, -1px 1px 3px #444;\n -webkit-transition: 8s;\n -moz-transition: 8s;\n -o-transition: 8s;\n transition: 8s;\n position: relative;\n z-index: 2;\n}\na.internalLink:hover {\n color: #fff;\n text-shadow: 1px -1px 39px #fff, -1px 1px 39px #fff;\n text-decoration: none;\n}\n.sun {\n color: #d31;\n}\n.sun a.internalLink {\n -webkit-transition: 0.5s;\n -moz-transition: 0.5s;\n -o-transition: 0.5s;\n transition: 0.5s;\n color: #d31;\n text-shadow: 1px -1px 3px #810, -1px 1px 3px #810;\n}\n.sun a.internalLink:hover {\n color: #f53;\n text-shadow: 1px -1px 42px #d31, -1px 1px 42px #d31;\n}\n#sidebar {\n font-family: 'Quicksand Regular', sans-serif;\n}\n#sidebar #title, #sidebar #title:hover, #sidebar #title a, #sidebar #title a:hover,\n#sidebar #snapback, #sidebar #restart,\n#sidebar #credits, #sidebar #credits:hover,\n#sidebar #credits a, #sidebar #credits a:hover, \n#sidebar #bookmark, #sidebar #bookmark:hover,\n#sidebar #bookmark a, #sidebar #bookmark a:hover {\n color: #111;\n}\n#sidebar #credits a, #sidebar #credits a:hover {\n text-decoration: underline;\n}\n#sidebar #share, #sidebar #snapback {\n visibility: hidden;\n}\n\n.revision-span-in, .revision-span-in * {\n opacity: 0;\n}\n.revision-span:not(.revision-span-out), .revision-span:not(.revision-span-out) * {\n transition: 2s;\n -webkit-transition: 2s;\n}\n.revision-span-out, .revision-span-out * {\n position:absolute;\n opacity: 0;\n}
.content ul#NAV {\n position: relative;\n display: block;\n text-align: center;\n font-size: 600%;\n margin: 0;\n padding: 0;\n overflow: visible;\n}\n .content ul#NAV li {\n margin: 0;\n padding: 0;\n display: inline-block;\n height: 1.4em;\n }\n .content ul#NAV li.forward {\n position: absolute;\n top: 0;\n left: 40%;\n right: 40%;\n }\n .content ul#NAV li.turn {\n position: absolute;\n top: 1.4em;\n left: 40%;\n right: 40%;\n }\n .content ul#NAV li.left {\n position: absolute;\n top: 0.7em;\n left: 0;\n width: 40%;\n }\n .content ul#NAV li.right {\n position: absolute;\n top: 0.7em;\n right: 0;\n width: 40%;\n }\n .content ul#NAV li a {\n transition: 0.5s;\n -webkit-transition: 0.5s;\n text-shadow: 0px -1px 3px #444, 0px 1px 3px #444;\n }\n .content ul#NAV li a:hover {\n text-shadow: 0px -0.1em 13px #fd0, 0px 0.1em 13px #0af;\n }
postrender.StoryFooter = function(place) {\n var\n wrapper = document.createElement('div'),\n nav = tale.get("NAV");\n if (state.history[0].passage.tags.indexOf ("room") == -1)\n return;\n if (nav.id !== undefined) {\n new Wikifier(place, nav.processText());\n }\n}
<<set $cur = $map [state.history[1].passage.title]>>\\n<<set state.history[0].passage.title = $cur [$dir].dest>>\\n<<print tale.get($cur [$dir].dest).text>>
<<set $dir = ($dir + 3) % 4>>\\n<<set $cur = $map [state.history[1].passage.title]>>\\n<<set state.history[0].passage.title = $cur [$dir].dest>>\\n<<print tale.get($cur [$dir].dest).text>>
<<set $dir = ($dir + 1) % 4>>\\n<<set $cur = $map [state.history[1].passage.title]>>\\n<<set state.history[0].passage.title = $cur [$dir].dest>>\\n<<print tale.get($cur [$dir].dest).text>>
<<set $dir = ($dir + 2) % 4>>\\n<<set $cur = $map [state.history[1].passage.title]>>\\n<<set state.history[0].passage.title = $cur [$dir].dest>>\\n<<print tale.get($cur [$dir].dest).text>>
<<set $dir = (($dir/2)|0)*2>>\\n<<set state.history[0].passage.title = $cur [$inside].dest>>\\n<<print tale.get($cur [$inside].dest).text>>
<<set $cur = $map[state.history[1].passage.title]>>\\n<<set state.history[0].passage.title = $cur [$outside].dest>>\\n<<print tale.get($cur [$outside].dest).text>>
<<set $cur = $map [state.history[0].passage.title]>>\n<ul id="NAV">\\n<li class="left"><<if $cur [($dir + 3) % 4]>>\\n<<if $cur [($dir + 3) % 4].open>>[[↰|_left]]<<else>>↰<<endif>>\\n<<endif>></li>\\n<li class="forward"><<if $cur [$dir]>>\\n<<if $cur [$dir].open>>[[↑|_forward]]<<else>>↑<<endif>>\\n<<endif>></li>\\n<li class="turn"><<if $cur [($dir + 2) % 4]>>\\n<<if $cur [($dir + 2) % 4].open>>[[↶|_turn]]<<else>>↶<<endif>>\\n<<endif>></li>\\n<li class="right"><<if $cur [($dir + 1) % 4]>>\\n<<if $cur [($dir + 1) % 4].open>>[[↱|_right]]<<else>>↱<<endif>>\\n<<endif>></li>\\n<li class="maint"><<if $cur [$inside]>>\\n<<if $cur [$inside].open>>[[⇙|_inside]]<<else>>⇙<<endif>>\\n<<else if $cur [$outside]>>\\n<<if $cur [$outside].open>>[[⇗|_outside]]<<else>>⇗<<endif>>\\n<<endif>></li>\\n</ul>
<<set $north = 0, $west = 1, $south = 2, $east = 3, $inside = 4, $outside = 5>>\n<<set $map =\n { "elsewhere" :\n { 1:\n { dest: "white st."\n , open: true\n }\n , 3:\n { dest: "holt st."\n , open: true\n }\n }\n , "alley" :\n { 1:\n { dest: "white st."\n , open: true\n }\n , 3:\n { dest: "holt st."\n , open: true\n }\n }\n , "white st." :\n { 3:\n { dest: "alley"\n , open: true\n }\n , 0: \n { dest: "white n"\n , open: true\n }\n , 2:\n { dest: "white s"\n , open: true\n }\n }\n , "white n" :\n { 2:\n { dest: "white st."\n , open: true\n }\n }\n , "white s" :\n { 0:\n { dest: "white st."\n , open: true\n }\n , 2:\n { dest: "grand w"\n , open: true\n }\n }\n , "holt st." :\n { 1:\n { dest: "alley"\n , open: true\n }\n , 0:\n { dest: "holt n"\n , open: true\n }\n , 2:\n { dest: "holt s"\n , open: true\n }\n }\n , "holt n" :\n { 2:\n { dest: "holt st."\n , open: true\n }\n }\n , "holt s" :\n { 0:\n { dest: "holt st."\n , open: true\n }\n , 2:\n { dest: "grand e"\n , open: true\n }\n }\n , "grand e" :\n { 0:\n { dest: "holt s"\n , open: true\n }\n , 1:\n { dest: "grand int"\n , open: true\n }\n }\n , "grand w" :\n { 0:\n { dest: "white s"\n , open: true\n }\n , 3:\n { dest: "grand int"\n , open: true\n }\n }\n , "grand int" :\n { 1:\n { dest: "grand w"\n , open: true\n }\n , 3:\n { dest: "grand e"\n , open: true\n }\n }\n }>>