! Centipede ! Copyright 2000,2001 by J. Robinson Wheeler ! for IF-arcade bundle Started: 12-20-2000 7:12pm ! Release version 1.0 12-31-00 4:53pm Constant Story "CENTIPEDE"; Constant Headline "^A short story of senseless violence and profanity^"; Release 1; Replace AskSub; Replace AskForSub; Replace TellSub; Replace AnswerSub; Replace InvWideSub; Replace InvTallSub; Replace StrongSub; Replace SwimSub; Replace WaitSub; Replace WearSub; Include "Parser"; Attribute activeloop; Attribute primed; Constant DIALECT_US; Constant MAX_SCORE = 25000; Global intact_craft = 0; Object LibraryMessages "lm" with before [; Miscellany: switch( lm_n ) { 5: print "^Would you like to RESTART, RESTORE a saved game"; if ( deadflag == 1 ) print ", UNDO your last move"; ", or QUIT?"; 19: << Examine player >>; 38: #Ifdef DIALECT_US; "That's not a verb I recognize."; #ifnot; "That's not a verb I recognise."; #endif; } ]; Include "VerbLib"; Include "looptalk"; !Include "menus"; Class Room has light ; Class SwitchItem has scenery ; [ Initialise o; lookmode = 2; ! verbose on notify_mode = 0; ! notify off inventory_style = FULLINV_BIT + INDENT_BIT + NEWLINE_BIT + RECURSE_BIT + CONCEAL_BIT; objectloop (o ofclass Character) { o.InitQuips(); } location = startroom; move Chub to startroom; move Duggers to startroom; move Mitchum to startroom; ChangePlayer(Mitchum); SetPronoun('it',emergency_station); print "^^^~100 feet per second,~ Chub says.^^ Duggers flips you a holovid of his scary trash girlfriend. ~Touch the zipper icon,~ he says.^^ There is a shudder in the cabin, and warning lights flare greasy-green in your night vision goggles. ~Hang on, campers,~ yells Chub. ~Descent jets one and two just jammed up. We're in for a bumpy landing.~^^ Duggers grunts. ~So much for surprise. They live in the ground. Every stinking bug for miles is gonna feel the vibrations.~^^ ~Gravity zero point nine-sixty Gees,~ Chub says, her elbows swinging out at awkward angles, flapping like stunted chicken wings. She's fighting the two joysticks, trying to keep this iron turd level as it streaks through the sky. ~On my mark, Mitchum,~ she says.^"; HitAnyKey(); ! return 2; ]; Object game "game" with state 0 ; Object Mitchum "Mitchum" with name 'Ray' 'Mitchum' 'Corporal' 'cpl', description [; if ( combat_suit hasnt worn ) "You're buck naked and freezing. We're talking major shrinkage, soldier. "; if ( game_counter.number > 66 ) "You are quickly drowning in poisonous marshwater."; switch ( game.state ) { 0,1,2,4,5: if ( helmet has general ) "You're feeling a little shaky from that blow to the head, and there's a searing pain in your right arm. The stimulants are giving you the adrenaline to ignore all of this, and you're still alert and ready to kill some bugs for God, planet and country. "; "You're in good health for a guy who's been awake and on active duty for 76 straight hours. The stimulants they rationed you seem to be working fine with no side effects. You're pumped and ready to kill some bugs for God, planet and country. "; 3: "You're freezing to death, and in imminent danger of drowning. "; 6: "You're pumped and ready. The pain in your arm is a distant annoyance."; 7: "You're almost hyperactive now, alert to every sound, every movement. You feel nothing but your own body heat, like a roaring furnace. "; } ], before [; Set: "Ah, that's better. "; ], has male proper ; Object -> combat_suit "combat suit" with name 'combat' 'suit', description "Your standard-issue insulated combat suit. ", before [; Disrobe: if ( game_counter.number > 69 ) { if ( waterproof_boots has worn ) { print "(first removing your waterproof boots)^"; ; new_line; } if ( backpack has worn ) { print "(first removing your backpack)^"; ; new_line; } give self ~worn; "You strip off your combat suit, leaving yourself naked to the elements. You won't last long like this, but you don't need to."; } "You'll need that suit on to survive in the freezing marshlands. "; Drop: if ( game_counter.number > 69 ) { give game_counter general; if ( waterproof_boots has worn ) { print "(first removing your waterproof boots)^"; ; } if ( backpack has worn ) { print "(first removing your backpack)^"; ; } remove self; "You strip off your combat suit, leaving yourself naked to the elements. With bare-ass bravery, you drop it into the murk, where it sinks and disappears. You won't last long like this, but you don't need to."; } "You'll need that suit on to survive in the freezing marshlands. "; ], has worn transparent ; Object -> waterproof_boots "waterproof boots" with name 'waterproof' 'boots', description "Your standard-issue waterproof boots, heavy and graceless. ", before [; Disrobe, Drop: if ( game_counter.number > 69 ) { give game_counter general; remove self; "You yank off your boots and toss them away. The icy water stings for about three seconds, after which your feet go completely numb. "; } "You'll need those boots on when you trudge around in the freezing marsh water. "; ], has worn ; Object -> -> coolant_controls "coolant controls" with name 'coolant' 'controls', description "Your combat suit comes with adjustable climate controls.", before [; Set: "No time to mess with those now, soldier. "; Disrobe, Drop: "They're built into the suit. "; ], ; Object -> helmet "helmet" with name 'helmet', description "Just your standard combat helmet.", before [; Disrobe: if ( game_counter.number > 69 ) { give self ~worn; if ( night_vision_goggles has worn ) { give night_vision_goggles ~worn; print "(first removing the night vision goggles)^"; "You remove your helmet and goggles. You can't see anything outside the fifteen foot circle of light coming from the shuttle. Hearing the bugs but not being able to see them is nightmarish. "; } else "You remove your helmet. "; } "You'll need that helmet to survive and to communicate with Duggers and Chub. "; Drop: if ( game_counter.number > 69 ) { give game_counter general; remove self; if ( night_vision_goggles has worn ) { give night_vision_goggles ~worn; print "^(first removing the night vision goggles)^"; "You remove your helmet and goggles and drop the helmet. It sinks into the murk and disappears.^^ Without the goggles, you can't see anything outside the fifteen foot circle of light coming from the shuttle. Hearing the bugs but not being able to see them is nightmarish. "; } else print "You drop your helmet. It sinks into the murk and disappears. "; } "You'll need that helmet to survive and to communicate with Duggers and Chub. "; ], has worn transparent ; Object -> -> faceplate "faceplate" with name 'faceplate' 'face' 'plate', description [; print "The faceplate of the helmet protects your face from harm during combat as well as hazardous climate conditions. "; if ( self has general ) "It is currently covered with a layer of slime. "; new_line; rtrue; ], react_before [; Examine, Search: if ( self has general ) "You can't see with the faceplate covered with slime."; ], before [; Disrobe, Drop: "The faceplate is part of the helmet. "; Open: "You'll catch hell from Chub if she sees you open your faceplate. If you endanger yourself, you endanger everyone on the mission. "; Close: "The faceplate is already closed. "; Clean, Rub: if ( self hasnt general ) rfalse; if ( parachute in player && release_handle hasnt general && intact_craft == 0 ) { game_counter.number = 66; PlayerTo( marsh_underwater, 1 ); "You are yanked backwards by your parachute. You stumble and again go underwater, the chute tugging you further down. "; } game.state = 5; give faceplate ~general; print "You lift your arm to wipe off your faceplate, and a searing pain shoots from your shoulder down to the end of your pinky. You grit your teeth and ignore it. You figure you can probably still hold and fire your weapon, so there's no use crying about it. You smear the slime away with your other hand, and see the marshland.^"; PlayerTo( marshlands ); if ( helmet hasnt general ) { game_counter.number = 30; "^Duggers and Chub are standing in front of you, pointing and screaming at you, wondering why you didn't answer them.^^ You say, ~Sorry, Sergeant. I fell down and almost drowned.~^^ Chub and Duggers start to laugh. They loud enough to shake the ground. The laughter stops when you see that a vibration is rippling the water. The ground really is shaking.^^ Duggers whispers, ~Heads up! Heads up!~"; } give game_counter general; game_counter.number++; "^Duggers and Chub are standing in front of you, pointing and screaming at you, wondering why you don't answer them."; ], ; Object -> night_vision_goggles "set of night vision goggles" with name 'night' 'vision' 'goggles' 'specs', description "The night vision goggles are an older model of specs. Apparently, they're going to be more useful on this mission than the top of the line version. Something about better motion interpolation and better contrast in the -4C to 4C temperature range. ", before [; Disrobe: if ( game_counter.number > 69 ) { give game_counter general; give self ~worn; "You remove your night vision goggles. You now can't see anything outside the fifteen foot circle of light coming from the shuttle. Hearing the bugs but not being able to see them is nightmarish. "; } "You won't be able to see a damn thing without them, soldier. "; Drop: if ( game_counter.number > 69 ) { give game_counter general; remove self; "You remove your night vision goggles and drop them. They disappear into the murk.^^ You now can't see anything outside the fifteen foot circle of light coming from the shuttle. Hearing the bugs but not being able to see them is nightmarish. "; } "You won't be able to see a damn thing without them, soldier. "; Rub: <>; ], has worn ; Object -> game_counter "belt of ammo clips" with name 'ammo' 'clips' 'ammunition' 'clip' 'belt' 'of', description "Enough ammunition for a four-hour firefight. ", before [; Disrobe, Drop: if ( game_counter.number > 69 ) { give game_counter general; "You may still need your ammo until the last possible minute, so you keep it strapped on."; } "You may need all of it on this mission, so you keep it strapped on. "; ], number 0, each_turn [; if ( self has general ) { give self ~general; return; } self.number++; if ( self.number == 2 || self.number == 3 || self.number == 5 || self.number == 6 || self.number == 18 ) rfalse; else if ( self.number == 25 && release_handle has general ) rfalse; else print "^"; switch( self.number ) { 0: "^[bug]"; 1: "Your forehead just started to itch."; 4: if ( holovid in player ) { move holovid to Duggers; "Duggers swipes his holovid from you. ~Hey man, don't you never give nothing back?~ he says. He gives his girlfriend's picture a quick ogle before stuffing it into a side pocket of his pants."; } "Duggers takes his holovid back. ~Mitchum, do you ever give anything back?~ he says. He gives his girlfriend's picture a quick ogle before stuffing it into a side pocket of his vest."; 7: "Chub's voice starts counting down. You can hear the strain in her voice, the pitch rising and falling in synchronization with the cabin's spastic lurching and yawing."; 8: "Chub says, ~Four ...~"; 9: "Chub says, ~Three ...~"; 10: "Chub says, ~Shit ...!~"; 11: "Chub says, ~Shit!~"; 12: "Chub says, ~Mark!~"; 13: "Chub screams, ~What are you waiting for? Mitchum!~"; 14: game.state = 1; if ( player in emergency_station ) PlayerTo( startroom, 1 ); "Chub says, ~Duggers!~^^ Duggers is already up the ladder and grabbing for the parachute release levers. He yanks them hard, there is a noise like a screech owl colliding with a sheet of inch-thick plexiglass, and then the cabin seems to stop in midair, jolting everything that's not nailed down, which includes you and Duggers. The two of you smash to the cabin floor. You land on your side, the hard ammo clips strapped to your side bruising your ribs, damn near cutting through your suit."; 15: give helmet general; "Just as you start to sit up, Duggers attacks your throat with his elbow, crushing your windpipe. You flop backwards like an upended beetle, choking and gagging, pain throbbing outward from your neck, your lungs burning.^^ The fall seems to have damaged your helmet, because you can't hear Duggers' voice any more. He's holding you by your gear straps, his faceplate right in front of yours, screaming obscenities. Probably just as well that you can't hear it."; 16: give hatch open; "Chub comes racing into view. You watch, hearing only your own jaggered breathing as your windpipe relaxes, as an argument ensues. Hands haul you to your feet near the hatch. Duggers blows it open. Waited too long to release the craft's parachutes, going to have to jump for it. Probably cost us the mission and our lives, you reflect."; 17: move Duggers to marshlands; move Chub to marshlands; if ( player in emergency_station ) print "Duggers leaps out of the hatch. Chub yanks you down from the emergency station and throws you headfirst out of the hatch.^"; else print "Duggers leaps out of the hatch. Chub shoves at you from behind. You still can't hear any voices.^"; game.state = 2; PlayerTo( midair, 1 ); "^You're in mid-air, falling fast. You can't see the ground, and there's nothing to see in the sky."; 19: if ( ripcord hasnt general ) "You pull the rip-cord, and your chute opens. Your neck snaps forward, your throat closes hard and painfully. As you raise your head, your throat doesn't open again. It feels swollen shut, and you can't breathe.^^ Far below, there's a round, white-green flare -- the landing craft, crashing down."; "Far below, there's a round, white-green flare -- the landing craft, crashing down."; 20: "You see a cloud-layer below. Maybe it's mist on the ground? You brace for impact."; 21: "You fall through the clouds. Not the ground, not yet. You take a small breath, and another. You spot Duggers' chute below you, slipping sideways, furling and raveling, sinking into wet blackness. That's the ground, the marsh right below you."; 22: game.state = 3; move Chub to marshlands; give faceplate general; PlayerTo( marsh_underwater,1 ); "Your boots hit a layer of wet slime, and you sink into it up to your buckling knees. You lose your balance, but can't move your feet to stabilize yourself. Slime splashes up into your faceplate. Your hands sink into something gelatinous. Everything is cold. You must be underwater."; 23: "You put your hands down, hoping to raise your weight, but there's no support. Your arms sink like toothpicks into a sponge cake."; 24: game.state = 4; PlayerTo( marsh_standing,1 ); if ( parachute in player && release_handle hasnt general && intact_craft == 0 ) { "You curl your legs up under your chest, slowly drawing them out of the muck, and you replant them in fresh muck. Gradually you wobble yourself into an upright fetal position and try to stand. You must weigh 350 pounds with all of your gear. Carefully, slowly, you stand. You get a little help from your chute, yanked by a sudden wind. For a moment you're not sure whether you're actually on your feet or not, and you realize it's because your faceplate is covered with marsh slime."; } "You curl your legs up under your chest, slowly drawing them out of the muck, and you replant them in fresh muck. Gradually you wobble yourself into an upright fetal position and try to stand. You must weigh 350 pounds with all of your gear. Carefully, slowly, you stand. For a moment you're not sure whether you're actually on your feet or not, and you realize it's because your faceplate is covered with marsh slime."; 25: if ( intact_craft == 1 ) { give game_counter.general; game_counter.number = 26; game.state = 5; give faceplate ~general; print "You smear the slime away with your hand, and see the marshland.^"; PlayerTo( marshlands ); "^Duggers and Chub are standing in front of you, pointing and screaming at you, wondering why you don't answer them."; } "Your chute, still caught by the wind, starts to pull you over backwards. You're going to fall into the marsh again if you don't release it."; 26: if ( parachute in player && release_handle hasnt general && intact_craft == 0 ) { game_counter.number = 66; give faceplate general; PlayerTo( marsh_underwater, 1 ); "You are yanked backwards by your parachute. You stumble and again go underwater, the chute tugging you further down. "; } game.state = 5; give faceplate ~general; print "You lift your arm to wipe off your faceplate, and a screaming pain shoots from your shoulder down to the end of your pinky. You grit your teeth and ignore it. You figure you can probably still hold and fire your weapon, so there's no use crying about it. You smear the slime away with your other hand, and see the marshland.^"; PlayerTo( marshlands ); "^Duggers and Chub are standing in front of you, pointing and screaming at you, wondering why you don't answer them."; 27: "You point at the comm antenna on your helmet and tap your finger to it. You shake your head.^^ Duggers flings his arms wide and throws his head back, the universal pantomime for, ~Well, that's just fucking GREAT.~ Chub approaches you, removing her thick gloves, reaching for her toolbelt. You hear her hands bumping against your helmet."; 28: "There is a burst of deafening static in your helmet. You flinch and turn to face Chub, who glowers at you and shoves your head away so she can keep working. You feel the bones in your neck grind together, a pain so bad you want to black out.^^ Your training asserts itself. You clench your fists, bite your tongue, and hang onto consciousness."; 29: "There's another burst of static, and Chub's voice poking through it.^^ ~...hear that? ... if you ... --kay? ...Mitchum!~"; 30: "You hear Chub say, ~How about that?~^^ ~Got it,~ you say.^^ A vibration ripples the water. Duggers's voice: ~Heads up! Heads up! Can he hear through that goddamn thing yet? Come on!~"; 31: print "Chub whips out her plasma rifle. You whip out Charlene. Charlene's your partner, ready for the dance. You draw some strength from her, ignoring the spasms in your bad arm. ^^"; style bold; print "Easy girl. Just... hold it ... steady."; style roman; new_line; rtrue; 32: game.state = 6; "Chub says, ~I've called for reinforcements, but they won't come in until we hold this position for a while. No use aiding a lost cause.~^^ You say, ~It is a lost cause, isn't it? The bugs are just going to keep coming.~^^ The vibration comes again. Somewhere, far ahead, twisting its way closer, the bug is coming."; 33: "You hear the roar of many feet, so many feet it makes your stomach turn. Up ahead, through that maze of mushrooms, you see a slickened shape pass by, west to east.^^ Chub shouts, ~Fire!~"; 34: "Duggers fires. Chub fires. Mushrooms explode into spores. Fast-growing spores, you remember. In ten minutes, there will be more of them, full-sized. How are you supposed to win a war like this?"; 35: "Up ahead, the behemoth twists like a snake, heading west, then east, then directly at you. Duggers fires at the head of it, and the head explodes, but the beast keeps coming. It turns east again."; 36: "You fire, and the bug is cut in two. The damn segments don't stop moving, though. Now there's two bugs, each twisting this way and that. One segment reaches a small tunnel, formed by columns of mushrooms to each side, and it twists between them, heading straight for you.^^ ~Fire! Fire!~ Chub screams."; 37: game.state = 7; "Your rifles flare in the damp night, shooting plasma pulses a million degrees hot and moving at 400 miles an hour. The charging beast loses its head, and then another head, and then another head, and then another. Suddenly, there are no more heads, it is gone.^^ The second segment twists into view, just beyond the closest range of mushrooms, about to invade your empty black marshland base.^^ Another noise, unlike the steady thrum of these insect feet, begins to grow, with a doppler effect, from dead ahead. A flying bug."; 38: "It's a tick, two tons of chitinous carapace, bristly fangs, and bug meat, hurtling straight at you, over the tops of the mushrooms. Its lazy feet scrape the mushroom heads, poisoning them as it passes, making the mushrooms change to ugly colors. If another bug touches one of those..."; 39: "Chub splits the centipede again in two. They're coming at you from both sides now.^^ Duggers is right in the tick's path. He stands his ground, shouting at the sonofabitch. Duggers fires at it, misses. Fires again, misses. It's coming in too fast."; 40: game.state = 8; move Chub to marshlands2; PlayerTo( marshlands2, 1 ); "The tick mows Duggers down, its sticky feet latching onto his body. You see his face purple and blacken as he's carted away to some nest to be digested. There is a scream, and then silence.^^ Dead silence. The bugs are gone. There's two of you left."; 41: "You were right. More mushrooms have grown up already. It's harder to see. Up ahead, you see the segmented beast twisting this way and that. Up ahead, you hear another tick approaching like a dive bomber, coming right at you and Chub.^^ Up ahead, you hear the thrum. Wave number two. Or is it just a continuation of the first wave?^^ Something else, something new. Feet clicking, splashing, an almost musical chirp as the legs saw back and forth. What the hell? Some sort of cricket? No."; 42: "It's a scorpion, sidling sideways. Fortunately, it's not coming at you. You take it out with one quick shot. You're getting better at this.^^ You'd better get even better, fast. Here comes that tick, with its screaming song, with its poisonous legs, turning the mushrooms purple and blue.^^ Here comes the beast itself. Chub cuts it into three parts, damn her eyes."; 43: print "You and Chub concentrate your fire on the tick, and vaporize it with only about twenty yards to spare, a split-second. Plasma spray and unvaporized bug bits sizzle over you, a wet coat of death.^^ And then you hear another, bearing down on you, following its kamikaze partner, poisoning even more mushr--^^"; style bold; print "Oh no."; style roman; new_line; rtrue; 44: "Chub takes a lucky shot and destroys the second tick before it even gets close, but it's too late. One of the centipede segments hit the poisoned mushrooms, the oil gets into its skin, scrambling its stupid bug neurons. Crazed, it charges forward, straight at you. Another segment hits another poisoned shroom, and it, too, charges screaming at you.^^ The two segments swoop down on either side of you and Chub, circle, and play back and forth, zigzagging. The poison's worn off, thankfully."; 45: "You see more segments, arriving out of the darkness to your left and right. Where are they coming from? Just two segments, a head and a tail, in front and behind you, joining the dance. There's five of these damn things now, and more every minute."; 46: game.state = 9; remove Chub; "You shoot and shoot, vaporizing as many as you can. You start to think you're winning, that you're going to get out of this, when out of the corner of your eye, you see Chub backing up, not looking where she's going. You yell for her to move, to watch out. You're still busy firing as you try to move closer to her, to yank her out of the way, to give her cover, but it's too late. A new segment dances into the marsh, runs Chub down, stomps her into the muck. You hear a shriek in your helmet that becomes a helpless gurgle. The beast drips acid out of its flanks, out of its disgusting glands, and something sizzles underwater.^^ A final shot from your rifle sails into the gloom. Far away, a mushroom explodes.^^ Again, silence. And you're the only one left."; 47: "You can't see for all of the mushrooms blocking your way. You can hear movement, far ahead, but you can't see anything but the mushrooms. They're different colors now. Are you hallucinating? And where's the backup Chub called for? How long are they going to take?"; 48: "You vent your frustrations on the mushrooms, shooting again and again. They explode, releasing spores that will grow more of them soon. You don't care. You need the space to move if you're going to win this battle, if you're going to survive.^^ You know, though, that it's just a matter of time. You wonder what the point of this is, and you laugh. It's a sick joke to someone up there in HQ, someone in a chushy office on Atari Prime. It's just some stupid game."; 49: "You hear the thunder, the singsong chirping, the freight train whistle doing its doppler effect, doubled, tripled. All the bugs are back. More than ever.^^ A tick whizzes by you to your left, just missing you. You hear it hiss its hatred."; 50: "Another flies by to the right, dripping poison. The mushroom right in front of you warps, rots, seems to right itself. You destroy it. There's another deadly one behind it. You shoot that one, too, and another."; 51: "A lucky shot obliterates a scorpion, but another tick comes, and the beast is moving fast. Two beasts."; 52: if ( distress_call_switch has general ) { give game_counter general; game_counter.number = 70; PlayerTo( marshlands_rescue, 1 ); "The poison has done its work, and once again you are surrounded. Once again, new segments arrive from nowhere, spinning in circles around you.^^ There is a flare of light in the western sky."; } "The poison has done its work, and once again you are surrounded. Once again, new segments arrive from nowhere, spinning in circles around you.^^ And still one last tick comes, and this one has your name on it."; 53: "You fire at the tick, and miss."; 54: "You fire at the tick, and miss. It's going to get you."; 55: "You brace yourself for your last stand. You take aim at that tick, right in its glassy, metallic blue-green eyes. You fire, and miss. One last chance, it's almost here."; 56: "You get it from behind. Oh, shit, you think. The fucking irony. The tick sails past, unharmed, as one of the segments of the beast crushes you, biting off your legs.^^ There's no time to feel pain, or maybe there isn't any pain. Some sort of anesthetic in the saliva, you remember. You scream anyway, just like Chub. You're not going down quietly. You try to turn your rifle around, fire at the damn thing point-blank, but suddenly your arms don't work."; 57: "You're flipped over on your back, and something viscous and yellow oozes onto your faceplate, dissolving it. Suddenly your eyes don't work, and you can't scream. You see a dull red that turns brown and black in splotches, like the way the colors on a bubble turn before the bubble pops, and it's dead."; 58: deadflag = 4; "The last thought that comes to you makes you laugh. It's that old joke. What's the last thing to go through a bug's mind as it hits your windshield? Its --.^"; 59: "The cabin creaks and shudders. Chub checks her chronometer."; 60: "Chub says, ~Okay. We need to prepare to lose the AVLC when we land. This thing is going to fill with water and sink in about ninety-eight seconds. Duggers, as soon as we hit, blow the hatch and do a quick scout. Mitchum, launch the homing beacon and then get the hell out.~"; 61: "Chub checks her chronometer. She says, ~Touchdown in eight, seven, six...~"; 62: "Duggers shifts his weight forward, ready to spring into action.^^ Chub says, ~Five, four, three...~"; 63: if ( straps has general ) { "Chub says, ~Tw--~^^ With a jaw-splintering jolt, the AVLC hits the swampwater. Chub is already on her feet, grabbing extra rations and munitions. Yeah, like we'll last long enough to need those, you think. "; } give straps ~general; PlayerTo( startroom, 1 ); give helmet general; "Chub says, ~Tw--~^^ With a jaw-splintering jolt, the AVLC hits the swampwater. You're thrown hard to the floor by the impact, your helmet absorbing a lot of the shattering force. Bright splotches fill your vision. Maybe your goggles are damaged, you think at first, and then you realize that it's your eyes.^^ You squeeze your eyes, wait for the blotches to fade, and hope it isn't a concussion. "; 64: give hatch open; move Duggers to marshlands; "Duggers says, ~Blowing the hatch...~ Fwoom! There's a white flare in your goggles, and the hatch disappears into darkness. Instantly, freezing algae water pours into the opening. Duggers leaps out into it as the cabin starts to reel, pitching aftward."; 65: if ( helmet hasnt general ) { if ( homing_beacon_switch has general ) print "Chub says, ~Let's go, Mitchum! Move! Move! Move!~^"; else print "Chub says, ~Forget the beacon! Just get out of here, Mitchum! Move! Move!~^"; } else { give hatch general; print "Chub yanks at your arm. You feel a spasm of pain shoot through it. She's yelling at you and pointing at the hatch, but you can't hear her. The fall must have damaged your helmet's comm system.^"; } "^The cabin is now half full of swampwater."; 66: game.state = 3; move Chub to marshlands; give faceplate general; PlayerTo( marsh_underwater, 1 ); self.number = 22; "You force yourself out of the craft, fighting the freezing water. Your legs seize up a few steps from the sinking craft, or maybe they're just caught in the muck. You lose your balance, but can't move your feet to stabilize yourself. Slime splashes up into your faceplate. Your hands sink into something gelatinous. Everything is cold. You must be underwater."; 67: "You struggle to get up, but your chute feels like it's caught on something. "; 68: "With growing horror, you realize that the chute has become entangled with something, and is dragging you further and further underwater. "; 69: "Your lungs burning, all of your limbs thrashing, you sputter for breath and take in a lungful of marsh water."; 70: deadflag = 4; "Distantly, you hear the thrashing of boots through water, the dulled booms of plasma rifles firing. Someone is trying to pull at one of your boots, but their hands slip away. The last bit of air in your lungs escapes, poisonous water takes its place. "; 71: "It's a rescue shuttle, hovering low, dangling a ladder."; 72: "And still one last tick comes, and this one has your name on it."; 73: if ( player in marshlands_rescue ) { game_counter.number = 57; "You get it from behind. Fucking bastard, you think, as one of the segments of the beast crushes you, biting off your legs.^^ There's no time to feel pain, or maybe there isn't any pain. Some sort of anesthetic in the saliva, you remember. You scream anyway, just like Chub. You're not going down quietly. You try to turn your rifle around, fire at the damn thing point-blank, but suddenly your arms don't work.^^ ~Shoot it! Shoot it!~ you yell, but you don't hear any sound come out. You feel a disgusting wobble where you used to have a jaw."; } "The shuttle struggles in the air, trying to gain altitude without shaking you off. The tick is either going to knock you off the ladder or take out the whole shuttle."; 74: "You fire at the tick, and miss. It's going to get you."; 75: "You brace yourself for your last stand. You take aim at that tick, right in its glassy, metallic blue-green eyes. You fire, and miss. One last chance, it's almost here."; 76: "You get it from behind. Oh, shit, you think. The fucking irony. The tick sails past, unharmed, as the beast rears up from below, biting off your legs. You fall off the ladder, smacking the icy water. You think you hear some bones break.^^ There's no time to feel pain, or maybe there isn't any pain. Some sort of anesthetic in the saliva, you remember. You scream anyway, just like Chub. You're not going down quietly. You try to turn your rifle around, fire at the damn thing point-blank, but suddenly your arms don't work."; 77: "You're flipped over on your back, and something viscous and yellow oozes onto your faceplate, dissolving it. Suddenly your eyes don't work, and you can't scream. You see a dull red that turns brown and black in splotches, like the way the colors on a bubble turn before the bubble pops, and it's dead."; 78: deadflag = 4; "The last thought that comes to you makes you laugh. It's that old joke. What's the last thing to go through a bug's mind as it hits your windshield? Its --^"; } ], has worn ; Object -> backpack "backpack" with name 'back' 'pack' 'backpack', description [; print "Your standard-issue combat backpack. "; if ( parachute in player ) print "The top section holds an emergency parachute. The straps of the backpack have two pull handles. One is the ripcord for the chute, the other is the release cord when you're on the ground and need to get rid of the parachute. "; if ( self has open ) <>; new_line; rtrue; ], before [; Disrobe, Drop: if ( game_counter.number > 69 ) { give game_counter general; remove self; "You shrug off the backpack and drop it into the water. It sinks out of sight. "; } "A soldier never removes his backpack unless his life depends on doing so. "; Open: give game_counter general; rfalse; ], has worn container openable ; Object -> -> rations "food rations" with name 'food' 'ration' 'rations' 'today^s' 'compact' 'powder' 'packets', description "Today's food rations, in compact powder packets. ", before [; Eat: if ( game_counter.number < 60 ) "Not until you clear the sector and establish basecamp for the full landing party. "; "Chub barks, ~I said launch, not lunch!~"; Drop: if ( game_counter.number > 69 ) { give game_counter general; remove self; "You throw away your rations. "; } "You'll need those, soldier. Ain't no one gonna give you a share of their food because you left yours behind. "; ], has edible proper ; Object -> -> canteen "canteen" with name 'canteen' 'water', description "Your clean water for the day. ", before [; Search: "The canteen contains your clean water for the day. "; Open, Drink: "If you drink that now, what are you going to do later? Drink the swampwater?"; Drop: if ( game_counter.number > 69 ) { give game_counter general; remove self; "You throw away your canteen. "; } "Think twice about leaving your clean water behind, soldier. "; ], ; Object -> -> letter "letter" with name 'letter', description "It's a letter to your folks, to be sent in case you're killed in the line of duty. You're hoping someone survives this mission to send it. No. You're hoping nobody needs to send the damn thing. Not this time. ", before [; Drop: "That letter stays with you until you're dead, soldier. "; ], ; Object -> -> stims "zip pack of stims" with name 'stimulants' 'stims' 'stimulant' 'stim' 'zip' 'pack', description "It's stuff to keep you jacked up and alert. You've used up your ration already, but you still got some extras you palmed off the medic.", before [; Open, Take, Eat, Drink, Shoot: if ( game_counter.number > 69 ) { give game_counter general; remove self; give self general; "You pop all the stims. A vicious, raging strength enters your limbs. "; } "Easy there, soldier. No need to overmedicate yourself. You don't want to end up with a problem. "; Drop: if ( game_counter.number > 69 ) { give game_counter general; remove self; "You throw away the stims. "; } "Experience tells you that you just might need those. They can sometimes give you just the extra burst of energy you need to save your life."; ], has edible ; Object -> parachute "parachute" with name 'parachute' 'chute', description [; switch( game.state ) { 0: "The top section of your combat backpack holds an emergency parachute. The straps of the backpack have two pull handles. One is the ripcord for the chute, the other is the release cord when you're on the ground and need to get rid of the parachute."; 1: "The top section of your combat backpack holds an emergency parachute. The straps of the backpack have two pull handles. One is the ripcord for the chute, the other is the release cord when you're on the ground and need to get rid of the parachute."; 2: "Your parachute billows above you, flapping noisily. The straps of the backpack have two pull handles. One is the ripcord for the chute, the other is the release cord when you're on the ground and need to get rid of the parachute."; 3: "Your parachute is yanking and tugging you sideways."; 4,5,6,7: "The top section of your combat backpack holds an emergency parachute. The straps of the backpack have two pull handles. One is the ripcord for the chute, the other is the release cord when you're on the ground and need to get rid of the parachute."; } ], before [; Drop, Disrobe: <>; Activate: <>; Release, Pull: if ( game_counter.number > 18 ) <>; <>; ], has scenery worn ; Object -> ripcord "ripcord" with name 'ripcord' 'rip' 'cord' 'rip-cord', description "If you pull the ripcord, you will deploy your emergency parachute. ", before [; Pull: if ( self has general ) "You have already done that. "; switch ( game.state ) { 0,1: "You shouldn't deploy your parachute unless you're actually in free-fall. "; 2: print "You pull the rip-cord and your chute opens. Your neck snaps forward, your throat closes hard and painfully. As you raise your head, your throat doesn't open again. It feels swollen shut, and you can't breathe.^"; if ( game_counter.number < 20 ) { game_counter.number = 19; give game_counter general; give self general; "^Far below, there's a round, white-green flare -- the landing craft, crashing down."; } rtrue; } Drop: "You can't drop the ripcord. "; ], has scenery ; Object -> release_handle "release handle" with name 'release' 'handle', description "If you pull the release handle after touching down, you will disengage your parachute. ", before [; Pull: if ( self has general ) "You have already done that. "; switch ( game.state ) { 0,1: "Pulling the release handle will have no effect until after the parachute is deployed. "; 2: give self general; remove parachute; remove ripcord; remove release_handle; if ( game_counter.number < 20 ) { deadflag = 1; "You pull the release handle on your chute. It disengages, leaving you plummeting and tumbling through the air. You streak past Duggers, and a second later you are instantly killed as you hit the surface of the swamp."; } switch ( game_counter.number ) { 20: deadflag = 1; "You decide to pull your patented landing maneuver: wait until you're ten feet from touchdown, pull the release handle on the chute, and hit the ground in a tumble-and-run.^^ Unfortunately, it wasn't a layer of mist on the ground. You were right the first time. It was a cloud layer. Your body starts to spin. You streak past Duggers and smack into the marshwater below. Your bones are pulverized instantly."; 21: give game_counter general; game_counter.number++; print "You decide to pull your patented landing maneuver: wait until you're ten feet from touchdown, pull the release handle on the chute, and hit the ground in a tumble-and-run.^^"; game.state = 3; move Chub to marshlands; give faceplate general; PlayerTo( marsh_underwater,1 ); "You release the chute. You boots hit a layer of wet slime, and you sink into it up to your buckling knees. You lose your balance, but can't move your feet to move into your tumble-and-run. Slime splashes up into your faceplate. Your body sinks into something gelatinous. Everything is cold. You must be underwater."; } 3,4: give self general; remove parachute; remove ripcord; remove release_handle; if ( game_counter.number > 66 && game_counter.number < 71 ) { give game_counter general; game_counter.number = 26; game.state = 5; give faceplate ~general; print "You pull the release handle on your chute. It lets go of you and is carried away by the water. "; print "You lift your arm to wipe off your faceplate, and a screaming pain shoots from your shoulder down to the end of your pinky. You grit your teeth and ignore it. You figure you can probably still hold and fire your weapon, so there's no use crying about it. You smear the slime away with your other hand, and see the marshland.^"; PlayerTo( marshlands ); if ( helmet hasnt general ) { game_counter.number = 30; "^Duggers and Chub are standing in front of you, pointing and screaming at you, wondering why you didn't answer them.^^ You say, ~Sorry, Sergeant. My chute got caught on something and dragged me under the water. I almost drowned!~^^ Chub is thinking how to respond when a vibration ripples the water. Duggers says, ~Heads up! Heads up! Come on!~"; } "^Duggers and Chub are standing in front of you, pointing and screaming at you, wondering why you don't answer them."; } "You pull the release handle on your chute. It lets go of you and is carried away by the wind. "; } Drop: "You can't drop the release handle. "; ], react_before [; Pull: if ( game_counter.number > 66 && game_counter.number < 71 ) { give self general; remove parachute; remove ripcord; remove release_handle; give game_counter general; game_counter.number = 26; game.state = 5; give faceplate ~general; print "You pull the release handle on your chute. It lets go of you and is carried away by the water. "; print "You lift your arm to wipe off your faceplate, and a screaming pain shoots from your shoulder down to the end of your pinky. You grit your teeth and ignore it. You figure you can probably still hold and fire your weapon, so there's no use crying about it. You smear the slime away with your other hand, and see the marshland.^"; PlayerTo( marshlands ); if ( helmet hasnt general ) { game_counter.number = 30; "^Duggers and Chub are standing in front of you, pointing and screaming at you, wondering why you didn't answer them.^^ You say, ~Sorry, Sergeant. My chute got caught on something and dragged me under the water. I almost drowned!~^^ Chub is thinking how to respond when a vibration ripples the water. Duggers says, ~Heads up! Heads up! Come on!~"; } "^Duggers and Chub are standing in front of you, pointing and screaming at you, wondering why you don't answer them."; } rfalse; ], has scenery ; Character -> Charlene "Charlene" with name 'plasma' 'weapon' 'rifle' 'gun' 'charlene' 'dent' 'dents' 'scratch' 'scratches' 'ding' 'dings' 'nick' 'nicks' 'black' 'skin' 'curves' 'curve' 'curved' 'metal' 'body', number 0, description [; print "This is Charlene, your plasma rifle. "; if ( self hasnt general ) { self.number++; switch( self.number ) { 1: "You know every dent and scratch on her curved metal body. "; 2: "You know every dent and scratch on her curved metal body. You stroke and polish her black skin shiny twice a day. "; 3: "You know every dent and scratch on her curved metal body. You stroke and polish her black skin shiny twice a day. You can take her apart and put her back together while blind and wearing gloves. But you don't wear gloves in combat. You like to feel Charlene against your palms, feel her vibrations grow smoother as she warms up. "; 4: print "You know every dent and scratch on her curved metal body. You stroke and polish her black skin shiny twice a day. You can take her apart and put her back together while blind and wearing gloves. But you don't wear gloves in combat. You like to feel Charlene against your skin, feel her vibrations grow smoother as she warms up. Feel the two of you merge together, soldier and weapon, pumping, pumping . . .^^ Er... "; style bold; print "ahem. "; style roman; give self general; "I think we got a little carried away in your thoughts there."; } } new_line; rtrue; ], misfire 0, !- counter for Shoot: game.state == 5; before [; Wear: if ( self has worn ) "You've already got Charlene slung over your shoulder. "; give self worn; "You sling Charlene over one shoulder. "; Disrobe: if ( self hasnt worn ) "You don't have Charlene on. "; give self ~worn; "You take Charlene back into your hands. "; Drop: "No way are you ever letting go of Charlene. "; Touch: switch( game.state ) { 0: "Charlene is slender, cool and slick in your sweaty grip. "; 1: "You run your hand along Charlene. She's warming up, itching for it, aching to feel your finger on her trigger. "; 2: "You can't touch Charlene right now. "; 3: "You touch Charlene. She's a reassuring presence. "; 4: "Charlene is wet and cold. She wants to warm up. "; 5: "Charlene is warm and hungry. "; 6: "Charlene is hot to the touch. She glows slightly in the darkness, cherry red and burnt orange. "; 7: "Charlene is white hot, searing your naked fingers. You love her most of all when she's like this, when she's on fire. Your skin melds with hers. Your hands become iron, her body becomes soft flesh. "; 8: "Charlene is starting to tire, starting to seize up. "; 9: "Charlene is on the verge of completely jamming up. Her innards feel like they're starting to fuse together. "; } Rub, Clean: "You prefer to polish Charlene in the privacy of your quarters. "; Strong: "Hey now, let's not get carried away with the metaphor, soldier. "; Load: if ( game.state < 6 ) "She's already loaded."; "You reload Charlene."; Shoot: if ( game.state < 6 ) { switch( game.state ) { 0: "Save your aggressions and ammo for the mission, soldier."; 1: "Charlene's getting anxious for combat, but you calm her down. Wait for the bugs, Charlene."; 2: "You can't reach Charlene right now. "; 3: "If you fired Charlene now, you'd boil the water around you and kill yourself instantly. Think, soldier."; 4: "You shouldn't fire Charlene if you can't see. You might kill Duggers or Chub. "; 5: self.misfire++; switch( self.misfire ) { 1: "You raise Charlene, and Chub swats Charlene's nose down. Chub hasn't given the order. "; 2: "Chub sees you raise Charlene. ~Wait for it, wait for it,~ she says. You hold tight."; default: "You and Charlene are ready, but you wait for the order."; } } } give game_counter general; game_counter.number++; switch( game_counter.number ) { 33: game_counter.number = 34; score = score + 40; "You hear the roar of many feet, so many feet it makes your stomach turn. Up ahead, through that maze of mushrooms, you see a slickened shape pass by, west to east.^^ Chub shouts, ~Fire!~^^ You fire Charlene into the darkness. She purrs and growls. She's jumpy today, you can tell. Or maybe you are. Duggers fires. Chub fires. Mushrooms explode into spores. Fast-growing spores, you remember. In ten minutes, there will be more of them, full-sized. How are you supposed to win a war like this?"; 34: score = score + 50; "You fire Charlene into the darkness. She purrs and growls. She's jumpy today, you can tell. Or maybe you are. Duggers fires. Chub fires. Mushrooms explode into spores. Fast-growing spores, you remember. In ten minutes, there will be more of them, full-sized. How are you supposed to win a war like this?"; 35: score = score + 90; "All you hit are more mushrooms, but you clear a path. Up ahead, the behemoth twists like a snake, heading west, then east, then directly at you. Duggers fires at the head of it, and the head explodes, but the beast keeps coming. It turns east again."; 36: score = score + 25; "You fire, and the bug is cut in two. The damn segments don't stop moving, though. Now there's two bugs, each twisting this way and that. One segment reaches a small tunnel, formed by columns of mushrooms to each side, and it twists between them, heading straight for you.^^ ~Fire! Fire!~ Chub screams."; 37: game.state = 7; score = score + 175; "Charlene is white hot, searing your naked fingers. You love her most of all when she's like this, when she's on fire. Your skin melds with hers. Your hands become iron, her body becomes soft flesh.^^ Your rifles flare in the damp night, shooting plasma pulses a million degrees hot and moving at 400 miles an hour. The charging beast loses its head, and then another head, and then another head, and then another. Suddenly, there are no more heads, it is gone.^^ The second segment twists into view, just beyond the closest range of mushrooms, about to invade your empty black marshland base.^^ Another noise, unlike the steady thrum of these insect feet, begins to grow, with a doppler effect, from dead ahead. A flying bug."; 38: "You fire into the sky, giving you light to see what's coming. It's a tick, two tons of chitinous carapace, bristly fangs, and bug meat, hurtling straight at the three of you, over the tops of the mushrooms. Its lazy feet scrape the mushroom heads, poisoning them as it passes, making the mushrooms change to ugly colors. If another bug touches one of those, it'll go into a hallucinogenic frenzy.^^ ~Spread out! Spread out!~ Chub shouts."; 39: "You dodge left and fire, but you can't get a steady aim on the tick. Chub concentrates on the centipede, her plasma shots splitting the centipede again in two. They're coming at you from both sides now.^^ Duggers is right in the tick's path. He stands his ground, shouting at the sonofabitch. Duggers fires at it, misses. Fires again, misses. It's coming in too fast, even for Duggers."; 40: game.state = 8; move Chub to marshlands2; PlayerTo( marshlands2, 1 ); score = score + 125; "You can't worry about Duggers. You spin on your heels, firing at one segmented beast, Chub the other. They're quickly reduced to burning froth, a pair of greasy eddies in the water. You swing to Chub for a high five just in time to see the tick mow Duggers down. Its sticky feet latch onto his body, his face purples and blackens as he's carted away to some nest to be digested. There is a scream in your helmet, and then silence.^^ Dead silence. The bugs are gone. There's just two of you left."; 41: score = score + 80; "You were right. More mushrooms have grown up already. It's harder to see. You shoot at them, trying to clear the sightlines you had opened ealier. Up ahead, you see the segmented beast twisting this way and that. Up ahead, you hear another tick approaching like a dive bomber, coming right at you and Chub.^^ Up ahead, you hear the thrum. Wave number two. Or is it just a continuation of the first wave?^^ Something else, something new. Feet clicking, splashing, an almost musical chirp as the legs saw back and forth. What the hell? Some sort of cricket? No."; 42: score = score + 100; "You shoot at the noise, and in the glow of the plasma bolt you see what it is. It's a scorpion, sidling sideways. Fortunately, it's not coming at you. You take it out with one quick shot. You're getting better at this.^^ From below comes the beast itself. Chub fires twice, cuts it into three parts, damn her eyes.^^ From the sky comes another tick, its poisonous legs turning the mushrooms purple and blue."; 43: score = score + 50; "You and Chub concentrate your fire on the tick, and vaporize it with only about twenty yards to spare, a split-second. Plasma spray and unvaporized bug bits sizzle over you, a wet coat of death.^^ And then you hear another, bearing down on you, following its kamikaze partner, poisoning even more mushrooms."; 44: score = score + 25; "Charlene's acting up. You adjust your grip and squeeze, trying to get rid of at least one of the three centipedes. Chub takes a lucky shot and destroys the second tick before it even gets close, but it's too late. One of the centipede segments hit the poisoned mushrooms, the oil gets into its skin, scrambling its stupid bug neurons. Crazed, it charges forward, straight at you. Another segment hits another poisoned shroom, and it, too, charges screaming at you.^^ The two segments swoop down on either side of you and Chub, circle, and play back and forth, zigzagging. The poison's worn off, thankfully."; 45: "The bugs are are fast, but move predictably. You jump forward and back; you fire and miss, fire and miss. Fuck. Point-blank and you can't hit a damn thing. You decide to stand still, take time to aim, when Chub shouts a warning.^^ You see more centipedes arriving out of the darkness to your left and right. Where are they coming from? Just two segments each, a head and a tail, joining the dance. There's five of these damn things now, and more every minute."; 46: game.state = 9; remove Chub; score = score + 100; "You shoot and shoot, vaporizing as many as you can. You start to think you're winning, that you're going to get out of this, when out of the corner of your eye, you see Chub backing up, not looking where she's going. You yell for her to move, to watch out. You're still busy firing as you try to move closer to her, to yank her out of the way, to give her cover, but it's too late. A new segment dances into the marsh, runs Chub down, stomps her into the muck. You hear a shriek in your helmet that becomes a helpless gurgle. The beast drips acid out of its flanks, out of its disgusting glands, and something sizzles underwater.^^ A final shot from your rifle sails into the gloom. Far away, a mushroom explodes.^^ Again, silence. And you're the only one left."; 47: game_counter.number = 48; score = score + 120; "You can't see for all of the mushrooms blocking your way. You can hear movement, far ahead, but you can't see anything but the mushrooms. They're different colors now. Are you hallucinating? And where's the backup Chub called for? How long are they going to take?^^ You vent your frustrations on the mushrooms, shooting again and again. They explode, releasing spores that will grow more of them soon. You don't care. You need the space to move if you're going to win this battle, if you're going to survive.^^ You know, though, that it's just a matter of time. You wonder what the point of this is, and you laugh. It's a sick joke to someone up there in HQ, someone in a chushy office on Atari Prime. It's just some stupid game."; 48: score = score + 120; "You vent your frustrations on the mushrooms, shooting again and again. They explode, releasing spores that will grow more of them soon. You don't care. You need the space to move if you're going to win this battle, if you're going to survive.^^ You know, though, that it's just a matter of time. You wonder what the point of this is, and you laugh. It's a sick joke to someone up there in HQ, someone in a chushy office on Atari Prime. It's just some stupid game."; 49: score = score + 525; "Charlene's singing now. She's found her sweetest rhythm, and you follow along with it. You hear the thunder, the singsong chirping, the freight train whistle doing its doppler effect, doubled, tripled. All the bugs are back. More than ever. You and Charlene are ready. A tick goes down, a scorpion explodes. Charlene's aiming for you, you can tell. The beast splits in two, but you eradicate half of it within seconds.^^ A tick whizzes by you to your left, just missing you. You hear it hiss its hatred."; 50: score = score + 40; "Another flies by to the right, dripping poison. The mushroom right in front of you warps, rots, seems to right itself. You destroy it. There's another deadly one behind it. You shoot that one, too, and another."; 51: score = score + 100; "A lucky shot obliterates a scorpion, but another tick comes, and the beast is moving fast. Two beasts."; 52: score = score + 150; if ( distress_call_switch has general ) { give game_counter general; game_counter.number = 70; PlayerTo( marshlands_rescue, 1 ); "Charlene mows down as many segments of the beast as she can, but she's starting to get tired, and your fingers are blistering. She needs to cool down, but the poisoned mushrooms have done their work. Once again, the crazed behemoth charges; once again, you are surrounded. Once again, new segments arrive from nowhere, spinning in circles around you.^^ Just as you dig in your heels for your last stand, there is a flare of light in the western sky."; } "Charlene mows down as many segments of the beast as she can, but she's starting to get tired, and your fingers are blistering. She needs to cool down, but the poisoned mushrooms have done their work. Once again, the crazed behemoth charges; once again, you are surrounded. Once again, new segments arrive from nowhere, spinning in circles around you.^^ And still one last tick comes, and this one has your name on it."; 53: "You fire at the tick, and miss."; 54: "You fire at the tick, and miss. It's going to get you."; 55: "You brace yourself for your last stand. You take aim at that tick, right in its glassy, metallic blue-green eyes. You fire, and miss. One last chance, it's almost here."; 56: "You get it from behind. Oh, shit, you think. The fucking irony. The tick sails past, unharmed, as one of the segments of the beast crushes you, biting off your legs.^^ There's no time to feel pain, or maybe there isn't any pain. Some sort of anesthetic in the saliva, you remember. You scream anyway, just like Chub. You're not going down quietly. You try to turn your rifle around, fire at the damn thing point-blank, but suddenly your arms don't work."; 57: "You can't.^^ You're flipped over on your back, and something viscous and yellow oozes onto your faceplate, dissolving it. Suddenly your eyes don't work, and you can't scream. You see a dull red that turns brown and black in splotches, like the way the colors on a bubble turn before the bubble pops, and it's dead."; 58: deadflag = 4; "It's all over, soldier. The last thought that comes to you makes you laugh. It's that old joke. What's the last thing to go through a bug's mind as it hits your windshield? Its --.^"; 59,60,61,62,63,64,65: "Charlene's getting anxious for combat, but you calm her down. Wait for the bugs, Charlene."; 66,67,68,69: "If you fired Charlene now, you'd boil the water around you and kill yourself instantly. Think, soldier."; 70: deadflag = 4; "It's all over, soldier.^^ Distantly, you hear the thrashing of boots through water, the dulled booms of plasma rifles firing. Someone is trying to pull at one of your boots, but their hands slip away. The last bit of air in your lungs escapes, poisonous water takes its place. "; 71: score = score + 10; "You concentrate on firing, not wanting to take the time to glance up. As the flare grows and you hear the noise, you know exactly what it is. It's a rescue shuttle, hovering low, dangling a ladder."; 72: score = score + 10; "You ignore the ladder and fire, missing the bugs and hitting a nearby mushroom. Low in the sky, still one last tick comes, and this one has your name on it."; 73: if ( player in marshlands_rescue ) { game_counter.number = 57; "You get it from behind. Fucking bastard, you think, as one of the segments of the beast crushes you, biting off your legs.^^ There's no time to feel pain, or maybe there isn't any pain. Some sort of anesthetic in the saliva, you remember. You scream anyway, just like Chub. You're not going down quietly. You try to turn your rifle around, fire at the damn thing point-blank, but suddenly your arms don't work.^^ ~Shoot it! Shoot it!~ you yell, but you don't hear any sound come out. You feel a disgusting wobble where you used to have a jaw."; } "The shuttle struggles in the air, trying to gain altitude without shaking you off. The tick is either going to knock you off the ladder or take out the whole shuttle."; 74: "You fire at the tick, and miss. It's going to get you."; 75: "You brace yourself for your last stand. You take aim at that tick, right in its glassy, metallic blue-green eyes. You fire, and miss. One last chance, it's almost here."; 76: "You get it from behind. Oh, shit, you think. The fucking irony. The tick sails past, unharmed, as the beast rears up from below, biting off your legs. You fall off the ladder, smacking the icy water. You think you hear some bones break.^^ There's no time to feel pain, or maybe there isn't any pain. Some sort of anesthetic in the saliva, you remember. You scream anyway, just like Chub. You're not going down quietly. You try to turn your rifle around, fire at the damn thing point-blank, but suddenly your arms don't work."; 77: "You can't.^^ You're flipped over on your back, and something viscous and yellow oozes onto your faceplate, dissolving it. Suddenly your eyes don't work, and you can't scream. You see a dull red that turns brown and black in splotches, like the way the colors on a bubble turn before the bubble pops, and it's dead."; 78: deadflag = 4; "It's all over, soldier. The last thought that comes to you makes you laugh. It's that old joke. What's the last thing to go through a bug's mind as it hits your windshield? Its --.^"; } ], life [; Attack: "You wouldn't want Charlene to get mad and jam up during combat."; Kiss: switch( game.state ) { 0: "You give Charlene a kiss through your faceplate. "; 1: "Charlene's getting anxious for combat, but you calm her down with a kiss. Wait for it, baby."; 2: "You can't reach Charlene right now."; 3: "You can't do that while you're underwater. "; 4: "You give Charlene a kiss through your faceplate. She isn't reassured, and neither are you. "; 5: "You give Charlene a kiss through your faceplate."; 6: "You give Charlene a kiss through your faceplate. You feel her warmth. "; 7: "You give Charlene a kiss through your faceplate. You feel her raging heat. "; } ], SayQ [line; switch (line) { 0: "Charlene baby, tell me we're gonna make it through this one."; 1: "Charlene, you ready honey?"; } ], Respond [line; switch (line) { 0: self.QuipOff(0); print "^You look to Charlene for encouragement. She says nothing, but just feeling her weight on your back encourages you.^"; rfalse; 1: self.QuipOff(1); print "^You whisper some words to Charlene. She's ready for whatever comes, and if she's ready, so are you.^"; rfalse; } ], InitQuips [; self.QuipsOn(2, 0,1); ], has female proper ; Object -> holovid "holovid" with name 'girlfriend' 'scary' 'trash' 'holovid' 'vid' 'holo' 'pic' 'picture' 'video' 'hologram' 'girl' 'woman' 'babe' 'chyk', description [; if ( self hasnt general ) "It's a holovid of Duggers' scary trash girlfriend. She's standing near some gym equipment. A little icon that looks like a zipper is dancing in the lower corner."; "It's a holovid of Duggers' scary trash girlfriend, standing naked near some gym equipment. A little icon that looks like a zipper is dancing in the lower corner."; ], before [; Switchoff: if ( self hasnt general ) { give self general; game_counter.number = 3; "You switch off the holovid. "; } "The holovid is already off. "; Switchon: if ( self has general ) { give self ~general; "You switch on the holovid. "; } "The holovid is already on. "; ], has transparent ; Object -> -> zipper_icon "zipper icon" with name 'zipper' 'icon', description "It's a hotspot icon that you can touch.", before [; Touch, Push: if ( parent(self) notin player ) { "You have to be holding the holvid in order to touch the zipper icon."; } give holovid general; print "When you touch the zipper icon, the clothes on Duggers' girlfriend seem to melt off her body, displaying her full frontal skankiness. "; if ( game_counter.number < 4 ) { give game_counter general; game_counter.number = 4; move holovid to Duggers; if ( holovid in player ) { "^^Duggers swipes his holovid from you. ~Not bad, right?~ he says. He gives his girlfriend's picture a quick ogle before stuffing it into a side pocket of his pack."; } "^^Duggers takes his holovid back. ~Don't get all excited, now,~ he says. He gives his girlfriend's picture a quick ogle before stuffing it into a side pocket of his vest."; } "Duggers smirks. ~Not bad, right?~"; ], ; Room startroom "Buzz-Busta AVLC-905 Cabin" with name 'helm', description "There's dick-all to see here, even with the goggles on. Armory cabinets, supply shelves, two brushed-steel benches, safety straps. The emergency station is a swivel chair three steps up a ladder, facing a panel with rugged switches and levers. ", cant_go "There ain't noplace to go in that direction, soldier.", out_to [; << ClimbOut hatch >>; ], in_to "There's no exit in that direction. ", u_to [; <>; ], ; Object -> benches "benches" with name 'brushed-steel' 'brushed' 'steel' 'bench' 'benches', description "Just two ass-busting benches.", before [; Go: if ( noun == u_obj ) { if ( straps has general ) { give straps ~general; print "(first removing the straps)^"; } if ( game_counter.number > 62 ) { print "You get off the bench and swing yourself up into the emergency station.^"; PlayerTo( emergency_station, 1 ); return 3; } print "^You get off the bench.^"; PlayerTo( startroom, 1 ); return 3; } return 0; Exit: if ( straps has general ) { give straps ~general; print "(first removing the straps)^"; rfalse; } ], has scenery supporter enterable transparent ; Object -> straps "straps" with name 'safety' 'strap' 'straps' 'harness' 'harnesses', description "For strapping yourself down during a landing. ", before [; Wear: if ( player in benches ) { give self general; "You strap yourself in. "; } if ( self has general ) "You're already strapped in. "; "You need to be sitting on the benches first. "; Disrobe: if ( self hasnt general ) "You're not strapped in yet. "; give self ~general; "You remove the safety straps. "; ] has scenery clothing ; Object -> supply_shelves "supply shelves" with name 'supply' 'supplies' 'shelf' 'shelves', description "The supplies are designed to last a five-man unit for two weeks.", before [; Open, Search, Take: "You've already got today's rations stored in your backpack. "; Close: "The supply shelves don't open or close. "; ], has scenery ; Object -> armory_cabinets "armory cabinets" with name 'armory' 'cabinet' 'cabinets' 'firepower', description "Loaded with enough firepower to bugbomb an entire sector. ", before [; Open, Search, Take: "Duty doesn't call for you to raid the armory cabinets right now. "; Close: "The armory cabinets are already closed. "; ], has scenery ; Object -> cabin "cabin" with name 'buzz' 'buzz-busta' 'busta' 'avlc' 'avlc-905' '905' 'cabin', description [; <>; ], before [; Take: "Eighteen metric tons of carbonized metal and solid rocket fuel are unlikely to stash easily in your backpack. "; ], has scenery ; Object -> hatch "escape hatch" with name 'escape' 'hatch' 'door' 'portal', description [; if ( self hasnt open ) "The hatch is closed. "; "The hatch has been blown open."; ], before [; Open: "It's not your job to open the hatch on this mission, soldier. "; Enter, ClimbOut: if ( self hasnt open ) "Not until Chub gives the order. "; switch ( game_counter.number ) { 16: give game_counter general; game_counter.number++; give helmet general; move Duggers to marshlands; move Chub to marshlands; if ( player in emergency_station ) print "Duggers leaps out of the hatch. You leap down from the emergency station and bail out after him, into the whipping wind and darkness.^"; else print "Duggers leaps out of the hatch. Chub shoves at you from behind, and you bail out after him. You still can't hear any voices.^"; game.state = 2; PlayerTo( midair, 1 ); "^You're in mid-air, falling fast. You can't see the ground, and there's nothing to see in the sky."; 64,65: game_counter.number++; if ( helmet hasnt general ) { !- helmet isn't damaged if ( player in emergency_station ) { if ( homing_beacon_switch has general ) { print "You leap down from the emergency station, Chub yelling, ~Let's go, Mitchum! Move! Move!~ as you fight your way to the hatch.^^"; } print "You leap down from the emergency station and get ready to bail out of the hatch.^^ Chub shoves you from behind, saying, ~Forget the beacon! Just get out of here, Mitchum! Move! Move!~^^ You yell, ~Yes sergeant!~ as you force your way through the hatch, into the whirling water and darkness.^^"; } } else if ( self has general ) { !- already reported helmet damage print "You pretend to have heard her. You jump down from the emergency station, give a quick salute, and bail out of the hatch.^^"; } else { if ( player in emergency_station ) { print "You leap down from the emergency station, and a spasm of pain shoots through your arm. Chub is yelling something, but you can't hear her. The fall must have damaged your helmet's comm system.^^ You pretend to have heard her. You give a quick salute and bail out of the hatch. "; } else { print "Chub yanks at your arm. You feel a spasm of pain shoot through it. She's yelling something, but you can't hear her. The fall must have damaged your helmet's comm system.^^ You pretend to have heard her. You give a quick salute and bail out of the hatch. "; } } game.state = 3; move Chub to marshlands; give game_counter general; game_counter.number = 22; give faceplate general; PlayerTo( marsh_underwater, 1 ); "You force yourself out of the craft, fighting the freezing water. Your legs seize up a few steps from the sinking craft, or maybe they're just caught in the muck. You lose your balance, but can't move your feet to stabilize yourself. Slime splashes up into your faceplate. Your hands sink into something gelatinous. Everything is cold. You must be underwater."; } ], has scenery static openable neuter transparent ; Object -> emergency_station "emergency station" with name 'emergency' 'station' 'swivel' 'chair', description "The emergency station is a swivel chair three steps up a ladder, facing a panel with rugged switches and levers.", before [; Go: if ( noun == d_obj ) { PlayerTo( startroom, 1 ); print "You climb down from the emergency station.^"; return 3; } if ( noun == u_obj ) { print "You're already in the emergency station.^"; return 2; } return 0; Enter: if ( game_counter.number == 13 || game_counter.number == 14 ) { give game_counter general; game_counter.number++; switch ( game_counter.number ) { 14: game.state = 1; if ( player in emergency_station ) PlayerTo( startroom, 1 ); "Chub says, ~Duggers!~^^ Duggers is already up the ladder and grabbing for the parachute release levers. He yanks them hard, there is a noise like a screech owl colliding with a sheet of inch-thick plexiglass, and then the cabin seems to stop in midair, jolting everything that's not nailed down, which includes you and Duggers. The two of you smash to the cabin floor. You land on your side, the hard ammo clips strapped to your side bruising your ribs, damn near cutting through your suit."; 15: give helmet general; "Just as you start to sit up, Duggers attacks your throat with his elbow, crushing your windpipe. You flop backwards like an upended beetle, choking and gagging, pain throbbing outward from your neck, your lungs burning.^^ The fall seems to have damaged your helmet, because you can't hear Duggers' voice any more. He's holding you by your gear straps, his faceplate right in front of yours, screaming obscenities. Probably just as well that you can't hear it."; } } ], after [; Enter: if ( self hasnt general ) { give self general; "You swing yourself from the hatchway up into your emergency station. You're already starting to sweat inside your suit, but there isn't time to adjust the coolant controls."; } "You swing yourself up into the emergency station. "; ], has scenery supporter enterable transparent ; Object -> panel "panel" with name 'panel', description "The emergency station panel has two levers. Pulling them releases the landing craft's emergency parachutes. There are three switches: homing beacon launch, distress call broadcast, and self-destruct failsafe. You aren't under orders to use the switches right now. ", has scenery ; Object -> levers "levers" with name 'lever' 'levers', description "Pulling these levers will deploy the AVLC's emergency parachutes.", before [; Pull: if ( player notin emergency_station ) "You have to be at the emergency station in order to pull the levers. "; if ( self has general ) "You've already deployed the chutes. "; if ( game.state ==1 ) "The chutes are already deployed. "; give self general; game.state = 1; switch( game_counter.number ) { 1,2,3,4,5: game_counter.number = 17; game.state = 2; print "You pull hard on the levers, which ratchet into a locked position with a satisfying, weighty ~ka-chunk.~ From above, there is a noise like a screech owl colliding with a sheet of inch-thick plexiglass, and then the cabin seems to stop in midair, jolting everything that's not nailed down, which includes you and Duggers.^"; print "^Chub hollers, ~Dammit! I said on my mark, Mitchum!~ She comes bolting into view. ~We were still falling too fast to deploy. The chutes tore. We need to bail out.~^^ Duggers leaps out of the hatch. Chub shoves at you from behind.^"; PlayerTo( midair, 1 ); "^You're in mid-air, falling fast. You can't see the ground, and there's nothing to see in the sky."; 6,7,8,9: game_counter.number = 17; game.state = 2; print "You pull hard on the levers, which ratchet into a locked position with a satisfying, weighty ~ka-chunk.~ From above, there is a noise like a screech owl colliding with a sheet of inch-thick plexiglass, and then the cabin seems to stop in midair, jolting everything that's not nailed down, which includes you and Duggers.^"; print "^Chub hollers, ~Dammit! I said on my mark, Mitchum!~ She comes bolting into view. ~We were still falling too fast to deploy. The chutes tore. We need to bail out.~^^ Duggers leaps out of the hatch. Chub shoves at you from behind.^"; PlayerTo( midair, 1 ); "^You're in mid-air, falling fast. You can't see the ground, and there's nothing to see in the sky."; 10,11: game_counter.number = 17; game.state = 2; print "You pull hard on the levers, which ratchet into a locked position with a satisfying, weighty ~ka-chunk.~ From above, there is a noise like a screech owl colliding with a sheet of inch-thick plexiglass, and then the cabin seems to stop in midair, jolting everything that's not nailed down, which includes you and Duggers.^"; print "^Chub hollers, ~Dammit! I said on my mark, Mitchum!~ She comes bolting into view and yanks you down, eyeball to eyeball. ~Since when does 'shit' mean 'mark,' Mitchum? We were still falling too fast to deploy. The chutes tore.~^^ Chub lets go of you and blows open the hatch. Icy wind snarls around the cabin, dragging at you. ~Bail out! And I mean now, fuckwit!~^^ Duggers gives you a curled sneer and leaps out of the hatch. Chub shoves at you from behind.^"; PlayerTo( midair ); rtrue; 12: game_counter.number = 58; intact_craft = 1; print "You pull hard on the levers, which ratchet into a locked position with a satisfying, weighty ~ka-chunk.~ From above, there is a noise like a screech owl colliding with a sheet of inch-thick plexiglass, and then the cabin seems to stop in midair, jolting everything that's not nailed down, which includes you and Duggers.^"; print "^Chub saunters into view. ~Good work, Mitchum. All right, let's strap in and get ready for touchdown. That means you too, Duggers.~^^ Duggers says, ~I got a hand on the strap, don't I?~^^ Chub says, ~Fine. Stand up if you want. When your kneecaps blow out and your hamstrings are severed by the compound fractures of your thigh bones you can crawl your ass through the swamp. Doesn't make any difference to me, as long as you keep one hand free to salute.~^^ Duggers gives Chub a severe salute and lowers his stubborn ass down onto the bench. You plunk down next to him.^"; PlayerTo( benches, 1 ); rtrue; 13: game_counter.number = 60; intact_craft = 1; print "You pull hard on the levers, which ratchet into a locked position with a satisfying, weighty ~ka-chunk.~ From above, there is a noise like a screech owl colliding with a sheet of inch-thick plexiglass, and then the cabin seems to stop in midair, jolting everything that's not nailed down, which includes you and Duggers.^"; print "^Chub hollers, ~Dammit! I said on my mark, Mitchum!~ She comes bolting into view. ~All right, let's strap in and get ready for touchdown. That means you too, Duggers.~^^ Duggers says, ~I got a hand on the strap, don't I?~^^ Chub says, ~Fine. Stand up if you want. When your kneecaps blow out and your hamstrings are severed by the compound fractures of your thigh bones you can crawl your ass through the swamp. Doesn't make any difference to me, as long as you keep one hand free to salute.~^^ Duggers gives Chub a severe salute and lowers his stubborn ass down onto the bench. You plunk down next to him.^"; PlayerTo( benches, 1 ); rtrue; 14: game.state = 1; give game_counter general; if ( player in emergency_station ) PlayerTo( startroom, 1 ); "Too late. Duggers is already up the ladder and grabbing for the parachute release levers. He yanks them hard, there is a noise like a screech owl colliding with a sheet of inch-thick plexiglass, and then the cabin seems to stop in midair, jolting everything that's not nailed down, which includes you and Duggers. The two of you smash to the cabin floor. You land on your side, the hard ammo clips strapped to your side bruising your ribs, damn near cutting through your suit."; } ], has scenery ; Object -> switches "switches" with name 'switches', description [; if ( game.state < 60 ) "There are three switches: homing beacon launch, distress call broadcast, and self-destruct failsafe. You aren't under orders to use the switches right now. "; "There are three switches: homing beacon launch, distress call broadcast, and self-destruct failsafe. "; ], before [; Push: if ( player notin emergency_station ) "You have to be at the emergency station in order to push the switches. "; "You'll have to specify which switch you mean."; ], has scenery ; SwitchItem -> homing_beacon_switch "homing beacon switch" with name 'switch' 'homing' 'beacon', description "A rugged switch. Pushing it launches the AVLC's homing beacon. ", before [; Switchon, Push, Launch, Activate: if ( game_counter.number == 65 ) { print "No time for that now. "; <>; } if ( player notin emergency_station ) "You have to be at the emergency station in order to launch the homing beacon. "; if ( self has general ) "The homing beacon has already been launched. "; give self general; "You launch the homing beacon."; Switchoff: if ( self has general ) "The homing beacon has already been launched. "; "The homing beacon launch switch is already off. "; ], ; SwitchItem -> distress_call_switch "distress call switch" with name 'switch' 'distress' 'call', description "A rugged switch. Pushing it broadcasts a general distress call. ", before [; Switchon, Push, Broadcast, Activate: if ( player notin emergency_station ) "You have to be at the emergency station in order to broadcast a distress call. "; if ( self has general ) "The distress call has already been broadcast. "; give self general; "You broadcast the distress call. Hopefully, someone up there on the Defender will hear it."; Switchoff: if ( self has general ) "The distress call has already been broadcast. "; "The distress call broadcast switch is already off. "; ], ; SwitchItem -> self_destruct_failsafe_switch "self-destruct failsafe" with name 'switch' 'self-destruct' 'self' 'destruct' 'failsafe' 'fail-safe' 'fail' 'safe' 'mechanism', description "A rugged switch. Pushing it allows the craft's self-destruct mechanism to be activated from the helm. ", before [; Switchon, Push, Activate: if ( player notin emergency_station ) "You have to be at the emergency station in order to push the self-destruct failsafe switch. "; if ( self has general ) "You are under orders not to push the failsafe switch."; give self general; give self primed; if ( game_counter.number > 6 ) { give self ~general; "You push the self-destruct failsafe switch. You hope Chub doesn't accidentally hit the actual destruct button at the helm. "; } if ( helmet has general ) "You push the self-destruct failsafe switch. Immediately, Chub shuts it off again. "; "You push the self-destruct failsafe switch. Immediately, Chub says, ~Mitchum! What in the name of Pleiades are you doing? Switch that off! That's an order!~ "; Switchoff: if ( self hasnt general ) "The self-destruct failsafe switch is already off. "; if ( self has light ) "The self-destruct failsafe switch is already off. "; give self light; "You switch off the self-destruct failsafe. "; ], ; Object -> ladder "ladder" with name 'ladder' 'step' 'steps', description "It's just the ladder up to the emergency station. ", before [; Climb: <>; ], has scenery ; Character Duggers "Duggers" with name 'private' 'pvt' 'duggers' 'dug' 'dig-dug' 'dig' 'dale', description [; "Private Dale ~Dig-Dug~ Duggers is a hulking brute and an absolute killing machine. Also, a pretty good chess player. "; ], describe [; if ( game_counter.number < 14 ) { print "^Duggers is below, one boot up on the bench, holding a safety strap with one hand. "; if ( self hasnt general ) { give self general; "Thinks he's on the damn bullet train. He's survived forty missions, thinks he's invulnerable now."; } else { new_line; rtrue; } } if ( game_counter.number > 58 ) { switch ( game_counter.number ) { 59,60,61,62: "^Duggers is strapped into the benches, mumbling something to his plasma rifle. "; 63: "^Duggers is on his feet and at the hatchway. "; } } ], SayQ [line; switch (line) { 0: "Duggers, your girlfriend's a skank."; 1: "Yo mama."; 2: "Yeah, I hear ya."; 3: "I'll say what I like, bitch!"; 4: "Fuck off."; } ], Respond [line; switch (line) { 0: self.QuipsOff(2, 0,1); self.QuipsOn(3, 2,3,4); "^Duggers says, ~Don't you be talkin' that way about Lashawnda, motherfucker! I'll shuffle yo pasty pink Iowa corn-fed ass off this mortal fuckin' coil, you hear what I'm saying?~"; 1: print "^Duggers says, ~No, *yo* mama.~^"; rfalse; 2: if ( game_counter.number < 4 ) game_counter.number = 3; self.QuipsOff(3, 2,3,4); self.QuipOn(1); "^Duggers snorts. ~You got that goddamn right. Now don't let me hear you talk that shit again.~"; 3: if ( game_counter.number < 4 ) game_counter.number = 3; self.QuipsOff(3, 2,3,4); self.QuipOn(1); "^Duggers bursts into hoarse laughter. ~Man, you crack me up,~ he says. His face goes stony again. ~Just don't push me.~"; 4: if ( game_counter.number < 4 ) game_counter.number = 3; self.QuipsOff(3, 2,3,4); self.QuipOn(1); "^Duggers belches and says, ~Ah, fuck you.~"; } ], InitQuips [; self.QuipsOn(2, 0,1); ], life [; Attack: if ( game_counter.number == 39 ) { give game_counter general; game_counter.number++; game.state = 8; move Chub to marshlands2; PlayerTo( marshlands2, 1 ); "You shoot Duggers. He goes down, a surprised look on his face as the tick sails over him. Chub charges over to you and hits you in the face with her rifle butt.^^ ~What the fuck did you just do, Corporal?~ she says as you stand up again.^^ ~It was going to get him. You know what those things do when they kill someone. It's torture. I couldn't let it happen.~ There is a dead silence. The bugs are gone. There's two of you left."; } "Think twice about that, soldier -- once for each of Duggers' mammoth hands, which would lift you up and snap you over his knee like a broomstick if you started something. "; Kiss: "Um, no."; Show, Give: if ( noun == holovid || noun == zipper_icon ) { if ( game_counter.number < 4 ) { give game_counter general; game_counter.number = 4; move holovid to Duggers; "You hand the holovid back to Duggers. ~I bet you wish you had a fine woman like this, huh?~ he says. He gives his girlfriend's picture a long gaze before stashing it into a back pocket."; } if ( holovid in Duggers ) "Duggers already has it."; "You aren't holding the holovid."; } print "Duggers doesn't need "; ThatOrThose(noun); "."; ], before [; Shoot: if ( game_counter.number == 39 ) { give game_counter general; game_counter.number++; game.state = 8; move Chub to marshlands2; PlayerTo( marshlands2, 1 ); "You shoot Duggers. He goes down, a surprised look on his face as the tick sails over him. Chub charges over to you and hits you in the face with her rifle butt.^^ ~What the fuck did you just do, Corporal?~ she says as you stand up again.^^ ~It was going to get him. You know what those things do when they kill someone. It's torture. I couldn't let it happen.~ There is a dead silence. The bugs are gone. There's two of you left."; } "Sure, you hate Duggers, but that's no reason to mow him down with a plasma rifle. That might just make him mad. "; Push: "Duggers says, ~I'm tellin' you man, don't push me.~"; ], has male proper transparent ; Character Chub "Chub" with name 'sergent' 'sgt' 'sargent' 'sarge' 'chub' 'chaplin' 'ann', description [; "Sgt. Ann ~Chub~ Chaplin is a good solider. You've only been under her command for three weeks, but she seems like she knows what she's doing in a firefight. "; ], describe [; if ( game_counter.number < 14 ) { print "^Chub is tucked around the corner at the helm. You can't see her, but you can hear her voice in your helmet. "; if ( self hasnt general ) { give self general; "~On my mark. On my mark...~"; } else { new_line; rtrue; } } if ( game_counter.number > 58 ) { switch ( game_counter.number ) { 59: "^Chub is strapped into the benches, counting down. "; 60: "^Chub is strapped into the benches, counting down. "; 61: "^Chub is strapped into the benches, counting down. "; 62: "^Chub is strapped into the benches, counting down. "; 63: "^Chub is already on her feet, grabbing extra rations and munitions. "; 64: "^Chub races back and forth, making sure everything you'll need is secured."; 65: if ( helmet hasnt general ) "^Chub is at the hatchway, standing firm against the inrushing water, motioning for you to get out."; "^Chub is at the hatchway, standing firm against the inrushing water. "; } } ], InitQuips [; self.QuipOn(0); ], SayQ [line; switch (line) { 0: "Yes sergeant."; 2: "Sarge, let's set off the Buzz Busta's self-destruct. Wipe out all the bugs."; } ], Respond [line; switch (line) { 0: print "^You affirm Chub's authority.^"; rfalse; 2: self.QuipOff(2); print "^Chub says, ~No.~"; rfalse; } ], before [; Shoot: "Disintegrating a senior officer while on a combat mission is unlikely to advance either your career or your life. "; ], life [; Attack: "Idle thoughts about how your court martial might go keep you from acting on this impulse."; Kiss: "Save it for shore leave."; Show, Give: print "Chub doesn't need "; ThatOrThose(noun); "."; ], orders [; Yes,No: "You answer Chub."; ], has female proper transparent ; Room midair "In mid-air" with name 'air' 'atmosphere' 'ether', description "You're in mid-air, falling fast. You can't see the ground, and there's nothing to see in the sky.", cant_go "You adjust your direction slightly, but mostly you try to stay on target. ", ; Room marsh_underwater "Underwater" with description "Everything is cold. You must be underwater.", before [; Stand, Wait, Go, Shoot, Pull, Drop: rfalse; default: "You try, but it just makes you seep deeper into the murk. "; ], u_to [; <>; ], cant_go "You try, but it just makes you seep deeper into the swamp. ", ; Object -> clouds "clouds" with name 'cloud' 'clouds' 'layer' 'cloud-layer', description "The clouds show up in your goggles only as shifting white shapes.", has scenery ; Object -> mist "mist" with name 'mist' 'ground', description "The mist shows up in your goggles only as a shifting white haze.", has scenery ; Object -> crash_flare "flare" with name 'round' 'green' 'white' 'white-green' 'green-white' 'flare' 'landing' 'craft' 'crash' 'crashing' 'explosion', description "The flare has already faded.", has scenery ; Room marsh_standing "Marshlands" with description "You still can't see anything with your faceplate covered with slime. " ; Room marshlands "Marshlands" with description "The landscape is pitch black, even in your goggles. No heat from the freezing swampwater. Out of the blackness, looming shapes in obscene colors. You aren't supposed to see colors through these goggles, and you wonder if you're doing worse than you thought.^^ The shapes are mushrooms, hundreds of them, rising on their moist stalks, ballooning heads eighteen feet around, eight feet high. You can't get much of a sight beyond them. There's too many mushrooms. Maybe you should waste some ammo clearing a sightline. Then again, maybe you don't have any ammo to waste, now.", cant_go "You slog a few steps in that direction. ", s_to [; if ( intact_craft == 1 ) { move submerged_landing_craft to location; "You slog a few steps in that direction. Your foot runs into something solid, probably the submerged landing craft. "; } "You slog a few steps in that direction. "; ], ; Object mushrooms "mushrooms" with name 'shroom' 'shrooms' 'mushroom' 'mushrooms' 'purple' 'blue' 'colors' 'color' 'colored' 'black' 'poison' 'poisoned' 'caps' 'moist' 'stalk' 'stalks' 'heads' 'cap', description "The shapes are mushrooms, hundreds of them, rising on their moist stalks, ballooning heads eighteen feet around, eight feet high. You can't get much of a sight beyond them. ", found_in marshlands marshlands2 marshlands_rescue low_ladder mid_ladder high_ladder, before [; Take: "They're poisonous to humans."; Eat: "They're poisonous to humans."; Attack, Shoot: if ( game_counter.number < 33 ) <>; give game_counter general; game_counter.number++; switch ( game_counter.number ) { 33: game_counter.number = 34; score = score + 90; "You hear the roar of many feet, so many feet it makes your stomach turn. Up ahead, through that dense maze of mushrooms, you see a slickened shape pass by, west to east.^^ Chub shouts, ~Fire!~^^ You fire Charlene into the darkness. She purrs and growls. She's jumpy today, you can tell. Or maybe you are. You aim for the mushrooms, hoping to give Duggers and Chub a better sightline. The mushrooms explode into clouds of spores. Fast-growing spores, you remember. In ten minutes, there will be more of them, full-sized. How are you supposed to win a war like this?"; 34: score = score + 90; "You fire Charlene into the darkness. She purrs and growls. She's jumpy today, you can tell. Or maybe you are. You aim for the mushrooms, hoping to give Duggers and Chub a better sightline. The mushrooms explode into clouds of spores. Fast-growing spores, you remember. In ten minutes, there will be more of them, full-sized. How are you supposed to win a war like this?"; 35: score = score + 60; "All you hit are more mushrooms, but you clear a path. Up ahead, the behemoth twists like a snake, heading west, then east, then directly at you. Duggers fires at the head of it, and the head explodes, but the beast keeps coming. It turns east again."; 36: score = score + 25; "You fire at the mushrooms, but a stray shot cuts the bug in two. The damn segments don't stop moving, though. Now there's two bugs, each twisting this way and that. One segment reaches a small tunnel, formed by columns of mushrooms to each side, and it twists between them, heading straight for you.^^ ~Fire! Fire!~ Chub screams."; 37: game.state = 7; score = score + 120; "Charlene is white hot, searing your naked fingers. You love her most of all when she's like this, when she's on fire. Your skin melds with hers. Your hands become iron, her body becomes soft flesh.^^ Your rifles flare in the damp night, shooting plasma pulses a million degrees hot and moving at 400 miles an hour. You've managed to clear a broad path through the mushrooms, giving everyone open sights. The charging beast loses its head, and then another head, and then another head, and then another. Suddenly, there are no more heads, it is gone.^^ The second segment twists into view, just beyond the closest range of mushrooms, about to invade your empty black marshland base.^^ Another noise, unlike the steady thrum of these insect feet, begins to grow, with a doppler effect, from dead ahead. A flying bug."; 38: score = score + 10; "You fire at the mushrooms, giving you light to see what's coming. It's a tick, two tons of chitinous carapace, bristly fangs, and bug meat, hurtling straight at the three of you, over the tops of the mushrooms. Its lazy feet scrape the mushroom heads, poisoning them as it passes, making the mushrooms change to ugly colors. If another bug touches one of those, it'll go into a hallucinogenic frenzy.^^ ~Spread out! Spread out!~ Chub shouts."; 39: score = score + 20; "You dodge left and fire at the mushrooms, hoping the tick will pass by if you ignore it. Chub has a similar idea. She concentrates on the centipede, her plasma shots splitting the centipede again in two. They're coming at you from both sides now.^^ Duggers is right in the tick's path. He stands his ground, shouting at the sonofabitch. Duggers fires at it, misses. Fires again, misses. It's coming in too fast, even for Duggers."; 40: game.state = 8; move Chub to marshlands2; PlayerTo( marshlands2, 1 ); score = score + 80; "You can't worry about Duggers. You spin on your heels, firing at the mushrooms. Chub orders you to knock it off and hit the damn bugs. You blast, nearly point blank, at one of them as Chub guns down the other. They're quickly reduced to burning froth, a pair of greasy eddies in the water.^^ You swing to Chub for a high five just in time to see the tick mow Duggers down. Its sticky feet latch onto his body, his face purples and blackens as he's carted away to some nest to be digested. There is a scream in your helmet, and then silence.^^ Dead silence. The bugs are gone. There's just two of you left."; 41: score = score + 110; "You were right. More mushrooms have grown up already. It's harder to see. You shoot at them, trying to clear the sightlines you had opened ealier. Up ahead, you see the segmented beast twisting this way and that. Up ahead, you hear another tick approaching like a dive bomber, coming right at you and Chub.^^ Up ahead, you hear the thrum. Wave number two. Or is it just a continuation of the first wave?^^ Something else, something new. Feet clicking, splashing, an almost musical chirp as the legs saw back and forth. What the hell? Some sort of cricket? No."; 42: score = score + 20; "You shoot at some random mushrooms, and in the glow of the plasma bolts you see what it is. It's a scorpion, sidling sideways. Fortunately, it's not coming at you. You take it out with one quick shot. You're getting better at this.^^ From below comes the beast itself. Chub fires twice, cuts it into three parts, damn her eyes.^^ From the sky comes another tick, its poisonous legs turning the mushrooms purple and blue."; 43: score = score + 50; "While you waste some ammo on mushrooms, Chub concentrates her fire on the tick, and she vaporize it with only about four yards to spare, a split-second. Plasma spray and unvaporized bug bits sizzle over both of you, a wet coat of death.^^ And then you hear another tick, bearing down on you, following its kamikaze partner, poisoning even more mushrooms."; 44: score = score + 40; "Chub takes a lucky shot and destroys the second tick before it even gets close. You try to get rid of the poisoned mushrooms it left in its wake. They're all in a column, so you hold your ground and fire steadily, but Charlene's acting up, and you miss more times than you should. You adjust your grip and fire again, but it's already too late.^^ One of the centipede segments hit the poisoned mushrooms, and the oil gets into its skin, scrambling its stupid bug neurons. Crazed, it charges forward, straight at you. Another segment hits another poisoned shroom, and it, too, charges screaming at you.^^ The two segments swoop down on either side of you and Chub, circle, and play back and forth, zigzagging. The poison's worn off, thankfully."; 45: score = score + 30; "You decide to stand still, take time to clear away more mushrooms, when Chub shouts a warning.^^ You see more centipedes arriving out of the darkness to your left and right. Where are they coming from? Just two segments each, a head and a tail, joining the dance. There's five of these damn things now, and more every minute."; 46: game_counter.number = 57; score = score + 60; "You shoot and shoot at the mushrooms, vaporizing as many as you can. That's when you get it from behind. Fucking bastard, you think, as one of the segments of the beast crushes you, biting off your legs.^^ There's no time to feel pain, or maybe there isn't any pain. Some sort of anesthetic in the saliva, you remember. You're not going down quietly. You try to turn your rifle around, fire at the damn thing point-blank, but suddenly your arms don't work.^^ ~Shoot it! Shoot it!~ you yell to Chub, but you don't hear any sound come out. You feel a disgusting wobble where you used to have a jaw."; 47: game_counter.number = 48; score = score + 80; "You can't see for all of the mushrooms blocking your way. You can hear movement, far ahead, but you can't see anything but the mushrooms. They're different colors now. Are you hallucinating? And where's the backup Chub called for? How long are they going to take?^^ You vent your frustrations on the mushrooms, shooting again and again. They explode, releasing spores that will grow more of them soon. You don't care. You need the space to move if you're going to win this battle, if you're going to survive.^^ You know, though, that it's just a matter of time. You wonder what the point of this is, and you laugh. It's a sick joke to someone up there in HQ, someone in a chushy office on Atari Prime. It's just some stupid game."; 48: score = score + 90; "You vent your frustrations on the mushrooms, shooting again and again. They explode, releasing spores that will grow more of them soon. You don't care. You need the space to move if you're going to win this battle, if you're going to survive.^^ You know, though, that it's just a matter of time. You wonder what the point of this is, and you laugh. It's a sick joke to someone up there in HQ, someone in a chushy office on Atari Prime. It's just some stupid game."; 49: score = score + 370; "Charlene's singing now. She's found her sweetest rhythm, and you follow along with it. You hear the thunder, the singsong chirping, the freight train whistle doing its doppler effect, doubled, tripled. All the bugs are back. More than ever. You and Charlene are ready. You clear your sightlines, blowing away dozens of mushrooms.^^ A tick whizzes by you to your left, just missing you. You hear it hiss its hatred."; 50: score = score + 30; "Another flies by to the right, dripping poison. The mushroom right in front of you warps, rots, seems to right itself. You destroy it. There's another deadly one behind it. You shoot that one, too, and another."; 51: score = score + 100; "A lucky shot aimed at a mushroom obliterates a scorpion, but another tick comes, and the beast is moving fast."; 52: score = score + 50; if ( distress_call_switch has general ) { give game_counter general; game_counter.number = 70; PlayerTo( marshlands_rescue, 1 ); "Charlene mows down as many poisoned mushrooms as she can, but she's starting to get tired, and your fingers are blistering. Once again, it's too late. The murshrooms have done their work. The crazed behemoth charges; once again, you are surrounded. Once again, new segments arrive from nowhere, spinning in circles around you.^^ Just as you dig in your heels for your last stand, there is a flare of light in the western sky."; } "Charlene mows down as many poisoned mushrooms as she can, but she's starting to get tired, and your fingers are blistering. Once again, it's too late. The murshrooms have done their work. The crazed behemoth charges; once again, you are surrounded. Once again, new segments arrive from nowhere, spinning in circles around you.^^ And still one last tick comes, and this one has your name on it."; 53: score = score + 10; "You give up. Laughing, you fire at some mushrooms as the tick bears down on you."; 54: score = score + 20; "You fire at some mushrooms. The tick is going to get you."; 55: "You take aim at a mushroom, and miss. You brace yourself for your death. You stare that tick right in its glassy, metallic blue-green eyes. One last chance, it's almost here."; 56: deadflag = 4; "You fire at a mushroom. The tick mows you down. As simply as that, you're dead."; 57: "You can't.^^ You're flipped over on your back, and something viscous and yellow oozes onto your faceplate, dissolving it. Suddenly your eyes don't work, and you can't scream. You see a dull red that turns brown and black in splotches, like the way the colors on a bubble turn before the bubble pops, and it's dead."; 58: deadflag = 4; "It's all over, soldier. The last thought that comes to you makes you laugh. It's that old joke. What's the last thing to go through a bug's mind as it hits your windshield? Its --.^"; 70: deadflag = 4; "It's all over, soldier.^^ Distantly, you hear the thrashing of boots through water, the dulled booms of plasma rifles firing. Someone is trying to pull at one of your boots, but their hands slip away. The last bit of air in your lungs escapes, poisonous water takes its place. "; 71: score = score + 10; "You concentrate on firing, not wanting to take the time to glance up. As the flare grows and you hear the noise, you know exactly what it is. It's a rescue shuttle, hovering low, dangling a ladder."; 72: score = score + 10; "You ignore the ladder and fire, hitting a nearby mushroom. Low in the sky, still one last tick comes, and this one has your name on it."; 73: if ( player in marshlands_rescue ) { game_counter.number = 57; "You get it from behind. Fucking bastard, you think, as one of the segments of the beast crushes you, biting off your legs.^^ There's no time to feel pain, or maybe there isn't any pain. Some sort of anesthetic in the saliva, you remember. You scream anyway, just like Chub. You're not going down quietly. You try to turn your rifle around, fire at the damn thing point-blank, but suddenly your arms don't work.^^ ~Shoot it! Shoot it!~ you yell, but you don't hear any sound come out. You feel a disgusting wobble where you used to have a jaw."; } "The shuttle struggles in the air, trying to gain altitude without shaking you off. The tick is either going to knock you off the ladder or take out the whole shuttle."; 74: "You fire at some mushrooms. The tick is going to get you."; 75: "You take aim at a mushroom, and miss. You brace yourself for your death. You stare that tick right in its glassy, metallic blue-green eyes. One last chance, it's almost here."; 76: deadflag = 4; "You fire at a mushroom. The tick mows you down. As simply as that, you're dead."; 77: "You can't.^^ You're flipped over on your back, and something viscous and yellow oozes onto your faceplate, dissolving it. Suddenly your eyes don't work, and you can't scream. You see a dull red that turns brown and black in splotches, like the way the colors on a bubble turn before the bubble pops, and it's dead."; 78: deadflag = 4; "It's all over, soldier. The last thought that comes to you makes you laugh. It's that old joke. What's the last thing to go through a bug's mind as it hits your windshield? Its --.^"; } ], has scenery ; Object centipede "centipede" with name 'bug' 'bugs' 'beast' 'beasts' 'segment' 'segmented' 'segments' 'centipede' 'centipedes' 'behemoth' 'monster', description [; if ( game_counter.number < 33 ) "You can't see it yet. "; if ( game_counter.number == 33 ) { give game_counter general; game_counter.number++; "You hear the roar of many feet, so many feet it makes your stomach turn. Up ahead, through that dense maze of mushrooms, you see a slickened shape pass by, west to east.^^ Chub shouts, ~Fire!~"; } "The beast is a twisting, segmented centipede. Each segment is capable of independent movement. Unless you shoot all of its segments, it keeps coming."; ], found_in marshlands marshlands2 marshlands_rescue low_ladder mid_ladder high_ladder, before [; Attack, Shoot: if ( game_counter.number < 33 ) <>; give game_counter general; game_counter.number++; switch ( game_counter.number ) { 33: game_counter.number = 34; score = score + 30; "You hear the roar of many feet, so many feet it makes your stomach turn. Up ahead, through that dense maze of mushrooms, you see a slickened shape pass by, west to east.^^ Chub shouts, ~Fire!~^^ You fire Charlene into the darkness. She purrs and growls. She's jumpy today, you can tell. Or maybe you are. You aim for the centipede, but you hit only mushrooms that explode into clouds of spores. Fast-growing spores, you remember. In ten minutes, there will be more of them, full-sized. How are you supposed to win a war like this?"; 34: score = score + 30; "You fire Charlene into the darkness. She purrs and growls. She's jumpy today, you can tell. Or maybe you are. You aim for the centipede, but you hit only mushrooms that explode into clouds of spores. Fast-growing spores, you remember. In ten minutes, there will be more of them, full-sized. How are you supposed to win a war like this?"; 35: score = score + 40; "All you hit are more mushrooms, but you clear a path. Up ahead, the behemoth twists like a snake, heading west, then east, then directly at you. Duggers fires at the head of it, and the head explodes, but the beast keeps coming. It turns east again."; 36: score = score + 25; "You fire at the beast, cutting the bug in two. The damn segments don't stop moving, though. Now there's two bugs, each twisting this way and that. One segment reaches a small tunnel, formed by columns of mushrooms to each side, and it twists between them, heading straight for you.^^ ~Fire! Fire!~ Chub screams."; 37: game.state = 7; score = score + 50; "Charlene is white hot, searing your naked fingers. You love her most of all when she's like this, when she's on fire. Your skin melds with hers. Your hands become iron, her body becomes soft flesh.^^ Your rifles flare in the damp night, shooting plasma pulses a million degrees hot and moving at 400 miles an hour. The charging beast loses its head, and then another head, and then another head, and then another. Suddenly, there are no more heads, it is gone.^^ The second segment twists into view, just beyond the closest range of mushrooms, about to invade your empty black marshland base.^^ Another noise, unlike the steady thrum of these insect feet, begins to grow, with a doppler effect, from dead ahead. A flying bug."; 38: "You fire at the centipede and miss, but it gives you light to see what's coming. It's a tick, two tons of chitinous carapace, bristly fangs, and bug meat, hurtling straight at the three of you, over the tops of the mushrooms. Its lazy feet scrape the mushroom heads, poisoning them as it passes, making the mushrooms change to ugly colors. If another bug touches one of those, it'll go into a hallucinogenic frenzy.^^ ~Spread out! Spread out!~ Chub shouts."; 39: score = score + 25; "You dodge left, hoping the tick will pass by if you ignore it. You and Chub concentrate on the centipede, your plasma shots splitting it again in two. They're coming at you from both sides now.^^ Duggers is right in the tick's path. He stands his ground, shouting at the sonofabitch. Duggers fires at it, misses. Fires again, misses. It's coming in too fast, even for Duggers."; 40: score = score + 150; move Chub to marshlands2; game.state = 8; PlayerTo( marshlands2, 1 ); "You can't worry about Duggers. You spin on your heels, firing point blank, at one of the centipedes as Chub guns down the other. They're quickly reduced to burning froth, a pair of greasy eddies in the water.^^ You swing to Chub for a high five just in time to see the tick mow Duggers down. Its sticky feet latch onto his body, his face purples and blackens as he's carted away to some nest to be digested. There is a scream in your helmet, and then silence.^^ Dead silence. The bugs are gone. There's just two of you left."; 41: "You can't see it to fire at it. More mushrooms have grown up already, blocking your view. Up ahead, you hear the segmented beast twisting this way and that. Up ahead, you hear another tick approaching like a dive bomber, coming right at you and Chub.^^ Up ahead, you hear the thrum. Wave number two. Or is it just a continuation of the first wave?^^ Something else, something new. Feet clicking, splashing, an almost musical chirp as the legs saw back and forth. What the hell? Some sort of cricket? No."; 42: score = score + 50; "You shoot as best you can at the centipede, but all you manage to do is to cut it into three parts, damn your eyes.^^ In the glow of Charlene's plasma bolts you see what this new bug is. It's a scorpion, sidling sideways. Fortunately, it's not coming at you. Chub takes it out with one quick shot.^^ From the sky comes another tick, its poisonous legs turning the mushrooms purple and blue."; 43: score = score + 125; "While you destroy one of the three segments, Chub concentrates her fire on the tick. She vaporize it with only about six yards to spare. Plasma spray and unvaporized bug bits sizzle over both of you, a wet coat of death.^^ And then you hear another tick, bearing down on you, following its kamikaze partner, poisoning even more mushrooms."; 44: score = score + 75; "Chub takes a lucky shot and destroys the second tick before it even gets close. You try to get rid of the remaining centipedes before they brush past the poisoned mushrooms, but Charlene's acting up, and you miss more times than you should. You adjust your grip and fire again, but now it's too late.^^ One of the centipede segments hit the poisoned mushrooms, and the oil gets into its skin, scrambling its stupid bug neurons. Crazed, it charges forward, straight at you. Another segment hits another poisoned shroom, and it, too, charges screaming at you.^^ The two segments swoop down on either side of you and Chub, circle, and play back and forth, zigzagging. The poison's worn off, thankfully."; 45: score = score + 50; "You charge, firing with deadly aim. One down. You're just about to congratulate yourself when Chub shouts a warning.^^ You see more centipedes arriving out of the darkness to your left and right. Where are they coming from? Just two segments each, a head and a tail, joining the dance. There's four of these damn things now, and more every minute."; 46: game.state = 9; remove Chub; score = score + 100; "You shoot and shoot, vaporizing as many as you can. You start to think you're winning, that you're going to get out of this, when out of the corner of your eye, you see Chub backing up, not looking where she's going. You yell for her to move, to watch out. You're still busy firing as you try to move closer to her, to yank her out of the way, to give her cover, but it's too late. A new segment dances into the marsh, runs Chub down, stomps her into the muck. You hear a shriek in your helmet that becomes a helpless gurgle. The beast drips acid out of its flanks, out of its disgusting glands, and something sizzles underwater.^^ A final shot from your rifle sails into the gloom. Far away, a mushroom explodes.^^ Again, silence. And you're the only one left."; 47: game_counter.number = 48; score = score + 70; "You can't see for all of the mushrooms blocking your way. You can hear movement, far ahead, but you can't see anything but the mushrooms. They're different colors now. Are you hallucinating? And where's the backup Chub called for? How long are they going to take?^^ You vent your frustrations on the mushrooms, shooting again and again. They explode, releasing spores that will grow more of them soon. You don't care. You need the space to move if you're going to win this battle, if you're going to survive.^^ You know, though, that it's just a matter of time. You wonder what the point of this is, and you laugh. It's a sick joke to someone up there in HQ, someone in a chushy office on Atari Prime. It's just some stupid game."; 48: score = score + 20; "You shoot blindly into the mushrooms, hoping to hit the centipede. They explode, releasing spores that will grow more of them soon. You don't care. You need the space to move if you're going to win this battle, if you're going to survive.^^ You know, though, that it's just a matter of time. You wonder what the point of this is, and you laugh. It's a sick joke to someone up there in HQ, someone in a chushy office on Atari Prime. It's just some stupid game."; 49: score = score + 325; "Charlene's singing now. She's found her sweetest rhythm, and you follow along with it. You hear the thunder, the singsong chirping, the freight train whistle doing its doppler effect, doubled, tripled. All the bugs are back. More than ever. You and Charlene are ready. A tick goes down, a scorpion explodes. Charlene's aiming for you, you can tell. The beast splits in two, but you eradicate half of it within seconds.^^ A tick whizzes by you to your left, just missing you. You hear it hiss its hatred."; 50: score = score + 55; "You blast at the head of the beast as another tick flies by to the right, dripping poison. The mushroom right in front of you warps, rots, seems to right itself. You destroy it. There's another deadly one behind it. You shoot that one, too, and another."; 51: score = score + 100; "A lucky shot aimed at the centipede obliterates a scorpion, but the beast is still moving fast, and another tick is coming."; 52: score = score + 150; if ( distress_call_switch has general ) { give game_counter general; game_counter.number = 70; PlayerTo( marshlands_rescue, 1 ); "Charlene mows down as many segments as she can, but she's starting to get tired, and your fingers are blistering. Once again, it's too late. The murshrooms have done their work. The crazed behemoth charges; once again, you are surrounded. Once again, new segments arrive from nowhere, spinning in circles around you.^^ Just as you dig in your heels for your last stand, there is a flare of light in the western sky."; } "Charlene mows down as many segments as she can, but she's starting to get tired, and your fingers are blistering. Once again, it's too late. The murshrooms have done their work. The crazed behemoth charges; once again, you are surrounded. Once again, new segments arrive from nowhere, spinning in circles around you.^^ And still one last tick comes, and this one has your name on it."; 53: "You ignore it, concentrating on the centipedes as the tick bears down on you."; 54: "You fire at the segments, but it's hard to hit them when they're this close, when there's so many. Either one of them or the tick is going to get you."; 55: score = score + 25; "You take careful aim at one of the segments and destroy it, but another takes its place, and another. You brace yourself for your death. The tick is almost here."; 56: deadflag = 4; "You spin on your heels, destroying a bug that was about to get you from behind. The tick mows you down, killing you instantly."; 57: "You can't.^^ You're flipped over on your back, and something viscous and yellow oozes onto your faceplate, dissolving it. Suddenly your eyes don't work, and you can't scream. You see a dull red that turns brown and black in splotches, like the way the colors on a bubble turn before the bubble pops, and it's dead."; 58: deadflag = 4; "It's all over, soldier. The last thought that comes to you makes you laugh. It's that old joke. What's the last thing to go through a bug's mind as it hits your windshield? Its --.^"; 70: deadflag = 4; "It's all over, soldier.^^ Distantly, you hear the thrashing of boots through water, the dulled booms of plasma rifles firing. Someone is trying to pull at one of your boots, but their hands slip away. The last bit of air in your lungs escapes, poisonous water takes its place. "; 71: "You concentrate on firing, not wanting to take the time to glance up. As the flare grows and you hear the noise, you know exactly what it is. It's a rescue shuttle, hovering low, dangling a ladder."; 72: score = score + 50; "You ignore the ladder and fire, vaporizing a nearby centipede. Low in the sky, still one last tick comes, and this one has your name on it."; 73: if ( player in marshlands_rescue ) { game_counter.number = 57; "You get it from behind. Fucking bastard, you think, as one of the segments of the beast crushes you, biting off your legs.^^ There's no time to feel pain, or maybe there isn't any pain. Some sort of anesthetic in the saliva, you remember. You scream anyway, just like Chub. You're not going down quietly. You try to turn your rifle around, fire at the damn thing point-blank, but suddenly your arms don't work.^^ ~Shoot it! Shoot it!~ you yell, but you don't hear any sound come out. You feel a disgusting wobble where you used to have a jaw."; } "The shuttle struggles in the air, trying to gain altitude without shaking you off. The tick is either going to knock you off the ladder or take out the whole shuttle."; 74: "You fire at some of the segments twisting below, but the tick is still coming right at you."; 75: "You take aim at the centipedes and miss. You brace yourself for death. You stare that tick right in its glassy, metallic blue-green eyes. One last chance, it's almost here."; 76: deadflag = 4; "You fire at the centipede. The tick mows you down. As simply as that, you're dead."; 77: "You can't.^^ You're flipped over on your back, and something viscous and yellow oozes onto your faceplate, dissolving it. Suddenly your eyes don't work, and you can't scream. You see a dull red that turns brown and black in splotches, like the way the colors on a bubble turn before the bubble pops, and it's dead."; 78: deadflag = 4; "It's all over, soldier. The last thought that comes to you makes you laugh. It's that old joke. What's the last thing to go through a bug's mind as it hits your windshield? Its --.^"; } ], has scenery ; Object scorpion "scorpion" with name 'new' 'scorpion' 'clicking' 'musical' 'chirp' 'splashing' 'cricket', description [; if ( game_counter.number < 41 ) "You don't see that here. "; switch ( game_counter.number ) { 41: give game_counter general; game_counter.number++; "It's a scorpion, sidling sideways. Fortunately, it's not coming at you. You take it out with one quick shot. You're getting better at this.^^ You'd better get even better, fast. Here comes that tick, with its screaming song, with its poisonous legs, turning the mushrooms purple and blue.^^ Here comes the beast itself. Chub cuts it into three parts, damn her eyes."; default: "You don't see any scorpions right now. "; } "It's a scorpion, sidling sideways."; ], found_in marshlands marshlands2 marshlands_rescue low_ladder mid_ladder high_ladder, before [; Attack, Shoot: if ( game_counter.number < 41 ) <>; give game_counter general; game_counter.number++; switch ( game_counter.number ) { 42: score = score + 100; "It's a scorpion, sidling sideways. Fortunately, it's not coming at you. You take it out with one quick shot. You're getting better at this.^^ You'd better get even better, fast. Here comes that tick, with its screaming song, with its poisonous legs, turning the mushrooms purple and blue.^^ Here comes the beast itself. Chub cuts it into three parts, damn her eyes."; 49: score = score + 275; "Charlene's singing now. She's found her sweetest rhythm, and you follow along with it. You hear the thunder, the singsong chirping, the freight train whistle doing its doppler effect, doubled, tripled. All the bugs are back. More than ever. You and Charlene are ready. A scorpion goes down, a tick explodes. Charlene's aiming for you, you can tell. The beast splits in two, but you eradicate half of it within seconds.^^ A tick whizzes by you to your left, just missing you. You hear it hiss its hatred."; 51: score = score + 100; "A lucky shot aimed at the centipede obliterates a scorpion, but the beast is still moving fast, and another tick is coming."; default: give game_counter general; "You don't see any scorpions right now. There are real targets to worry about."; } ], has scenery ; Object tick "tick" with name 'tick' 'flying' 'winged' 'wings' 'ticks' 'second' 'glassy' 'metallic' 'blue-green' 'eyes', description [; if ( game_counter.number < 37 ) "You don't see any ticks yet."; give game_counter general; game_counter.number++; if ( game_counter.number == 38 ) { "It's a tick, two tons of chitinous carapace, bristly fangs, and bug meat, hurtling straight at you, over the tops of the mushrooms. Its lazy feet scrape the mushroom heads, poisoning them as it passes, making the mushrooms change to ugly colors. If another bug touches one of those, it'll go into a hallucinogenic frenzy."; } "It's a tick, two tons of chitinous carapace, bristly fangs, and bug meat, hurtling straight at the three of you, over the tops of the mushrooms. Its lazy feet scrape the mushroom heads, poisoning them as it passes."; ], found_in marshlands marshlands2 marshlands_rescue low_ladder mid_ladder high_ladder, before [; Attack, Shoot: if ( game_counter.number < 37 ) "You don't see any ticks yet."; give game_counter general; game_counter.number++; switch ( game_counter.number ) { 38: "It's a tick, two tons of chitinous carapace, bristly fangs, and bug meat, hurtling straight at the three of you, over the tops of the mushrooms. Its lazy feet scrape the mushroom heads, poisoning them as it passes, making the mushrooms change to ugly colors. If another bug touches one of those, it'll go into a hallucinogenic frenzy.^^ ~Spread out! Spread out!~ Chub shouts as you fire at the tick and miss."; 39: "You dodge left and fire, but you can't get a steady bead on the damn thing. Chub concentrates on the centipede, her plasma shots splitting it again in two. They're coming at you from both sides now.^^ Duggers is right in the tick's path. He stands his ground, shouting at the sonofabitch. Duggers fires at it, misses. Fires again, misses. It's coming in too fast, even for Duggers."; 40: game.state = 8; move Chub to marshlands2; PlayerTo( marshlands2, 1 ); "You keep firing, trying to save Duggers, but the tick mows him down. Its sticky feet latch onto his body, his face purples and blackens as he's carted away to some nest to be digested. There is a scream in your helmet, and then silence.^^ Dead silence. The bugs are gone. There's just two of you left."; 41: "Up ahead, you hear another tick approaching like a dive bomber, coming right at you and Chub. You fire and miss, fire and miss.^^ Up ahead, you hear the segmented beast twisting this way and that. Up ahead, you hear the thrum of wave number two -- and something else, something new. Feet clicking, splashing, an almost musical chirp as the legs saw back and forth. What the hell? Some sort of cricket? No."; 42: score = score + 50; "You shoot at the tick, and with a final good shot, it explodes into a greasy cloud.^^ In the glow of Charlene's plasma bolts you see what this new bug is. It's a scorpion, sidling sideways. Fortunately, it's not coming at you. Chub takes