You are in a hallway. The walls, floor and ceilings are grey and brown. The lens flare from an open window hurts your eyes slightly. There are muffled sounds of gunfire from outside.
A few doors are open, leading to an office and a bathroom. For some reason, you can't open the closed ones no matter how hard you try.
{
(set: $currItem to $9mm)
(hook: $9mm's name)[(display: "displayItem") (link: "[Examine]")[((print: $9mm's description))] (link: "[Take]")[(set: $currItem to $9mm) (display: "takeItem")]]
(set: $currItem to $knife)
(hook: $knife's name)[(display: "displayItem") (link: "[Examine]")[((print: $knife's description))] (link: "[Take]")[(set: $currItem to $knife) (display: "takeItem")]]
}
[[Enter offices->Office]]
[[Enter the bathroom->Bathroom]]
[[Go outside->Wall]]
You are in a grey office cubicle, with a nice brown desk. The computer has been shot to pieces, and papers are scattered across the desk.
{
(set: $currItem to $akg)
(hook: $akg's name)[(display: "displayItem") (link: "[Examine]")[((print: $akg's description))] (link: "[Take]")[(set: $currItem to $akg) (display: "takeItem")]]
(set: $currItem to $soda)
(hook: $soda's name)[(display: "displayItem") (link: "[Examine]")[((print: $soda's description))] (link: "[Take]")[(set: $currItem to $soda) (display: "takeItem")]]
}
[[Go back to the hallway->Entrance Hallway]]
The dim, flickering lighting makes the white tile of the bathroom look grey. There's also some brown here, but you'd rather not think about that.
{
(if: $combatText's length > 0)[
<br>$combatText<br>
(set: $combatText to "")
]
(set: $currEnemy to $spy)
(hook: $spy's name)[(display: "displayEnemy") (link: "[Examine]")[((print: $spy's description))] (link: "[Attack]")[(set: $currEnemy to $spy) (display: "attackEnemy")]]
(display: "enemyAttacks")
(set: $currItem to $health10)
(hook: $health10's name)[(display: "displayItem") (link: "[Examine]")[((print: $health10's description))] (link: "[Take]")[(set: $currItem to $health10) (display: "takeItem")]]
}
[[Go back to the hallway->Entrance Hallway]]
You are facing a giant brick wall. It would be a solid piece of architecture if not for the layers of muck, which make it a sort of grey-brown colour.
On the other side of the wall is a wide-open field. There's an office building nearby, as well as a road leading away from the area.
{
(if: $combatText's length > 0)[
<br>$combatText<br>
(set: $combatText to "")
]
(set: $currEnemy to $foreigner)
(hook: $foreigner's name)[(display: "displayEnemy") (link: "[Examine]")[((print: $foreigner's description))] (link: "[Attack]")[(set: $currEnemy to $foreigner) (display: "attackEnemy")]]
(display: "enemyAttacks")
}
[[Enter the office building->Entrance Hallway]]
[[Walk along the road->Road]]
[[Run into a field->Field]]
You are standing on a grey highway surrounded by brown trees. You're not sure where it leads, just that it leads away from this horror and madness.
No way you're going to take it!
{
(if: $combatText's length > 0)[
<br>$combatText<br>
(set: $combatText to "")
]
(set: $currEnemy to $obscenesoldier)
(hook: $obscenesoldier's name)[(display: "displayEnemy") (link: "[Examine]")[((print: $obscenesoldier's description))] (link: "[Attack]")[(set: $currEnemy to $obscenesoldier) (display: "attackEnemy")]]
(display: "enemyAttacks")
}
[[Back to the fighting->Wall]]
You are sprinting across an open field, and seriously regretting that decision. Bullets whizz past you on all sides. The once beautiful green field has been reduced to a grey and brown mush of dead grass and mud.
There's a huge wall nearby you could use for cover, as well as a warehouse. A downed helicopter sits burning on the edge of the field, and there's a forest you could probably make it to as well.
{
(if: (random:1,3) is 1)[
<br>Shots ring out from all sides, but you narrowly avoid getting caught in the crossfire.
](else:)[
<br>You get caught in the crossfire, and take 4 damage!
(set: $player_hp to $player_hp - 4)
]
(set: $currItem to $m4)
(hook: $m4's name)[(display: "displayItem") (link: "[Examine]")[((print: $m4's description))] (link: "[Take]")[(set: $currItem to $m4) (display: "takeItem")]]
}
[[Duck behind the wall->Wall]]
[[Head for the downed helicopter->Helicopter]]
[[Enter a warehouse->Warehouse]]
[[Seek shelter in the forest->Forest]]
You stand on the edge of an open field. The downed wreckage of a military helicopter lies here, shattered on the grey-brown ground. You can't tell if it belonged to your side or the enemy's.
Small fires are still burning around the area.
{
<br>You are standing in a gasoline fire caused by the helicopter. You take 1 damage. (set: $player_hp to $player_hp - 1)<br>
(if: $combatText's length > 0)[
<br>$combatText<br>
(set: $combatText to "")
]
(set: $currEnemy to $pilot)
(hook: $pilot's name)[(display: "displayEnemy") (link: "[Examine]")[((print: $pilot's description))] (link: "[Attack]")[(set: $currEnemy to $pilot) (display: "attackEnemy")]]
(display: "enemyAttacks")
}
[[Head to the middle of the field, because that seems like a smart thing to do in the middle of a warzone->Field]]
[[Investigate a nearby suburb->Suburbs]]
The drab, grey floor is caked with brown mud stains tracked in by soldiers' boots. There are brown crates of various sizes scattered around the room, providing convenient cover.
The warehouse sits on the edge of a field. There's also a train station right outside, where they used to load and unload cargo before the war.
{
(if: $combatText's length > 0)[
<br>$combatText<br>
(set: $combatText to "")
]
(set: $currEnemy to $saboteur)
(hook: $saboteur's name)[(display: "displayEnemy") (link: "[Examine]")[((print: $saboteur's description))] (link: "[Attack]")[(set: $currEnemy to $saboteur) (display: "attackEnemy")]]
(display: "enemyAttacks")
(set: $currItem to $health20)
(hook: $health20's name)[(display: "displayItem") (link: "[Examine]")[((print: $health20's description))] (link: "[Take]")[(set: $currItem to $health20) (display: "takeItem")]]
(set: $currItem to $ak47)
(hook: $ak47's name)[(display: "displayItem") (link: "[Examine]")[((print: $ak47's description))] (link: "[Take]")[(set: $currItem to $ak47) (display: "takeItem")]]
}
[[Take a stroll in the field->Field]]
[[Check out the train station->Train Station]]
You stand on the edge of a forest. The brown trees are shrouded in thick, grey fog.
You can head out of the forest into a field, or deeper into the forest towards the sound of a rushing river.
{
(if: $combatText's length > 0)[
<br>$combatText<br>
(set: $combatText to "")
]
(set: $currEnemy to $nazizombie)
(hook: $nazizombie's name)[(display: "displayEnemy") (link: "[Examine]")[((print: $nazizombie's description))] (link: "[Attack]")[(set: $currEnemy to $nazizombie) (display: "attackEnemy")]]
(display: "enemyAttacks")
(set: $currEnemy to $nazizombie_2)
(hook: $nazizombie_2's name)[(display: "displayEnemy") (link: "[Examine]")[((print: $nazizombie_2's description))] (link: "[Attack]")[(set: $currEnemy to $nazizombie_2) (display: "attackEnemy")]]
(display: "enemyAttacks")
(set: $currEnemy to $nazizombie_3)
(hook: $nazizombie_3's name)[(display: "displayEnemy") (link: "[Examine]")[((print: $nazizombie_3's description))] (link: "[Attack]")[(set: $currEnemy to $nazizombie_3) (display: "attackEnemy")]]
(display: "enemyAttacks")
}
[[Leave the forest->Field]]
[[Go towards the river->River]]
This once-vibrant neighborhood has been ruined by the war. The houses that haven't been blown up have had their windows smashed out. The cars that haven't been blown up have...well, there aren't any cars that haven't been blown up. The houses were once colorful, but now they're all covered in grey ash and brown mold.
Some train tracks run near the neighborhood, but the trains run at such arbitrary times these days that if you cross them you risk getting hit. At the edge of a nearby field, you can also see a downed helicopter burning.
{
(if: $combatText's length > 0)[
<br>$combatText<br>
(set: $combatText to "")
]
(set: $currEnemy to $terrorist)
(hook: $terrorist's name)[(display: "displayEnemy") (link: "[Examine]")[((print: $terrorist's description))] (link: "[Attack]")[(set: $currEnemy to $terrorist) (display: "attackEnemy")]]
(display: "enemyAttacks")
}
[[Explore a relatively-unharmed house->House]]
[[Check out the hospital->Hospital]]
[[Investigate the helicopter->Helicopter]]
[[Cross the train tracks->Train Tracks]]
This normally-bustling train station is empty. Its brown benches are usually filled to the brim with passengers pushing each other for more room, but the war has scared them away.
A warehouse sits near the train station, or you can try crossing the train tracks, though you risk being hit by a train (since the war, they never run on schedule).
{
(if: $combatText's length > 0)[
<br>$combatText<br>
(set: $combatText to "")
]
(set: $currEnemy to $nazi)
(hook: $nazi's name)[(display: "displayEnemy") (link: "[Examine]")[((print: $nazi's description))] (link: "[Attack]")[(set: $currEnemy to $nazi) (display: "attackEnemy")]]
(display: "enemyAttacks")
}
[[Enter the warehouse->Warehouse]]
[[Cross the tracks->Train Tracks]]
You are running across the train tracks, trying to avoid being hit by a train. The brown wood tracks stand out against the grey gravel.
The tracks run alongside a suburban neighborhood. On the other side of the tracks, a huge train station sits next to a warehouse.
{
(if: (random:1,3) is 1)[
You don't get hit by a train. Good job.
](else:)[
You get hit by a train, and take 10 damage!
(set: $player_hp to $player_hp - 10)
]
}
[[Explore the suburbs->Suburbs]]
[[Go to the station->Train Station]]
This house looked OK from the outside, but the inside isn't so pretty. It's been mostly looted, the brown wooden furniture has been smashed and the pieces scattered, and there's grey mold beginning to grow on the walls.
{
(set: $currItem to $soda_2)
(hook: $soda_2's name)[(display: "displayItem") (link: "[Examine]")[((print: $soda_2's description))] (link: "[Take]")[(set: $currItem to $soda_2) (display: "takeItem")]]
(set: $currItem to $revolver)
(hook: $revolver's name)[(display: "displayItem") (link: "[Examine]")[((print: $revolver's description))] (link: "[Take]")[(set: $currItem to $revolver) (display: "takeItem")]]
}
[[Leave->Suburbs]]
The war has hit this hospital hard. Its normally pristine white floors and walls are now a dirty grey, and there are brown stains all over from all the dried blood. The screams of the wounded and dying fill the air, as well as the screams of the uninsured who are seeing their medical bills for the first time.
{
(if: $combatText's length > 0)[
<br>$combatText<br>
(set: $combatText to "")
]
(set: $currEnemy to $woundedsoldier)
(hook: $woundedsoldier's name)[(display: "displayEnemy") (link: "[Examine]")[((print: $woundedsoldier's description))] (link: "[Attack]")[(set: $currEnemy to $woundedsoldier) (display: "attackEnemy")]]
(set: $currItem to $health50)
(hook: $health50's name)[(display: "displayItem") (link: "[Examine]")[((print: $health50's description))] (link: "[Take]")[(set: $currItem to $health50) (display: "takeItem")]]
}
[[Leave->Suburbs]]
The normally grey water of the river is filled with brown mud churned up by the endless parade of marching soldiers.
{
(if: $combatText's length > 0)[
<br>$combatText<br>
(set: $combatText to "")
]
(set: $currEnemy to $fish)
(hook: $fish's name)[(display: "displayEnemy") (link: "[Examine]")[((print: $fish's description))] (link: "[Attack]")[(set: $currEnemy to $fish) (display: "attackEnemy")]]
}
[[Leave the river->Forest]]
{
(set: $player_hp to 20)
(set: $player_shots to -1)
(set: $player_kills to 0)
(set: $player_weapon to (datamap: "name", "fist of fury", "damage", 1, "shots", -1,"accuracy",100,"description","Go punch some bad guys!"))
(set: $combatText to "")
<!--Enemies-->
(set: $foreigner to (datamap: "name", "foreigner", "health", 5, "damage", 2, "description","This man is ambiguously, but undeniably, foreign. You feel an uncontrollable urge to kill him."))
(set: $pilot to (datamap: "name", "helicopter pilot", "health", 3, "damage", 2, "description","This man barely survived the helicopter crash. Despite his injuries, he's drawn his sidearm and is ready to take you down with him!"))
(set: $woundedsoldier to (datamap: "name", "wounded soldier", "health", 1, "damage", 0, "description","An enemy soldier is lying here in a hospital bed, unconscious, a huge bandage on his head. He may not be a threat, but he's still an enemy. You do the math."))
(set: $obscenesoldier to (datamap: "name", "obscene soldier", "health", 15, "damage", 5, "description","This soldier's voice is strangely high pitched, and he's extremely angry about something. He's insulted your mother, your sexuality, and your combat ability. In all your days in the military, you've never heard so much profanity!"))
(set: $nazi to (datamap: "name", "nazi", "health", 15, "damage", 5, "description","He's a nazi, kill him!"))
(set: $spy to (datamap: "name", "enemy spy", "health", 10, "damage", 4, "description","Apparently, the facility was infiltrated from within before the war even broke out. Your enemy truly is pure evil!"))
(set: $terrorist to (datamap: "name", "terrorist", "health", 15, "damage", 6, "description","This guy is obviously a member of the terror cell your unit is tracking. Just look at his ski mask!"))
(set: $saboteur to (datamap: "name", "saboteur", "health", 20, "damage", 4, "description","This person was sent to inflitrate and blow up the warehouse, delivering a crippling blow to local infrastructure."))
(set: $nazizombie to (datamap: "name", "rotting nazi zombie", "health", 5, "damage", 2, "description","The only enemy you feel LESS guilty killing than a regular nazi."))
(set: $nazizombie_2 to (datamap: "name", "decaying nazi zombie", "health", 5, "damage", 2, "description","The only enemy you feel LESS guilty killing than a regular nazi."))
(set: $nazizombie_3 to (datamap: "name", "putrefying nazi zombie", "health", 5, "damage", 2, "description","The only enemy you feel LESS guilty killing than a regular nazi."))
(set: $fish to (datamap: "name", "fish", "health", 5, "damage", 2, "description","A fish, swimming in the river."))
<!--Items-->
(set: $soda to (datamap: "name", "soda", "heals", 5, "description","This grey soda can is filled with delicious brown nectar of the gods. The Taste of America!™"))
(set: $soda_2 to (datamap: "name", "soda", "heals", 5, "description","This grey soda can is filled with delicious brown nectar of the gods. The Taste of America!™"))
(set: $health10 to (datamap: "name", "small health pack", "heals", 10, "description","A small metal box filled with bandages, gauze, and other items necessary for first aid."))
(set: $health20 to (datamap: "name", "large health pack", "heals", 20, "description","A large metal box filled with lots of bandages, gauze, and other items necessary for first aid."))
(set: $health50 to (datamap: "name", "very large health pack", "heals", 50, "description","A huge metal box capable of performing automated lifesaving surgery. One wonders why war is even necessary in a world where these kinds of medical miracles are possible."))
<!--Weapons-->
(set: $9mm to (datamap: "name", "9mm pistol", "damage", 5, "shots", 15,"accuracy",75,"description","A basic pistol. It may not be flashy, but it still shoots bullets, and bullets are generally considered to be pretty deadly.","weapon",true))
(set: $akg to (datamap: "name", "AKG 451", "damage", 10, "shots", 1,"accuracy",95,"description","You're pretty sure the AKG 451 is a microphone, but this one appears to be rifled.","weapon",true))
(set: $m16 to (datamap: "name", "M16", "damage", 7, "shots", 10,"accuracy",75,"description","A standard reliable rifle.","weapon",true))
(set: $m4 to (datamap: "name", "M4", "damage", 7, "shots", 10,"accuracy",75,"description","A standard reliable rifle.","weapon",true))
(set: $ak47 to (datamap: "name", "AK-47", "damage", 3, "shots", 20,"accuracy",60,"description","Terrorists and Communists use this gun. Are you a terrorist or a communist?","weapon",true))
(set: $tommygun to (datamap: "name", "Tommy Gun", "damage", 4, "shots", 15,"accuracy",60,"description","Makes you feel like a mafioso.","weapon",true))
(set: $revolver to (datamap: "name", "revolver", "damage", 6, "shots", 6,"accuracy",75,"description","This map ain't big enough for the two of us, pardner.","weapon",true))
(set: $mauser to (datamap: "name", "mauser", "damage", 5, "shots", 10, "description","A German pistol.","weapon",true))
(set: $knife to (datamap: "name", "combat knife", "damage", 4, "shots", -1,"accuracy",100,"description","Requires you to get up close, but never needs to be reloaded.","weapon",true))
}
{
(if: $currEnemy's health > 0)[
<br>A (print: $currEnemy's name) is here.]
(else:)[<br>A dead (print:$currEnemy's name) is here.]
}
{
(if: $currItem's taken is not true)[
<br>A (print:$currItem's name) is here.
]
(else:)[(replace: "?" + $currItem's name)[]]
}
(if: $currItem's taken is not true)[
(set: $currItem's taken to true)
(if: $currItem's weapon is true)[
(replace: "?" + $currItem's name)[<br>You get rid of your (print: $player_weapon's name) and take the (print: $currItem's name).]
(set: $player_weapon to $currItem)
(set: $player_shots to $player_weapon's shots)
]
(else:)[
(replace: "?" + $currItem's name)[<br>You take the (print: $currItem's name). (if: $currItem's heals > 0)[You gain (print: $currItem's heals) health. (set: $player_hp to $player_hp + $currItem's heals)]]
]
(replace: ?footer)[(display: "Status")]
]
{
(if: $player_shots is 0)[
(set: $player_shots to $player_weapon's shots)
(set: $combatText to "You reload your " + $player_weapon's name + ".")
](else:)[
(if: $player_shots is not -1)[(set: $player_shots to $player_shots - 1)]
(if: $currEnemy's health < 1)[
(set: $combatText to "You attack the " + $currEnemy's name + " corpse like the psychopath you are.")
](else:)[
(if: (random: 1,100) < $player_weapon's accuracy)[
(set: $combatText to "You hit the " + $currEnemy's name + " with your " + (text:$player_weapon's name) + " for " + (text:$player_weapon's damage) + " damage.")
(set: $currEnemy's health to $currEnemy's health - $player_weapon's damage)
(if: $currEnemy's health < 1)[
(set: $combatText to $combatText + "<br>You kill the " + $currEnemy's name + "!")
(set: $player_kills to $player_kills + 1)
]
](else:)[
(set: $combatText to "You miss " + $currEnemy's name + ".")
]
]
]
(set: $currPassage = (passage: ))
(goto: $currPassage's name)
}
[]<footer|
{
(set: $currPassage = (passage: ))
(if: $currPassage's name is not "Title" and it is not "Lose" and it is not "Win")[
(if: $player_hp > 0)[(replace: ?footer)[(display: "Status")]] (elseif: $dead is not true)[
---
You are dying. [[Die.->Lose]] (set: $dead to true)]
]}
---
<div id="status">You have (print: $player_hp) health and (print: $player_kills) kills.(if: $player_kills > 11)[ [[Win<-You win!]]]
You have a (link-reveal: $player_weapon's name)[ ((print:$player_weapon's description))](if: $player_shots is not -1)[ with (print: $player_shots) shots left].</div>
[]<header|
{(set: $currPassage = (passage: ))
(if: $currPassage's name is not "Lose")[(if: $dead is true)[(goto: "Lose")]]}
{
(if: $currEnemy's health > 0)[
(if: (random: 1,3) is not 1)[
(set: $player_hp to $player_hp - $currEnemy's damage)
(append: "?" + $currEnemy's name)[<br>The (print: $currEnemy's name) hits you for (print: $currEnemy's damage) damage.]
](else:)[
(append: "?" + $currEnemy's name)[<br>The (print: $currEnemy's name) misses you.]
]
]
}
Congratulations! You have caused the requisite quantity of havoc! The Free World is safe once more!
(link:"Play Again?")[(reload:)]
Your vision dims, and your last emotion is shame. Shame at failing your commanders, your countrymen, even the whole human race. The terrorists are sure to take over the world now.
You finished with $player_kills kills.
(link:"Play Again?")[(reload:)]
{
=><=
###Call of Xyzzy:
####(colour: "#666")[Grey and Brown Ops]
######by (hook: "rick")[Taylor Vaughan] and (hook: "proph")[Alistair Lynn]
######Published by (hook: "weirdfellows")[Weirdfellows]
##[[START->Entrance Hallway]]
<div style="display:none;">(click: ?weirdfellows)[(open-url:"http://weirdfellows.com/")]
(click: ?proph)[(open-url:"http://alynn.co.uk/")]
(click: ?rick)[(open-url:"http://taylor-vaughan.com/")]</div>}