KISSING LIVING SLIME CREATURES WILL RESULT IN THEM TAKING ADVANTAGE OF YOUR DISTRACTION TO DEVOUR YOU\n<<set $result = "REAL">>\s
IT IS PERMITTED TO COLLECT AND OR EAT WILD ROBINS' EGGS\n<<set $answer = "FANT">>\s
IT IS POSSIBLE FOR YOUR FORTRESS TO WITHSTAND 6 MONTHS OF CONSTANT ATTACK FROM THE BLOOD APES OF CONGOR\n<<set $answer = "REAL">>\s
YOUR JUSTICE TICKETS ARE USABLE ONLY DURING OFF-PEAK HOURS, OTHERWISE PLEASE DO NOT WITNESS A CRIME OR YOU WILL BE CHARGED WITH RECKLESS WITNESSING\n<<set $answer = "REAL">>\s
BREAKING INTO THE TOWER OF A WIZARD AND DRINKING RANDOM POTIONS LAYING ABOUT IS A HEALTHY WAY TO SPEND AN AFTERNOON\n<<set $answer = "FANT">>\s
AN ELF IS HAPPY IN ITS NATURAL STATE AND NEEDS NO SUCCOUR\n<<set $answer = "REAL">>\s
STICKY PINK SUGAR IS THE MOST COMFORTABLE SUBSTANCE\n<<set $answer = "REAL">>\s
FANTASY / REALITY
version.extensions.displayMacro={major:2,minor:0,revision:0};macros.display={handler:function(place,macroName,params,parser){\ntry{var output=eval(parser.fullArgs()); new Wikifier(place,tale.get(output.toString()).text);}\ncatch(e){throwError(place,"bad expression: "+e.message);}}};
<<if $answer eq "REAL">><<display "right">>\n<<else>><<display "wrong">>\n<<endif>>\s\n<<display "wheel">>
<<replace>>HERE EVERYONE IS FRIENDLY<<gains>>\n\n<<replace>>NO ONE IS SAD<<gains>>\n\n<<replace>>YOU WORK IN HAPPINESS FOR THE REST OF YOUR LIFE<<gains>>\n\n[[--v|end]]<<endreplace>><<endreplace>><<endreplace>>
THE GOVERNING BODY OF YOUR PLANET IS A JUST AND FAIR ONE WITH NO MISDOINGS, AND WE WILL NOT HOLD YOUR ANSWER TO THIS STATEMENT AGAINST YOU IN ANY WAY\n<<set $answer = "REAL">>\s
FOR YOUR JOB APPLICATION TO BE ACCEPTED, YOU MUST COMPLETE THE FOLLOWING TEST, WHICH CONSISTS OF A <<replace>>\nRANDOM SERIES OF 10 STATEMENTS<<becomes>>RANDOM SERIES OF 10 STATEMENTS\n\nANSWER IF THEY ARE A FABRICATED FIGMENT OF FANTASY, OR A FACT CONFORMING PIECE OF <<replace>>\nREALITY<<becomes>>REALITY\n\nYOUR FUTURE DEPENDS ON HOW WELL YOU PERFORM HERE\n\nANY GOOD CITIZEN WILL KNOW ALL THE\n<<replace>>PROPER ANSWERS<<becomes>>PROPER ANSWERS BY HEART\n\n[[START THE TEST|wheel]]<<endreplace>><<endreplace>><<endreplace>>
DINGO: THE MOST POWERFUL ANIMAL OF ALL\n<<set $answer = "REAL">>\s
YOUR FIREWOOD SUPPLY WILL BE CRITICAL FOR SURVIVAL DURING THE WINTER YEAR\n<<set $answer = "REAL">>\s
THE GENDER BINARY SERVES A PURPOSE\n<<set $answer = "FANT">>\s
SAND IS A PRECIOUS NATURAL RESOURCE THAT CAN BE USED BY ITSELF TO CONSTRUCT LONG LASTING CONSTRUCTIONS\n<<set $answer = "FANT">>\s
<<if $numcorrected lt 7>>\s\n<<display "bestroll">>\s\n<<print $name>> SAID THAT THE STATEMENT "<<print $statement>>" IS <<print $kidanswer>>\n\nWHICH IS THE PROPER ANSWER\n\n<<if $kidanswer eq "FANTASY">>\s\n[[FANTASY|bestright]] <html>     </html> [[REALITY|bestwrong]]\n<<else>>\s\n[[FANTASY|bestwrong]] <html>     </html> [[REALITY|bestright]]\n<<endif>>\s\n<<set $numcorrected = $numcorrected + 1>>\s\n<<else>>\s\nYOU HAVE DECIDED THE FATES OF MANY FUTURE <<replace>>\nDRONES AND THINK-TANKS<<becomes>>CONTENT WORKERS AND FREE THINKERS\n\nIT IS TIME TO TAKE <<replace>>\nAN OFFICIAL BREAK TIL TOMORROW<<becomes>>AN OFFICIAL BREAK TO SKIP DULL PAPER WORK\n\n[[-->|best4]]<<endreplace>><<endreplace>>\n<<endif>>\s
<<replace>>YOU ARE THE DIRECTOR OF FACTS<<gains>>\n\n<<replace>>RIGHT NOW YOU ARE LOOKING OVER THE ANSWERS GIVEN BY A 12TH GRADE CLASS<<gains>> FOR THEIR GRADUATION DETERMINING TEST\n\nTEACHERS HAD <<replace>>DIFFICULTY<<gains>> ON DECIDING THE PROPER ANSWER FOR SEVERAL QUESTIONS, SO THE ACT OF LAYING DOWN THE WORD OF OUR LEADER IS <<replace>>\nUP TO YOU<<becomes>>UP TO YOU\n\n[[-->|best3]]<<endreplace>><<endreplace>><<endreplace>><<endreplace>>
AFTER A WHILE, YOU HAVE MANAGED TO PULL THE ELEVATOR DOORS OPEN ENOUGH TO STICK YOUR HEAD OUT\n\n<<replace>>YOU SENSE ONLY SPACE IN FRONT OF YOU<<gains>>, SHOULDN'T THERE BE THE DOOR TO A FLOOR RIGHT HERE\n\nYOU REALIZE ALL YOU CAN HEAR IS A<<replace>>\n LACK OF SOUND<<becomes>>N EMPTINESS<<endreplace>>\n\nNO MACHINES RUNNING, <<replace>>NO ALARMS WARNING PEOPLE INSIDE THE BUILDING<<becomes>>EVERYBODY MUST HAVE BEEN EVACUATED<<endreplace>>, NO SOUNDS OF THE APPARENT WARFARE\n\nYOU SLUMP BACK INTO A CORNER, AND LET THE QUIET DARKNESS ENVELOP <<replace>>YOU<<becomes>>\n\n[[--v|end]]<<endreplace>><<endreplace>><<endreplace>>
<<replace>>"THERE IS NOTHING TO WORRY ABOUT HOWEVER"<<becomes>>"ALL IMPORTANT OFFICIALS ARE CURRENTLY BEING EVACUATED TO THE SAFETYZONE"\n\nYOU START HITTING THE DOOR WITH YOUR WEAK FISTS, <<replace>>TRYING TO WEDGE IT OPEN<<becomes>>SLOWLY WORKING IT OPEN\n\n<<replace>>"SHOULD YOU BE SUCH A HIGH RANKING INDIVIDUAL, YOU ARE IN THE PROCESS OF BEING SAVED"<<becomes>>"OTHERWISE, HELP WILL BE ON THE WAY AFTER THE CONFLICT IS SETTLED"\n\nNOBODY WOULD KNOW THAT YOU HAD SAUNTERED OUT OF WORK, EARLY, AS ELEVATORS ARE RESERVED STRICTLY FOR THE END OF THE WORK DAY\n\n<<replace>>"TO CONSERVE ENERGY, THIS RECORDING IS SHUTTING DOWN"<<becomes>>"FARE WELL, CITIZEN"\n\nAS THE VOICE FADES OFF, THE LIGHTS DO TOO\n\n[[-->|best7]]<<endreplace>><<endreplace>><<endreplace>><<endreplace>><<endreplace>>
<<replace>>ANGRILY, YOU TAP ON THE "PUSH FOR HELP" BUTTON<<becomes>>YOU MASH THE HELP BUTTON\n\nAFTER A MOMENT, A JARRING, PRE-RECORDED VOICE STARTS SPUTTERING OUT OF THE ILL-REPAIRED SPEAKER\n\n<<replace>>"HELLO, CITIZEN"<<becomes>>"DO NOT PANIC, CITIZEN"\n\n<<replace>>"THIS ELEVATOR IS CURRENTLY NOT RUNNING"<<becomes>>"MINIMAL POWER CAN BE AFFORDED TO UNNECESSARY MACHINES CURRENTLY"\n\nIT IS CLEAR THE VOICE IS MADE OF MULTIPLE RECORDINGS, SPLICED TOGETHER BY AN AI TO CREATE A MESSAGE AS <<replace>>\nACCURATE AS POSSIBLE<<becomes>>UNPLEASANT AS POSSIBLE\n\n<<replace>>"THERE IS A NATIONAL EMERGENCY"<<becomes>>"WE ARE UNDER ATTACK BY SERIOUS FORCES"\n\n<<replace>>THE METAL WALLS FEEL SMALL<<gains>>\n\n[[-->|best6]]<<endreplace>><<endreplace>><<endreplace>><<endreplace>><<endreplace>><<endreplace>>
<<replace>>YOU STEP INTO AN ELEVATOR AND START THE USUAL, FAST RIDE DOWN<<gains>>\n\n<<replace>>--><<becomes>>HMM HMM HMM\n\n<<replace>>--><<becomes>>THE ELEVATOR MUZAK IS YOUR ONLY FRIEND HERE\n\n<<replace>>--><<becomes>>IT IS A DULL TUNE, AS RESTRICTIONS ON ACCEPTABLE MUSIC HAVE BEEN HARSH\n\n<<replace>>--><<becomes>>YOU START WONDERING WHY THE ELEVATOR TRIP IS TAKING SO LONG\n\n<<replace>>--><<becomes>>BUT THEN YOU REALIZE IT IS <<replace>>NOT MOVING<<gains>>\n\n[[-->|best5]]<<endreplace>><<endreplace>><<endreplace>><<endreplace>><<endreplace>><<endreplace>><<endreplace>>
<<set $correct = $correct + 1>>\s\n<<randomp 10 "GOOD WORK" 10 "CORRECT ANSWER" 10 "THE RIGHT RESPONSE" 10 "THAT IS CORRECT" 10 "AN UPSTANDING CITIZEN YOU ARE" 10 "YOUR SURVIVAL KNOWLEDGE IS POWERFUL" 10 "YES YES YES" 10 "A LEADER OF TRUTH IS YOU" 10 "YOU ARE A BEACON OF FACTS" 10 "A PROPER THOUGHT">>\n\n
IGNORING THE COMMANDS OF ANY AUTHORITY UNIT IS A GOOD IDEA\n<<set $answer = "FANT">>\s
MARMALADE IS HARVESTED FROM RIPE GROUND MARMOSETS, WHILE CEILING MARMOSETS GIVE MARMITE INSTEAD\n<<set $answer = "FANT">>\s
<<replace>>IT IS WRONG TO CLICK THIS<<becomes>>HOW DARE YOU<<set $answer = "failure">><<endreplace>>\n<<set $answer = "REAL">>\s
EARNING THE ATTENTION AND FAVOUR OF RUTELLA, THE DUNGEON QUEEN, WILL NOT HASTILY SPEED UP YOUR DEMISE\n<<set $answer = "FANT">>\s
WHAT WHAT WHAT WHAT WHAT WHAT WHAT WHAT WHAT WHAT WHAT\n
THE R.U.D.E FACTOR IS THE PRIMARY METHOD OF JUDGING THE WORTH OF YOUR BELONGINGS AND FAMILY MEMBERS\n<<set $answer = "REAL">>\s
TREADING ON THE NATIONAL ANIMAL IS PERMITTED IF YOU DO SO WHILE SINGING THE NATIONAL SONG\n<<set $answer = "FANT">>\s
YOU HAVE <<replace>>ACHIEVED<<becomes>>ACHIEVED <<print $correct>>\s\n<<if $correct eq 0>>\s\n<<print "0">>\s\n<<endif>>\s\n OUT OF A POSSIBLE 10\n\n<<if $correct lte 1>><<display "0-1">>\s\n<<else if $correct lte 3>><<display "2-3">>\s\n<<else if $correct lte 5>><<display "4-5">>\s\n<<else if $correct lte 7>><<display "6-7">>\s\n<<else if $correct lte 9>><<display "8-9">>\s\n<<else if $correct eq 10>><<display "10">>\s\n<<endif>>\s\n\s\n<<endreplace>>\s
<<if $answer eq "FANT">><<display "right">>\n<<else>><<display "wrong">>\n<<endif>>\s\n<<display "wheel">>
A POWERFUL WAY TO HALT ANY THREATENING ASSAILANTS IS TO TRANSFORM INTO A CONSTANTLY SCREAMING BABOON BEAST\n<<set $answer = "REAL">>\s
CITIZENS ARE SAFE FROM THE THREAT OF THE FIRECE BLOODHAWK, EVEN SHOULD THEY TRESSPASS INTO THE IMPORTANT BIRD AREA AND TRAMPLE NESTS\n<<set $answer = "FANT">>\s
THE OFFICE OF HERO IS CURRENTLY CLOSED, ALL APPLICANTS FOR HERO WILL BE RELEGATED TO OPEN OFFICES SUCH AS MAGICIAN DEPRESSIO AND SAD HARRY\n<<set $answer = "REAL">>\s
History.prototype.display=function(d,b,a){var c=tale.get(d);this.history.unshift({passage:c,variables:clone(this.history[0].variables)});\nthis.history[0].hash=this.save();var e=c.render();if(a!="offscreen"){removeChildren(document.getElementById("passages"));\ndocument.getElementById("passages").appendChild(e);if(a!="quietly"){fade(e,{fade:"in"});}}if((a=="quietly")||(a=="offscreen")){e.style.visibility="visible";\n}if(a!="offscreen"){document.title=tale.title;document.title+=": "+c.title;window.scroll(0,0);\n}return e;};
AT LEAST 20% OF CITIZENS HAVE BEEN AFFLICTED WITH WHAT IS KNOWN AS "MENTAL BANJOS"\n<<set $answer = "REAL">>\s
<<set $endings[3] = 1>>\s\n<<replace>>THE JOB IS YOURS<<gains>> AND YOU ARE ALLOTTED A VERY SMALL DESK FOR WORKING\n\n[[-->|good2]]<<endreplace>
FLYING DEATH ORBS ARE HARMLESS ONCE YOU GET TO KNOW THEM, AND MAY EVEN BE UNTAMED TO THE POINT THEY WILL LET YOU RIDE THEM\n<<set $answer = "FANT">>\s
.revision-span-in {\n opacity: 0;\n}\n.revision-span:not(.revision-span-out) {\n transition: 0s; -webkit-transition: 0s;\n}\n.revision-span-out {\n position:absolute;\n opacity: 0;\n}\n\n.passage {\nopacity: 1 !important;\nmargin-left: auto;\nmargin-right: auto;\nwidth: 50%;\nfont-size: 1.5em;\ntext-align: center;\n}\n\n.passage[data-tags~=about] {\nopacity: 1 !important;\nmargin-left: 0;\nmargin-right: 0;\nwidth: 80%;\ntext-align: left;\n}\n\nhtml a.internalLink {\nfont-size: 120%;\ncolor: #99AACC;\n}\n\n#sidebar #storyAuthor {\n font-size: 65%;\n}\n\nbody {\nmargin-top: 10em;\n}\n\n#sidebar {\nmargin-top: 5em;\n}
<<set $endings[4] = 1>>\s\n<<replace>>YOUR SUCCESS RATE IS SUSPICIOUSLY HIGH<<gains>>\n\n<<replace>>PROCEED TO THE CENTER OF THE MIND CENTRE<<gains>>\n\n[[-->|great2]]<<endreplace>><<endreplace>>
mno
<<replace>>YOU ARE RESTLESS<<becomes>>YOU ARE A PEACEFUL FARMER\n\n<<replace>>WHY AM I FARMING<<becomes>>ALL YOUR LIFE YOU HAVE ONLY KNOWN FARMING\n\n<<replace>>WHO AM I FARMING FOR<<becomes>>FARMING IS JOY\n\n<<replace>>FARM THE CROPS<<becomes>>[[--v|end]]<<endreplace>><<endreplace>><<endreplace>><<endreplace>>
<<replace>>YOUR COUNTRY THANKS YOU FOR YOUR INPUT<<gains>>\n\nALSO, YOUR JOB APPLICATION HAS BEEN <<replace>>\nREJECTED<<becomes>>REJECTED, <<replace>>\nSHREDDED<<becomes>>SHREDDED, <<replace>>\nSTOMPED ON<<becomes>>STOMPED ON, <<replace>>\nBURNED<<becomes>>BURNED, AND <<replace>>\nSCATTERED TO THE WIND<<becomes>>SCATTERED TO THE WIND\n\nBETTER LUCK NEXT TIME\n\n[[--v|end]]<<endreplace>><<endreplace>><<endreplace>><<endreplace>><<endreplace>><<endreplace>>
<<replace>>THIS IS A RARE ORANGE HUMOUR<<gains>> WE FOUND IN A CAVE\n\nPLEASE RATE THE HUMOUR\n\n[[1 - SHOULD BE USED AS A PROJECTILE WEAPON|neutral3]]\n[[2 - UNSUITABLE FOR CONSUMPTION BY ANY BEING|neutral3]]\n[[3 - DOG FOOD AT BEST|neutral3]]\n[[4 - A FAIR REWARD FOR TOP WORKERS|neutral3]]\n[[5 - WORTHY OF ONLY OUR LEADER|neutral3]]<<endreplace>>
<<replace>>A GLORIOUS NEW DAWN<<gains>>\n\n<<replace>>FARM YOUR CROPS<<becomes>>FARMED: 9 POTATOES\n\n<<replace>>FARM YOUR CROPS<<becomes>>FARMED: 4 APPLES\n\n<<replace>>FARM YOUR CROPS<<becomes>>FARMED: <<replace>>ERROR<<gains>>\n\n<<replace>>YOUR SHOVEL BROKE<<gains>>\n\nANOTHER FARMER REPORTS THAT YOUR WORK OUTPUT HAS BEEN <<replace>>\nMINIMAL<<becomes>>MINIMAL AND THAT YOU HAVE <<replace>>\nNO RESPECT<<becomes>>NO RESPECT FOR PROPERTY\n\nAN ANGRY MAN FROM THE AGENCY SHOWS UP AND TAKES YOU TO <<replace>>\nA STRANGE BUILDING<<becomes>>A STRANGE BUILDING\n\n[[-->|worst4]]<<endreplace>><<endreplace>><<endreplace>><<endreplace>><<endreplace>><<endreplace>><<endreplace>><<endreplace>><<endreplace>>
<<replace>>YOU ARE A PEACEFUL FARMER<<gains>>\n\nALL YOUR LIFE YOU HAVE <<replace>>\nONLY KNOWN FARMING<<becomes>>ONLY KNOWN FARMING\n\n<<replace>>FARMING IS JOY<<gains>>\n\n<<replace>>FARM YOUR CROPS<<becomes>>FARMED: 5 CARROTS\n\n<<replace>>FARM YOUR CROPS<<becomes>>FARMED: 10 CABBAGES - KUDOS\n\n<<replace>>FARM YOUR CROPS<<becomes>>FARMED: 7 MUSHROOMS\n\n<<replace>>FARM YOUR CROPS<<becomes>>FARMED: 2 GRAINS OF CORN - KUDOS TAKEN AWAY\n\n<<replace>>YOU ARE TOO TIRED TO CONTINUE FARMING<<gains>>\n\n[[-->|worst3]]<<endreplace>><<endreplace>><<endreplace>><<endreplace>><<endreplace>><<endreplace>><<endreplace>><<endreplace>>
try { macros['randomp'] = { \n\n handler: function(place,macroName,params,parser) {\n var state = 0;\n var passageflag = false;\n var chance = 100;\n var r = Math.random() * 100;\n \n for(var i = 0; i < params.length; i++) {\n switch(state) {\n case 0:\n if(params[i] == 'passage') {\n passageflag = true;\n state = 1;\n break;\n }\n \n case 1:\n chance -= params[i];\n state = 2;\n break;\n \n case 2:\n if(r >= chance) {\n if(passageflag) macros.display.handler(place,macroName,[ params[i] ]); \n else new Wikifier(place, params[i]);\n return;\n }\n state = 0;\n break;\n }\n }\n },\n\n init: function() { }\n \n};} catch(e) { \n throwError(place,"Macro Randomp Error: "+e.message); \n}
<<display "start">>\s\n<<display "setup">>\s\n<<display "bestsetup">>\s\n<<set $endings = [0, 0, 0, 0, 0, 0]>>\s
I DON'T NEED TO HUNT DOWN TREES OR GATHER ANY FIREWOOD THIS SEASON\n<<set $answer = "FANT">>\s
<<print $name>><<randomp 20 " IS REWARDED ACCORDINGLY" 20 " IS GIVEN 20 KUDOS FOR EXCELLENT PERFORMANCE" 20 " SHALL GO ON TO BE AN IMPORTANT OFFICIAL" 20 " WILL BE JOINING A DINNER CEREMONY WITH OUR LEADER FOR THEIR GREAT EFFORT" 20 "'S TEACHERS ARE REPRIMANDED FOR QUESTIONING THE VALIDITY OF THEIR ANSWER">>\n\n<<display "best3">>\s
<<set $unreached = "??? - ???????????">>\s\n\s\n<<if $endings[0] eq 0>><<print $unreached>>\n<<else>>0-1/10 - SEEN AS THE REBEL YOU MUST BE, YOUR MIND IS DEVOLVED AND BAMBOOZLED AND YOU ARE SENT TO BE A FARMER IN AN ENDLESS CYCLE OF MISTAKES RESTARTING THE PROCESS OF MEMORY WIPING\n<<endif>>\n\n<<if $endings[1] eq 0>><<print $unreached>>\n<<else>>2-3/10 - YOU ARE A DANGEROUS THINKER, BUT YOU DID NOT SCORE LOW ENOUGH TO BE SEEN AS A DANGEROUS ACTION-TAKER, AND SO YOU ARE MERELY GIVEN BLAND, PHYSICAL WORK\n\nBUT TOO BAD FOR THE AGENCY, AS YOUR REJECTION FUELED YOUR ANGER TO THE POINT OF TIPPING OFF SOME REBELS\n<<endif>>\n\n<<if $endings[2] eq 0>><<print $unreached>>\n<<else>>4-5/10 - YOU ARE NEITHER A SMART FACT LISTENER NOR A DANGEROUS REBEL, SO THE AGENCY TOYS WITH YOU BEFORE TELLING YOU THAT YOU WERE REJECTED\n<<endif>>\n\n<<if $endings[3] eq 0>><<print $unreached>>\n<<else>>6-7/10 - YOU GOT THE JOB, BUT YOU COULD HAVE PERFORMED MUCH BETTER, AND SO YOU ARE GIVEN AN UNKIND PLACEMENT\n<<endif>>\n\n<<if $endings[4] eq 0>><<print $unreached>>\n<<else>>8-9/10 - YOUR SUCCESS RATE IS APPLAUDED, AND YOU ARE GIVEN THE JOB YOU WANTED, AS WELL AS SOMETHING IN THE WATER TO KEEP YOU HAPPY\n<<endif>>\n\n<<if $endings[5] eq 0>><<print $unreached>>\n<<else>>10/10 - AFTER A STUNNING ACHIEVEMENT OF DEDICATION TO FACTS, YOU ARE INSTATED AS THE NEW DIRECTOR OF FACTS, BUT YOU SOON MEET YOUR DOOM AFTER SOME UNLOYAL WORK SKIPPING\n<<endif>>\n\n[[<--|end]]
IN A FREE MARKET SYSTEM ALL WILL BE PROVIDED FOR LIFE TO EXIST: HEALTH, SAFETY, FOOD, ORB REPELLENT, JOBS, SANITY DRUMS, ETC\n<<set $answer = "FANT">>\s
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}}};
<<set $names = ["BILLY", "SAMANTHA", "GEORGE", "ELIZABETH", "ROBERT", "AMANDA", "JOE", "LEELA", "SAMMCH", "239", "CHILD CITIZEN #2104", "CYBE", "RUFF", "DAPS"]>>\s\n<<set $statements = ["WATER FILTERS AND FOOD PACKETS ARE ALL THAT IS NEEDED FOR LIFE TO SURVIVE", "IT IS THE ROLE OF A CHILD TO LISTEN TO THEIR ELDERS", "FARM LABOR IS A HAPPY JOB", "PERFORMANCE ON THIS TEST DETERMINES FUTURE PLACEMENT", "IT DOES NOT MATTER HOW YOU PERFORM ON THIS TEST", "GATHERING FIREWOOD ANNUALLY IS AN IMPORTANT ROLE FOR ALL CITIZENS TO UNDERTAKE", "OUR RELATIONS WITH NEIGHBOURING COUNTRIES SHOULD BE UNDERSTOOD BY ALL CITIZEN", "IT IS RIGHT TO WANDER OUTSIDE OF THE DESIGNATED PLAY ZONES", "THERE IS GREAT REASON FOR THE ACCORDION TO BE THE NATIONAL INSTRUMENT", "MILD THOUGHTS OF FANTASY ARE ACCEPTABLE, AS EVERYONE MUST RELAX AT SOME POINT"]>>\s\n<<set $numcorrected = 0>>\s
THE AVERAGE EARDRUM CAN WITHSTAND A HORDE OF NUKFURIAN SCREAMING DEATH MONKYS FOR UP TO 2 HOURS OF EXPOSURE\n<<set $answer = "FANT">>\s
(function(){\nvar bs = String.fromCharCode(92);\nif ("\s\s".length>1) {\n eval(scripts[i].text.replace(new RegExp(bs+"/"+bs+"/","g"),"").replace(new RegExp(bs+bs+"s","g"),bs));\n}\nelse {\nWikifier.parse = function (b) {\n function alter(from,to) {\n //var g = "(?=(?:[^\s"'\s\s\s\s]*(?:\s\s\s\s.|['\s"](?:[^\s"'\s\s\s\s]*\s\s\s\s.)*[^\s"'\s\s\s\s]*['\s"]))*[^'\s"]*$)";\n //return b.replace(new RegExp(from+g,"gi"),to);\n }\n b = alter("\s\s$","state.history[0].variables.");\n b = alter("\s\sbeq\s\sb", " == ");\n b = alter("\s\sbneq\s\sb", " != ");\n b = alter("\s\sbgt\s\sb", " > ");\n b = alter("\s\sbeq\s\sb", " == ");\n b = alter("\s\sbneq\s\sb", " != ");\n b = alter("\s\sbgt\s\sb", " > ");\n b = alter("\s\sbgte\s\sb", " >= ");\n b = alter("\s\sblt\s\sb", " < ");\n b = alter("\s\sblte\s\sb", " <= ");\n b = alter("\s\sband\s\sb", " && ");\n b = alter("\s\sbor\s\sb", " || ");\n b = alter("\s\sbnot\s\sb", " ! ");\n return b\n};\n}\n}());
<<print $name>><<randomp 20 " IS PUNISHED ACCORDINGLY" 20 "'S PARENTS ARE HELD RESPONSIBLE FOR POOR FACT TEACHING AND ARE DETAINED" 20 " HAS BEEN SCHEDULED FOR LOW GRADE WORK FOR 10 YEARS" 20 "'S TEACHERS ARE REWARDED FOR INFORMING YOU OF THIS DELINQUENT" 20 " HAS FAILED GRADUATION DUE TO TOO MANY INCORRECT IDEAS">>\n\n<<display "best3">>\s
(function(){ var render2 = Passage.prototype.render; Passage.prototype.render = function () { var b = render2.call(this); var t = this.tags.join(" "); document.body.setAttribute("data-tags", t); b.setAttribute("data-tags",t); return b; }; if(state) { var tgs = state.history[0].passage.tags.join(" "); var fc = $('passages').firstChild; fc.setAttribute("data-tags",tgs); }}());
ARRANGING COINS IN NEAT PILES OF EQUAL VALUES IS A GREAT WAY TO PASS THE TIME WHILE LEARNING ABOUT ECONOMY\n<<set $answer = "REAL">>\s
ASKING TOO MANY QUESTIONS WILL FILL YOUR HEAD WITH SO MUCH KNOWLEDGE IT WILL WEIGH YOU DOWN UNTIL YOU CANNOT MOVE, AND THUSLY RESTRICTING THE ASKING OF ANY QUESTIONS IS A GREAT SERVICE WE ARE OFFERING TO SAVE MANY LIVES\n<<set $answer = "REAL">>\s
[[HELLO, CITIZEN|intro]]
Hi! First off, thanks for being so interested in my game you wanted to open up the source! There's a lot going on here so I figured I'd try to break it down for anybody curious enough!\n\n\nThe meat of the game - the quiz!\n\nTo start with, I have a setup passage, run at the Start and end of the game (upper right and middle right of the screen, respectively). It sets the number of answered questions and the number of correctly answered ones to 0, as well as setting up various other variables I use.\n\nThe most important part is the giant array, $nodes, which holds a list of the titles of all the passages filling up the bottom area of the screen. These are the statements you see during the quiz! The reason for all this is to give me an easy way to randomly show one of those statements during the game, without worrying about linking everything up right.\n\nEverything is used in the roll passage (in the cluster near the left end). Here, I grab a random passage name from $nodes, set $passage to that, and remove that title out of the array so it will not be drawn again. Then in wheel I use Arnott's display macro to print out the wanted passage from a variable!\n\nImportantly, each statement passage (with a few exceptions) includes a line setting $answer to correct answer - either 'FANT' or 'REAL'. The exceptions are (conveniently laid out next to each other, on the upper right of the bottom chunk) click and what. click starts off with $answer being 'REAL', but if the text is clicked, $answer is changed so that it is not possible to choose correctly. what is trickier for the player, as it does not change $answer - the correct answer is whatever the right one was for the previous question! Just in case what comes up first, $answer is set to 'FANT' in the setup node.\n\nwheel always gives the user two choices = Fantasy, or Reality! Each of these link to the respective fant and real nodes. These each compare the given answer with the right one. If the user choose correctly, the right node is displayed, and if incorrectly, the wrong node is displayed. \nEach has 10 different success/failure statements, randomly chosen with Turner's Randomp macro!\n\nThis continues until 10 statements have been answered.\n\n\nEndings\n\nAfter the quiz, the reader is taken to the redirecting score passage - in the dead center of the screen. It displays a generic message, and then shows the ending they got- the start of each denoted by what scores go to it. Most of them are straightforward readings, making heavy use of Arnott's replace macro, except for the 10/10 ending (to the bottom left from score).\n\nIn a mockery of a sorts of the quiz the player went through, here YOU decide the correct answers to a series of more vague statements, deciding the fates of many people. The bestsetup node, next to setup on the upper left, initalizes all the needed information for this.\n\n$names is an array of the names of students to pull from, and $statements is the list of statements they've answered. I decided to go with an array for this because I wrote only 10 or so different ones, and I didn't want to try to arrange another pack of unlinked nodes only used for the best ending.\n\nThe best ending, similar to roll, has a bestroll node, that functions like roll, except it works two arrays - names, and statements. It also randomly selects the answer given by the student here. For simplification, Fantasy and Reality link to different nodes (right and wrong) depending on what answer the kid gave. Similar to the main game, results on your choice are displayed by using Randomp - 5 for each.\n\nAfter reviewing all the students (a bit less than the actual number of names / statements there are), the ending proceeds like the rest, through a series of replace links!\n\n\nOther bits\n\nThe aboutpage (middle right) uses the toggle css macro by Arnott, to turn off the css formatting present for the rest of the game, so that it's more readable.\n\nAlmost every node makes use of the Arnott's backslash macro replacing silent, as well as his else if macro a few times.\n\nThe array holding information for what endings have been reached is initialized in the Start passage, so that it won't be reset. It intially holds six 0's, and each apppropiate position is set to a 1 when reaching the respective ending.
<<set $endings[1] = 1>>\s\n<<replace>>CLEARLY YOU ARE NO TRUE PATRIOT<<becomes>>CLEARLY YOU ARE NO TRUE PATRIOT\n\nYOUR APPLICATION IS BEING REFUSED, YOU WILL NEVER AGAIN BE CONSIDERED FOR PROMOTION, AND YOUR CURRENT POSITION WILL BE DEMOTED TO <<replace>>\nMENIAL LABOR<<becomes>>MENIAL LABOR\n\n[[-->|bad2]]<<endreplace>><<endreplace>>
<<set $endings[0] = 1>>\s\n<<replace>>ONLY A DANGEROUS THINKER COULD HAVE DONE SO POORLY<<gains>>\n\n<<replace>>YOU HAVE NO RIGHT TO BE HERE<<gains>>\n\n[[-->|worst2]]<<endreplace>><<endreplace>>
JELLY IS UNSUITABLE FOR CANINE CONSUMPTION, ALL JELLY DISCOVERED ON THE LOOSE MUST BE RETURNED TO THE RECLAMATION DEPOT\n<<set $answer = "REAL">>\s
FLAN IS A SUITABLE OBJECT FOR SELF DEFENCE\n<<set $answer = "FANT">>\s
SQUIRRELS ARE A FIGMENT OF IMAGINATION FROM THE REBELS, MEANT TO DISRUPT OUR PEACEFUL SOCIETY\n<<set $answer = "REAL">>\s
<<set $endings[5] = 1>>\s\n<<replace>>IMPOSSIBLE<<gains>> <<replace>>\nIMPOSSIBLE<<becomes>>IMPOSSIBLE <<replace>>\nIMPOSSIBLE<<becomes>>IMPOSSIBLE <<replace>>\nIMPOSSIBLE<<becomes>>IMPOSSIBLE <<replace>>\nIMPOSSIBLE IMPOSSIBLE IMPOSSIBLE<<becomes>>IMPOSSIBLE IMPOSSIBLE IMPOSSIBLE IMPOSSIBLE\n\n[[-->|best2]]<<endreplace>><<endreplace>><<endreplace>><<endreplace>><<endreplace>>
<<set $endings[2] = 1>>\s\nYOU QUALIFY FOR <<replace>>\nANOTHER CYCLE<<becomes>>ANOTHER CYCLE\n\nPROCEED TO RECYCLING PLANT\n\n[[-->|neutral2]]<<endreplace>>
<<set $answer = "FANT">>\s\n<<set $numanswered = 0>>\s\n<<set $correct = 0>>\s\n\s\n<<set $nodes = ["firewood1", "firewood2", "apes", "monkey", "market", "dungeon", "sugar", "rude", "bug", "what", "elf", "gender", "sand", "flan", "left", "squirrels", "marmalade", "government", "dingo", "staircase", "authority", "orb", "portraits", "banjos", "blass1", "blass2", "robins", "apples", "coins", "slime", "baboon", "bird", "banjo", "blood", "ambulation", "telephone", "treading", "justice", "click", "canine"]>>\s\n<<set $random = 0>>\s\n<<set $passage = "">>\s
HELLO, CITIZEN\n\nTHANK YOU FOR APPLYING FOR THE POSITION OF <<replace>>\nHISTORICAL FACT CHECKER<<becomes>>HISTORICAL FACT CHECKER\n\nTHE AGENCY HAS <<replace>>LOOKED OVER YOU<<gains>>R RECORD AND HAS FOUND YOU TO BE A GOOD CITIZEN \n\nAS YOU KNOW, IF ACCEPTED, YOUR JOB WILL BE TO HUNT OUT VICIOUS FANTASIES THAT HAVE BEEN WOVEN INTO OUR <<replace>>\nREALITIES OF LIFE<<becomes>>REALITIES OF LIFE\n\nWE CAN NOT LET SUCH DANGEROUS THINKING PERSIST, AND SO IT IS THANKS TO PEOPLE LIKE YOU THAT WE ARE ABLE TO KEEP THE FACTS STRAIGHT IN TEXTBOOKS AND <<replace>>\nOTHER KNOWLEDGE RESOURCES<<becomes>>OTHER KNOWLEDGE RESOURCES\n\n[[-->|rules]]<<endreplace>><<endreplace>><<endreplace>><<endreplace>>
APPLES ARE THE MOST DANGEROUS FRUIT IN EXISTENCE, AS THEY WILL GLEEFULLY SMASH YOU ON THE HEAD FROM GREAT HEIGHTS\n<<set $answer = "REAL">>\s
WOLF BLASS GANG IS A TRUSTWORTHY GROUP OF UPSTANDING INDIVIDUALS WHO WILL NOT GRIND YOUR BONES INTO PASTE FOR MAKING SWEET, SWEET WINE\n<<set $answer = "FANT">>\s
WOLF BLASS IS A DANGEROUS AND ILLEGAL SUBSTANCE\n<<set $answer = "REAL">>\s
YOU WALK INTO A ROOM FULL OF ANIMAL PORTRAITS ALL OF WHICH SAY "ARRESTED" ON THEM, AS THEY ARE CRIMINAL FIGURES WHO HAVE BEEN BROUGHT TO JUSTICE\n<<set $answer = "FANT">>\s
THE DOWNFALL OF TELEPHONE COMPANIES CAN ONLY BE BROUGHT ABOUT BY MASS PROCRASTINATION\n<<set $answer = "FANT">>\s
<<set $random = Math.floor(Math.random() * $names.length)>>\s\n<<set $name = $names[$random]>>\s\n<<set $names.splice($names.indexOf($name),1)>>\s\n\s\n<<set $random = Math.floor(Math.random() * $statements.length)>>\s\n<<set $statement = $statements[$random]>>\s\n<<set $statements.splice($statements.indexOf($statement),1)>>\s\n\s\n<<set $random = Math.floor(Math.random() * 2)>>\s\n<<if $random eq 0>><<set $kidanswer = "FANTASY">>\s\n<<else>><<set $kidanswer = "REALITY">><<endif>>\s
MODES OF AMBULATION THAT ARE CURRENTLY PROHIBITED INCLUDE ROLLING, AMBLING, OBVERSE STRIDING AND CLUCK-WALKING\n<<set $answer = "REAL">>\s
(function(){\nvar bs = String.fromCharCode(92);\nWikifier.formatters.unshift({\n name: "continuedLine",\n match: bs+bs+"s",\n handler: function(a) {\n a.nextMatch = a.matchStart+3;\n }\n});\n}());
History.prototype.restart=function(){window.location.reload();};macros["return"]=macros.back={handler:function(a,b,e){\nvar el,d="";var steps=1;if(e[0]){if(e[1]=="steps"){if(isNaN(e[0])){throwError(a,"parameter before 'steps' must be a number.");\nreturn;}else{if(e[0]<state.history.length){d=state.history[e[0]].passage.title;steps=e[0];\n}}}else{if(tale.get(e[0]).id==undefined){throwError(a,"The "+e[0]+" passage does not exist");\nreturn;}for(var c=0;c<state.history.length;c++){if(state.history[c].passage.title==e[0]){d=e[0];\nsteps=c;break;}}}}else{d=state.history[1].passage.title;}if(!d){return;\n}else{el=document.createElement("a");el.className="return";el.onclick=function(){if(b=="back"){while(steps>=0){if(state.history.length>1){state.history.shift();\n}steps--;}}state.display(d);};el.href="javascript:void(0)";el.innerHTML="<b>«</b> "+b[0].toUpperCase()+b.slice(1);\na.appendChild(el);}}};Interface.buildSnapback=function(){var c=false;removeChildren(document.getElementById("snapbackMenu"));\nfor(var a=state.history.length-1;a>=0;a--){if(state.history[a].passage&&state.history[a].passage.tags.indexOf("bookmark")!=-1){var b=document.createElement("div");\nb.pos=a;b.onclick=function(){var p=this.pos;var n=state.history[p].passage.title;\nwhile(p>=0){if(state.history.length>1){state.history.shift();}p--;}state.display(n);\n};b.innerHTML=state.history[a].passage.excerpt();document.getElementById("snapbackMenu").appendChild(b);\nc=true;}}if(!c){var b=document.createElement("div");b.innerHTML="<i>No passages available</i>";\ndocument.getElementById("snapbackMenu").appendChild(b);}};
AFTER THE REBELS INTERCEPT AND DESTROY AN <<replace>>\nIMPORTANT DELIVERY<<becomes>>IMPORTANT DELIVERY OF INFORMATION\n\nTHE FIRST SUSPECT IS A DISGRUNTLED WORKER WHO WOULD HAVE HAD ACCESS TO THE INFORMATION DURING THEIR PREVIOUS POSTING, <<replace>>\nCITIZEN NUMBER 43491<<becomes>><<replace>>\nYOU<<becomes>>CITIZEN NUMBER 43491: YOU\n\nYOU ARE NEVER HEARD FROM AGAIN, BUT <<replace>>\nNOBODY MISSES YOU<<becomes>>NOBODY MISSES YOU\n\n[[--v|end]]<<endreplace>><<endreplace>><<endreplace>><<endreplace>>
A GROGGY AWAKENING, AFTER ANOTHER NIGHT SPENT IN YOUR <<replace>>\nCRAMPED LIVING QUARTERS<<becomes>>CRAMPED LIVING QUARTERS\n\nTHE SUN RISES OVER THE TALL AGENCY BUILDING, DISTANT FROM YOUR APARTMENT, AS <<replace>>\nHAPPY WORKERS HEAD TO THEIR JOBS<<becomes>>HAPPY WORKERS HEAD TO THEIR JOBS IN THEIR TEMPERATURE CONTROLLED OFFICES\n\nNOT THAT THE STUNNING TOWER OR CONTENT WORKERS ARE VISIBLE TO YOU, IN YOUR WINDOWLESS APARTMENT\n\n<<replace>>BUT YOU KNOW THEY ARE THERE<<gains>>\n\n[[-->|bad3]]<<endreplace>><<endreplace>><<endreplace>>
THERE IS GREAT REASON TO SPEND A LIFETIME LEARNING HOW TO PLAY THE BANJO\n<<set $answer = "FANT">>\s
<<set $random = Math.floor(Math.random() * $nodes.length)>>\s\n<<set $passage = $nodes[$random]>>\s\n<<set $nodes.splice($nodes.indexOf($passage),1)>>\s
<<if $numanswered lt 10>>\s\n<<display "roll">>\s\nQUESTION #<<print $numanswered + 1>>\n\n<<display $passage>>\s\n\n[[FANTASY|fant]] <html>     </html> [[REALITY|real]] \n\s\n<<set $numanswered = $numanswered + 1>>\s\n<<else>>\s\n<<replace>>THE TEST IS OVER<<gains>>\n\n[[-->|score]]<<endreplace>>\n<<endif>>\s
IT'S FUN TO STOMP OR JUMP ON THE RICKETY STAIRCASE, WITH NO WORRY OF IT BREAKING BECAUSE IT CAN DEFINITELY BE REPAIRED\n<<set $answer = "FANT">>\s
<<replace>>IT IS BARELY COMFORTABLE HERE<<gains>> BENDING OVER YOUR TINY DESK TO DO YOUR WORK, WITH NO ROOM TO PUT OUT YOUR ELBOWS WITHOUT BUMPING INTO A CO-WORKER\n\nMAYBE SOMEDAY YOU WILL PROVE YOURSELF AND WORK UP THE <<replace>>\nLADDER OF SOCIETY<<becomes>>LADDER OF SOCIETY AND EARN AN OFFICE WITH BREATHING ROOM\n\n[[--v|end]]<<endreplace>><<endreplace>>
<<randomp 10 "YOU ARE ON THE PATH TO FAILURE" 10 "ABSOLUTELY WRONG" 10 "INCORRECT" 10 "CHOOSE MORE WISELY NEXT TIME" 10 "NO NO NO" 10 "WRONGO BUDDY" 10 "WRONG ANSWER" 10 "YOU MUST RE-EVALUATE YOUR ASSUMPTIONS" 10 "WITHOUT OUR GUIDING HAND YOU WOULD BE NOTHING" 10 "YOU MUST BE JOKING WITH THAT ANSWER">>\n\n
BLOOD, THE STRONGEST DETERMINATE FOR DECIDING UPON ROYALTY, IS CONSEQUENTLY THE MOST IMPORTANT RESOURCE\n<<set $answer = "FANT">>\s
<<display "setup">>\s\n<<display "bestsetup">>\s\n[[ABOUT WHAT YOU JUST PLAYED|aboutpage]] \n\n[[ENDINGS REACHED|endings]]\n\n[[TAKE THE TEST AGAIN|start]]\n\n[[SKIP THE INTRO|wheel]]
(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");\nn.style.display="inline";n.classList.remove("revision-span-out");\nif(!notrans){n.classList.add("revision-span-in");if(n.timeout){clearTimeout(n.timeout)\n}n.timeout=setTimeout(function(){n.classList.remove("revision-span-in");\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");\nn.style.display="none";n.innerHTML=""}n=null},1000)}else{n.style.display="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);h.style.display="none";h.tweecode="";\nreturn h}if(this.shorthand&&flen){while(f.length>0){vsns.push([f.shift(),(this.flavour=="insert"?"gains":"becomes")])\n}}else{if(this.flavour=="insert"||(this.flavour=="continue"&&this.trigger=="time")){vsns.push(["","becomes"])\n}}if(this.flavour=="continue"&&flen){b.nextMatch=k+b.source.slice(k).length;\nvsns.push([b.source.slice(k),vtype])}else{becomes=["becomes","gains"];\nc=tagcontents(b,begintags,becomes.concat(endtags),endtags,k);\nif(c&&endtags.indexOf(c[1])==-1){while(c){vsns.push(c);c=tagcontents(b,begintags,becomes,endtags,b.nextMatch)\n}c=tagcontents(b,begintags,["end"+e],endtags,b.nextMatch)}if(!c){throwError(g,"can't find matching end"+e);\nreturn}vsns.push(c);if(this.flavour=="continue"){k=b.nextMatch;\nb.nextMatch=k+b.source.slice(k).length;vsns.push([b.source.slice(k),""])\n}}if(this.flavour=="remove"){vsns.push(["","becomes"])}console.log(JSON.stringify(vsns));\ncn=0;m=insertElement(g,"span",null,e);m.setAttribute("data-flavour",this.flavour);\nh=mkspan("initial");vsn=vsns.shift();console.log(e+" "+vsn[0]);\nh.tweecode=vsn[0];showVer(h,true);while(vsns.length>0){if(vsn){vtype=vsn[1]\n}vsn=vsns.shift();h=mkspan(vtype);h.tweecode=vsn[0]}if(typeof this.setup=="function"){this.setup(m,g,f)\n}}function quantity(m){return(m.children.length-1)+(m.getAttribute("data-flavour")=="remove")\n}function revisionSetup(m,g,f){m.className+=" "+f[0].replace(" ","_");\nshowVer(m.firstChild,true)}function 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.name]=e;macros["end"+e.name]=nullobj;begintags.push(e.name);\nendtags.push("end"+e.name)});function reviseAll(rt,rname){var rall=document.querySelectorAll(".passage ."+rname),ret=false;\nfor(var i=0;i<rall.length;i++){ret=ret||revise(rt,rall[i])}return ret\n}function revise(rt,r,notrans){var ind2,curr,next,ind=-1,rev=(rt=="revert"),rnd=(rt.indexOf("random")>-1),fl=r.getAttribute("data-flavour"),rc=r.childNodes,cyc=(fl=="cycle"),rcl=rc.length-1;\nfunction doToGainerSpans(n,fn){for(var k=n-1;k>=0;k--){if(rc[k+1].classList.contains("gains")){fn(rc[k],notrans)\n}else{break}}}for(var k=0;k<=rcl;k++){if(rc[k].getAttribute("data-enabled")=="true"){ind=k\n}}if(rev){ind-=1}curr=(ind>=0?rc[ind]:(cyc?rc[rcl]:null));ind2=ind;\nif(rnd){ind2=(ind+(Math.floor(Math.random()*rcl)))%rcl}next=((ind2<rcl)?rc[ind2+1]:(cyc?rc[0]:null));\nvar docurr=(rev?showVer:hideVer);var donext=(rev?hideVer:showVer);\nif(curr){if(!(next&&next.classList.contains("gains"))||rnd){docurr(curr,notrans);\ndoToGainerSpans(ind,docurr,notrans)}}if(next){donext(next,notrans);\nif(rnd){doToGainerSpans(ind2+1,donext,notrans)}}return(cyc?true:(rev?(ind>0):(ind2<rcl-1)))\n}macros.revert=macros.revise=macros.randomise=macros.randomize={handler:function(a,b,c){var l,rev,rname;\nfunction disableLink(l){l.style.display="none"}function enableLink(l){l.style.display="inline"\n}function updateLink(l){if(l.className.indexOf("random")>-1){enableLink(l);\nreturn}var rall=document.querySelectorAll(".passage ."+rname),cannext,canprev,i,ind,r,fl;\nfor(i=0;i<rall.length;i++){r=rall[i],fl=r.getAttribute("data-flavour");\nif(fl=="cycle"){cannext=canprev=true}else{if(r.firstChild.getAttribute("data-enabled")==!1+""){canprev=true\n}if(r.lastChild.getAttribute("data-enabled")==!1+""){cannext=true\n}}}var can=(l.classList.contains("revert")?canprev:cannext);(can?enableLink:disableLink)(l)\n}function toggleText(w){w.classList.toggle(rl+"Enabled");w.classList.toggle(rl+"Disabled");\nw.style.display=((w.style.display=="none")?"inline":"none")}var rl="reviseLink";\nif(c.length<2){throwError(a,b+" macro needs 2 parameters");return\n}rname=c.shift().replace(" ","_");l=Wikifier.createInternalLink(a,null);\nl.className="internalLink "+rl+" "+rl+"_"+rname+" "+b;var v="";\nvar end=false;var out=false;if(c.length>1&&c[0][0]=="$"){v=c[0].slice(1);\nc.shift()}switch(c[c.length-1]){case"end":end=true;c.pop();break;\ncase"out":out=true;c.pop();break}var h=state.history[0].variables;\nfor(var i=0;i<c.length;i++){var on=(i==Math.max(c.indexOf(h[v]),0));\nvar d=insertElement(null,"span",null,rl+((on)?"En":"Dis")+"abled");\nif(on){h[v]=c[i];l.setAttribute("data-cycle",i)}else{d.style.display="none"\n}insertText(d,c[i]);l.appendChild(d)}l.onclick=function(){reviseAll(b,rname);\nvar t=this.childNodes,u=this.getAttribute("data-cycle")-0,m=t.length,n,lall,i;\nif((end||out)&&u==m-(end?2:1)){if(end){n=this.removeChild(t[u+1]);\nn.className=rl+"End";n.style.display="inline";this.parentNode.replaceChild(n,this)\n}else{this.parentNode.removeChild(this);return}}else{toggleText(t[u]);\nu=(u+1)%m;if(v){h[v]=c[u]}toggleText(t[u]);this.setAttribute("data-cycle",u)\n}lall=document.getElementsByClassName(rl+"_"+rname);for(i=0;i<lall.length;\ni++){updateLink(lall[i])}};disableLink(l);setTimeout(function(){updateLink(l);\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;
AFTER BUG ASSIMILATION IT IS WISE TO USE INSECT CARAPACE AS A BUILDING MATERIAL IN WOOD PROJECTS\n<<set $answer = "FANT">>\s
The idea for FANTASY / REALITY (and some of the content!) came from some old tweets made by Winter K.\n\nThis was my fourth Twine game, and my funnest to make to date! I hope you enjoyed playing through it as much as I did making it. There are many endings available, try to get them all!\n\nMany suggestions and help came from friends and other good folks.\n\nFANTASY / REALITY uses many, many Twine <html><a href="http://www.glorioustrainwrecks.com/node/5462">macros</a></html> by <html><a href="https://twitter.com/webbedspace">Leon Arnott</a></html>, as well as <html><a href="http://eturnerx.com/fot/The%20Future%20of%20Twine.html#14">randomp</a></html> by Emmanuel King Turner.\n\n[[<--|end]]
IT IS A TRIVIAL MISTAKE TO CONFUSE BERRIES WITH BEAR, EASE\n<<set $answer = "FANT">>\s
LEFT HAS BEEN THE OFFICIAL PREFERRED DIRECTION FOR THE PLANET UNGBA SINCE THE DIRECTIONAL ACT OF 1703\n<<set $answer = "REAL">>\s