// Sugarcube configuration\n// http://www.motoslave.net/sugarcube/docs/config-object.html\n\nconfig.addVisitedLinkClass = false;\nconfig.altPassageDescription = \nconfig.displayPassageTitles = false;\nconfig.disableHistoryControls = true; // changed\nconfig.disableHistoryTracking = false;\n\nconfig.passageTransitionOut = false; // remove outgoing elements when their transition animation ends\nconfig.passageTransitionOut = 0; // remove outgoing elements after 1010ms (1.01s)
You did it, mate!\nAwesome!\n\nNow, do you [[have it]]?\n\n<<fadeoutsound "music/brain.ogg" >>
CRANK IT TO [[ELEVEN]]!!
OK, MATE, ALL SET.\n\nTAKE A LONG [[BREATH]].
// Sound macro + fix for Sugarcube\n// <<playsound "*" >>\n// <<loopsound "*" >>\n// <<fadeinsound "*" >> identical to loopsound\n// <<unloopsound "*" >> makes $heartbeat no longer repeat when it finishes.\n// <<stopsound "*" >>\n// <<fadeoutsound "*" >>\n// <<pausesound "*" >> Use <<playsound "*" >>\n// <<stopallsound>> stops all the sounds.\n\n(function () {\n "use strict";\n version.extensions['soundMacros'] = {\n major: 1,\n minor: 1,\n revision: 2\n };\n var p = macros['playsound'] = {\n soundtracks: {},\n handler: function (a, b, c, d) {\n var loop = function (m) {\n if (m.loop == undefined) {\n m.loopfn = function () {\n this.play();\n };\n m.addEventListener('ended', m.loopfn, 0);\n } else m.loop = true;\n m.play();\n };\n var s = eval(d.fullArgs());\n if (s) {\n s = s.toString();\n var m = this.soundtracks[s.slice(0, s.lastIndexOf("."))];\n if (m) {\n if (b == "playsound") {\n m.play();\n } else if (b == "loopsound") {\n loop(m);\n } else if (b == "pausesound") {\n m.pause();\n } else if (b == "unloopsound") {\n if (m.loop != undefined) {\n m.loop = false;\n } else if (m.loopfn) {\n m.removeEventListener('ended', m.loopfn);\n delete m.loopfn;\n }\n } else if (b == "stopsound") {\n m.pause();\n m.currentTime = 0;\n } else if (b == "fadeoutsound" || b == "fadeinsound") {\n if (m.interval) clearInterval(m.interval);\n if (b == "fadeinsound") {\n if (m.currentTime>0) return;\n m.volume = 0;\n loop(m);\n } else {\n if (!m.currentTime) return;\n m.play();\n }\n var v = m.volume;\n m.interval = setInterval(function () {\n v = Math.min(1, Math.max(0, v + 0.005 * (b == "fadeinsound" ? 1 : -1)));\n m.volume = Math.easeInOut(v);\n if (v == 0 || v == 1) clearInterval(m.interval);\n if (v == 0) {\n m.pause();\n m.currentTime = 0;\n m.volume = 1;\n }\n }, 10);\n }\n }\n }\n }\n }\n macros['fadeinsound'] = p;\n macros['fadeoutsound'] = p;\n macros['unloopsound'] = p;\n macros['loopsound'] = p;\n macros['pausesound'] = p;\n macros['stopsound'] = p;\n macros['stopallsound'] = {\n handler: function () {\n var s = macros.playsound.soundtracks;\n for (var j in s) {\n\t\tif (s.hasOwnProperty(j)) {\n s[j].pause();\n if (s[j].currentTime) {\n\t\t s[j].currentTime = 0;\n\t\t }\n\t\t}\n }\n }\n }\n var div = document.getElementById("store-area").firstChild;\n var fe = ["ogg", "mp3", "wav", "webm"];\n while (div) {\n var b = String.fromCharCode(92);\n var q = '"';\n var re = "['" + q + "]([^" + q + "']*?)" + b + ".(ogg|mp3|wav|webm)['" + q + "]";\n k(new RegExp(re, "gi"));\n div = div.nextSibling;\n }\n\n function k(c, e) {\n do {\n var d = c.exec(div.innerHTML);\n if (d) {\n var a = new Audio();\n if (a.canPlayType) {\n for (var i = -1; i < fe.length; i += 1) {\n if (i >= 0) d[2] = fe[i];\n if (a.canPlayType("audio/" + d[2])) break;\n }\n if (i < fe.length) {\n a.setAttribute("src", d[1] + "." + d[2]);\n a.interval = null;\n macros.playsound.soundtracks[d[1]] = a;\n } else console.log("Browser can't play '" + d[1] + "'");\n }\n }\n } while (d);\n }\n}());
GAH!\nMORE DOORS!\n\n [[🚪]] \n[[🚪]] [[🚪]]
[[WHAT'S THAT]]?\n\nBE CAREFUL!
GO [[LEFT]] OR [[RIGHT]]?\n\nWHY ARE YOU THINKING?
[[UP]]\n OR\n [[DOWN]]?\n\nQUICK!!
/* Normal style */\n\nhead {\n box-shadow: inset 0px 0px 15em #001938;\n width:100%;\n height:100%;\n display:block;\n position:fixed;\n}\n\nbody {\n\tbackground: #CD2288;\n\t-webkit-animation:strobe 475ms steps(10,end) infinite;\n\tanimation: strobe 475ms steps(10,end) infinite;\n}\n\n.passage {\n\tposition: fixed;\n\tfont: bold 10em/0.9em Helvetica, "Helvetica Neue", Arial, sans-serif;\n\tcolor: #eee;\n\tletter-spacing: -0.05em;\n\ttop: 50%;\n\tleft: 50%;\n\ttransform: translate(-50%, -50%);\n\ttext-align: center;\n}\n\n/* Fucked up shit */\n\n@-webkit-keyframes strobe {\n\t50% { background: white; color: black; }\n}\n\n@keyframes strobe { \n\t50% { background: white; color: black; }\n}\n\n/* Remove sidebar */\n\n#ui-bar { display: none; }\n\n/* Links */\n\na, a:active { color: #1dd7ff }\na:hover { color: #ff008d; text-decoration: none !important; }\n\n\n/* Responsive shit */\n\n@media screen and (max-width: 960px) {\n body { font-size: 50%; }\n}\n@media screen and (max-width: 840px) {\n body { font-size: 40%; }\n}\n@media screen and (max-width: 720px) {\n body { font-size: 30%; }\n}\n\n/* CSS Override with Classes + Tagging */\n\n.stop {\n\tcolor: yellow;\n\tbackground: black;\n\t-webkit-animation:0;\n\tanimation:0;\n}\n\n.stop a { color: white; }\n.stop a:hover { color: gray; }\n\n.bigtext { font-size: 3.5em; }\n\n.biggertext { font-size: 4em; }\n\n.door a:hover { text-decoration: underline !important; }\n
Great, thanks.\nThis is it.\n\nAh, [[one more thing]]...\n
THIS IS IT
GREAT, THEN...\n\nARE YOU [[READY]]?
GREAT, YOU'RE ALMOST THERE!\n [["\su00A0\su00A0"|Passage]]\nFIND THE FINAL DOOR!!
COME ON, [[STEP IT UP]]!
<<playsound "sfx/gunshot.ogg" >>
GO!!\n\n[[RUN!!]]
[[FASTER]], YOU IDIOT!
AWESOME!\n\n[[KEEP RUNNING!]] GO!
THAT WAS CLOSE!\n\nNOW [[DODGE]] THAT!!
YOU'RE PRETTY CLOSE NOW!\n\n[[KEEP AT IT]]!!
COME ON, [[STEP IT UP]]!
CRANK IT TO [[ELEVEN]]!!
COME ON!\n\n[[DON'T LOOK BACK]]!!
CAN I SEE YOU IN [[FULL SCREEN]]?
WATCH OUT!!\n\n[[JUMP!]]
\n\n[[RUN!]]\n\n\n<<loopsound "music/brain.ogg">>
NSANE
A WEIRD ROOM!\n\nLOOK FOR \nTHE\nHIDDEN\n DOOR! [["\su00A0\su00A0"|Hidden Passage]]