function includeInv(){invText+="
The Binary is copyright 2011 bloomengine.com. It is the second game in the hyperlink-based Vicious Cycles series. The first game can be played here. The original parser-based Vicious Cycles was made in 2001.
This game is powered by a custom built javascript engine called Blink! If you feel like seeing more games from me, please check out that page on how to support Blink! and my other projects.
Thanks to the beta testers most, if not all bugs should be ironed out. In the event you spot any bugs in the game, give me a shout:
bloomengine aaayat gmail.com and I will give you a virtual pat on the back.
Thanks to these good fellows who worked long and hard to help iron out the bugs and provide priceless feedback.
";break;case"hints":meta=1;d="Scroll down if you really don't know what to do:
He is silent for a moment. "He was a good man," says Jonathan. "We went through a lot together."
';break;case"memPhaseShift":f.phaseShift=0;d="\"It's our privilege to serve the Timeline. It's our sacrifice to exist outside of it,\" says Jonathan.
";break;case"dream1":f.cycle--;noInv=1;root=1;d="Water and sand run between your toes. You hold your mother's hand. Jonathan stands next to her, along with other colony members.
The group stands facing the ocean, eyes fixed on a {man in a white robe|dream1} holding an urn above his head.
";switch(f.timer){case 0:noWait=1;break;case 1:d="His robe snaps in the wind. He raises his voice above the crash of the surf: "That which came out of the Timeline returns to the Timeline. Please continue showing mercy to us all. We return to you your loyal agent."
';break;case 2:d="The man removes the lid, raises the urn in the air and overturns it. The wind carries away the ashes. Your mother's grip tightens.
Light blooms. "+d1EndLink+"
";break}break;case"d1Mother":d="She was younger then. Even more beautiful in her youth.
";break;case"dream2":f.cycle--;noInv=1;f.d2Seen=1;root=1;noWait=1;d="Water and sand run between your toes. Behind you, a mountain rises above the trees.
Your father stands with his {bare back|d1FatherBack} facing you, throwing stones into the ocean.
";switch(f.timer){case 0:break;default:if(f.dCount>2){f.moreMemory=1;d1EndLink="Colors bleed and the {memory shifts|Xdarkness}."}else{d1EndLink="Colors bleed and the {memory fades|Xdarkness}."}noWait=1;d="With a flick of the wrist, your father sends a stone skipping across the water.
Light blooms. "+d1EndLink+"
";break}break;case"d1FatherBack":noBack=1;d="{Scars|d1FatherScars} run across his skin. Some fresh and raw, some old and faded.
";break;case"d1FatherScars":f.purification=1;d='He turns to you and smiles. "It looks more painful than it is. Don\'t worry about it, kiddo. Everyone who returns from a mission has to go through the Purification."
';break;case"memPurification":f.timer--;f.purification=0;d='"All of us who return from a mission need to go through it. Even if we travel back for a good cause, violating the Timeline is still a crime," says Jonathan. "We need to show penitence."
';break;case"dream3":f.cycle--;f.memFather=1;if(f.dCount>3){f.moreMemory=1}root=1;f.d3Seen=1;noInv=1;if(f.d3NeverLeave){d3OceanLink="horizon"}else{d3OceanLink="{horizon|d3NeverLeave}"}if(f.d3SeenDome){d3MountainLink="mountain"}else{d3MountainLink="{mountain|d3Mountain}"}d="Water and sand run between your toes. Behind you, a "+d3MountainLink+" rises above the trees.
Your father stares at the "+d3OceanLink+".
";if(f.d3NeverLeave&&f.d3SeenDome){if(f.dCount>3){f.moreMemory=1;d1EndLink="Colors bleed and the {memory shifts|Xdarkness}."}else{d1EndLink="Colors bleed and the {memory fades|Xdarkness}."}d="With a flick of the wrist, your father sends a stone skipping across the water. It disappears into a wave.
"Gather some more stones, kiddo. I want to show you something."
Light blooms. '+d1EndLink+"
"}break;case"d3NeverLeave":f.d3NeverLeave=1;f.phaseShift=1;d='"We can never leave the island," he says. "We live in a phase shift. No human can pass through the field and live."';break;case"d3Outside":d='
""
';break;case"d3Mountain":f.d3SeenDome=1;d="At the peak of the mountain is a geodesic dome. It's black, like someone spilled ink into the sky. It eats the sunlight.
";break;case"dream4":f.cycle--;if(f.dCount>4){f.moreMemory=1}noInv=1;f.d4Seen=1;noBack=1;noWait=1;d="Water and sand run between your toes. Behind you, a mountain rises above the trees.
You and your father crouch next to a {pool|d4Pool} of water.
";break;case"d4Pool":noBack=1;d='A small pool visible at low tide. Like a mirror, you see the reflection of the the mountain and trees on the surface of the water.
"This is the Timeline. It\'s pristine," he says, pointing at the pool. "Toss a {stone|d4ThrowStone} into the water."
';break;case"d4ThrowStone":noBack=1;d='Ripples expand from the stone\'s landing point.
"Every time someone goes back, it leaves a ripple, which {we detect|d4We}."
';break;case"d4We":if(f.dCount>4){f.moreMemory=1;d1EndLink="Colors bleed and the {memory shifts|Xdarkness}."}else{d1EndLink="Colors bleed and the {memory fades|Xdarkness}."}noBack=1;d='"Nobody knows who \'we\' are. But we see everything," he says. "Now give me some more stones. There\'s something else I want to show you."
Light blooms. '+d1EndLink+"
";break;case"dream5":f.cycle--;noInv=1;f.d5Seen=1;root=1;noWait=1;d="Water and sand run between your toes. Behind you, a mountain rises above the trees.
You and your {father|d5Father} crouch next to a pool of water.
";break;case"d5Father":noBack=1;d='There\'s a fire in his eyes. He holds a stone in each hand. "Are you {ready|d5go}? Here we go."
';break;case"d5go":noBack=1;d='He tosses both stones into the pool at the same time. They land close to each other and a single ripple forms. He smiles.
"I wish I could tell you everything. I\'ve seen so much. I don\'t know what will happen." He looks at you and puts both hands on your shoulders. "You need to run away, kiddo. I don\'t know how, but run away."
Light blooms. Colors bleed and the {memory fades|Xdarkness}.
';break;case"start":noBack=1;root=1;noWait=1;d+='"It was a bullet through the head," says Jonathan. "Don\'t think about who or why. We\'ll be {inserted|XstartDark} somewhere near the contamination point."
';break;case"memBody":f.timer--;f.memBody=0;d='You look at your hands. Stained fingernails. Lines and wrinkles on your palms. You wear track pants and an oversized parka which seems to have more patches than original fabric.
You run a hand along your face and feel a thick beard. You taste alcohol on your breath.
"He\'ll do," says Jonathan.
';break;case"XstartDark":f.cycle=1;f.timer=1;noBack=1;d+="Darkness envelops you. You see, feel, smell and hear nothing but you sense Jonathan's presence.
{Senses|XopenEyes} seep into your mind.
";break;case"XopenEyes":noBack=1;f.memJonathan=1;f.memBody=1;d+='You open your eyes. In the light of a street lamp, snowflakes drift down toward you.
"Get up," says Jonathan.
Your head throbs as you {pull yourself upright|Xstreet}.
';break;case"Xdarkness":root=1;noInv=1;for(var a=0;a<=fnameReset.length;a++){f[fnameReset[a]]=0}f.cycle++;f.timer=0;noWait=1;d+="Darkness envelops you. You see, feel, smell and hear nothing but you sense Jonathan's presence.
";if(f.cycle==2){d+='"Alright, let\'s do this again," says Jonathan. "As many cycles as it takes. We\'ll finish this."
'}d+="{Senses|Xstreet} seep into your mind.
";if(f.dCount>=1&&!f.d1Seen){f.timer=-1;if(f.moreMemory){f.moreMemory=0;d="Once again, you smell the ocean and hear the crashing of {waves|dream4}.
"}else{d="You smell the ocean and hear the crashing of {waves|dream1}.
"}}else{if(f.dCount>=2&&!f.d2Seen){f.timer=-1;if(f.moreMemory){f.moreMemory=0;d="Once again, you smell the ocean and hear the crashing of {waves|dream2}.
"}else{d="You smell the ocean and hear the crashing of {waves|dream2}.
"}}else{if(f.dCount>=3&&!f.d3Seen){f.timer=-1;if(f.moreMemory){f.moreMemory=0;d="Once again, you smell the ocean and hear the crashing of {waves|dream3}.
"}else{d="You smell the ocean and hear the crashing of {waves|dream3}.
"}}else{if(f.dCount>=4&&!f.d4Seen){f.timer=-1;if(f.moreMemory){f.moreMemory=0;d="Once again, you smell the ocean and hear the crashing of {waves|dream4}.
"}else{d="You smell the ocean and hear the crashing of {waves|dream4}.
"}}else{if(f.dCount>=5&&!f.d5Seen){f.timer=-1;if(f.moreMemory){f.moreMemory=0;d="Once again, you smell the ocean and hear the crashing of {waves|dream5}.
"}else{d="You smell the ocean and hear the crashing of {waves|dream5}.
"}}else{if(f.d5Seen){if(f.interfere=="x"){noWait=1;d='Jonathan is already waiting for you. "Well, things worked out well for that girl even without your meddling," he says. "I hope you\'ve learned to have faith in the Timeline. You\'re as stubborn as your father was."
The darkness melts away. You feel your senses returning to you.
"Let\'s go home," says Jonathan.
~{End|endSaved}~
'}else{noWait=1;d='Jonathan is already waiting for you. "You did the right thing," he says. "The Timeline is holy. We cannot tamper with it. Let\'s return to the Colony."
The darkness melts away. Familiar senses seep into your mind.
~{End|endNotSaved}~
'}}}}}}}break;case"endSaved":noBack=1;d="Thanks for playing The Binary. It took you "+f.cycle+" cycles and "+f.moves+" moves to complete the game.
If you feel like helping support make new games, please visit the Blink! page.
If you feel like keeping up to date on the stuff I make, please subscribe to the BloomEngine RSS feed, or to email updates.
If you're interested in beta testing any future games I will make, please send an email to me with 'beta test duck 2011' in the subject line.
Back to BloomEngine.com
";break;case"youngLady2":d="Unruly hair. Underneath a worn-out leather coat is a black silk dress. On her feet are sneakers.
";break;case"Xstreet":root=1;hotelLink="{hotel|Xhotel}";if(f.sniperOutCold){alleyLink="alley";hotelLink="hotel";if(f.interfere=="x"){noLinks=1;wait=1}}else{alleyLink="{alley|XhotelAlley}"}d+="Buildings tower into the sky; you stand at the base of a canyon of concrete and glass.
Crowds of people drift toward the noise and celebration at an intersection. At the intersection is a large "+hotelLink+". At the other end of the street, barricades prevent vehicles from entering the area.
An "+alleyLink+" twists into the shadows. At the mouth of the alley is a dumpster. Beside you is the bench you woke up on.
";if(f.sniperOutCold){if(!f.caseInDumpster&&f.interfere!="x"){f.caseInDumpster=1;f.havePurse=0;noLinks=1;e+='“{Toss the gun and purse|tossGun} into the dumpster," says Jonathan. "That should minimize the remaining ripples."
'}}if(f.back=="XhotelAlley"){b+="You stumble through the twists in the alley until arriving back at the insertion point.
"}switch(f.timer){case 1:event("A {young man|XstreetThief} with bleached hair and ear piercings darts through the crowd.
");break;case 2:event("The young man disappears out of sight near the barricades.
");break;case 3:if(f.havePurse){noWait=1;e="";d="";d+="A young {blonde woman|youngLady} comes running toward you.
"}else{if(f.back=="Xhotel"){e+="You pass the blonde woman as she walks back toward the hotel.
"}else{e+="A {blonde woman|youngLady2} comes running through the crowd. She stops and leans against a street lamp, gasping for breath. Her eyes scan the crowd. She curses, then walks back in the direction of the hotel.
"}}break}if(f.timer>10&&!f.sniperOutCold){noWait=1;d="";e="";d+="The crack of a gunshot. The crowd erupts into panic, people trample over each other as they run. You're wrenched from your body and enter {darkness|Xdarkness}.
"}if(f.timer>4&&f.timer<8&&!f.girlHasPurse&&!f.havePurse){f.timer=7}if(f.sniperOutCold&&!f.givenUp&&!f.caseInDumpster){}if(f.caseInDumpster){f.endTimer++}if(!f.givenUp&&f.sniperOutCold){switch(f.endTimer){case 0:e+="Jonathan throws the purse and the briefcase into the dumpster.
";f.havePurse=0;f.haveBriefcase=0;f.haveRifle=0;f.caseInDumpster=1;break;case 1:wait=1;d="As if drunk, the man with the scar stumbles out of the alley, alone. Blood runs down his nose. He disappears into the crowd.
";break;case 2:wait=1;d="The chef and the girl come out of the alley. She leans on him, limping slightly.
"Sit down on the bench," he says.
';break;case 3:noWait=1;e="";d="The chef puts his hands on her shoulders. "A long time ago, I saw something horrible in this alley--I never forgave myself."
';break;case 4:d="She buries her face in her hands. "I love him," she mumbles. "I hate him."
The chef\'s eyes briefly meet yours. "Run away, kiddo. You\'ll find a way."
"Yes," she says.
The projection of the tuxedo man passes by the intersection. The crowd continues cheering.
"Well, it looks like the Timeline has stabilized." says Jonathan. "Despite your recklessness."
Your senses seep away and {darkness|Xdarkness} greets you.
';f.d5trigger=1;f.dCount=5;break;default:e+="Your senses seep away and {darkness|Xdarkness} greets you.
";break}}else{if(f.givenUp&&f.sniperOutCold){switch(f.endTimer){case 0:break;case 1:break;case 2:d="The tall man with the scar staggers out of the alley, alone. He smoothes his hair, runs his hand across his face and wipes his eyes. His knuckles are stained red.
He disappears down the street.
";break;case 3:break;case 4:break;default:noWait=1;d="The projection of the tuxedo man passes by the intersection at the far end of the street. The crowd continues cheering.
"We did it," says Jonathan. "Our mission is complete."
Your senses seep away and {darkness|Xdarkness} greets you.
';f.d5trigger=1;f.dCount=5;break}}}cellPhone();break;case"youngLady":noBack=1;f.girlHasPurse=1;f.havePurse=0;d='Tangled hair. Underneath a leather jacket is an elegant black dress. On her feet are sneakers.
She stops when she sees the purse in your hands. "That\'s mine! Thank you! Oh, thank you."
You hand the purse back to her. She checks it for her belongings.
She looks up and down at your ratty clothes. "I want to repay you. Let me buy you a meal. {Follow me|Xhotel}."
';break;case"tossGun":f.haveBriefcase=0;f.haveRifle=0;f.caseInDumpster=1;f.havePurse=0;d="You throw the briefcase and the purse into the dumpster.
";break;case"Xinterfere":noBack=1;d+='"We cannot {help her|Xinterfere2}. We have to let the timeline run its natural course," says Jonathan. "Move toward the {street|XgiveUp}."
';break;case"Xinterfere2":d+='"I want to {help her|Xinterfere3} too," says Jonathan. "But she is one life. There are millions of lives at stake. Our actions could affect the arrival of the Savior. Leave the alley. {Trust me|XgiveUp} and do the right thing."
';break;case"Xinterfere3":f.interfere="x";noBack=1;d+='You force your way forward. "That\'s enough," says Jonathan. "I can see your mind is made. I\'m taking over." Command of your body slips away.
The side door bursts open. The chef bolts into the alley.
"This is none of our business. Let\'s get back to the insertion point," says Jonathan. He moves you toward the {street|XnotGiveUpHotel}.
';break;break;case"XhotelAlley":root=1;if(f.havePurse&&!f.dTrigger2){f.dTrigger2=1;f.dCount++}if(f.timer==10&&!f.chefGone&&!f.back){e="The chef throws his cigarette away and enters the building.
"}if(f.timer>9){f.chefGone=1}if(f.chefGone){metalDoorLink="Xhallway"}else{metalDoorLink="XtryEnterSide"}if(f.sniperOutCold){alleyLink="Xinterfere";streetLink="XgiveUp";metalDoorLink="XnotWasteTime"}else{alleyLink="Xstreet";streetLink="Xhotel"}d+="As if from another world, light and noise from the {street|"+streetLink+"} spills into the alley. There is the {metal door|"+metalDoorLink+"} of a fire exit.
";if(!f.chefGone){d+="A {chef|chef} leans against the door, smoking.
"}if(f.back=="Xstreet"){if(f.interfere=="x"){d='"No," Says Jonathan. "We {stay here|Xstreet}."'}else{b+="
You stumble through she shadows, following the twists until you arrive at the mouth of the alley.
"}}else{if(f.back=="Xhallway"&&f.sniperOutCold){noLinks=1;if(!f.dTrigger5){f.dTrigger5=1;f.dCount++}}}if(f.timer>10&&!f.sniperOutCold){d="";noWait=1;d+="The crack of a gunshot. You're wrenched from your body and enter {darkness|Xdarkness}.
"}cellPhone();break;case"XnotWasteTime":d="Jonathan urges you to move toward the street.
";break;case"chef":d="A small, skinny man wearing a white uniform and an apron. He has a receding hairline but a round face like a child's. Glasses make his eyes unnaturally large. One hand holds his chef's hat and the other holds a cigarette.
";break;case"XtryEnterSide":if(!f.tryEnterSide){d+='"Where do you think you\'re going?" says the chef. "Don\'t come around trying to get free food again."
';f.tryEnterSide=1}else{if(f.tryEnterSide==1){d+='He positions himself between you and the door, giving you a dirty look.
"Let\'s try and do this without violence," says Jonathan. "We don\'t want to have to deal with hotel security."';f.tryEnterSide=2}else{d+="
The chef shakes his head and glares at you.
"}}break;case"Xhallway":root=1;if(f.back=="XhotelAlley"){b+="You enter through the door.
"}else{if(f.back=="XupstairsHallway"){b+="You go down the stairs.
"}}d+="Stark cement walls and a glowing exit sign above a fire door leading back to the {alleyway|XhotelAlley}. {Stairs|XupstairsHallway} lead upward. Another door with a narrow window reveals a {kitchen|Xkitchen}.
";if(f.sniperOutCold){d="Stark cement walls and a glowing exit sign above a fire door leading back to the {alleyway|XendChoice}. Stairs lead upward. Another door with a narrow window reveals a kitchen.
"}if(f.timer>10&&!f.sniperOutCold){noWait=1;d="You're wrenched from your body. {Darkness|Xdarkness} greets you.
"}cellPhone();break;case"Xkitchen":d+="A jungle of shelves, utensils and supplies. The only person in the kitchen is the chef who digs through a refrigerator.
";break;case"XendChoice":noBack=1;d+='As you step into the alleyway, you see the tall man with a scar pulling the girl into the alley. He has his hand over her mouth. Her feet kick and drag along the ground.
"Do not {interfere|Xinterfere}, says Jonathan. Get back out to the {street|XgiveUp}."
';break;case"XnotGiveUpHotel":root=1;noWait=1;noInv=1;noLinks=1;d="Architecture of a bygone era. A mosaic of {windows|XhotelWindow} tower into the sky. Retrofitted pipes and cables snake along its exterior like vines. Revolving doors clatter as people exit and {enter the hotel|XfrontDoor} .
People crowd the sidewalks, eyes fixed on the procession of vehicles and {floats|Xfloats} coming down the street.
To the side of the hotel is an {alley|XhotelAlley}. A steady current of people drift from the {side street|Xstreet} to the intersection.
";e+="Jonathan forces you toward the {insertion point|Xstreet}.
";break;case"XnotGiveUpStreet":root=1;noInv=1;if(f.caseInDumpster){f.endTimer++}d+="Buildings tower into the sky; you stand at the base of a canyon of concrete and glass.
Crowds of people drift toward the noise and celebration at an intersection. At the intersection is a large hotel. At the other end of the street, barricades prevent vehicles from entering the area.
An alley twists into the shadows. At the mouth of the alley is a dumpster. Beside you is the bench you woke up on.
";break;case"XgiveUp":f.givenUp=1;noBack=1;d="You turn your back to the alley and walk toward the {street|Xhotel}.
";break;case"XgiveUp2":root=1;noWait=1;noInv=1;f.endTimer++;d+="Buildings tower into the sky; you stand at the base of a canyon of concrete and glass.
Crowds of people drift toward the noise and celebration at an intersection. At the intersection is a large hotel. At the other end of the street, barricades prevent vehicles from entering the area.
An alley twists into the shadows. At the mouth of the alley is a dumpster. Beside you is the bench you woke up on.
";switch(f.endTimer){case 1:d="The tall man with the scar staggers out of the alley. He wipes his eyes and you notice his knuckles are stained red. He disappears down the street.
";break;default:noLinks=1;d="The projection of the tuxedo man passes by the intersection at the far end of the street. The crowd continues cheering.
"It took faith to do what you did," says Jonathan. "You\'ve purified the timeline. It\'s time to go home."
~end
';break}break;case"XupstairsHallway":root=1;d+="Patches of golden light illuminate the door numbers. Every door has a card slot next to the handle. At one end of the hallway is an elevator. At the other end is a glowing exit sign and the door to the {stairs|Xhallway}.
";if(f.memGroundSniperRoom){d+="The {third door|XsniperDoor} to the left has a 'do not disturb' sign hanging on it.
"}if(f.memHerRoom){d+="At the end of the hall is the {young lady's room|XherRoom}.
"}if(f.timer==9){if(f.foodSentToRoom){d="";noWait=1;d='A bellboy walks down the hallway carrying a tray. "Who are you? How did you get in here"?
From within one of the rooms, there is the crack of a gunshot. Before you can react {darkness|Xdarkness} greets you.
'}}cellPhone();if(f.timer>10&&!f.sniperOutCold){noWait=1;d="A gunshot from within one of the rooms. {Darkness|Xdarkness} greets you.
"}break;case"newMessage":if(!f.newMessage){f.newMessage=1;d="\"Don't {check it|newMessage}. We don't need to involve ourselves in her life,\" says Jonathan.
"}else{if(!f.newMessage==2){f.newMessage=2;d="You sense Jonathan's disapproval as you open the latest message.
"}d+="It from someone named 'Sara'. It reads: \"I'm sorry. He came to me. I was scared. He knows where you are.\"
"}break;case"XsniperDoor":if(!f.sniperOutCold){if(f.memGroundSniperRoom){f.memSniperRoom=1;d+="It correspondes to the open window seen from street.
"}if(f.knocked){d+="You knock on the door. There is no reply.
"}else{f.knocked=1;d+='You knock on the door. After a moment, a muffled voice comes from behind the door: "Who is it? ... Leave me alone." Then silence.
'}}else{d+="The door has closed and locked shut.
"}break;case"XherRoom":root=1;if(f.back=="XupstairsHallway"){b+="You slide the keycard through the slot and the door clicks open.
"}d+="Burgundy and gold furniture: hard, clean angles and geometric shapes. A door leads back to the {hallway|XupstairsHallway}. Holograms dance outside the ";if(f.memSniperRoom){d+="{window|XwindowLedge}. "}else{d+="{window|Xwindow}. "}d+="
";if(f.timer==10){e+="A giant face appears outside the window. The smiling tuxedo man stares through you into the hotel room.
"}if(f.timer>10&&!f.sniperOutCold){noWait=1;d="A muffled bang. {Darkness|Xdarkness} greets you.
"}cellPhone();break;case"Xwindow":d+="Flickering creatures stare at you through the windows. The windows have a release latch and can be {opened|XopenWindow}. Outside the window is a narrow ledge running the length of the building.
";break;case"XopenWindow":d+="It is cold outside. There is no reason to open the window.
";break;case"XwindowLedge":root=1;if(f.back=="XherRoom"){b+="You open the window and climb out onto the ledge, hugging the wall to keep your balance. The fresh snow makes the ledge slippery. None of the people below seem to notice you.
"}if(f.sniperOutCold){ledgeLink="XsniperRoom"}else{if(f.foodSentToRoom=="sniper"){ledgeLink="enterSniperRoom"}else{ledgeLink="XsniperAtWindow"}}d="The air is chilly up at this height. Snowflakes drift down to the crowd below. Further along the ledge, you see an {open window|"+ledgeLink+"}. In the other direction, is the window to the {young lady's room|XherRoom}.
";if(f.timer>10&&!f.sniperOutCold){noWait=1;d="";d+="From the open window, a muzzle flash and the crack of a gunshot. The man in the tuxedo collapses in his car. His projection buckles into a heap. The image holds for a few seconds before coughing and disappearing. The words 'No Signal' hover where his hologram had been. The crowds panic and stream away from the street like ants.
You feel yourself losing balance and falling as you're wrenched from your body. {Darkness|Xdarkness} overtakes you.
"}break;case"XputAwayGun":if(!f.haveRifle){d+="\"We can't leave things the way they are. There's a gun still lying right there on the floor,\" says Jonathan.
"}else{d+="Carrying the rifle outside would be unwise.
"}break;case"enterSniperRoom":noBack=1;d+="You shimmy along the edge, until you stand next to the open window.
There is a knock from within the room. You hear shuffling and a light inside the room comes on.
You lean over and {look inside|lookInsideSniper}.
";break;case"XsniperRoom":root=1;if(f.back=="XwindowLedge"&&!f.sniperOutCold){}if(f.sniperOutCold){if(f.gunInCase){windowLink="XwindowLedge";sniperDoorLink="XupstairsHallway"}else{windowLink="XputAwayGun";sniperDoorLink="XputAwayGun"}}else{windowLink="XinShoots";sniperDoorLink="XinShoots"}d+="The room is dimly lit; the only light source is a small {lamp|Xlamp} resting on a desk beside the {window|"+windowLink+"}. A door leads out to the {hallway|"+sniperDoorLink+"}. ";if(!f.gunInCase){d+="A {briefcase|briefcase} lies open on the bed.
"}if(!f.haveRifle&&f.sniperOutCold){d+="The man's {rifle|rifle} lies on the ground.
"}if(f.sniperOutCold){d+="The {man|sniperOutCold} lies sprawled on the floor, unconscious.
"}else{d+="A {man in a suit|XinShoots} stands near the door with his back turned to you. He holds a rifle in his hands.
";if(!f.leaveMeAlone){f.leaveMeAlone=1;e+='"I didn\'t order room service," says the man. "Leave me alone."
'}}if(f.timer>10&&!f.sniperOutCold){noWait=1;d="The man at the door turns around. Your eyes meet. Instantly, he raises the rifle and fires. The bullet rips through your chest and you collapse to the floor. {Darkness|Xdarkness} overtakes you.
"}if(f.timer==12){e+="A giant face of the tuxedo man appears outside the window, staring into the room. You can see down the back of his throat when he laughs. Speaking to the crowd, you see his soundless lips forming the words 'hello' and 'thank you'.
"}break;case"lookInsideSniper":noBack=1;d='A man stands at the far end of the room close to the front door, his back facing you. "Who is it?" he says. "Room service," comes the muffled reply.
You sneak through the {window|XsniperRoom} into the room.
';break;case"sniperOutCold":d="A unconscious man in a very expensive suit. His eye is starting to bruise.
";if(!f.whiteCollar){f.whiteCollar=1;d+='"Looks like someone with money. Or perhaps someone working in hotel management," says Jonathan. "He\'ll be wondering what happened when he comes to."
'}break;case"XinShoots":noBack=1;d+="He turns around. Your eyes meet. He raises the rifle and fires; the bullet rips through your chest and you collapse to the floor.
{Darkness|Xdarkness} overtakes you.
";break;case"briefcase":if(!f.sniperOutCold){noBack=1;d+="He turns around. Your eyes meet. Instantly he raises the rifle and fires. The bullet rips through your chest and you collapse to the floor. {Darkness|Xdarkness} overtakes you.
"}else{if(f.gunInCase){d="A plain leather briefcase. The dismantled rifle is inside of it.
"}else{d="It is padded with foam and has grooves for placing the {dismantled|dismantle} gun within it.
"}}break;case"dismantle":f.gunInCase=1;f.haveBriefcase=1;f.haveRifle=1;d="You take the gun apart and put it into the briefcase.
";break;case"rifle":if(!f.haveRifle){f.haveRifle=1;d+='You take the rifle.
"We should dispose of it somehow. When he wakes up--or rather when his host wakes up--it would be best if there is no gun lying next to him. He\'ll be wondering what happened," says Jonathan.
'}else{if(f.gunInCase){d="It has been dismantled. It has a long slim barrel and a scope which attaches to it.
"}else{d="It has a long, slim barrel and a scope mounted to the top.
"}}break;case"Xlamp":if(!f.sniperOutCold){f.sniperOutCold=1;d+='The lamp clicks off and the room becomes dark. The man turns around, scrambling in the dark until your fist meets his face. He collapses to the ground, unconscious.
"Well done," says Jonathan. "Very well done."
You turn the lamp back on.
';f.lampOff=1;f.gunOnFloor=1}else{d+="It bathes the room in golden light.
"}break;case"XsniperAtWindow":noWait=1;noBack=1;f.memSniperRoom=1;d+="You shimmy along the edge. As you approach the window, you see a man stand with a rifle pointed at the street. He turns his head and sees you. His body jerks backward as he points the gun at you and fires.
A sharp pain rips through your chest. You begin falling as {darkness|Xdarkness} overtakes you.
";break;case"Xhotel":root=1;if(f.back=="XhotelLobby"&&f.timer!=9){b+="You walk through the revolving doors. The doorman glares at you.
"}if(f.givenUp){XhotelAlleyLink="alley"}else{XhotelAlleyLink="{alley|XhotelAlley}"}d+="Architecture of a bygone era. A mosaic of {windows|XhotelWindow} reach into the sky. Retrofitted pipes and cables snake along its exterior like vines. People exit and {enter the hotel|XfrontDoor} through the revolving doors.
To the side of the hotel is an "+XhotelAlleyLink+". A steady current of people drift from the {side street|Xstreet} to the intersection.
People crowd the sidewalks, eyes fixed on the procession of vehicles and {floats|Xfloats} coming down the street.
";if(f.interfere=="x"){noLinks=1;e+="Jonathan moves you toward the {insertion point|Xstreet}.
"}if(f.back=="XhotelAlley"||f.back=="Xstreet"||f.back=="XhotelLobby"){if(f.timer>10&&f.timer<11&&!f.girlHasPurse){e+="A {tall man|aaron} struggles with the blonde woman.
"}}switch(f.timer){case 1:event("A young man with bleached hair and piercings runs past you, clutching something under his jacket.
");break;case 2:e+="A {blonde woman|youngLady2} runs past you.
";break;case 3:if(f.havePurse){f.havePurse=0;f.girlHasPurse=1;noWait=1;d="";d="A young {blonde woman|youngLady} comes running down the street.
"}break;case 4:if(f.girlHasPurse){d="";if(!f.dTrigger1){f.dTrigger1=1;f.dCount++}noInv=1;noWait=1;d+="You follow her to the entrance of the hotel. The doorman holds the {door|doorManGirl} open for the young woman.
"}else{if(f.back=="Xstreet"){e+="The woman passes through the revolving doors and disappears from sight.
"}else{e+="The blonde woman returns, hair even more dishevelled, cheeks red and breathing heavily. She enters the hotel.
"}}break;case 6:break;case 7:break;case 8:d="The crowd cheers. Like a ghostly giant, a {man in a white tuxedo|tuxedoMan} appears around the corner, looming over the people.
";d+="As the giant drifts closer, you see the source of the projection: a man stands in the back seat of a black convertible. The hologram mirrors his every gesture. Rows of police march in front and behind the car in formation.
";break;case 9:if(f.girlHasPurse){if(f.back=="XhotelLobby"){b+="As you pass through the revolving doors, a tall man with a scar on his cheek enters the hotel.
"}else{e+="A tall man with a scar on his cheek steps out of the crowd and enters the hotel.
"}}else{e+="A {tall man|aaron} with a scar on his cheek enters the hotel. After a moment, he returns outside, towing the {blonde woman|youngLady2} by the arm. She pushes him off, then slaps him.
Behind them, the giant tuxedo man comes closer.
"}break;case 10:if(!f.girlHasPurse){e+="The {man|aaron} with the scar on his cheek pulls the {blonde woman|youngLady2} through the crowd.
The giant tuxedo man towers over you. You can see his teeth and the roof of his mouth as he smiles and laughs. He stares at the empty space above the buildings.
"}else{if(f.back=="XhotelLobby"){e+="The tall man with the scar disappears into crowd.
"}else{e+="The tall man with the scar comes back out from the hotel and disappears into crowd.
"}}break;case 11:d="";if(!f.sniperOutCold){d+="The crack of a gunshot.
The giant's head jerks back. He collapses like a ragdoll. The crowd erupts: people jostle and trample each other to get away from the intersection.
The image shivers and folds away. The words 'No Signal' appear in the space where the giant had been. In the back seat of the car the man lies in a heap, white tuxedo stained with blood.
"}if(!f.girlHasPurse){d+="The man with the scar and the blonde woman are pulled apart.
"}noWait=1;d+="Senses fade and {darkness|Xdarkness} greets you.
";break}if(f.girlHasPurse&&f.timer>5&&f.timer<8){e+="The blonde woman disappears into the crowd.
"}cellPhone();break;case"doorManGirl":noBack=1;d='As you enter, he grabs you by the collar. "Where do you think you\'re going?" he says.
She looks back at him. "He\'s with me."
He stares at her, then at you.
"Is there a problem?" she asks.
"No problem." He relaxes his grip on your collar.
You {enter the hotel|XhotelLobby}.
';break;case"aaron":d="Gaunt face and meticulously slicked black hair. On his left cheek is a faded scar. He is tall, lean and muscular.
";break;case"tuxedoMan":d+="Obscenely large. A caricature of a man, bowing and waving to the crowd. Like a ghost, the lower part of his body fades into transparency. The image flickers with scanlines and the colors bleed.
";break;case"Xfloats":d+="Dragons, clowns and logos projected into the air. Ghostly, flickering with scanlines. Underneath, a caravan of trucks mounted with projectors crawl along the street.
";break;case"elevators":if(!f.noWayWander){d+='As you stand up and move toward the elevators, the waiter comes around and stands in front of you, blocking your path. "Sir, I believe the young woman has already given you a free meal. Were you looking for something else?" he says.
';f.noWayWander=1;d+="\"They'll tolerate having you in the lobby, but there's no way they'll let you wander around the halls,\" says Jonathan.
"}else{d+="The staff are not going to let you wander freely.
"}break;case"XhotelLobby":root=1;d+="Patches of light and shadow play on glass, gold and marble. People enter and {exit|Xhotel} through the revolving doors.
A {curtain of water|Xfountain} separates the lobby from the {dining|Xdining} area.
Next to the concierge desk are the {elevators|elevators}.
";d+="A {waiter|Xwaiter} stands nearby.
";if(f.timer==5){f.haveMenu=1;e+='You follow her to the dining area and sit down at a table. The waiter\'s eyes follow you as he hands her a menu. She gives you the menu.
"I\'m sorry but I have to catch a plane," she says. "Order whatever you want. I\'ll tell them to put it on my account. Thank you for what you did." She stands up, whispers something to the waiter, then walks away.
You watch her pass through the doors out into the street.'}else{if(f.timer>5&&f.sandwichChosen&&!f.haveSandwich){f.haveSandwich=1;e+="
After a few minutes, the waiter returns with the sandwich on a plate and silver platter.
"}}if(f.timer==9){e+="A tall man with a scar on his cheek enters the lobby. He approaches the reception desk and says something to the man behind the counter. The person at the desk looks at his watch and shrugs. The man slams his fist on the counter and walks out.
"}else{if(f.timer>10){d="";noWait=1;e="";d="You hear a bang and shouting from outside. You're wrenched from your body and enter {darkness|Xdarkness}."}}break;case"Xfountain":d+="
Like a curtain of crystal beads, the fountain rains down water from fixtures on the ceiling.
";break;case"Xdining":d+="A few round tables with tall stools, mostly vacant. Everybody is outside.
";break;case"Xwaiter":d+="An aged man wearing a black waistcoat and a bowtie.
";if(!f.memMenuItems){d+="He waits for you to choose something from the menu.
"}else{if(!f.sandwichChosen){f.haveMenu=0;f.sandwichChosen=1;d="";d+="You order a sandwich. He nods curtly and takes the menu.
"}}break;case"XhotelWindow":f.memGroundSniperRoom=1;d+="On the 11th floor, the third window is open. Strange, for winter.";if(!f.dTrigger3){f.dTrigger3=1;f.dCount++}break;case"XhotelGirlMenu":inv=1;d+="she stands waiting for you to pick something from the menu";break;case"XfrontDoor":if(f.girlHasPurse){noBack=1;d+="
The doorman gives you a dirty look as you {step inside|XhotelLobby}.
"}else{if(f.doorMan==0){f.doorMan=1;d+='The {doorman|doorman} steps in between you and the door. "Can I help you?" he asks.
'}else{d+="The {doorman|doorman} glares at you.
"}}break;case"doorman":d="He wears a long black coat and stands like a soldier near the revolving doors.
";break;case"XstreetThief":if(f.cycle==1){f.timer++;build("He clutches something under his leather jacket, pushing people out of the way as he runs.
You stagger toward him, but your head swims and vision blurs. The young man runs past you.
")}else{d+="In one fluid motion you bring him crashing to the ground. A purse falls out of his coat, landing near your feet. He scrambles to to his feet and runs away.
People edge away from you as you pick up the purse.
";f.havePurse=1;if(!f.jonCombat){f.jonCombat=1;d+='"You\'ve trained well," says Jonathan. "Looks like you\'re getting adjusted to your new body."'}}break;case"switch":if(f["switch"]){build("You flick the switch off");f["switch"]=0}else{build("You flick the switch on");f["switch"]=1}break;case"dog":d+="It wags its tail.";break;case"invMouse":build("An ordinary mouse.");break;case"cat":use=1;build("A smokey colored cat with fluffy fur. It purrs affectionately");break;case"event":build("yeahyeahyeah");event("event here");break;case"cathouse":noBack=1;build("
mak 1 sddsfsf {home|start}
");e+="test event. Go {home|start}.
";if(f.testflag){build("yaaaaah-flagtest 1 on")}break;case"memHerRoom":f.timer--;d+="Her keycard said 1109. She must have had a room on the 11th floor.
";break;case"memSniperRoom":f.timer--;d+="His room must be 1103. The third window on the 11th floor had been open.
";break;case"invSandwich":d+="A very expensive-looking sandwich.
";break;case"invMenu":f.memRoomServiceNumber=1;f.memMenuItems=1;d+="A small but quality selection of food and wine. On the last page is the number for room service.
";break;case"invPurse":d+="An orange leather bag with a logo repeated and patterned across it.
";if(!f.purseOpened){f.purseOpened=1;d+="Inside is a {plane ticket|invTicket}, {cell phone|invCellphone}, and {keycard|invKeyCard}.
"}d+="";break;case"invTicket":d+="A flight to Morocco, leaving in the evening. The date and time are printed on it.
";break;case"memRoomServiceNumber":f.timer--;d+="You've committed the number to memory. ";if(f.havePurse&&f.purseOpened&&!f.orderedRoomService){d+="You can use the cell phone to call them to {order something|XorderRoomService}."}else{if(f.orderedRoomService){d+="You've already ordered something over the phone. "}}d+="
";break;case"XorderRoomService":noBack=1;if(!f.memHerRoom&&!f.memSniperRoom){d+="You have no idea what room number to send the food to.
";noBack=0}else{if(f.place=="XhotelAlley"&&!f.chefGone){d+="You move away from the chef until he is too far away to hear you make the call.
"}d+='Someone at the concierge desk takes your order. "Excellent choice. Which room do you want it delivered to?" she asks.
"Thank you sir. The food will be delivered shortly," says the woman.';if(f.place=="XhotelAlley"){d+='
Within a few seconds, a phone rings. The chef reaches into his pocket and answers his cellphone. "Having a smoke. Yeah. I\'m on it," he says. He tosses his cigarette and steps inside.
'}break;case"XorderSniperRoom":if(!f.dTrigger4){f.dTrigger4=1;f.dCount++}f.orderedRoomService=1;f.foodSentToRoom="sniper";f.chefGone=1;d+='"The food will be sent to room 1103. Thank you," she says.
';if(f.place=="XhotelAlley"){d+='Within a few seconds, a phone rings. The chef reaches into his pocket and answers his cellphone. "Just on break. Yeah. Got it," he says. He tosses his cigarette and steps inside.
'}break;case"memMenuItems":f.timer--;d+="You could order some food from the menu.";break;case"invKeyCard":f.memHerRoom=1;d+="A white card with a magnetic stripe and digital display which reads: room 1109.
";break;case"invCellphone":if(f.newMessage){numMessages=44}else{numMessages=43}d+="A touchscreen phone the size of a credit card.
The display reads 50 missed calls and "+numMessages+" missed {text messages|XcellMessages}.
";if(f.memRoomServiceNumber){d+="You could use the phone to call hotel {room service|XorderRoomService}.
"}break;case"XcellMessages":if(!f.cellMessages){f.cellMessages=1;d+='"Don\'t {read them|XcellMessages}," says Jonathan. "We need to avoid contamination. By being here, we\'re seeing things we\'re not supposed to see. Just get the job done."
'}else{if(f.cellMessages==1){f.cellMessages=2;noBack=1;d+="You sense his scowl. \"I won't stop you if you {check them|XcellMessages2}. But don't think I won't note this in the report.\"
"}else{noBack=1;d+="You sense Jonathan's scowl as you read the {messages|XcellMessages2}.
"}}break;case"XcellMessages2":f.cellMessages=2;d+='Most of the messages are from someone named Aaron.
The first message reads: "I\'m sorry. I\'ll never let it happen again. Let\'s talk." The rest are repetitions of "Please answer the phone", "Where are you?" or "Call me."
';if(f.newMessage){d+='The latest one is from someone named Sara. It reads: "I\'m sorry. He came to me. I was scared. He knows where you are."
'}break;case"Xaaron":d+="The first message just";break;case"memJonathan":f.timer--;f.memJonathan=0;d="
He's just a voice in your head now.
";break;case"invApple":d="sddf";build("sds");break;case"invOrange":build("tasty orange
");break;default:d="Error";break}}function cellPhone(){if(f.timer=="6"&&f.havePurse){if(f.purseOpened){f.newMessage=1;e+="Within the purse, the cellphone vibrates once. It sounds like a {text message|newMessage} has arrived.
"}else{f.newMessage=1;e+="Something inside the purse vibrates.
"}}};