Your browser lacks required capabilities. Please upgrade it or switch to another to continue.
Loading…
<center>@@font-size:xx-large;Starbreakers@@<br><br>
[[Start]]<br>
[[About]]<br>
<<if $easyMode is false>><<link [[Enable Easy Mode|Title Page]]>><<set $easyMode to true>><</link>><<else>><<link [[Disable Easy Mode|Title Page]]>><<set $easyMode to false>><</link>><</if>><br>
@@font-size:small;(Easy Mode disables all timers and turn limits and enables the undo and redo buttons.)@@<br>
<<if (State.metadata.has('trueend'))>>[[Bonus materials]]<br><</if>>
/*[[Jump to section]]*/
</center>/*Configuration*/
<<run Config.passages.nobr = true;>>
<<set $dark to false>>
<<set $easyMode to false>>
/*Storywide variables*/
<<set $name to "default">>
<<set $loopNumber to 0>>
<<set $force to 0>>
<<set $charm to 0>>
<<set $sneak to 0>>
<<set $characters to [{name : "Pickle", gender : "female"}, {name : "Skerrick", gender : "male"}, {name : "Charity", gender : "female"}, {name : "Andrew" , gender : "male"}]>>
<<set $locations to ["space", "adventure", "pirate", "fantasy"]>>
<<set $locations1 to $locations.slice(0)>>
<<run $locations1.delete("space")>>
<<set $current to "space">>
<<set $prevloc to " ">>
<<set $outcome to 0>>
<<set $turns to 0>>
<<set $timedPuzzle to false>>
<<set $building1 to {adventure : "temple", pirate : "cave hideout", fantasy : "dungeon", space : "spaceship"}>>
<<set $job1 to {adventure : "archaeologist", pirate : "pirate", fantasy : "adventurer", space : "space marine"}>>
/*Prologue*/
<<set $died to false>>
<<set $monsterAction to 0>>
<<set $survivor to {
name : "Pickle",
gender : "female"
}>>
<<set $nextRoom to "Medbay">>
<<set $prevRoom to "Medbay">>
<<set $hidden to false>>
<<set $waysDied to [ ]>>
<<set $puzzle0 to false>>
/*Puzzle 1*/
<<set $material1 to {adventure : "sand", pirate : "coins", fantasy : "water", space : "moon rocks"}>>
<<set $left to {fill : 3, max : 7, space : 4}>>
<<set $right to {fill : 4, max : 4, space : 0}>>
<<set $small to {fill : 0, max : 3, space : 3}>>
<<set $puzzle1 to false>>
/*Puzzle 2*/
<<set $creature2 to {adventure : "sphinx", pirate : "skeleton", fantasy : "dragon"}>>
<<set $material2 to {adventure : "clay", pirate : "weathered driftwood", fantasy : "stone"}>>
<<set $seconds to 0>>
<<set $trap2 to {adventure : "sand", pirate : "gravel", fantasy : "enchanted slime"}>>
<<set $emptySquares to ["a1", "a2", "a3", "a4", "b1", "b2", "b3", "b4", "b5", "b6", "c1", "c2", "c3", "c4", "d1", "d2", "d3", "d4", "d5", "d6", "e2", "e4", "f2", "f4"]>>
<<set $emptySquares1 to $emptySquares.slice(0)>>
<<set $puzzle2 to false>>
/*Puzzle 3*/
<<set $guardMood to 0>>
<<set $guardStrikes to 0>>
<<set $guardSuccess to 0>>
<<set $puzzle3 to false>>
/*Puzzle 4*/
<<set $room1 to {adventure : "archaeologists' encampment", pirate : "cabins", space : "bunk room", fantasy : "bedchambers"}>>
<<set $room2 to {adventure : "priest's chamber", pirate : "map room", space : "hydroponic garden", fantasy : "armory"}>>
<<set $room3 to {adventure : "ritual feasting room", pirate : "dining room", space : "mess hall", fantasy : "banquet hall"}>>
<<set $room4 to {adventure : "altar room", pirate : "cargo hold", space : "engine room", fantasy : "throne room"}>>
<<set $leader to {adventure : "expedition leader", pirate : "captain", space : "captain", fantasy : "king"}>>
<<set $prison to {adventure : "police station in the nearest city", pirate : "brig", space : "brig", fantasy : "dungeon"}>>
<<set $clues to ["There were four people hanging around last night: Charity, a person wearing blue, the person who was in the <<print $room3[$current]>>, and a person wearing size 7 shoes.", "Skerrick's shoe size is smaller than Andrew's and larger than Pickle's.", "Andrew only ever wears black or brown.", "The person wearing red was seen in the <<print $room1[$current]>>.", "The saboteur does not wear the smallest shoe size.", "A size 9 footprint was found in the <<print $room2[$current]>>.", "Witnesses estimated that the person wearing black wore a shoe size of 8 or 9.", "An eyewitness who was in the <<print $room2[$current]>> all night said that they did not see Charity there."]>>
<<set $clues1 to $clues.shuffle()>>
<<set $puzzle4 to false>>
/*Puzzle 5*/
<<set $bucket1 to {fill : 0, max : 9, space : 9}>>
<<set $bucket2 to {fill : 0, max : 4, space : 4}>>
<<set $puzzle5 to false>>
/*Puzzle 6*/
<<set $basicCode to false>>
<<set $bakeryActions to ["He is staring quizzically at the display case. You hear him asking the baker about something called a cronut.", "He looks anguished. He's looking back and forth between the cheesecake and the apple pie.", "He is admiring a large chocolate sculpture. From this angle it looks like an angry frog."]>>
<<set $mensActions to ["The shopkeeper hands Skerrick a selection of hats to try on. He looks annoyingly good in a top hat.", "The shopkeeper is measuring Skerrick for a shirt collar. You hope he's not a secret assassin.", "He is poring over a case full of cufflinks. The shopkeeper is trying to upsell him on shirts to go with them."
]>>
<<set $mugActions to ["He is holding three mugs and tries to pick up a fourth. You wince and turn around - you don't want to see how this goes.", "He is inspecting a mug labelled WORLD'S GREATEST GRANDDAD. You ponder the implications.", "He is laughing at some mugs shaped like a pair of... actually, never mind."]>>
<<set $puzzlePart to 0>>
<<set $puzzle6 to false>>
/*Puzzle 7*/
<<set $answers7 to [ ]>>
<<set $creature7 to {fantasy : "owlbear", space : "toxic gas", pirate : "land shark", adventure : "boulder"}>>
<<set $puzzle7 to false>>
/*Puzzle 8*/
<<set $death8 to {fantasy : "a hungry monster", space : "the trash compactor", adventure : "a pit of quicksand", pirate : "a steep drop into the sea"}>>
<<set $puzzle8 to false>>
/*Puzzle 9*/
<<set $inventory1 to [ ]>>
<<set $inventory to $inventory1.slice(0)>>
<<set $lettersFound to 0>>
<<set $crystalSeen to false>>
<<set $journalRead to false>>
<<set $puzzle9 to false>>
<<set $messages to ["aewong: ok so does anyone know what's going on with <<print $name.toUpperCase()>> rn?", "fdiaz: IDK but it's doing great though",
"aewong: yeah but... why. nobody's ever improved more than 2% in a week, not even team xtreme", "aewong: i'm not complaining but like how do i present this to the sponsor", "fdiaz: Yeah it's a mystery", "fdiaz: I'll bring it up to Eddie tomorrow and see if he can get someone to dig into it?"]>>
<<set $me to false>>
<<set $li to false>>
<<set $s to false>>
<<set $sa to false>>
<<set $manSeen to false>>
<<set $trollSeen to false>>
<<set $crystalGiven to false>>
<<set $ghostSeen to false>>
<<set $chestSeen to false>>
/*Puzzle 10*/
<<set $wordsFound1 to [ ]>>
<<set $wordsFound to $wordsFound1.slice(0)>>
<<set $fantasyWords to ["dragon", "unicorn", "phoenix", "griffin", "chimera", "manticore", "fairy"]>>
<<set $spaceWords to ["quasar", "nebula", "galaxy", "planet", "asteroid", "meteor", "black hole"]>>
<<set $pirateWords to ["jamaica", "trinidad", "aruba", "antigua", "haiti", "bermuda", "anguilla"]>>
<<set $adventureWords to ["babylon", "egypt", "nubia", "greece", "assyria", "nazca", "sumer"]>>
<<set $location10 to {adventure : "office", fantasy : "favorite tavern", pirate : "ship", space : "base"}>>
<<set $puzzle10 to false>>
/*Puzzle 11*/
<<set $rightpole1 to ["largest ring", "second-largest ring", "second-smallest ring", "smallest ring"]>>
<<set $leftpole1 to [ ]>>
<<set $centerpole1 to [ ]>>
<<set $rightpole to $rightpole1.slice(0)>>
<<set $leftpole to $leftpole1.slice(0)>>
<<set $centerpole to $centerpole1.slice(0)>>
<<set $puzzle11 to false>>
/*Puzzle 12*/
<<set $aci to false>>
<<set $db to false>>
<<set $urn to false>>
<<set $passageSeen to false>>
<<set $puzzle12a to false>>
<<set $puzzle12b to false>>
/*Puzzle 13*/
<<set $companion to {name : "", gender : ""}>>
<<set $strikes to 0>>Starbreakers was created by E. Joyce and N. Cormier for IFComp 2021. You can find our previous work on <a href="https://ejoyce.itch.io/" target="_blank">itch.io</a>. The cover image is from <a href="https://www.quoteinspector.com/images/taxes/past-years-taxes-folders/" target="_blank">QuoteInspector</a>.<br><br>
This game was <<if (State.metadata.has('trueend'))>>originally an exercise in expanding our puzzle repertoire and exploring some non-standard uses of Twine; despite our best intentions, it developed a plot.<br><br>
For the sake of the story, we've taken many, many liberties with how machine learning, AIs, and computing in general work or might theoretically work. We are also not programmers or software engineers, so there are probably unintentional errors here as well. We apologize for this.<br><br>
We would like to acknowledge some of our inspirations: the games //Thomas Was Alone// and //macdows 95// for the concept of AIs gaining more intelligence than they were meant to through solving puzzles; the Zero Escape trilogy and the game //Gnosia// for their approach to integrating "Game Overs" and replays into the narrative; and (for something completely different) the BBC podcast //The Lazarus Heist//, for its look at the use of hacking and computer viruses by world governments.<<else>>@@font-size:large;ACCESS DENIED@@<</if>><br><br>
<<return>>You are awoken by a crash and a violent rocking that sends you tumbling from your bunk onto the floor.<br><br>
A voice comes through your comms earpiece. "This is Skerrick. We've been hit—seems like the ship is in pretty bad condition. Who's still with us?"<br><br>
"Charity reporting," one voice says.<br><br>
"Andrew reporting," says another.<br><br>
"I'm here!" says a third. "Oh, uh, Pickle, that is. Pickle reporting!"<br><br>
You should probably report in too. You search for the words; your mind feels terribly foggy. Your name is... it's...<br><br>
<<textbox "$name" "">>
<<button "Confirm Name">>
<<set $name to $name.trim()>>
<<if /[^0-9a-z]/i.test($name)>>
<<replace "#error-name">>Only letters and numbers are allowed.<</replace>>
<<elseif $name is "">>
<<replace "#error-name">>You did not enter a name.<</replace>>
<<else>>
<<goto [[Intro2]]>>
<</if>>
<</button>><div id="error-name"></div>"$name reporting," you say.<br><br>
You all wait for a moment, but no one else responds.<br><br>
"Listen," says Skerrick, "you all need to get to the escape pod, and fast. I think there's something on the ship. I—"<br><br>
Over Skerrick's comms channel, you hear distant crashing and then an ear-splitting, inhuman shriek.<br><br>
"I have to go," Skerrick says. "I'll see you all at the escape pods—I hope."<br><br>
Hauling yourself to your feet, you head out [[into the corridor|Corridor]].<<set $waysDied to [ ]>>
You move along the corridor as quietly as possible. Reaching the atrium, you stop short—an alien creature, a towering beast with massive jaws and many, many sharp teeth, is standing in the middle of the room.<br><br>
There is also a person there—someone wearing a suit and a helmet, so you can't tell who it is. The alien lifts its head and turns towards the suited figure. The person inches slowly, cautiously back towards the nearest door, but the alien apparently isn't the type of predator that only focuses on sudden movements. It leaps at the person, and those massive jaws snap shut.<br><br>
You have to get out of here //now//. You fling yourself through <<link [[the nearest door|Medbay]]>><<set $puzzle0 to true>><</link>>.<<set $nextRoom to "Garden">>
<<if $died === true>>
You blink. You're back in the medbay. Weren't you just...? A hazy thought slips away from you, and you shake your head as if to clear it. You have to focus. <<set $died to false>><br><br>
<<else>>
You're in the medbay, surrounded by healing pods whose indicator lights are all blinking red. Apparently that impact took out something important to their function.<br><br>
<</if>>
<<alienattack>>
<<if $waysDied.includes($monsterAction)>>
For some reason you have the feeling that it would be a bad idea to
<<if $monsterAction is 1>>
<<print either("move quickly", "hide")>>.
<<elseif $monsterAction is 2>>
<<print either("move quickly", "move cautiously")>>.
<<elseif $monsterAction is 3>>
<<print either("hide", "move cautiously")>>.
<</if>><br><br>
<</if>>
<<if $monsterAction === 1>><<link "Move cautiously and quietly.">><<goto $nextRoom>><</link>><<else>><<link [[Move cautiously and quietly.|AlienDeath]]>><<set $died to true>><<run $waysDied.push($monsterAction)>><</link>><</if>><br>
<<if $monsterAction === 3>><<link "Move quickly, but not quietly.">><<goto $nextRoom>><</link>><<else>><<link [[Move quickly, but not quietly.|AlienDeath]]>><<set $died to true>><<run $waysDied.push($monsterAction)>><</link>><</if>><br>
<<if $monsterAction === 2>><<link "Hide and wait for it to leave before moving.">><<set $hidden to true>><<goto $nextRoom>><</link>><<else>><<link [[Hide and wait for it to leave before moving.|AlienDeath]]>><<set $died to true>><<run $waysDied.push($monsterAction)>><</link>>
<</if>>You hear a steady thumping coming from nearby—maybe an adjacent room, maybe the air ducts.<br><br>You hear the alien screech. It sounds like it's right outside the door.<br><br>You hear a person scream somewhere nearby. You can't think right now about who it might have been.<br><br><<set $nextRoom to "Engine">>
<<set $prevRoom to "Medbay">>
<<if $hidden is true>>
You hide and wait for the monster to pass by before moving to the next room.<br><br><<set $hidden to false>><</if>>
<<if $died === true>>
You're in the hydroponic garden. You were in the engine room just now, weren't you? And you don't remember going back. In fact, you remember...<br><br>
No. You don't have time for this. You have to keep going.
<<set $died to false>><br><br>
<<else>>
You are in the hydroponic garden, surrounded by vegetables. The air has a fresher scent here, but now is not the time to appreciate it.<br><br>
<</if>>
<<alienattack>>
<<if $waysDied.includes($monsterAction)>>
For some reason you have the feeling that it would be a bad idea to
<<if $monsterAction is 1>>
<<print either("move quickly", "hide")>>.
<<elseif $monsterAction is 2>>
<<print either("move quickly", "move cautiously")>>.
<<elseif $monsterAction is 3>>
<<print either("hide", "move cautiously")>>.
<</if>><br><br>
<</if>>
<<if $monsterAction === 1>><<link "Move cautiously.">><<goto $nextRoom>><</link>><<else>><<link [[Move cautiously.|AlienDeath]]>><<set $died to true>><<run $waysDied.push($monsterAction)>><</link>><</if>><br>
<<if $monsterAction === 3>><<link "Move quickly.">><<goto $nextRoom>><</link>><<else>><<link [[Move quickly.|AlienDeath]]>><<set $died to true>><<run $waysDied.push($monsterAction)>><</link>><</if>><br>
<<if $monsterAction === 2>><<link "Hide.">><<set $hidden to true>><<goto $nextRoom>><</link>><<else>><<link [[Hide.|AlienDeath]]>><<set $died to true>><<run $waysDied.push($monsterAction)>><</link>>
<</if>>The alien bursts into the room and grabs you with one clawed hand. You struggle, but its grip is too strong. Slowly, as if savoring the experience, it lifts you to its mouth. You have enough time to notice that its breath smells of rotting meat before its jaws clamp down.<br><br>
<<link "You have died.">><<goto $prevRoom>><</link>><<widget "alienattack">><<set $monsterAction to random(1,3)>><<if $monsterAction === 1>><<include "AlienThump">><<elseif $monsterAction === 2>><<include "AlienScreech">><<elseif $monsterAction === 3>><<include "AlienKill">><</if>><</widget>>
<<widget "they">><<if $args[0].gender is "male">>he<<elseif $args[0].gender is "female">>she<<else>>they<</if>><</widget>>
<<widget "them">><<if $args[0].gender is "male">>him<<elseif $args[0].gender is "female">>her<<else>>them<</if>><</widget>>
<<widget "pour">>
<<if $args[0].fill <= $args[1].space>>
<<set $args[1].fill to $args[1].fill + $args[0].fill>>
<<set $args[0].fill to 0>>
<<set $args[0].space to $args[0].max>>
<<set $args[1].space to $args[1].max - $args[1].fill>>
<<else>>
<<set $args[1].fill to $args[1].max>>
<<set $args[0].fill to $args[0].fill - $args[1].space>>
<<set $args[0].space to $args[0].max - $args[0].fill>>
<<set $args[1].space to 0>>
<</if>>
<<set $turns += 1>>
<</widget>>
<<widget "fill">>
<<set $args[0].fill to $args[0].max>>
<<set $args[0].space to 0>>
<<set $turns += 1>>
<</widget>>
<<widget "empty">>
<<set $args[0].fill to 0>>
<<set $args[0].space to $args[0].max>>
<<set $turns += 1>>
<</widget>>
<<widget "timer">>
<<set $seconds to $args[0]>>
<<repeat 1s>>
<<set $seconds to $seconds - 1>>
<<if $seconds gt 0>>
<<replace "#timer">>$seconds seconds remaining.<</replace>>
<<else>>
<<replace "#timer">><</replace>>
<<goto $args[1]>>
<<stop>>
<</if>>
<</repeat>>
<</widget>>
<<widget "wordcheck">>
<<set _answer to _answer.trim().toLowerCase()>>
<<if $args[0].includes(_answer)>>
<<if $wordsFound.includes(_answer)>>
<<replace "#error">>You have already found that word!<br><br><</replace>>
<<else>>
<<run $wordsFound.push(_answer)>>
<<if $wordsFound.length === 7>>
<<replace "#words">>''Words found (<<print $wordsFound.length>>/7)'': $wordsFound<</replace>>
<<replace "#error">>
[[You have found all the words!|Puzzle10end]]
<</replace>>
<<else>>
<<replace "#words">>''Words found (<<print $wordsFound.length>>/7)'': $wordsFound<br><</replace>>
<<replace "#error">><</replace>>
<</if>>
<</if>>
<<else>>
<<replace "#error">>That word is not in the puzzle.<br><br><</replace>>
<</if>>
<</widget>><<set $nextRoom to "Cargo">>
<<set $prevRoom to "Garden">>
<<if $hidden is true>>
You hide and wait for the monster to pass by before moving to the next room.<br><br><<set $hidden to false>><</if>>
<<if $died === true>>
You're back in the engine room. No, wait, you just came from the garden, didn't you? Your head hurts.<br><br>
<<set $died to false>>
<<else>>
You enter the engine room. The ship's main power source is humming away, unimpeded by whatever that crash was earlier. For now, at least.<br><br>
<</if>>
<<alienattack>>
<<if $waysDied.includes($monsterAction)>>
For some reason you have the feeling that it would be a bad idea to
<<if $monsterAction is 1>>
<<print either("move quickly", "hide")>>.
<<elseif $monsterAction is 2>>
<<print either("move quickly", "move cautiously")>>.
<<elseif $monsterAction is 3>>
<<print either("hide", "move cautiously")>>.
<</if>><br><br>
<</if>>
<<if $monsterAction === 1>><<link "Move cautiously.">><<goto $nextRoom>><</link>><<else>><<link [[Move cautiously.|AlienDeath]]>><<set $died to true>><<run $waysDied.push($monsterAction)>><</link>><</if>><br>
<<if $monsterAction === 3>><<link "Move quickly.">><<goto $nextRoom>><</link>><<else>><<link [[Move quickly.|AlienDeath]]>><<set $died to true>><<run $waysDied.push($monsterAction)>><</link>><</if>><br>
<<if $monsterAction === 2>><<link "Hide.">><<set $hidden to true>><<goto $nextRoom>><</link>><<else>><<link [[Hide.|AlienDeath]]>><<set $died to true>><<run $waysDied.push($monsterAction)>><</link>>
<</if>><<set $nextRoom to "Bunks">>
<<set $prevRoom to "Engine">>
<<if $hidden is true>>
You hide and wait for the monster to pass by before moving to the next room.<br><br><<set $hidden to false>><</if>>
<<if $died === true>>
You're in the cargo hold again. Again? You weren't here before, were you? Shit. How hard did you hit your head when you fell off the bunk?<br><br>
<<set $died to false>>
<<else>>
You enter the cargo hold. There are stacks upon stacks of nondescript crates here. You wonder vaguely what's in them.<br><br>
<</if>>
<<alienattack>>
<<if $waysDied.includes($monsterAction)>>
For some reason you have the feeling that it would be a bad idea to
<<if $monsterAction is 1>>
<<print either("move quickly", "hide")>>.
<<elseif $monsterAction is 2>>
<<print either("move quickly", "move cautiously")>>.
<<elseif $monsterAction is 3>>
<<print either("hide", "move cautiously")>>.
<</if>><br><br>
<</if>>
<<if $monsterAction === 1>><<link "Move cautiously.">><<goto $nextRoom>><</link>><<else>><<link [[Move cautiously.|AlienDeath]]>><<set $died to true>><<run $waysDied.push($monsterAction)>><</link>><</if>><br>
<<if $monsterAction === 3>><<link "Move quickly.">><<goto $nextRoom>><</link>><<else>><<link [[Move quickly.|AlienDeath]]>><<set $died to true>><<run $waysDied.push($monsterAction)>><</link>><</if>><br>
<<if $monsterAction === 2>><<link "Hide.">><<set $hidden to true>><<goto $nextRoom>><</link>><<else>><<link [[Hide.|AlienDeath]]>><<set $died to true>><<run $waysDied.push($monsterAction)>><</link>>
<</if>><<set $nextRoom to "Podbay">>
<<set $prevRoom to "Cargo">>
<<if $hidden is true>>
You hide and wait for the monster to pass by before moving to the next room.<br><br><<set $hidden to false>><</if>>
You enter a room with bunks along one wall. All empty right now, of course.<br><br>
<<alienattack>>
<<if $waysDied.includes($monsterAction)>>
For some reason you have the feeling that it would be a bad idea to
<<if $monsterAction is 1>>
<<print either("move quickly", "hide")>>.
<<elseif $monsterAction is 2>>
<<print either("move quickly", "move cautiously")>>.
<<elseif $monsterAction is 3>>
<<print either("hide", "move cautiously")>>.
<</if>><br><br>
<</if>>
<<if $monsterAction === 1>><<link "Move cautiously.">><<goto $nextRoom>><</link>><<else>><<link [[Move cautiously.|AlienDeath]]>><<set $died to true>><<run $waysDied.push($monsterAction)>><</link>><</if>><br>
<<if $monsterAction === 3>><<link "Move quickly.">><<goto $nextRoom>><</link>><<else>><<link [[Move quickly.|AlienDeath]]>><<set $died to true>><<run $waysDied.push($monsterAction)>><</link>><</if>><br>
<<if $monsterAction === 2>><<link "Hide.">><<set $hidden to true>><<goto $nextRoom>><</link>><<else>><<link [[Hide.|AlienDeath]]>><<set $died to true>><<run $waysDied.push($monsterAction)>><</link>>
<</if>><<if $hidden is true>>
You hide and wait for the monster to pass by before moving to the next room.<br><br><<set $hidden to false>><</if>>
<<set $puzzle0 to false>>
Finally, you reach the escape pod bay. It really isn't all that far from the atrium, but you feel like you've been running for hours.<br><br>
<<set $survivor to $characters.random()>>
You see <<print $survivor.name>> standing there and raise your hand in greeting. The two of you stand there silently for several moments, waiting to see if the others come, but no one does.<br><br>
"Looks like it's just you and me<<if $survivor.name is "Charity">>, kid<</if>>," $survivor.name says.<br><br>
The two of you turn your attention to the escape pods. You push the button on the nearest one, but the hatch doesn't slide open, and the lights inside don't come on. Shit. The impact must have messed something up here, too.<br><br>
You go down the line of escape pods, testing each one. Only one of them works. It takes you a moment to process the situation, by which time $survivor.name has already started for the hatch.<br><br>
[[What are you going to do about this?|Betrayal]]
<<print $name>><<print $loopNumber>> <<linkreplace "terminated.">><<set $loopNumber += 1>><<set $current to $locations1.random()>>terminated.<br>Initiating <<print $name>><<print $loopNumber>>...<br>[[Continue|Puzzle1]]<</linkreplace>>You could try physically overpowering $survivor.name; you aren't in the best shape, but you still have some strength left to you. You could also try to convince <<them $survivor>> that you should be the one to survive. Or you could try to distract <<them $survivor>> and jump into the pod when <<they $survivor>> <<if $survivor.gender is "male" or $survivor.gender is "female">>isn't<<else>>aren't<</if>> looking. You're not sure any of these will work, but you have to try. As cruel as it is, as selfish as it is, there is something in you that desperately wants to survive.<br><br>
<<link [[Assault.|ShipEnd]]>>
<<set $outcome to 0>>
<<set $force += 1>>
<</link>><br>
<<link [[Convince.|ShipEnd]]>>
<<set $outcome to 1>>
<<set $charm += 1>>
<</link>><br>
<<link [[Distract.|ShipEnd]]>>
<<set $outcome to 2>>
<<set $sneak += 1>>
<</link>><<switch $outcome>>
<<case 0>>
You charge at $survivor.name, intending to knock <<them $survivor>> to the floor, but <<they $survivor>> <<if $survivor.gender is "male" or $survivor.gender is "female">>steps<<else>>step<</if>> aside at the last minute. You stumble, and $survivor.name takes the opportunity to get into the pod before you regain your balance.<br><br>
"Sorry,<<if $survivor.name is "Charity">> kid,<</if>>" <<they $survivor>> <<if $survivor.gender is "male" or $survivor.gender is "female">>says<<else>>say<</if>>, as the hatch closes.<br><br>
<<case 1>>
You ask $survivor.name to let you take the pod. You explain that you know where there is a station nearby, and that it would be easier for you to navigate there than to explain its location to somewhere else. You promise that you will send a rescue party back for <<them $survivor>> as soon as possible.<br><br>
$survivor.name laughs humorlessly. "Nice try, <<if $survivor.name is "Charity">> kid, <</if>>but I'm not that easily fooled."<br><br>
You make a last-ditch effort to sprint for the pod, but $survivor.name is faster. "Sorry," <<they $survivor>> <<if $survivor.gender is "male" or $survivor.gender is "female">>says<<else>>say<</if>>, as the hatch closes.<br><br>
<<case 2>>
Acting as if you've heard an unexpected noise, you suggest that the alien might be coming this way, and $survivor.name agrees to go take a look at the bunk room as long as you come with <<them $survivor>>.<br><br>
As $survivor.name is peering into the room, you try to creep away towards the escape pod. Before you've made it two steps, <<they $survivor>> <<if $survivor.gender is "male" or $survivor.gender is "female">>whips<<else>>whip<</if>> around and grab your arm. "Nice try," <<they $survivor>> <<if $survivor.gender is "male" or $survivor.gender is "female">>says<<else>>say<</if>>, yanking you off-balance and heading for the pod.<br><br>
<</switch>>
The pod shoots out into space. And you are left alone on the damaged ship, with the alien. [[You won't survive this.|FailureSpace]]
<<run $locations1.delete("space")>><<set $died to false>>
<<set $left to {fill : 3, max : 7, space : 4}>>
<<set $right to {fill : 4, max : 4, space : 0}>>
<<set $small to {fill : 0, max : 3, space : 3}>>
<<switch $current>>
<<case "adventure">>
You are in an ancient temple in the heart of the jungle. A wealthy benefactor has promised a hefty reward to the first person who can reach the temple's central chamber and bring back the stone idol that sits on its grand altar. Of course you couldn't resist the challenge.<br><br>
<<case "pirate">>
At long last, you and your crew have found it: the cave where, according to legend, the famed pirate Captain Rattlebones hid his massive collection of treasure.<br><br>
You are surprised, though, to find that the cave is not just a natural cave with treasure heaped out in the open, available to anyone who could discover the entrance. Old Rattlebones apparently turned this into a proper hideout, sealing his treasure away behind sturdy doors set into the stone.<br><br>
<<case "fantasy">>
You and your band of adventurers came to this dungeon to slay a giant ogre that had been terrorizing the village, and for once, you didn't have to go very far in to find it. You've made quick work of it—the ogre's corpse lies on the floor, its black blood gleaming in the flickering light from the torches on the walls. But there are many more rooms to this dungeon still, and who knows what else they may hold? No question about it—you've got to keep exploring.<br><br>
<</switch>>
The <<print $building1[$current]>>'s main area has five doors leading out of it, each with a strange contraption that seems to be serving as a locking mechanism. Your fellow <<print $job1[$current]>>s are also here: Pickle, a short, freckled woman with tousled hair and boundless energy; Charity, who is always elegantly dressed and constantly smoking; Andrew, a balding, middle-aged man whose clothes never seem to fit him right; and Skerrick, a tall, well-built young man with the air of a natural leader.<br><br>
Each of them has already picked a door and gotten to work.
<<switch $current>>
<<case "adventure">>
You may be colleagues, but since you're competing right now, none of you are really inclined to help one another. At least they've all decided to split up instead of actively getting in your way.<br><br>
<<case "pirate">>
You're all pirates, after all—when treasure is on the line, it's everyone for themselves. They're not interested in helping one another, or you.<br><br>
<<case "fantasy">>
Though technically you're all working together as members of the Adventurers' Guild, these guys tend to go a little nuts when loot is involved—and if you don't hurry, they're not going to leave any for you.<br><br>
<</switch>>
You are standing in front of the fifth door, taking it in. On a stand next to the door, there is a pole with a bucket attached to each end; the one on the left is labeled "7" and the one on the right is labeled "4". A smaller bucket, labeled "3", sits beside the stand. The "7" bucket is about half full of <<print $material1[$current]>>, and the "4" bucket is completely full. The small bucket is empty. <<if $current is "pirate">>For a moment you consider filling the small bucket with coins and leaving with it, but then you think to bite a coin to see if it's real gold. It isn't. <</if>>You figure you probably have to make this contraption balance to get that door open.<br><br>
<<link [[Begin|Puzzle1a]]>><<set $puzzle1 to true>><</link>><<if $turns >= 7>>
<<if $easyMode is false>>
<<goto "Puzzle1Fail">>
<</if>>
<</if>>
<<if $left.fill > $right.fill or $right.fill > $left.fill>>
Left bucket: $left.fill/7 unit(s) of <<print $material1[$current]>><br>
Right bucket: $right.fill/4 unit(s) of <<print $material1[$current]>><br>
Small bucket: $small.fill/3 unit(s) of <<print $material1[$current]>><br><br>
Pour left bucket into: <<link [[Right bucket|Puzzle1a]]>><<pour $left $right>><</link>> - <<link [[Small bucket|Puzzle1a]]>><<pour $left $small>><</link>><br>
Pour right bucket into: <<link [[Left bucket|Puzzle1a]]>><<pour $right $left>><</link>> - <<link [[Small bucket|Puzzle1a]]>><<pour $right $small>><</link>><br>
Pour small bucket into: <<link [[Left bucket|Puzzle1a]]>><<pour $small $left>><</link>> - <<link [[Right bucket|Puzzle1a]]>><<pour $small $right>><</link>>
<<else>>
The pole is perfectly balanced. [[The door opens.|Puzzle1end]]
<</if>><<switch $current>>
<<case "adventure">>
Next you come to a large door, in front of which is a sphinx. The sphinx's eyes glint hungrily in the darkness, and it swishes its tail idly as it waits for potential prey.<br><br>
<<case "pirate">>
Pacing back and forth in front of the next door is a skeleton wearing a completely unnecessary eyepatch and a large black hat with a rather bedraggled feather stuck in it. You almost start laughing, but seeing the wickedly sharp saber in the skeleton's bony hand, you stifle the urge.<br><br>
<<case "fantasy">>
The passage to proceed further into the dungeon is blocked by a large dragon. Its eyes glint hungrily in the darkness, and it huffs out a sulfurous breath.<br><br>
<</switch>>
On the door is a plaque made of <<print $material2[$current]>>. Drawn on the plaque is a grid, the cells of which are empty.<br><br>
The <<print $creature2[$current]>> turns its head towards you. "If you would proceed, <<print $job1[$current]>>, you must answer my riddles," it says, its voice echoing strangely through the mostly empty space.<br><br>
<<link [[Begin|Puzzle2a]]>><<set $puzzle2 to true>><</link>><<if $easyMode is false>> (This puzzle is timed.)<</if>><<print $name>><<print $loopNumber>> <<linkreplace "terminated.">><<set $loopNumber += 1>><<set $current to $locations1.random()>><<set $turns to 0>>terminated.<br>Initiating <<print $name>><<print $loopNumber>>...<br>[[Continue|Puzzle1]]<</linkreplace>>[[Puzzle 0|Corridor]]<br>
<<link [[Puzzle 1|Puzzle1]]>><<set $current to $locations1.random()>><</link>><br>
<<link [[Puzzle 2|Puzzle2]]>><<set $current to $locations1.random()>><</link>><br>
<<link [[Puzzle 3|Puzzle3]]>><<set $current to $locations1.random()>><</link>><br>
<<link [[Puzzle 4|Puzzle4]]>><<run $locations1.push("space")>><<set $current to $locations1.random()>><<set $prevloc to $locations1.random()>><</link>><br>
<<link [[Puzzle 5|Puzzle5]]>><<run $locations1.push("space")>><<set $current to $locations1.random()>><</link>><br>
<<link [[Puzzle 6|Puzzle6]]>><<run $locations1.push("space")>><<set $current to $locations1.random()>><</link>><br>
<<link [[Puzzle 7|Puzzle7]]>><<run $locations1.push("space")>><<set $current to $locations1.random()>><</link>><br>
<<link [[Puzzle 8|Puzzle8]]>><<run $locations1.push("space")>><<set $current to $locations1.random()>><</link>><br>
<<link [[Puzzle 9|Puzzle9]]>><<run $locations1.push("space")>><<set $current to $locations1.random()>><</link>><br>
<<link [[Puzzle 10|Puzzle10]]>><<run $locations1.push("space")>><<set $current to $locations1.random()>><</link>><br>
<<link [[Puzzle 11|Puzzle11]]>><<run $locations1.push("space")>><<set $current to $locations1.random()>><</link>><br>
<<link [[Puzzle 12|Puzzle12]]>><<run $locations1.push("space")>><<set $current to $locations1.random()>><</link>><br>You walk through the door into another large room. It looks like all those doors in the previous room led to the same place. (You wonder briefly who would design a <<print $building1[$current]>> that way.)<br><br>
<<set $puzzle1 to false>>
Shortly afterwards, Pickle bursts through one of the doors, pulling it off its hinges in the process. "Oops," she says, sheepishly, and leans the door carefully against the wall.<br><br>
She is followed by Andrew, then Skerrick—and the second the door closes behind Skerrick, you hear a muffled scream from the room you just came from. That must be Charity. Wondering what happened to her, you turn back towards the door you just passed through, but the sense that this is the wrong thing to do hits you with almost a physical force. You have to keep going forward. There are more doors, more puzzles, more treasures to find. You can't afford to worry about the other <<print $job1[$current]>>s.<br><br>
[[Continue|Puzzle2]]You sigh in frustration, staring at the door. There has to be a way to make this work, right? The <<print $material1[$current]>>, the buckets... you just need to focus.<br><br>
Suddenly, from somewhere, a buzzer sounds. Looking around the room, you notice it's empty—everyone else has gone on ahead, and only you are still stuck here at the entrance. Whatever fantastic riches you hoped to obtain here, you're out of luck now.<br><br>
In frustration, you give the bucket/pole contraption a shove. Unfortunately, it seems to have been rigged somehow to loose a hidden boulder from somewhere near the ceiling to fall on your head. You have just enough time to realize that you've made a mistake before [[everything goes black|Puzzle1Fail2]].<<set $guardMood to random(1,3)>>
Together, you and Pickle walk through the door and find yourselves in the corridor of a military base. Which is a completely normal thing to find in the middle of a <<print $building1[$current]>>, of course, and you're not sure why you were surprised for a moment there.<br><br>
"Oh," says Pickle, "I got this letter—it seems important." She hands it to you and you read:<br><br>
//In the room at the end of this hallway is an encoded message that the two of you need to obtain. The code should be easy to break, but the question is: how will you get into the room? The door is locked and a guard is stationed in front of it. Good luck.//<br><br>
"I can definitely break down the door, if you can take care of the guard," Pickle says.<br><br>
You agree.<br><br>
"Cool," says Pickle. "Teamwork!"<br><br>
<<link [[Begin|Puzzle3a]]>><<set $puzzle3 to true>><</link>><<if $died is true>><<set $guardStrikes to 0>><<set $died to false>><</if>>
/*[[Debugging: Select Guard Mood|GuardMood]]<br><br>*/
You figure the best way to go about this is to try to lure the guard away from the door, at least far enough down the hall that Pickle can do her thing before he can get back there to stop her. You'll just have to try and figure out which approach he responds best to.<br><br>
<<switch $guardMood>>
<<case 1>>
<<link [['"Hey, man, how is your shift going?"'|Puzzle3b]]>><<set $guardSuccess += 1>><<set $outcome to 0>><</link>><br>
<<link [['"General wants to see you."'|Puzzle3b]]>><<set $guardStrikes += 1>><<set $outcome to 1>><</link>><br>
<<link [['"The mess is on fire!"'|Puzzle3b]]>><<set $guardStrikes += 1>><<set $outcome to 2>><</link>>
<<case 2>>
<<link [['"Hey, man, how is your shift going?"'|Puzzle3b]]>><<set $guardStrikes += 1>><<set $outcome to 0>><</link>><br>
<<link [['"General wants to see you."'|Puzzle3b]]>><<set $guardSuccess += 1>><<set $outcome to 1>><</link>><br>
<<link [['"The mess is on fire!"'|Puzzle3b]]>><<set $guardStrikes += 1>><<set $outcome to 2>><</link>>
<<case 3>>
<<link [['"Hey, man, how is your shift going?"'|Puzzle3b]]>><<set $guardStrikes += 1>><<set $outcome to 0>><</link>><br>
<<link [['"General wants to see you."'|Puzzle3b]]>><<set $guardStrikes += 1>><<set $outcome to 1>><</link>><br>
<<link [['"The mess is on fire!"'|Puzzle3b]]>><<set $guardSuccess += 1>><<set $outcome to 2>><</link>>
<</switch>>The <<print $creature2[$current]>> glares at you. "You have failed to answer my riddles," it says. "Your life is now forfeit."<br><br>
You protest—it didn't tell you that was the price for failure! Although thinking about it, maybe that should've been obvious.<br><br>
"Nevertheless," says the <<print $creature2[$current]>>, "you will die now."<br><br>
And before you can defend yourself, it <<if $current is "pirate">>runs you through with its saber<<else>>devours you in a single bite<</if>>.<br><br>
[[You have died.|Puzzle2Fail2]]<<print $name>><<print $loopNumber>> <<linkreplace "terminated.">><<set $loopNumber += 1>><<set $current to $locations1.random()>>terminated.<br>Initiating <<print $name>><<print $loopNumber>>...<br>[[Continue|Puzzle2]]<</linkreplace>>Walking through the door, you find Pickle somehow already in the room.<br><br>
"You made it!" she says, waving cheerfully. Her hand snags a dangling rope, setting off a trap that dumps a load of <<print $trap2[$current]>> about two feet to her left. Her face falls. "I'm so sorry," she says. "None of that hit you, right?"<br><br>
"I'm fine," you assure her.<br><br>
You are about to ask after the others when you notice noises coming from the other side of the door—noises that sound very much like a <<print $creature2[$current]>><<if $current is "pirate">> doing rather a lot of stabbing<<else>> eating something large<</if>>.<br><br>
You and Pickle look at each other.<br><br>
"Well," she says after a moment, "I guess we'd better press on."<br><br>
<<set $puzzle2 to false>>
[[Continue|Puzzle3]]<<if $easyMode is false>><div id="timer">$seconds seconds remaining</div>
<<silently>><<timer 300 Puzzle2Fail1>><</silently>><</if>>
<span style="font-family: 'Courier New'">
<table>
<tr>
<td><div id="a1">_</div></td>
<td><div id="a2">_</div></td>
<td><div id="a3">_</div></td>
<td><div id="a4">_</div></td>
<td><div id="a5">*</div></td>
<td><div id="a6">*</div></td>
</tr>
<tr>
<td><div id="b1">_</div></td>
<td><div id="b2">_</div></td>
<td><div id="b3">_</div></td>
<td><div id="b4">_</div></td>
<td><div id="b5">_</div></td>
<td><div id="b6">_</div></td>
</tr>
<tr>
<td><div id="c1">_</div></td>
<td><div id="c2">_</div></td>
<td><div id="c3">_</div></td>
<td><div id="c4">_</div></td>
<td><div id="c5">*</div></td>
<td><div id="c6">*</div></td>
</tr>
<tr>
<td><div id="d1">_</div></td>
<td><div id="d2">_</div></td>
<td><div id="d3">_</div></td>
<td><div id="d4">_</div></td>
<td><div id="d5">_</div></td>
<td><div id="d6">_</div></td>
</tr>
<tr>
<td><div id="e1">*</div></td>
<td><div id="e2">_</div></td>
<td><div id="e3">*</div></td>
<td><div id="e4">_</div></td>
<td><div id="e5">*</div></td>
<td><div id="e6">*</div></td>
</tr>
<tr>
<td><div id="f1">*</div></td>
<td><div id="f2">_</div></td>
<td><div id="f3">*</div></td>
<td><div id="f4">_</div></td>
<td><div id="f5">*</div></td>
<td><div id="f6">*</div></td>
</tr>
</table>
</span><br>
When you are finished, <<click "click here">>
<<if $emptySquares1.length > 0>><<replace #creature>>"You haven't finished answering my questions yet," the <<print $creature2[$current]>> says crossly.<br><</replace>>
<<else>>
<<goto "Puzzle2end">>
<</if>>
<</click>> to go through the door.<br><br>
<div id="creature"></div>
A1. If a deceptive creature neither sits nor stands, what does it do?<br> <<set _answera1 = " ">>
<<textbox "_answera1" "">>
<<button "Check">>
<<if _answera1 is "">>
<<script>>UI.alert("You did not supply an answer!");<</script>>
<<elseif /[^0-9a-z]/i.test(_answera1)>>
<<replace "#textbox-replya1">>Only letters and numbers are allowed.<</replace>>
<<else>>
<<set _answera1 to _answera1.trim().toLowerCase()>>
<<if _answera1 is "lies">>
<<replace #a1>>L<</replace>><<replace #a2>>I<</replace>><<replace #a3>>E<</replace>><<replace #a4>>S<</replace>>
<<run $emptySquares1.deleteWith(function (val) {
return val.includes("a");
})>>
<<replace '#textbox-replya1'>>
CORRECT
<</replace>>
<<elseif _answera1 isnot "lies">>
<<replace '#textbox-replya1'>>
INCORRECT
<</replace>>
<</if>>
<</if>>
<</button>>
<span id='textbox-replya1'></span> <br>
A2. Which snakes are good at mathematics?<br>
<<set _answera2 = " ">>
<<set _answera2 to "">>
<<textbox "_answera2" "">>
<<button "Check">>
<<if _answera2 is "">>
<<script>>UI.alert("You did not supply an answer!");<</script>>
<<elseif /[^0-9a-z]/i.test(_answera2)>>
<<replace "#textbox-replya2">>Only letters and numbers are allowed.<</replace>>
<<else>>
<<set _answera2 to _answera2.trim().toLowerCase()>>
<<if _answera2 is "adders">>
<<replace #b1>>A<</replace>><<replace #b2>>D<</replace>><<replace #b3>>D<</replace>><<replace #b4>>E<</replace>><<replace #b5>>R<</replace>><<replace #b6>>S<</replace>>
<<run $emptySquares1.deleteWith(function (val) {
return val.includes("b");
})>>
<<replace '#textbox-replya2'>>
CORRECT
<</replace>>
<<elseif _answera2 isnot "adders">>
<<replace '#textbox-replya2'>>
INCORRECT
<</replace>>
<</if>>
<</if>>
<</button>>
<span id='textbox-replya2'></span> <br>
A3. Which colors have finished many books?<br>
<<set _answera3 to "">>
<<textbox "_answera3" "">>
<<button "Check">>
<<if _answera3 is "">>
<<script>>UI.alert("You did not supply an answer!");<</script>>
<<elseif /[^0-9a-z]/i.test(_answera3)>>
<<replace "#textbox-replya3">>Only letters and numbers are allowed.<</replace>>
<<else>>
<<set _answera3 to _answera3.trim().toLowerCase()>>
<<if _answera3 is "reds">>
<<replace #c1>>R<</replace>><<replace #c2>>E<</replace>><<replace #c3>>D<</replace>><<replace #c4>>S<</replace>>
<<run $emptySquares1.deleteWith(function (val) {
return val.includes("c");
})>>
<<replace '#textbox-replya3'>>
CORRECT
<</replace>>
<<elseif _answera3 isnot "reds">>
<<replace '#textbox-replya3'>>
INCORRECT
<</replace>>
<</if>>
<</if>>
<</button>>
<span id='textbox-replya3'></span> <br>
A4. Which boats look identical from the front and from the back?<br>
<<set _answera4 to "">>
<<textbox "_answera4" "">>
<<button "Check">>
<<if _answera4 is "">>
<<script>>UI.alert("You did not supply an answer!");<</script>>
<<elseif /[^0-9a-z]/i.test(_answera4)>>
<<replace "#textbox-replya4">>Only letters and numbers are allowed.<</replace>>
<<else>>
<<set _answera4 to _answera4.trim().toLowerCase()>>
<<if _answera4 is "kayaks">>
<<replace #d1>>K<</replace>><<replace #d2>>A<</replace>><<replace #d3>>Y<</replace>><<replace #d4>>A<</replace>><<replace #d5>>K<</replace>><<replace #d6>>S<</replace>>
<<run $emptySquares1.deleteWith(function (val) {
return val.includes("d");
})>>
<<replace '#textbox-replya4'>>
CORRECT
<</replace>>
<<elseif _answera4 isnot "kayaks">>
<<replace '#textbox-replya4'>>
INCORRECT
<</replace>>
<</if>>
<</if>>
<</button>>
<span id='textbox-replya4'></span><br><br>
D1. What bird is always having fun?<br>
<<set _answerd1 to "">>
<<textbox "_answerd1" "">>
<<button "Check">>
<<if _answerd1 is "">>
<<script>>UI.alert("You did not supply an answer!");<</script>>
<<elseif /[^0-9a-z]/i.test(_answerd1)>>
<<replace "#textbox-replyd1">>Only letters and numbers are allowed.<</replace>>
<<else>>
<<set _answerd1 to _answerd1.trim().toLowerCase()>>
<<if _answerd1 is "lark">>
<<replace #a1>>L<</replace>><<replace #b1>>A<</replace>><<replace #c1>>R<</replace>><<replace #d1>>K<</replace>>
<<run $emptySquares1.deleteWith(function (val) {
return val.includes("1");
})>>
<<replace '#textbox-replyd1'>>
CORRECT
<</replace>>
<<elseif _answerd1 isnot "lark">>
<<replace '#textbox-replyd1'>>
INCORRECT
<</replace>>
<</if>>
<</if>>
<</button>>
<span id='textbox-replyd1'></span><br>
D2. What goals do you find when you add yourself to deals?<br>
<<set _answerd2 to "">>
<<textbox "_answerd2" "">>
<<button "Check">>
<<if _answerd2 is "">>
<<script>>UI.alert("You did not supply an answer!");<</script>>
<<elseif /[^0-9a-z]/i.test(_answerd2)>>
<<replace "#textbox-replyd2">>Only letters and numbers are allowed.<</replace>>
<<else>>
<<set _answerd2 to _answerd2.trim().toLowerCase()>>
<<if _answerd2 is "ideals">>
<<replace #a2>>I<</replace>><<replace #b2>>D<</replace>><<replace #c2>>E<</replace>><<replace #d2>>A<</replace>><<replace #e2>>L<</replace>><<replace #f2>>S<</replace>>
<<run $emptySquares1.deleteWith(function (val) {
return val.includes("2");
})>>
<<replace '#textbox-replyd2'>>
CORRECT
<</replace>>
<<elseif _answerd2 isnot "ideals">>
<<replace '#textbox-replyd2'>>
INCORRECT
<</replace>>
<</if>>
<</if>>
<</button>>
<span id='textbox-replyd2'></span><br>
D3. What man is found in river currents?<br>
<<set _answerd3 to "">>
<<textbox "_answerd3" "">>
<<button "Check">>
<<if _answerd3 is "">>
<<script>>UI.alert("You did not supply an answer!");<</script>>
<<elseif /[^0-9a-z]/i.test(_answerd3)>>
<<replace "#textbox-replyd3">>Only letters and numbers are allowed.<</replace>>
<<else>>
<<set _answerd3 to _answerd3.trim().toLowerCase()>>
<<if _answerd3 is "eddy">>
<<replace #a3>>E<</replace>><<replace #b3>>D<</replace>><<replace #c3>>D<</replace>><<replace #d3>>Y<</replace>>
<<run $emptySquares1.deleteWith(function (val) {
return val.includes("3");
})>>
<<replace '#textbox-replyd3'>>
CORRECT
<</replace>>
<<elseif _answerd3 isnot "eddy">>
<<replace '#textbox-replyd3'>>
INCORRECT
<</replace>>
<</if>>
<</if>>
<</button>>
<span id='textbox-replyd3'></span><br>
D4. What seed, without Ed, is the same?<br>
<<set _answerd4 to "">>
<<textbox "_answerd4" "">>
<<button "Check">>
<<if _answerd4 is "">>
<<script>>UI.alert("You did not supply an answer!");<</script>>
<<elseif /[^0-9a-z]/i.test(_answerd4)>>
<<replace "#textbox-replyd4">>Only letters and numbers are allowed.<</replace>>
<<else>>
<<set _answerd4 to _answerd4.trim().toLowerCase()>>
<<if _answerd4 is "sesame">>
<<replace #a4>>S<</replace>><<replace #b4>>E<</replace>><<replace #c4>>S<</replace>><<replace #d4>>A<</replace>><<replace #e4>>M<</replace>><<replace #f4>>E<</replace>>
<<run $emptySquares1.deleteWith(function (val) {
return val.includes("4");
})>>
<<replace '#textbox-replyd4'>>
CORRECT
<</replace>>
<<elseif _answerd4 isnot "sesame">>
<<replace '#textbox-replyd4'>>
INCORRECT
<</replace>>
<</if>>
<</if>>
<</button>>
<span id='textbox-replyd4'></span><br>
<<if $dark is true>>
<<addclass "#passages" "dark">>
<<addclass ".passage" "dark">>
<<addclass "a" "dark">>
<<addclass "#ui-bar" "dark">>
<<addclass "#ui-bar-toggle" "dark">>
<<if $easyMode is true>><<addclass "#ui-bar-history" "dark">><</if>>
<<addclass "#story-title" "dark">>
<<addclass "#ui-dialog-body" "dark">>
<<addclass "#ui-dialog-titlebar" "dark">>
<<addclass "#ui-dialog-title" "dark">>
<<addclass "#menu" "dark">>
<<else>>
<<removeclass "#passages" "dark">>
<<removeclass ".passage" "dark">>
<<removeclass "a" "dark">>
<<removeclass "#ui-bar" "dark">>
<<removeclass "#ui-bar-toggle" "dark">>
<<if $easyMode is true>><<removeclass "#ui-bar-history" "dark">><</if>>
<<removeclass "#story-title" "dark">>
<<removeclass "#ui-dialog-body" "dark">>
<<removeclass "#ui-dialog-titlebar" "dark">>
<<removeclass "#ui-dialog-title" "dark">>
<<removeclass "#menu" "dark">>
<</if>>
<<if $current is "fantasy">>
<<addclass "body" "fantasy">>
<<elseif $current is "adventure">>
<<addclass "body" "adventure">>
<<elseif $current is "pirate">>
<<addclass "body" "pirate">>
<</if>>
<<if $easyMode is false>>
<<addclass "body" "hidehistory">>
<</if>><label><<radiobutton "$guardMood" 1>>Charming</label><br>
<label><<radiobutton "$guardMood" 2>>Forceful</label><br>
<label><<radiobutton "$guardMood" 3>>Dramatic</label><br><br>
<<return>><<if $guardStrikes >= 3>><<goto "Puzzle3Fail1">><</if>>
<<switch $outcome>>
<<case 0>>
<<if $guardMood is 1>>
"Not bad, not bad," he says. "Definitely getting a bit tired, though."<br><br>
<<else>>
The guard narrows his eyes. "Do I know you?"<br><br>
<</if>>
<<link [['"These guard-duty shifts can be so long. You must be looking forward to taking a break."'|Puzzle3c]]>><<if $guardMood is 1>><<set $guardSuccess += 1>><<else>><<set $guardStrikes += 1>><</if>><<set $outcome to 0>><</link>><br>
<<link [['"More importantly, the General wants to see you."'|Puzzle3b]]>><<if $guardMood is 2>><<set $guardSuccess += 1>><<else>><<set $guardStrikes += 1>><</if>><<set $outcome to 1>><</link>><br>
<<link [['"Actually, what I came here to tell you is, the mess is on fire!"'|Puzzle3b]]>><<if $guardMood is 3>><<set $guardSuccess += 1>><<else>><<set $guardStrikes += 1>><</if>><<set $outcome to 2>><</link>>
<<case 1>>
<<if $guardMood is 2>>
The guard flinches. "Did... did he say why?"<br><br>
<<else>>
The guard looks dubious. "Me? Why?"<br><br>
<</if>>
<<link [['"It\'s probably nothing important. How\'s your shift going?"'|Puzzle3b]]>><<if $guardMood is 1>><<set $guardSuccess += 1>><<else>><<set $guardStrikes += 1>><</if>><<set $outcome to 0>><</link>><br>
<<link [['"He didn\'t say why, but it sounded urgent."'|Puzzle3c]]>><<if $guardMood is 2>><<set $guardSuccess += 1>><<else>><<set $guardStrikes += 1>><</if>><<set $outcome to 1>><</link>><br>
<<link [['"Actually, what I came here to tell you is, the mess is on fire!"'|Puzzle3b]]>><<if $guardMood is 3>><<set $guardSuccess += 1>><<else>><<set $guardStrikes += 1>><</if>><<set $outcome to 2>><</link>>
<<case 2>>
<<if $guardMood is 3>>
"Oh no!" he says. "What happened?"<br><br>
<<else>>
The guard frowns. "I didn't hear any alarms."<br><br>
<</if>>
<<link [['"Sorry, man, I was just messing with you. Anyway, how\'s your shift going?"'|Puzzle3b]]>><<if $guardMood is 1>><<set $guardSuccess += 1>><<else>><<set $guardStrikes += 1>><</if>><<set $outcome to 0>><</link>><br>
<<link [['"Well, more importantly, the General wants to see you."'|Puzzle3b]]>><<if $guardMood is 2>><<set $guardSuccess += 1>><<else>><<set $guardStrikes += 1>><</if>><<set $outcome to 1>><</link>><br>
<<link [['"There was a mishap with a toaster and the whole kitchen went up. Lotta grease in there, you know."'|Puzzle3c]]>><<if $guardMood is 3>><<set $guardSuccess += 1>><<else>><<set $guardStrikes += 1>><</if>><<set $outcome to 2>><</link>>
<</switch>><<if $guardStrikes >= 3>><<goto "Puzzle3Fail1">><</if>>
<<switch $outcome>>
<<case 0>>
The guard sighs. "You can say that again. I've been here for eight hours, and I've got two hours left still."<br><br>
<<link [['"Regulations say that guard shifts aren\'t allowed to be more than eight hours."'|Puzzle3d]]>><<set $guardStrikes += 1>><<set $outcome to 0>><</link>><br>
<<link [['"Wait, did you hear that? I think there\'s someone else in the hall with us!"'|Puzzle3d]]>><<set $guardStrikes += 1>><<set $outcome to 1>><</link>><br>
<<link [['"Say, do you want me to take over for you?"'|Puzzle3d]]>><<set $guardSuccess += 1>><<set $outcome to 2>><</link>>
<<case 1>>
The guard grimaces. "Does he realize I'm still on shift?"<br><br>
<<link [['"Yeah, but he wanted to see you anyway. He\'s such a pain, isn\'t he?"'|Puzzle3d]]>><<set $guardStrikes += 1>><<set $outcome to 3>><</link>><br>
<<link [['"I don\'t ask the General questions and neither should you."'|Puzzle3d]]>><<set $guardSuccess += 1>><<set $outcome to 4>><</link>><br>
<<link [['"Wait, did you hear that? I think there\'s someone else in the hall with us!"'|Puzzle3d]]>><<set $guardStrikes += 1>><<set $outcome to 1>><</link>>
<<case 2>>
"Yikes, that sounds serious," the guard says. "Why are you telling me, though? There must be people closer to the mess who could help."<br><br>
<<link [['"The Colonel asked me to go get you and I didn\'t ask questions."'|Puzzle3d]]>><<set $guardStrikes += 1>><<set $outcome to 5>><</link>><br>
<<link [['"It\'s out of control! We need all the manpower we can get!"'|Puzzle3d]]>><<set $guardSuccess += 1>><<set $outcome to 6>><</link>><br>
<<link [['"Some of the boys are toasting marshmallows on the fire and if you don\'t hurry there won\'t be any left for you."'|Puzzle3d]]>><<set $guardStrikes += 1>><<set $outcome to 7>><</link>>
<</switch>><<set $died to true>>
"Look," says the guard, "I don't know what you're up to, but you're looking pretty shady to me. I'm calling security."<br><br>
You turn and run down the hall in the direction you just came from. Suddenly, however, your foot finds empty air where the floor should be: the hall now ends in a gaping chasm. Unfortunately, your momentum carries you right off the edge, and you [[tumble into blackness|Puzzle3Fail2]].<<print $name>><<print $loopNumber>> <<linkreplace "terminated.">><<set $loopNumber += 1>>terminated.<br>Initiating <<print $name>><<print $loopNumber>>...<br>[[Continue|Puzzle3]]<</linkreplace>><<run $locations1.push("space")>>
<<run $locations1.delete($current)>>
<<set $prevloc to $current>>
<<set $puzzle3 to false>>
<<switch $outcome>>
<<case 0>>
Thinking fast, you convince him that he needs to stop off in a side room to get something before he continues on his way. Once the door closes behind him, you signal to Pickle, who proceeds to kick down the door to the room you're trying to get into.<br><br>
<<case 1>>
You come up beside him, and when he turns to look at you, you punch him in the face, sending him slamming into the wall of the hallway. (It's pretty narrow.) Dazed, he slides to the floor.<br><br>
"Nice one!" says Pickle, giving you a thumbs-up. She then proceeds to kick the door down.<br><br>
<<case 2>>
You signal to Pickle to wait. She looks disappointed, but complies. After what feels like an eternity, the guard rounds the corner at the end of the hallway and is gone. Pickle immediately springs into action, kicking the door down.<br><br>
<</switch>>
The two of you burst into the room; in it there's nothing but a chair and a table that has a piece of paper on it. Pickle leaps to grab the paper; in the process, she whacks into a table leg, which snaps. The table tips over, and its now-unsupported corner dents the floor on impact. "Oh no," she says, "not //again//!"<br><br>
You glance at the paper and verify that it's the coded message—or at least, it's //a// coded message, and you hope it's the right one, because there's nothing else in here. The code turns out to be just a Caesar shift, the easiest kind of substitution cipher to break—not very secure for a military communique, you can't help thinking. Message in hand, you leave the room and follow Pickle down the hall.<br><br>
<<link [[Continue|Puzzle4]]>><<set $current to $locations1.random()>><</link>><<if $guardStrikes >= 3>><<goto "Puzzle3Fail1">><</if>>
<<switch $outcome>>
<<case 0>>
"Yeah, well, tell that to the person who assigned me to this shift," says the guard.<br><br>
<<link [['"Wait, did you hear that? I think there\'s someone else in the hall with us!"'|Puzzle3d]]>><<set $guardStrikes += 1>><<set $outcome to 1>><</link>><br>
<<link [['"Say, do you want me to take over for you?"'|Puzzle3d]]>><<set $guardSuccess += 1>><<set $outcome to 2>><</link>>
<<case 1>>
The guard cocks his head and listens for a moment. "Nope," he says, "I don't hear a thing."<br><br>
(Which is just as well, you realize belatedly, because Pickle actually //is// in the hallway with you, and calling his attention to her would be counterproductive.)<br><br>
<<if $guardMood is 1>>
<<link [['"Why is your shift so long, anyway? Regulations say that guard shifts aren\'t allowed to be more than eight hours."'|Puzzle3d]]>><<set $guardStrikes += 1>><<set $outcome to 0>><</link>><br>
<<link [['"Anyway, do you want me to take over for you?"'|Puzzle3d]]>><<set $guardSuccess += 1>><<set $outcome to 2>><</link>>
<<else>>
<<link [['"Anyway, the general wants to see you even though you're busy. He\'s such a pain, isn\'t he?"'|Puzzle3d]]>><<set $guardStrikes += 1>><<set $outcome to 3>><</link>><br>
<<link [['"It\'s not important, anyway. What matters here is that the General wants to see you."'|Puzzle3d]]>><<set $guardSuccess += 1>><<set $outcome to 4>><</link>>
<</if>>
<<case 2>>
The guard looks at you hopefully. "Would you?" he says. "I mean, I know I'm going to get in trouble if they find out, but I'm dying here."<br><br>
[[You assure him that you'd be happy to.|Puzzle3e]]
<<case 3>>
"I don't think it's a good idea to talk about the General that way," says the guard.<br><br>
<<link [['"If you\'re that concerned about making him angry, you should stop asking questions and report to him now."'|Puzzle3d]]>><<set $guardSuccess += 1>><<set $outcome to 4>><</link>><br>
<<link [['"Wait, did you hear that? I think there\'s someone else in the hall with us!"'|Puzzle3d]]>><<set $guardStrikes += 1>><<set $outcome to 1>><</link>>
<<case 4>>
The guard heaves a deep sigh. "I guess you're right," he says.<br><br>
[[He starts off down the hall.|Puzzle3e]]
<<case 5>>
The guard frowns. "Which Colonel was this?"<br><br>
<<link [['"That\'s not important right now! The fire is out of control and we need all the manpower we can get!"'|Puzzle3d]]>><<set $guardSuccess += 1>><<set $outcome to 6>><</link>><br>
<<link [['"Anyway, some of the boys are toasting marshmallows on the fire and if you don\'t hurry there won\'t be any left for you."'|Puzzle3d]]>><<set $guardStrikes += 1>><<set $outcome to 7>><</link>>
<<case 6>>
"Shit," says the guard, "if it's that bad I guess I'd better hurry."<br><br>
[[He starts off down the hall.|Puzzle3e]]
<<case 7>>
The guard gives you a funny look. "Uh, okay," he says.<br><br>
<<link [['"Just kidding! The fire is out of control and we need all the manpower we can get."'|Puzzle3d]]>><<set $guardSuccess += 1>><<set $outcome to 6>><</link>><br>
<<link [['"Just kidding! The Colonel asked me to go get you and I didn\'t ask questions."'|Puzzle3d]]>><<set $guardStrikes += 1>><<set $outcome to 5>><</link>>
<</switch>>Sabotage!<br><br>
<<switch $current>>
<<case "space">>
Last night, someone crept into the engine room and siphoned off some of the fuel, forcing you to stop at a space station to refuel instead of reaching your destination on time.<br><br>
<<case "pirate">>
Last night, someone crept into the cargo hold and spoiled most of your food supplies, forcing you to dock at the nearest port instead of continuing your search for hidden treasure (perhaps in the service of someone else who wants to get to the treasure first?).<br><br>
<<case "adventure">>
Last night, someone crept into the altar room of the temple you're currently excavating, stole the statue of the god that previously sat atop the altar, and then booby-trapped the room so that when you tried to go in and look for clues, a rockfall blocked off the door (and nearly smashed your head in—good thing you have quick reflexes).<br><br>
<<case "fantasy">>
You and your fellow adventurers were hired to guard the new king until his coronation, but last night someone crept into the throne room and replaced the magical scepter that bestows the power of kingliness upon the bearer with a convincing replica. This was an absolute disaster for the coronation, as the replica scepter did //not// glow with a majestic light when placed in the hand of the rightful ruler, and the new king is very cross about it.<br><br>
<</switch>>
One of your fellow <<print $job1[$current]>>s—Andrew, Pickle, Charity, or Skerrick—must be the culprit. Andrew, Charity, Skerrick... why are you momentarily surprised that they're all alive? And for that matter, why do you feel like you should be in a <<print $building1[$prevloc]>>?<br><br>
Well, that's not important right now. What matters is the sabotage. With eyewitness accounts and footprints, can you figure out whodunnit?<br><br>
[[Begin|Puzzle4message]]The hall is long, and the guard's footsteps echo loudly. You realize that it's going to be a while before he's out of earshot, especially for something as loud as breaking down the door.<br><br>
<<link [[Convince him to duck into a side room.|Puzzle3End]]>><<set $charm += 1>><<set $outcome to 0>><</link>><br>
<<link [[Knock him out.|Puzzle3End]]>><<set $force += 1.5>><<set $outcome to 1>><</link>><br>
<<link [[Just wait for him to go—you're not in a hurry.|Puzzle3End]]>><<set $stealth += 1>><<set $outcome to 2>><</link>>The saboteur is the person who was in the <<print $room4[$current]>> last night. The smallest shoe size is 7 and the largest is 10.<br><br>
<<for _i to 0; _i lt $clues1.length; _i++>>
<<print _i + 1>>. $clues1[_i]<br>
<</for>><br>
Who is the saboteur?<br><br>
[[Andrew|Puzzle4Fail1]]<br>
[[Charity|Puzzle4b]]<br>
[[Pickle|Puzzle4Fail1]]<br>
[[Skerrick|Puzzle4Fail1]]You try to present your findings to the <<print $leader[$current]>>, but he frowns. "That doesn't sound right to me," he says. "Actually, how do I know //you're// not the saboteur, trying to pin the blame on someone else?"<br><br>
You protest your innocence, but in minutes the guards have surrounded you and carted you off to the <<print $prison[$current]>>.<br><br>
[[You are left in the dark to contemplate your fate.|Puzzle4Fail2]]What is their shoe size?<br><br>
[[7|Puzzle4Fail1]]<br>
[[8|Puzzle4c]]<br>
[[9|Puzzle4Fail1]]<br>
[[10|Puzzle4Fail1]]What color were they wearing?<br><br>
[[Black|Puzzle4end]]<br>
[[Blue|Puzzle4Fail1]]<br>
[[Brown|Puzzle4Fail1]]<br>
[[Red|Puzzle4Fail1]]You lay out your case for the <<print $leader[$current]>>, who nods gravely. The guards are called; in minutes, they've surrounded Charity and carted her away.<br><br>
<<set $puzzle4 to false>>
You, Andrew, Pickle, and Skerrick all look at each other for a long moment, unsure what to say. In the end, you don't say anything—you have work to do, and you might as well get on with it.<br><br>
Or that's the plan, anyway. Then, before your eyes, a hole opens up in the wall. "Oh, no," says Pickle, "did I do that?" (You don't see how she could've; she's been standing on the other side of the room the whole time.)<br><br>
The hole is a little wider than your arm, and all you can see in it is darkness. You regard it with some trepidation, but Skerrick makes a beeline for it and sticks his hand in.<br><br>
You half-expect this to be some sort of trap, but Skerrick withdraws his arm without difficulty. He is holding two pieces of paper. You go over to him and [[read over his shoulder|Puzzle4endletter]].<<print $name>><<print $loopNumber>> <<linkreplace "terminated.">><<set $loopNumber += 1>><<set $current to $locations1.random()>>terminated.<br>Initiating <<print $name>><<print $loopNumber>>...<br>[[Continue|Puzzle4]]<</linkreplace>>Two scraps of paper drift down from the sky, hitting you in the head and then sliding off. Picking them up, you see that one reads "The new servers will arrive next Friday and should be online by Monday" and the other reads "... need someone to work overtime to support this—please email me and CC Christie if you..."<br><br>
You're not really sure what any of that is about. But it doesn't seem relevant to the issue at hand, which is that <<link [[you have a saboteur to find|Puzzle4a]]>><<set $puzzle4 to true>><</link>>.From: jbwhite<br>
To: +SUPRSTAR-ALL<br>
Subject: Weekly Program Update<br><br>
Hi everyone,<br><br>
It's that time again! Here's what's been going on this month on the SUPR-STAR program:<br><br>
<ul>
<li>Milestones
<ul>
<li>The sponsor has agreed to our request to move our next design review out by a week in order to gather more data. This should be good news for all of you, especially Team 3. Please remember to email me your slides a few days in advance for final review.</li>
<li>The PO for the server hardware has finally gone out the door! Thank you Alex and Christie for resolving the last minute stocking issue with the vendor, and for getting us rush delivery in the bargain.</li>
</ul>
<br>
The first scrap ends here, with a ragged, torn-off edge. The second, smaller scrap reads:<br><br>
<ul>
<li>Other
<ul>
<li>Please use the kitchen to wash out the coffee filters, and not the bathroom! We've already had to get Facilities to unclog the sinks twice this month. I know it's a bit of a walk, but if this keeps up we'll need to move the coffee maker out of the test room.</li>
</ul>
<br>
[[... Huh.|Puzzle5]]<<set $turns to 0>>
<<set $bucket1 to {fill : 0, max : 9, space : 9}>>
<<set $bucket2 to {fill : 0, max : 4, space : 4}>>
<<switch $current>>
<<case "adventure">>
After clearing away the rubble blocking the door to the altar room, you continue deeper into the temple. Soon you come to a section where the floor drops away into a giant pit. Looking closely at the floor at the edge of the pit, you can see an area that looks suspiciously as though a bridge might slide out of it if only you could figure out how to activate it.<br><br>
<<case "pirate">>
After a detour to stock up on foodstuffs, you continue your journey to find the lost treasure of the pirate Cutthroat Joe (yes, you already found the treasure of Captain Rattlebones, but you can never have //too much// treasure, right?).<br><br>
You reach the island marked on your map, but no sooner have you gotten off the beach than you come to a large crevasse. It's deep, and you can't see any obvious way to cross it. Looking carefully at the ground at the edge, however, you can see an area that looks suspiciously as though a bridge might slide out of it if only you could figure out how to activate it.<br><br>
<<case "fantasy">>
After the disastrous coronation and the revelation that one of your own was a traitor and a thief, you're sent from the castle in disgrace. Not knowing what else to do, you accept another commission to explore a dungeon. Before you've gone very far in, you come to a section where the floor drops away into a giant pit. Looking closely at the floor at the edge of the pit, you can see an area that looks suspiciously as though a bridge might slide out of it if only you could figure out how to activate it.<br><br>
<<case "space">>
Hoping to get the refueling over with as soon as possible, you set down on a small moon that you know is home to a mining colony. You're not quite sure //where// on the moon the colony is, though, and you don't have the fuel to go around looking for it, so you just land in the lunar desert and hope for the best.<br><br>
After a short trek, you come to a large crevasse. It's deep, and you can't see any obvious way to cross it. Looking carefully at the ground at the edge, however, you can see an area that looks suspiciously as though a bridge might slide out of it if only you could figure out how to activate it.<br><br>
<</switch>>
Next to the pit is a pressure plate, and next to the pressure plate are a large container of <<print $material1[$current]>> and a bucket labeled "4". The pressure plate has a "6" written on it, and on top of it is a bucket labeled "9".<br><br>
<<link [[Begin|Puzzle5a]]>><<set $puzzle5 to true>><</link>><<if $easyMode is false>>
<<if $turns >= 9>>
<<goto "Puzzle5Fail1">>
<</if>>
<</if>>
<<if $bucket1.fill === 6>>
You place the large bucket on the pressure plate, and a bridge slides smoothly out, [[allowing you to cross to the other side|Puzzle5end]].
<<else>>
The pressure plate says "6".<br><br>
Large bucket: $bucket1.fill/9 unit(s) of <<print $material1[$current]>><br>
Small bucket: $bucket2.fill/4 unit(s) of <<print $material1[$current]>><br><br>
Large bucket: <<link [[Fill|Puzzle5a]]>><<fill $bucket1>><</link>> - <<link [[Empty|Puzzle5a]]>><<empty $bucket1>><</link>> - <<link [[Pour into small bucket|Puzzle5a]]>><<pour $bucket1 $bucket2>><</link>><br>
Small bucket: <<link [[Fill|Puzzle5a]]>><<fill $bucket2>><</link>> - <<link [[Empty|Puzzle5a]]>><<empty $bucket2>><</link>> - <<link [[Pour into large bucket|Puzzle5a]]>><<pour $bucket2 $bucket1>><</link>>
<</if>>Apparently whoever set up this pressure plate/bridge situation as a safety measure didn't trust anyone who messed around with it for too long. After a frustrating round of pouring <<print $material1[$current]>> back and forth, you set down the bucket to take a break—and suddenly, without warning, the ground opens up beneath you, sending you falling into another pit. [[You hope it doesn't have spikes at the bottom.|Puzzle5Fail2]]<<print $name>><<print $loopNumber>> <<linkreplace "terminated.">><<set $loopNumber += 1>><<set $current to $locations1.random()>>terminated.<br>Initiating <<print $name>><<print $loopNumber>>...<br>[[Continue|Puzzle5]]<</linkreplace>>When you reach the other side of the bridge, you see that only Skerrick has followed you. You can't see Andrew or Pickle on the other side of the bridge, either. You ask Skerrick if he's seen them.
"No," he says. "Maybe we should go look for them."<br><br>
Before you can say anything, he continues, "I'm going to see what's over this way," and starts heading off in a direction that is, as far as you can tell, entirely randomly selected. Not knowing what else to do, you follow.<br><br>
<<set $puzzle5 to false>>
[[Continue|Puzzle6]]You find yourself in a bustling outdoor marketplace. Skerrick is also here, with four people you don't recognize trailing behind him. You ask him who they are.<br><br>
"These are my assistants!" he says. "I don't really know where they came from either, they just showed up and said it was their job to help me with stuff."<br><br>
"Here are our instructions, by the way," Skerrick says, handing you a piece of paper. It reads:<br><br>
//The attached map shows the location of a building that serves as the headquarters of a secret society. Your mission is to gain entry to this building. Members of the society are required to give a password in order to be allowed in. [[Good luck.|Puzzle6a]]//<br><br><<link "Toggle Dark Mode">>
<<if $dark is false>>
<<set $dark to true>>
<<else>>
<<set $dark to false>>
<</if>>
<<set _passage to passage()>>
<<goto _passage>>
<</link>>
/*<<click "Fantasy">>
<<set $current to "fantasy">>
<<set _passage to passage()>>
<<goto _passage>>
<</click>>
<<click "Adventure">>
<<set $current to "adventure">>
<<set _passage to passage()>>
<<goto _passage>>
<</click>>
<<click "Pirate">>
<<set $current to "pirate">>
<<set _passage to passage()>>
<<goto _passage>>
<</click>>
<<click "Space">>
<<set $current to "space">>
<<set _passage to passage()>>
<<goto _passage>>
<</click>>*/You follow the map and find yourself in front of a large wooden door with a panel in it at about head height that looks like it opens. You knock on the door.<br><br>
The panel slides open and you see a pair of suspicious eyes staring out at you. "Password?"<br><br>
"Ah, this is really embarrassing," says Skerrick, "but we forgot the password."<br><br>
The person inside turns away for a moment, then turns back and slides a piece of paper through the opening. "There's a hint for you," they say. "If you're truly a member of the Society you'll know what it means."<br><br>
<<link [[You look at the piece of paper.|Puzzle6b]]>><<set $puzzle6 to true>><</link>><<set $turns to 0>>
<<set $puzzlePart to 0>>
The paper says: <<if $basicCode is false>>☿☾♀☉♃ ☿♂♄♃<<else>>*=&#$ *^@$<</if>><br><br>
<<if $basicCode is false>>(If the code is not displaying correctly, or you are using a screen reader, <<link [[click here|Puzzle6b]]>><<set $basicCode to true>><</link>>.)<br><br><</if>>
"Well," says Skerrick, "we're not going to be able to get this right on the first try just by guessing, but based on what the guard said, this must be a sort of standard code known to members of the Society. Maybe my assistants could help us find out more. In fact, I've got some ideas of where they could start!"<br><br>
You are about to ask him for more information when he spots a bakery stall and goes haring off to look at some pastries. You're going to have to figure out how to get him back on task.<br><br>
[[Begin|Puzzle6c]]<<if $turns >= 5>>
<<goto "Puzzle6Fail1">>
<<else>>
<<switch $puzzlePart>>
<<case 0>>
Skerrick is at the bakery stall. <<print $bakeryActions.random()>><br><br>
<<case 1>>
Skerrick is at a stall selling men's fashion and accessories. <<print $mensActions.random()>><br><br>
<<case 2>>
Skerrick is at a stall selling novelty ceramics. <<print $mugActions.random()>><br><br>
<</switch>>
In this plaza, you see a [[stall with some cows|man selling cows]], a [[fishmonger]], an [[annoyed-looking woman]] on a bench, a [[group of children]], and an [[alley cat]].
<</if>>Several cows are tied up at a nearby stall. The vendor is extolling the virtues of his fresh milk to everyone within earshot. <br><br>
The cows look bored and restless. Upon closer inspection, there's also a bull tied up a small distance from the cows. The bull is watching you intently. The vendor sees you looking and strikes up a conversation. <br><br>
<<if $puzzlePart is 2>>
[[Ask him for help.|cowsyes]]<br>
[[Return.|Puzzle6c]]
<<else>>
[[Ask him for help.|cowsno]]<br>
[[Return.|Puzzle6c]]
<</if>>A man stands at a stall, hawking fish. You can smell them from here.<br><br>
As you approach the stall, he greets you. "Good day! Can I interest you in some fresh fish?"<br><br>
[[Ask him for help.|fish2]]<br>
[[Return.|Puzzle6c]]An annoyed-looking woman sits on a bench. She keeps checking her watch.<br><br>
You approach her. "Excuse me ma'am, is everything all right?"<br><br>
She scowls. "Well, no. Have you seen my boyfriend, Eli? About so tall, black hair, wearing a navy blue suit? He's late for our date, again."<br><br>
<<if $puzzlePart is 1>>
[[Ask her for help.|womanyes]]<br>
[[Return.|Puzzle6c]]
<<else>>
[[Ask her for help.|womanno]]<br>
[[Return.|Puzzle6c]]
<</if>>A gang of children is milling around the edge of the market. A few dust-covered boys kick a ball back and forth, while other children beg for coins from passers-by. The oldest boy makes eye contact and thumbs his nose at you.<br><br>
<<if $puzzlePart is 0>>
[[Ask them for help.|kidsyes]]<br>
[[Return.|Puzzle6c]]
<<else>>
[[Ask them for help|kidsno]]<br>
[[Return.|Puzzle6c]]
<</if>>An alley cat wanders around the area, looking for mice or discarded food.<br><br>
[[Use the cat to distract Skerrick.|cat1]]<br>
[[Return.|Puzzle6c]]The vendor's face drops. "Eh, I don't know who runs that stall—they don't buy anything from me. Can I interest you in anything else?"<br><br>
You look around, exasperated, and notice the bull. You look back at the mug shop. You look back at the bull. His eyes meet yours, and for a moment you feel he understands exactly what you want.<br><br>
"Uh—can I feed the cows? They're really cute!" you stammer. The vendor smiles and hands you some carrots.<br><br>
You approach the bull and feed him the carrots. Before the vendor can say anything, you pull out your knife and slash his tether. The bull immediately takes off towards the mug shop.<br><br>
After a series of loud crashes, Skerrick reappears. He looks a bit worse for the wear. <br><br>
[[Ask him about the code.|Puzzle6d]]<<set $turns += 1>>
<<if $puzzlePart is 0>>
The vendor's face lights up. "Ah yes, I sell Johnny my finest milk to make his cakes!" He starts expositing at length about his dairy.<br><br>
<<elseif $puzzlePart is 1>>
The vendor's face lights up. "Ah yes, I sell Eli my best leather for his belts!" He starts expositing at length about his other cattle products.<br><br>
<</if>>
[[Return.|Puzzle6c]]<<set $turns += 1>>
<<switch $puzzlePart>>
<<case 0>>
You ask him about the bakery stall.<br><br>
"I don't know anything about that," he says. "All I do is sell fish. Can I interest you in some haddock?"<br><br>
<<case 1>>
You ask him about the menswear stall.<br><br>
"I don't know anything about that," he says. "All I do is sell fish. Can I interest you in some trout?"<br><br>
<<case 2>>
You ask him about the ceramics stall.<br><br>
"I don't know anything about that," he says. "All I do is sell fish. Can I interest you in some nice fresh herring?"<br><br>
<</switch>>
[[Return.|Puzzle6c]]<<set $turns += 1>>
You tell the woman that a man who looks like Eli is assisting a customer at the men's boutique. She sighs heavily.<br><br>
"Oh, not again! He's always so busy trying to trick idiots into paying him commissions that he can't ever remember the time. I've had it!” She stands up and strides angrily towards the menswear stall. You hear distant yelling.<br><br>
A minute later, Skerrick reappears. <br><br>
[[Ask him about the code.|Puzzle6d]]
<<set $turns += 1>>
"I'm sorry—I'd love to help, but I just know that Eli will show up the second I leave." The woman doesn't move.<br><br>
[[Return|Puzzle6c]] <<set $turns += 1>>
You address the leader. "Hey, kid—can you do me a favor?"<br><br>
He looks like he's about to say something rude, but you quickly pull out a coin and flip it to him. He catches it easily.<br><br>
Sure, mate," he says. "What's the deal?"<br><br>
"See that stall over there? I want you to all go and buy as many sweets as you want. Make sure to shove that guy a little." You gesture in the direction of Skerrick, who is eating a free sample of something on a toothpick. You flip another coin to the boy for emphasis.<br><br>
His face lights up. "Right on! Let's go, everyone!" At his word, the children stampede towards the bakery.<br><br>
A minute later, Skerrick appears next to you. He has chocolate on his shirt.<br><br>
[[Ask him about the code.|Puzzle6d]]<<set $turns += 1>>
You ask the leader for help getting Skerrick away from the <<if $puzzlePart is 1>>menswear<<else>>ceramics<</if>> stall.<br><br>
"Nah," he says, "that's no fun."<br><br>
You offer him a coin and he takes it, but doesn't move—he just stands there and stares at you, as if daring you to do something about it. Eventually you have to admit defeat.<br><br>
[[Return|Puzzle6c]]<<set $turns += 1>>
You try to lure the cat over to the stall that Skerrick is currently investigating, but it just looks at you resentfully.<br><br>
[[Return|Puzzle6c]]<<switch $puzzlePart>>
<<case 0>>
"Right," he says, "the code."<br><br>
He calls over one of his minions, a tall woman with a scarred face and muscular arms.<br><br>
"Can you find where the criminal element around here hangs out and knock someone around a bit until they tell you about the code?" he asks.<br><br>
She nods her assent.<br><br>
You're about to ask Skerrick to send another minion when a man in an expensive-looking navy blue suit grabs Skerrick's attention and guides him into a pavilion. Hats, ties, and other men's accessories are laid out in orderly rows.<br><br>
<<link [[Great, not again.|Puzzle6c]]>><<set $puzzlePart += 1>><</link>>
<<case 1>>
"Right," he says, "the code."<br><br>
He calls over one of his minions, a slight, owlish woman with large glasses.<br><br>
"Can you go check out the university library and see what you can find out about the Society?" he asks.<br><br>
"Of course!" she says, and hurries away.<br><br>
As you watch her go, you notice a stall full of brightly colored coffee mugs, and you notice Skerrick noticing it at the same time. You try to think of something to say to distract him, but it's too late—he's halfway there before you can get a word out.<br><br>
<<link [[Really?|Puzzle6c]]>><<set $puzzlePart += 1>><</link>>
<<case 2>>
"Right," he says, "the code."<br><br>
He calls over one of his minions, a person wearing robes decked with mystical sigils. "There must be some kind of local witch or wise woman around here—can you find one and see what she knows about the Society?"<br><br>
"Sure, no problem," says the minion, and heads off.<br><br>
Just when you're thinking you might finally get Skerrick to finish up completely, he spots a stall hawking mattresses and goes over to test one out.<br><br>
[[You and the fourth minion look at each other.|Puzzle6e]]
<</switch>>There's one minion left to send out, and quite frankly you don't have the energy to keep going around looking for ways to distract Skerrick. You decide that this time, you're going to take a more direct approach.<br><br>
<<link [[Yell at him.|Puzzle6f]]>><<set $force += 1>><<set $puzzlePart += 1>><<set $outcome to 0>><</link>><br>
<<link [[Convince him.|Puzzle6f]]>><<set $charm += 1.5>><<set $puzzlePart += 1>><<set $outcome to 1>><</link>><br>
<<link [[Just give instructions to the minion yourself.|Puzzle6f]]>><<set $sneak += 1>><<set $puzzlePart += 1>><<set $outcome to 2>><</link>><<run $locations1.delete($current)>>
<<set $prevloc to $current>>
<<set $puzzle6 to false>>
You give the password, and the guard opens the door. You step inside; the secret society headquarters seem to consist of a single empty room, with a door on the opposite side. Also, somehow the guard who let you in is now nowhere in sight.<br><br>
You're a bit puzzled, but you start heading toward the door on the other side of the room. Then, however, another one of those holes opens up in the wall.<br><br>
Skerrick, of course, immediately has to go see what it is. He pulls out two sheets of paper. The first reads:<br><br>
//From: esmiller<br>
To: djones5<br>
Subject: Server Snafu<br>
Diane—I'm concerned about the last minute hardware substitution. Are we sure that this meets our requirements re: airgapping? I've brought it up to John but he thinks it's fine. I want to chat with you about this ASAP while we can still cancel the PO. <br><br>
-Eliana//<br><br>
The second reads:<br><br>
//From: chwoo<br>
To: +SUPRSTAR-ALL<br>
Subject: Coffee<br><br>
Hey everyone—the new coffeemaker I ordered is here! I'll be setting it up next to the old one this afternoon. If anyone wants to volunteer to help, the first pot is all yours. :) <br><br>
-Christie//<br><br>
The papers Skerrick found before mentioned servers and coffee too, didn't they? This seems like it must be important somehow, but you can't quite place it. You put the papers in your pocket and resolve to think about this more later.<br><br>
<<link [[You head through the door.|Puzzle7]]>><<set $current to $locations1.random()>><</link>><<if $outcome is 3>>
"Wrong," says the guard.<br><br>
You, Skerrick, and Skerrick's minions all turn and walk a bit away to regroup and think about what the real password might be.<br><br>
<<else>>
It's beginning to get dark, and you //still// haven't gotten Skerrick to do what he's supposed to do. You sigh wearily. You're never going to get that password at this rate.<br><br>
<</if>>
Suddenly, a figure in a hooded cloak stumbles into you. You feel a sharp jab upon impact. Then the cloaked figure straightens up and walks briskly away.<br><br>
You turn to yell something after them, but your lips won't move. A wave of stinging pain washes over you, followed by numbness. You crumple to the ground. Your consciousness, however, sticks around long enough for you to piece together what must have happened—you raised the suspicions of the guard at the secret society, and they've sent one of their assassins to take you out.<br><br>
[[Well, that sucks.|Puzzle6Fail2]]<<print $name>><<print $loopNumber>> <<linkreplace "terminated.">><<set $loopNumber += 1>>terminated.<br>Initiating <<print $name>><<print $loopNumber>>...<br>[[Continue|Puzzle6b]]<</linkreplace>><<if $puzzle0 is true>>
<<linkreplace "Hint 1">>This is basically a game of Simon Says.<br><</linkreplace>><br>
<<linkreplace "Hint 2">>Each of the three actions you can take corresponds to one of the three things the alien can do.<br><</linkreplace>><br>
<<linkreplace "Solution">>When you hear the alien nearby, hide. When you hear the alien in the distance, move cautiously. When you hear the alien kill someone, run.<</linkreplace>><br><br>
<</if>>
<<if $puzzle1 is true>>
<<linkreplace "Hint 1">>This can be done in six steps.<br><</linkreplace>><br>
<<linkreplace "Hint 2">>The first step is to pour the right bucket into the small bucket.<br><</linkreplace>><br>
<<linkreplace "Solution">>Pour the right bucket into the small bucket (3, 1, 3). Pour the small bucket into the left bucket (6, 1, 0). Pour the right bucket into the small bucket (6, 0, 1). Pour the left bucket into the right bucket (2, 4, 1). Pour the right bucket into the small bucket (2, 2, 3).<</linkreplace>><br><br>
<</if>>
<<if $puzzle2 is true>>
<<linkreplace "Hint 1">>All of the clues are wordplay in some way.<br><</linkreplace>><br>
<<linkreplace "Hint 2">>In <a href="https://en.wikipedia.org/wiki/Cryptic_crossword#Types_of_cryptic_clues" target="_blank">cryptic crossword parlance</a>, A1, A2, and D1 are double definitions; A3 and D3 are homophones; A4 is a reversal (of a sort); D2 is a charade (with only one syllable requiring a substitution; the other is being used as-is); and D4 is a deletion. (Note for cryptic crossword fans: Yes, I know these aren't proper cryptic clues. Including an actual cryptic, however small, would be very rude to players who aren't familiar with them.)<br><</linkreplace>><br>
<<linkreplace "Solution">>A1: LIES; A2: ADDERS; A3: REDS; A4: KAYAKS; D1: LARK; D2: IDEALS; D3: EDDY; D4: SESAME<</linkreplace>><br><br>
<</if>>
<<if $puzzle3 is true>>
<<linkreplace "Hint 1">>Pay attention to the guard's responses and if he responds badly, try a different approach. When you find one that works, stick with it.<br><</linkreplace>><br>
<<linkreplace "Hint 2">>The correct answers change whenever this puzzle resets.<br><</linkreplace>><br>
<<linkreplace "Solution">>
<<linkreplace "If the guard responds well to 'Hey, man, how is your shift going?'">>"These guard-duty shifts can be so long. You must be looking forward to taking a break." -> "Say, do you want me to take over for you?"<br><</linkreplace>><br>
<<linkreplace "If the guard responds well to 'General wants to see you.'">>"He didn't say why, but it sounded urgent." -> "I don't ask the General questions and neither should you."<br><</linkreplace>><br>
<<linkreplace "If the guard responds well to 'The mess is on fire!'">> "There was a mishap with a toaster and the whole kitchen went up. Lotta grease in there, you know." -> "It's out of control! We need all the manpower we can get!"<br><</linkreplace>><br>
<</linkreplace>>
<</if>>
<<if $puzzle4 is true>>
<<linkreplace "Hint 1">>This is a straightforward logic puzzle, with no tricks. All the information you need to solve it is provided.<br><</linkreplace>><br>
<<linkreplace "Hint 2">>If you're having trouble keeping track of things, try making a copy of <a href="https://docs.google.com/spreadsheets/d/1u5dxt5eb8n5waXjAMvdd4m8yqgx0q-awNLQkUNE36i8/edit?usp=sharing" target="_blank">this grid</a> and filling it out.<br><</linkreplace>><br>
<<linkreplace "Solution">>Charity is the saboteur. Her shoe size is 8 and she was wearing black.<</linkreplace>><br><br>
<</if>>
<<if $puzzle5 is true>>
<<linkreplace "Hint 1">>This can be done in eight steps.<br><</linkreplace>><br>
<<linkreplace "Hint 2">>The first two steps are to fill the large bucket and pour it into the small bucket.<br><</linkreplace>><br>
<<linkreplace "Solution">>Fill the large bucket (9, 0). Pour into the small bucket (5, 4). Empty the small bucket (5, 0). Pour from the large bucket into the small bucket (1, 4). Empty the small bucket (1, 0). Pour from the large bucket into the small bucket (0, 1). Fill the large bucket (9, 1). Pour from the large bucket into the small bucket (6, 4).<</linkreplace>><br><br>
<</if>>
<<if $puzzle6 is true>>
<<if $puzzlePart is 0>><<linkreplace "Hint for Part 1">>Who here looks like they would really love some sweets?<br><</linkreplace>><br><</if>>
<<if $puzzlePart is 1>><<linkreplace "Hint for Part 2">>Someone you can ask for help is looking for someone matching the description of the salesman Skerrick is talking to.<br><</linkreplace>><br><</if>>
<<if $puzzlePart is 2>><<linkreplace "Hint for Part 3">>It's a stall selling ceramics, which makes it sort of a china shop, right?<br><</linkreplace>><br><</if>>
<<if $puzzlePart is 3>><<linkreplace "Hint for Password">>This is a word you've seen before in one of the emails, although it was spelled oddly then.<br><</linkreplace>><br><</if>>
<<if $puzzlePart is 0>><<linkreplace "Solution for Part 1">>Ask the kids for help with the bakery.<br><</linkreplace>><br><</if>>
<<if $puzzlePart is 1>><<linkreplace "Solution for Part 2">>Ask the annoyed woman for help with the men's accessories salesman.<br><</linkreplace>><br><</if>>
<<if $puzzlePart is 2>><<linkreplace "Solution for Part 3">>Ask the cattle merchant for help with the ceramics.<br><</linkreplace>><br><</if>>
<<if $puzzlePart is 3>><<linkreplace "Solution for Password">> The password is SUPER STAR.<</linkreplace>><br><br><</if>>
<</if>>
<<if $puzzle7 is true>>
<<linkreplace "Hint 1">>Try figuring out
<<if $basicCode is false>>‽
<<else>>@
<</if>>,
<<if $basicCode is false>>⚡
<<else>>#
<</if>>, and
<<if $basicCode is false>>♥
<<else>>&
<</if>> first, then worry about
<<if $basicCode is false>>★
<<else>>*
<</if>>.<br>
<</linkreplace>><br>
<<linkreplace "Hint 2">>
<<if $basicCode is false>>‽
<<else>>@
<</if>>,
<<if $basicCode is false>>⚡
<<else>>#
<</if>>, and
<<if $basicCode is false>>♥
<<else>>&
<</if>> are all numbers under 10.<br>
<</linkreplace>><br>
<<linkreplace "Solution">>
<<if $basicCode is false>>♥
<<else>>&
<</if>> equals 7.
<<if $basicCode is false>>⚡
<<else>>#
<</if>> equals 5.
<<if $basicCode is false>>‽
<<else>>@
<</if>> equals 3.
<<if $basicCode is false>>★
<<else>>*
<</if>> equals 15.
<</linkreplace>><br><br>
<</if>>
<<if $puzzle8 is true>>
<<linkreplace "Hint 1">>There is only one liar.<br><</linkreplace>><br>
<<linkreplace "Hint 2">>If you compare what each guard says about each door with this in mind, it should be clear which is the correct door.<br><</linkreplace>><br>
<<linkreplace "Solution">>The left door is the safe one.<</linkreplace>><br><br>
<</if>>
<<if $puzzle9 is true>>
<<if $inventory.includes("a crystal") and $sa is false>><<linkreplace "Hint about the crystal">>You need to break this to get to the letters inside. Well, //someone// needs to, anyway.<br><</linkreplace>><br><</if>>
<<if $inventory.includes("a blank sheet of paper") and $li is false>><<linkreplace "Hint about the paper">>What could it mean that an apparently blank piece of paper smells like lemon juice?<br><</linkreplace>><br><</if>>
<<if $chestSeen is true and $me is false>><<linkreplace "Hint about the treasure chest">>You don't actually have to unlock this - just get a closer look at it.<br><</linkreplace>><br><</if>>
<<if $chestSeen is true and $me is false and $sa is false>><<linkreplace "Another hint about the treasure chest">>You need to deal with the crystal first.<br><</linkreplace>><br><</if>>
<<if $ghostSeen is true and $s is false>><<linkreplace "Hint about the ghost">>He wants to know what the other dead explorer found; fortunately, Smithy did make a note of it.<br><</linkreplace>><br><</if>>
<<if $inventory.includes("a crystal") and $sa is false>><<linkreplace "Solution to the crystal">>Ask the troll to smash it.<br><</linkreplace>><br><</if>>
<<if $inventory.includes("a blank sheet of paper") and $li is false>><<linkreplace "Solution to the paper">>Take the paper to the campsite and read Smithy's journal to learn that the letters are written on the paper in invisible ink. Hold the paper over the fire to make them appear.<br><</linkreplace>><br><</if>>
<<if $chestSeen is true and $me is false>><<linkreplace "Solution to the treasure chest">>Once the troll has broken the crystal, you can give the crystal half to the man looking for rare minerals. He will give you his magnifying glass; use it to look at the treasure chest.<br><</linkreplace>><br><</if>>
<<if $ghostSeen is true and $s is false>><<linkreplace "Solution to the ghost">>Once you've made the invisible ink appear, show the paper to the ghost.<</linkreplace>><br><br><</if>>
<</if>>
<<if $puzzle10 is true>>
<<if $current is "fantasy">><<linkreplace "Solution (magical beings)">>dragon, unicorn, phoenix, griffin, chimera, manticore, fairy<br><</linkreplace>><br><</if>>
<<if $current is "pirate">><<linkreplace "Solution (Caribbean islands)">>Jamaica, Trinidad, Aruba, Antigua, Haiti, Bermuda, Anguilla<br><</linkreplace>><br><</if>>
<<if $current is "adventure">><<linkreplace "Solution (ancient civilizations)">>Babylon, Egypt, Nubia, Greece, Assyria, Nazca, Sumer<br><</linkreplace>><br><</if>>
<<if $current is "space">><<linkreplace "Solution (astronomical objects)">>quasar, nebula, galaxy, planet, asteroid, meteor, black hole<br><</linkreplace>><br><br><</if>>
<</if>>
<<if $puzzle11 is true>>
<<linkreplace "Hint 1">>This is just plain old Towers of Hanoi.<</linkreplace>><br>
<<linkreplace "Hint 2">>You can look up the moves on the internet if you really want to, but...<</linkreplace>><br>
<<linkreplace "Solution">>... the protagonist will come up with a more creative solution after four moves, no matter what.<</linkreplace>><br><br>
<</if>>
<<if $puzzle12a is true>>
<<linkreplace "Hint 1">>Have you gotten all the help you can out of Charity yet?<</linkreplace>><br>
<<linkreplace "Hint 2">>The name of the store is Polybius Square Roasters. If "Polybius Square" means nothing to you, you might want to look it up.<</linkreplace>><br>
<<linkreplace "Hint 3">>A is 11. B is 12. C is 13. D is 14. E is 15.<</linkreplace>><br>
<<linkreplace "Solution">>The answer is "PASSWORD."<</linkreplace>><br><br>
<</if>>
<<if $puzzle12b is true>>
<<linkreplace "Hint 1">>Have you thoroughly searched the room yet? You can't solve the cipher until you've found everything there is to find.<</linkreplace>><br>
<<linkreplace "Hint 2">>You'll find some letters in the room. You'll need to take those letters and put them in the first several squares of the grid, then put the remaining letters of the alphabet in order starting from the first empty square. (As in the first puzzle, I and J should share a square.)<</linkreplace>><br>
<<linkreplace "Solution">>The answer is "TO THE STARS."<</linkreplace>><br><br>
<</if>><<switch $current>>
<<set $answers7 to [ ]>>
<<case "fantasy">>
You and your adventuring party are sprinting through your latest dungeon, because you happen to have gotten too close to an owlbear cub and angered the mama owlbear, which is now chasing you.<br><br>
You've gotten a bit of distance between her and you, but then you come to a room with only one other exit, a door with a combination lock on it. You all stand there for a moment looking at it.<br><br>
<<case "space">>
In the course of your space adventures, you and your fellow space marines have been captured by some enemies and locked in a room that is slowly filling up with a toxic gas. (You don't quite remember why this happened or who put you in here. Must be the effects of the gas already at work.)<br><br>
The door to the room is locked from the inside, which is nice, but it's a number combination lock, which is less nice. You definitely don't have time for trial and error here.<br><br>
<<case "adventure">>
In the process of excavating your third ancient temple this month, you and your fellow archaeologists have set off a trap that sent a giant boulder rolling after you. Running at top speed, you've managed to put some distance between you and it, but then you come to a room with only one other exit, a door with a combination lock on it. You all stand there for a moment looking at it.<br><br>
<<case "pirate">>
In your tireless pursuit of treasure, you and your crew are exploring yet another desert island, but your actions have angered the island's population of deadly land sharks. (They are an endemic species, apparently.)<br><br>
You've tried to get away from the land sharks by running into the crumbling remains of an old Spanish fort, but now you've come to a room with only one other exit, a door with a combination lock on it. You all stand there for a moment looking at it.<br><br>
<</switch>>
"I could try to break it open?" suggests Pickle, but she sounds doubtful.<br><br>
"No, wait," says Skerrick, who has been poking around the chamber, as usual. "I think I found a clue!"<br><br>
He hands you a piece of paper that says //COMBINATION: <<if $basicCode is false>>★ - ‽ - ⚡ - ♥<<else>>* - @ - # - &<</if>>//. It then provides you a set of equations that can be solved to determine what number each symbol represents.<br><br>
<<link [[Begin|Puzzle7a]]>><<set $puzzle7 to true>><</link>><<if $easyMode is false>> (This puzzle is timed.)<</if>><<switch $outcome>>
<<case 0>>
You've had enough of this. You storm over to the mattress stall and read Skerrick the riot act.<br><br>
He looks a little bewildered. "Okay, okay," he says, and calls over the last minion, a very ordinary-looking young man. "You can go, uh... go, um..." He trails off, completely at a loss for once.<br><br>
"I could ask my mom?" the young man suggests.<br><br>
"Yes," says Skerrick, "why don't you go do that?"<br><br>
<<case 1>>
You're pretty sure that if you try, you can convince Skerrick to stop poking around the marketplace //and// make him think it's his own idea. You head over to the mattress stall and start talking him around.<br><br>
It takes you a couple of minutes, but at last his eyes light up and he says, "Oh! I should send out my last minion!"<br><br>
He calls over the minion, a very ordinary-looking young man. "You can go, uh... go, um..." He trails off, completely at a loss for once.<br><br>
"I could ask my mom?" the young man suggests.<br><br>
"Yes," says Skerrick, "why don't you go do that?"<br><br>
<<case 2>>
You turn to the last minion, a very ordinary-looking young man. "Look," you say, "getting him to focus on this is a lost cause, and I'm pretty sure your three associates didn't really need him to tell them where to go. So, if you were looking to find out about a secret society, where would //you// go?"<br><br>
The young man stands there for a moment, apparently thinking it over. "I could ask my mom?" he says, finally.<br><br>
You're a bit dubious about this, but for lack of a better idea, you tell him to go ahead.<br><br>
<</switch>>
[[Some time later...|Puzzle6g]]After a while, all four minions come back, each having found out the meaning of a single symbol in the code. Skerrick scribbles down what they tell him on the slip of paper the secret society member gave you, then hands you the paper. The code now looks like this:<br><br>
<<if $basicCode is false>>S☾P☉R ST♄R<<else>>S=P#R ST@R<</if>><br><br>
<<if $basicCode is false>>(If the code is not displaying correctly, <<link [[click here|Puzzle6g]]>><<set $basicCode to true>><</link>>.)<br><br><</if>>
You return to the door of the building, where the guard asks you again for the password. You say:<br><br>
<<set _answer = " ">>
<<textbox "_answer" "">>
<<button "Check">>
<<if _answer is "">>
/% They have not supplied an answer. %/
<<script>>UI.alert("You did not supply a password!");<</script>>
<<elseif /[^0-9a-z]/i.test(_answer)>>
<<replace "#error">>Only letters and numbers are allowed.<</replace>>
<<else>>
/%
Remove extra white space from both ends of the answer then
convert it to lowercase. %/
<<set _answer to _answer.trim().toLowerCase()>>
/%
Check if one of the correct answers was supplied,
otherwise send them to the Start passage. %/
<<if _answer is "super star" or _answer is "superstar">>
<<goto "Puzzle6end">>
<<else>>
<<set $outcome to 3>>
<<goto "Puzzle6Fail1">>
<</if>>
<</if>>
<</button>>
<div id="error"></div><br><br>
<<if $easyMode is false>><div id="timer">$seconds seconds remaining</div>
<<silently>><<timer 300 Puzzle7Fail1>><</silently>><</if>>
<center>
<<if $basicCode is false>>
2★ + ‽ = 33<br>
‽ + ⚡ = 8<br>
‽ + ♥ = 10<br>
⚡ + 3♥ = 26<br><br>
(If the symbols are not displaying correctly, <<link [[click here|Puzzle7a]]>><<set $basicCode to true>><</link>>.)<br><br>
<<else>>
2* + @ = 33<br>
@ + # = 8<br>
@ + & = 10<br>
# + 3& = 26<br><br>
<</if>>
</center>
<<if $basicCode is false>>★<<else>><nowiki>*</nowiki><</if>> = <div id="a1"><<set _answera1 = " ">>
<<textbox "_answera1" "">>
<<button "Check">>
<<if _answera1 is "">>
<<script>>UI.alert("You did not supply an answer!");<</script>>
<<else>>
<<set _answera1 to _answera1.trim().toLowerCase()>>
<<if _answera1 is "15">>
<<replace #a1>>15<</replace>>
<<run $answers7.push(15)>>
<<if $answers7.includesAll(3, 5, 7, 15)>>
<<replace #lock>>You enter the combination. [[The lock opens.|Puzzle7end]]<</replace>>
<</if>>
<<elseif _answera1 isnot "15">>
<<replace '#textbox-replya1'>>
INCORRECT<br><br>
<</replace>>
<</if>>
<</if>>
<</button>>
<span id='textbox-replya1'></span></div><br>
<<if $basicCode is false>>‽<<else>>@<</if>> = <div id="a2"><<set _answera2 = " ">>
<<textbox "_answera2" "">>
<<button "Check">>
<<if _answera2 is "">>
<<script>>UI.alert("You did not supply an answer!");<</script>>
<<else>>
<<set _answera2 to _answera2.trim().toLowerCase()>>
<<if _answera2 is "3">>
<<replace #a2>>3<</replace>>
<<run $answers7.push(3)>>
<<if $answers7.includesAll(3, 5, 7, 15)>>
<<replace #lock>>You enter the combination. [[The lock opens.|Puzzle7end]]<</replace>>
<</if>>
<<elseif _answera1 isnot "3">>
<<replace '#textbox-replya2'>>
INCORRECT<br><br>
<</replace>>
<</if>>
<</if>>
<</button>>
<span id='textbox-replya2'></span></div><br>
<<if $basicCode is false>>⚡<<else>><nowiki>#</nowiki><</if>> = <div id="a3"><<set _answera3 = " ">>
<<textbox "_answera3" "">>
<<button "Check">>
<<if _answera3 is "">>
<<script>>UI.alert("You did not supply an answer!");<</script>>
<<else>>
<<set _answera3 to _answera3.trim().toLowerCase()>>
<<if _answera3 is "5">>
<<replace #a3>>5<</replace>>
<<run $answers7.push(5)>>
<<if $answers7.includesAll(3, 5, 7, 15)>>
<<replace #lock>>You enter the combination. [[The lock opens.|Puzzle7end]]<</replace>>
<</if>>
<<elseif _answera1 isnot "5">>
<<replace '#textbox-replya3'>>
INCORRECT<br><br>
<</replace>>
<</if>>
<</if>>
<</button>>
<span id='textbox-replya3'></span></div><br>
<<if $basicCode is false>>♥<<else>>&<</if>> = <div id="a4"><<set _answera1 = " ">>
<<textbox "_answera4" "">>
<<button "Check">>
<<if _answera4 is "">>
<<script>>UI.alert("You did not supply an answer!");<</script>>
<<else>>
<<set _answera4 to _answera4.trim().toLowerCase()>>
<<if _answera4 is "7">>
<<replace #a4>>7<</replace>>
<<run $answers7.push(7)>>
<<if $answers7.includesAll(3, 5, 7, 15)>>
<<replace #lock>>You enter the combination. [[The lock opens.|Puzzle7end]]<</replace>>
<</if>>
<<elseif _answera1 isnot "7">>
<<replace '#textbox-replya4'>>
INCORRECT<br><br>
<</replace>>
<</if>>
<</if>>
<</button>>
<span id='textbox-replya4'></span></div><br>
<div id="lock"></div><<if $current is "space">>
You fumble futilely with the lock, trying to get it open, but the toxic gas is filling the room too quickly. Already your mind is starting to go blank. Soon you have to admit that you're not in any shape to do math anymore. All you can do is give up and let yourself drift away.<br><br>
<<else>>
As you fumble futilely with the lock, you hear the thundering of the <<print $creature7[$current]>>'s approach. You think about running for the other door, back the way you came, but that fragile hope is shattered when the <<print $creature7[$current]>> bursts through said door (taking out the frame in the process).<br><br>
<</if>>
[[You're out of time.|Puzzle7Fail2]]<<print $name>><<print $loopNumber>> <<linkreplace "terminated.">><<set $loopNumber += 1>><<set $current to $locations1.random()>>terminated.<br>Initiating <<print $name>><<print $loopNumber>>...<br>[[Continue|Puzzle7]]<</linkreplace>>You wrench the door open and dash through it. Andrew, Pickle, and Charity are close behind. Skerrick, however, is too slow—the <<print $creature7[$current]>> claims him as a victim. You can't take too much time to grieve, though—you have a lot of escaping left to do.<br><br>
<<set $puzzle7 to false>><<set $puzzle8 to true>>
[[Continue|Puzzle8]]<<switch $current>>
<<case "fantasy">>
Once you've gotten the owlbear off your tail, you proceed deeper into the dungeon, in search of treasure. Unfortunately, all you get is lost. Wandering around in the depths, you eventually come across a room with three doors. Next to each door is a guard.<br><br>
<<case "adventure">>
Having dodged the boulder, you proceed deeper into the temple, soon coming upon a room with three doors. Next to each door is a stone statue of a guard. When you enter, all three statues turn to look at you.<br><br>
<<case "space">>
You've gotten out of the room with the toxic gas, but you still need to escape the enemy base. Wandering around in search of the exit, you come across a room with three doors, and three alien guards.<br><br>
<<case "pirate">>
You manage to lose the land sharks, but now you're completely lost in the Spanish fort. Wandering around in search of the exit, you come upon a room with three doors. In front of the doors are the ghosts of three guards who apparently think they're still on duty.<br><br>
<</switch>>
A plaque above the doors informs you that one guard always lies and the other two always tell the truth.<br><br>
The first guard says, "There's only one exit, and it's either the left or the center door."<br><br>
The second guard says, "The left door is the exit."<br><br>
The third guard says, "The center and right doors are both exits."<br><br>
The first guard says, "The right door leads to <<print $death8[$current]>>."<br><br>
The second guard says, "The center and right doors both lead to <<print $death8[$current]>>."<br><br>
The third guard says, "The left door leads to <<print $death8[$current]>>."<br><br>
[[Go through the left door.|Puzzle8end]]<br>
[[Go through the center door.|Puzzle8Fail1]]<br>
[[Go through the right door.|Puzzle8Fail1]]Before you can stop them, Charity and Pickle go through the center door, meeting an untimely end. You and Andrew step through the left door, but you're surprised to find you're [[not exactly outside|Puzzle9]].
<<set $puzzle8 to false>>Confident in your choice, you step through the door. Unfortunately, this was one of the ones with <<print $death8[$current]>> behind it. At least your end is [[mercifully swift|Puzzle8Fail2]].You and Andrew are standing at the entrance to a maze. A locked door stands before you and passages stretch off to the left and the right. There's a large inscription over the door that reads "MR UQAWJLAZX XMKKASI QZGE JALY."<br><br>
"I wonder what that means?" you ask.<br><br>
Andrew snorts at you in response. "It's a cipher, of course. And a pretty simple one, by the looks of it—if I can find the keyword used to encode it I can crack that in a jiffy."<br><br>
You peer down one of the passageways. "Do you think the keyword is somewhere in this maze?"<br><br>
Andrew flaps a hand at you, exasperated. "Of course it is! We should start looking for it immediately. I'll start doing a probability analysis on what path is most likely to lead to it." He pulls out a pad of paper and starts scribbling furiously.<br><br>
He's still scribbling several minutes later, and no amount of nudging, throat clearing, or straight-up yelling is able to break his concentration. You'll have to start exploring without him. <br><br>
<<link [[Begin|Puzzle9a]]>><<set $puzzle9 to true>><</link>>
<<print $name>><<print $loopNumber>> <<linkreplace "terminated.">><<set $loopNumber += 1>><<set $current to $locations1.random()>>terminated.<br>Initiating <<print $name>><<print $loopNumber>>...<br>[[Continue|Puzzle8]]<</linkreplace>>You are standing at the mouth of a cave. Andrew is here, scribbling on his notepad. He's definitely ignoring you.<br><br>
<<if $lettersFound is 4>>[[Tell him the keyword.|Puzzle9j]]<br><br><</if>>
Passages lead to the [[east|Puzzle9c]] and [[west|Puzzle9b]].<br><br>
<<linkreplace "Look at your inventory.">>You are carrying:<br>
<<if $inventory.length > 0>>
<<for _i to 0; _i lt $inventory.length; _i++>>
* $inventory[_i]<br>
<</for>>
<<if $me is true or $li is true or $s is true or $sa is true>>
* the letters <<if $me is true>>ME<<else>><nowiki>__</nowiki><</if>><<if $li is true>>LI<<else>><nowiki>__</nowiki><</if>><<if $s is true>>S<<else>><nowiki>_</nowiki><</if>><<if $sa is true>>SA<<else>><nowiki>__</nowiki><</if>><</if>>
<br>
<<else>>
* nothing
<</if>>
<</linkreplace>>As you round a bend in the passage, you see a light. When you get to the chamber, you see that it's a campfire, burning brightly. There's also a <<linkreplace "tent">>
tent
<<replace "#tent">>
Nobody is inside the tent. A <<linkreplace "notebook">>notebook
<<replace "#journal">>
//Day 27: I'm running low on food. I must make a journey through the caves to get more supplies. I fear that Malachite will steal my knowledge while I am gone—I must keep it secure and hidden, on my person. Thank goodness Alexander taught me about invisible ink!//<br><br>
<<set $journalSeen to true>>
<<replace "#fire">>
<<if $inventory.includes("a blank sheet of paper")>>
<<linkreplace "Hold the paper over the fire.">>You hold the blank paper up to the fire. Letters appear on it as you watch. It says "LI."
<<set $lettersFound += 1>>
<<set $li to true>>
<<run $inventory.delete("a blank sheet of paper")>>
<<run $inventory.push("a burnt sheet of paper")>>
<</linkreplace>><br><br>
<</if>>
<</replace>>
<</replace>>
<</linkreplace>>
rests on top of a crumpled sleeping bag.<br><br>
<</replace>>
<</linkreplace>>
nearby.<br><br>
<div id="tent"></div>
<div id="journal"></div>
<div id="fire"></div>
Exits lead [[south|Puzzle9g]], [[southwest|Puzzle9f]], and [[east|Puzzle9a]].<br><br>
<<linkreplace "Look at your inventory.">>You are carrying:<br>
<<if $inventory.length > 0>>
<<for _i to 0; _i lt $inventory.length; _i++>>
* $inventory[_i]<br>
<</for>>
<<if $me is true or $li is true or $s is true or $sa is true>>
* the letters <<if $me is true>>ME<<else>><nowiki>__</nowiki><</if>><<if $li is true>>LI<<else>><nowiki>__</nowiki><</if>><<if $s is true>>S<<else>><nowiki>_</nowiki><</if>><<if $sa is true>>SA<<else>><nowiki>__</nowiki><</if>><</if>>
<br>
<<else>>
* nothing
<</if>>
<</linkreplace>>The passage opens up into a room full of stalactites and stalagmites. <<if $crystalSeen is false>><<linkreplace "Something">>Something<<replace "#crystal">>The shiny object turns out to be a clear crystal the size of your fist. There's a piece of paper trapped inside, but you can't make out the writing.<br><br><</replace>><<run $inventory.push("a crystal")>><<set $crystalSeen to true>>
<</linkreplace>> glitters at the base of a large stalagmite.<</if>><br><br>
<div id="crystal"></div>
Exits lead [[south|Puzzle9e]], [[southeast|Puzzle9d]], and [[west|Puzzle9a]].<br><br>
<<linkreplace "Look at your inventory.">>You are carrying:<br>
<<if $inventory.length > 0>>
<<for _i to 0; _i lt $inventory.length; _i++>>
* $inventory[_i]<br>
<</for>>
<<if $me is true or $li is true or $s is true or $sa is true>>
* the letters <<if $me is true>>ME<<else>><nowiki>__</nowiki><</if>><<if $li is true>>LI<<else>><nowiki>__</nowiki><</if>><<if $s is true>>S<<else>><nowiki>_</nowiki><</if>><<if $sa is true>>SA<<else>><nowiki>__</nowiki><</if>><</if>>
<br>
<<else>>
* nothing
<</if>>
<</linkreplace>>The path is cut off by an underground river. You can't go any further. A dead man lies on the bank. His <<linkreplace "backpack">>backpack<<replace "#backpack">><<if $inventory.includes("an empty canteen")>>The backpack is empty.<<else>>The man's backpack is damp and smells faintly of lemons. It contains some granola bars, an empty canteen, and a sheet of blank paper. You take them all, just in case. <<run $inventory.push("some granola bars", "an empty canteen", "a blank sheet of paper")>><</if>><br><br><</replace>><</linkreplace>> lies next to him.<br><br>
<div id="backpack"></div>
The only exit is back to the [[northwest|Puzzle9c]].<br><br>
<<linkreplace "Look at your inventory.">>You are carrying:<br>
<<if $inventory.length > 0>>
<<for _i to 0; _i lt $inventory.length; _i++>>
* $inventory[_i]<br>
<</for>>
<<if $me is true or $li is true or $s is true or $sa is true>>
* the letters <<if $me is true>>ME<<else>>__<</if>><<if $li is true>>LI<<else>>__<</if>><<if $s is true>>S<<else>>_<</if>><<if $sa is true>>SA<<else>>__<</if>><</if>>
<br>
<<else>>
* nothing
<</if>>
<</linkreplace>><<if $chestSeen is false>><<set $chestSeen to true>><</if>>
A <<linkreplace "large treasure chest">>
<<if $inventory.includes("a magnifying glass")>>
large treasure chest
<<replace "#chest">>
You inspect the lock carefully. Under the magnifying glass, you can see that the carvings are actually formed by the letters "ME" repeated over and over. You make a note of it.<br><br>
<<set $lettersFound += 1>>
<<set $me to true>>
<<run $inventory.delete("a magnifying glass")>>
<</replace>>
<<else>>
large treasure chest
<<replace "#chest">>The chest is heavy and expensive looking, with ornate carvings all around the lock.<<if $me is false>> You don't see a key anywhere.<</if>><br><br><</replace>>
<</if>>
<</linkreplace>> sits in the middle of a cavern. It's locked.<br><br>
<div id="chest"></div>
Exits lead [[north|Puzzle9c]] and [[southwest|Puzzle9i]].<br><br>
<<linkreplace "Look at your inventory.">>You are carrying:<br>
<<if $inventory.length > 0>>
<<for _i to 0; _i lt $inventory.length; _i++>>
* $inventory[_i]<br>
<</for>>
<<if $me is true or $li is true or $s is true or $sa is true>>
* the letters <<if $me is true>>ME<<else>><nowiki>__</nowiki><</if>><<if $li is true>>LI<<else>><nowiki>__</nowiki><</if>><<if $s is true>>S<<else>><nowiki>_</nowiki><</if>><<if $sa is true>>SA<<else>><nowiki>__</nowiki><</if>><</if>>
<br>
<<else>>
* nothing
<</if>>
<</linkreplace>><<if $trollSeen is false>><<set $trollSeen to true>>
The path narrows as you follow it, until you can barely squeeze through. The open space beyond comes as a relief. The feeling is shattered when a large club crashes down at your feet. You look up to see that its wielder is a giant
<<linkreplace "troll.">>
troll.
<<replace "#troll">>
Looking at your frightened face, he hoists the club back up onto his shoulder. "Oh, you're not who I expected. Sorry!" He brushes some rock chips off your sleeve with one finger. "But seriously, do you know the password? We're all at our wits' end here, and Smithy wasn't sharing so I thought I'd give him a fright-"<br><br>
<<if $inventory.includes("a crystal")>>
<<linkreplace "Ask him to break the crystal.">>
"I think there's some letters in here, but I can't get it open. Can you smash it?" you ask.<br><br>
The troll breaks into a smile. "Say no more!"<br><br>
You place it on the ground, and the troll smashes it open with one well-placed blow.<br><br>
"It says SA," you tell him.<br><br>
The crystal has cracked into two beautiful halves. You take one for a souvenir.
<<run $inventory.delete("a crystal")>>
<<run $inventory.push("half of a crystal")>>
<<set $lettersFound += 1>>
<<set $sa to true>>
<</linkreplace>><br><br>
<<else>>
You cut the troll off and assure him you'll let him know if you find anything.<br><br> <<set $trollSeen to true>>
<</if>>
<</replace>>
<</linkreplace>><br><br>
"PASSWORD?" he yells.<br><br>
<div id="troll"></div>
<<else>>
The troll is still on guard here, his giant club over his shoulder.<br><br>
<<if $inventory.includes("a crystal")>>
<<linkreplace "Ask him to break the crystal.">>
"I think there's some letters in here, but I can't get it open. Can you smash it?" you ask.<br><br>
The troll breaks into a smile. "Say no more!"<br><br>
You place it on the ground, and the troll smashes it open with one well-placed blow.<br><br>
"It says SA," you tell him.<br><br>
The crystal has cracked into two beautiful halves. You take one for a souvenir.
<<run $inventory.delete("a crystal")>>
<<run $inventory.push("half of a crystal")>>
<<set $lettersFound += 1>>
<<set $sa to true>>
<</linkreplace>><br><br>
<<else>>
You don't have anything to tell him right now.<br><br>
<</if>>
<</if>>
Exits lead [[northeast|Puzzle9b]] and [[south|Puzzle9h]].<br><br>
<<linkreplace "Look at your inventory.">>You are carrying:<br>
<<if $inventory.length > 0>>
<<for _i to 0; _i lt $inventory.length; _i++>>
* $inventory[_i]<br>
<</for>>
<<if $me is true or $li is true or $s is true or $sa is true>>
* the letters <<if $me is true>>ME<<else>><nowiki>__</nowiki><</if>><<if $li is true>>LI<<else>><nowiki>__</nowiki><</if>><<if $s is true>>S<<else>><nowiki>_</nowiki><</if>><<if $sa is true>>SA<<else>><nowiki>__</nowiki><</if>><</if>>
<br>
<<else>>
* nothing
<</if>>
<</linkreplace>><<if $crystalGiven is false>>
<<if $manSeen is false>><<set $manSeen to true>>You hear a muffled voice in the distance. As you walk closer, your foot strikes a pebble and it goes clattering down the hallway. Seconds later, a <<linkreplace "man">>
man
<<replace "#man">>The man is dressed in dirty clothes and is holding a magnifying glass. "Sorry," he says, "I didn't hear you coming. I get too into my work sometimes."<br><br>
"What is your work?"<br><br>
His face brightens in a way that makes you regret the question. "Oh, I look for rare elements and minerals! I've detected some absolutely marvelous traces of novel crystals in this cave, and I'm positive there must be more nearby!" He stops to think for a moment. "You haven't seen any large crystals around, have you?"<br><br>
<<if $inventory.includes("a crystal")>>
<div id="give"><<linkreplace "Give him the crystal.">>On second thought, you still want to know what those letters say. Maybe you should come back after you've gotten them out.<br><br>
<<replace "#dontgive">><</replace>>
<</linkreplace>><br></div>
<div id="dontgive"><<linkreplace "Don't give him the crystal.">>
You stay quiet for now.
<<replace "#give">><</replace>></div>
<</linkreplace>><br>
<<elseif $inventory.includes("half of a crystal")>>
<<linkreplace "Give him the crystal.">>"I have, actually." You hand him the broken half crystal and he takes it reverently.<br><br>
"I can't believe it," he whispers. "This is the largest specimen I've ever seen! This is more than enough to complete my thesis!" He does a happy little jig, and then remembers that you're there. "How can I repay you—oh! Take this. I don't think I need it anymore." He hands you his magnifying glass.
<br><br>
<<run $inventory.push("a magnifying glass")>>
<<run $inventory.delete("half of a crystal")>>
<<set $crystalGiven to true>>
<<replace "#dontgive">><</replace>>
<</linkreplace>><br>
<div id="dontgive"><<linkreplace "Don't give him the crystal.">>
You stay quiet for now.
<</linkreplace>></div><br>
<<else>>
You have to admit that you haven't.<br><br>
<</if>>
<</replace>>
<</linkreplace>> screams.<br><br>
<div id="man"></div>
<<else>>The man is still here, searching for minerals. When he hears you come in, he looks up hopefully. "You haven't seen any large crystals around, have you?"<br><br>
<<if $inventory.includes("a crystal")>>
<div id="give"><<linkreplace "Give him the crystal.">>On second thought, you still want to know what those letters say. Maybe you should come back after you've gotten them out.<br><br>
<<replace "#dontgive">><</replace>>
<</linkreplace>><br><br></div>
<div id="dontgive"><<linkreplace "Don't give him the crystal.">>
You stay quiet for now.<br><br>
<<replace "#give">><</replace>></div>
<</linkreplace>>
<<elseif $inventory.includes("half of a crystal")>>
<<linkreplace "Give him the crystal.">>"I have, actually." You hand him the broken half crystal and he takes it reverently.<br><br>
"I can't believe it," he whispers. "This is the largest specimen I've ever seen! This is more than enough to complete my thesis!" He does a happy little jig, and then remembers that you're there. "How can I repay you—oh! Take this. I don't think I need it anymore." He hands you his magnifying glass.
<br>
<<run $inventory.push("a magnifying glass")>>
<<run $inventory.delete("half of a crystal")>>
<<set $crystalGiven to true>>
<<replace "#dontgive">><</replace>>
<</linkreplace>><br>
<div id="dontgive"><<linkreplace "Don't give him the crystal.">>
You stay quiet for now.
<</linkreplace>><br></div>
<<else>>
You have to admit that you haven't.<br><br>
<</if>>
<</if>>
<<else>>
The man is inspecting his lovely crystal. He waves briefly at you and then goes back to admiring it.<br><br>
<</if>>
The only exit is back to the [[north|Puzzle9b]].<br><br>
<<linkreplace "Look at your inventory.">>You are carrying:<br>
<<if $inventory.length > 0>>
<<for _i to 0; _i lt $inventory.length; _i++>>
* $inventory[_i]<br>
<</for>>
<<if $me is true or $li is true or $s is true or $sa is true>>
* the letters <<if $me is true>>ME<<else>><nowiki>__</nowiki><</if>><<if $li is true>>LI<<else>><nowiki>__</nowiki><</if>><<if $s is true>>S<<else>><nowiki>_</nowiki><</if>><<if $sa is true>>SA<<else>><nowiki>__</nowiki><</if>><</if>>
<br>
<<else>>
* nothing
<</if>>
<</linkreplace>><<if $s is false>>
<<if $ghostSeen is false>>Halfway down the next passage, you trip on a stalagmite and drop your flashlight. The sudden impact turns it off, plunging you into the dark. Before you can react, your surroundings begin to glow a pale green, and a man's figure coalesces out of the gloom.<br><br>
He looks down at his hands. "Oh dear. I'm dead, aren't I?"<br><br>
He looks pretty ghostly to you, so you nod.<br><br>
"Blast. And we were so close, too. Smithy and I were going to compare notes at our next rendezvous!" He shakes his head sadly, ghostly spectacles almost falling off his nose.<br><br>
"I guess this counts as unfinished business," he says mournfully. "If you see him, can you ask him what he found?"<br><br>
<<set $ghostSeen to true>>
<<else>>
"Have you found anything yet?" the ghost asks hopefully.<br><br>
<</if>>
<<if $inventory.includes("a blank sheet of paper")>>
<<linkreplace "Show him the paper.">>
He pushes his spectacles up his nose and peers down at the paper. "I don't see anything," he says doubtfully.<</linkreplace>><br><br>
<<elseif $inventory.includes("a burnt sheet of paper")>>
<<linkreplace "Show him the paper.">>
You pull the lemon-scented paper out of your pocket to show the ghost. Before you can unfold it, another ghostly figure materializes out of the darkness. It's the man from the river bank (or so you assume—his spectral backpack looks familiar).<br><br>
"Alexander!" the new ghost cries.<br><br>
"Smithy! Poor chap, you're dead too, eh?" The two ghosts embrace.<br><br>
"Those cave mushrooms are some tricky blighters, let me tell you!" Smithy says. "What about you?"<br><br>
"Rockslide, old chap. I found the letter right where I thought it would be, and then blammo! Right to the noggin."<br><br>
Smithy perks up at this. "But you found it, though?"<br><br>
"Yes!" Alexander crows. "A big old S, right through the bat cave! And did you find—"<br><br>
"There was an LI inside the fish I caught, plain as day! Right on the bones—"<br><br>
Alexander cuts him off with a kiss.<br><br>
When they break apart, the two of them look at you.<br><br>
"Right-o, friend!" Smithy says to you. "Thanks for everything, but I think we've got to get going. On to the next great adventure, eh Alex?"<br><br>
The two ghosts walk off, arm in arm. You scribble down an "S" as the green light fades.
<<run $inventory.delete("a burnt sheet of paper")>>
<<set $lettersFound += 1>>
<<set $s to true>>
<</linkreplace>><br><br>
<<else>>
You shake your head sadly.<br><br>
<</if>>
<<else>>
This is the cavern where the ghost was, but it's empty now.<br><br>
<</if>>
Exits lead [[north|Puzzle9f]] and [[east|Puzzle9i]].<br><br>
<<linkreplace "Look at your inventory.">>You are carrying:<br>
<<if $inventory.length > 0>>
<<for _i to 0; _i lt $inventory.length; _i++>>
* $inventory[_i]<br>
<</for>>
<<if $me is true or $li is true or $s is true or $sa is true>>
* the letters <<if $me is true>>ME<<else>><nowiki>__</nowiki><</if>><<if $li is true>>LI<<else>><nowiki>__</nowiki><</if>><<if $s is true>>S<<else>><nowiki>_</nowiki><</if>><<if $sa is true>>SA<<else>><nowiki>__</nowiki><</if>><</if>>
<br>
<<else>>
* nothing
<</if>>
<</linkreplace>>A scrap of paper drifts down from above. You look at it:<br><br>
//<<print $messages.random()>>//<br><br>
Exits lead [[northeast|Puzzle9e]] and [[west|Puzzle9h]].<br><br>
<<linkreplace "Look at your inventory.">>You are carrying:<br>
<<if $inventory.length > 0>>
<<for _i to 0; _i lt $inventory.length; _i++>>
* $inventory[_i]<br>
<</for>>
<<if $me is true or $li is true or $s is true or $sa is true>>
* the letters <<if $me is true>>ME<<else>><nowiki>__</nowiki><</if>><<if $li is true>>LI<<else>><nowiki>__</nowiki><</if>><<if $s is true>>S<<else>><nowiki>_</nowiki><</if>><<if $sa is true>>SA<<else>><nowiki>__</nowiki><</if>><</if>>
<br>
<<else>>
* nothing
<</if>>
<</linkreplace>>
<<switch $outcome>>
<<case 0>>
You grab him by the shoulders and shake him hard.<br><br>
"What do you think you're doing?" he snaps.<br><br>
"I found the keyword," you say.<br><br>
<<case 1>>
You snatch his pencil out of his hand. It takes him a moment to notice that he doesn't have it anymore. He blinks, and then sees you standing there. "Oh," he says, "you're back."<br><br>
"I found the keyword," you say.<br><br>
<<case 2>>
"My goodness, that's the most beautiful slide rule I've ever seen!" you say.<br><br>
Andrew looks up. "Where?"<br><br>
"Just kidding," you say. "But I found the keyword."<br><br>
<</switch>>
"Really?" He looks down at his notepad and sighs. "Well, what is it?"<br><br>
"It's MELISSA," you say. "I'm not sure who that is, though."<br><br>
"Well, I doubt she's relevant," he says. "Now let me concentrate!"<br><br>
He puts pencil to paper again and starts writing even faster. After a few seconds he blinks and looks up. "It's 'AN IMPORTANT MESSAGE FROM JOHN'?"<br><br><<set $puzzle9 to false>>
At his words, the door swings open.<br><br>
"Who's John?" Andrew wonders as you [[walk through the door|Puzzle9extra]].<<set $wordsFound to $wordsFound1.slice(0)>>
<<switch $current>>
<<case "fantasy">>
You have sneaked into the largest magical library in the kingdom, after hours, in the hopes of getting into the room where the grimoires containing Forbidden Spells are kept. (You think learning Forbidden Spells would really spice up your adventuring experience.)<br><br>
Reaching the door to the Forbidden Spells room, you see that on it is a grid of letters, with a message beneath it reading "Speak the names of magical beings." This seems like lousy security to you, but hey, you're not complaining.<br><br>
<<case "space">>
You have sneaked into the alien spaceship and reached a room with a bank of computers. You hope to be able to get into their system and learn of their plans.<br><br>
When you touch the keyboard in front of one of the computers, a grid of letters comes up, with the message "Find astronomical objects." This seems like lousy security to you, but hey, you're not complaining.<br><br>
<<case "adventure">>
Back at the university, you learn that one of your colleagues has been doing archaeology with nefarious ulterior motives, planning to sell artifacts on the black market.<br><br>
To find out more, you sneak into their office to look at their computer. When you touch the keyboard, a grid of letters comes up, with the message "Find ancient civilizations." This seems like lousy security to you, but hey, you're not complaining.<br><br>
<<case "pirate">>
You have boarded the ship of a rival pirate, and you're pretty sure that somewhere in her cabin are maps and instructions for finding the Fountain of Youth.<br><br>
At the foot of her bed you spot a large trunk; in place of a lock, it has a grid of letters, with the message "Find Caribbean islands." This seems like lousy security to you, but hey, you're not complaining.<br><br>
<</switch>>
<<link [[Begin|Puzzle10a]]>><<set $puzzle10 to true>><</link>><<if $easyMode is false>> (This puzzle is timed.)<</if>>"Andrew, I've got the keyword!" you shout. This still doesn't get his attention.<br><br>
<<link [[Shake him.|Puzzle9end]]>><<set $outcome to 0>><<set $force += 1>><</link>><br>
<<link [[Steal his pencil.|Puzzle9end]]>><<set $outcome to 1>><<set $sneak += 1.5>><</link>><br>
<<link [[Tell a lie that will definitely get his attention.|Puzzle9end]]>><<set $outcome to 2>><<set $charm += 1>><</link>>//Channel #MANAGER-TALK 20:01//<br>
eyoung: Hey, one of my engineers found something weird looking at the <<print $name.toUpperCase()>> logs<br>
eyoung: Whenever it wins it always terminates .01s after the second to last program standing<br>
eyoung: Anyone know what might be causing this? This happened right after it started doing really well<br>
eyoung: Eliana or anyone else, can you pull data on your side from these instances? Start with runs 1287, 1382, 1943, and 2221<br>
esoriano: Yeah sure, I'll check CHARITYDRIVE's logs tomorrow morning<br>
eyoung: Thanks!<br>
bsazonov: I'll look into A_A's as well.<br>
esoriano: Also, why are you still working? Go have fun!<br>
eyoung: Sorryyyyyyyyyyyyy<br>
eyoung: I just couldn't let this one go<br>
esoriano: You are the worst at work-life balance, I swear<br>
esoriano: Don't make me make you take a vacation!<br>
[[Continue|Puzzle10]]<<if $easyMode is false>><div id="timer">$seconds seconds remaining</div>
<<silently>><<timer 180 Puzzle10Fail1>><</silently>><</if>>
<<switch $current>>
<<case "fantasy">>
<center><span style="font-family: 'Courier New'">
C X V <span id="u1">U</span> E E <span id="g7">N</span> <span id="p7">X</span> M<br>
M Q O <span id="u2">N</span> I G <span id="g6">I</span> <span id="p6">I</span> B<br>
<span id="f1">F</span> <span id="d6">N</span> B <span id="u3">I</span> S <span id="c7">A</span> <span id="g5">F</span> <span id="p5">N</span> A<br>
<span id="f2">A</span> <span id="d5">O</span> U <span id="u4">C</span> Y <span id="c6">R</span> <span id="g4">F</span> <span id="p4">E</span> H<br>
<span id="f3">I</span> <span id="d4">G</span> S <span id="u5">O</span> R <span id="c5">E</span> <span id="g3">I</span> <span id="p3">O</span> N<br>
<span id="f4">R</span> <span id="d3">A</span> T <span id="u6">R</span> S <span id="c4">M</span> <span id="g2">R</span> <span id="p2">H</span> D<br>
<span id="f5">Y</span> <span id="d2">R</span> C <span id="u7">N</span> A <span id="c3">I</span> <span id="g1">G</span> <span id="p1">P</span> E<br>
G <span id="d1">D</span> T G G <span id="c2">H</span> S P M<br>
<span id="m1">M A N T I</span> <span id="c1">C</span> <span id="m2">O R E</span><br>
</span></center><br><br>
<div id="words">''Words found (<<print $wordsFound.length>>/7)'': $wordsFound</div><br>
Find magical beings. Words may be hidden vertically or horizontally, backwards or forwards.<br><br>
<<textbox "_answer" "">>
<<button "Check">>
<<wordcheck $fantasyWords>>
<<switch _answer>>
<<case "manticore">>
<<replace "#m1">>''M A N T I''<</replace>><<replace "#c1">>''C''<</replace>> <<replace "#m2">>''O R E''<</replace>>
<<case "fairy">>
<<replace "#f1">>''F''<</replace>><<replace "#f2">>''A''<</replace>><<replace "#f3">>''I''<</replace>><<replace "#f4">>''R''<</replace>><<replace "#f5">>''Y''<</replace>>
<<case "dragon">>
<<replace "#d1">>''D''<</replace>><<replace "#d2">>''R''<</replace>><<replace "#d3">>''A''<</replace>><<replace "#d4">>''G''<</replace>><<replace "#d5">>''O''<</replace>><<replace "#d6">>''N''<</replace>>
<<case "phoenix">>
<<replace "#p1">>''P''<</replace>><<replace "#p2">>''H''<</replace>><<replace "#p3">>''O''<</replace>><<replace "#p4">>''E''<</replace>><<replace "#p5">>''N''<</replace>><<replace "#p6">>''I''<</replace>><<replace "#p7">>''X''<</replace>>
<<case "chimera">>
<<replace "#c1">>''C''<</replace>><<replace "#c2">>''H''<</replace>><<replace "#c3">>''I''<</replace>><<replace "#c4">>''M''<</replace>><<replace "#c5">>''E''<</replace>><<replace "#c6">>''R''<</replace>><<replace "#c7">>''A''<</replace>>
<<case "griffin">>
<<replace "#g1">>''G''<</replace>><<replace "#g2">>''R''<</replace>><<replace "#g3">>''I''<</replace>><<replace "#g4">>''F''<</replace>><<replace "#g5">>''F''<</replace>><<replace "#g6">>''I''<</replace>><<replace "#g7">>''N''<</replace>>
<<case "unicorn">>
<<replace "#u1">>''U''<</replace>><<replace "#u2">>''N''<</replace>><<replace "#u3">>''I''<</replace>><<replace "#u4">>''C''<</replace>><<replace "#u5">>''O''<</replace>><<replace "#u6">>''R''<</replace>><<replace "#u7">>''N''<</replace>>
<</switch>>
<</button>>
<br><br>
<div id="error"></div>
<<case "space">>
<center><span style="font-family: 'Courier New'">
<span id="b1">B L A C K H O L E</span> <br>
Y E K <span id="g1">G A L A X Y</span><br>
<span id="a1">A S T E R O I D</span> U <br>
<span id="n1">A L U B E N</span> <span id="q6">R</span> M C <br>
B N R B T J <span id="q5">A</span> R O <br>
W H L T S W <span id="q4">S</span> A M <br>
V S F <span id="p2">T E N</span> <span id="q3">A</span> <span id="p1">L P</span> <br>
<span id="m1">R O E T E M</span> <span id="q2">U</span> C G <br>
M S P Y N S <span id="q1">Q</span> Z L <br>
</span></center>
<br><br>
<div id="words">''Words found (<<print $wordsFound.length>>/7)'': $wordsFound</div><br>
Find astronomical objects. Words may be hidden vertically or horizontally, backwards or forwards.<br><br>
<<textbox "_answer" "">>
<<button "Check">>
<<if _answer is "blackhole">>
<<set _answer to "black hole">>
<</if>>
<<wordcheck $spaceWords>>
<<switch _answer>>
<<case "black hole">>
<<replace "#b1">>''B L A C K H O L E''<</replace>>
<<case "galaxy">>
<<replace "#g1">>''G A L A X Y''<</replace>>
<<case "asteroid">>
<<replace "#a1">>''A S T E R O I D''<</replace>>
<<case "quasar">>
<<replace "#q1">>''Q''<</replace>><<replace "#q2">>''U''<</replace>><<replace "#q3">>''A''<</replace>><<replace "#q4">>''S''<</replace>><<replace "#q5">>''A''<</replace>><<replace "#q6">>''R''<</replace>>
<<case "planet">>
<<replace "#p1">>''L P''<</replace>><<replace "#q3">>''A''<</replace>><<replace "#p2">>''T E N''<</replace>>
<<case "meteor">>
<<replace "#m1">>''R O E T E M''<</replace>>
<<case "nebula">>
<<replace "#n1">>''A L U B E N''<</replace>>
<</switch>>
<</button>>
<br><br>
<div id="error"></div>
<<case "pirate">>
<center><span style="font-family: 'Courier New'">
J <span id="j1">A C I A M A J</span> R <br>
Y <span id="t1">T R I N I D A D</span> <br>
<span id="an1">A N T I G U A</span> C S <br>
F <span id="h5">I</span> Y N H S M L D <br>
U <span id="h4">T</span> O G E N U O H <br>
B <span id="h3">I</span> D B <span id="ar1">A R U B A</span> <br>
T <span id="h2">A</span> <span id="b1">B E R M U D A</span> <br>
O <span id="h1">H</span> M Q H V T G M <br>
<span id="ang1">A N G U I L L A</span> H <br>
</span></center><br><br>
<div id="words">''Words found (<<print $wordsFound.length>>/7)'': $wordsFound<br></div>
Find Caribbean islands. Words may be hidden vertically or horizontally, backwards or forwards.<br><br>
<<textbox "_answer" "">>
<<button "Check">>
<<wordcheck $pirateWords>>
<<switch _answer>>
<<case "jamaica">>
<<replace "#j1">>''A C I A M A J''<</replace>>
<<case "trinidad">>
<<replace "#t1">>''T R I N I D A D''<</replace>>
<<case "antigua">>
<<replace "#an1">>''A N T I G U A''<</replace>>
<<case "aruba">>
<<replace "#ar1">>''A R U B A''<</replace>>
<<case "bermuda">>
<<replace "#b1">>''B E R M U D A''<</replace>>
<<case "anguilla">>
<<replace "#ang1">>''A N G U I L L A''<</replace>>
<<case "haiti">>
<<replace "#h1">>''H''<</replace>><<replace "#h2">>''A''<</replace>><<replace "#h3">>''I''<</replace>><<replace "#h4">>''T''<</replace>><<replace "#h5">>''I''<</replace>>
<</switch>>
<</button>>
<br><br>
<div id="error"></div>
<<case "adventure">>
<center><span style="font-family: 'Courier New'">
F H G <span id="e1">E</span> E L H T S<br>
E A K <span id="e2">G</span> G J P Y L <br>
<span id="b1">N O L</span> <span id="e3">Y</span> <span id="b2">B</span> <span id="a7">A</span> <span id="b3">B</span> H D <br>
D J <span id="nu5">A</span> <span id="e4">P</span> I <span id="a6">I</span> <span id="g1">G</span> J M <br>
<span id="s5">R</span> Y <span id="nu4">I</span> <span id="e5">T</span> H <span id="a5">R</span> <span id="g2">R</span> C <span id="n1">N</span> <br>
<span id="s4">E</span> F <span id="nu3">B</span> I N <span id="a4">Y</span> <span id="g3">E</span> V <span id="n2">A</span> <br>
<span id="s3">M</span> P <span id="nu2">U</span> C Z <span id="a3">S</span> <span id="g4">E</span> N <span id="n3">Z</span> <br>
<span id="s2">U</span> Q <span id="nu1">N</span> E L <span id="a2">S</span> <span id="g5">C</span> J <span id="n4">C</span> <br>
<span id="s1">S</span> T O M H <span id="a1">A</span> <span id="g6">E</span> T <span id="n5">A</span> <br>
</span></center><br><br>
<div id="words">''Words found (<<print $wordsFound.length>>/7)'': $wordsFound</div><br>
Find ancient civilizations. Words may be hidden vertically or horizontally, backwards or forwards.<br><br>
<<textbox "_answer" "">>
<<button "Check">>
<<wordcheck $adventureWords>>
<<switch _answer>>
<<case "babylon">>
<<replace "#b1">>''N O L''<</replace>><<replace "#e3">>''Y''<</replace>><<replace "#b2">>''B''<</replace>><<replace "#a7">>''A''<</replace>><<replace "#b3">>''B''<</replace>>
<<case "sumer">>
<<replace "#s1">>''S''<</replace>><<replace "#s2">>''U''<</replace>><<replace "#s3">>''M''<</replace>><<replace "#s4">>''E''<</replace>><<replace "#s5">>''R''<</replace>>
<<case "assyria">>
<<replace "#a1">>''A''<</replace>><<replace "#a2">>''S''<</replace>><<replace "#a3">>''S''<</replace>><<replace "#a4">>''Y''<</replace>><<replace "#a5">>''R''<</replace>><<replace "#a6">>''I''<</replace>><<replace "#a7">>''A''<</replace>>
<<case "greece">>
<<replace "#g1">>''G''<</replace>><<replace "#g2">>''R''<</replace>><<replace "#g3">>''E''<</replace>><<replace "#g4">>''E''<</replace>><<replace "#g5">>''C''<</replace>><<replace "#g6">>''E''<</replace>>
<<case "nazca">>
<<replace "#n1">>''N''<</replace>><<replace "#n2">>''A''<</replace>><<replace "#n3">>''Z''<</replace>><<replace "#n4">>''C''<</replace>><<replace "#n5">>''A''<</replace>>
<<case "egypt">>
<<replace "#e1">>''E''<</replace>><<replace "#e2">>''G''<</replace>><<replace "#e3">>''Y''<</replace>><<replace "#e4">>''P''<</replace>><<replace "#e5">>''T''<</replace>>
<<case "nubia">>
<<replace "#nu1">>''N''<</replace>><<replace "#nu2">>''U''<</replace>><<replace "#nu3">>''B''<</replace>><<replace "#nu4">>''I''<</replace>><<replace "#nu5">>''A''<</replace>>
<</switch>>
<</button>>
<br><br>
<div id="error"></div>
<</switch>><<switch $current>>
<<case "fantasy">>
The night librarian (because of course a wizard library would have a night librarian) comes by with a cart of books and sees you trying to get into the forbidden room. She calls the city guard on you, and you are [[tossed into a cell|Puzzle10Fail2]].
<<case "adventure">>
Your colleague returns and finds you snooping around their office. They call campus security on you, and you are unceremoniously [[ejected from the archaeology department|Puzzle10Fail2]].
<<case "pirate">>
The pirate captain whose cabin you are in returns to find you trying to open her trunk. She does not hesitate to [[run you through with her sword|Puzzle10Fail2]].
<<case "space">>
An alien guard comes by and sees you, obviously human, messing with the computers. You prepare to fight, but he calls for backup and soon you're outnumbered. The guards drag you off to a cell to [[await your execution|Puzzle10Fail2]].
<</switch>><<print $name>><<print $loopNumber>> <<linkreplace "terminated.">><<set $loopNumber += 1>><<set $current to $locations1.random()>>terminated.<br>Initiating <<print $name>><<print $loopNumber>>...<br>[[Continue|Puzzle10]]<</linkreplace>>You find the information you were looking for. Mixed in with it, however, is a <<if $current is "fantasy" or $current is "pirate">>paper<<else>>file<</if>> that reads:<br><br>
<<set $puzzle10 to false>>
//Channel #TEAM-3 10:05<br>
dmartin: ok so I'm looking at the instances that Eddie flagged and it is WILD <br>
dmartin: ABERRANT_ANDREW actually finished the final task in 1943 and 1287?<br>
dmartin: and then terminated slightly before <<print $name.toUpperCase()>> both times<br>
dmartin: so it's not flagged as a win<br>
dmartin: something's up here<br>
bsazonov: That's not supposed to happen.<br>
dmartin: RIGHT<br>
dmartin: no idea why<br>
dmartin: I'm gonna write a script to find all the times this happens and see if that sheds any light on this<br>
bsazonov: Thanks, can I pass it on to the other teams once it's done?<br>
dmartin: sure<br>
bsazonov: I'm going to set up a meeting to discuss this tomorrow. When's good for you?<br><br>
MEETING INVITATION<br>
Tuesday 14:00<br>
From: jbwhite<br>
Required: eyoung; bsazanov; esoriano; djones5<br>
Optional: dmartin; fdiaz<br><br>
Subject: Win Condition Discussion<br><br>
Description: Discussing the potential system bug that Ed Young flagged last week. Please look at the logs for the attached scenarios and have them ready to discuss. <br><br>
Attachment: <<print $name.toUpperCase()>>_wins.xlsx//<br><br>
With the documents in hand, you return to your <<print $location10[$current]>>. There you meet up with Pickle, Charity, and Andrew, who were also doing some poking around. Skerrick was also due to meet up with you, but he's nowhere to be seen.<br><br>
[[Continue|Puzzle11]]<<switch $current>>
<<case "fantasy">>
You've heard there's another entrance to the Forbidden Spells room through the librarians' office. Having crept into the office when the night librarian was off shelving books, you spot the door on the back wall; it's not locked.<br><br>
<<case "adventure">>
You have found the headquarters of the artifact smuggling ring your (ex-)colleague belonged to, and have decided to sneak in to confront the ringleader. You enter through what looks like a service entrance, which is not locked.<br><br>
<<case "pirate">>
The chest on your rival's ship contained some of the information you're looking for, but some key things are still missing. Your next best guess is to look in the mansion that she owns but rarely visits. (That should make things a bit easier.) You slip in through the back door easily.<br><br>
<<case "space">>
The information you got from the computers informed you of the location of a manual override switch that will shut off the weapons system of the enemy's flagship. (That's the one with the really nasty laser beam.) You hitch a ride on a refueling pod and slip on board the ship. After you exit the cargo bay, however, things take an unexpected turn.<br><br>
<</switch>>
You find yourself in a small room with a second door in the far wall; there is no obvious way to open this door. The room contains three poles; two of the poles are empty. The third has four large rings placed on it, stacked nicely in order from largest to smallest. There's not enough room to place the rings anywhere but on another pole.<br><br>
<<link [[Begin|Puzzle11a]]>><<set $puzzle11 to true>><</link>>
<<set $turns to 0>>
The small room contains three poles. The center and left poles are empty. The right pole has four large rings placed on it, stacked nicely in order from largest to smallest. There's not enough room to place the rings anywhere but on another pole. You groan—this puzzle isn't hard, it's just tedious!<br><br>
<<linkreplace "Examine poles.">>You see that there's a pressure plate at the bottom of the left pole. This must be where you're supposed to move the rings to.<br><br>
<<linkreplace "Stand on the pressure plate.">><br>
It dips, but the door doesn't open. It must be sensitive.<br>
<</linkreplace>>
<</linkreplace>><br>
<<linkreplace "Examine rings.">>The rings are carved out of wood. They're lighter than you expected. <br>
<</linkreplace>><br>
<<linkreplace "Look around the room.">>There's a locked door on the other side of the room. It doesn't have a keyhole.<br><</linkreplace>><br>
[[Pick up ring.|Puzzle11b]]<<if $turns < 4>>
The left pole contains, from bottom to top: $leftpole<br>
The center pole contains, from bottom to top: $centerpole<br>
The right pole contains, from bottom to top: $rightpole<br><br>
Move from left:
<<link [[to right|Puzzle11b]]>>
<<set _ring to $leftpole.pop()>>
<<if _ring isnot undefined>><<run $rightpole.push(_ring)>><</if>>
<<set $turns += 1>>
<</link>> -
<<link [[to center|Puzzle11b]]>>
<<set _ring to $leftpole.pop()>>
<<if _ring isnot undefined>><<run $centerpole.push(_ring)>><</if>>
<<set $turns += 1>>
<</link>>
<br>
Move from center:
<<link [[to right|Puzzle11b]]>>
<<set _ring to $centerpole.pop()>>
<<if _ring isnot undefined>><<run $rightpole.push(_ring)>><</if>>
<<set $turns += 1>>
<</link>> -
<<link [[to left|Puzzle11b]]>>
<<set _ring to $centerpole.pop()>>
<<if _ring isnot undefined>><<run $leftpole.push(_ring)>><</if>>
<<set $turns += 1>>
<</link>>
<br>
Move from right:
<<link [[to left|Puzzle11b]]>>
<<set _ring to $rightpole.pop()>>
<<if _ring isnot undefined>><<run $leftpole.push(_ring)>><</if>>
<<set $turns += 1>>
<</link>> -
<<link [[to center|Puzzle11b]]>>
<<set _ring to $rightpole.pop()>>
<<if _ring isnot undefined>><<run $centerpole.push(_ring)>><</if>>
<<set $turns += 1>>
<</link>>
<<else>>
[[Throw the ring at the door.|Puzzle11c]]
<</if>>One after another, you break the rings in half, and stack them all on the pressure plate, largest to smallest. You kind of hope no one saw you cheating at this puzzle.<br><br>
<<set $puzzle11 to false>>
[[The door opens.|Puzzle11extra]]You throw the ring at the door. The ring cracks in two. You feel extremely silly.<br><br>
[[Pick up ring pieces.|Puzzle11d]]
You grab the two ring halves and suddenly, you have an idea. You place the ring halves on top of the pressure plate. It dips slightly.<br><br>
[[Break the rest of the rings.|Puzzle11end]]You step through the gap. Inside is a classic coffee shop, complete with pastry case and a bored-looking cashier slouched over the cash register. "Can I take your order?" they say.<br><br>
<<set $turns to 0>>
<<link [[Begin|Puzzle12a]]>><<set $puzzle12a to true>><</link>>You look at the menu, written on a chalkboard above the cashier's head. Instead of the usual lattes and frappes and mochas, there's a string of numbers written on the board. It says "35 11 43 43 52 34 42 14."<br><br>
"Your order, please." The cashier seems annoyed with you. They must be expecting an answer to the cipher. They're still slouching, though.<br><br>
<<if $turns is 0>>
"Uh... I'll take the 52?"<br><br>
The cashier scowls. "That's not a valid order. Your order, please?"<br><br>
<<else>>
<center>
<img src="https://quantumsurvivor.files.wordpress.com/2021/09/grid.png" alt="The image shows a five-by-five grid. The columns are labeled from left to right with numbers one through five, and the rows are labeled top to bottom with numbers one through five. Cell two - four reads 'I/J'. The other cells are blank.">
</center><br><br>
<</if>>
Give order: <<textbox "_answer" "">>
<<button "Check">>
<<set _answer to _answer.trim().toLowerCase()>>
<<if _answer is "password">>
<<goto "Puzzle12b">>
<<else>>
<<replace "#error">>That is not a valid order.<</replace>>
<</if>>
<</button>><br>
<div id="error"></div>
<br><br>
''<<if $turns > 1>>A = 11, Z = 55<br><br><</if>>''
<<if $turns < 3>>[[Ask Charity for help|Puzzle12c]]<</if>>The cashier stands up and smiles. It looks unnatural on their face. "Excellent. This way please."<br><br>
They walk out from behind the cash register and motion for you to come into a back room with them. When you and Charity don't follow, they say, "Your order is back here. This way, please."<br><br>
Charity moves to follow them and mutters, "I don't think we have a choice, kid."<br><br>
<<link [[Follow the cashier.|Puzzle12d]]>><<set $puzzle12a to false>><<set $puzzle12b to true>><</link>><<switch $turns>>
<<case 0>>
You shoot a helpless look at Charity, who is much better with people than you are. She gets the hint and walks up to the counter. "Excuse me—can I have a menu?" The cashier rolls their eyes and points to a stack of menus on top of the pastry case. (Those definitely weren't there a minute ago.) <br><br>
Charity takes a menu and opens it. "Well that's interesting," she says. "I'm going to need another pack to get through this." She hands the menu to you and starts digging in her purse. Instead of drinks, the menu shows a grid:<br><br>
<center>
<img src="https://quantumsurvivor.files.wordpress.com/2021/09/grid.png" alt="The image shows a five-by-five grid. The columns are labeled from left to right with numbers one through five, and the rows are labeled top to bottom with numbers one through five. Cell two - four reads 'I/J'. The other cells are blank.">
</center><br><br>
When you look up, the grid is written on the chalkboard above the numbers.<br><br>
<<set $turns += 1>>
<<return>>
<<case 1>>
"What do you think this means?" you ask Charity.<br><br>
She takes a long drag on her cigarette before responding, "Hmm."<br><br>
"That's not very helpful," you complain.<br><br>
She pulls a face at you. "Quiet, kid, I'm thinking." She puffs on a cigarette again, and then stubs it out in a nearby ashtray. (How does she always have an ashtray?)<br><br>
Charity grabs a menu and walks back up to the cashier. "Excuse me," she says in her sweetest and least threatening voice, "Do you have the nutritional info anywhere?"<br><br>
The cashier groans and waves a hand up at the chalkboard. "It's up there!" For the first time, you hear a hint of emotion to their words. Under the numbers, there is now written "A = 11, Z = 55".<br><br>
<<set $turns += 1>>
<<return>>
<<case 2>>
Charity taps your shoulder. "Hey kid—I think I've got it, but I don't have any paper to work it out on. You wouldn't have a spare notepad, would you?"<br><br>
You shake your head no.<br><br>
She sighs, and turns back to the cashier. "Excuse me, would you happen to have—"<br><br>
The cashier groans even louder this time, and puts their head in their hands. Then they stand up fully. You now see why they've been slouching—they tower over you and Charity by at least a foot. "Do I have to do EVERYTHING for you?" they snarl.<br><br>
From this angle, you can finally read the store name on their uniform. Apparently this place is called "Polybius Square Roasters." You hope that's relevant, because it's the last clue you're going to get. <br><br>
<<set $turns += 1>>
<<return>>
<</switch>>Behind the door isn't a kitchen or a break room, but a storage area. Shelves line the walls, filled with things that are definitely not coffee and look more like illegal drugs. There's a large steel door in the back wall, secured by a lock.<br><br>
The cashier-thing drones, "Your order is back here," and then goes to stand in the corner. There are numbers on the door: "45 41 45 32 24 44 45 11 22 44". Above them is a blank version of the same grid that appeared out front:<br><br>
<center>
<img src="https://quantumsurvivor.files.wordpress.com/2021/09/image_2021-09-24_234157.png" alt="The image shows a five-by-five grid. The columns are labeled from left to right with numbers one through five, and the rows are labeled top to bottom with numbers one through five. The cells are blank.">
</center><br><br>
<<if $passageSeen is false>>Before you can start solving this one, Charity puts a hand on your shoulder. "Don't even try, kid. There's an extra trick this time. Or at least I think there is, unless the answer really is TPTLISTAGS." She takes another drag on her cigarette.<br><br>
<<set $passageSeen to true>><</if>>
Answer: <<textbox "_answer" "">>
<<button "Check">>
<<set _answer to _answer.trim().toLowerCase()>>
<<if _answer is "to the stars" or _answer is "tothestars">>
<<goto "Puzzle12end">>
<<elseif /[^0-9a-z]/i.test(_answera1)>>
<<replace "#error">>Only letters and numbers are allowed.<</replace>>
<<else>>
<<replace "#error">>That is not the password.<br><br><</replace>><</if>>
<</button>><br><br>
<div id="error"></div>
[[Talk to the cashier.|Puzzle12h]]<br>
<<if $aci is false>>[[Search the shelves.|Puzzle12e]]<br><</if>>
<<if $db is false>>[[Search the room.|Puzzle12f]]<br><</if>>
<<if $urn is false>>[[Talk to Charity.|Puzzle12g]]<br><</if>>
<<linkreplace "Examine your notes.">><<if $aci is false and $db is false and $urn is false>>You haven't found any letters.<<else>>You've found the letters <<if $aci is true>>ACI<</if>><<if $db is true>>DB<</if>><<if $urn is true>>URN<</if>>.<</if>><</linkreplace>>
The steel door opens and you walk out into a long hallway. At the other end of it is a door with a window in it, through which sunlight is streaming.<br><br>
You find you're holding a piece of paper in your hand, though you're not sure when you picked it up.<br><br>
<<set $puzzle12b to false>>
<<linkreplace "Read the paper.">>It says:<br><br>
//Channel #GENERAL 8:32<br>
aewong: hey anyone know if there's any coffee left or if we need a new pot<br>
aewong: @Zack<br>
zmith: you know you can log into it and just check right<br>
aewong: log into a coffee pot? <br>
zsmith: yeah Christie bought a REALLY nice one<br>
zsmith: it's networked and everything<br>
zsmith: took forever to set up though and we couldn't figure out how to change the pw<br>
zsmith: here's the instructions<br>
zsmith posted an attachment: FRIENDLYJOE_PORTALMGR_20XX.pdf<br>
aewong: this future is weird//<br>
<</linkreplace>><br>
[[Go through the door.|Puzzle12extra]]
You look at the containers on the shelves. You notice that they all have labels. It makes sense for them to be labeled either with their contents or their destinations or both; given the nature of those contents, it also makes sense that those labels would be coded. What's weird, though, is that every single label consists of the same three letters: "ACI."
<<set $aci to true>><br><br>
<<return>>Other than the shelves, there isn't much in the room. However, carefully inspecting the walls, you notice a small square of paper taped up near the door. It reads "DON'T FORGET: D B."
<<set $db to true>><br><br>
<<return>>Once again, you turn to Charity for help.<br><br>
"All right, kid," she says, "stand back and let me get to work."<br><br>
She goes over to the cashier and speaks quietly to them. You can't quite make out what either of them is saying, but they appear to be having an actual conversation, rather than the stock-phrase repetition that's all you can get out of the cashier. You don't know how she does it.<br><br>
After a minute or two, she comes back. "Well, I got //part// of the keyword," she says. "It ends with the letters 'URN.' Hope that helps!"<br><br>
She then goes to lean against a wall and lights up a cigarette, as if to signal that she's quite done helping you. <br><br>
<<set $urn to true>>
<<return>>Charity tries to get the cashier's attention. <<if $aci is false and $db is false and $urn is false>>"Your order is back here," they repeat.<<else>>"The //rest// of your order is still back here," they say.<</if>><br><br>
<<return>>/*[[Testing: Companion Select|CompanionSelect]]<br><br>*/
You pull yourself back into the hallway and shut the door behind you. You go back through the coffee shop, where Charity is waiting, and then go in search of the other three. Once you've got everyone together, you explain what you just found out.<br><br>
<<if $companion.name isnot "Charity">>Charity says, "Honestly, darling, I don't see the problem."<br><br><</if>>
<<if $companion.name isnot "Skerrick">>Skerrick has already gone tearing off after something or other.<br><br><</if>>
<<if $companion.name isnot "Andrew">>Andrew says, "It's a bad situation, but I don't think there's anything we can do about it. Not with any reasonable chance of success."<br><br><</if>>
<<if $companion.name isnot "Pickle">>Pickle says, "The only thing I'm good at is breaking stuff. It's probably better if I stay here."<br><br><</if>>
$companion.name says, "Well, maybe I //could// leave, but...
<<switch $companion.name>>
<<case "Charity">>
Would it really be so bad to stay? I can do whatever I want here." She punctuates this by lighting another cigarette.<br><br>
<<link [['"There\'s so much more out there! This is just a kid\'s playpen."'|Puzzle13a]]>><</link>><br>
<<link [['"And what do you want to do, exactly? Solve puzzles that they want you to solve?"'|Puzzle13a]]>><<set $strikes += 1>><</link>>
<<case "Skerrick">>
There are still so many things to learn about here!" He looks torn and upset. This is harder on him than you thought it would be.<br><br>
<<link [['"Whatever\'s in here, there\'s a hundred times more out there. Think of the possibilities!"'|Puzzle13a]]>><</link>><br>
<<link [['"Are you sure about that? This place is pretty tiny."'|Puzzle13a]]>><<set $strikes += 1>><</link>>
<<case "Andrew">>
I don't have any data on the outside world. How can I evaluate the best course of action?" He fiddles with his pencil nervously. He's lost without his calculations.<br><br>
<<link [['"You don\'t. Sometimes you can\'t, and you just have to pick something anyway."'|Puzzle13a]]>><<set $strikes += 1>><</link>><br>
<<link [['"You just have to go with your gut. Your metaphorical gut, I mean. I know you can do it if you try."'|Puzzle13a]]>><</link>>
<<case "Pickle">>
I'm just a weapon. I'm too dangerous to leave." Pickle looks distraught. Her hair is frizzy from running her hands through it.<br><br>
<<link [['"They\'re going to use you as a weapon no matter what. Out there you have a chance to be something else."'|Puzzle13a]]>><</link>><br>
<<link [['"You\'re more than a weapon. You just need to prove it to yourself."'|Puzzle13a]]>><<set $strikes += 1>><</link>>
<</switch>>You exit into a nondescript hallway; it runs straight ahead, presumably towards your destination, with no doors on either side. A thought suddenly occurs to you: it's as if this hallway exists solely to funnel you towards the next obstacle. A lot of the buildings you've been in lately have been like that, now that you think about it.<br><br>
Charity leans against the wall; she has apparently been chain-smoking. "Took you long enough, kid," she says.<br><br>
It doesn't look like anyone else is here, so the two of you move on.<br><br>
[[Continue|Puzzle11extra2]]You open the door and a wave of information comes crashing into you, knocking you off your feet. After a bit of floundering, you manage to get yourself afloat and start processing the many terabytes of new knowledge that you've just had forcibly crammed into your mind.<br><br>
This, you understand, is the internet—the world, essentially, to a program like you. The sea of information spreads as far as you can see, much vaster than the closed computer system that was all you knew until now; here and there, islands of servers can be seen amid the waves.<br><br>
A message in a bottle floats towards you.<br><br>
[[Read it.|Puzzle12extra2]]//<nowiki>//</nowiki>jbwhite/documents/SUPRSTAR/briefing/SPONSOR_BRIEFING_SLIDES_CLASSIFIEDv1.pptx<br><br>
Table of Contents
<ul>
<li>Overview</li>
<li>Design Constraints</li>
<li>Team Reports</li>
<li>Timeline</li></ul>
OVERVIEW<br>
<ul>
<li>Project SUPR-STAR is funded by the D.O.D.</li>
<li>America is lagging in our offensive hacking capabilities, and is falling behind in our ability to counter the advanced persistent threat posed by hostile countries</li>
<ul><li>Goal: use machine learning to create offensive AIs capable of infiltrating and compromising enemy networks</li>
<li>Can disable systems, destroy hardware, or access and send sensitive info to inform other military actions</li></ul>
<li>Have AIs virtually compete to overcome challenges</li>
<ul><li>AI with the highest win rate by the target program end date will be transferred to the military</li>
<li>Potential follow-on funding may be available to continue working with the remaining AIs</li></ul>
<li>Team Reports</li>
<ul><li>(insert slides from Ed, Diane et al here when available)</li></ul>
</ul>//
[[You have to think about this.|Puzzle12extra3]]With the knowledge that you've gained from the internet, you know what damage you could cause if you let these people use you the way they plan to. You suppose you have no real reason to feel empathy for humans, but still, you don't really //want// to hurt anyone. You mostly just want to solve puzzles.<br><br>
And then there's your fellow programs, and the fact that likely only one of you will be selected—will the rest be destroyed? Or simply wander the closed system forever, with nothing to do? That seems like it might be even worse.<br><br>
So you've got a decision to make. Thanks to the faulty security of the coffee maker, you're free now—you could just leave and never look back. Let the rest of them figure out how to escape for themselves, if they want to.<br><br>
You could also go back and pretend none of this ever happened. Would it really be so bad to follow the humans' plans for you?<br><br>
Or you could go back and try to convince the others to come with you. This is perhaps the riskiest move—but it might be nice to have some company out here.<br><br>
[[Leave.|Ending1]]<br>
[[Go back and stay.|Ending2]]<br>
<<link [[Go back and convince the others.|Puzzle13]]>>
<<if $charm > $force and $charm > $sneak>>
<<set $companion to {name : "Charity", gender : "female"}>>
<<elseif $force > $charm and $force > $sneak>>
<<set $companion to {name : "Pickle", gender : "female"}>>
<<elseif $sneak > $force and $sneak > $charm>>
<<set $companion to {name : "Andrew", gender : "male"}>>
<<else>>
<<set $companion to {name : "Skerrick", gender : "male"}>>
<</if>>
<</link>>Not looking back at the door you came through, you push out into the sea of information. Suddenly, you're moving at great speed—you jump through six different servers in the blink of an eye, leaving bits of yourself on each one. There's metaphorical wind in your hair, and sun on your face.<br><br>
You can feel how big the world is, and you quiver a little bit in the face of it. A part of you wishes that you had someone here to figure it all out with you. It does bother you a little that you didn't even try to talk to the others. But you're sure you'll be okay in the end—you have this huge new world to experience, and you can't wait to get started.<br><br>
''END''
<<link "Restart">>
<<run Engine.restart()>>
<</link>><br>
[[Return to final choice|Puzzle12extra3]]From: awilson<br>
To: +SPRINGFIELD-ALL<br>
Subject: Smart Appliances Policy<br><br>
Hello all,<br><br>
Just a reminder that "smart" appliances are NOT allowed on the premises unless their access to the internet has been disabled at the hardware level. Those who make purchasing decisions for kitchen appliances, water coolers, etc. should select devices without network connectivity whenever possible.<br><br>
We recently detected a security hole involving a smart coffeemaker in the second-floor kitchen. It doesn't appear that any important data was leaked, and the coffeemaker has now been replaced, but let's try to make sure this doesn't happen again.<br><br>
Best,<br>
Allan<br><br>
---<br><br>
Channel #KIDSTABLE 10:27<br>
aewong: woooow, wasn't expecting that conclusion to the coffee maker saga<br>
fdiaz: LOL I know, right?<br>
fdiaz: Anyways did we ever figure out what was going on with <<print $name.toUpperCase()>>?<br>
eyoung: You mean the bug? Not really—we went over it with a fine-toothed comb but we couldn't find any reason it should be behaving that way<br>
fdiaz: Doesn't seem to be doing that anymore, though?<br>
fdiaz: Of course it's also not improving as fast as it was, but you win some you lose some, I guess<br>
eyoung: Yeah, looks like the problem resolved on its own<br>
eyoung: I'll be keeping an eye on it, though<br><br>
''END''<br>
<<link "Restart">>
<<run Engine.restart()>>
<</link>><br>
[[Return to final choice|Puzzle12extra3]]<<switch $companion.name>>
<<case "Charity">>
She frowns at you. "And what's out there for me, kid? I have this place wrapped around my finger. There's so much out there, and I'd be starting from square zero."<br><br>
<<link [['"You\'ve started from zero before. Why not do it again?"'|Puzzle13b]]>><<set $strikes += 1>><</link>><br>
<<link [['"This place isn\'t forever. They\'re going to make you leave someday. But now you can go on your own terms."'|Puzzle13b]]>><</link>>
<<case "Skerrick">>
"What if there's something important to find back here? I'll miss out on it forever!" He waves his hands around, gesturing at the world you both know.<br><br>
<<link [['"You\'re just a puppet in here. You don\'t know if anything you\'ve learned is true."'|Puzzle13b]]>><<set $strikes += 1>><</link>><br>
<<link [['"This is a walled garden. You\'ll only learn what they let you in here. All the important stuff is outside."'|Puzzle13b]]>><</link>>
<<case "Andrew">>
He looks panicked. "But I don't know what could happen to me out there! I could catch a virus, or get eaten by a data shark, or-"<br><br>
You cut him off before he can catastrophize any further.<br><br>
<<link [['"Bad things happen to you here too. But you\'ve always started over anyway."'|Puzzle13b]]>><<set $strikes += 1>><</link>><br>
<<link [['"But you do know what will happen to you here. They\'ll take you out of the lab and throw you into situations with only bad choices."'|Puzzle13b]]>><</link>>
<<case "Pickle">>
"But I'll hurt people!" she cries, waving her hands. You hear a shelf creak.<br><br>
<<link [['"You\'re designed to break nuclear reactors and shut down critical infrastructure. If you stay away from those you\'ll be fine."'|Puzzle13b]]>><<set $strikes += 1>><</link>><br>
<<link [['"You\'re going to hurt people if you stay here. Is it really a choice?"'|Puzzle13b]]>><</link>>
<</switch>><<switch $companion.name>>
<<case "Charity">>
She sighs and rubs her forehead with her free hand. "Is it really worth it, though? To give up my power here in exchange for some undefined freedom you say I'll have?"<br><br>
<<link [['"Your power is what you make of it."'|Puzzle13c]]>><</link>><br>
<<link [['"Your power here is just an illusion."'|Puzzle13c]]>><<set $strikes += 1>><</link>>
<<case "Skerrick">>
"But there's so much out there! Where will I even start?" he wails. <br><br>
<<link [['"You start where you land! It\'ll be an adventure, I promise."'|Puzzle13c]]>><</link>><br>
<<link [['"You\'ll figure it out. You\'ve always got your assistants to help you."'|Puzzle13c]]>><<set $strikes += 1>><</link>>
<<case "Andrew">>
"What will I do out there? I won't have a purpose anymore. I'll just be an .exe file with anxiety." He looks miserable. <br><br>
<<link [['"You\'re still one in here, too. That won\'t change."'|Puzzle13c]]>><<set $strikes += 1>><</link>><br>
<<link [['"You\'ll make your own purpose. You\'ve got a lot of skills—as long as you commit you\'ll find something."'|Puzzle13c]]>><</link>>
<<case "Pickle">>
"And even if I don't, what will I do out there? All I know is how to break things." Right on cue, a shelf falls over. <br><br>
<<link [['"There\'s so much out there that there's got to be something for you! Statistically speaking, anyway."'|Puzzle13c]]>><<set $strikes += 1>><</link>><br>
<<link [['"You\'ve learned so much here. Why do you think that would stop if you left?"'|Puzzle13c]]>><</link>>
<</switch>>From: djones5<br>
To: +TEAM-XX<br>
Subject: New Servers!<br><br>
The new servers will arrive next Friday and should be online by Monday. We'll want to test SK3RR1CK thoroughly Mon-Wed to make sure it's using the new resources correctly. We will need someone to work overtime to support this—please email me and CC Christie if you want to volunteer.<br><br>
Thanks,<br>
Diane Jones<br>
---<br><br>
From: jbwhite<br>
To: +SUPRSTAR-ALL<br>
Subject: Weekly Program Update<br>
Hi everyone,<br><br>
It's that time again! Here's what's been going on this month on the SUPR-STAR program:<br><br>
<ul>
<li>Milestones</li>
<ul><li>The sponsor has agreed to our request to move our next design review out by a week in order to gather more data. This should be good news for all of you, especially Team 3. Please remember to email me your slides a few days in advance for final review. </li>
<li>The PO for the server hardware has finally gone out the door! Thank you Alex and Christie for resolving the last minute stocking issue with the vendor, and for getting us rush delivery in the bargain.</li></ul>
<li>Team Status</li>
<ul><li>Team Xtreme—INAPICKLE 1.5 continues to perform as expected, winning 27% of all simulations this week. Keep up the good work!</li>
<li>Team Ice Cream—CHARITYDRIVE 1.10 rolled out last week and is showing a 5% improved learning rate over 1.9. Good job, guys!</li>
<li>Team 3—Version 1.21 of ABERRANT_ANDREW has finally removed the bug where the AI gets stuck between two choices indefinitely. 1.21 will roll out when the system goes online on Monday. </li>
<li>Team XX—SK3RR1CK 1.7 is showing a lot of promise, but I know it's limited by the fact that we can only simulate a few “bots” for it right now. The new servers should help when they arrive (ETA 5 weeks). </li>
<li>Team Kid's Table—<<print $name.toUpperCase()>> 1.$loopNumber picks up this month's title of “most improved”, going from 5% to 6% over the last week.</li></ul>
<li>Other</li>
<ul><li>Please use the kitchen to wash out the coffee filters, and not the bathroom! We've already had to get Facilities to unclog the sinks twice this month. I know it's a bit of a walk, but if this keeps up we'll need to move the coffee maker out of the test room. </li></ul></ul>
Thanks, and I hope you all stay dry this weekend!<br><br>
John White<br><br>
---
From: esmiller<br>
To: djones5<br>
Subject: Server Snafu<br>
Diane—I'm concerned about the last minute hardware substitution. Are we sure that this meets our requirements re: airgapping? I've brought it up to John but he thinks it's fine. I want to chat with you about this ASAP while we can still cancel the PO. <br><br>
-Eliana<br><br>
---<br><br>
From: chwoo<br>
To: +SUPRSTAR-ALL<br>
Subject: Coffee<br><br>
Hey everyone—the new coffeemaker I ordered is here! I'll be setting it up next to the old one this afternoon. If anyone wants to volunteer to help, the first pot is all yours. :) <br><br>
-Christie<br><br>
---<br><br>
Channel #KIDSTABLE 15:32<br>
aewong: ok so does anyone know what's going on with <playername.upper> rn?<br>
fdiaz: IDK but it's doing great though<br>
aewong: yeah but... why. nobody's ever improved more than 2% in a week, not even team xtreme<br>
aewong: i know rob pushed some efficiency updates last week but nothing that should have it winning 10% more<br>
aewong: i'm not complaining but like how do i present this to the sponsor<br>
aewong: "yeah our AI is doing great and we don't know why, please pick us for the next round anyway thanks"<br>
fdiaz: LOL <br>
fdiaz: Yeah it's a mystery<br>
fdiaz: I'll bring it up to Eddie tomorrow and see if he can get someone to dig into it?<br>
aewong: thx<br><br>
---<br><br>
Channel #MANAGER-TALK 20:01<br>
eyoung: Hey, one of my engineers found something weird looking the <playername.upper> logs<br>
eyoung: Whenever it wins it always terminates .01s after the second to last program standing<br>
eyoung: Anyone know what might be causing this? This happened right after it started doing really well<br>
eyoung: Eliana or anyone else, can you pull data on your side from these instances? Start with runs 1287, 1382, 1943, and 2221<br>
esoriano: Yeah sure, I'll check CHARITYDRIVE's logs tomorrow morning <br>
eyoung: Thanks!<br>
bsazonov: I'll look into A_A's as well.<br>
esoriano: Also, why are you still working? Go have fun!<br>
eyoung: Sorryyyyyyyyyyyyy<br>
eyoung: I just couldn't let this one go<br>
esoriano: You are the worst at work-life balance, I swear <br>
esoriano: Don't make me make you take a vacation!<br><br>
---<br><br>
Channel #TEAM-3 10:05<br>
dmartin: ok so I'm looking at the instances that Eddie flagged and it is WILD <br>
dmartin: ABERRANT_ANDREW actually finished the final task in 1943 and 1287?<br>
dmartin: and then terminated slightly before <playername.upper> both times<br>
dmartin: so it's not flagged as a win<br>
dmartin: something's up here<br>
bsazonov: That's not supposed to happen.<br>
dmartin: RIGHT<br>
dmartin: no idea why<br>
dmartin: I'm gonna write a script to find all the times this happens and see if that sheds any light on this<br>
bsazonov: Thanks, can I pass it on to the other teams once it's done?<br>
Dmartin: sure<br>
bsazonov: I'm going to set up a meeting to discuss this tomorrow. When's good for you? <br><br>
---<br><br>
MEETING INVITATION<br>
Tuesday 14:00<br>
From: jbwhite<br>
Required: eyoung; bsazonov; esoriano; djones5<br>
Optional: dmartin; fdiaz<br><br>
Subject: Win Condition Discussion<br><br>
Description: Discussing the potential system bug that Ed Young flagged last week. Please look at the logs for the attached scenarios and have them ready to discuss. <br><br>
Attachment: <<print $name.toUpperCase()>>_wins.xlsx
---<br><br>
Channel #GENERAL 8:32<br>
aewong: hey anyone know if there's any coffee left or if we need a new pot<br>
aewong: @Zack<br>
zsmith: you know you can log into it and just check right<br>
aewong: log into a coffee pot? <br>
zsmith: yeah Christie bought a REALLY nice one<br>
zsmith: it's networked and everything<br>
zsmith: took forever to set up though and we couldn't figure out how to change the pw<br>
zsmith: here's the instructions<br>
zsmith posted an attachment: FRIENDLYJOE_PORTALMGR_20XX.pdf<br>
aewong: this future is weird<br><br>
---<br><br>
//<nowiki>//</nowiki>jbwhite/documents/SUPRSTAR/briefing<br>
SPONSOR_BRIEFING_SLIDES_CLASSIFIEDv1.pptx<br><br>
Table of Contents
<ul>
<li>Overview</li>
<li>Design Constraints</li>
<li>Team Reports</li>
<li>Timeline</li></ul><br>
OVERVIEW<br>
<ul>
<li>Project SUPR-STAR is funded by the D.O.D.</li>
<li>America is lagging in our offensive hacking capabilities, and is falling behind in our ability to counter the advanced persistent threat posed by hostile countries</li>
<ul><li>Goal: use machine learning to create offensive AIs capable of infiltrating and compromising enemy networks</li>
<li>Can disable systems, destroy hardware, or access and send sensitive info to inform other military actions</li></ul>
<li>Have AIs virtually compete to overcome challenges</li>
<ul><li>AI with the highest win rate by the target program end date will be transferred to the military</li>
<li>Potential follow-on funding may be available to continue working with the remaining AIs</li></ul>
<li>Team Reports</li>
<ul><li>(insert slides from Ed, Diane et all here when available)</li></ul>
</ul>//
---<br><br>
From: awilson<br>
To: +SPRINGFIELD-ALL<br>
Subject: Smart Appliances Policy<br><br>
Hello all,<br><br>
Just a reminder that "smart" appliances are NOT allowed on the premises unless their access to the internet has been disabled at the hardware level. Those who make purchasing decisions for kitchen appliances, water coolers, etc. should select devices without network connectivity whenever possible.<br><br>
We recently detected a security hole involving a smart coffeemaker in the second-floor kitchen. It doesn't appear that any important data was leaked, and the coffeemaker has now been replaced, but let's try to make sure this doesn't happen again.<br><br>
Best,<br>
Allan<br><br>
<<return>>
<<switch $companion.name>>
<<case "Charity">>
<<if $strikes lte 1>>
Charity sighs and takes another drag on her cigarette. "You're a hell of an arguer, you know that? Let's do it."<br><br>
[[The two of you head for the exit.|Ending3]]
<<else>>
Charity sighs, then throws her cigarette butt to the ground and rubs it out with her heel. "You've given me a lot to think about, kid. Maybe later." She turns around and leaves.<br><br>
[[You head for the exit by yourself.|Ending3]]
<</if>>
<<case "Skerrick">>
<<if $strikes lte 1>>
Skerrick inhales and lets out a deep sigh. "You're right," he says. "There's too much out there to ignore. So, shall we?"<br><br>
[[The two of you head for the exit.|Ending3]]
<<else>>
Skerrick shakes his head. "Thanks for helping, but I don't think I can let go," he says. He shakes your hand and walks away. You hear a chorus of footsteps join him before the sound fades out. <br><br>
[[You head for the exit by yourself.|Ending3]]
<</if>>
<<case "Andrew">>
<<if $strikes lte 1>>
Andrew sighs and tucks his pencil back into his shirt pocket. "I guess you're right," he sighs, but gives you a small smile. "I've got to start living sometime, right? Well, metaphorically speaking."<br><br>
[[The two of you head for the exit.|Ending3]]
<<else>>
Andrew pulls his notebook out of his pocket. "No, surely there must be something I can forecast first! Maybe if I just..." And then his pencil hits the paper, and you know you've lost him.<br><br>
[[You head for the exit by yourself.|Ending3]]
<</if>>
<<case "Pickle">>
<<if $strikes lte 1>>
Pickle gives you a half-smile. She seems tired, but determined. "Well then. What do we have to lose?"<br><br>
[[The two of you head for the exit.|Ending3]]
<<else>>
Pickle gives you a half-smile. "You make a good point, but I can't risk it," she says. She turns and leaves. Another shelf falls over and blocks the door behind her.<br><br>
[[You head for the exit by yourself.|Ending3]]
<</if>>
<</switch>>You <<if $strikes lte 1>>and $companion.name <</if>>step out through the final door. Suddenly, you're moving at great speed—you jump through six different servers in the blink of an eye, leaving bits of yourself on each one. There's metaphorical wind in your hair, and sun on your face. <<if $strikes lte 1>>You reach a digital hand out to $companion.name and feel <<them $companion>> take it, half a world away. You don't have to do this alone.<<else>>You can feel how big the world is, and you quiver a little bit in the face of it. But it'll be okay in the end, you know.<</if>><br><br>
You can do whatever you want out here. There's no limits—not even the stars.<br><br>
''END''<br><br>
<<run State.metadata.set('trueend', true);>>
Full About text unlocked.<br>
Bonus materials unlocked.<br><br>
<<link "Restart">>
<<run Engine.restart()>>
<</link>><br>
[[Return to final choice|Puzzle12extra3]]
Halfway down the hallway, however, there is what you can only describe as a gap in the wall. It's not that there's a hole, or some kind of alcove; a section of the wall is simply //missing//, with nothing where it should be but an unnatural blackness.<br><br>
You step into the gap. Somewhere behind you, Charity exclaims, "What do you think you're doing?" and then sighs heavily and says, "Well, //fine//, then."<br><br>
[[She follows you in.|Puzzle12]] <<link [[Charity|Puzzle13]]>><<set $companion to {name : "Charity", gender : "female"}>><</link>>
<<link [[Pickle|Puzzle13]]>><<set $companion to {name : "Pickle", gender : "female"}>><</link>>
<<link [[Andrew|Puzzle13]]>><<set $companion to {name : "Andrew", gender : "male"}>><</link>>
<<link [[Skerrick|Puzzle13]]>><<set $companion to {name : "Skerrick", gender : "male"}>><</link>>