You feel the rush of the ground beneath you as you approach the lip of the half-pipe.\n\n<<continue "It's been three years this time.">><font color="grey">It's been three years this time.</font>\n\nAnd you're in the air again! You don't know if you'll land or fall. All you can do is <<continue "spin.">>spin.\n\nYou feel like you always have the wrong tools for the right job.\n<<continue "spin.">>\nAnd your wipe-outs spread further than your own bruises.\n<<continue "spin.">>\nBut the feeling of the air around you...\n<<continue "spin.">>\nAnd seeing the sky and concrete blur into a single shade...\n<<continue "spin...">>\nMakes you want to keep on spinning.\n[[spin...|FinalTrick]]\n\n
You leave the cabin, walking towards the outhouse.\n\nYour mind is too shattered to do anything right now. You need to sober up. Your intoxication has you trapped for hours yet to come.\n\nYou stop on the path, turn around, and look back at the cabin. The lights, the laughter, everything seems to recede before you. The image of that lonely building becomes burned into your mind, like the shittiest goddamn photograph.\n\n[[Sit|SecretTapeLoop]]
<<silently>>\n<<set $score = 0>>\n<<set $special = 0>>\n<<set $secrettape = "No">>\n<<set $heart = "Anxious">>\n<<set $trick="<img src=\s"kickflip.gif\s">">>\n<<set $trickpassage="Willie180">>\n<<set $tricktext="O_O">>\n<<set $orgydone="No">>\n<<set $willydone="No">>\n<<set $cabindone="No">>\n<<set $justbailed="No">>\n<<endsilently>>You are PRO SKATER. Your grace, unrivaled. Your momentum, unstoppable. Your shirt, emblazoned with praise of JoltySlush™...Your relationships, <<continue "tenuous.">>tenuous. \n\nYour partner sits at the edge of her bed, gripping it with a tension you've seen before. She has asked you to close the door, beginning a ritual of parting that you've expected for a while, but maybe not so soon. \n\nThese issues can be worked through, compromised. Hearts can be mended. What do you want to do?\n\n[[Do a Kickflip|Kickflip]]\n\n\n\n
(function(){version.extensions.replaceMacrosCombined={major:1,minor:1,revision:4};var nullobj={handler:function(){}};function showVer(n,notrans){if(!n){return\n}n.innerHTML="";new Wikifier(n,n.tweecode);n.setAttribute("data-enabled","true");n.style.display="inline";n.classList.remove("revision-span-out");\nif(!notrans){n.classList.add("revision-span-in");if(n.timeout){clearTimeout(n.timeout)}n.timeout=setTimeout(function(){n.classList.remove("revision-span-in");\nn=null},1)}}function hideVer(n,notrans){if(!n){return}n.setAttribute("data-enabled","false");n.classList.remove("revision-span-in");\nif(n.timeout){clearTimeout(n.timeout)}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=""}n=null},1000)}else{n.style.display="none";n.innerHTML="";n=null}}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]}}}a=b.source.slice(k);for(i=0;\ni<a.length;i++){if(tg=tagfound(i,starttags)){l++}else{if((tg=tagfound(i,desttags))&&l==0){b.nextMatch=k+i+tg.length+4;return[c,tg]\n}else{if(tg=tagfound(i,endtags)){l--;if(l<0){return null}}}}c+=a.charAt(i)}return null}var begintags=[];var endtags=[];function 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);h.setAttribute("data-enabled",false);h.style.display="none";\nh.tweecode="";return 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"])}}if(this.flavour=="continue"&&flen){b.nextMatch=k+b.source.slice(k).length;\nvsns.push([b.source.slice(k),vtype])}else{becomes=["becomes","gains"];c=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)}c=tagcontents(b,begintags,["end"+e],endtags,b.nextMatch)\n}if(!c){throwError(g,"can't find matching end"+e);return}vsns.push(c);if(this.flavour=="continue"){k=b.nextMatch;b.nextMatch=k+b.source.slice(k).length;\nvsns.push([b.source.slice(k),""])}}if(this.flavour=="remove"){vsns.push(["","becomes"])}cn=0;m=insertElement(g,"span",null,e);\nm.setAttribute("data-flavour",this.flavour);h=mkspan("initial");vsn=vsns.shift();h.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)}}function quantity(m){return(m.children.length-1)+(m.getAttribute("data-flavour")=="remove")\n}function revisionSetup(m,g,f){m.className+=" "+f[0].replace(" ","_")}function keySetup(m,g,f){var key=f[0];m.setEventListener("keydown",function l(e){var done=!revise("revise",m);\nif(done){m.removeEventListener("keydown",l)}})}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}}}throwError(g,s+" isn't a CSS time unit");\nreturn 0}var tm=cssTimeUnit(f[0]);setTimeout(function timefn(){var done=!revise("revise",m);if(!done){setTimeout(timefn,tm)\n}},tm)}function hoverSetup(m){var fn,noMouseEnter=(document.head.onmouseenter!==null),m1=m.children[0],m2=m.children[1];if(!m1||!m2){return\n}m1.onmouseenter=function(e){if(this.getAttribute("data-enabled")!="false"){revise("revise",this.parentNode)}};m2.onmouseleave=function(e){if(this.getAttribute("data-enabled")!="false"){revise("revert",this.parentNode)\n}};if(noMouseEnter){fn=function(n){return function(e){if(!event.relatedTarget||(event.relatedTarget!=this&&!(this.compareDocumentPosition(event.relatedTarget)&Node.DOCUMENT_POSITION_CONTAINED_BY))){this[n]()\n}}};m1.onmouseover=fn("onmouseenter");m2.onmouseout=fn("onmouseleave")}m=null}function mouseSetup(m){var evt=(document.head.onmouseenter===null?"onmouseenter":"onmouseover");\nm[evt]=function(){var done=!revise("revise",this);if(done){this[evt]=null}};m=null}function linkSetup(m,g,f){var l=Wikifier.createInternalLink(),p=m.parentNode;\nl.className="internalLink replaceLink";p.insertBefore(l,m);l.insertBefore(m,null);l.onclick=function(){var p,done=false;if(m&&m.parentNode==this){done=!revise("revise",m);\nscrollWindowTo(m)}if(done){this.parentNode.insertBefore(m,this);this.parentNode.removeChild(this)}};l=null}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}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:"keyinsert",flavour:"insert",trigger:"key",setup:keySetup},{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:"keyreplace",flavour:"replace",trigger:"key",setup:keySetup},{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:"keyremove",flavour:"remove",trigger:"key",setup:keySetup},{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:"keycontinue",flavour:"continue",trigger:"key",setup:keySetup},{name:"cycle",flavour:"cycle",trigger:"revisemacro",setup:revisionSetup},{name:"mousecycle",flavour:"cycle",trigger:"mouse",setup:mouseSetup},{name:"timedcycle",flavour:"cycle",trigger:"time",setup:timeSetup},{name:"keycycle",flavour:"replace",trigger:"key",setup:keySetup}].forEach(function(e){e.handler=revisionSpanHandler;\ne.shorthand=(["link","mouse","hover"].indexOf(e.trigger)>-1);macros[e.name]=e;macros["end"+e.name]=nullobj;begintags.push(e.name);\nendtags.push("end"+e.name)});function insideDepartingSpan(elem){var r=elem.parentNode;while(!r.classList.contains("passage")){if(r.classList.contains("revision-span-out")){return true\n}r=r.parentNode}}function reviseAll(rt,rname){var rall=document.querySelectorAll(".passage [data-flavour]."+rname),ret=false;\nfor(var i=0;i<rall.length;i++){if(!insideDepartingSpan(rall[i])){ret=revise(rt,rall[i])||ret}}return ret}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)}else{break\n}}}for(var k=0;k<=rcl;k++){if(rc[k].getAttribute("data-enabled")=="true"){ind=k}}if(rev){ind-=1}curr=(ind>=0?rc[ind]:(cyc?rc[rcl]:null));\nind2=ind;if(rnd){ind2=(ind+(Math.floor(Math.random()*rcl)))%rcl}next=((ind2<rcl)?rc[ind2+1]:(cyc?rc[0]:null));var docurr=(rev?showVer:hideVer);\nvar donext=(rev?hideVer:showVer);var currfn=function(){if(!(next&&next.classList.contains("gains"))||rnd){docurr(curr,notrans);\ndoToGainerSpans(ind,docurr,notrans)}};var nextfn=function(){donext(next,notrans);if(rnd){doToGainerSpans(ind2+1,donext,notrans)\n}};if(!rev){currfn();nextfn()}else{nextfn();currfn()}return(cyc?true:(rev?(ind>0):(ind2<rcl-1)))}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"}function updateLink(l){if(l.className.indexOf("random")>-1){enableLink(l);\nreturn}var rall=document.querySelectorAll(".passage [data-flavour]."+rname),cannext,canprev,i,ind,r,fl;for(i=0;i<rall.length;\ni++){r=rall[i],fl=r.getAttribute("data-flavour");if(insideDepartingSpan(r)){continue}if(fl=="cycle"){cannext=canprev=true\n}else{if(r.firstChild.getAttribute("data-enabled")==!1+""){canprev=true}if(r.lastChild.getAttribute("data-enabled")==!1+""){cannext=true\n}}}var can=(l.classList.contains("revert")?canprev:cannext);(can?enableLink:disableLink)(l)}function toggleText(w){w.classList.toggle(rl+"Enabled");\nw.classList.toggle(rl+"Disabled");w.style.display=((w.style.display=="none")?"inline":"none")}var rl="reviseLink";if(c.length<2){throwError(a,b+" macro needs 2 parameters");\nreturn}rname=c.shift().replace(" ","_");l=Wikifier.createInternalLink(a,null);l.className="internalLink "+rl+" "+rl+"_"+rname+" "+b;\nvar v="";var end=false;var out=false;if(c.length>1&&c[0][0]=="$"){v=c[0].slice(1);c.shift()}switch(c[c.length-1]){case"end":end=true;\nc.pop();break;case"out":out=true;c.pop();break}var h=state.history[0].variables;for(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");if(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);var 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]);n.className=rl+"End";n.style.display="inline";this.parentNode.replaceChild(n,this)\n}else{this.parentNode.removeChild(this);return}}else{toggleText(t[u]);u=(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;i++){updateLink(lall[i])}};l=null}};macros.mouserevise=macros.hoverrevise={handler:function(a,b,c,d){var endtags=["end"+b],evt=(window.onmouseenter===null?"onmouseenter":"onmouseover"),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[evt]=null}};new Wikifier(h,t[0]);if(b=="hoverrevise"){h.onmouseover=f;h.onmouseout=function(){reviseAll("revert",rname)\n}}else{h[evt]=f}h=null}}};macros.instantrevise={handler:function(a,b,c,d){reviseAll("revise",c[0].replace(" ","_"))}};macros.endmouserevise=nullobj;\nmacros.endhoverrevise=nullobj}());
It rotates in the air, hovering before you. How long has this thing been here? Why is it floating? \n\nAs you inspect the tape (VHS? Scotch tape? What exactly is secret about this thing?), your mind starts reassembling its well-trodden grooves.\n<<continue "...">>\n<<stopbgm T2u8_NPL5cY>>Sitting in the cold leaves, staring at a cabin two feet away, your board next to you.\n\nNothing is fixed. A lot of stuff is broken, but at least the sun is rising now. \n\n<<silently>>\n<<set $secrettape = "Yes">>\n<<set $special = $special + 50>>\n<<set $score = $score+25>>\n<<set $heart = "Drained">>\n<<set $cabindone = "Yes">>\n<<endsilently>>[[Land|Hub]]\n
<<silently>>\n<<set $drink=$drink+1>>\n<<endsilently>>*Gulp!*\n<<if $drink gt 4>>Urg, that's probably enough.<<elseif $drink gt 3>><font color="grey">Not actually a real human concept, just another classroom myth, like finding Mew under an abandoned truck or somebody doing a hardflip off of the school's back steps.</font><<elseif $drink gt 2>><font color="grey">I mean, orgies are like those things that one annoying kid who went to summer camp in another state would always brag about having.</font><<elseif $drink gt 1>><font color="grey">So you guess this is an orgy? She didn't explain what was going on when she called you, only that you needed to get over here right away.</font><<endif>>\n\n[[Drink|OrgyDrink]]\n<<if $drink gt 3>>[[Return to Orgy|OrgyTrick]]<<else>><<replace "Return to Orgy">>You feel too sober for that right now.<<endreplace>><<endif>>
.passage {\n font-size: 18px;\n}\n.char { \n position:relative;\n}\n.char:nth-child(8n) { \n animation: wavetext 2s 0s infinite;\n -webkit-animation: wavetext 4s 0s infinite;\n}\n.char:nth-child(8n+1) { \n animation: wavetext 2s -0.5s infinite;\n -webkit-animation: wavetext 2s -0.5s infinite;\n}\n.char:nth-child(8n+2) { \n animation: wavetext 2s -1s infinite;\n -webkit-animation: wavetext 2s -1s infinite;\n}\n.char:nth-child(8n+3) { \n animation: wavetext 2s -1.5s infinite;\n -webkit-animation: wavetext 2s -1.5s infinite;\n}\n.char:nth-child(8n+4) { \n animation: wavetext 2s -2s infinite;\n -webkit-animation: wavetext 4s -2s infinite;\n}\n.char:nth-child(8n+5) { \n animation: wavetext 2s -2.5s infinite;\n -webkit-animation: wavetext 2s -2.5s infinite;\n}\n.char:nth-child(8n+6) { \n animation: wavetext 2s -3s infinite;\n -webkit-animation: wavetext 2s -3s infinite;\n}\n.char:nth-child(8n+7) { \n animation: wavetext 2s -3.5s infinite;\n -webkit-animation: wavetext 2s -3.5s infinite;\n}\n@keyframes wavetext {\n 0%, 100% { top: 0em; } 50% { top: 0.1em; }\n}\n@-webkit-keyframes wavetext {\n 0%, 100% { top: 0em; } 50% { top: 0.1em; }\n}
Score: <<print $score>>\nSpecial Meter: <<print $special>>/100\nSecret Tape: <<print $secrettape>>\nHeart: <<print $heart>>\n\n<<if $justbailed eq "Yes">>You get back up, brush yourself off, and return to the top of the half-pipe.<<set $justbailed = "No">><<elseif $score gt 0>>Your trick landed, body and board descend into the half-pipe again.<<else>>You stand at the top of a half-pipe. Your stomach churns with adrenaline.<<endif>>\n\nWhat do you want to do?\n\n<<if $special eq 100>>[[Do The 900™!|The900]]<<else>><<replace "Do The 900™!">><i>Your special meter isn't full! Don't try it unless you want to <<insert "bail!">><<set $trick="<img src=\s"fail.gif\s">">><<set $tricktext=" >_<">><<set $trickpassage = "Bail">><<goto "Trick">><<endinsert>></i><<endreplace>><<endif>>\n<<if $willydone eq "No">><<insert "Do a 180 Spin!">><<set $trick="<img src=\s"180ollie.gif\s">">><<set $trickpassage = "Willie180">><<set $tricktext = "-_-">><<goto "Trick">><<endinsert>><<endif>>\n<<if $orgydone eq "No">><<insert "Do a Tail Grind!">><<set $trickpassage = "OrgyIntro">><<set $trick = "<img src=\s"grind.gif\s">">><<set $tricktext = ";_;">><<goto "Trick">><<endinsert>><<endif>>\n<<if $cabindone eq "No">><<if $heart eq "<font color=\s"green\s">Gnarly</font>">><<insert "Do a Backflip!">><<set $trick="<img src=\s"backflip.gif\s">">><<set $trickpassage ="Cabin">><<set $tricktext="@_@">><<goto "Trick">><<endinsert>><<else>><<replace "Do a Backflip!">><i>You need one hell of a <font color="green">Gnarly</font> heart to try something like that!</i><<endreplace>><<endif>><<endif>>\n\n\n\n
Your board lifts into the air with a practiced spin. You see the whole room in a single motion. No participant left untaken. Pleasure in surround sound. \n\nAs your view whips around again to her, you see the unfamiliar man has already entered her and is thrusting fast (<font color="grey">Again, this speed is unreal to you</font>). She moans, you and your trick forgotten. \n\nYou, the only dressed, unclaimed person in the whole wide orgy.\n<<continue "...">>\nYou use the momentum of the landing to roll out of the room.\n<<continue "...">>\nThe next day, she apologizes profusely to you. Uncomfortable, you know that the one who <i>should</i> be apologizing is <i>you</i>.\n\n<<silently>>\n<<set $score = $score + 200>>\n<<set $orgydone = "Yes">>\n<<set $special = $special + 25>>\n<<set $heart = "Spinning">>\n<<endsilently>>[[Land|Hub]]\n
<<stopbgm nJzUOU2u7Dw>><<playbgm T2u8_NPL5cY>>She stands up when you enter, hands shaking. Is everything shaking?\n\nHer eyes say "get over here."\n<<continue "...">>\nShe's sitting with Martin. He looks like he's freaking out? Where has this kid been all day. What's going on?\n\n<<continue "'Feel his hands'">>"Feel his Hands"\n\nYou feel them, they feel normal. At least, as normal as they can while a cacophony of sensations shoot through your skin. \n\n"They are so cold they feel like he's dead," she says. She shoots you a look that pierces your mind. "I've been with him all day. He doesn't even know if he should eat or not. What the fuck is wrong with you?"\n\n<<continue "What the fuck is wrong with you">>\n<font color="grey">You didn't give anything to Martin. You didn't even realize he was on something. Is this his first time? Someone should have looked after him--</font>\n\n"When is it going to be enough? Jesus Christ you think this is NORMAL!?? Huh, when is it going to be enough?" She stands up, leading Martin away. "You make me sick."\n\n[[You make me sick|CabinAlone]]\n\n\n\n\n\n
<b>Tony Hawk's Pro Dater</b>\n\nby <a href="http://alecthomson.com">Alec Thomson</a>\n\nThanks for playing!
<<playbgm nJzUOU2u7Dw>>\n<<timedinsert 1s>><<becomes>><font size="10"><b>Tony Hawk's</b></font><<endtimedinsert>>\n<<timedinsert 2s>><<becomes>><font size="6">Pro Dater</font><<endtimedinsert>>\n<<timedinsert 3s>><<becomes>><img src="title.gif">\n[[Start|Hub]]<<endtimedinsert>>\n
<<silently>>\n<<set $tapecounter=0>>\n<<endsilently>>Your mind spins and twists. Your mind is a skateboard. The world is a skateboard, sent to griiieieieiind...\n\nYou are in the woods in New Hampshire. For how long? 2 hours. A day? You know you drove here.\n\nCar keys in your right pocket. Wallet in your left.\n\nGood.\n<<continue "...">>\nA newsreel buzzes past your vision. "It has been about 4 hours since you ingested two tabs of LSD, 3.5 hours since you swallowed 120 mg of MDMA, 1 hour since you re-dosed with an <<insert "indeterminate">><font color="grey"> (When he offered to re-dose you, you assumed he'd hand you another tab. Instead, he took a pipette and squirted it on your tongue. How much <i>was</i> that? Probably more than you've ever taken at once.)</font><<endinsert>> amount of LSD."\n<<continue "...">>\nThe room sings with a pleasant hum. Earlier, a bunch of you tried to play a game of Risk. It's unclear whether you really played, the only <<insert "sober">> <font color="grey">(in that he wasn't on psychedelics, he was plenty drunk)</font><<endinsert>> player was laughing the whole time. South America was a huge mess. The colors of the pieces kept changing. \n\n<<continue "You all decided to declare world peace and stop playing.">>You all decided to declare world peace and stop playing.\n\n[[Let's go for a walk in the woods|Woods]]\n \n\n\n\n\n\n\n
<img src="the900.gif">\n\n[[v_v|Credits]]
THPD
It is recommended you <a href="http://alecthomson.com/thpd/thpd.html">play with sound by following this link.</a>\n\n[[Play Locally (No sound)|ActualStart]]
<<silently>>\n<<set $drink=0>>\n<<endsilently>>You roll into a generic dorm hole. The standard issue desks, dressers, and beds have been pushed into a corner. A large gymnastics mat has been laid out in the center of the floor. About 15 people, all in various states of undress, sit around, petting each other and giggling. \n<<continue "...">>\nThe one who called you here stands up. She's taller than you, dressed in a bra and shorts. She thanks you for coming, gives you a kiss. \n<<continue "...">>\nShe sees you looking around, pulls you over to a table in the corner. Drinks are here. Gordon's London Dry Gin, three dirty shot glasses. \n<<continue "...">>\n"You have some catching up to do. Help yourself and then we can get started." Mr. Gordon's signature juniper berries have taken up residence in her breath.\n\nShe winks as she walks back to the mat.\n\n[[Drink|OrgyDrink]]
You kick your legs out in a synchronized motion that lifts you and your board into the air, your board rotating idly below you. \n\n<img src="kickflip.gif">\n\nHer eyes follow you up and then down, frowning, unmoved by the chaos of a single beautiful piece of motion. \n\nDID you KNOW: Fewer people have landed kickflips than have found [[LOVE|Intro]].
<<silently>>\n<<set $tapecounter = $tapecounter+1>>\n<<endsilently>>The cabin grows more distant.\n\n[[Wait|SecretTapeLoop]]\n\n<<if $tapecounter gte 13>>[[Secret Tape!|SecretTape]]<<endif>>\n<<if $tapecounter eq 12>>[[Secret Tape!|SecretTape]]<<endif>>\n<<if $tapecounter eq 11>>[[Secret Tape!|SecretTape]]<<endif>>\n<<if $tapecounter eq 10>>[[Secret Tape!|SecretTape]]<<elseif $tapecounter eq 9>>Sec<<else if $tapecounter eq 8>>Se<<elseif $tapecounter eq 7>>S<<endif>>\n\n
<<print $trick>>\n\n[[<<print $tricktext>>|$trickpassage]]\n\n
(function () {\n\t"use strict";\n\tversion.extensions['youtubeAudioMacros'] = {\n\t\tmajor: 2,\n\t\tminor: 1,\n\t\trevision: 0\n\t};\n\tvar ytplayers = {},\n\t\tvideocount = 0,\n\t\tready = false,\n\t\treadyBuffer = {},\n\t\ts = document.createElement("script"),\n\t\tprotocol = location.protocol == "file:" ? "http:" : location.protocol;\n\ts.src = protocol + "//ajax.googleapis.com/ajax/libs/swfobject/2.2/swfobject_src.js";\n\ts.onreadystatechange = s.onload = function () {\n\t\tvar re = new RegExp('(?:playbgm|loopbgm) ([^"&?/ ]{11})', "gi"),\n\t\t div = document.getElementById("storeArea").firstChild,\n\t\t done = [],\n\t\t d;\n\t\tfunction newplayer(hash) {\n\t\t\tvar id = "YouTube-" + hash;\n\t\t\t insertElement(document.body, "div", id);\n\t\t\tswfobject.embedSWF(protocol + "//www.youtube.com/apiplayer?enablejsapi=1&playerapiid=" + id, id, "0", "0", "8",\n\t\t\t\tnull, {}, {\n\t\t\t\t\tallowScriptAccess: "always",\n\t\t\t\t\twmode: "transparent",\n\t\t\t\t\tmodestbranding: "1",\n\t\t\t\t\tversion: "3"\n\t\t\t\t}, {\n\t\t\t\t\tid: "ytplayer-" + hash,\n\t\t\t\t});\n\t\t};\n\t\twhile(div) {\n\t\t\tdo {\n\t\t\t\td = re.exec(div.innerHTML);\n\t\t\t\tif(d && done.indexOf(d[1]) == -1) {\n\t\t\t\t\tnewplayer(d[1]);\n\t\t\t\t\tdone.push(d[1]);\n\t\t\t\t}\n\t\t\t} while (d);\n\t\t\tdiv = div.nextSibling;\n\t\t};\n\t};\n\tdocument.head.appendChild(s);\n\twindow.onYTAudioError = function (e) {\n\t\talert("There is a problem with the YouTube background music (" + e + ")" +\n\t\t\t(e == 2 ? ": The video ID (" + hash + ") is probably invalid." :\n\t\t\t\te == 100 ? ": The requested video (" + hash + ") was not found." :\n\t\t\t\te == 101 || e == 150 ? ": Embedding has been disabled for the video (" + hash + ")." : ""));\n\t};\n\twindow.onYouTubePlayerReady = function (e) {\n\t\tvar hash = e.slice(8),\n\t\t\tyt = (ytplayers[hash] = document.getElementById("ytplayer-" + hash));\n\t\tready = true;\n\t\tyt.style.visibility="hidden";\n\t\tyt.addEventListener("onError", "onYTAudioError");\n\t\tyt.mute();\n\t\tyt.loadVideoById(hash, 0);\n\t\tyt.LOAD = true;\n\t\tvideocount += 1;\n\t\twindow["onYTAudioStateChange_" + videocount] = function (newState) {\n\t\t\tif(newState == 1 && yt.LOAD) {\n\t\t\t\tyt.pauseVideo();\n\t\t\t\tyt.unMute();\n\t\t\t\tyt.LOAD = false;\n\t\t\t\twhile(readyBuffer[hash].length > 0) {\n\t\t\t\t\treadyBuffer[hash].shift()(yt);\n\t\t\t\t}\n\t\t\t}\n\t\t\tif(newState == 0 && yt.LOOP) {\n\t\t\t\tyt.playVideo();\n\t\t\t}\n\t\t};\n\t\tyt.addEventListener("onStateChange", "onYTAudioStateChange_" + videocount);\n\t};\n\t["playbgm","loopbgm","stopbgm","pausebgm","unloopbgm"].forEach(function(e) {\n\t\tmacros[e] = {\n\t\thandler: function (e, t, n, r) {\n\t\t\tvar yt, fn;\n\t\t\tif(n[0]) {\n\t\t\t\tyt = ytplayers[n[0]];\n\t\t\t\tswitch(t) {\n\t\t\t\t case "playbgm":\n\t\t\t\t case "loopbgm":\n\t\t\t\t\tfn = function(yt) {\n\t\t\t\t\t\tyt.LOOP = (t == "loopbgm");\n\t\t\t\t\t\tif (n[1]) yt.seekTo(n[1]);\n\t\t\t\t\t\tyt.playVideo();\n\t\t\t\t\t};\n\t\t\t\t\tbreak;\n\t\t\t\t case "stopbgm":\n\t\t\t\t\tfn = function(yt) { yt.stopVideo(); };\n\t\t\t\t\tbreak;\n\t\t\t\t case "pausebgm":\n\t\t\t\t\tfn = function(yt) { yt.stopVideo(); };\n\t\t\t\t\tbreak;\n\t\t\t\t case "unloopbgm":\n\t\t\t\t\tfn = function(yt) { yt.LOOP = false; };\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tif (fn) {\n\t\t\t\t\tif (!yt || yt.LOAD) {\n\t\t\t\t\t\treadyBuffer[n[0]] = readyBuffer[n[0]] || [];\n\t\t\t\t\t\treadyBuffer[n[0]].push(fn);\n\t\t\t\t\t} else fn(yt);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\t});\n}());
version.extensions.timedgotoMacro={major:1,minor:2,revision:0};\nmacros["goto"]=macros.timedgoto={timer:null,handler:function(a,b,c,d){function cssTimeUnit(s){if(typeof s=="string"){if(s.slice(-2).toLowerCase()=="ms"){return +(s.slice(0,-2))||0\n}else{if(s.slice(-1).toLowerCase()=="s"){return +(s.slice(0,-1))*1000||0\n}}}throwError(a,s+" isn't a CSS time unit");return 0}var t,d,m,s;\nt=c[c.length-1];d=d.fullArgs();m=0;if(b!="goto"){d=d.slice(0,d.lastIndexOf(t));\nm=cssTimeUnit(t)}d=eval(Wikifier.parse(d));if(d+""&&state&&state.init){if(macros["goto"].timer){clearTimeout(macros["goto"].timer)\n}s=state.history[0].passage.title;macros["goto"].timer=setTimeout(function(){if(state.history[0].passage.title==s){state.display(d,a)\n}},m)}}};
You file out of the cabin and past the campfire. \n\nYour friend Dan has a headlamp and leads the way. It doesn't matter, you soon lose track of him and can't see anything. Visual fractals abound in the darkness. It appears you are trapped in a thicket of branches.\n\n<<continue "It is pitch black...">><font color="DarkSlateGray">It is pitch black...</font>\n\nYour friend Will stops moving in front of you. "What was that?" He sounds nervous. You don't really hear anything other than the shimmering branches around you.\n\n<<continue "You are likely...">><font color="DarkSlateGray">You are likely...</font>\n\nWill speaks again. "Was that a bear??" He sounds genuinely scared. You feel fine. No worries at all actually. You feel like the forest is singing to you. <font color="grey">(Is it the MDMA? Will didn't have any).</font> It feels good to be the brave one for once. Normally Will is like a military recruitment poster, tall and fearless and strong of chin?\n\n<<continue "To be eaten...">><font color="DarkSlateGray">To be eaten...</font>\n\nWill makes an attempt to go back to the cabin, but is blocked by the shimmering branches/not-branches. He starts calling for help.\n\n<<continue "by a...">><font color="DarkSlateGray">by a...</font>\n\nDan returns with his lamp. "What's <i>wrong</i> with you guys." In the light, you can see that--rather than being surrounded by branches and bears--you are a few feet away from the cabin, the campfire still in sight.\n\n\n[[Let's go back inside|CabinAgain]]\n\n\n\n\n\n \n\n\n\n\n
The Cabin is warm with heat and laughter. You half expect some king to go parading by with a drumstick and some minstrels or some shit Lol. \n\nThe glow of the MDMA fades a bit, but it doesn't matter. You have plenty of--[[-*Break*-|Break]].
You sit by yourself. Someone stops by, tries to make you laugh by showing you something on a phone. \n\nNearby, you overhear someone talking about how modern society has no real coming of age ceremonies. \n<<continue "How many times must you come of age before you are of age?">>\nIt feels like all the warmth has left the room..\n\n<<replace "Do a Kickflip!">>Do you think you're in any state to be doing skateboard tricks?\n<<replace "Do a Handstand!">>The floor lurches as you stand up. Not gonna manage that.\n[[Do anything...|WoodsAlone]]\n<<endreplace>>\n<<endreplace>>
.revision-span-in {\n\topacity: 0;\n}\n.revision-span:not(.revision-span-out) {\n\ttransition: 1s; -webkit-transition: 1s;\n}\n.revision-span-out {\n\tposition:absolute;\n\topacity: 0;\n}
She smiles at you as you return to the mat. Things are starting to heat up. One couple is vigorously engaged against the wall to your right. <font color="grey">Jesus, you never do it that fast.</font> \n\n"Took you long enough." An unfamiliar man is petting her shoulders. "Listen, I think this guy is about to fuck me," He kisses her neck. "But I'd much rather have you right now. Take those off?" She points at your JoltySlush™ shorts.\n\nYou want her too. You want to intertwine your bodies, spin and flip and grind and ride and feel and...? The room buzzes around you. You need to take a step back. You are still standing on your board. You should dismount and be mounted. You shouldn't keep her waiting.\n\nInstead, you:\n[[Do a 360 Shifty|OrgyEnd]]\n[[Do a 360 Mellon grab|OrgyEnd]]\n[[Do a standard 360 Ollie|OrgyEnd]]\n
When you were just starting out, you couldn't ollie straight. No matter what you tried, when you got the board into the air, it would twist at least 45 degrees. Instant failure if you tried it while moving.\n<<continue "...">>\nEventually, you figured out that if you didn't fight the spin, you could easily land 180 spins. Your first real trick. \n\nWhen you could do it consistently, you showed it to a boy at your middle school named <<continue "Willy.">>Willy.\n\nCool was just a thing on tv until you met Willy. Many people were attracted to him, including you. He seemed like an adult trapped in a kid's body. Clever, smooth. He could make the teachers laugh and would listen to cds your parents wouldn't let you buy.\n \nYou felt like a child next to him.\n<<continue "But you wanted him.">>\nShowing him your 180 in the parking lot behind the wood shop--gaining an extremely lucky amount of air from a standing position--would be the first and only time he would raise his eyebrows and say "cool" at something you had done. It wouldn't happen again.\n\n<<continue "You named your first Pokemon trainer after him...">>You named your first Pokemon trainer after him.\n\nAnd he found out, eventually. Him, staring at your game boy, whipping his eyes around in 180 degree spin, his acknowledgement, a perfect 180. "Really?" he asked, the disdain in his voice dripping. A mature kind of scorn. \n\n<<continue "Willy is another word for dick.">>Willy is another word for dick.\n\nBut Willy could also ollie straight. Years before you could.\n\n<<silently>>\n<<set $score += 100>>\n<<set $special += 25>>\n<<set $willydone="Yes">>\n<<set $heart="Longing">>\n<<endsilently>>[[Land|Hub]]
Alec Thomson
He sits on the couch next to you. You are inebriated and he might be too. It can be hard to tell with him, sometimes. \n<<continue "...">>\n<font color="grey">The worst wipeout you ever had was on the steepest hill in your neighborhood, before you even knew how to ollie. You decided one day that you needed try riding down it, just to see what would happen. You were alone.</font>\n<<continue "Push Off">>\nHe tells you that he likes you, that he <i>loves</i> you even <font color="grey">(this is the first time you have heard these words)</font> and that he would like to date you exclusively.\n<<continue "...">>\n<font color="grey">If you had only stayed on your board, not tried to cut out before the end, you might have been okay.</font>\n<<continue "Ride it out">>\nHe has seen you kissing other boys. The two of you have kissed, many, many times.\n<<continue "...">>\n<font color="grey">It was the act of trying to stop yourself, terrified at the speed you were gaining, the unstoppable momentum that was building as you descended, that caused you to pitch forward.</font>\n<<continue "Fall">>\nYour board shifting side to side beneath your feet, you let him know that you might have led him on. That he can't give you what you're looking for. You are embarrassed and sad. You do not want to hurt this person.\n<<continue "...">>\n<font color="grey">In the end, your shins weren't broken, but they were the bloodiest you had ever seen them. The very wind had been knocked out of your lungs. You tried to count the seconds it took before you were able to breathe again.</font>\n<<timedcontinue 7s>><<continue "Breathe">>\nHis expression is hard to see in the colored light. Eventually, he asks you how far you are comfortable going then, physically, emotionally. You ask him to keep it above the belt.\n<<continue "...">>\n<font color="grey">You wonder what would have happened if you had made it to the bottom of the hill. Would you have done it again?</font>\n<<silently>>\n<<set $heart="<font color=\s"green\s">Gnarly</font>">>\n<<set $justbailed = "Yes">>\n<<endsilently>>[[Get Up!|Hub]]\n\n\n\n \n
.passage {\n\tfont-size:18px;\n}\n#snapback {\n\tdisplay:none;\n}\n#restart {\n\tdisplay:none;\n}\n#bookmark {\n\tdisplay:none;\n}\n