<<display 'Inventory'>>\n\n<<if $hasKeys gte 1>>The key fits into the door and it opens. You see another room.\n* [[Enter small room]]\n<<set $hasKeys -= 1>>\n<<else>>The door is looked, you have no key!\n* <<back>>\n<<endif>>
.passage hr {\n color: #333 !important;\n background-color: #333 !important;\n border: 0 !important;\n height: 1px !important;\n}
<<display 'Inventory'>>\n\nYou see a door, there are 4 lamps above it. They have the follwing status:\n\n# <<if $button1 eq 0>>OFF<<else>>ON<<endif>> \n# <<if $button2 eq 0>>OFF<<else>>ON<<endif>> \n# <<if $button3 eq 0>>OFF<<else>>ON<<endif>> \n# <<if $button4 eq 0>>OFF<<else>>ON<<endif>>\n\nThere is also a small sign on the wall saying //"All 4 lamps must be glowing!"// and 4 buttons are beneath it.\n\n# [[Switch|B1]]\n# [[Switch|B2]]\n# [[Switch|B3]]\n# [[Switch|B4]]\n\n<<if $button1 eq 1>><<if $button2 eq 1>><<if $button3 eq 1>><<if $button4 eq 1>>You hear a click. The door is now open\n\n* [[Go through the door|Big Room]]\n<<endif>><<endif>><<endif>><<endif>>
Chapter One
<<silently>>\n<<set $hasKeys = 0>>\n<<set $FirstWindowOpened = "no">>\n<<set $firstKeyTook = "no">>\n<<set $secondKeyTook = "no">>\n<<set $currentWeapon = "Your hands">>\n<<set $button1 = 0>>\n<<set $button2 = 0>>\n<<set $button3 = 0>>\n<<set $button4 = 0>>\n<<endsilently>><<display 'Inventory'>>\n\nYou wake up at the morning, lying at the floor. You can't remember what happend last night, only that you were drinking 'some' beer with a friend. You hear creaky noises from a distant. \n* [[Stand Up]]
<<if $hasKeys gte 1>>Keys: <<print $hasKeys>><<else>>Keys: 0<<endif>>\nWeapon: <<print $currentWeapon>>\n----
<<display 'Inventory'>>\n\n"What has eyes but cannot see?"\n\nEnter the answer: <<textinput "answer" "Answer Check" "Enter">>
<<display 'Inventory'>>\n\nThe man notices you as you try to leave the room. He looks very angrily and says:\n\n"Hee, you! You better not steal my potatoes!"\n\n* [[Speak to the old man]]\n* [[Run away|Enter Room]]
(function () {\n version.extensions['revisionMacros'] = {\n major: 1,\n minor: 2,\n revision: 0\n };\n\n function tagcontents(b, starttags, desttags, endtags, k) {\n function tagfound(i, e) {\n for (var j = 0; j < e.length; j++) {\n if (a.indexOf(e[j], i) == i) {\n return e[j];\n }\n }\n }\n var a = b.source.slice(k);\n var l = 0;\n var c = "";\n var tg;\n for (var i = 0; i < a.length; i++) {\n if (tg = tagfound(i, starttags)) {\n l++;\n }\n else if ((tg = tagfound(i, desttags)) && l == 0) {\n b.nextMatch = k + i + tg.length;\n return [c, tg];\n }\n else if (tg = tagfound(i, endtags)) {\n l--;\n if (l < 0) {\n return null;\n }\n }\n c += a.charAt(i);\n }\n return null;\n }\n macros['cycle'] = macros['insertion'] = macros['removal'] = macros['revision'] = macros['span'] = {\n handler: function (g, e, f, b) {\n var begintags = ["<<revision", "<<cycle", "<<insertion", "<<removal", "<<span"];\n var becomes = ["<<becomes>>", "<<gains>>"];\n var endtags = ["<<endrevision>>", "<<endcycle>>", "<<endinsertion>>", "<<endremoval>>", "<<endspan>>"];\n var name = f[0].replace(" ", "_");\n var k = b.source.indexOf('>>', b.matchStart) + 2;\n var c, vsns, vsn, i, cn, vtype;\n vsns = [];\n c = tagcontents(b, begintags, becomes.concat(endtags), endtags, k);\n if (c && endtags.indexOf(c[1]) == -1) {\n while (c) {\n vsns.push(c);\n c = tagcontents(b, begintags, becomes, endtags, b.nextMatch);\n }\n c = tagcontents(b, begintags, ["<<end" + e + ">>"], endtags, b.nextMatch);\n }\n if (!c) {\n throwError(g, "can't find matching end" + e);\n return;\n }\n vsns.push(c);\n i = 0;\n cn = 0;\n m = insertElement(g, "span", null, e + " " + name);\n if (vsns.length > 0) {\n h = insertElement(m, "span", null, "revision-span initial");\n }\n else {\n h = m;\n }\n if (e == "insertion") {\n h.style.display = "none";\n }\n h.setAttribute("data-enabled", (e != "insertion") + "");\n vsn = vsns.shift();\n h.tweecode = vsn[0];\n while (vsns.length > 0) {\n i += 1;\n vtype = vsn[1].slice(2, -2);\n vsn = vsns.shift();\n h = insertElement(m, "span", null, "revision-span " + vtype);\n h.tweecode = vsn[0];\n h.setAttribute("data-enabled", "false");\n h.style.display = "none";\n }\n h = m.firstChild;\n new Wikifier(h, h.tweecode);\n }\n }\n var de = "data-enabled";\n\n function revise(rt, rname) {\n var rall, r, rc, rcl, ind, ind2, curr, next, ins, rmv, cyc, rev, rnd;\n rev = (rt == "revert");\n rnd = (rt.indexOf("random") > -1);\n var rsp = "revision-span";\n\n function showVer(n) {\n n.innerHTML = "";\n new Wikifier(n, n.tweecode);\n n.setAttribute(de, "true");\n n.style.display = "inline";\n n.classList.remove(rsp + "-out");\n n.classList.add(rsp + "-in");\n if (n.timeout) clearTimeout(n.timeout);\n n.timeout = setTimeout(function () {\n n.classList.remove(rsp + "-in");\n }, 1);\n }\n\n function hideVer(n) {\n n.setAttribute(de, "false");\n n.classList.remove(rsp + "-in");\n n.classList.add(rsp + "-out");\n if (n.timeout) clearTimeout(n.timeout);\n n.timeout = setTimeout(function () {\n if (n.getAttribute(de) == "false") {\n n.classList.remove(rsp + "-out");\n n.style.display = "none";\n n.innerHTML = "";\n }\n }, 1000);\n }\n\n function doToGainerSpans(n, fn) {\n for (var k = n - 1; k >= 0; k--) {\n if (rc[k + 1].classList.contains("gains")) {\n fn(rc[k]);\n }\n else break;\n }\n }\n rall = document.getElementsByClassName(rname);\n for (var i = 0; i < rall.length; i++) {\n r = rall[i];\n rc = r.childNodes;\n ins = r.classList.contains("insertion");\n rmv = r.classList.contains("removal");\n cyc = r.classList.contains("cycle");\n rcl = rc.length - 1;\n ind = -1;\n for (var k = 0; k <= rcl; k++) {\n if (rc[k].getAttribute(de) == "true") {\n ind = k;\n }\n }\n if (ind == -1) {\n if (ins) {\n ind = -1;\n curr = null;\n }\n else if (rmv) {\n ind = rcl + 1;\n curr = null;\n }\n }\n else {\n if (rev) {\n ind -= 1;\n }\n curr = (ind >= 0 ? rc[ind] : (cyc ? rc[rcl] : null));\n }\n ind2 = ind;\n if (rnd) {\n ind2 = (ind + (Math.floor(Math.random() * rcl))) % rcl;\n }\n next = (ind2 < rcl ? rc[ind2 + 1] : (cyc ? rc[0] : null));\n var docurr = (rev ? showVer : hideVer);\n var donext = (rev ? hideVer : showVer);\n if (curr) {\n if (!(next && next.classList.contains("gains")) || rnd) {\n docurr(curr);\n doToGainerSpans(ind, docurr);\n }\n }\n if (next) {\n donext(next);\n if (rnd) {\n doToGainerSpans(ind2 + 1, donext);\n }\n }\n }\n }\n\n macros['revert'] = macros['revise'] = macros['randomise'] = macros['randomize'] = {\n handler: function (a, b, c) {\n var l, rev, rname;\n\n function disableLink(l) {\n l.style.display = "none";\n }\n\n function enableLink(l) {\n l.style.display = "inline";\n }\n\n function updateLink(l) {\n if (l.className.indexOf("random") > -1) {\n enableLink(l);\n return;\n }\n var rall = document.getElementsByClassName(rname);\n var cannext, canprev;\n for (var i = 0; i < rall.length; i++) {\n var r = rall[i];\n if (r.classList.contains("cycle")) {\n cannext = canprev = true;\n }\n else {\n var rc = r.childNodes;\n var rcl = rc.length;\n var ins = r.classList.contains("insertion");\n var rmv = r.classList.contains("removal");\n var rnd = rname.indexOf("random") > -1;\n var ind = -1;\n for (var k = 0; k < rc.length; k++) {\n if (rc[k].getAttribute(de) == "true") {\n ind = k;\n }\n }\n if (ind == -1 && (ins || rmv)) {\n (ins ? cannext = true : canprev = true);\n }\n if (ind > (ins ? -1 : 0)) {\n canprev = true;\n }\n if (ind > -1 && ind < (rmv ? rcl : rcl - 1)) {\n cannext = true;\n }\n }\n }\n var can = (l.classList.contains("revert") ? canprev : cannext);\n (can ? enableLink : disableLink)(l);\n }\n function toggleText(w) {\n w.classList.toggle(rl + "Enabled");\n w.classList.toggle(rl + "Disabled");\n w.style.display = ((w.style.display == "none") ? "inline" : "none");\n }\n var rl = "reviseLink";\n if (c.length < 2) {\n throwError(a, b + ' macro needs 2 parameters');\n return;\n }\n rname = c.shift().replace(" ", "_");\n l = Wikifier.createInternalLink(a, null);\n l.className = "internalLink " + rl + " " + rl + "_" + rname + " " + b;\n var v = "";\n var end = false;\n var out = false;\n if(c.length>1 && c[0][0] == "$") {\n v = c[0].slice(1);\n c.shift();\n }\n switch(c[c.length - 1]) {\n case "end":\n end = true;\n c.pop();\n break;\n case "out":\n out = true;\n c.pop();\n break;\n }\n var h = state.history[0].variables;\n for(var i = 0; i < c.length; i++) {\n var on = (i == Math.max(c.indexOf(h[v]), 0));\n var d = insertElement(null, "span", null, rl + ((on) ? "En" : "Dis") + "abled");\n if(on) {\n h[v] = c[i];\n l.setAttribute("data-cycle", i);\n } else {\n d.style.display="none";\n }\n insertText(d, c[i]);\n l.appendChild(d);\n }\n l.onclick = function () {\n revise(b, rname);\n var t = this.childNodes;\n var u = this.getAttribute("data-cycle") - 0;\n var m = t.length;\n if((end || out) && u == m - (end ? 2 : 1)) {\n if (end) {\n var n = this.removeChild(t[u + 1]);\n n.className = rl + "End";\n n.style.display = "inline";\n this.parentNode.replaceChild(n, this);\n } else {\n this.parentNode.removeChild(this);\n return;\n }\n } else {\n toggleText(t[u]);\n u = (u + 1) % m;\n if(v) {\n h[v] = c[u];\n }\n toggleText(t[u]);\n this.setAttribute("data-cycle", u);\n }\n var lall = document.getElementsByClassName(rl + "_" + rname);\n for (var i = 0; i < lall.length; i++) {\n updateLink(lall[i]);\n }\n };\n disableLink(l);\n setTimeout(function () {\n updateLink(l);\n }, 1);\n }\n }\n macros['hoverrevise'] = {\n handler: function (a, b, c, d) {\n var endtags = ["<<end" + b + ">>"];\n var t = tagcontents(d, ["<<" + b + ">>"], endtags, endtags, d.source.indexOf('>>', d.matchStart) + 2);\n if (t) {\n var rname = c[0].replace(" ", "_");\n h = insertElement(a, "span", null, "hoverrevise hoverrevise_" + rname);\n new Wikifier(h, t[0]);\n h.onmouseover = function () {\n revise("revise", rname);\n }\n h.onmouseout = function () {\n revise("revert", rname);\n }\n }\n }\n }\n macros['becomes'] = macros['gains'] = macros['endrevision'] = macros['endinsertion'] = macros['endremoval'] = macros[\n 'endcycle'] = macros['endhoverrevise'] = {\n handler: function () {}\n }\n\n}());
<<display 'Inventory'>>\n\n<<if $hasKeys gte 1>>The key fits into the door and it opens. You see another room.\n* [[Enter Room]]\n<<set $hasKeys -= 1>>\n<<else>>The door is looked, you have no key!\n<<back>>\n<<endif>>
<<silently>>\n<<set $changed = "no">>\n<<if $firstKeyTook eq "no">>\n <<set $changed = "yes">>\n <<set $hasKeys += 1>>\n <<set $firstKeyTook = "yes">>\n<<endif>>\n<<endsilently>><<display 'Inventory'>>\n<<if $changed = "yes">> \nThe key looks like it might fit into a door.<<else>>You already took the key!<<endif>>\n* <<return>>
Hint 1: //There are several points in the game where you can rewind to, if you get lost or something goes terrible wrong. Keep an eye on the Rewind menu on the left!\nYou could also use the back buttons of your browser though. //\n\n''The following hints may contain spoilers of the game, you should only read them if you have problems beating something!''\n\n----\n\n<<revision password>><<revise password "Show hint: Password Door">><<becomes>>The correct password for the door is pretty easy to get. Just get the key from the old man and use it on the other door, which is closed! Or trust the old man ;)<<endrevision>> \n\n<<revision lab>><<revise lab "Show hint: Labyrinth">><<becomes>>You only need to go through 5 rooms. <<revision lab2>><<revise lab2 "Which way!?">><<becomes>>//"''__F__''ive ''__R__''estless ''__F__''lies are ''__F__''lying ''__L__''onely into your mouth..."//<<endrevision>><<endrevision>> \n\n<<revision combi>><<revise combi "Show hint: Combination lock">><<becomes>>//"The answer to life, the universe and everything."//<<endrevision>> \n\n<<revision riddle>><<revise riddle "Show hint: The Riddle">><<becomes>>You can eat it! ;)<<endrevision>> \n\n----\n\n<<return>>
<<display 'Inventory'>>\n\n<<if $password eq "potato">>You hear a click and the door opens.\n* [[Enter Next Room|Enter 2. Room]]<<else>><<if $password eq "donkey">>You hear a click and the floor moves quickly to the side... You are falling...\n\n* [[Restart|Start]]\n\n//"Don't trust the old man..."//<<else>>A tiny screen shows "Wrong Password".\n<<return>><<endif>><<endif>>
<<display 'Inventory'>>\n\nThe chest contains some small potatoes and a key.\n\n* [[Take key|Take second key]]
<<display 'Inventory'>>\n\nYou are now outside. You feel the sun on your skin... But as you look around you get the feeling, that you have a long way to go...\n\n//To be continued...//
<<display 'Inventory'>>\n\nYou walk towards the old man. As you come closer to him he seems to be a bit surprised and angry... He moves his hand slowly to a knife.\n\n* [["I don't want to steal your potatoes"|no stealing]]
<<display 'Inventory'>>\n\nYou see a small corridor.\nYou can walk in three directions:\n*[[Back|Enter 2. Room]]\n*[[Forward|2]]\n*[[Right|3]]
<<display 'Inventory'>>\n\nYou're now in a strangely looking room. It is shaped like an Octagon. You read "Don't trust the old man" on one of the walls, it looks like it was written with blood. On 4 walls are doors, the one in front of you asks for a password.\nYou have 3 ways to go:\n* [[Go through the door on the right]]\n* [[Go through the door on the left]]\n* [[Go through the door in front of you]]\nThe door on the left is slightly opened.
<<display 'Inventory'>>\n\nYou see a small corridor.\nYou can walk in three directions:\n*[[Back|1]]\n*[[Forward|4]]\n*[[Left|Wall]]
<<display 'Inventory'>>\n\nYou see a small corridor.\nYou can walk in three directions:\n*[[Back|1]]\n*[[Left|Wall]] \n*[[Right|Wall]]
<<silently>>\n<<set $button1 = 0>>\n<<set $button2 = 0>>\n<<set $button3 = 0>>\n<<set $button4 = 0>>\n<<endsilently>><<display 'Inventory'>>\n\nYou see a small corridor.\nYou can walk in four directions:\n*[[Back|4]]\n*[[Left|Other Big Room]]\n*[[Right|6]]\n*[[Forward|Wall]]
<<display 'Inventory'>>\n\nYou slowly walk across the room, trying to avoid the old man...\n\n* [[Keep going]]
<<display 'Inventory'>>\n\nYou see a small corridor.\nYou can walk in four directions:\n*[[Back|6]]\n*[[Left|Wall]]\n*[[Right|Wall]]\n*[[Forward|8]]
<<display 'Inventory'>>\n\nYou see a small corridor.\nYou can walk in four directions:\n*[[Back|5]]\n*[[Left|7]]\n*[[Right|Wall]]\n*[[Forward|Wall]]
Trapped
<<display 'Inventory'>>\n\nYou see a small corridor.\nYou can walk in two directions:\n*[[Forward|1]]\n*[[Left|Wall]]
<<display 'Inventory'>>\n\nYou notice that you are in a totally unknown place. You see a closed door and a key lying in front of it. There is only one window. You notice it's pretty cold in this room.\n* [[Look outside the window]]\n* [[Take key|Take first key]]\n* [[Open Door]]\n
<<display 'Inventory'>>\n\nYou see a small corridor.\nYou can walk in three directions:\n*[[Back|3]]\n*[[Left|Wall]]\n*[[Forward|5]]
<<display 'Inventory'>>\n\n"I wish, I would know... you only hear their stange voices.\n\nBut that is enough speaking for now. You probably want to try to find a way out of here... But this is not easy. There is a door with a computer-gate. Enter the password "donkey" and the door will open. This is the starting-point I'm guessing...\nOh, and I give you the key out of my chest, it might become handy!\n\nGood luck!"\n\n* [[Go back|Enter Room]] \n\n<<silently>>\n<<set $changed = "no">>\n<<if $secondKeyTook eq "no">>\n <<set $changed = "yes">>\n <<set $hasKeys += 1>>\n <<set $secondKeyTook = "yes">>\n<<endif>>\n<<endsilently>>
<<silently>>\n<<if $button2 eq 0>><<set $button2 = 1>><<else>><<set $button2 = 0>><<endif>>\n<<if $button3 eq 0>><<set $button3 = 1>><<else>><<set $button3 = 0>><<endif>>\n<<endsilently>><<display 'Other Big Room'>>
<<display 'Inventory'>>\n\n...you are now in front of the chest. The old man is still sitting on his bag of potatoes.\n\n* [[Open the chest]]
<<display 'Inventory'>>\n\nYou see a small corridor.\nYou can walk in four directions:\n*[[Back|7]]\n*[[Left|Wall]]\n*[[Right|Wall]]\n*[[Forward|6]]
<<display 'Inventory'>>\n\nEverything hurts while you stand up, could be because you were lying at the floor. You wonder why you have different clothes on than you had yesterday night. They look strange.\n* [[Look Around]]
<<display 'Inventory'>>\n\nYou enter a very large room. There is an old man sitting on a bag of potatoes. He hasn't noticed you yet.\nYou also see a small chest at the other side of the room.\n* [[Sneak around the old man]]\n* [[Speak to the old man]]\n* [[Go back|Enter Room]]
<<display 'Inventory'>>\n\nYou enter a very small room. There is only a small note saying "Password: potato"\n\n* [[Go back|Enter Room]]
<<silently>>\n<<set $changed = "no">>\n<<if $secondKeyTook eq "no">>\n <<set $changed = "yes">>\n <<set $hasKeys += 1>>\n <<set $secondKeyTook = "yes">>\n<<endif>>\n<<endsilently>><<display 'Inventory'>>\n<<if $changed = "yes">> \nThe key looks like it might fit into a door.<<else>>You already took the key!<<endif>>\n* [[Leave the room|Angry man]]
<<display 'Inventory'>>\n\nYou are now in a big and empty room. On the wall at the other side is a sign in front of a door. \n\nIt says "What has eyes but cannot see?"\n\n* [[Answer]]
<<display 'Inventory'>>\n\nThis is an impasse.\n* <<return>>
<<silently>>\n<<if $button1 eq 0>><<set $button1 = 1>><<else>><<set $button1 = 0>><<endif>>\n<<if $button4 eq 0>><<set $button4 = 1>><<else>><<set $button4 = 0>><<endif>>\n<<endsilently>><<display 'Other Big Room'>>
<<display 'Inventory'>>\n\n"So, I guess you weren't introduced to ''them''?\n\nWe are in some kind of facility where they test us. They give us enough too eat, as you can see on these potatoes. We are trapped inside and if you find a window you only see darkness, which can't be a good thing... Once I threw a potato out there... I don't think there is a ground...\n\nThey don't tell what we have to do, but I am guessing we need to find a way out of here... But I have never figured it out...\n\nI am just sitting here, protecting my potatoes."\n\n* [["Who are ''they''?"|Who?]]
<<display 'Inventory'>>\n\nYou see darkness...\n* <<return>>
<<silently>>\n<<if $button1 eq 0>><<set $button1 = 1>><<else>><<set $button1 = 0>><<endif>>\n<<if $button3 eq 0>><<set $button3 = 1>><<else>><<set $button3 = 0>><<endif>>\n<<if $button4 eq 0>><<set $button4 = 1>><<else>><<set $button4 = 0>><<endif>>\n<<endsilently>><<display 'Other Big Room'>>
<<display 'Inventory'>>\n\n<<if $answer eq "potato">>You hear a strange voice saying "Uhh, you are smarter than we thought..."\n\nThe door opens. You see daylight.\n* [[Go out]]\n<<else>>You hear a strange voice saying "This is not the answer we are looking for..."\n<<return>><<endif>>
<<silently>>\n<<if $button1 eq 0>><<set $button1 = 1>><<else>><<set $button1 = 0>><<endif>>\n<<if $button2 eq 0>><<set $button2 = 1>><<else>><<set $button2 = 0>><<endif>>\n<<endsilently>><<display 'Other Big Room'>>
Extended Version for #1GAM\nby Benedict Balzer
<<display 'Inventory'>>\n\n"You better don't do that!\n\nI don't see many persons in here... Do you remember anything?"\n\n* [["I was out with a friend drinking... then I woke up here... Where the f* am I?"|Where?]]
<<display 'Inventory'>>\n\nEnter the password: <<textinput "password" "Password Check" "Enter">>\n* [[Back|Enter Room]]
* [[Hints]]