You're in a small room - an emergency airlock stands before you. Tumors grow out of control everywhere. The room has all its electricity. You can hear it hum and spark as the nework puts all its energy into fighting the infection.\n\nYou realize the infection must be [[inside the airlock]].
About the KIN network!\nAn image of the KIN network.\n\n<<back>>
You pick up th gross commlink. It drips with yellow pus.\n\nYou wipe it against your jacket and look at is skeptically.\n\nYou could [[put it back in your ear|commlink back infect]] (You've done worse...) or [[pocket it|commlink pocket infect]]
The technician's voice is deep but clipped as he reads off the monitor. "02 sensors are on and working. Temperature is slightly warmer - 25.4C - than expected, with high humidity levels. Monitoring has shown no change in these vitals. Life support systems are a go. We can vouch for their integrity for the next two hours."\n\nYou nod. No suit required this time.\n\n"There's some gear in there for you. Just the standard stuff, nothing special. Let me know if anything is missing."\n\nYou see the dented [[metal toolbox|gear]] against the wall.
You pick up the coffee mug. Stainless steel and magnetic. The coffee in it has evaporated, leaving behind a brown stain and a bit of mold growing on it. The heat and humidity of the spacestation must have fed it during the hours the network was out of contact. There is saliva on the rim of the cup.\n\nStill no sign of the crew.\n\nYou put the coffee mug back on the desk and [[look around the room|forward]] for more options.
You pick up the pair of gloves. Here's some random details about the gloves. It's unusual to see them lyng around - too long out in the air and they turn to scabs, losing their flexibility and moisture. These feel slightly cracked, but not enough to diminish their integrity.<<set $gloves = 1>><<update>>\n\n[image of the gloves]\n\nYou get [[out of the elevator|the right]].
You head into level 3. You can observe this area or [[turn the corner]].
This is a networking component. Like a distended kidney. Cool to the touch. Tastes sour with a slight smell of ammonia.\n\n[image]\n\n<<back>>
This is a flashlight\n\n<<back>>
A moldy apple you picked up from an administrative office.\n\n[image of apple]\n\nBacteria has colonized it, multiplying and dividing and consuming and defecating within the darkened core.\n\n<<back>>
You interact with KIN. Kinsey Intelligence Network.<<set $network = 1>><<update>>\n\n[image of the console here]\n\nThe keyboard are small pads of flesh. You can feel the hairs tickle your fingertips. You place your finger on the login needle and a sharp pain and drop of blood later and the console boots up.\n\n---PERMISSIONS DENIED---\n\nYou reach into your pocket for the [[override code|override code 2]].
KIN tells you about its immune capacity.\n\n86% of all processes dealing with immune system responses to fight the infection and keep it at bay\n6% of processes for life support\n8% of processes for ??? main functions\n\nThe lights dim momentarily. The network is stretched to its limits.\n\n"What progress have your white blood cells had on the infection?"\n\nKIN responds: "they have been [[repressed by unknown mechanism|repressed white blood cells]]."\n
KIN's voice echoed out over the internal speakers. It's membranes continue to breathe and beat with the blood flowing through them.\n\nSCANNING FOR FURTHER INFECTION....\nREALLOCATING MEMORY....\n\nThe emerency lights turn on throughout Sector 4. You can hear the buzzing of it's synapses firing, it's sensitive tongues and hairs taste the air for further infection.\n\n[[You wait|Infection Results]].
<<if $gloves eq 1>>You put the gloves on your hands like a second skin and touch the residue on the door. It is sticky. The ducts must be leaking. You pull apart the doors, careful not to let any of the substance on your fingers.\n\nThe gloves begin to disintegrate. You strip them off and toss them to the ground. <<set $gloves = 0>><<update>>\n<<endif>><<if $gloves eq 0>>You use your bare hands to open the doors. The sticky residue is warm to the touch. You pull apart enough for you to squeeze through. You glance at your hands. They are feeling very warm. You rub them against your vest and swear.<<set $infection = 1>><<update>><<endif>>\n\nYou [[enter the mainframe room|network room]].<<set $visitedmainframe = 1>>
The picture frame is a thin membrane. Burnt into it you can see a figure of a man in full uniform, but the discoloration of the membrane makes the view ghostly.\n\nYou place it back on the desk and [[look around the room|forward]] for more options.
"You can access the entire infected network from there. See if you can find out [bzzt] what [bzzt] crew." The commlink crackles loudly. It has bad reception or there's interference from within the room.\n\n"Shuttle, you're breaking up."\n\nYou hear only static from the [[commlink|check commlink]].\n\nYou look at [[the interface]] for the mainframe.\n
The elevator stop abruptly.\n\n"KIN, why has the elevator stopped?"\n\nThe hidden machinery hums as though powering up, and then goes quiet. The lights turn off.\n\n"[[KIN?|elevator says feed me]]"
You wipe the fog from the small porthole and peer out into space.\n\nSector 4 floats directly across from you, alone and detached from the rest of the station. The shuttle has lined you up perfectly with an entrance on its lower deck. You hear the machinery hidden behind the metal panels roar as the shuttle extends the corridor that will connect the two floating metal husks.\n\nAn alarm bleats at you twice, replaced by a chilly silence. [[Invisible chemicals|Invisible chemicals hiss]] hiss through the ceiling vents to disinfect you.\n\nThe senior officer taps on the glass to your left and points at [[an item|commlink get]] lying on the small shelf bolted beneath his window.
You take a closer look at the sticky residue. It drools over the top lip of the door, thick, and smelling of sweat and rotten food.\n\nIt stands between you and the mainframe door. It would need to be opened manually. You could try <<if $gloves eq 1>>[[opening the doors with your gloved hands|mainframe door]]<<endif>><<if $gloves eq 0>>[[opening the doors with your bare hands|mainframe door]]<<endif>>.\n\nYou could head back into [[the hallway]].
The corridor floats and bends like a cosmic umbilical cord filled with air and warmth to fight off the cold, sterile vacuum of space. The ships are metal, but the corridor is a thick membrane, pink, with darker lines like scars from heavy use. It keeps you safe from the vaccuum outside, and even a little warm.\n\nYou walk along it and steady yourself with your hand on its forgiving flesh as you reach the [[Sector 4 airlock|sector 4 entering]].
(function () {\n var bs = String.fromCharCode(92);\n Wikifier.formatters.unshift({\n name: "htmltag",\n match: "<"+bs+"w+(?:(?:"+bs+"s+"+bs+"w+(?:"+bs+"s*="+bs+"s*(?:"+'"'+".*?"+'"'+"|'.*?'|[^'"+'"'+">"+bs+"s]+))?)+"+bs+"s*|"+bs+"s*)"+bs+"/?>",\n tagname: "<("+bs+"w+)",\n voids: ["br", "hr", "area", "img", "input", "embed", "param", "source", "track"],\n handler: function (a) {\n var re, tn, e;\n re = new RegExp(this.tagname).exec(a.matchText);\n tn = re && re[1];\n if(tn) {\n e = document.createElement(a.output.tagName);\n e.innerHTML = a.matchText;\n e = e.firstChild;\n if(this.voids.indexOf(tn.toLowerCase()) == -1) {\n a.subWikify(e, "<" + bs + "/" + bs + "s*" + tn + bs + "s*>");\n }\n a.output.appendChild(e);\n }\n }\n });\n}());
try {\n version.extensions['divboxdemoMacro'] = { \n major:1, minor:0, revision:0 \n };\n macros['divboxdemo'] = {\n handler: function insertElement ( place, type, id, className, text ) {\n new Wikifier( place, '<html><div class="itembox">Hello</div></html>');\n },\n init: function() { },\n };\n} catch(e) {\n throwError(place,"divboxdemo Setup Error: "+e.message); \n}\n\nif(state) (function(){ var it = setInterval(function(){ var fd = $('passages').firstChild; if (fd!=fc) { clearInterval(it); fd.setAttribute("data-tags",tgs); } },0); }());
This is the first aid kit\n\n[image of first aid kit]\n\n<<if $usedbandage eq 1>>It is missing a bandage that you used on your finger.<<endif>>\n<<back>>
<<if $commlink eq 4>>The commlink is stuck in your ear. It is slimey. You dig at it, but you fingers come away bloody. Ugh. You'll need to find something else to feed the elevator.<<else>>You fed the elevator the commlink.<<set $commlink = 0>><<update>>\n\n<<display "elevator continue">><<endif>>
You chat with the engineer. He's panicking? Or has he given up?\n\nHe doesn't want to tell you what's happened. He tries to lie. But if you have evidence from earlier, you can present it to him and ask him about it. He'll be forced to tell the truth.\n\n[[Open Exterior Airlock]]\n[[Open Interior Airlock]]
The elevator powers back up and continues its path.\n\nThe tongue licks its lips slowly as it digests the item you fed it.\n\nEventually the elevator. You exit the elevator and [[head into Level 3]]
You place the gross commlink back in your ear.<<set $commlink = 4>><<update>>\n\nTime to check out [[the interface]].
The hallway in forks to [[the left]] and to [[the right]] and exits into the [[cargo hold]]. \n\nThere is [[safety information]] on the wall in front of you.
This is your oxygen mask!\n\n[image of oxygen mask]\n\nThe O2 cannister has 98% capacity. It should last 10 minutes.\n\n<<back>>
(function(){version.extensions.replaceMacrosCombined={major:1,minor:0,revision:1};\nvar nullobj={handler:function(){}};function showVer(n,notrans){n.innerHTML="";\nnew Wikifier(n,n.tweecode);n.setAttribute("data-enabled","true");\"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");\nn=null},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");\"none";n.innerHTML=""}n=null},1000)}else{"none";\nn.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]\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);"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 keySetup(m,g,f){var fl=this.flavour,key=f[0];\nm.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\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",this)\n};m.onmouseout=function(){revise("revert",this)};m=null}function mouseSetup(m){var fl=this.flavour,evt=(window.onmouseenter===null?"onmouseenter":"onmouseover");\nm[evt]=function(){var done=!revise("revise",this);if(done){this[evt]=null\n}};m=null}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)}};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\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:"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);\nmacros[]=e;macros["end"]=nullobj;begintags.push(;\nendtags.push("end"});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){"none"}function enableLink(l){"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");\"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{"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";"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);\nl=null},1)}};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]);\nif(b=="hoverrevise"){h.onmouseover=f;h.onmouseout=function(){reviseAll("revert",rname)\n}}else{h[evt]=f}h=null}}};macros.endmouserevise=nullobj;macros.endhoverrevise=nullobj\n}());1;
You enter the research lab.\n\nIt's very dark in here. There are no lights except a few small red glowing dots here or there powered by emergency systems.\n\n<<if $flashlight eq 1>>You use your flashlight to [[explore|rl light1]].<<else>>You don't have a flashlight. Guess you'll have to wander around carefully [[in the dark|rl dark1]].<<endif>>
The commlink is a bit of flesh that easily molds to the warmth of your ear, tickling you.\n\n[image of commlink]\n\n<<if $commlink eq 0>>You do not have the commlink. This passage is invalid!<<else if $commlink eq 1>>You have a clean commlink in your ear<<else if $commlink eq 2>>You have a clean commlink in your pocket<<else if $commlink eq 3>>You have a dirty commlink in your pocket<<else if $commlink eq 4>>You have a dirty commlink in your ear<<endif>>\n\n<<back>>
"So I'll lose contact when accessing the network core? That's not normal."\n\nHe gives you a silent grimace through the glass. "That's because you are used to old tech, but Sector 4's been prototyping and building new networking components for the fleet so her network is overclocked. Our commlinks aren't use to that kind of density, so it's likely to start fizzing out [[in there|quarantine process]]."
You pick up the moldy apple and note that the heat and humidity has cause the mold to grow quickly, spreading throughout the single bite punctured in its skin.\n\n[image of the apple]<<set $apple = 1>><<update>>\n\nYou [[look around the room|forward]] for more options.
INSUFFICIENT DATA\nINSUFFICIENT DATA\nINSUFFICIENT DATA\n\nMEMORY BANKS AT 99% CAPACITY\n\nThe lights return to normal and the fans continue to breathe O2 throughout the sector.\n\n[[PLEASE INSERT DATA]]
Boxes and boxes pile inside the room. It's not exactly cavernous but large anyway.\n\nYou peer at the label on one of the boxes.\n\nHere's the label. There's network equipment, newest firmware and hardware upgrades. Delivery locations are for ships and stations all over this solar system. The boxes are sealed with juat tape.\n\nYour curiosity piques as you wonder what the new equipment [[inside the box]] looks like, but you know you need to leave the [[cargo hold]] if you want to find the mainframe.
try { \n\nversion.extensions.backMacro={major:1,minor:1,revision:0};\nmacros['back'] = {\n\n handler: function (place, name, params) {\n var labeltouse = this.labeltext;\n var hash = '';\n if (params[0] && params[0] != 'label' && params[0] != 'labeldefault') {\n for (var i = 0; i < state.history.length; i++) {\n if (state.history[i].passage.title == params[0]) {\n hash = state.history[i].hash;\n break;\n }\n }\n } else {\n if(params[0] == 'label' || params[0] == 'labeldefault') {\n if(!params[1]) {\n throwError(place, params[0] + 'keyword needs an additional label parameter');\n return;\n }\n labeltouse = params[1];\n if(params[0] == 'labeldefault') this.labeltext = params[1];\n }\n if (state.history[1]) {\n hash = state.history[1].hash;\n } else {\n throwError(place, 'cannot go back from the first passage read');\n return;\n }\n }\n\n if (hash === '') {\n throwError(place, 'cannot find passage "' + params[0] + '" in history');\n return;\n }\n\n el = document.createElement('a');\n el.className = 'back';\n el.href = hash;\n el.innerHTML = labeltouse;\n place.appendChild(el);\n },\n\n labeltext: '« back'\n\n};\n\n} catch(e) { \n throwError(place,"Macro back supporting labels Error: "+e.message); \n}
You communicate with the console! Horay!\n\nThe console has a personality. It has a maternal nature, but right now is most concerned about self preservation.\n\n"KIN, tell me how extensive the infection is. What are your [[vitals]]?"\n\n[[Ask the console about itself|console emotion]]
These gloves are made of biological material. Stem cells. They come with their own fingerprints to help keep track of them. They fit like a second skin.\n\nLiterally.\n\n<<back>>
The mechanics behind interference in the commlink. The neural impulses. The network overriding the commlink.\n\nYou hear the commlink whisper to you, or screams. It sounds earily familiar.\n\n[[elevator abrupt stop]]
[image of an eye blinking at you]\n\nThe eye turns green and an alarm sounds three times before the door hisses and opens before you.\n\nYou step on board Sector 4 and the door seals behind you.\n\nThe corridor retracts and the shuttle distances itself. "I'm in," you tell the officer on the other end of your commlink.\n\nYou [[advance|The Forbidden Zone]] into Sector 4.
"What is the source of your malfunction, KIN? Where is the infection located? And where is the crew?"\n\nThe lights in the room dim. THe fans power down for a precarious moment. You find yourself inimiately aware of the oxygen mask hanging from your belt.\n\n[[INSUFFICIENT DATA]]
You open the interior airlock door.\n\nTHe engineer stands up, alerted to the door moving. He screams, but it is silent still, behind the thick glass. He waves and jumps trying to get your attention but you ignore him.\n\nHe pushes himself up against the exterior airlock door and braces himself.\n\nThe door opens and the tumors burst open with fleshticles. They grab him and pull him inside of them. You hear him scream, and then hear his scream muffled and grow distant from within the womb-like digestive track of the ship.\n\n[[INFECTION CLEARED]]
You twist the wheel on the exterior airlock door. With a hiss the door slides open. You can feel the chill in the air on your bare hands.\n\nYou walk along [[the corridor]] connecting the two vessels, feeling the weakening gravity as you leave the integrity of the shuttle and inch yourself closer to the entrance to [[Sector 4|sector 4 entering]].
You examine the interface for KIN. It's a thin membrane with varicose veins streaking through it. A thin film of sweat covers it. \n\nThe interFACE is like a face and needs to reflect it. Giant lips lie below the monitor, where you can feed it.\n\nLarge flesh tubes like knotted intestines wind into the ceiling and off into the various comparments of the vessel, powering and controlling Sector 4.\n\nThe [[network console|console]] [[blinks]] enticingly.
You use your scalpel to open up the tumor.\n\nThere may be an item inside here.<<set $opentumor = 1>>\n\nYou look back at [[the rest of the room|rl light1]].
<<if $commlink eq 4>>You attempt to pull the commlink out of your ear but it doesn't budge. It is also like it is glued in there. It secretes a warm sticky substance that reddens your fingers as you try to grab at it.<<set $commlink = 5>><<update>>\n\nYou will need to find [[something else|PLEASE INSERT DATA]] to feed the network and deal with this commlink malfunction later.<<else>>You feed it the commlink.<<set $commlink = 0>><<update>><<set $network_fed = 1>>\n\n"KIN, please scan for the location of [[the crew|scanning for crew]] and the location of [[the infection|scanning for infection]]."<<endif>>\n
A pair of lips among the control panel speak up. "Insufficient Data" it purrs at you.\n\nYou check your gear for something to feed it.\n<<if $commlink eq 1 or $commlink eq 2 or $commlink eq 3 or $commlink eq 4>>[[Feed it your commlink|feed commlink elevator]]<<endif>>\n<<if $apple eq 1>>[[Feed it the moldy apple|feed apple elevator]]<<endif>>\n<<if $cargolabel eq 1>>[[Feed it the networking component|feed component elevator]]<<endif>> \n\nYou wonder if it might be better to take [[an alternate route]].
INFECTION IDENTIFIED...\nINFECTION ON LEVEL 3 RESEARCH LAB\nREROUTING POWER TO ELEVATOR\n\nAll immunosystemic responses located in that sector.\n\nThe network closes its eyes to rest. "Please help" it's large lips murmer to it as it goes into standby mode.\n\nYou head [[out the door|the left]] towards the elevator.
<<if $unlocked eq 0>>You investigate the file cabinet, but find it is locked by a basic combination mechanism.\n\n<center><<cyclinglink $combo1 "X" "A" "C" "T" "G">><<cyclinglink $combo2 "X" "A" "C" "T" "G">><<cyclinglink $combo3 "X" "A" "C" "T" "G">><<cyclinglink $combo4 "X" "A" "C" "T" "G">><<cyclinglink $combo5 "X" "A" "C" "T" "G">><<cyclinglink $combo6 "X" "A" "C" "T" "G">><<cyclinglink $combo7 "X" "A" "C" "T" "G">><<cyclinglink $combo8 "X" "A" "C" "T" "G">></center>\n\nYou could try [[the combination|unlocks]], but you only have two hours total to do your job before you need to leave this floating metal hulk. You better get [[back to work|forward]].<<endif>><<endif>>\n\n<<if $unlocked eq 1>>The unlocked file cabinet sits before you. You've already salvaged what you can from it. You better get [[back to work|forward]].<<endif>>
You ask about the repressed white blood cells.\n\nCells are routed to [redacted] and [redacted] and [redacted].\n\nThe computer is unable to give you all the information. It appears to have a [[malfunction]].
version.extensions.ifMacros={major:2,minor:0,revision:0};macros["if"]={handler:function(place,macroName,params,parser){\nvar conditions=[],clauses=[],srcOffset=parser.source.indexOf(">>",parser.matchStart)+2,src=parser.source.slice(srcOffset),endPos=-1,currentCond=parser.fullArgs(),currentClause="",t=0,nesting=0;\nfor(var i=0;i<src.length;i++){if(src.substr(i,9)=="<<endif>>"){nesting--;if(nesting<0){endPos=srcOffset+i+9;\nconditions.push(currentCond);clauses.push(currentClause);break;}}if((src.substr(i,6)=="<<else")&&nesting==0){conditions.push(currentCond);\nclauses.push(currentClause);currentClause="";t=src.indexOf(">>",i+6);if(src.substr(i+6,4)==" if "){currentCond=Wikifier.parse(src.slice(i+10,t));\n}else{currentCond="true";}i=t+2;}if(src.substr(i,5)=="<<if "){nesting++;}currentClause+=src.charAt(i);\n}try{if(endPos!=-1){parser.nextMatch=endPos;for(i=0;i<clauses.length;i++){if(eval(conditions.shift())){new Wikifier(place,clauses[i ].trim());\nbreak;}}}else{throwError(place,"can't find matching endif");}}catch(e){throwError(place,"bad condition: "+e.message);\n}}};
Invisible chemicals hiss... this goes over the medical/biological/chemical/tech side of the quarantine procedures and what it does.\n\nAnd maybe a little on the history. Or how familiar this is to you.\n\n[[An item|commlink get]] sits on the small shelf bolted to the wall. Your senior officer crosses his arms as waits.
The controls let you:\n\n[[Open Exterior Airlock]]\n[[Open Interior Airlock]]\n[[Communicate with the airlock]]
The door is shut and covered with a thin membrane, like a cobweb.\n\nYou touch it gingerly.\n\nThe membrane contracts, its muscles contract, and [[the door opens|airlock room]].
You look out the window from the s7 airlock.\n\nThe space station glitters among the starts with the other twelve sectors, most of them larger than this one. You can't find your shuttle but you know it's out there.\n\nYou look back at the rest of the [[airlock|The Forbidden Zone]]
"It's all fine," you give him a wave and walk to the airlock door. The transfer corridor is in place, connecting the two ships with a perfect seal.\n\n"Alright then," the head engineer replies. He gives you a thumbs up from the other side of the glass. "[[You're good to go!|Exit Airlock]]"\n\n
You place the commlink in your pocket. <<set $commlink = 2>><<update>>\n\nTime to check [[the interface]].
You climb down the maintenance shaft.\n\nYou arrive at the bottom floor, the elevator hovering above you.\n\n<<if $flashlight eq 1>>If you have the flashlight, you drop it down the shaft while opening the doors.<<set $flashlight = 0>><<update>>\n\n<<endif>>You [[head into Level 3]] in search of the infection and the crew.
version.extensions.timedgotoMacro={major:1,minor:1,revision:0};macros["goto"]=macros["timedgoto"]={timer:null,handler:function(a,b,c,d){\nfunction 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(a,s+" isn't a CSS time unit");\nreturn 0;}var t,d,m,s;t=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+""){if(this.timer){clearTimeout(this.timer);\n}s=state.history[0].passage.title;this.timer=setTimeout(function(){if(state.history[0].passage.title==s){state.display(d,a);\n}},m);}}};
This is the pistol. It's sci-fi-ish but still a revolver. Not sure where flesh comes in - maybe its made of bone?\n\n[image of pistol]\n\n<<back>>
All about the senior engineer from the inventory panel.\nAn an image of him, like from an ID.\n\n<<back>>
You struggle through the fleshticles. They are so grabby!\n\nAs you near the end, one of them snakes its fleshticles around your oxygen mask. You tear yourself from them. It disappears into the writhing mass of tentacles.<<set $oxygenmask = 0>><<update>>\n\nYou walk through an open door into [[the research lab|enter the research lab]].
You pick up the commlink.\n\n[image of the commlink]\n\nYou place it in your ear with a satisfying suction. Your ear canal tickles as [[a voice comes over the commlink|commlink chat]].<<set $commlink = 1>><<update>>
You can go back to [[the airlock|The Forbidden Zone]], or<<if $cargolabel eq 0>> [[the cargo]], or <<endif>>[[exit|the hallway]] the room through a doorway at the end of the room.
The elevator is moving.\n\n<<if $commlink eq 1>>You are talking to your senior officer over the commlink. It's starting to get [[interference|elevator interference]]<<endif>>\n\nIf you have the commlink, you'll either try to get in contact with your shuttle, or hear strange sounds (from the ship). With the latter, the player can attempt to dig it out of their ear. If they have the scalpel, using it here will make them drop it into the maintenance shaft as it gets slippery with blood.\n\nThis happens while the elevator [[descends]] to level 5.
You feed the elevator the networking component. <<set $cargolabel = 0>><<update>>\n\n<<display "elevator continue">>
You feed the moldy apple to the elevator mouth <<set $apple = 0>><<update>>\n\n<<display "elevator continue">>
Your attention slips and the next thing you know you feel a cool, wet sensation on the tip of your finger, followed momentarily by a sharp pain.<<set $digdown = 1>>\n\nYou pull your hand out, splattering drops of blood along the white papers and the cold, metal, sterile desk.\n\n<<if $firstaidkit eq 1>>You dig into the first aid kit for a bandage and sloppily wrap your finger.<<set $usedbandage = 1>><<endif>><<if $firstaidkit eq 0>>You suck on your finger, tasting the tangy iron hemoglobins coursing from the surgical cut. You wish you had a bandage or something to wrap it.<<endif>>\n\nYou could carefully uncover the bottom of the drawer to find out [[what sliced you|scalpel get]], or you could cut your chances and check out [[the rest of the room|forward]].
You check the analog watch on yur wrist. "What if I need to leave earlier?"\n\nThe officer shakes his head. "Get in contact with us and we'll see what we can do. Just don't take any longer, or there's a risk that the life support would shut off. We'll pick you up at the same airlock you enter from. Got it?"\n\n"Yeah, yeah," you say while glancing out the airlock window at Sector 4.\n\n"And Eboh?" the officer waits for you to look at him. "Try to follow proper sanitation procedures this time. I don't want to bring [[the infection|infection protocol]] on board like last time."
KIN responds with her vitals.\n\nImmune reaction is at [[86% capacity|immune capacity]]. White blood cells have been sent to eliminate the infection but they have been [[repressed by unknown mechanism|repressed white blood cells]].\n\nKIN coughs and sputters at the end of the speech.
WALKTHROUGH\nAs a hypertext game, each link will brng you closer to the end. There are no "good" or "bad" endings. Every item has multiple purposes, and if you do not have items are certain spots you will have other options to follow. There are four distinct endings.\n\nHINT\nThere is one puzzle that needs to be completed in order to progress. You must feed the network in the mainframe room one item: the commlink (if you did not drop it, or wear it after dropping it), a moldy apple (found on the desk in the Administrator Office), or a network transmitter (found in the cargo, which you can open with the scalpel at the bottom of the Administrator's desk).\n\nAll other puzzles still propel the player forward.
You go through an initial round of [[security scanning]] before entering the quarantine zone. Anything that could get infected needs to remain behind.\n\nYou hand over your non-essential equipment and items, like your [[wallet and ID card]].
<<if $combo1 eq "A" and $combo2 eq "A" and $combo3 eq "A" and $combo4 eq "A" and $combo5 eq "A" and $combo6 eq "A" and $combo7 eq "A" and $combo8 eq "A">>The file cabinet unlocks.\nYou look inside the locked file cabinet.<<set $unlocked = 1>>\n\nThere's something important in here, not sure what. You grab it and add it to your inventory.\n\nMaybe the engineer in the airlock gives you the combination? Or else you can decode it from the broken transmissions from the network.\n\nYou [[return to the room|forward]].\n<<else>>The file cabinet doesn't budge. You'll need to do better if you want to open it. The time is ticking.\n\nYou debate whether to [[continue trying the combination|a file cabinet]] on the file cabinet or return to the [[rest of the room|forward]].<<endif>>
Time + 11 minutes:\n\n[[debug timer 2]]
The networks lips part below the console, thick and full and dotted with saliva. It's teeth are large and round.\n\n<<if $commlink eq 1 or $commlink eq 2 or $commlink eq 3 or $commlink eq 4>>[[Feed it your commlink]]<<endif>>\n<<if $apple eq 1>>[[Feed it the moldy apple]]<<endif>>\n<<if $cargolabel eq 1>>[[Feed it the networking component]]<<endif>>\n\nYour only other option is to [[the left]] to find data to feed the network.\n
You feed it the networking component.<<set $cargolabel = 0>><<update>><<set $network_fed = 1>>\n\n"KIN, please scan for the location of [[the crew|scanning for crew]] and the location of [[the infection|scanning for infection]]."\n
<<update>>behold, the pixellized map of sector 4 that I am going to love making.\n\nIt should reflect the bio-tech horror elements (veins, arteries)\nIt should outline the accessible and inaccessible locations.\nIt should update as you complete the game and explore.\nMaybe should also update and degrade with errors as the infection gets worse.\n\n<<back>>
You force the elevator doors open first by wedging your hands between them, then your foot, knee, and shoulders.\n\nInside you can see a toolbox with miscellaneous tools spread across the floor of the elevator<<if $gloves eq 0>>and a [[pair of gloves]].<<endif>><<if $gloves eq 1>>.<<endif>>\n\nThe elevator exits out into [[the hallway|the right]].
SCANNING FOR HUMAN CREW...\nCREW LOCATION UNKNOWN...\nLAST LOCATION KNOWN: LEVEL 3 RESEARCH LAB\nREROUTING POWER TO ELEVATOR\n\nThe network closes its eyes to rest. "Please help" it's large lips murmer to it as it goes into standby mode.\n\nYou head [[out the door|the left]] towards the elevator.
You pull out the scalpel and start slicing at them. They scream and avoid you, the blood whipping through the air and landing on you.\n\nThe blood makes the scalpel slippery and you drop it. The flesh whisks it away into the walls.<<set $scalpel = 0>><<update>>\n\nYou get through the hallway.\n\nYou walk through an open door into [[the research lab|enter the research lab]].
There appear to be no signs of life. The debriefing told you to expect about forty crew members. Emergency quarantine procedures means they should have been in or around the emergency airlock waiting for evacuation.\n\nThe light over the door [[blinks|airlock blinks]] at you.
You leave the commlink on the floor. There's no way you are using it anymore. You can still watch the time and make sure to be back in the airlock by then.<<set $commlink_on_floor = 1>>\n\nSpeaking of time...\n\nYou return to [[the interface]].
You rifle through the desk drawers. Papers, writing utensils, more digital interfaces with confidential information, timestamps, and reports. \n\n<<if $digdown eq 0>>You dig down further to the [[bottom of the drawer]] while [[looking around the room|forward]] for other options. <<endif>><<if $digdown eq 1>>You see splatters of your blood. It was a nasty cut. <<endif>><<if $scalpel eq 1>>You've already searched the drawers enough. You're satisfied there isn't anything else of interest there except reciepts and tax forms. You start [[looking around the room|forward]] for other options.<<endif>>\n\n<<if $scalpel eq 0 and $digdown eq 1>>You contemplate checking the drawer again for [[what sliced you|scalpel get]] or go back to [[looking around the room|forward]] for other options.<<endif>>
"Can you tell me about Sector 4? I don't think I've ever been there."\n\nThe senior officer nods at you, holding his hand up to the commlink in his own ear. "It's not a live-a-board, only shift worker. About forty of 'em are on board, but we haven't had any signs of them since Sector 4 detached itself from the hub to prevent [[further infection|infection protocol]]." \n\n"They make networking components - state of the art stuff. Funny thing, they're supposed to deliver us ournew parts next month."
<<<\nTO: Officer Eboh\nRE: infection protocol\n\nPursuant to regulation 104b, please inv□estigate the netwΘrk malfunctioN in S4 and provide your recoɯmendMAT.r();ations t□□o the engin□∑ring @importDLLt;department ASAP/n/t\n\n¶Thank you Ⅎ□r your {TITL-pvw|src= cooper□□tio/a/c/.break/endl;\n<<<\n\n!![[{exec flesh.TOTEM}|quarantine start]]\n\nby Liz England\n@lizardengland /\nmade in Twine [download source]\n\nContent warnings: body horror, depictions of violence, blood, needles, self-harm, death\n\nSpecial thanks goes here for their feedback. (Who? Patrick, maybe Mark, Vanessa, Travis, ?)\n<<silently>>\n<<set $officer = 0>>\n<<set $map = 0>>\n<<set $network = 0>>\n<<set $flashlight = 0>>\n<<set $scalpel = 0>>\n<<set $gloves = 0>>\n<<set $oxygenmask = 0>>\n<<set $overridecode = 0>>\n<<set $firstaidkit = 0>>\n<<set $pistol = 0>>\n<<set $cargolabel = 0>>\n<<set $commlink = 0>>\n<<set $digdown = 0>>\n<<set $forward_first = 0>>\n<<set $unlocked = 0>>\n<<set $commlink_on_floor = 0>>\n<<set $visitedmainframe = 0>>\n<<set $apple = 0>>\n<<set $network_fed = 0>>\n<<set $opentumor = 0>>\n<<back labeldefault "//return;">>\n<<update>>\n<<endsilently>>\n\n<<set $timer = 0>>[[debug timer 1]]
"What's this?" you ask as you open up the second compartment and find two items - a first aid kit and a pistol. Not the standard tools, but not entirely unheard of either. \n\n"Lt. Joon must have left them behind from the last shift. Take whatever you can carry if you think you'll need it."\n\nYou go to reach for them but realize you don't have room for everything.\n\nYou contemplate which you'd prefer to bring with you - [[the pistol]] or [[the first aid kit]].
You are careful to remove the papers and items now stained with DNA dewdrops to reveal a scalpel sitting at the bottom of the drawer.\n\n[picture of scalpel with a little blood on it]<<set $scalpel = 1>><<update>>\n\nYou take it and check out [[the rest of the room|forward]].
You peer into the airlock of Sector 4. Electricity powers the lights. You don't see any [[signs of life]] inside.\n\nThe light on the outside of the airlock indicates that the room has oxygen. You pull a manual level on the outside, the cold steel that had been exposed to space freezing in your hand.\n\nThe light over the door [[blinks|airlock blinks]] at you.
"Welcome, Officer Eboh," the your superior begins, his voice tickling the delicate hairs in your ear. You pace back and forth slowly as he speaks.\n\n"As usual, this will be the only way to communicate with us while you are [[on board|quarantine process]] unless you manage to reboot their network. It has pretty good range, but we might drop out of contact with all those [[neural impulses]]."
A pair of lips among the control panel speak up. "Insufficient Data" it purrs at you.\n\nYou check your gear for something to feed it.\n<<if $commlink eq 1 or $commlink eq 2 or $commlink eq 3 or $commlink eq 4>>[[Feed it your commlink|feed commlink elevator]]<<endif>>\n<<if $apple eq 1>>[[Feed it the moldy apple|feed apple elevator]]<<endif>>\n<<if $cargolabel eq 1>>[[Feed it the networking component|feed component elevator]]<<endif>> \n\nYou wonder if it might be better to take [[an alternate route]].
<<set $map = 1>><<update>>You access the map and attempt to commit it to memory.\n\n[view map here]\n\nYou back up and [[observe|the hallway]] your surroundings.
It is well-lit. The infection must not have compromised the lighting systems.\n\nYou look around. You are standing in a large airlock normally used for shipments, not personel. The [[airlock controls]] are to your right, but the door is already open. Beyond it you can see a [[cavernous cargo hold|cargo hold]].\n\nThe room you are in has a [[window|window from s7 airlock]] on the airlock door, letting you peer into space.
You pick up th gross commlink. It drips with yellow pus.\n\nYou wipe it against your jacket and look at is skeptically.\n\nYou could [[put it back in your ear|commlink back infect2]] (You've done worse...) or [[pocket it|commlink pocket infect2]]
<<if $forward_first eq 0>>The first time you head into this room, the door is simply ajar. You open it fully.<<set $forward_first = 1>>\n\n<<endif>>The light flickers in the engineering office. Like a manager's office, but a bit more technical, and fairly small.\n\nMobile interfaces lie stacked haphazardly on [[the desk]] besides [[a coffee mug]], <<if $apple eq 0>>[[a moldy apple|apple get]], <<endif>>and [[a picture frame]]. Across the room stands [[a file cabinet]]. \n\nThe glow from [[the hallway|the right]] light beckons you.
You go down the hallway and take a right.\n\n<<if $network_fed eq 0>>In front of you is an [[elevator|elevator off]]. The light over the door is dim. It does not look like it has enough power to run, but it doesn't matter. The network mainframe is supposed to be on this level anyway. <<else>>In front of you is an [[elevator|elevator on]]. Level 3 can be accessed from it, somewhere below it. The light over it glows dimly and the doors stand open.<<endif>>\n\n<<if $forward_first eq 0>>Recessed into the wall is a small sign that says "Administrative Office". The door is slightly [[ajar|forward]].<<endif>><<if $forward_first eq 1>>You could enter the [[Administrative Office|forward]].<<endif>>\n\nOpposite the elevator lies [[the hallway]] you initially came from.
You glance around the airlock, noting the dented panels and telltale signs of rust, condensation on the pipes, and irridescent splotches from oils leaking from outdated machinery. You note each flaw with great familiarity. The shuttle is due for an upgrade soon.\n\nAn alarm bleats at you twice, replaced by a chilly silence. [[Invisible chemicals|Invisible chemicals hiss]] hiss through the ceiling vents to disinfect you.\n\nThe senior officer taps on the glass to your left and points at [[an item|commlink get]] lying on the small shelf bolted beneath his window.
You flip open the dented metal case and grab your gear.\n\nInside you find the usual - an override code for gaining access to the infected network, an oxygen mask with a cannister that grants about ten minutes of O2, and a flashlight.\n\nYou pocket the override code and sling the oxygen mask and flashlight to your belt.\n\n"The stuff might be old but it's functional. They shouldn't give you any problems."\n\nYou reach to close the toolbox and realize there's [[another compartment]] in the case.\n<<set $overridecode = 1>>\n<<set $oxygenmask = 1>>\n<<set $flashlight = 1>><<update>>
You feed it the moldy apple.<<set $apple = 0>><<update>><<set $network_fed = 1>>\n\n"KIN, please scan for the location of [[the crew|scanning for crew]] and the location of [[the infection|scanning for infection]]."
You place the commlink back in your pocket. It is pretty gross.<<set $commlink = 3>><<update>>\n\n<<if $network_fed eq 1>>The network is in standby mode, concentrating on fighting the infection<<else>>[[PLEASE INSERT DATA]]<<endif>>
You turn the corner to find the hallway filled with fleshticles - fleshy tentacles.\n\nThey have broken free from the wall and float and writhe in the air. Many of them have sores and pus.\n\nIt's obvious the infection is worse here.\n\nYou look back at the elevator and then forward, noting the time. You don't have much time left.\n\n<<if $commlink eq 4>>[[You walk towards the fleshticles (comm)|get through commlink]]<<else>>[[You walk towards the fleshticles|get through other]].
!flesh.TOTEM\na hypertext ficion about \nflesh, technology, and survival\n\n\n<<if $commlink eq 1>>DATA\n<<endif>><<if $map eq 1>>|[[Map of Sector 4|map of sector 4]]|<<endif>><<if $flashlight eq 1>>|[[Flashlight|flashlight]]|<<endif>><<if $scalpel eq 1>>|[[Scalpel|scalpel]]|<<endif>><<if $gloves eq 1>>|[[Gloves|gloves]]|<<endif>><<if $overridecode eq 1>>|[[Override Code|override code]]|<<endif>><<if $oxygenmask eq 1>>|[[Oxygen Mask|oxygen mask]]|<<endif>><<if $firstaidkit eq 1>>|[[First Aid Kit|first aid kit]]|<<endif>><<if $pistol eq 1>>|[[Pistol|pistol]]|<<endif>><<if $cargolabel eq 1>>|[[Networking Component|cargo label]]|<<endif>><<if $commlink gte 1>>|[[Commlink|commlink]]|<<endif>><<if $apple eq 1>>|[[Moldy Apple|moldy apple]]|<<endif>> \n\nAudio goes here!\n\n<<if $infection eq 1>>The network has identified the player as part of the infection!<<endif>>\n\ncreated by Liz England\n\n@lizardengland\
<<if $visitedmainframe eq 0>>In front of you is the doorway to the mainframe. The light on the doorway control panel is off. It does not appear to be working, but you could probably pry it open.\n\nThe doorway appears to be coated in a [[sticky residue]].\n\nYou could head back into [[the hallway]].<<endif>><<if $visitedmainframe eq 1>>The mainframe door is open, the sticky residue on the ground around it. Lights inside illuminate [[the meaty network]]. In the other direction lies [[the hallway]] and access to the rest of Secto 4.<<endif>>
This is you! All about you! A description of you! From your point of view!\nAnd probably an image of you, like from your ID.\n\n<<back>>
Quoting the safety information on the walls\nShould reference infection, tumors, and signs of disease or sickness\n\nPlease wash your hands before doing any maintenance work\nPlease do not feed unauthorized data to the network\nEtc.\n\n<<if $map eq 0>>There is a [[map of sector 4|map first time]] on the wall.\n\n<<endif>>You back up and [[observe|the hallway]] your surroundings.
This is a scalpel\n\n<<back>>
You drop the commlink carelessly between your fingers.\n\nIt falls into a pool of milky plasma sweat.\n\nGross. Very unhygenic.<<set $commlink = 0>><<update>>\n\nYou could [[pick it up|commlink infect get]] or [[leave it where it is]].
You walk into the room and observe the network. A main console sits in the center of the room.\n\nFlesh, blood vessels, synaptics cues, nervous system, brain, heart. Some signs on infection, but they are rather mild - you narrate this.\n\n[image of the network, like a heart and veins, goes here!]\n\nYour [[commlink buzzes|network explanation]] as the engineer's voice begins.
You reach into your pocket for the override code.\n\nIt is a small pink lump of flesh, like a mouse fetus, with unformed eyes that are just black specks. You press it into the small needle above the monitor. Itpunctures the flesh, drawing a single drop of blood.\n\nThe network digests the hemolobin.<<set $overridecode = 0>><<update>>\n\n----ACCESS GRANTED----\n\nYour fingers tickle over the flesh pads as you [[interact with the console|console in]].
You place the commlink back in your pocket. It is pretty gross.<<set $commlink = 3>><<update>>\n\nBack to [[the interface]]
Time + 43:30 minutes:\n\n[[debug timer 1]]
This is your override code.\n\n[image of override code]\n\nIt is a lump of flesh. Weird, right?\n\n<<back>>
;(function() {\n\n /*jslint browser: true, onevar: true, undef: true, nomen: false, eqeqeq: true, bitwise: true, regexp: true, newcap: true, immed: true */\n\n var smoke = {\n smoketimeout: [],\n init: false,\n zindex: 1000,\n i: 0,\n\n bodyload: function(id) {\n var ff = document.createElement('div');\n ff.setAttribute('id','smoke-out-'+id);\n ff.className = 'smoke-base';\n = smoke.zindex;\n smoke.zindex++;\n document.body.appendChild(ff);\n },\n\n newdialog: function() {\n var newid = new Date().getTime();\n newid = Math.random(1,99) + newid; \n\n if (!smoke.init) { \n smoke.listen(window,"load", function() {\n smoke.bodyload(newid);\n });\n }else{\n smoke.bodyload(newid); \n }\n\n return newid;\n },\n\n forceload: function() {},\n\n build: function (e, f) {\n smoke.i++;\n\n f.stack = smoke.i;\n\n e = e.replace(/\sn/g,'<br />');\n e = e.replace(/\sr/g,'<br />');\n\n var prompt = '',\n ok = 'OK',\n cancel = 'Cancel',\n classname = '',\n buttons = '',\n box;\n\n if (f.type === 'prompt') {\n prompt = \n '<div class="dialog-prompt">'+\n '<input id="dialog-input-'+f.newid+'" type="text" ' + (f.params.value ? 'value="' + f.params.value + '"' : '') + ' />'+\n '</div>';\n }\n\n if (f.params.ok) {\n ok = f.params.ok;\n }\n\n if (f.params.cancel) {\n cancel = f.params.cancel;\n }\n\n if (f.params.classname) {\n classname = f.params.classname;\n }\n\n if (f.type !== 'signal') {\n buttons = '<div class="dialog-buttons">';\n if (f.type === 'alert') {\n buttons +=\n '<button id="alert-ok-'+f.newid+'">'+ok+'</button>';\n }\n else if (f.type === 'quiz') {\n\n if (f.params.button_1) {\n buttons +=\n '<button class="quiz-button" id="'+f.type+'-ok1-'+f.newid+'">'+f.params.button_1+'</button>';\n }\n\n if (f.params.button_2) {\n buttons +=\n '<button class="quiz-button" id="'+f.type+'-ok2-'+f.newid+'">'+f.params.button_2+'</button>';\n }\n\n if (f.params.button_3) {\n buttons +=\n '<button class="quiz-button" id="'+f.type+'-ok3-'+f.newid+'">'+f.params.button_3+'</button>';\n }\n if (f.params.button_cancel) {\n buttons +=\n '<button id="'+f.type+'-cancel-'+f.newid+'" class="cancel">'+f.params.button_cancel+'</button>';\n }\n\n }\n\n else if (f.type === 'prompt' || f.type === 'confirm') {\n if (f.params.reverseButtons) {\n buttons +=\n '<button id="'+f.type+'-ok-'+f.newid+'">'+ok+'</button>' +\n '<button id="'+f.type+'-cancel-'+f.newid+'" class="cancel">'+cancel+'</button>'; \n } else {\n buttons +=\n '<button id="'+f.type+'-cancel-'+f.newid+'" class="cancel">'+cancel+'</button>'+\n '<button id="'+f.type+'-ok-'+f.newid+'">'+ok+'</button>';\n }\n }\n buttons += '</div>';\n }\n\n\n box = \n '<div id="smoke-bg-'+f.newid+'" class="smokebg"></div>'+\n '<div class="dialog smoke '+classname+'">'+\n '<div class="dialog-inner">'+\n e+\n prompt+\n buttons+ \n '</div>'+\n '</div>';\n\n if (!smoke.init) { \n smoke.listen(window,"load", function() {\n smoke.finishbuild(e,f,box);\n });\n } else{\n smoke.finishbuild(e,f,box);\n }\n\n },\n\n finishbuild: function(e, f, box) {\n\n var ff = document.getElementById('smoke-out-'+f.newid);\n\n ff.className = 'smoke-base smoke-visible smoke-' + f.type;\n ff.innerHTML = box;\n\n while (ff.innerHTML === "") {\n ff.innerHTML = box;\n }\n\n if (smoke.smoketimeout[f.newid]) {\n clearTimeout(smoke.smoketimeout[f.newid]);\n }\n\n smoke.listen(\n document.getElementById('smoke-bg-'+f.newid),\n "click", \n function () {\n smoke.destroy(f.type, f.newid);\n if (f.type === 'prompt' || f.type === 'confirm' || f.type === 'quiz') {\n f.callback(false);\n } else if (f.type === 'alert' && typeof f.callback !== 'undefined') {\n f.callback();\n } \n }\n );\n\n\n switch (f.type) {\n case 'alert': \n smoke.finishbuildAlert(e, f, box);\n break;\n case 'confirm':\n smoke.finishbuildConfirm(e, f, box);\n break;\n case 'quiz':\n smoke.finishbuildQuiz(e, f, box);\n break;\n case 'prompt':\n smoke.finishbuildPrompt(e, f, box);\n break;\n case 'signal':\n smoke.finishbuildSignal(e, f, box);\n break;\n default:\n throw "Unknown type: " + f.type;\n }\n },\n\n finishbuildAlert: function (e, f, box) {\n smoke.listen(\n document.getElementById('alert-ok-'+f.newid),\n "click", \n function () {\n smoke.destroy(f.type, f.newid);\n if (typeof f.callback !== 'undefined') {\n f.callback();\n }\n }\n );\n\n document.onkeyup = function (e) {\n if (!e) {\n e = window.event;\n }\n if (e.keyCode === 13 || e.keyCode === 32 || e.keyCode === 27) {\n smoke.destroy(f.type, f.newid);\n if (typeof f.callback !== 'undefined') {\n f.callback();\n } \n }\n }; \n },\n\n finishbuildConfirm: function (e, f, box) {\n smoke.listen(\n document.getElementById('confirm-cancel-' + f.newid),\n "click", \n function () \n {\n smoke.destroy(f.type, f.newid);\n f.callback(false);\n }\n );\n\n smoke.listen(\n document.getElementById('confirm-ok-' + f.newid),\n "click", \n function () \n {\n smoke.destroy(f.type, f.newid);\n f.callback(true);\n }\n );\n\n document.onkeyup = function (e) {\n if (!e) {\n e = window.event;\n }\n if (e.keyCode === 13 || e.keyCode === 32) {\n smoke.destroy(f.type, f.newid);\n f.callback(true);\n } else if (e.keyCode === 27) {\n smoke.destroy(f.type, f.newid);\n f.callback(false);\n }\n }; \n },\n\n finishbuildQuiz: function (e, f, box) {\n smoke.listen(\n document.getElementById('quiz-cancel-' + f.newid),\n "click", \n function () \n {\n smoke.destroy(f.type, f.newid);\n f.callback(false);\n }\n );\n\n\n if (a = document.getElementById('quiz-ok1-'+f.newid))\n smoke.listen(\n a,\n "click", \n function () {\n smoke.destroy(f.type, f.newid);\n f.callback(a.innerHTML);\n }\n );\n\n\n if (b = document.getElementById('quiz-ok2-'+f.newid))\n smoke.listen(\n b,\n "click", \n function () {\n smoke.destroy(f.type, f.newid);\n f.callback(b.innerHTML);\n }\n );\n\n\n if (c = document.getElementById('quiz-ok3-'+f.newid))\n smoke.listen(\n c,\n "click", \n function () {\n smoke.destroy(f.type, f.newid);\n f.callback(c.innerHTML);\n }\n );\n\n document.onkeyup = function (e) {\n if (!e) {\n e = window.event;\n }\n if (e.keyCode === 27) {\n smoke.destroy(f.type, f.newid);\n f.callback(false);\n }\n }; \n\n },\n\n finishbuildPrompt: function (e, f, box) {\n var pi = document.getElementById('dialog-input-'+f.newid);\n\n setTimeout(function () {\n pi.focus();\n;\n }, 100);\n\n smoke.listen(\n document.getElementById('prompt-cancel-'+f.newid),\n "click", \n function () {\n smoke.destroy(f.type, f.newid);\n f.callback(false);\n }\n );\n\n smoke.listen(\n document.getElementById('prompt-ok-'+f.newid),\n "click", \n function () {\n smoke.destroy(f.type, f.newid);\n f.callback(pi.value);\n }\n );\n\n document.onkeyup = function (e) {\n if (!e) {\n e = window.event;\n }\n\n if (e.keyCode === 13) {\n smoke.destroy(f.type, f.newid);\n f.callback(pi.value);\n } else if (e.keyCode === 27) {\n smoke.destroy(f.type, f.newid);\n f.callback(false);\n }\n };\n },\n\n finishbuildSignal: function (e, f, box) {\n\n\n document.onkeyup = function (e) {\n if (!e) {\n e = window.event;\n }\n if (e.keyCode === 27) {\n smoke.destroy(f.type, f.newid);\n if (typeof f.callback !== 'undefined') {\n f.callback();\n }\n }\n }; \n\n smoke.smoketimeout[f.newid] = setTimeout(function () {\n smoke.destroy(f.type, f.newid);\n if (typeof f.callback !== 'undefined') {\n f.callback();\n }\n }, f.timeout);\n },\n\n\n destroy: function (type,id) {\n\n var box = document.getElementById('smoke-out-'+id);\n\n if (type !== 'quiz') {\n var okButton = document.getElementById(type+'-ok-'+id);\n }\n\n var cancelButton = document.getElementById(type+'-cancel-'+id);\n box.className = 'smoke-base';\n\n if (okButton) {\n smoke.stoplistening(okButton, "click", function() {});\n document.onkeyup = null;\n }\n\n if (type === 'quiz') {\n var quiz_buttons = document.getElementsByClassName("quiz-button");\n for (var i = 0; i < quiz_buttons.length; i++) {\n smoke.stoplistening(quiz_buttons[i], "click", function() {});\n document.onkeyup = null;\n } \n }\n\n if (cancelButton) {\n smoke.stoplistening(cancelButton, "click", function() {});\n }\n\n smoke.i = 0;\n box.innerHTML = '';\n },\n\n alert: function (e, f, g) {\n if (typeof g !== 'object') {\n g = false;\n }\n\n var id = smoke.newdialog();\n\n, {\n type: 'alert',\n callback: f,\n params: g,\n newid: id\n });\n },\n\n signal: function (e, f, g) {\n if (typeof g === 'undefined') {\n g = 5000;\n }\n\n var id = smoke.newdialog();\n, {\n type: 'signal',\n callback: f,\n timeout: g,\n params: false,\n newid: id\n });\n },\n\n confirm: function (e, f, g) {\n if (typeof g !== 'object') {\n g = false;\n }\n\n var id = smoke.newdialog();\n, {\n type: 'confirm',\n callback: f,\n params: g,\n newid: id\n });\n },\n\n quiz: function (e, f, g) {\n if (typeof g !== 'object') {\n g = false;\n }\n\n var id = smoke.newdialog();\n, {\n type: 'quiz',\n callback: f,\n params: g,\n newid: id\n });\n },\n\n prompt: function (e, f, g) {\n if (typeof g !== 'object') {\n g = false;\n }\n\n var id = smoke.newdialog();\n return,{type:'prompt',callback:f,params:g,newid:id});\n },\n\n listen: function (e, f, g) {\n if (e.addEventListener) {\n return e.addEventListener(f, g, false);\n } \n\n if (e.attachEvent) {\n return e.attachEvent('on'+f, g);\n } \n\n return false;\n },\n\n stoplistening: function (e, f, g) { \n if (e.removeEventListener) {\n return e.removeEventListener("click", g, false);\n }\n\n if (e.detachEvent) {\n return e.detachEvent('on'+f, g);\n }\n\n return false;\n }\n };\n\n\n smoke.init = true;\n\n if (typeof module != 'undefined' && module.exports) {\n module.exports = smoke;\n }\n else if (typeof define === 'function' && define.amd) {\n define(smoke);\n }\n else {\n this.smoke = smoke;\n }\n\n})();
<<if $infection eq 1>>The player is infected! Commence one of the endings!<<else>>The player evaded infection, so now you can leave. If it lets you.<<endif>>\n\nTHE END (of ACT IV).\n\n[[Start]]
"Are we sure their network's been compromised?"\n\n"Pretty sure. They had just finished a routine infrastructure test and reported an abnormally high platelet count before they went dark. As usual, any connection through their network risks spread of infection, so you're on your own here."\n\nThe chemical hiss subsides and the technician on the other side of the glass begins to type away at his console.\n\nYou peer through the airlock window. "Are [[life support systems]] still online?"
It's dark and you fumble. You can hear the infected pustules burst beneath your feet. The sound of the network growth breathing feels suffocating. It's particularly humid here.\n\nYour feet find the floor slippery.\n\nYou grope your way along the wall.\n\nEventually you see a line of light along the bottom of [[a door|rl exit]].
You are interested in what's inside the box, a quick peek at the next generation of networking components.\n\n<<if $scalpel eq 1>>(You have the scalpel). You use the scalpel to carefully slice at the tape and open the box. It's heavy - a few kilos, but small, about the side and weight of a baby.\n\nYou look at the networking components. It looks like a kidney or gallbladder with veins. It's slimy with sebacceous lubricant and cool to the touch. You take it and get [[back to exploring the cargo hold|cargo hold]].<<set $cargolabel = 1>><<update>><<endif>>\n\n<<if $scalpel eq 0>>(You don't have the scalpel). You check your pockets, but you didn't bring anyting with you that would help you open the box without damaging it. You'll have to [[come back later|cargo hold]].<<endif>>
You grab the pistol. There's no reason to believe there's any danger over there, but sometimes having a weapon just makes you feel safer. It's not strong enough to puncture the hull, at least.\n\nYou close the case up with the first aid kit still inside and [[signal to the senior officer]].<<set $pistol = 1>><<update>>
You make your way through the fleshticles and their open sores, attempting to keep them from you.\n\nThe further you go, the more grabby they get.\n\nOne snakes around your ankle. You begin to panic.\n\nYou could [[struggle|grapple the fleshticles]] and hope that you get through.<<if $scalpel eq 1>>You realize you still have [[the scalpel|slice the fleshticles]] from the first aid kit.<<endif>>
You place the commlink back in your ear. <<set $commlink = 1>><<update>>\n\nTime to check [[the interface]].
You enter the elevator. The lights dim momentarily as the door closes in front of you.\n\n"KIN, go to Level 5 please."\n\n<<<\nELEVATOR ACTIVATED.\nLEVEL 5 CONFIRMED.\nENDLINE.\n<<<\n\nThe elevator groans as it powers up, the lights flickering with a surge of impulses. It starts to [[move|elevator going down]] with a jolt.
The steel door shuts, sealing you inside the airlock. You breathe and exhale your own fragile atmosphere. \n\nMetal grates beneath your feet reveal braided and knotted wires criss-crossing the floor. You hear nothing but your heartbeat and the hum of hidden arteries as they pump life support throughout [[the shuttle]].\n\nTwo men overlook you, separated by a wall of thick glass. You glance out the airlock [[window]] as you wait for the quarantine process to begin.
It's light, and you can see the research lab.\n\nThere's signs of a celebration in here. Someone was getting promoted.\n\nYou trip on a shoe. You slip on blood.\n\nThere's some tumors here that are oversized and cancerous. You can see blue and red veins cross-crossing them. <<if $scalpel eq 1>><<if $opentumor = 0>>You could use your scalpel to [[open one of them up|open tumor]].<<else>>One of the tumors sits with its guts spilled out on the floor where you dissected it.<<endif>>
"What's going on in there?" you ask.\n\n"Communication with [[Sector 4]] has been dark for eighteen hours. They seem to be following standard [[infection protocol]], but we haven't seen the emergency signals from the crew so something might be up."\n\n"How long do we have?"\n\nHe peers over the tecnician's shoulder to look at the monitor. "You've got [[two hours]] on board, no longer. We're docking you at the airlock nearest to their mainframe to help make the trip short, but you can't dally."
You open the exterior airlock and the engineer stands up and yells "No!" silently behind the thick glass. He waves his arms back and forth, but you just look at him.\n\nHe's sucked out of the airlock.\n\n[[INFECTION CLEARED]]
@import url(;\n\nbody {\n font-family: 'Open Sans', sans-serif;\n text-shadow: 1px 1px 1px #000;\n margin: 1em 1% 1% 1em;\n position: absolute;\n height: 100%;\n width: auto;\n text-align: center;\n font-size: 1em;\n color: #f93;\n\n background-image: url('images/background.png') center center fixed;\n background-size: cover;\n background-image: linear-gradient(right bottom, rgb(87,3,3) 25%, rgb(51,9,37) 63%, rgb(36,1,27) 82%);\n background-image: -o-linear-gradient(right bottom, rgb(87,3,3) 25%, rgb(51,9,37) 63%, rgb(36,1,27) 82%);\n background-image: -moz-linear-gradient(right bottom, rgb(87,3,3) 25%, rgb(51,9,37) 63%, rgb(36,1,27) 82%);\n background-image: -webkit-linear-gradient(right bottom, rgb(87,3,3) 25%, rgb(51,9,37) 63%, rgb(36,1,27) 82%);\n background-image: -ms-linear-gradient(right bottom, rgb(87,3,3) 25%, rgb(51,9,37) 63%, rgb(36,1,27) 82%);\n\n background-image: -webkit-gradient( linear, right bottom, left top, color-stop(0.25, rgb(87,3,3)), color-stop(0.63, rgb(51,9,37)),\n color-stop(0.82, rgb(36,1,27)) );\n}\n\na.internalLink, a.externalLink, a.back, a.return {\n color: #f00;\n}\n\na.internalLink:hover, a.externalLink:hover, a.back:hover, a.return:hover {\n color: #f66;\n}\n\na.cyclingLink {\n //color: #000;\n display:inline-block;\n padding: 10px;\n margin: 3px;\n background-color:rgba(0,0,0,0.4);\n font-size: 1.5em;\n border: 1px solid #000;\n}\n\na.cyclingLink:hover {\n //color: #fff;\n}\n\n#passages {\n background-color:rgba(0,0,0,0.1);\n padding: 20px;\n border-left: 0px;\n margin-left: 270px;\n margin-right: 0;\n margin-top: 0px;\n margin-bottom: 1em;\n height: 100%;\n position: relative;\n width: auto;\n}\n\n.passage ul {\n padding-top: 0px;\n}\n\n.passage li {\n display: block;\n text-align: left;\n margin-left: 50px;\n margin-top: 0px;\n}\n\n.passage table {\n margin: 0px;\n font-size: 0.9em;\n line-height: 1.6em;\n}\n\n.passage table a:link {\n font-size: 1.5em;\n}\n\n.passage table h5 {\n font-size: 1.5em;\n line-height: 1.0em;\n margin: 0;\n padding: 0;\n text-align: left;\n color: #ff6600;\n}\n\nblockquote {\n text-align: left;\n font-size: 0.9em;\n width: 90%;\n margin: auto;\n background-color: rgba(0, 0, 0, 0.5);\n border: 1px solid #000;\n line-height: 1.3em;\n padding: 10px;\n font-family: courier, serif;\n}\n\nh2 {\n font-size: 1.5em;\n text-align: center;\n -webkit-margin-before: 0.2em;\n -webkit-margin-after: 0.2em;\n padding: 10px;\n}\n\nh4 {\n font-size: 1em;\n text-align: center;\n //font-style: italic;\n font-weight: normal;\n line-height: 1.0em;\n}\n\nh5 {\n font-size: 1.5em;\n text-align: center;\n -webkit-margin-before: 1.00em;\n -webkit-margin-after: 1.00em; \n}\n\n#sidebar {\n background-color:rgba(0,0,0,0.3);\n position: relative;\n left: 0em;\n top: 0px;\n margin-bottom: 0px;\n bottom: 0;\n width: 250px;\n height: auto;\n padding: 0 0 0 0;\n float: left;\n font: normal 1em 'Open Sans', sans-serif;\n}\n\n#sidebar table {\n font-size: 0.8em;\n text-align: left;\n width: 100%;\n background-color:rgba(230,0,0,0.15);\n margin-top: 2px;\n border-top: 1px solid #900;\n border-bottom: 1px solid #000;\n\n}\n\n#sidebar thead {\n background-color: none;\n border-bottom: 1px solid #900;\n text-align: center;\n font-size: 1.5em;\n}\n\n#sidebar li {\n text-align: center;\n margin-bottom: 0px;\n}\n\n#sidebar #title {\n font-size: 1em;\n color: #f96 !important;\n //visibility: hidden;\n \n}\n\n\n#sidebar #title a.internalLink, a.externalLink, a.return {\n color: #f00;\n font-weight: normal;\n}\n\n#sidebar #title a.internalLink:hover, a.externalLink:hover, a.return:hover {\n color: #f96;\n font-weight: normal;\n}\n\n//keep for macro\n.revision-span-in {\n opacity: 0;\n}\n.revision-span:not(.revision-span-out) {\n transition: 1s; -webkit-transition: 1s;\n}\n.revision-span-out {\n position:absolute;\n opacity: 0;\n}\n\nimg.grayscale {\n filter: url("data:image/svg+xml;utf8,<svg xmlns=\s'\s'><filter id=\s'grayscale\s'><feColorMatrix type=\s'matrix\s' values=\s'0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\s'/></filter></svg>#grayscale"); /* Firefox 10+, Firefox on Android */\n filter: gray; /* IE6-9 */\n -webkit-filter: grayscale(100%); /* Chrome 19+, Safari 6+, Safari 6+ iOS */\n}\n\n#snapback, #share, #credits {\n visibility: hidden;\n height: 0px;\n}
You talk to the console to test it's... integrity of its systems or something. You learn the console is scared and doesn't trust you. It says it is being attacked.\n\n"KIN, tell me how extensive the infection is. What are your [[vitals]]?"
You place the gross commlink back in your ear.<<set $commlink = 4>><<update>>\n\n<<if $network_fed eq 1>>The network is in standby mode, concentrating on fighting the infection<<else>>[[PLEASE INSERT DATA]]<<endif>>
You open up the communications panels.\n\n"[[Hello?|engineer chat 1]]"
These are the airlock controls right outside the quarantine buffer. There's some readings for O2 levels, status, etc. There's emergency controls for jettisoning the sector. You shiver at the thought. It would require a key.\n\nYou turnback to the rest of [[the airlock|The Forbidden Zone]].
You step towards the fleshticles and they part like the red sea.\n\nYou can hear them in your commlink.\n\nIt's creepy.\n\nYou walk through an open door into [[the research lab|enter the research lab]].
You pull the commlink out of your ear to check it. It looks healthy as you [[roll it and squish it|commlink drop]] between your fingers.\n\nYou think about the neural impulses from the network around you interfering with the commlink. You could [[pocket it|commlink pocket clean]] for now, or [[place it back|commlink back clean]] in your ear and deal with the unnerving static.
You peer inside the airlock as see a man covered in sweat with half a jumpsuit on, his upper body covered in a stained shirt. Stained red and rust, like blood.\n\nHe sits in a corner of the airlock with his arms around his knees. You are not sure if he is alive or not.\n\nYou investigate the [[airlock controls|airlock controls 2]].
You decide to take an alternate route.\n\nYou pull open the doors to find just enough room for you to squeeze into the [[maintenance shaft]]. It's not too late to [[change you mind|elevator says feed me again]].
The network console blinks...\n\nBut not like a screen, like an eyeball.\n\n[maybe image of an eyeball, blinking?]\n\n"You should be able to access a map of sector 4 from the [[console]] in there."
The elevator descends. You peer through the cage you stand in to see wires and tubes snaking through the ships belly, pumping air and white blood cells through it.\n\nSome of the wires have blisters and pus dripping from them.\n\n[[elevator abrupt stop]]
You're checking out the network.\n\n<<if $network_fed eq 1>>The network is in standby mode, concentrating on fighting the infection<<else>>[[PLEASE INSERT DATA]]<<endif>>\n\n<<if $commlink_on_floor>>Your [[commlink|commlink infect get2]] sits in a pool of bodily fluid on the floor/<<endif>>\n\nYou can interact with it. Or just hand out in the network room. Or return to [[the left]].
version.extensions.cyclinglinkMacro={major:3,minor:3,revision:0};\nmacros.cyclinglink={handler:function(a,b,c){var rl="cyclingLink";\nfunction toggleText(w){w.classList.remove("cyclingLinkInit");\nw.classList.toggle(rl+"Enabled");w.classList.toggle(rl+"Disabled");\"none")?"inline":"none")}switch(c[c.length-1]){case"end":var end=true;\nc.pop();break;case"out":var out=true;c.pop();break}var v="";if(c.length&&c[0][0]=="$"){v=c[0].slice(1);\nc.shift()}var h=state.history[0].variables;if(out&&h[v]===""){return\n}var l=Wikifier.createInternalLink(a,null);l.className="internalLink cyclingLink";\nl.setAttribute("data-cycle",0);for(var i=0;i<c.length;i++){var on=(i==Math.max(c.indexOf(h[v]),0));\nvar d=insertElement(null,"span",null,"cyclingLinkInit cyclingLink"+((on)?"En":"Dis")+"abled");\nif(on){h[v]=c[i];l.setAttribute("data-cycle",i)}else{"none"\n}insertText(d,c[i]);if(on&&end&&i==c.length-1){l.parentNode.replaceChild(d,l)\n}else{l.appendChild(d)}}l.onclick=function(){var t=this.childNodes;\nvar u=this.getAttribute("data-cycle")-0;var m=t.length;toggleText(t[u]);\nu=(u+1);if(!(out&&u==m)){u%=m;if(v){h[v]=c[u]}}else{h[v]=""}if((end||out)&&u==m-(end?1:0)){if(end){var n=this.removeChild(t[u]);\nn.className=rl+"End";"inline";this.parentNode.replaceChild(n,this)\n}else{this.parentNode.removeChild(this);return}return}toggleText(t[u]);\nthis.setAttribute("data-cycle",u)}}};
You grab the first aid kit. Weapons aren't really your thing and, anyway, you're more likely to find someone injured than dangerous. Station malfunctions can cause all kinds of nasty burns or breaks when elevators shut down or sparks start to fly.\n\nYou close the case up with the pistol still inside and [[signal to the senior officer]].<<set $firstaidkit = 1>><<update>>