! A Crimson Spring ! Robb Sherwin ! Project Started: April 15th, 2000 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ! Welcome to the source code for A CRIMSON SPRING. This was an entry in the 2000 Interactive Fiction Competition, written ! in Hugo 3.0. In the interest of getting some more Hugo games made, I thought I'd throw this into the ring. Keep in mind, ! though, that I changed around many of the routines in the Hugo libraries and as a result this won't compile correctly. ! Those changed libraries are now sitting on a hard drive that won't boot for me, so until I can justify the $200 ! it'll no doubt take to resurrect it (hopefully) they are in limbo... as are all the game pictures. ! I've improved upon a lot of the routines -- especially the fighting ones -- for the thing I'm working on now. Stuff ! like handling firearms and whatnot. The graphical functions also aren't ideal, as ACS will take up a certain percentage ! of the screen for the pictures... and if the pictures aren't large enough to fill the allotted space (and they aren't, ! for resolutions around 1600x1200, then empty black space results. I never tested it on anything other than 800x600 and ! 1024x768 though, so I didn't notice it. Fixing it so that it behaved better would be rudimentary except, again, for ! that HD crash. ! Feel free to use any of the routines in this code, but please don't use it to make derivative games. I realize that ! it's very unlikely that anyone was actually considering doing that, but still. All characters, locations, descriptions, ! and so forth (C) 2000 Robb Sherwin. Word. $MAXDICT=2048 #version 3.00 ! Hugo 3.0 ! The character list -- the numbers refer to the charnumber property, which is used for SetQuip (the talking routines). ! I put it at the top of the program because it's referenced so often. ! 0 Holy Avenger ! 1 Johnny Hollywood ! 2 Wereboar ! 3 Succubus ! 4 Ameba ! 5 Snowman ! 6 Pounder ! 7 Green Knight ! 8 AIDS Archer ! 9 Iron Lung !10 Bouncer !11 Rad HaX0r !12 comic shop owner !13 backpack crusader !14 cabbie !15 Red Wraith !16 technogeek !17 Klan Man !18 hostage (Anthraxia) !19 Tubblo !20 Red Cloud !21 Mister Mucous !22 Avenger's Dad !23 Thug that killed Red Cloud !24 Zombie !25 Drifter !26 Anthraxia !27 DJ !28 Bartender ! This stuff just helps me keep the facts straight... !Timeline ! Red Cloud killed on night of Mar Wed 25th (technically Mar Thur 26th 2:23am) ! Holy Avenger does first Graveyard Scene Mar Thur 27th !Locations ! St. Columba Cemetery 11th & 57th ! Bar 14th & 2nd East Village ! Comic Shop 59th & Madison (Grand Central Terminal) ! Avenger's Apartment Little Italy ! Rad HaX0r's Townhouse: "Somewhere near the Garden" 9th & 34th ! Crime Scene: Filthy Alley.... ! !#set DEBUG ! include HugoFix library and grammar #set VERBSTUBS ! include verb stub routines #set USE_VEHICLES ! from OBJLIB.H #set USE_ATTACHABLES ! !#set INCLUDE_HELP !---------------------------------------------------------------------------- ! New Verbs !verb "phototalk" !verb "phototalk" ! * xobject DoPhototalk ! * "to" xobject DoPhototalk verb "fight" "hit", "strike", "break", "attack", "whack", "beat", \ "punch", "kick" * DoVague * xobject DoHit * xobject "with"/"using" held DoHit !verb "fightloop" ! * DoFightLoop verb "about" * DoAbout verb "blow" * DoVague * "in" object DoBlow * "through" object DoBlow * "into" object DoBlow * "with" object DoBlow verb "buy", "order", "purchase" * DoVague * object DoBuy verb "change", "switch" * (tvchannel) WhatsOnTV verb "fly" * DoFly ! Ooh, ooh, easter egg! Sort of. verb "krips" * DoKrips verb "login", "logon", "access", "boot" * "to" "computer" DoComputer * "computer" DoComputer * DoVague verb "play" * DoVague * gameable DoPlay verb "pray" * DoPray verb "pump" * DoVague * "it" "up" DoPump verb "read", "skim", "peruse" * DoVague * "from" readable DoRead * readable DoRead verb "smoke" * DoVague * object DoSmoke verb "unplug" * DoVague * object DoPull * object "from" xobject DoPull xverb "version", "ver" * Version verb "xyzzy" * DoXyzzy ! This is for a cheat code -- it's what gave you ammo (I think) in Doom, but also sets the Holy Avenger's ! hitpoints to maximum for this game. verb "idkfa" * Doidkfa verb "plugh" * DoPlugh verb "watch" * DoVague * object DoLook ! phone verbs verb "dial", "call" * DoVague * object DoDial verb "answer" * DoVague * object DoAnswer verb "hang" * "up" DoHangup * "up" object DoHangup !---------------------------------------------------------------------------- #include "verblib.g" #include "acshelp.hug" ! help system ! Originally Red Cloud's computer was to play a much bigger role... but time constraints occurred. #include "computer.hug" ! Red Cloud's computer #include "system.h" !---------------------------------------------------------------------------- #ifset PRECOMPILED_LIBRARY #link "hugolib.hlb" #endif #ifclear PRECOMPILED_LIBRARY #include "hugolib.h" ! standard library routines #endif #include "window.h" #set COMPILE_RESOURCES !---------------------------------------------------------------------------- ! Set up the quip declarations array qflag[2000] ! Arrays / 8 array quips[30] = 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 20,20,20,20,20,20,20,20,20,20, \ 20,20,20,20,20,20,20,20,20,20 ! Number of characters in the game array tempquip[1] = 0 global selected ! Global variable for selected quip ! See? I did become a marginally better programmer since CHICKS DIG JERKS -- an array is used for ! things that have happened in the game instead of variables. array GameEvents[50] = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ! 0 -- Has Venger seen Jenn's eyes? ! 1 -- Has first screen been LOOKED at yet? ! 2 -- Has the Bouncer been knocked out? ! 3 -- Is the Bouncer's guard down? ! 4 -- Has the Bar Brawl started? ! 5 -- Has Venger talked to Ameba in first scene? If so, don't have him come up with the condolenses ! 6 -- Has Johnny said he'd give a ride back? ! 7 -- Has Venger prayed in the funeral? ! 8 -- Has Venger looked at the Snowman's battlesuit? ! 9 -- Is the Rad HaX0r's electricity off? !10 -- Is the Holy Avenger tied up at Rad HaX0r's apartment? !11 -- Did HA try to kill the Bouncer with Johnny there? !12 -- Is the barfight over? !13 -- Did HA try to kiss Succubus in the Graveyard? !14 -- First login attempt done yet? !15 -- Did HA pick up the phone? !16 -- Did HA reveal the Red Wraith behind the curtains? !17 -- Is the taxi outside OutsideComicShop? !18 -- Start of the Klan Man scene !19 -- Did Pounder start the fight? !20 -- Does HA know Rad HaX0r's address? !21 -- Did HA sleep in one of the beds? !22 -- Did Succbus leave HA's house after the conversations? !23 -- Was Succubus moved to HA's house? !24 -- Did Raghib bring his cab to the HaX0r's house? !25 -- Did HA go into the Chamber for HaX0r's house yet? !26 -- Did HA see the Klan Man hold Anthraxia hostage? !27 -- Did HA beat down Snowman in the ghetto? !28 -- Is the cab there for the third time? !29 -- Can HA go up from the Lair? !30 -- Was Mucous moved to the Battlefield? !31 -- How many of RW's puzzles did HA solve? (0-5) !32 -- Did HA get out of Mucous' cage? !33 -- Did HA kill Snowman? !34 -- Did HA have thug killed? !35 -- Did HA have Mister Mucous killed? !36 -- Did HA go through up through the Lair? !37 -- Did Johnny & HA leave the bar? !38 -- Did HA enter the Cathedral? array FightLoop[30] = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 array AttackLoop[30] = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 array MessageLoop[30] = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 array EnemyLoop[30] = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 !---------------------------------------------------------------------------- ! Various things used by the split display: global current_resource_file global current_resource attribute pictured ! i.e., visible in the graphic, so doesn't ! have to be listed separately global last_drawn_picture global force_repaint property graphic ! two elements: resourcefile and picture property static_occupant ! someone who's always there global objects_detailed ! for knowing if we have to re-update the !---------------------------------------------------------------------------- ! Global variables global allies global fight_active global fight_active2 global solvedpuz = 0 global rank = 0 global a$ !junk variable global lastr !last random number used global someone_on_line global phone_number global phone_obj attribute off_hook !---------------------------------------------------------------------------- ! General attributes attribute flammable ! attribute armed attribute pulled attribute gameable attribute bleeding attribute paralyzed attribute throughcage attribute sentient !---------------------------------------------------------------------------- ! General properties property charnumber property maxhitpoints property hitpoints property armorclass property attackadjust property damagepotential property conscious property peaceful constant RELEASE "1.0.04" ! Game release number routine init { window 0 ! Clear the game window display.title_caption = "A CRIMSON SPRING v 1.0.04 by Robb Sherwin " system(22) ! Restores random numbers.... MAX_SCORE = 100 ranking[0] = "Gleek" ranking[1] = "Jarvis" ranking[2] = "Speedball" ranking[3] = "Vision (Byrne's version)" ranking[4] = "Sewer Urchin" ranking[5] = "Beta Ray Bill" ranking[6] = "Daredevil" ranking[7] = "Green Arrow" ranking[8] = "Batman" ranking[9] = "Captain America" ranking[10] = "The Holy Avenger" counter = 1 ! 1 turn before we start the counter STATUSTYPE = 1 ! Score and Turns TEXTCOLOR = WHITE BGCOLOR = BLACK SL_TEXTCOLOR = BLACK SL_BGCOLOR = WHITE FORMAT = NOINDENT_F + LIST_F AFTER_PERIOD = " " DEFAULT_FONT = PROP_ON Font(DEFAULT_FONT) prompt = ">" color TEXTCOLOR, BGCOLOR ! This stuff is all used in case I am compiling the non-graphical version of the game. !\ DOS VERSION !cls !picture "acs_gfx", "acscover03" !pause !cls video "acs_gfx", "dedication" !cls !run graphics_window.win_init "\n\n\n\n\n\n\n\n\n\n\n\n" COLOR LIGHT_RED "\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_a crimson spring\n\n\n" COLOR WHITE "\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_by Robb Sherwin\n" pause cls color TEXTCOLOR, BGCOLOR DOS VERSION \! cls picture "acs_gfx", "acscover03" pause cls run graphics_window.win_init cls "Red Cloud meant more to me than anyone else on the face of the planet. She was my partner -- a caring, sensitive soul who carried herself with a quiet confidence. She was a joy to be close to, and I fell for her the moment she walked into my life. \n" "She was born with the ability to turn her body into a gaseous crimson form. She used it to get out of a country that would not allow her to worship the way she wanted to -- or at all, for that matter. She eventually ended up in Buffalo and that's where, seven years after her escape, she met me.\n" "We moved to Manhattan to make more of a difference. I find it cruelly hysterical that this woman that I loved so dearly -- who came to this country simply to find God -- ended up in the most godless, sadistic and criminally superstitious city in the world... mostly because this city killed her two nights ago. Sometime between one and three in the morning on March 26th, 2015.\n" "I am a masked vigilante who attempts to fight this senseless violence every night of my life. I am the Holy Avenger.\n" "We joined the Scourge Squadron six months ago. After doing so we consequently saw much less of each other -- we had no way to pair up during many assignments and we had decided to not make our relationship \"public\" among the unstable, super-powered criminals we fight. Two nights ago, Red Cloud went out on her own and never came back. She was found in the morning by a couple of kids who phoned 911. Her face had been blown away with a shotgun blast. Her body was covered in cuts and bite marks. Traces of saliva, semen and feces were found in every possible orifice that remained. She was the only thing I cared for in this world and she was brutally taken from me.\n" "Nobody knows why. I'm going to find out if it takes ripping this filthy cesspool of a city apart, brick by stinking brick.\n" color TEXTCOLOR, BGCOLOR Version player = HolyAvenger location = Funeral1 ! These lines are commented out -- it's just handy to have them there to "teleport" yourself to different ! locations when trying to figure out if a bug fix worked. ! Activate(jenn_calls_routine) ! Activate(snowmans_scene) ! Activate(bring_taxi_thrice) ! SetFinalBattle() ! Activate(bring_mucous) ! Activate(Final_Scene) ! ! location = AnthraxiaRoom ! move Succubus to SuccubusRoom ! Activate(anthraxia_scene) old_location = location move player to location FindLight(location) verbosity = 2 "\nRed Cloud didn't know anyone else in the city besides myself and the other members of the Scourge Squadron. Hell, I really don't either. Everyone from the team made it to her funeral except for Pabski, the Wereboar. His absence didn't surprise or remotely sadden me. I think he blew this off because the Yankees have a homestand against the Red Sox.\n" location is visited Activate(funeral_routine) selected = 0 ResetQuips allies = 2 fight_active = 0 fight_active2 = 0 UpdateGraphicsWindow(location) music "acs_mus", "shell", 100 } #ifset PRECOMPILED_LIBRARY replace main #endif #ifclear PRECOMPILED_LIBRARY routine main { PrintStatusLine Counter++ run location.each_turn if (HolyAvenger.conscious = 0) { endflag = 2 } runevents RunScripts if (fight_active = 1) { DoFightLoop() } if GameEvents[12] = 0 { BarfightFinished() } if location = Home1 phone_obj = marcphone ! elseif location = airport ! phone_obj = white_phone ! This I nabbed from GUILTY BASTARDS move hook to phone_obj ! don't change these three lines if receiver not in player move receiver to hook } routine Version { color LIGHT_RED print "\BA Crimson Spring\b" color TEXTCOLOR print "Interactive Fiction" print "Copyright (c) 2000. Written & Programmed by Robb Sherwin" print "First time players of this game should type \"\BABOUT\b\"" print "Release 1.0.04 / Serial Number 001206 / Hugo 3.0" } window_class graphics_window { ! The graphics window is the left-top rectangle of the screen: ! (Its aspect ratio is slightly wider than 1.66:1 on a standard ! 80x25 screen.) win_left 1 win_top return 1 + display.statusline_height win_right return display.screenwidth win_bottom return display.screenheight * 5/10 - 2 win_textcolor WHITE win_backcolor BLACK } routine UpdateGraphicsWindow(obj) { ! SL_... settings copied from Init in gb.hug (duplicated here ! in case the engine changes display.hasgraphics during play) if not display.hasgraphics { SL_TEXTCOLOR = DEF_SL_FOREGROUND SL_BGCOLOR = DEF_SL_BACKGROUND return } else { SL_TEXTCOLOR = BRIGHT_WHITE SL_BGCOLOR = BLUE } if last_drawn_picture = obj and not force_repaint return if not obj.graphic and obj ~= 0 ! 0 forces window clearing return run graphics_window.win_init window { if obj.graphic ~= -1 { current_resource_file = obj.graphic #1 current_resource = obj.graphic #2 } picture current_resource_file, current_resource } run graphics_window.win_end last_drawn_picture = obj force_repaint = true } ! A word about armorclass -- unlike Dungeons and Dragons 1st & 2nd edition, it's better to have a larger number for ! for armorclass in ACS. DM MAGIC, natch! player_character HolyAvenger "I" { charnumber 999 nouns "marc" "me" "avenger" "venger" "holy" "self" adjectives "holy" maxhitpoints 50 hitpoints 50 armorclass 15 attackadjust 5 damagepotential 6 ! I defend my choice of 5'10 / 225 for Venger's stats by telling myself that that's what Ricky Williams played at last ! year. Of course, I didn't draw Venger to be all stocky like Ricky, so those numbers don't really fit. long_desc { "I'm 5'10\", 225 pounds. I have blonde hair and blue eyes. I am 27 years old. I have a perfect immune system and some personal private detective experience. I usually carry a lead pipe with which to defend myself.\n" } graphic "acs_gfx", "ha02" before { object DoSearch { DoInventory() } } after { actor DoLook { UpdateGraphicsWindow(object) } ! Upon a restore, it's necessary to: ! ! - force a redraw of the graphics window ! - force restarting of sound/music ! actor DoRestore { force_repaint = true UpdateGraphicsWindow(location) } } conscious { if self.hitpoints > 0 : return 1 else : return 0 } } room LightRoom { is light } room GraveRoom { is light type GraveRoom } ! Default definitions for the NPC class... character NPC { type NPC is living peaceful true maxhitpoints 5 hitpoints 5 before { object DoLook { UpdateGraphicsWindow(self) run self.long_desc if (self.conscious = 0) and (self is not female) and (self.hitpoints > -100) "He is currently knocked unconscious.\n" if (self.conscious = 0) and (self is female) and (self.hitpoints > -100) "She is currently knocked unconscious.\n" } object DoKill { "I can't right now.\n" } object DoKiss { "Yeah, you right. I'm going to actually pass on that, though.\n" } } in_scope { if self in location : return 1 else : return 0 } conscious { if self.hitpoints > 0 : return 1 else : return 0 } } class weapon { type weapon } ! I was planning on having a radioactive foe in the game at one point, so Venger's use of a lead pipe would have ! been quite helpful. As it turns out, that villain was removed from an early version of the game. But still, I ! liked the thought of the hero clobbering people with a large piece of pipe. It helps him come off as Just Some Guy ! -- who happens to be in a costume -- than some kind of creative tech genius. Which was the effect I was going for. weapon pipe "pipe" { noun "pipe" "object" "club" "tube" "pip" adjectives "deadly" "long" "my" "lead" "blunt" "billy" "fourteen-inch" article "my" in HolyAvenger long_desc { "My pipe is a hollow lead tube with a welded corner extension attached. It usually works well as a billy-club and miscellaneous blunt object to use in combat. (I have also found it useful, over the years, to carry something to help defend against criminals obsessed with radioactivity.) It's about fourteen inches long and in rather solid condition.\n" } Before { object DoBlow { if self is throughcage and self is special { "I get some more air through the pipe.\n" } elseif self is throughcage and self is not special { self is special "I blow through the pipe in an attempt to get some air from outside. Nothing seems to happen for a little bit, but after giving it a full lungfull I hear a faint \"popping\" sound -- the fact that what I just did was apparently blow the world's biggest snot bubble is, frankly, too disgusting for me to really ponder right now. I take the deepest breath I can in order to hold out in case Mucous realizes that he's not suffocating me.\n" Activate(get_out_of_cage) score += 10 Deactivate(venger_suffocates) } else { "I blow through the pipe. Nothing else seems to happen.\n" } } ! HA HA HA, thud. object DoSmoke { "Real funny. It's not that kind of pipe.\n" } object DoSmell { "Smells like one of the shacks I lived in when I just got out of college. Or to put it another way -- it smells strongly of lead.\n" } object Dogive { if (xobject.charnumber = 8) and (HolyAvenger in AIDSRoom) { Deactivate(aids_scene) AIDSArcher is special solvedpuz++ !GameEvents[31] = GameEvents[31] + 1 Won_AIDS_Scene() } else {"I may need that to defend myself later. Besides, they probably don't want it.\n"} } } } ! How would a real super hero keep their mask on? This was the solution I thought of. Definitely not a piece of ! string, though. Although I suppose whoever was doing the makeup for that "Quark" guy on Deep Space Nine for ! eight years probably had some interesting insights, my fanboyesque mails on the subject went, sadly, unreturned. object mask "mask" { noun "mask" adjectives "black" "my" article "my" in HolyAvenger long_desc { "It's a fairly standard leather mask with some lightweight steel meshed into the fibers. I keep it attached with some flesh-friendly glue I developed. It's a strong bond, but comes off easily with some x-generation acetone variant I've developed and keep at home. My civilian identity is generally predicated upon the fact that in \"real life,\" as it is, I'm not much of anybody famous or remarkable. Or, at the moment, even gainfully employed.\n" } Before { object DoTakeOff { if (HolyAvenger in FatherRoom) or (HolyAvenger in Home1) or (HolyAvenger in RedCloudBedroom) \ or (HolyAvenger in Kitchen) or (HolyAvenger in VengerBedroom) { mask is not worn "Done.\n" } else { "Not a chance. Not that anyone would have any idea who I was, but I'd prefer not to have my pictured plastered about \IThe Post\i either way.\n" } } } is clothing, worn } ! OK, I had this on the Holy Avenger before I ever read KINGDOM COME, but after reading it, and seeing the dimension it ! gave Captain Marvel's (Or, "Shazam!" for those of you who go on dates) look, well, I was all the more happy for having ! it. But it's probably not something anyone would wear in the real world. That I get. attachable sash "sash" { noun "sash" adjectives "gold" "my" "metallic" "noveau" article "my" in HolyAvenger long_desc { "The sash is just a little adornment to my costume -- a bit of strong noveau metallic cloth I wear around my waist.\n" } before { object DoTie { if (xobject = hostagearm) and (hostage.in_scope = 1) { if (hostage is not bleeding) and (KlanMan.in_scope = 1) { "I can't get close enough to do that... yet.\n" } if (hostage is not bleeding) and (KlanMan.in_scope = 0) { "It doesn't matter at this point... she's dead.\n" } if (hostage is bleeding) and (hostage.hitpoints > -1) { Deactivate (hostage_bleeding) remove hostage score +=15 "I tie my sash around her arm in a tight knot. Her blood dampens the sash, but it seems to act enough like a tournaquet to stop her from dying due to the blood loss and trauma.\n\n Evidently somebody from the comic store saw the scene, as an ambulance arrives a couple minutes later. The medics bandage her up and roughly throw her into the wagon. I note my disapproval with her being tossed around like cattle.\n" "\"Sorry, Mr. Holy Avenger. You'll understand if some of us aren't costumed freaks who don't get sick,\" the orderly says. \"This evil fucking slut has been someone the cops have been trying to bust for weeks now.\"\n\n \"It's this new thing,\" I tell him. \"Due process. Innocent until proven guilty.\" I hate to use a cliche like that, but I'm absolutely exhausted and the guy kind of has a point. I guess.\n\n \"Yeah. Sure,\" he says. He holds out my sash. \"You want this back?\"\n\n \"I don't want the cops to have it, if that's what you mean.\" The orderly hands it back to me and leaves without another word.\n" } } else { "I can't tie the sash to that.\n" } } } is clothing, worn } ! Originally, I was hoping to have one set of armor be better against bullets, and another be better against things ! like ice blasts, shrapnel and jade swords, but the comp deadline caused me to nix it. object armor_plate "plate armor" { noun "armor" "plate" "piece" adjectives "plate" article "my" in HolyAvenger long_desc { "I've got two forms of armor -- a Kevlar battle shell that I've generally stopped using, and my plate piece, which this is. The plate gives me better maneuverability and better protection against some of the crazy devices that super-villains have. The plate covers my chest and back extremely well and there is extra, padded protection for my heart and kidneys. The right side is a bit slagged due to an encounter I had with the Firebug a while back. Other than that, though, it's held up quite well.\n" } Before { object DoTakeOff { "Now's not a real good time. I would be unnecessarily encumbered if I had to lug it around. Better to wear it where it can protect me.\n" } } is clothing, worn } replace PrintStatusline { local temp_it_obj temp_it_obj = it_obj if display.linelength < 80 display.statusline_height = 2 Font(BOLD_OFF | ITALIC_OFF | UNDERLINE_OFF | PROP_OFF) window display.statusline_height { color SL_TEXTCOLOR, SL_BGCOLOR cls locate 1, 1 if not light_source print "In the dark"; else { print "\_"; print capital location.name; if player not in location { if parent(player).prep print ", "; parent(player).prep;" "; else print ", "; IN_WORD; " "; print Art(parent(player)); } } if display.statusline_height = 1 print to 60; else { locate 2, 2 } !\ print "Score: "; number score; ! Print to 65 or 15 print to ((display.statusline_height = 1)*50 + 12); print "Moves: "; number counter; print to ((display.statusline_height = 1)*50 + 22); print "Health: "; number HolyAvenger.hitpoints; \! print number score; print to ((display.statusline_height = 1)*60 + 0); print "/"; number counter; print to ((display.statusline_height = 1)*60 + 8); print "Health: "; number HolyAvenger.hitpoints; } color TEXTCOLOR, BGCOLOR Font(DEFAULT_FONT) it_obj = temp_it_obj } !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !SCENE ONE: FUNERAL LightRoom Funeral1 "The Saint Columba Memorial Cemetery" { long_desc { if (GameEvents[1] = 0) { GameEvents[1] = 1 "The Cemetery is near the intersection of 11th Street and West 57th in Manhattan. It was the closest graveyard I could find to the Park. Red Cloud was originally from a section of barren wasteland in northeastern Russia and found even a pitifully maintained expanse of dying greenery like Central Park endlessly fascinating. Rain has started to fall, just slightly, and the masks and 'heroes' that had attended the service are gone. I've been staring at the coffin for the last fifteen minutes. I think Hollywood, Ameba and the Succubus are only remained because they're weren't quite convinced that I was not going to either go on a complete bender or rip open my wrists.\n" } else { "I am before Red Cloud's closed tomb. Rain has started to fall upon the scene, turning this into a dark, windy and filthy night.\n" if Ameba.in_scope = 1 and Succubus.in_scope = 1 "Ameba, Johnny and the Succubus are here.\n" if Ameba.in_scope = 1 and Succubus.in_scope = 0 "Ameba and Johnny are both still here.\n" if Ameba.in_scope = 0 and Succubus.in_scope = 1 "The Succubus and Johnny are both still here.\n" if Ameba.in_scope = 0 and Succubus.in_scope = 0 "Johnny is still here -- he's giving me a ride when I'm ready to leave the Memorial.\n" } } before { location DoPray { if GameEvents[7] = 0 { GameEvents[7] = 1 "I kneel before the coffin and and make the sign of the cross. (North, South, West, East, I say to myself silently.)\n\n \"Jelena, you were everything to me. Before I met you I was nothing more than a boychild wholly without passion or drive. You woke things inside me I never knew I had. You made me see a side of love, politics, freedom and family that I had never considered before. I have no idea why this happened to you but I swear I will find out why and by whom and avenge you.\" Maybe a tear falls from behind my mask. \"I will miss you, my love, my treasure, my gorgeous Red Cloud.\"\n\n \"Amen.\"\n" } else { "I have nothing else to pray for at this time... I've said my peace.\n" } } } cant_go { if GameEvents[6] = 0 { "Actually, before the ceremony one of my team-mates (I think it was Johnny) said they would spring for a ride back afterwards." } else { "Johnny is going to give me a ride back after the funeral." } } before { location DoJump { "I'm in no mood for that kind of mirth.\n" } } graphic "acs_gfx", "scene0101" } scenery ground "ground" { found_in Funeral1 nouns "ground" "grass" "mud" "earth" "dirt" article "the" long_desc { "The earth is quite soggy and porous; it has been raining almost continually all week.\n" } before { object DoDig { "The Cemetery pays someone to do that. Somebody else.\n" } } } scenery firstgraffiti "graffiti" { found_in Funeral1, WaterTowerRoom nouns "graffiti" "grafiti" "grafitti" "writings" "paint" adjectives "spray" "neon" long_desc ! Here, I tried to approximate the grafitti using real colors. Bless you, Hugo 3! { COLOR LIGHT_RED "OWN3D!!!!\n" COLOR LIGHT_BLUE "PH33r M3!!!1\n" COLOR TEXTCOLOR } } scenery cemetery "Cemetery" { found_in Funeral1 nouns "cemetery" "cemetary" long_desc { "It's a fairly-well maintained Cemetery. I wanted to lay her to rest in some place kind of close to Central Park. This was the best one I could find in the vicinity.\n" } } scenery sky "sky" { found_in Funeral1, Bar1 nouns "sky" "horizon" article "the" long_desc { "Rather overcast... kind of a murky mess, altogether. It's typical for this time of year.\n" } } scenery hole01 "hole" { found_in Funeral1 nouns "hole" "trench" "grave" long_desc { "Six-feet deep, really.\n" } } scenery rain1 "rain" { found_in Funeral1 nouns "rain" "rains" "water" "drops" "drop" "raindrop" "raindrops" "precipitation" adjectives "rain" "water" "drop of" long_desc { "Decades of harsh pollution has turned the typical New York City downpour into a sludgy, acidic mess for the first fifteen or twenty minutes of a spring shower.\n" } before { object DoGet { "It's too slippy.\n" } object DoEat { "Filthy. Disgusting.\n" } object DoSmell { "This city has stopped even remotely containing crystal-pure rainwater over fifteen years ago. If I really concentrate, I can smell the filth in the rain. Maybe it's my imagination. I don't know.\n" } } } scenery moon "moon" { found_in Funeral1, Bar1, OutsideComicShop, ComicAlley, OutsideRadHouse, Stairs1, RadAlley1, RadAlley2, \ SideStreet, BloodSoakedAlley, MainStreet2, MainStreet1, UrbanScene, Entrance, Battlefield, GraveEast, \ GraveWest, WaterTowerRoom nouns "moon" adjectives "waxing" article "the" ! Personally, I was introduced to the words "waxing" and "waning" due to Ultima III. So video games actually were responsible ! for me learning something in this life other than how to handle my joystick. Wait. long_desc { "The moon is in its waxing stage.\n" } } scenery fences "fences" { found_in Funeral1 nouns "fence" "fences" long_desc { "The Cemetery's fences are black iron stakes about six feet high that keep absolutely no-one out of who wants in. As a result, most of the other tombstones have been spray-painted over and broken by the kids who get on an averge night.\n" } } ! I think that an on-line roleplaying game called "Faith" where you convert the legion of moron zombies out there ! to your particular way of thinking would be pretty cool, but once Shadowboobs er ahh Shadowbane comes out any ! additional development'll be a moot point. MMORPG + tits = MARKET DOMINATION. scenery tombstones "tombstones" { found_in Funeral1 adjectives "other" nouns "tombstones" "crosses" "marker" "markers" article "the" long_desc { "Many of the other tombstones in the Saint Columba Memorial Cemetery have spray paint over them. Most of the people buried here are actually kids -- usually between fourteen and nineteen years old. Their slayers have sprayed such giddy catch-phrases as \"owned\" and \"ass-raped\" all over them. I was once told by Red Cloud that the custom started with role-playing games played over the internet and that it migrated to 'real-life.' I guess that sort of thing happens all the time on-line -- I personally have no idea. Red Cloud used to play \BFaith III\b though, and saw that stuff every time she played. The thought of a human being with the audacity to not only take a life, but cruelly mock the victim's family afterwards sickens me. Red Cloud's tombstone hasn't arrived yet, but God should help the soul who decides to tag Red Cloud's marker.\n" } } ! Sherwin's top five worst bugs ever: ! 5. The "say pump it up dummy" thing appearing in Saied even if you've already said it ! 4. A mess between a COM port and thermal regulator, but this was at work, and we were insured, so then. ! 3. Being able to leave the cemetery by typing in "out" in the first scene in ACS ! 2. The shitwank not always appearing in ! 1. The water tower (below) not being there in the last scene in the game. It's only the freaking KEY to winning ACS. DAMNATION. scenery watertower "water tower" { found_in Funeral1, WaterTowerRoom adjectives "water" nouns "tower" article "the" long_desc { "It's a large blue sphere held up several hundred feet off the ground by railing. It is covered in neon graffiti.\n" } before { object DoPush, DoHit { if HolyAvenger.location = Funeral1 { "It's too far away.\n" } else { "I try, briefly, to push the thing down, to create a spill of water. But it's too heavy for me. Johnny could push it over without breaking a sweat, but he's incapacitated. Zeke, however...\n" } } } } scenery coffin "coffin" { found_in Funeral1 adjectives "mahogany" nouns "coffin" "tomb" "casket" "lid" article "the" long_desc { "It's a mahogany casket with a raised and tapered lid and finished to a high gloss. At least... well, that's what the funeral director told me, anyway. It has brass fittings and an engraved name plate that reads, simply, \"Red Cloud\". It cost a ruddy fortune but I absolutely didn't care. Whatever money I had been saving was going to go towards my surprising her with a trip to Cancun anyway.\n" } before { object DoOpen { "There was a reason this was a closed-casket service. Her face was mostly blown away with an close-range shotgun blast. I had to see for myself, of course, and was sick all over the floor of the morgue.\n" } ! Venger doesn't actually use any curse words himself -- I think there might be a "hell" or a "damn" somewhere, but that's ! kiddie stuff. The use of "Christ" here is another borderline case. But Real Heroes don't swear. Just their villains. ! (And their cabbies.) object DoSmell { "It smells like my dead girlfriend! What else? Christ.\n" } object DoGet { "I don't have that kind of strength... lugging a coffin around is actually a nigh super-human feat. I'm not sure where the general perception came from that they aren't extremely encumbering, but if I had to guess, I'd blame early '80s video games.\n" } } is openable, not open } scenery fittings "fittings" { part_of coffin nouns "fittings" "fitting" adjectives "brass" article "the" long_desc { "They are very nice. After getting brutally tortured, raped and killed, well, my girlfriend at least deserves this.\n" } } !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !SCENE TWO: BAR LightRoom Bar1 "Outside The Liquor Hole Blue Tavern" { ! And of course the "Liquor Hole" tavern was an idea by my fellow SU student, Jon Hirschey, and should he ever ! open his own bar, he's going to call it just that. long_desc { if (self is not visited) { music "acs_mus", "candystripe", 120 "The Liquor Hole Blue Tavern is one of a series of filthy, dim-lit nightclubs usually packed to the brim with goths, ravers, geeks and masked criminals. A guy wearing a domino mask and cape tends to melt away nicely within the shadows when the collective teenage homeless is throttling themselves about. The bouncer sees us coming and gets himself interposed nicely in front of the door -- apparently he knows who we are.\n" } else { "I'm outside the Liquor Hole Blue Tavern. The Tavern is one of a franchise frequented by heavily eyeshadowed goths, skinny ravers, technically-gifted geeks and masked criminals.\n" } } graphic "acs_gfx", "bluetavern01" in_to { if GameEvents[2] = 0 { "The bouncer won't let me enter the tavern.\n" } elseif GameEvents[37] = 1 { "I can't get back into the bar. After the fight it looks like they locked the place down completely.\n" } else { SetQuip(1,0,0) SetQuip(1,1,0) SetQuip(1,2,0) SetQuip(1,3,0) SetQuip(1,4,0) SetQuip(1,5,0) SetQuip(1,6,0) SetQuip(1,7,0) move Johnny to Bar2 return Bar2 } } cant_go { "From here, I need to get into the Blue Tavern. There really isn't anything of interest in the other directions.\n" } before { location DoListen { "I think I can hear the sound system blasting Superdrag from inside... which isn't really that rare, I guess. Lately it's been like they're this generation's version of the Beatles. And I have to confess: I'm a fan.\n" } } } scenery raindrains "rain drains" { found_in Bar1 nouns "drains" "drain" adjectives "rain" "rains" article "the" long_desc { "The drains allow rain, sludge, melted snow, urine and the occasional dollup of spilled body fluid that finds its way onto the street before the Blue Tavern to be properly eliminated.\n" } } ! Yes, I made the capitalized dumpster joke as well. scenery dumpster "Dumpster" { found_in Bar1 nouns "dumpster" "scow" "skow" article "the" long_desc { "It looks like it's a Dumpster (c) brand dumpster. The 'classy' nature of the Liquor Hole Blue Tavern is in the details.\n" } Before { object DoOpen { "It looks like someone has welded the Dumpster shut. I know of no super-villain or super-hero that participates in or battles crime that also uses a welder. So I'll chalk this bit of disturbing hijinx up to the natives.\n" } object DoLookUnder { "Ugh -- more crawling maggots and filthy bugs than a tropical swamp!\n" } } is openable, not open, container } scenery "maggots" { found_in Bar1 nouns "maggots" "bugs" adjectives "filthy" "crawling" article "the" long_desc { "That's just disgusting scenery.\n" } before { object DoSmell { "I smell nothing unusual -- \Ifor freaking maggots!\i\n" } } } scenery outsidebar "bar" { found_in Bar1 nouns "bar" "club" "tavern" "liquor" "hole" adjectives "blue" article "the" long_desc { if GameEvents[2] = 0 { "It's a filthy downtown club. One I can't currently get into.\n" } else { "It's a filthy downtown club. Iron bars line the windows, dozens of concert posters line the outside walls.\n" } } } scenery posters "posters" { found_in Bar1, Bar2 nouns "posters" "paper" "poster" "papers" adjectives "tattered" "concert" "blue" "yellow" "orange" article "the" long_desc { "They come in a variety of mimeographed or dittoed forms -- blue ones denoting some seriously awful ska band (it's making a comeback), yellow ones that proudly announce that Scatbag will be playing in this very spot seven months ago and some orange ones. I think the orange ones were for a German S&M band.\n" } } ! The use of doors is really, really simple in Hugo, I found out for the current WIP. Don't emulate this garbage. ! Although I hate their use in IF, Hugo makes it silly to not use the default door class. scenery bardoor "the bar door" { found_in Bar1 nouns "door" "bardoor" "knob" "doorknob" adjectives "bar" article "the" parse_rank 2 long_desc { "The bar door is covered with a neon red hypercolor paint that changes about due to frequencies in music thrown at it. It kind of looks like a descent into hell from the outside, but the real reason it was installed was to give your eyes some shock at all the blue \Iinside\i. The Blue Tavern isn't the easiest club in the city to get to, but you do at least absolutely know when you've found it.\n" } before { object DoUnlock { "It's not locked.\n" } object DoLock { "I can't lock the tavern door.\n" } object DoOpen, DoEnter, DoGo { if GameEvents[2] = 0 { "The bouncer won't let me.\n" } elseif GameEvents[37] = 1 { "I can't get back into the bar. After the fight it looks like they locked the place down completely.\n" } else { "Just try \"\Bin\b\".\n" } } } is lockable, openable, not open } object bill75 "seventy-five dollar bill" { nouns "bill" "money" "currency" "seventy-five" "dollars" "reagan" "cash" adjectives "seventy" "seventy-five" "dollar" article "a" short_desc { "There's a seventy-five dollar bill here.\n" } long_desc { "It's a typical crumpled-up bill featuring Reagan's vacant grin.\n" } before { object DoSmell { "Eew -- smells like the guy kept it a little too close to his goodies, narmean.\n" } } is hidden } LightRoom Bar2 "The Liquor Hole Blue Tavern" { long_desc { if (self is not visited) { Activate(bar2_routine) "A neon, cyan light momentarily blinds me as I enter the Tavern. The entire inside of the bar is bathed in one of a dozen blue fluorescent bulbs. Usually it's understood that heroes don't set foot in this bar -- if we came here often to bust down super-villains then the place wouldn't be able to turn a profit.\n\n Tonight's obviously an exception. Pockets of ravers, technowads and super-villains look up towards us; some recognize us but most don't. I notice a couple villains right away -- Snowman and the Green Knight, for instance. There are a few more skulking about in the shadows. Cigarette smoke has turned the air into a foul amalgam of gas seemingly absent of any genuine oxygen. Some harsh, post-modern goth or angst music is being blasted through the many speakers of the Tavern. Hollywood and I head toward the bar, looking over the patrons and deciding who to talk to first.\n" music "acs_mus", "imgone", 70 } else { "Neon blue light encompasses the bar. Cigarette smoke has turned the air into a dank, foul gas. Harsh, enraged punk music fills the room through one of a dozen oversized overhead speakers. Pockets of ravers, super-villains and technowads skulk about the tavern's shadows.\n" } } graphic "acs_gfx", "liquorhole01" before { ! Red Wyvern -- like Red Bull, but different! object DoSmell { "It smells like Red Wyvern beer (the cheapest beer New Yorkers can buy) and cigarette smoke. There's a faint trace of dried sweat all about, as those X-dropping ravers get dehydrated quickly.\n" } } out_to { if GameEvents[12] = 0 { "I've still got business to take care of here in this bar.\n" } else { ! This is supposed to be, "tbanks, boss" in Spanish. So I hope Altavista.babelfish.com didn't let me down. "We leave the bar a complete mess. Johnny chucks a small wad of cash to the bartender. \I\"Gracias, jefe,\"\i he says.\n" score += 25 if (sword in HolyAvenger) { "I toss the Green Knight's sword back to him. He can mystically track it, and I don't need him following me around back to my apartment later. If I need to check up on it I'll be able to find him again.\n" } GameEvents[37] = 1 remove Bouncer move Johnny to Bar1 move sword to GreenKnight return Bar1 } } cant_go {"It's a pretty small club. It's not really made up of different rooms.\n"} } ! So you may say, "Robb, if you're using audio, why not just PUT the hum in there?" Well, I had a song going ! at the time and didn't know how to play them both at this time. But I'm pretty sure this is technically feasible ! in Hugo. object electricity "hum of electricity" { in Bar2 nouns "electricity" "humming" "buzzing" "hum" adjectives "hum" "hum of" "buzz" "buzz of" article "the" parse_rank 1 short_desc { if (IronLung.conscious = 1) and (IronLung.in_scope = 1) "I can hear a faint buzzing of electricity if I concentrate beyond the club's music.\n" } long_desc { "It's not something I can look at.\n" } before { object DoListen { "It's coming from the Iron Lung. He's got an extension cord plugged into the wall that presumably powers him.\n" } object DoGet { "I can't take a sound.\n" } } } scenery barsmoke "smoke" { in Bar2 nouns "smoke" "odor" "cloud" adjectives "cigarette" "thick" "foul" "cloud" article "the" long_desc { "It actually is thick enough to be classified as virtually 'opaque.'. It's a wavering, seemingly sentient, smug gray fog that is everywhere.\n" } before { object DoSmell { if self is not special { self is special "The kids inside the tavern usually sell cheap cigarettes to one another. I think the brand is called \BDorals\b. That same company is said to be starting up in the suppository business pretty soon now, and I think the marketing guys have settled upon naming them 'Danals.'\n" } else { "It's most foul and altogether too thick and pungent.\n" } } } } scenery drink "drink" { in Bar2 nouns "drink" "drinks" "alcohol" "beverage" "beverages" "beer" "cocktail" "cocktails" "beers" article "a" long_desc { "The bar carries a few different kinds of alcohol, but mostly only sells Red Wyvern Ale, one of the many extremely cheap knockoff beers to carry the 'red' vigil. It's 99 cents for a pint and pretty big with the ravers that attend, who are almost always broke.\n" } before { object DoGet { "I'm trying to cut down on the mad consumption of alcoholic beverages while I'm 'working.'\n" } object DoBuy { "I'm trying to cut down on the mad consumption of alcoholic beverages while I'm 'working.'\n" } } } ! If you do want to put an arcade game into your current ware, please e-mail me. I've got a much better class ! drawn up, and wouldn't mind somone taking a look at it, actually. The description below is pretty broken. scenery arcadegame "arcade game" { in Bar2 nouns "game" "arcade" "castles" "bear" adjectives "crystal" "bently" "bentley" "arcade" article "the" capacity 1 long_desc { "It's some ancient \BAtari\b antique that my old man used to wax poetic about. I don't have any idea what it's called -- the thing needs a new marquee or a bulb put behind it or something. It's a trakball-based game, which I guess was impressive in the day, but I have no idea how anyone was entertained with something that had just one 'action' button.\n" } before { object DoPlay { if fight_active = 0 { if (quarter not in arcadegame) and (quarter not in HolyAvenger) { "I need a quarter to play the game.\n" } if (quarter in arcadegame) { remove quarter "I search the coin return and -- surprise, surprise -- there's one left there. I pop it in and move the little dude around before getting killed by something that looks like a withered green testicle. No wonder kids of fifteen years ago were shooting up schools -- they were probably just bored out of their freaking minds by wares like this.\n" } if (quarter in HolyAvenger) { remove quarter "I pop a quarter into the game and play around for a little bit. I get to the second board before getting killed by some randomly-moving skeleton-esque guy. You have to respect the fact that the bear in the game loves gems so much that he's willing to fight the sentient undead. But I kick the machine when I lose my last life regardless.\n" } } else { "Little busy right now!\n" } } object DoPutin { if (xobject.name = quarter) and (quarter in HolyAvenger) or (quarter in arcadegame) { if fight_active = 0 { remove quarter "I put the quarter into the game and play it for a little while. I get to the third level before I lose all my lives. The bartender calls over to me as I lose my last one.\n\n \"Don't kick the goddamn game!\"\n\n I kick the game.\n" } else { "I'm a little busy right now!\n" } if xobject.name not quarter { "I can't put that into the arcade game!\n" } } else "I can't do that.\n" } object DoSearch { if (quarter is hidden) and (quarter in arcadegame) { quarter is not hidden "Inside the coin-return slot of the game is a quarter.\n" } if (quarter is not hidden) and (quarter in arcadegame) { "Inside the coin-return slot of the game is a quarter.\n" } if (quarter not in arcadegame) { "There isn't anything else in the arcade game's coin return slot.\n" } } } is gameable, container, open } object quarter "quarter" { in arcadegame nouns "quarter" adjectives "shiny" "american" article "a" long_desc { "It's an, uh, quarter-sized shiny American quarter. Worth twenty-five cents." } is hidden } scenery barmusic "music" { in Bar2 nouns "music" "tunes" "jukebox" adjectives "loud" "club" article "the" long_desc { "Well I can't see the music. I can definitely hear it though. It's an angry, throaty spot of audible anarchy, right at home in this club.\n" } before { object DoListen { "It's an angry, throaty spot of audible anarchy, right at home in this club.\n" } } } scenery thebar "the bar" { in Bar2 adjectives "liqor" "liquor" nouns "bar" "hole" "liquor" "bars" "room" "club" "floor" "clubs" "environment" article "the" long_desc { "It's reasonably well-maintained and clean. I've seen super-villains chill much, much filthier clubs. It's laid out as one giant room with several attached booths and a mosh pit a few feet below the bar's level. The bar is covered in a shocking blue light I've never really been able to get used to. The wooden beams that support the roof are quite exposed and scattershot with several large speakers. Hundreds of 8.5 x 11 concert posters occupy almost every square inch of wall. \n" "The 'Hole caters mostly to kids around nineteen years of age who have fake I.D. cards, enabling them to pass for twenty-two. It's pretty easy to see the different cliques at work here -- the ravers rarely leave the dance floor. They drink their bottled water and occasionally grind against whatever sex they are particularly enamoured with. The technowads conduct their, to me, mostly untranslatable conversations about AIP addies, how to best configure their custom version of Slackware, and when Daikatana II is being released.\n" "The super-villains dominate the booths, sitting smugly within them. It's these guys I'm chiefly interested in tonight.\n" } } scenery moshpit "mosh pit" { in Bar2 nouns "pit" adjectives "mosh" article "the" long_desc { "The mosh pit is where the kids at the Tavern go to dance.\n" } Before { object DoEnter { "It's too chaotic to enter, and too crowded to get any information out of the kids dancing within it.\n" } } } scenery barvillains "the super-villains" { in Bar2 adjectives "super" "masked" "caped" "bad" "evil" nouns "criminals" "criminal" "villain" "villains" "super-villain" "super-villains" "crooks" "people" "villian" "guys" article "the" short_desc { "The villains that I recognize are Snowman, The Pounder, Green Knight, the AIDS Archer and Iron Lung. There isn't anybody else in costume.\n" } long_desc { "The villains that I recognize are Snowman, The Pounder, Green Knight, the AIDS Archer and Iron Lung. There isn't anybody else in costume.\n" } } scenery bargirls "girls" { charnumber 998 is living female in Bar2 nouns "girls" article "the" long_desc { "There's a few girls here, hanging over the ravers.\n" } } scenery ravers "ravers" { in Bar2 nouns "ravers" article "the" long_desc { "The ravers all look bored and uninterested and drink their bottles of water to re-hydrate themselves.\n" } Before { object DoTalk { "The ravers are too cool to talk to me. Or I'm not cool enough to talk to them. Something like that.\n" } object DoHit { "Well, whaling on a bunch of kids wouldn't exactly do wonders for my professional reputation. \n" } object DoKill { "I'm guessing they'll find a way to muck it up for themselves if given enough time.\n" } } } scenery water "water" { in ravers nouns "water" article "the" long_desc { "The ravers have bought all the water. They usually spend more on that then they do on X, but they don't need me to point out the financials.\n" } } scenery speakers "speakers" { in Bar2 nouns "woofers" "speakers" "tweeters" adjectives "woofers" "tweeters" "big" "large" article "the" long_desc { "There are a bunch of speakers lined up all over the Tavern... they put out some pretty loud noise.\n" } } object plug "plug" { in IronLung adjectives "electric" "iron" "lung's" "power" noun "plug" "cord" "power" long_desc { "The plug powers the Iron Lung. Without it, he's just another septuagenarian woefully out of place at a dance club.\n" } before { object DoTakeOff { Perform(&DoPull, self) } object DoPull { if self is not pulled { self is pulled { if (IronLung.conscious = 0) { "I pull the plug out of the wall, effectively powering down the Iron Lung when he wakes up.\n" } if (IronLung.conscious = 1) and (fight_active = 0) and (GameEvents[12] = 0) { IronLung.hitpoints = 0 IronLung.conscious = 0 fight_active = 1 "I give the Iron Lung's electric cord a sharp pull and it comes free from the wall. He gives a sharp scream, informing me that I am a complete and total bastard prick before the shock of power loss renders him unconscious.\n\n The other super-villians in the bar are pretty pissed at this act of aggression, and rise up from their booths in order to attack!\n" IronLung.peaceful = false GreenKnight.peaceful = false Snowman.peaceful = false AIDSArcher.peaceful = false Pounder.peaceful = false } if (IronLung.conscious = 1) and (fight_active = 1) { IronLung.hitpoints = 0 IronLung.conscious = 0 fight_active = 1 "I give the Iron Lung's electric cord a sharp pull and it comes free from the wall. He gives a sharp scream, informing me that I am a complete and total bastard prick before the shock of power loss renders him unconscious.\n" IronLung.peaceful = false GreenKnight.peaceful = false Snowman.peaceful = false AIDSArcher.peaceful = false Pounder.peaceful = false } } } else { "It's already been pulled out of the wall socket!\n" } } object DoGet { "It's pretty securely connected to the Iron Lung's costume, I don't know that I'd be able to detatch it.\n" } } is not pulled } LightRoom ComicShop "City Comic Corp" { long_desc { if (self is not visited) { music "acs_mus", "carnivalbaby", 60 Activate(comicshop_routine) "The comic shop is a poorly-lit haven for the anti-social. The comics are displayed on the racks and there are a few shelves with models and miniatures. The trading cards are behind the counter in a locked shelf. The owner looks up from his porn when I come in and rolls his eyes. He puts his slice of pizza down in order to formulate some sarcastically clever response. \n\n \"Sorry, Mack, the costume store is uptown an' closed.\"\n\n Who is this jerk? \"Yeah. Thanks.\" I point to his magazine. \"Nice set up you have there, Tommy Boy. Two great tastes that go great together. 'You got your come in my pizza! You got your pizza in my come!' Somewhere Jimmy Reeses is spinning in his fricking grave.\"\n" } else { "The comic shop is a poorly-lit haven for the anti-social. The comics are displayed on the racks and there are a few shelves with models and miniatures. The trading cards are all kept behind the counter in a locked shelf.\n" if ComicOwner.conscious = 1 { "The owner occasionally looks up from his pornography to give me a look of ire or disdain.\n" } } } out_to { music 0 if (Taxi not in OutsideComicShop) and (GameEvents[17] = 0) { Activate(bring_taxi) } return OutsideComicShop } } LightRoom OutsideComicShop "Outside the City Comic Corp" { nouns "store" long_desc { ! I don't know why I called it "the largest" -- reading this again for the first time in a while, I always thought ! of it at closed-in and claustrophobic. Hurm, eh? music "acs_mus", "nosong", 100 "I'm just outside the largest comic book and hobby shop in Manhattan. From the outside, it looks as if much cooler things go on within. Plenty of posters advertising various vampire and lycanthrope mags line the windows. There is very little super-hero content these days, aside from the mainstays and the traditional staples. Comic books have made the transition to a deeper form of story and art, and it shows in shops like this. An alleyway lies to the south, but really beyond that there are no active businesses at this hour.\n\n Apparently some trading cards were being released exactly at midnight tonight, thus the store's unusually late hours.\n" } graphic "acs_gfx", "comic01" s_to ComicAlley in_to { if (GameEvents[18] = 0) { GameEvents[18] = 1 Activate (klanman_routine) return ComicShop } else return ComicShop } } LightRoom ComicAlley "Lit Alley" { long_desc { "This is an alley off of the City Comics Corp building. It is quite narrow -- slightly more than a couple shoulder's length across.\n\n"; describe_klan_scene if (KlanMan.in_scope = 1) { UpdateGraphicsWindow(KlanMan) } } n_to OutsideComicShop } ! Christ on the Cross, when I was working at an Electronics Boutique, the little geeks who had to have their freaking ! Magic: The Gathering used to annoy the piss out of me. object cards "Icefrost expansion cards" { in DisplayCase nouns "cards" "box" "card" "icefrost" adjectives "icefrost" "expansion" "trading" article "the" long_desc { "It's a box of trading cards from the Icefrost division of TSR-Coasts. Apparently they have some value to gaming geeks.\n" } Before { object DoBuy { if (cards in DisplayCase) "The owner doesn't seem to be paying attention to me. Great. Ten million of the rudest human beings on the face of the planet live in New York City and I get the one store owner who wants to be personally addressed.\n" else "They can no longer be purchased.\n" } } } scenery DisplayCase "display case" { in ComicShop nouns "case" adjectives "display" "clear" long_desc { "The display case is a simple, locked plastic shell which contains a bunch of cards and other easily-shoplifted items.\n" } is container, openable, not open, lockable, locked, transparent } object comics "comic books" { in ComicShop nouns "comics" "comic" "books" "book" adjectives "comic" article "the" long_desc { "The comic books here in the store are mostly black and white indie mags dealing with the topics of vampirism and sci-fi. There's a few mainstream super-hero comics, but that industry is in one of its many down-cycles, so there's not a lot.\n" } Before { object DoRead { "I flip through the comics briefly. I pick up a Marvel that deals with their vampire mythology. Apparently one way to defend against them is to not invite them into your home. If bad manners was all that it really took then Pabski would be the greatest crimefighter the world has ever known.\n" } object DoGet { if ComicOwner.conscious = 1 and ComicOwner.in_scope = 1 { "\"Get yer greasy paws off my wares!\" screeches the store owner.\n" } else { move comics to HolyAvenger comics is not hidden "Done.\n" } } } is readable, hidden } scenery comicposters "posters" { found_in ComicShop, OutsideComicShop nouns "poster" "posters" article "the" long_desc { "Just your random riff-raff. Some new pirate books are coming out. A couple ads for videogames -- \BFaith III\b, \BMLB '16\b, \BOn The Farm II\b... so on and so forth.\n" } } scenery pornography "porn" { in ComicShop nouns "porn" "porno" "pornography" article "the" long_desc { "Looks like Tons-O-Fun here prefers them airbrushed and demure. I think it's a submissive Geisha mag.\n" } Before { object DoGet { "I once punched Mister Mucous in the face and had trails of grotesque mucous discharge all over my skin. So I am no stranger to disgusting filth. But this? This I won't touch.\n" } object DoRead { "Can't. Must focus. Girlfriend dead. Grandma. Baseball.\n" } } is readable } object pizza "pizza" { in ComicShop nouns "pizza" "pie" adjectives "pepperoni" article "the" long_desc { "It looks like it's about two days old and from the Pizza Zoo. I know this not because I am the city's greatest detective, but because I eat too much of it under similar circumstances myself. It also gives its consumer red dragon breath, which the comic owner definitely has.\n" } Before { object DoGet { if ComicOwner.in_scope = 1 and ComicOwner.conscious = 1 { "The comic owner won't share.\n" } else { move pizza to HolyAvenger pizza is not hidden "Done.\n" } } object DoEat { ! Zork reference for ya coming up. "What the heck! I won't make a lot of friends this way, but nobody around here is too friendly anyhow.\n" remove pizza HolyAvenger.hitpoints = HolyAvenger.hitpoints+4 if HolyAvenger.hitpoints > HolyAvenger.maxhitpoints { HolyAvenger.hitpoints = HolyAvenger.maxhitpoints } } } is hidden } ! I was hoping to explain that the whole "the cabbie is named Raghib" thing. I never did, and it comes across ! as nigh racist. In actuality, it was supposed to be cleared up in a scene, but I didn't do it due to the time. vehicle taxi "taxi" { nouns "taxi", "cab", "car", "taxicab", "auto", "automobile", "vehicle", adjectives "taxi", "yellow" article "the" parse_rank 1 long_desc { "It's a yellow cab waiting for a fare.\n" } short_Desc { if HolyAvenger in self "I'm sitting in the cab.\n" else "There is a small yellow taxi here, waiting for a fare.\n" } is container, lockable, not locked capacity 100 Before { parent(player) DoGo { if word[1] = "out" { Perform(&DoExit) return true } return false } object DoLock, DoUnlock { "The cabbie controls that.\n" } object DoLook { if player in self "It's pretty filthy. Raghib here might pick up longer fares if he occasionally cleaned out the puke and blood from the upholstery.\n" else: return false } } after { parent(player) DoEnter { if (Johnny.in_scope = 1) { remove Johnny "\"Hey, Venger,\" says Johnny. \"I've got some things to take care of in Real Life. You gonna be okay for a bit? Go a while without beating the \Imierda\i out of anyone for a while?\"\n\n \"Yeah. You bet.\"\n\n \"All right. I'll give you a call tomorrow, we'll get going on this again.\" He shakes my hand and takes off down the street. I get into the cab and greet my boy and usual cabbie Raghib.\n" } else { lastr = random(5) select (lastr) case 1 { "I get into the cab. \"'Sup, Raghib?\"\n\n \"Well, if it isn't the Holy Fucking Avenger,\" he says. \"Mister Big Shot. Where to?\"\n" } case 2 { "I get into the cab. I greet my normal cabbie, Raghib. He's been in this country for forty years, a fact he always makes sure to big-time me with.\n\n \"What's new, Holy Avenger? Where to?\"\n" } case 3 { "I enter the cab and greet Raghib.\n\n \"Where are we off to, Holy Avenger?\"\n" } case 4 { "I enter the cab. Raghib, my usual cabbie, puts down his astrophysics book and nods hello. \"Where we off to, Avenger? Let's go, I got a test tomorrow.\"\n" } case 5 { "I enter the cab. It smells like a toilet. \"The hell?\" I ask Raghib.\n\n \"Yeah, yeah, I know,\" he says. \"Last fare no longer has poop in his butt. Where to?\"\n" } } } } is known } !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !SCENE THREE: VENGER'S APARTMENT ! There's no bathroom in his apartment, which I suppose could be explained away by "community bathrooms on his ! floor" but really... it served no purpose, and after doing it badly in REVENGER, I didn't want to do it badly ! in ACS. They really are complicated -- you're looking at a sink, toilet, and shower -- minimum -- and have to ! either deal with water or explain effectively why it doesn't come out. Plus the whole "flushing things down the ! toilet" stuff... a mess. Someone needs to come out with a "bathroom" class or activity set or something for Hugo. LightRoom Home1 "My Living Room" { long_desc { "Home isn't much to speak about. It's free from roaches and beetles and video cameras and I guess that's what's really important. But the walls are all crumbly, the floor is paper thin and rain always leaks from the skylight. There are four rooms in it -- mine, Red Cloud's, the living room and the kitchen. It's mostly painted in a sort of grayish-aqua hue, I guess. (It wasn't my choice.) Coming back here... I guess I've been putting it off. This is the first time since I learned of Red Cloud's death that I have been back home.\n\n The normal stuff is here -- couch, television, etc. To the east is my bedroom, to the west hers. The kitchen is north.\n" } e_to VengerBedroom w_to RedCloudBedroom n_to Kitchen out_to { if (GameEvents[21] = 0) { "I need to recharge before going out there again... just a little bit of sleep after I've calmed down.\n" } else { move mask to HolyAvenger mask is worn move sash to HolyAvenger sash is worn "I leave my apartment and go a few blocks towards the Dumpster where I stash my street clothes. I normally don't do this in broad daylight, but it's early enough and deserted enough so that nobody is out keeping tabs on me. I hail a cab -- my buddy Raghib is nowhere to be found -- and head off towards 9th and 34th in order to catch up with the Rad HaX0r.\n" MovePlayer(OutsideRadHouse) } } } LightRoom VengerBedroom "My Bedroom" { long_desc { "My room is rather basic and non-descript. My bed is just a mattress thrown into a corner -- I got used to living that way right after I graduated from SU and I suppose I just never saw the point of buying a whole box spring, frame and so forth. It also kind of made the nights I slept in Red Cloud's room seem a little more... I don't know. Comfortable or something. There's a stand in the corner, near the television and 3D set. My Bills jersey (\"Flowers 96\") is hanging up on the other side. The living room leads west.\n" } before { location DoSleep { if (GameEvents[15] = 0) { "I'm still a little wound up... I should be able to catch some sleep in just a little bit.\n" } if (GameEvents[15] = 1) and (GameEvents[23] = 0) { "Well, the Succubus is supposed to be coming over soon... I should probably wait until after she leaves.\n" } if (GameEvents[23] = 1) and (GameEvents[22] = 0) { "Jenn is still here! I'm exhausted, sure, but I just need to finish speaking with her before I pass out.\n" } if (GameEvents[21] = 1) { "I've already had a solid night's sleep -- I feel pretty refreshed.\n" } if (GameEvents[22] = 1) and (GameEvents[21] = 0) { GameEvents[21] = 1 HolyAvenger.hitpoints = HolyAvenger.maxhitpoints "I fall to sleep, completely exhausted from the last few days. Sleeping now should give me the jump on the Rad HaX0r tomorrow -- everything I've ever heard about the guy and his sleeping habits indicate that they party all night and go to sleep at dawn. I make a note to get up around six or seven in the morning tomorrow and fall asleep...\n" pause "Time passes...\n" pause "Around six-thirty I wake up and get myself ready to go to work. The HaX0r is off 34th Street and it's time I paid him a visit to see if he feels up to singing like a canary.\n" } } } !succubus didn't call yet !succubus called but didn't come over yet !succubus came over but haven't finished conversations !succubus came over, finished conversations, she left w_to Home1 out_to Home1 } LightRoom RedCloudBedroom "Red Cloud's Bedroom" { nouns "room" long_desc { if (self is not visited) "It still smells like her.\n\n It still feels like her. It feels like she's here. It's just the way she left it. Maybe it hadn't hit me. It should have, when I identified her at the morgue and vomited. But now... now it's really... \n" else "She had a much more interesting room than mine. More alive. When she first moved in she wasn't going to bring much more than her clothes, makeup and computer and then I made some crack about being a \"Polyester Bride\" and she took offense. So she went crazy. Her bed is an overblown canopy-topped wonder that dominates most of the room. Just to the right of it is her night stand, mirror and closet. Her computer and desk is over to the other side of her bed. To the east is the living room.\n" } Before { ! Regarding this below: Sorry. object DoSearch { if (GameEvents[15] = 1) and (GameEvents[16] = 0) { GameEvents[16] = 1 move RedWraith to RedCloudBedroom curtains is open "I try to discern the origin of that scraping noise... nothing seems to be under her bed or anything. I then move the curtains apart... and standing behind them is the Red Wraith.\n" COLOR LIGHT_CYAN "\IHello, Marcus...\i\n" COLOR TEXTCOLOR Activate(red_wraith_speech) } else { "I don't find anything out of the ordinary.\n" } curtains is open } location DoSleep { if (GameEvents[15] = 0) { "I'm still a little wound up... I should be able to catch some sleep in just a little bit.\n" } if (GameEvents[15] = 1) and (GameEvents[23] = 0) { "Well, the Succubus is supposed to be coming over soon... I should probably wait until after she leaves.\n" } if (GameEvents[23] = 1) and (GameEvents[22] = 0) { "Jenn is still here! I'm exhausted, sure, but I just need to finish speaking with her before I pass out.\n" } if (GameEvents[21] = 1) { "I've already had a solid night's sleep -- I feel pretty refreshed.\n" } if (GameEvents[22] = 1) and (GameEvents[21] = 0) { GameEvents[21] = 1 HolyAvenger.hitpoints = HolyAvenger.maxhitpoints "I fall to sleep, completely exhausted from the last few days. Sleeping now should give me the jump on the Rad HaX0r tomorrow -- everything I've ever heard about the guy and his sleeping habits indicate that they party all night and go to sleep at dawn. I make a note to get up around six or seven in the morning tomorrow and fall asleep...\n" pause "Time passes...\n" pause "Around six-thirty I wake up and get myself ready to go to work. The HaX0r is off 34th Street and it's time I paid him a visit to see if he feels up to singing like a canary.\n" } } } e_to Home1 out_to Home1 } Lightroom Kitchen "The Kitchen" { long_desc { "We always tried to share breakfast in the morning. I remember the times I'd come home battered from throwing down with some idiot (or team of them) and she always knew how to make life good again. She usually fared a little better physically, because she could turn into fog and everything, but I still always tried to make sure she had her bowl of oatmeal (a splash of milk, four sugar, microwaved for two minutes, ten seconds), glass of apple juice and fruit rollup when she got home. We'd eat around the table and recharge. I guess that's a good way to put it.\n" } s_to Home1 out_to Home1 } object computer "computer" { in RedCloudBedroom nouns "computer" "pc" "terminal" "jesux" adjectives "red cloud's" article "the" long_desc { "Red Cloud owned a computer -- a Geode clone, I think -- with one of those Unix-derivative operating systems that kids from the Ukraine or Siberia or whatever wrote. I think her operating system is called Jesux or something eye-rollingly bop like that. It's powered on and everything and I can login to it to get my e-mail, news and check out the dossiers I've put together on the members of the super-human community.\n" } Before { object DoGet { "The computer is too much of a hassle to disconnect and move. Besides, I need it to get my e-mail and news.\n" } } is hidden } scenery scraping "scraping" { in RedCloudBedroom nouns "scraping" "gash" "cut" "hole" "scrape" adjectives "deep" article "the" long_desc { "The scraping that I heard before is evident on the wood floor of her bedroom. There's a deep gash in the floorboards near her computer. I don't really have a photographic memory or anything of the sort -- the scrape is just deep and obviously fresh. It looks as if her computer was kicked to the side in a rush by someone trying to get quickly away from it.\n" } before { object DoListen { "There's no scraping sound presently, but I can see a deep gash in the floor.\n" } } } scenery floor "floor" { in RedCloudBedroom nouns "floor" "floorboards" "boards" adjectives "wood" "wooden" article "the" long_desc { "The floor is made up of glossy floorboards. There is a cut in the floor near Red Cloud's computer.\n" } } scenery mirror "mirror" { in RedCloudBedroom nouns "mirror" article "the" long_desc { "Lookin' good.\n" if (GameEvents[15] = 1) and (GameEvents[16] = 0) and (self is not special) { a$ = random(10) if (a$ < 8) "Peering into the mirror, I can see that the curtains behind me shivered slightly.\n" } } is hidden } scenery curtains "curtains" { in RedCloudBedroom nouns "curtains" "curtain" adjectives "beige" article "the" long_desc { "Red Cloud picked out this pair of beige curtains when we first moved in. For whatever reason there weren't any when we moved in. Either the previous tenant decided life wasn't worth living without the set that came with the apartment or he or she was a professional-level exhibitionist. \n" } !15 -- Did HA pick up the phone? !16 -- Did HA reveal the Red Wraith behind the curtains? Before { object DoLookUnder { if (GameEvents[15] = 1) and (GameEvents[16] = 0) { GameEvents[16] = 1 move RedWraith to RedCloudBedroom curtains is open "I look under the curtains... and standing behind them is the Red Wraith!\n" COLOR LIGHT_CYAN "\IHello, Marcus...\i\n" COLOR TEXTCOLOR Activate(red_wraith_speech) } else { "I don't find anything under the curtains.\n" } } object DoOpen { if (GameEvents[15] = 1) and (GameEvents[16] = 0) { GameEvents[16] = 1 move RedWraith to RedCloudBedroom curtains is open "I move the curtains apart... and standing behind them is the Red Wraith!\n" COLOR LIGHT_CYAN "\IHello, Marcus...\i\n" COLOR TEXTCOLOR Activate(red_wraith_speech) } else { if (curtains is open) { "They're already open.\n" } } else { if (curtains is not open) { "I open the curtains.\n" } } curtains is open } object DoClose { if (GameEvents[16] = 1) and (RedWraith in RedCloudBedroom) { "The Red Wraith considers me with his lone eye. He shakes his head in mock, human pantomime.\n" COLOR LIGHT_CYAN "\INo... I don't think you'll be doing \Bthat\b!\i\n" COLOR TEXTCOLOR } else { curtains is not open } } } is openable, not open, hidden } ! That'd be the name of a good super villain wouldn't it? "Flash, 'Lantern -- come with me! The TroubAlert just said ! that the Night Stand is back and on a rampage!" scenery nightstand "night stand" { in RedCloudBedroom nouns "table", "dresser", "stand", "nightstand", "nighttable", "night-table", "commode" adjective "night", "old", "wooden", "cherry" article "a" long_desc { "I remember once that I referred to Red Cloud's night stand as that \"thing in front of the curtains.\" She gave me a confused look and then said \"Oh, you mean my Louis XV-style commode in fine crafted cherry.\" I then said, \"Yes. Yes I did.\" What else \Ican\i you say? She's moved it since then, so it's no longer in front of the curtains.\n" if child(self) Perform(&DoLookIn, self) else "There's nothing on it." } is platform capacity 50 list_contents return true ! "hide" the keys initially before { object DoLook, DoLookIn { ! Disable list_contents preempting self.list_contents = 0 return false } xobject DoGet, DoPutIn { self.list_contents = 0 return false } xobject DoGet { self is not quiet return false } } } scenery closet "closet" { in RedCloudBedroom nouns "closet" article "the" long_desc { "Red Cloud's closet is just a little storage area that she had.\n" } is container, openable, not open before { object DoLookIn { "Just a bunch of knick-knacks and the like. Nothing really of current interest or anything I'm prepared to deal with.\n" } } } scenery couch "couch" { in Home1 nouns "sofa", "couch", "furniture", "chesterfield", "ottoman" article "a" prep "on", "off" long_desc { "It's just a faux-leather full-length couch that three people can comfortably sit upon.\n" } is enterable, platform reach couch holding 0 capacity 50 before { object DoLookUnder { "There's nothing under the couch.\n" } } after { object DoEnter { "I sit down on the sofa. "; if self is special ! "Guilty pleasure" 'cos I took it from GUILTY BASTARDS. Thanks, again, Kent! No one make a joke about me having !anyone's manbabies, 'cos I see lots of Inform programmers worshipping Graham, afterall. "Absolutely comfortable. A real guilty pleasure." else print newline self is special } object DoExit {"I get up off the couch."} } } ! Holo sets by 2014? This is what I wanted to avoid, when writing about "the future," crap like this. Sorry. scenery holo "holo" { in Home1 nouns "tv", "television", "tube", "set", "holo" adjectives "tv" "holo" article "a" is platform, switchable, not switchedon holding 0 capacity 20 misc 0 ! channel (1-12) long_desc { "It's a three or four year old 32-inch model. It belonged to Red Cloud, although she didn't really watch anything more than the occasional episode of \IRed Dwarf\i or \IKnight Rider 3000\i. As far as holos go, it's black, sleek, attractive and still in pretty good shape -- these things usually don't last more than five years before formats change or they just break down and the light gets all defracted.\n\n"; if self is switchedon { "\n\n(on television)" WhatsOnTV(true) } else "The holo is turned off." } before { object DoGet { ! Yes, death of girlfriend = tons of free swag! "Well, I guess with Red Cloud dying, it's technically mine now.\n" } } after { object DoSwitchOn { "I turn on the holo. "; WhatsOnTV(true) } } } scenery tvchannel "channel" { part_of holo nouns "channel", "station" adjectives "television", "tv", "holo" article "a" long_desc WhatsOnTV(true) } ! See, Spider Man, I can buy, leaving through a skylight, because he can jump. I should required that Venger ! stack up a bunch of chairs or something, to leave through it. Blast! scenery skylight "skylight" { in Home1 noun "skylight" article "the" long_desc { "With this apartment being on the top floor we were lucky enough to get a skylight to go with it. It's a bit farther up than I can jump and lately it's just been used by Jenn when she's been coming and going late at night. I know sooner or later someone is going to notice her, but then again I don't know how much longer I'll be living here, so it doesn't really matter anymore.\n" } Before { object DoOpen { if GameEvents[23] = 0 { "It'd be thoughtful to open it for the Succubus, but impractical. She'll be fine.\n" } if GameEvents[23] = 1 { "No real need to anymore.\n" } } } } ! Actually, with the way that the Bills manage to hang onto their defensive linemen, there's not a chance in HELL ! that Flowers is still there in 2014. But a woman wearing a football jersey is just... wow. object jersey "jersey" { in VengerBedroom noun "jersey" "96" "flowers" adjectives "erik" "flowers" "jersey" "football" "blue" "buffalo" "bills" article "my" long_desc { "I've always been a Bills fan. I remember getting the living hell taunted out of me when I was growing up as they lost four straight Super Bowls. When they finally won it -- and when Flowers was named MVP -- I called up everyone I went to middle school with and let them have it. My phone bill was astronomical that month but I didn't care. After years of abuse I absolutely had to tell all those chuds who thought they knew more about football than I did to 'eat it.' This particular jersey is an authentic home uniform and fits me pretty well.\n" } Before { object DoSmell { "It still smells like Red Cloud. She used to wear it every once in a while. Never during the season -- when the Bills are playing I'm usually hunched around the holoset watching them and wearing it, and it's covered in nacho cheese, curry stains and the frosty stuff. But every so often, in the off-season, she's take it down from its hanger and wear it around the house. And as the sweet Lord Jesus as my witness, she always looked incredibly sexy in it. A football (or hockey, really) jersey instantly adds three points to a girl on the 1 to 10 scale, making the wholesome girl next door a curvaceous and sultry raven and a knockout like Red Cloud a goddess.\n" } object DoGet { "Nah, it has to hang there until the season starts. It would mess up the Bills' karma otherwise.\n" } } is clothing, hidden } scenery mybed "bed" { in VengerBedroom nouns "bed" "mattress" adjectives "my" article "my" long_desc { "My bed is strictly functional -- just a sheeted mattress thrown in the corner. Comfortable, sure, gloriously comfortable, but kind of smallish.\n" } before { object DoLookUnder { "Well, there's no box spring or frame. So there's nothing under the bed but grime.\n" } } is platform, enterable capacity 50 } scenery herbed "bed" { in RedCloudBedroom nouns "bed" "mattress" "canopy" adjectives "her" "canopy" article "the" long_desc { "Hers is an oversized canopy bed just flowing with size and elegance. We'd always sleep in it during the week, but never during the weekend. It just seemed too pristine to bother with when we'd both come in late on a Saturday night.\n" } is platform, enterable capacity 50 } scenery grime "grime" { in VengerBedroom nouns "grime" article "the" long_desc { "[Where were you during beta-test, clever one?]" } } scenery kitchentable "kitchen table" { in Kitchen nouns "table", "stand" adjective "kitchen", "dining" article "a" long_desc { "It's just a rather cheap kitchen table.\n" if child(self) Perform(&DoLookIn, self) else "There's nothing on it." } is platform capacity 50 list_contents return true ! "hide" the keys initially before { object DoLook, DoLookIn { ! Disable list_contents preempting self.list_contents = 0 return false } xobject DoGet, DoPutIn { self.list_contents = 0 return false } xobject DoGet { self is not quiet return false } } } !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !SCENE FOUR: RAD HAX0R's APARTMENT LightRoom OutsideRadHouse "Outside The Rad Hax0r's Apartment" { long_desc { if self is not visited { "This kid lives in a complete dump. Houses are packed together like caged hens. Oh -- he's got a front stoop, though. So he'll no doubt be able to scream incoherencies at passer-bys if he somehow makes it past the beating I'm about to give him. The place is a desolate graying color with paint ripping off the walls. A grimy set of steps leads up to some sort of poorly designed airlock before I can actually enter his house. It doesn't look as if there is any sort of lock. There's a few feet worth of back-alley on the right side of his house which leads only God-knows-where. \n" } else { "The Rad Hax0r's house is small, decaying and ripping with stank. It's not so much a crack house as it is a crack studio. A grimy set of stairs leads up and I can go north into a back-alley.\n" } } ! I used to date a girl who lived in this house that was used for this room. Unfortunately, bad Photoshopping was only ! half the reason why it looked devoured by some kind of alien beetle. ! I mean, it actually WAS, in other words, just in case Man-At-Arms is planning on throwing me out of !the Masters of the Subtlety Club. graphic "acs_gfx", "radhouse" u_to Stairs1 in_to Stairs1 n_to RadAlley1 } LightRoom Stairs1 "On the Stairs" { long_desc { "His stairs are pretty much covered in gunk and rotting paint. The door to his house is here before me. Otherwise, I can go back down.\n" } s_to OutsideRadHouse d_to OutsideRadHouse in_to Chamber u_to Chamber n_to Chamber } LightRoom RadAlley1 "Alley" { long_desc { "This alley is a foul urban corridor incredibly thick with stank. The air is moist and heavy and filled with the sounds of a couple of teenagers, undead banshees or cats having sex next door. I'm not really sure which it is. The alley continues north for a few more feet behind the Rad HaX0r's house. \n" } s_to OutsideRadHouse n_to RadAlley2 ne_to RadAlley2 } LightRoom RadAlley2 "Behind the House" { long_desc { "This is a urine-soaked filthy sub-alley behind Rad HaX0r's house. Garbage is littered about the wayside, mostly composed of rotting pizza boxes, porn DATs, decomposing leaves and rainwater. There's a fifteen foot cement wall behind me that separates this pigsty from one of the others on the opposite side of the street. This side of the HaX0r's house is pretty unremarkable -- mostly weather-beaten siding -- but the lines to his electricity come in from the street into his electric box right at eye-level.\n" } s_to RadAlley1 se_to RadAlley1 } scenery radstairs "stairs" { found_in OutsideRadHouse, Stairs1 nouns "steps" "stairs" article "the" long_desc { "The Rad Hax0r's stairs are crumbling and tattered.\n" } before { object DoSearch { "The HaX0r hasn't left anything of value around his stairs.\n" } } } scenery radtrash "garbage" { in RadAlley2 nouns "garbage" "trash" "refuse" "boxes" "dats" "dat" "porn" "leaves" "rainwater" long_desc { "Yeah, just a bunch of filthy crud the HaX0r has tossed out.\n" } Before { object DoSearch { "I check to see if there's anything incriminating within it. All I really come up with is that the HaX0r apparently takes his pizza pies with extra cheese and half-pepperoni, he uses ribbed condoms for 'her' pleasure, and the 'her' in question was taped going down on the HaX0r. None of it seems to have any real physical value.\n" } } } ! Game design rant coming up -- no matter what you do to the generator, the Hax0r still captures you. Why is this? ! This is not because I hate my players. But ACS was supposed to be a game where you had options to do different ! things, and those decisions would be reflected and acknowledged, but the plot would still go forward. In lieu ! of making a totally malleable, changeable, "plastic" kind of game... ACS is one where the path you take may ! vary slightly, but the results are the same. How can an author communicate this to the player? I thought that by ! saying "there is no way to get the game in an unwinnable state" it would do this, but plenty of people did the ! UNDO thing and tried the other generator path... disable UNDO? That's not an option. I don't know. The current ! work-in-progress is *not* like this at all, but it's design demanded it be that way... again, I dunno. There's ! a slick way to do this, to get this feeling. And I messed it up here, but I *know* that I did, and armed with ! that knowledge, I'll get better. scenery generator "generator" { in RadAlley2 nouns "generator" "box" adjectives "electric" long_desc { "This appears to be the generator for the electricity to the HaX0r's house. It seems simple enough to operate.\n" if self is switchedon {"The generator is switched on.\n"} else {"The generator is switched off.\n"} } Before { object DoSwitchOn { if self is switchedon {"It's already on.\n"} else { self is switchedon {"I turn on the generator.\n"} } } object DoSwitchOff { if self is not switchedon {"It's already off. My work here is done, then.\n"} else { self is not switchedon {"I turn off the generator.\n"} } } } is switchable, switchedon } LightRoom Chamber "Chamber" { long_desc { if (GameEvents[25] = 0) { GameEvents[25] = 1 "I hear a teenager speaking through a hidden speaker.\n\n \"Sorry, 'Venger. We figured you were coming.\" That has to be the Rad HaX0r.\n" if (generator is not switchedon) "Did you think we wouldn't notice it if you turned the electricity off? I mean, shit, y'know? Fucking Scourge Squadron wannabe poseur assholes.\"" if (generator is switchedon) "\"My webcams had you pegged the moment you got off that cab. You're not dealing with the Spanish Fly or the Texacutioner, asshole. I'm the Rad Fucking HaXX000OOorr!\"\n" "Some kind of gas fills the chamber. I try to make a run for the door but just can't get around in time. I bang my head against the floor as the gas knocks me unconscious...\n" pause Activate(pabski_arrives) MovePlayer(RadHouse1) ! HolyAvenger is paralyzed } else { "The Rad HaX0r's porch, or chamber or whatever, is a humid and claustrophobic little room.\n" } } s_to Stairs1 d_to Stairs1 out_to Stairs1 in_to RadHouse1 n_to RadHouse1 } LightRoom RadHouse1 "Rad HaX0r's Living Room" { long_desc { ! Elegant Coding Solutions 101 below. Or, Don't Do This: if (HolyAvenger is paralyzed) { "" } else { "The HaX0r's house is a complete mess. There is garbage, outdated computer equipment, newspapers and tobacco spitters tossed randomly about his living room. The kid and his associates are obviously consummate slobs.\n" } } out_to Chamber s_to Chamber w_to RadHouse2 } LightRoom RadHouse2 "Rad HaX0r's Bedroom" { long_desc { "The kid's bedroom has a number of computers connected together through LAN wire and a large air conditioner keeping the room cool. The tables and such are covered with some greenish and orange bowls that probably once contained pasta or a various Italian noodle by-product.\n" } out_to RadHouse1 e_to RadHouse1 } scenery radcomputer "computer" { in RadHouse1 nouns "computer", "computers", "pc", "equipment" adjectives "computer" article "the" long_desc { "There are piles of broken and semi-functioning computers laying about. I would imagine that he has his data encrypted pretty well and his computers password protected.\n" } before { object DoUse { !Writing your own OS = 31337, right? "He's running an operating system I'm not familiar with on the functioning ones. It's possibly something he's written himself.\n" } object DoHit { "Violence isn't the answer to this one.\n" } } } scenery radgarbage "garbage" { in RadHouse1 nouns "trash", "garbage", "refuse", "spitters", "tobacco", "spitter", "junk" adjectives "tobacco" article "the" long_desc { "More filthy trash. The HaX0r had \Bbetter\b have some talent as a programmer and application designer or otherwise he and his disgusting and piggy friends will soon be turned into delicious bacon.\n" } before { object DoSearch { "I search the refuse in this room -- a couple handwritten scribbles and notes basically confirm that Snowman and the HaX0r have had a limited partnership and/or miscellaneous dealings for at least the past month and a half.\n" } } } scenery radpasta "pasta" { in RadHouse2 nouns "pasta" "garbage" "bowl" "bowls" "noodle" "by-product" adjectives "italian" "greasy" "cereal" "green" "greenish" "orange" "orangish" article "the" long_desc { "\B[ Congratulations, you have found a bug! ]\b\n\n ... and about eighty other disgusting forms of life scattered about these pasta bowls.\n" } before { object DoEat { "Although my immune system is nigh perfect, I've previously only tested it against terrestrial diseases -- the kind which I'm unlikely to encounter if I ingest any of the HaX0r's old crusted-over meals.\n" } object DoSmell { "Shig!\n" } } } scenery radcoolers "computers" { in RadHouse2 nouns "computers" "pc" "machines" "coolers" "fans" "computer" "wire" adjectives "computer" "lan" article "the" long_desc { "Those that are password-protected I can't get into. \n\n Those that aren't just seem to be loaded up to the brim with porn.\n" } } scenery radfridge "refrigerator" { in RadHouse2 nouns "fridge" "refrigerator" "frige" "plates" adjectives "refrigerator" "magnetic" article "the" long_desc { "The HaX0r keeps a small mini-fridge here in his room. It's covered with various magnetic ads that have been fused to the refrigerator through years of cereal spills and the like.\n" } before { object DoOpen { "It's stuck.\n" } } is openable, not open } !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !SCENE FIVE: CRIME SCENE ! I didn't like how this "city" was all choppy, and only about four "rooms." It had a feeling of that one ! game where a "room" is an entire state or country or whatever. I had a similar problem in the WIP, but ! I think I fixed it. LightRoom SideStreet "Side Street" { long_desc { if self is not visited { music "acs_mus", "ghostofachance", 60 "I am on a nameless Manhattan side street just south of the alley of where Red Cloud was slain. Ghetto apartments rise above me, four stories in height, encompassing me in a depressing urban labyrinth. I can't imagine what would have brought her to this locale -- perhaps she had experienced poverty of the type that would have forced her to live like this once, but if so, it was years before she met me. \n" } else { "This is a side street with no sign just north of the alley where Red Cloud was slain. Ghetto apartments form this into a type of urban maze. I can hear bits of the occasional loud argument and every so often a gun goes off in the distance.\n" } } graphic "acs_gfx", "alley02" n_to BloodSoakedAlley e_to {"A row of houses leads to the north, but right now I think it's best if I keep a low profile.\n"} w_to {"The street continues to the west a bit. I check it out visually, but there doesn't seem to be anything of interest in that direction.\n"} ! Old Directions !e_to Stoop !w_to MainStreet2 !nw_to House2 } LightRoom BloodSoakedAlley "Blood-Soaked Alley" { long_desc { if self is not visited { "It was here where, days ago, all the light went out from my life.\n\n This is a narrow alley flanked by crumbling, decadent squalor. The asphalt is broken in many places, the walls covered with layers of competing, whispery graffiti from years long past. The traffic, the shouting and disheveled locals, the pent-up midnight gotham fury... it has melted away -- at least for the moment -- as I walk about the locale that killed my love. The only sound is that of my imagined (I guess) grey fog... I feel the stench of what the last few horrible moments of her life must have been against my skin and cannot make it go away.\n" } else { "This is a narrow alley where, days ago, Red Cloud was killed. Everything here is horrible.\n" } } graphic "acs_gfx", "alley" n_to MainStreet1 s_to SideStreet } LightRoom MainStreet2 "Further Down the Side Street" { long_desc { if self is not visited { "The side street broadens slightly in this direction. A tall, concrete wall prevents further passage west and south. A housing complex is to the north and the street leads back east.\n" } } n_to House1 e_to SideStreet } LightRoom MainStreet1 "Along the Street" { long_desc { if self is not visited { "This extension of the alley leads west to reasonable civilization. Cabs occasionally troll this area, but they are more easily found to the west.\n" } else { "This extension of the alley leads west to reasonable civilization. Cabs occasionally troll the area for fares. To the north is a fence-guarded row of apartments.\n" } } s_to BloodSoakedAlley w_to UrbanScene } LightRoom UrbanScene "Taxi Deck" { long_desc { if self is not visited { "Here, the alley opens into a more traditional street. The rest of Manhattan is beyond, beneath the waxing moon. To the north is a locked apartment complex and to the east is a twisting back-alley. Taxis usually cruise this particular area looking for a fare.\n" } else { "This is a more traditional street than the back-alleys I've seen before. Taxis usually patrol this section of the street looking for a hapless fare. To the north is a locked apartment complex. Going east leads back to the crime scene where Red Cloud was killed.\n" } } n_to {"I try to enter the housing complex but it's got more fences and defenses than a Turkish prison.\n"} e_to MainStreet1 } LightRoom Stoop "Front Stoop" { long_desc { if self is not visited { "This collection of houses is somewhat unique for the area for having a set of front steps. New Yorkers are famous for sitting upon their stoops in order to drink themselves crass and abuse passerbys. Luckily enough, it is presently too early for that kind of traditional debauchery.\n\n A college-aged girl comes east from the side street and presses the intercom buzzer. She quickly lets herself inside (making sure to lock the gate while I'm surveying the scene.)\n" } else { "I am before the front steps to a row of multi-level houses. To the east is a side street that ultimately leads back to the main road. A high wall surrounds me in all other directions.\n" } } n_to House4 w_to SideStreet } !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !SCENE SIX: GRAVE YARD BATTLE ! No more graveyards. Two in two straight comps. No mas, I promise. GraveRoom Entrance "Entrance to the St. Columba Memorial" { long_desc { if self is not visited { SetFinalBattle() "I exit the cab and tell the cabbie to get the hell away from the graveyard -- I can hear the sounds of the battle before I'm even out of the taxi. Looking upon the scene, well, it's worse than I expected.\n\n The Red Wraith has raised dozens of corpses this eve. My team-mates -- Ameba, Johnny Hollywood, the Succubus and the Wereboar -- are doing their best to fight them but they are not faring too well. Johnny's clothes have been ripped to shreds by the cadavers, the Succubus is doing everything to simply avoid the rain of broken coffins thrown at her and so forth. \n\n To the north is the battlefield. A ways beyond that I can see a black mist trail up from a walk-in mini-Cathedral. \n" } else { "I am at the entrance of the St. Columba Memorial Cemetery. To the north is a series of tombstones and markers, and beyond that, a mist-encovered Cathedral.\n" } } graphic "acs_gfx", "enter02" n_to { if GameEvents[39] = 0 { GameEvents[39] = 1 Activate(corpse_fight) move zombie to Battlefield return Battlefield } else { return Battlefield } } cant_go {"My destiny tonight lies to the north.\n"} } GraveRoom Battlefield "St. Columba Memorial Cemetery" { long_desc { if HolyAvenger in cage { run cage.long_desc } elseif self is not visited { "I run through the gates to get into the Memorial and the fray surrounds me. \n\n I strike out randomly, attempting to only advance towards my friends before the Ameba suddenly appears before me.\n\n \"Venger! You've gotta get into that Cathedral! The Wraith is down there and none of us can pass through that fog!\"\n" } else { if (fight_active2 = 1) { "I am fighting various raised cadavers and bits of shambling corpses with my team-mates. To the north is a Cathedral the Red Wraith has possessed. The graveyard itself stretches a bit in both the east and west.\n" } else { "I am within a cemetery that has been turned into a battleground. Markers continues to line the scene to the east and west.\n" } } } ! Here's how to get multiple pictures in Hugo for a single location, depending on a variable. graphic { if GameEvents[36] = 0 { current_resource_file = "acs_gfx" current_resource = "cemetery01" } else { current_resource_file = "acs_gfx" current_resource = "scene0201" } return -1 } w_to { if GameEvents[38] = 0 { "I can't get past the animated corpses to go that way! It looks like they are allowing me to only go south or north, which is no doubt the work of the Red Wraith.\n" } else return GraveWest } e_to { if GameEvents[38] = 0 { "I can't get past the animated corpses to go that way! It looks like they are allowing me to only go south or north, which is no doubt the work of the Red Wraith.\n" } else return GraveEast } s_to Entrance n_to { if GameEvents[36] = 0 { Deactivate(corpse_fight) remove Zombie return Cathedral } else "A large amount of rubble stops me from entering the Cathedral any longer.\n" } } LightRoom Cathedral "Cathedral of Hate" { long_desc { if self is not visited { GameEvents[38] = 1 COLOR LIGHT_CYAN "\IMarcus, I'm so glad you were able to join us tonight! I had my doubts that you would come, you know...\i\n" COLOR TEXTCOLOR "I am inside a shifted Mausoleum. It appears as if the Red Wraith has transformed a walk-in structure for the entombment of the dead into his own personal Cathedral of Hate. There are bodies, six to a side, pressed up against the Cathedral's eastern and western walls with cold glass. A set of stairs covered in glowing moss leads downwards to where I feel the Wraith's aura and pull.\n" } else { "I am inside a physical representation of Red Wraith's mind -- in this case, his own personal Cathedral of Hate. Bodies line the walls and a set of stairs covered in glowing moss leads downwards.\n" } } s_to {"That path no longer exists... covered in an anemic fog.\n"} d_to Lair cant_go {"I can't go that way in the Cathedral.\n"} } scenery moss "moss" { in Cathedral nouns "moss" "fungus" adjectives "glowing" "fluorescent" "green" "phosphorent" "phosphorant" article "the" long_desc { "It's, glowing, phosphorus, moss placed to illuminate the stairs leading downwards for effect -- as if the Red Wraith were somehow under the impression that there just wasn't \Iquite\i enough effect going on already and wanted to tip the scales.\n" } } scenery cathedralstairs "stairs" { in Cathedral nouns "stairs" adjectives "winding" article "the" long_desc { "The winding stairs lead downwards to darkness.\n" } Before { object DoClimb { "Just give the direction 'down' directly...\n" } } } ! I would use distant_class, instead, now that Ben Parrish has made me aware of its existence. scenery FauxMucous "Mister Mucous" { nouns "mister" "mucous" "villain" "villains" "faux" adjectives "mister" long_desc { "He's a ways away, but from here I can see that he hasn't changed from the last time I encountered him. He is covered in grotesque mucous that flows out of his body at an incredible rate and he uses it to propel himself around. The one time I defeated him I was able to set a trap for him -- I had pieced together a kind of remote launcher that threw out a single large fireball at him and burned away his mucous-covered exterior. Unfortunately, there's no possibility of \Ispecifically\i repeating that right now, because I don't have access to anything that can generate large amounts of fire...\n" } before { object DoLook { "He's a ways away, but from here I can see that he hasn't changed from the last time I encountered him. He is covered in grotesque mucous that flows out of his body at an incredible rate and he uses it to propel himself around. The one time I defeated him I was able to set a trap for him -- I had pieced together a kind of remote launcher that threw out a single large fireball at him and burned away his mucous-covered exterior. Unfortunately, there's no possibility of \Ispecifically\i repeating that right now, because I don't have access to anything that can generate large amounts of fire...\n" } Anyverb(self) { "I can't do that to him from here -- he's too far away!\n" } } } LightRoom Lair "Lair of the Red Wraith" { long_desc { if self is not visited { music "acs_mus", "hill", 100 fight_active2 = 0 !The fight is over upstairs move Succubus to SuccubusRoom move AIDSArcher to AIDSRoom AIDSArcher.peaceful = true AIDSArcher.hitpoints = AIDSArcher.maxhitpoints move Anthraxia to AnthraxiaRoom !move Drifter to DrifterRoom move Dad to FatherRoom "I descend the staircase... it seemed to go on endlessly but I know that was just Red Wraith playing a trick with my mind. That's what I thought he would do so he presented me with that image. I \Ihave\i to keep my wits. I have to be cleverer and smarter than he is.\n\n I enter his Lair. And I see what I want to see. \n\n Red Cloud is misting up from her coffin. She beckons me to come toward her without a sound.\n" COLOR LIGHT_CYAN "\IThis is how you got her, wasn't it, Avenger? This \Bis\b what you thought did it. A forever relaxed and fresh-faced man dressed to slay in deeply-pocketed cargo pants. Don't you see? I even dip a little tobacco, just like you...\i\n" COLOR TEXTCOLOR "The Red Wraith pantomimes deep thought, furrowing his unibrow before letting loose a thick glob of spit directly upon my armor.\n" COLOR LIGHT_CYAN ! Here's m'man the Wraith working in the game title! "\IShe's gorgeous, isn't she, Avenger? Isn't that how you truly feel? Haven't you survived three days with nary a passing thought of sleep, solely driven because her beauty is gone from the world? No, you are not upset because your \Bsoul-mate's\b delicate faith and creativity is now gone from the earth... No, Avenger, you are destined to walk an endless trail within a crimson spring because those eyes you stared so deeply into while firmly gripped in fleeting passion is no longer...\i\n" COLOR TEXTCOLOR "He's wrong -- I \Bhave\b slept. I fell asleep after the Succubus left. He's not omnipotent or even truly telepathic and I grasp onto that scrap of reality as I search my brain -- \Bmy\b brain -- for what to say to him. I have beat him before. He is \Bnot\b in control here.\n" } elseif (RedWraith.in_scope = 1) and (RedCloud.in_scope = 1) { "The Red Wraith's Lair seems to stretch out, in darkness, in all directions. Before me is the Wraith, snorting with superiority and jeering, Red Cloud, slowly emerging in mist form from her coffin and a lone candle shining with an unholy blue aura.\n" } elseif (RedWraith.in_scope = 1) and (Thug.in_scope = 1) { "The Wraith's Lair has shifted slightly -- Red Cloud is no longer here. Instead, the Wraith is wearing a British lawyer's wig and full suit, while before a badly-beaten boy that can't be any older than sixteen. It looks like he has a shell placed in order to stop me from giving him the beating he so deserves.\n" } else { "Without the Red Wraith here to maintain the illusion, I see this room for what it is -- a cemented dungeon with a broken roof, courtesy of the Ameba. The moonlight illuminates the room and I can get back to ground level by going up.\n" } } graphic "acs_gfx", "rwrc" u_to { if (GameEvents[29] = 0) { "I can't get up that far...\n" } else { GameEvents[36] = 1 "The Ameba morphs his body into a slippy, amebic rope. I climb it and get out of the Lair.\n" Activate(bring_mucous) move Ameba to Battlefield return Battlefield } } cant_go {"The Wraith has removed all exits from this lair of his.\n"} } GraveRoom GraveWest "West of the Graveyard" { long_desc { if self is not visited { "This is the western section of the graveyard. From here, I can see that a Water Tower, covered in graffiti, is to the northeast. There are a few tombstones scattered about but really, nothing else of note.\n" } else { "This is the western section of the graveyard. From here, I can see that a Water Tower, covered in graffiti, is to the northeast. There are a few tombstones scattered about but really, nothing else of note.\n" } } graphic "acs_gfx", "gravewest" e_to Battlefield cant_go {"The Memorial's fences stop movement in that direction.\n"} ne_to WaterTowerRoom u_to "I can't go that way.\n" d_to "I can't go that way.\n" } GraveRoom GraveEast "East of the Graveyard" { long_desc { if self is not visited { "This is the eastern section of the graveyard. From here, I can see that a Water Tower, covered in grafitti, is to the northwest. There are a few tombstones scattered about but really, nothing else of note.\n" } else { "This is the eastern section of the graveyard. From here, I can see that a Water Tower, covered in grafitti, is to the northwest. There are a few tombstones scattered about but really, nothing else of note.\n" } } graphic "acs_gfx", "graveeast" w_to Battlefield cant_go {"The Memorial's fences stop movement in that direction.\n"} nw_to WaterTowerRoom u_to "I can't go that way.\n" d_to "I can't go that way.\n" } GraveRoom WaterTowerRoom "Beneath the Water Tower" { long_desc { if self is not visited { "At this point, the graveyard fence breaks down and allows passage into a field. The field is dominated by a giant cyan water tower.\n" } else { "I am beneath a city water tower in a field north of the Cemetery.\n" } } sw_to GraveWest se_to GraveEast cant_go {"There isn't time!\n"} } ! Here are the rooms for those "mini-puzzles": LightRoom AnthraxiaRoom "Before Anthraxia" { long_desc { if self is not visited { Activate(anthraxia_scene) "I suddenly find myself in a sparse living room. Somebody's house, apparently. I start to look the room over, seeing if I can find any obvious traps that the Wraith has placed here for me.\n\n A girl walks down from above someplace. She smiles at me. I recognize her -- it's Anthraxia, the girl the news has been worked up about for spreading that immune-deficiency disease to as many white teens as she can find. This scene appears set a few years before the present.\n" "\"I'm so glad you came over, tonight! I just wanted to ask you... will you go roller-blading with me tonight? Maybe?\" She looks at me, just brimming with hope.\n" } else { "I am seemingly before a faux representation of the house that Anthraxia grew up in.\n" } } e_to { if Anthraxia is special { score +=5 return SuccubusRoom } else { "I can't get out of this scene that the Wraith created just yet...\n" } } } LightRoom SuccubusRoom "Before the Succubus" { long_desc { if self is not visited { Activate(succubus_scene) "The Succubus sees me enter her room. She looks differently from how I've ever seen her before. Usually she is so incredibly possessive of her mix of sympathy and confidence... but she isn't like that right now. The scene itself is one where I appear to be in her bedroom. When I look directly at her she looks like the young, adult woman I've known for a few years now. But when looking at the room I am in, or her indirectly she appears to be much, much younger. Nary a teenager, even.\n" } else { "I appear to be in the Succubus' bedroom, circa 2000 or so. Her mannerisms and appearance is that of about thirteen if I do anything other than look directly at her. She seems to be horribly withdrawn and in dire need of some human interaction or warmth...\n" } } e_to { if Succubus is special { score +=5 return AIDSRoom } else { "I can't get out of this scene that the Wraith created just yet...\n" } } } LightRoom AIDSRoom "Before the AIDS Archer" { long_desc { if self is not visited { Activate(aids_scene) "I am obviously within a college dormitory room.\n\n It appears as if the owner of the room is a physical education major or something. The room is split with a giant closet separating my half and my room-mate's. I hear some shuffling on the other side and turn my head to that side to see who it is.\n\n The AIDS Archer is wearing a broad-faced smile and looks up towards me. \"Gonna pull tonight, meng. You know that sally I met at the Red House the other night?\" Without waiting for confirmation, he continues. \"She's coming over here tonight. Literally, eh? Ha heh ha. Narmean? Meng?\" I kind of understand the guy, I guess -- meng, apparently means \"man\" or something. \"Yeh,\" he says, \"by the way, thanks for keeping your stuff out of my fridge. I hadda fill mine up with a couple bottles of Blue Whale, so thanks for bein' cool about that, meng...\"" } else { "I seem to be within the AIDS Archer's college dorm room. My half has some typical college gear -- a dumb terminal, bed, study, half-refrigerator and so forth. The AIDS Archer seems to live in somewhat sparser conditions; just a bed, fridge and five giant posters of Geena Davis.\n" } } Before { object DoHit { "My blows don't seem to land... and they aren't noticed, either.\n" } } e_to { if AIDSArcher is special { score +=5 return DrifterRoom } else { "I can't get out of this scene that the Wraith created just yet...\n" } } } LightRoom DrifterRoom "Before the Drifter" { long_desc { if self is not visited { Activate(drifter_scene) "The Wraith has outdone himself this time. I am within a the same roller coaster ride I was stabbed in so many years ago. We are up on the deck, around twenty or twenty-five feet in the air. I am before the same drifter who made me bleed. I haven't forgotten how close I came to dying that day. And I've always wanted a chance to set this right.\n" "The drifter waves for me to hit him. \"Go ahead,\" he whispers, \"Take the first shot.\"\n" } else { if drifter.in_scope = 1 { "I am on the top deck of a roller-coaster ride before the drifter that stabbed me on a similar ride many years ago. He's egging me on, thinking I don't have the nerve to hit him.\n" } else { "I am on the top deck of a roller-coaster ride before a drifter that stabbed me on a similar ride many years ago.\n" } } } e_to { if drifter is special { score +=5 return FatherRoom } else { "I can't get out of this scene that the Wraith created just yet...\n" } } } LightRoom FatherRoom "Before the Father" { long_desc { if self is not visited { "I enter this room and find my father sitting at our kitchen table smoking a cigarette. For a while he was able to give them up, but eventually the stress of his job, life and future caused him to start smoking them again. He looks up to me without real acknowledgement. By that I mean, he knows I'm here in the room with him but has no idea I'm his son.\n" "\"Sit down,\" he says. Only there's no place \B\to\b sit down. I saunter up towards him and look at him from across the table.\n" Activate(father_scene) } else { "I am within a blackness-enveloped kitchen; a facsimile of the kitchen I grew up with. My father is here before me, occasionally tugging on a generic, menthol cigarette.\n" } } e_to { if Dad is special { move mask to HolyAvenger mask is worn score +=5 move Succubus to Battlefield DetermineThugsFate } else { "I can't get out of the blackness yet...\n" } } } scenery bodies "bodies" { in Cathedral nouns "bodies" adjectives "dead" article "the" long_desc { "There are six bodies here. They are within transparent (glass?) boxes and arranged so that they seem to be standing and pressing up their hands against the front edge, hoping to somehow escape. They seem to be completely inanimate. To my left is Anthraxia, the Succubus and the drifter who repeatedly stabbed me as a boy so many years ago. To the right is the AIDS Archer, my father and a teenage boy whom I don't recognize.\n" } is plural } scenery body_anthraxia "Anthraxia's body" { in Cathedral noun "body" "anthraxia" "girl" adjective "dead" "anthraxia's" long_desc { if (GameEvents[26] = 1) "I recognize Anthraxia -- she was the Klan Man's target yesterday. Surprisingly, as a frozen, inanimate body she looks somewhat healthier than she did the other day. She has been dressed in a super-heroine costume (I have no idea if she normally wears one) consisting of fishnet stockings, a very short, leather or vinyl skirt, a dark belly shirt and some ribbons thrown randomly around her hair. She looks like she's crying in frustration, hitting the glass cage in a last attempt to break free before being frozen.\n" if (GameEvents[26] = 0) "Anthraxia is a girl that the various news sites have been doing stories on lately. She is afflicted with a next-generation version of the AIDS virus that keeps some hosts alive in order to infect, and kill, other victims. It's exclusively passed through sexual intercourse. There's some debate as to whether she's doing this out of malice, desperation, or whatever. It looks like that just before she was frozen she was trying to smash through the glass coffin. Frozen tears stream down both cheeks.\n" } is female } scenery body_succubus "Succubus' body" { in Cathedral noun "body" "succubus' body" "girl" adjective "dead" "succubus'" long_desc { "It seems to be Jenn... I shudder to think that the Wraith has killed her and put her into an upright, glass coffin as some kind of \Btrophy\b... she was just flying around moments ago, just outside, so I repeat to myself that it's not her, that it can't be her... if I were to lose her like this, I just don't know how I'd handle it...\n" } is female } scenery body_father "My Father's body" { in Cathedral noun "body" "father's body" adjective "dead" "father" "man" long_desc { "The body or animatron currently before me seems to be that of my father. He is two or three inches shorter than me, but a ways heavier. He has blue eyes that are seemingly pinned back in horror and black hair going grayish around the temples that is quite disheveled. It is quite disturbing to see him -- to see him like this -- after all this time.\n" } } scenery body_aids "AIDS Archer's body" { in Cathedral noun "body" "aids archer's body" adjective "aids" "archer" "man" long_desc { "This seems to be the body of the AIDS Archer, only much, much younger than when I last encountered him. He looks to be eighteen or nineteen years old. He is in costume, but without his quiver, bow and arrows.\n" } } scenery body_drifter "the drifter's body" { in Cathedral noun "body" "drifter's body" adjective "drifter" "man" long_desc { "This particular body elicits an incredibly strong emotional hatred from me. This is a drifter that I knew, briefly many years ago. While I was riding a roller-coaster of a traveling carny he joined me on the ride and began viciously stabbing me with a knife while on the ride. I have never been able to find him since. I have to admit a very faint sense of justice at seeing him, frozen, attempting to scratch his way out of his coffin like this.\n" } } scenery body_thug "the boy's body" { in Cathedral noun "body" "boy's body" "sparky" "thug" adjective "boy" long_desc { "This boy doesn't look familiar in the slightest.\n" } } ! Eventually, when "Most Disgusting Object" becomes an XYZZY award, a cage made out of boogers would absolutely ! OWN. So, until then... object Cage "cage" { parse_rank 1 nouns "cage" "prison" "room" "maze" "bars" "shell" "bar" "goop" adjectives "slime" "snot" article "the" reach cage short_desc { if HolyAvenger in self { "I'm trapped in some kind of snot cage. There seems to be two components of it -- vertical bars that form the prison's shell and some kind of oozing goop Mucous is adding to block the flow of air.\n" } } long_desc { if HolyAvenger in self { "I'm trapped in some kind of mucous cage. There seems to be two components of it -- vertical bars that form the prison's shell and some kind of oozing goop Mucous is adding to block the flow of air.\n" } } Before { location DoLook { if HolyAvenger in self { "I'm trapped in some kind of mucous cage. There seems to be two components of it -- vertical bars that form the prison's shell and some kind of oozing goop Mucous is adding to block the flow of air.\n" } } object DoOpen { if self is special { "I can't just open the cage -- Mister Mucous didn't exactly create a door for me!\n" } } xobject DoPutThrough, DoPutIn { select(object.name) case "pipe": { if (pipe is not throughcage) { pipe is throughcage "I stick the pipe through a couple of the bars. It gets through most of the way, but not completely. I still can't get any air out of it this way. It seems as if there is a membrane of Mucous' goop that is covering the end of it.\n" } else { "It's already through the cage.\n" } } else { "I can't get that through the cage!\n" } } } is container, openable, not open, not transparent, not special, light } !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !NEW VERBS... routine DoAbout { color LIGHT_RED "\BA Crimson Spring\b" color TEXTCOLOR "Copyright (c) 2000. Written & Programmed by Robb Sherwin\n\n\n" "\BA Crimson Spring\b is interactive fiction of standard difficulty level, originally intended as an entry for the 2000 Interactive Fiction Competition (www.textfire.com\\comp2000). Some scenes may be inappropriate for children.\n\n This game does not adhere to the IF standard of non-player character communication. Rather than \"ask \Icharacter\i about \Isubject\i\" or \"tell \Icharacter\i about \Iitem\i\" the player talks to other people in the game by typing \"\BTALK\b to \Icharacter\i\" (or simply \BT\b \Icharacter\i, for short). The resulting menu allows the player to pick from a menu of what you'd like your character to say. The game will then respond with the NPC's response.\"\n" "The graphics are provided as simply an interpretation of a given scene. It is possible to have a graphic on the display that, after some player actions, no longer represents the room the player is in or the characters present. However, you will not ever need to scour the graphics in order to advance the story.\n" "One traditional IF construct I have eliminated from this game is that of the door. I find opening, closing and locking them to be a complete pain and have not made those actions necessary to complete this game. 'In' and 'Out' will accomplish the same thing in this game. There are no literal 'find the key' puzzles.\n" "It is not possible to get the game in an unwinnable state for any dramatic length of time. Please type \"\BHELP\b\" for a brief Command Summary, further answers to common gameplay questions, hints and this ware's design notes & credits.\n\n" } routine DoBlow { "I can't blow through that.\n" } routine DoBuy { if object.name = drink { "I try not to slug down pints of brewskis when I'm working. And seeing how I am depressingly unemployed in real life, my ego considers this 'working.'\n" } else { "That doesn't seem to be for sale.\n" } } routine DoFly { "I can't fly. My only real power is my immune system -- I haven't had so much as a cold since I was thirteen, but I've never really considered it super-human. I'm also a pretty solid detective.\n" } routine DoKrips { "\BReviews From Trotting Krips\b\n http://ifiction.tsx.org\n Engaging social commentary from registered sociopathics.\n" } routine DoPlay { } ! This only works if done in the first move of the game, due to "it" becoming useful thereafter. ! Thanks to Greg D'Avis for this one. routine DoPump { "Yeah, yeah, yeah. I'm already out of bed and quite pumped. Thanks.\n" } routine DoPutThrough { "I can't do that.\n" } routine DoRead { "I can't read that.\n" } routine DoSmoke { "I can't smoke that.\n" } routine DoPlugh { "A hollow voice says, 'Be warned! This game contains excessive levels of \Bprophanity!!\b\n" } routine DoXyzzy { "A hollow voice calls a shout out to its main man, Demetrius DuBose. Whattup!\n" } routine Doidkfa { HolyAvenger.hitpoints = HolyAvenger.maxhitpoints "Acknowledged! Moving out!" } replace DescribePlace(place, long) { local obj, count, notlisted, tempformat ! Since, for example, a room description following entering via ! DoGo does not trigger before/after properties tied to looking ! around: ! if verbroutine ~= &DoLookAround { if place is not visited and verbosity ~= 1 return Perform(&DoLookAround) elseif long = true or verbosity = 2 return Perform(&DoLookAround) } if not light_source {Message(&DescribePlace, 1) ! "It's too dark to see..." return} place is known ! Print the name of the location as a heading Font(BOLD_ON) print "\n"; capital place.name; ! Print ", in " if necessary if location = place and player not in place { if parent(player).prep print ", "; parent(player).prep; " "; else print ", "; IN_WORD; " "; print Art(parent(player)) } print newline Font(BOLD_OFF) override_indent = false ! Added to "hugolib.h"'s DescribePlace routine: UpdateGraphicsWindow(location) !UpdateDetailWindow if place is not visited and verbosity ~= 1 { if &place.initial_desc or &place.long_desc Indent if not place.initial_desc run place.long_desc } elseif long = true or verbosity = 2 { if &place.long_desc Indent run place.long_desc } if &place.list_contents and FORMAT & DESCFORM_F print "" ! for double-space-after-heading formatting ! A location may contain an overriding listing routine, as may any ! parent, in the list_contents property ! if not place.list_contents { list_nest = 0 ! For double-space-after-heading formatting: if FORMAT & DESCFORM_F: { for obj in place { if obj is not hidden and (player not in obj or children(obj) > 1): { print "" break } } } ! List contents of chair, vehicle, etc. player is in if player not in location WhatsIn(Parent(player)) ! List all characters, if any count = 0 for obj in place { if obj is hidden or obj is not living or player in obj: obj is already_listed else { obj is not already_listed ShortDescribe(obj) if obj is not already_listed count++ } } list_count = count count = 0 if list_count ! if characters are to be listed { tempformat = FORMAT FORMAT = FORMAT | FIRSTCAPITAL_F | ISORAREHERE_F FORMAT = FORMAT | USECHARNAMES_F if FORMAT & LIST_F { FORMAT = FORMAT & ~LIST_F ! clear it FORMAT = FORMAT | TEMPLIST_F } Indent list_nest = 0 ListObjects(place) FORMAT = tempformat } for obj in place { #ifset USE_ATTACHABLES ! Exclude all attachables for now (and characters) if obj is living or obj.type = attachable or player in obj #else if obj is living or player in obj #endif obj is already_listed else obj is not already_listed } for obj in place { #ifset USE_PLURAL_OBJECTS ! ...And don't list identical objects yet, either if (obj.identical_to).type = identical_class { if obj is not hidden count++ } elseif player not in obj #else if player not in obj #endif { if obj is not already_listed and obj is not hidden: { ShortDescribe(obj) if obj is not already_listed notlisted++ } } } if notlisted or count { list_count = notlisted + count tempformat = FORMAT FORMAT = FORMAT | FIRSTCAPITAL_F | ISORAREHERE_F if FORMAT & LIST_F { FORMAT = FORMAT & ~LIST_F ! clear it FORMAT = FORMAT | TEMPLIST_F } Indent list_nest = 0 ListObjects(place) FORMAT = tempformat } #ifclear NO_OBJLIB #ifset USE_ATTACHABLES for obj in place { ! Print attachables last if obj.type = attachable and obj is not hidden { ShortDescribe(obj) if obj is not already_listed Message(&DescribePlace, obj, 2) } } #endif print newline override_indent = false ! Finally, list contents of scenery objects (unless we've ! already done so as the parent of the player) ! for obj in place { if obj.type = scenery and player not in obj and (obj is open or obj is not openable) { obj is known WhatsIn(obj) } } #endif ! ifclear NO_OBJLIB } } #endif ! ifclear NO_VERBS ! Here's the (very rudimentary) fighting code: !---------------------------------------------------------------------------- replace DoHit { local damage, randnum if (HolyAvenger in cage) { "I can't fight when I'm in this blasted cage!\n" } if (object.charnumber = 999) { "I can't fight myself.\n" return } if (object is not living) { "I can't fight that!\n" return } fight_active = 1 !Go through the fighting routine if (object.in_scope) = 0 { print ""object.name; " isn't here.\n" return } if (object = Bouncer) { return } if (object.conscious) = 0 { print ""object.name; " is not conscious enough to put up a fight right now.\n" return } AttackLoop[0] = (random(20)+HolyAvenger.attackadjust) if (AttackLoop[0] >= object.armorclass) { !damages opponent damage = (random(HolyAvenger.damagepotential)) object.hitpoints = ((object.hitpoints) - damage) MessageLoop[0] = 1 randnum = random(1) select(randnum) case 1 {print "I hit "; object.name;"!!\n"} } if (AttackLoop[0] < object.armorclass) { !misses opponent MessageLoop[0] = 0 randnum = random(1) select(randnum) case 1 {print "I attack, but miss "; object.name;"!\n"} } if (object.conscious = 0) { print ""CThe(object); " collapses and falls to the ground.\n" } if (object.charnumber = 5) and (Snowman not in Bar2) and GameEvents[27] = 0 { Snowmans_End_Scene() } return true } routine JohnnyFight { local damage, randnum, target if ((IronLung.in_scope = 1) and (IronLung.conscious = 1) and (IronLung.peaceful = false)) { target = IronLung } else if ((GreenKnight.in_scope = 1) and (GreenKnight.conscious = 1) and (GreenKnight.peaceful = false)) { target = GreenKnight } else if ((Pounder.in_scope = 1) and (Pounder.conscious = 1) and (Pounder.peaceful = false)) { target = Pounder } else if ((Snowman.in_scope = 1) and (Snowman.conscious = 1) and (Snowman.peaceful = false)) { target = Snowman } else if ((AIDSArcher.in_scope = 1) and (AIDSArcher.conscious = 1) and (AIDSArcher.peaceful = false)) { target = AIDSArcher } else fight_active = 0 AttackLoop[1] = (random(20)+Johnny.attackadjust) ! 5 Snowman ! 6 Pounder ! 7 Green Knight ! 8 AIDS Archer ! 9 Iron Lung !10 Bouncer !11 Rad HaX0r if (fight_active = 1) { if (AttackLoop[1] >= target.armorclass) { !damages opponent damage = (random(Johnny.damagepotential)) target.hitpoints = ((target.hitpoints) - damage) MessageLoop[0] = 1 randnum = random(1) select(randnum) case 1 { print "Johnny hits "; target.name;"!!\n"} } if (AttackLoop[1] < target.armorclass) { !misses opponent MessageLoop[0] = 0 randnum = random(1) select(randnum) case 1 { print "Johnny attacks, but misses "; target.name;"!\n"} } if (target.conscious = 0) { print ""CThe(target); " collapses and falls to the ground.\n" ! print ""CThe(target.name); " collapses and falls to the ground.\n" } } return } routine DoKill { } ! Here's the conversation code, adapted from PHOTOPIA, and in the if-archive. !routine DoPhototalk replace DoTalk { local x, y, z, ok = 0 if (HolyAvenger in cage) { "\nNobody seems to be able to hear me from within the cage.\n" return true } if (object.charnumber = 998) and (HolyAvenger in Bar2) { "\nTch. Don't be so tedious.\n" return true } if (object.charnumber = 999) { "\nTalking to myself... impending mental collapse cannot be far behind.\n" return true } if (object is not living) { "\nI can not speak with that!\n" return true } if (object.conscious = 0) { print "\n" object.name;" isn't in any shape to talk to anyone.\n" return true } if (object.peaceful = false) { print "\n" object.name;" is way too pissed to talk to me right now.\n" return true } ! Count up all the lines by previous characters. if (object.charnumber > 0) { for (x=0; x < object.charnumber; x++) { y = (y + quips[x]) } } ! Check and make sure you have something to say. for (x=y; x<(y+quips[object.charnumber]); x++) { if (QuipOn(object.charnumber,x-y)) { ok++ } } ! Write contents to the screen if (ok>0) { "Please select one:\n\n" ! List the player's choices for (x=y; x < (y+(quips[object.charnumber])); x++) { if (QuipOn(object.charnumber,x-y)) { z++ print "("; number z; ")"; SayQ(object.charnumber,x-y) } } ! Get the choice "\n" GetDial(z) if (selected ~= 0) { ok=0 ! print "ok is: "; number ok "\n" for (x=y; x < (y+quips[object.charnumber]); x++) { if (QuipOn(object.charnumber,x-y)) { ok++ if (ok = selected) { Respond(object.charnumber,x-y) } } } } return(true); } "\nI have nothing to say at this point.\n" } routine GetDial (max) { local temp print "Select a choice or 0 to keep quiet.>>" input if word[1] string(tempquip, word[1]) else string(tempquip, parse$) string(tempquip, parse$, 1) temp = tempquip[0] - '0' if (temp = 0) { "\nThere is nothing to be said after all.\n" selected = temp return } else { selected = temp } return } routine SetQuip (char, line, onoff) { local x, y, z, n for (x=0; x\"I'm ready. Let's get the hell out of here.\""} case 1: {">\"Thanks for coming, Johnny.\""} case 2: {">\"It doesn't get any easier, does it?\""} case 3: {">\"To be honest... I just want to get to work on solving this.\""} case 4: {">\"Appreciated. But I just want to be alone.\""} case 5: {">\"I... I don't know what got into me.\""} case 6: {">\"Shut the hell up, Johnny.\""} case 7: {">\"Get lost, Hollywood. I'm in no mood for this crap from you.\""} case 8: {">\"What did you think about what the Iron Lung said?\""} } case 2: { !Wereboar select(line) case 0: {"\"Look, I'm taking off. See you later. Thanks.\""} case 1: {"\"How did you know I was here?\""} case 4: {"\"I haven't checked his fridge.\""} case 5: {"\"Yes, I checked it.\""} case 2: {"\"How long have you been outside?\""} case 3: {"\"What were these two idiots talking about while I was out?\""} case 6: {"\"Zeke, can you drop this Water Tower on Mister Mucous?\""} case 7: {"\"Zeke, knock over the Water Tower! Now!\""} } case 3: { !Succubus select(line) case 0: {">\"Jenn... thanks for coming tonight.\""} case 1: {">\"I never thought it'd end this way...\""} case 2: {">\"I'll be all right, okay?\""} case 10: {">\"It was the Wraith...\""} case 13: {">\"A flashback... our first meeting.\""} case 16: {">\"Not since then, no...\""} case 17: {">\"Yes. Once. Technically.\""} case 18: {">\"I just collapsed. I'm OK.\""} case 5: {">\"So how does the city look from above tonight?\""} case 6: {">\"It was nothing...\""} case 7: {">\"Yeah, just busted some heads.\""} case 8: {">\"Yes, definitely.\""} ! case 9: {">\"Well, I see it like this...\""} case 3: {">\"Yeah... I can talk about it.\""} case 19: {">\"Well, what about you?\""} ! case 22: {">\"So nobody lately, then?\""} ! case 23: {">\" \""} case 20: {">\"She was funny, too...\""} case 21: {">\"We just started to click...\""} case 4: {">\"Maybe not right now.\""} case 25: {">\"I'm really tired. I think I'm going to sleep. Good night, Jenn.\""} } case 4: { !Ameba select(line) case 0: {">\"Did you get any leads yesterday?\""} case 1: {">\"Thanks for coming.\""} case 2: {">\"I haven't read it yet.\""} case 3: {">\"Yes... why?\""} case 4: {">\"Did you get the police report?\""} case 5: {">\"I'm going to go over to a bar with Johnny...\""} case 6: {">\"Why do you think the NYPD is pulling this garbage on us?\""} } case 5: { !Snowman select(line) case 0: {">\"Finally got out of that cast, eh jackass?\""} case 1: {">\"What do you know about the murder?\""} case 2: {">\"I don't know where the hell Pabski is.\""} case 3: {">\"Who's been talking about Red Cloud?\""} case 4: {">\"Who had it in for Red Cloud?\""} case 5: {">\"Again. Who's been talking about her?\""} case 8: {">\"Give me a goddamn name! Now!\""} case 6: {">\"Well then use your imagination. Who do you \Bthink\b?\""} case 9: {">\"Mucous? Who's seen him?\""} case 13 {">\"Macabre's in jail, jackass.\""} case 7: {">\"Missing a button, Snowman?\""} case 10: {">\"One more time...\""} case 11: {">\"Bring it on.\""} case 12: {">\"I'll deal with you later.\""} } case 6: { !Pounder select(line) case 0: {">\"Need you to ask you some questions, m'man.\""} case 2: {">\"What are you, some kind of mute?\""} case 3: {">\"'Cos I can beat some answers out of you.\""} case 4: {">\"Smell something?\""} case 5:{">\"Christ. Something smells like smoked cunt.\""} case 1: {">\"What do you know about Red Cloud's death?\""} } case 7: { !Green Knight select(line) case 0: {">\"I need you to answer some questions for me.\""} case 2: {">\"Did you hear about Red Cloud's death?\""} case 7: {">\"Any idea who had a motive?\""} case 11: {">\"What, an old lover?\""} case 12: {">\"What, an old friend?\""} case 13: {">\"What are you saying?\""} case 8: {">\"What was your take on it?\""} case 9: {">\"Any of these idiots know something? \""} case 10: {">\"I presume you weren't involved...\""} case 3: {">\"Have you dealt with the NYPD lately?\""} case 1: {">\"Greetings, sir Knight. How goes the war?\""} case 4: {">\"Seriously? They were going to deport you?\""} case 5: {">\"Yeah, that's a shame. I have some questions for you.\""} case 6: {">\"Seen Mister Mucous lately?\""} case 14: {">\"What did he do to hack you off?\""} case 15: {">\"Yeah, well... let me know when you find him.\""} } case 8: { !AIDS Archer select(line) case 0: {">\"I need to ask you some questions.\""} case 1: {">\"What do you know about Red Cloud's death?\""} case 2: {">\"Where were you the night of the 26th?\""} case 3: {">\"Have you seen Mister Mucous lately?\""} case 4: {">\"What are those arrows tipped with?\""} } case 9: { !Iron Lung select(line) case 0: {">\"I take it you heard about Red Cloud's death.\""} case 1: {">\"You mean the Red Wraith.\""} case 2: {">\"What's going on, old man?\""} case 3: {">\"What with those spots?\""} case 4: {">\"Seriously. You're absolutely ripe.\""} } case 10: { !The Bouncer select(line) case 0: {">\"You remember that Bruce Willis vehicle 'Die Hard'?\""} case 1: {">\"One side, red.\""} case 2: {">\"Murder investigation. Need to question your customers.\""} case 3: {">\"What do you know about Red Cloud's death?\""} case 4: {">\"Do any of the gaywads inside know anything about the murder?\""} } case 11: { !Rad HaX0r select(line) case 0 : {">\" blah \""} case 1 : {">\" blah \""} } case 12: { !Comic Book Store Owner select(line) case 0 : {">\"What do you know of Red Cloud's death?\""} case 1 : {">\"How often does the Rad HaX0r come in here?\""} case 2 : {">\"I need to buy a pack of Icefrost Expansions.\""} case 3 : {">\"I need to buy all your Icefrost Expansions. \""} } case 13: { !Backpack Crusader select(line) case 0 : {">\"You want these cards?\""} case 2 : {">\"Yeah, well, that's too bad.\""} case 3 : {">\"Tell me everything you know about Rad HaX0r.\""} case 1 : {">\"You know the Rad HaX0r?\""} case 4 : {">\"Start singing about the HaX0r and you'll get the cards.\""} case 5:{">\"So why did he send you?\""} case 6:{">\"You supposed to meet someone here?\""} case 7:{">\"Where's he living these days?\""} case 8:{">\"No. Beat it.\""} case 9:{">\"Yeah, sure.\""} } case 14: { !Cabbie select(line) case 0 : {">\"I need to go to the Central Comics Corp store.\""} case 1 : {">\"I need to go home.\""} ! case 2 : {">\"I need to go back to the Central Comics Corp store.\""} case 3 : {">\"You know where Red Cloud was killed? I need to go there.\""} case 4 : {">\"I'm ready to go to the St. Columba Memorial.\""} } case 15: { !Red Wraith select(line) case 0: {">\"Let him live. He's going on trial.\""} case 1: {">\"Kill the motherfucker.\""} case 2: {">\"What do you want to do with him, Wraith?\""} case 3: {">\"I honestly don't care; I'm not playing your game. I'm taking you and him in. Now.\""} case 4: {">\"What's this all about, Wraith?\""} case 5: {">\"What have you done to Red Cloud, you sick bitch?\""} case 6: {">\"Why did you put those bodies up top?\""} case 7: {">\"Why don't you get on the floor and start bleeding and save me the trouble?\""} } ! case 16 Technogeek case 17: { !Klan Man select(line) case 0 : {">\"Let her go! Now!\""} case 1 : {">\"Same side? The hell are you talking about?\""} case 2 : {">\"Kill her and you die. If you ever again want to see a blue sky, let her go.\""} case 3 : {">\"Killing her solves nothing!\""} case 4 : {">\"And stringing her up on that cross is the solution?\""} case 5 : {">\"You will drop the knife now, or I will take you down!\""} } case 26: { !Anthraxia select(line) case 0 : {">\"Uh, sure. I'll go rollerblading with you.\""} case 1 : {">\"Does the phrase 'not a chance' mean anything to you?\""} } } routine Respond (char, line) { select(char) !Johnny Hollywood case 1 { select(line) case 0: {SetQuip(1,0,0) SetQuip(1,1,0) SetQuip(1,2,0) SetQuip(1,3,0) SetQuip(1,4,0) "Johnny and I leave the Cemetery and get a cab to the Liquor Hole Blue Tavern.\n\n I can't help fidgeting like a backseat driver along the way. We apparently found one of those guys who got a waiver from the mayor so that they don't have to use their turn signals anymore. Actually, you see a lot more guys like that then you'd expect in New York. Either that or the guy was simply an idiot semen-sipping jackhole who should be stripped of his license and have his '05 Camaro impounded. One or the other, anyway.\n" MovePlayer(Bar1) move Johnny to Bar1 } case 1: {SetQuip(1,1,0) GameEvents[6] = 1 "\"You bet, Venger,\" says Johnny. \"Of course we'd all be here. Except for that psycho Pabski, of course, but I think he simply knew better than to come because he pisses you off so much.\"\n" "That much is true. Pabski sums up everything I unabashedly despise about New York City and the people who live there.\n" if (Ameba.in_scope = 1) and (Succubus.in_scope) = 1 { "\"I think Ameba and Jenn are going to head back, but they, uh... they want me to stick around with you for a bit and make sure you don't do anything, uh... well, crazy.\"\n" } else { "\"The others want me to stick around with you for a bit and make sure you don't do anything, uh... well, anything crazy.\"\n" } } case 2: {SetQuip(1,2,0) SetQuip(1,3,1) SetQuip(1,4,1) "He looks confused for a second by my non-sequitur. Then he kind of realizes what I'm talking about or at least pretends to. \"No, man... no, it doesn't. I can't believe she's gone.\"\n" "I don't really have anything to say to that. I can't believe it either.\n" "\"Honestly,\" I tell him, \"I was prepared that maybe one day she'd be killed in a fight. I thought that some deranged, cape-and-goatee-laden mump would be too savage for her, too creatively evil. She... she wasn't really adept at predicting the sheer capacity some of these twisted kids have for true evil. But I never expected her to be killed in the street by, apparently, some regular nutcramp with a gun. Take a look, Johnny. Even this cemetery is a mess. Most of these markers have been tagged. Those that aren't are crumbling well before their time, being used for target practice. Hell, even that water tower up there has graffiti all about it. Even when they kill each other they can't stop telling the corpses how they were 'owned' and that they should 'ph33r' them...\"\n" } case 3: {SetQuip(1,3,0) SetQuip(1,4,0) SetQuip(1,0,1) GameEvents[6] = 1 "\"Look, I'm with you, man,\" says Johnny. \"You know that bar we were talking about before? The one where the ravers and technogeeks hang out? I'm up for it. Let's check it out. It's on the other side of the tunnel in Jersey, but I was there last night and a bunch of masks always go in there. I heard some of them chuckling up their sleeves about Red Cloud and I think that some of 'em knew something. We should take a trip down there, I think you'd be able to get some answers out of them.\"\n" } case 4: {SetQuip(1,4,0) SetQuip(1,3,0) SetQuip(1,0,1) GameEvents[6] = 1 "\"You bet, Venger. You just let me know when you're ready to head back, okay? I'll be over here. You take as much time as you need.\"\n" } case 5: {SetQuip(1,5,0) SetQuip(1,6,0) SetQuip(1,7,0) "\"It's alright, man. Look... are you ready to go in here? I don't want to see you do something stupid in this place?\"\n\n \"Yeah. I'll be okay.\n\n" } case 6: {SetQuip(1,5,0) SetQuip(1,6,0) SetQuip(1,7,0) "\"Hey, fuck you, 'Venger! Jesus Christ!\" He pushes me up against the wall of the club. \"You want someone to work your frustrations out on, go ahead: give me a shot. You know I won't fuckin' feel it. You'd better get it sorted out before you step one foot in there, because if you're not in your right mind, man, then I can't count on you. \BI can't count on you.\b. You try to break somebody's neck in there and I will take you out myself.\"\n\n \"...\"\n\n \"Is this how Red Cloud would have wanted you to carry on? Like some base piece of crud no better than the slime that did her?\"\n\n" } case 7: {SetQuip(1,5,0) SetQuip(1,6,0) SetQuip(1,7,0) "Johnny chuckles briefly, looks distractedly over to the right for a moment and then just explodes with a fist to my face.\n\n I've never been hit so hard in my life.\n" "I forget that about him. His skin can't break. He can't feel any pain. When he hits you, you stay hit. I stagger backwards and fall against the club's door. I sit there for a second. Staying hit and all.\n\n \"C'mon, jack... geez. I didn't hit you that hard.\"\n\n I finally get up... having had some sense knocked into me.\n" } case 8: {SetQuip(1,8,0) "\"About the Red Wraith...? I don't know, man. I know he does that thing where he starts telling you about your personal life, but I never heard him mention Red Cloud. He's got blank spots, you know? Once, he had me hallucinate. It was all about spiders. I have absolutely no phobia regarding spiders. None. But my father... he was killed in a Porsche Spyder. It's a dumb mistake, silly even, but the Wraith had no idea. He just kept going off in that voice he has... I presume you never had a run-in with him where he mentioned Red Cloud?\"\n\n \"No... never.\" And I've had a lot of experience with him. Experience I'd admittedly sooner forget.\n" } } !Wereboar case 2 { select(line) case 0: {SetQuip(2,0,0) SetQuip(2,1,0) SetQuip(2,2,0) SetQuip(2,3,0) SetQuip(2,4,0) SetQuip(2,5,0) "\"Look, I'm taking off. See you later. Thanks.\"\n\n \"Yeah, OK,\" says Zeke. \"I'll get the HaX0r down to the jail. Layt.\"\n"} case 1: {SetQuip(2,1,0) SetQuip(2,4,1) SetQuip(2,5,1) "\"The Succubus told me. She said you were going to try to bust these feebs up. I went out clubbing and figured I'd lay the hammer down on these geeks before I grabbed some sleep.\"\n\n \"She told you? Why not Ameba? Or Johnny?\"\n\n \"Yea, yeah, lookee here, Mister Rogers, not everybody goes to sleep on a Friday night when you do. Johnny's probably still up. An' like, Ameba probably has a family and shit. I'm only up because I took some E a while back. It keeps the juices flowin'. Thirsty as hell, though. You checked to see if this chmod's got anythin' to drink yet?\n" } case 2: {SetQuip(2,2,0) "\"A little while. You were out for like ever, dude. Like ten hours. Just all forget about it all o' a sudden. Dunno, don't know what time you got here. Those worms tried takin' yer mask off, I guess you got some kind of adhesive there or something. Oh, yeah, sorry about Red Cloud. That was fuckin' shit, man. She was a great girl. The kind you have meals with an' shit.\"\n\n \"What the \Ihell\i are you talking about?\"\n\n \"You know how it is. Most chicks. Like I want to see them eat or something. 'Oh, hi. Yea, you just ate an Egg McMuffin. Let's fuck.' Yea. Probably fuckin' not. But man, Cloud. She was a red hot little nuke-lo, she was. We'll get those fuckers, Venger.\"\n\n" } case 3: {SetQuip(2,3,0) "\"They started playin' some fuckin' video game or something, dude. That one all the hippies and fundamentalists play an' shit. You know.\"\n\n \"\BFaith III\b?\"\n\n \"Yea, yea. That one. They kept dropping pills, which was great for me, 'cos I could hear their hearts poundin' away nice and loudly. You got any idea how fuckin' boring it is, sitting out there for most of the day, waiting for them to ace you?\"\n\n \"Why didn't you get up here and do something?\"\n\n \"OK, OK. I must admit that I took a nap.\"\n\n \"These freaking zeros were planning on shooting me and you took a goddamn \Inap\i?!?\"\n\n \"Hey, don't get all worked up, dude. I'm a pro, goddammit. Y'know?\"\n" } case 4: {SetQuip(2,4,0) SetQuip(2,5,0) "\"Yeah, me either,\" says Pabski. \"Maybe this twerp had some brew in it or something. Maybe even Blue Whale! Aw, shit, man! That'd be the fucken bomb!\"\n" } case 5: {SetQuip(2,5,0) SetQuip(2,4,0) "\"What did he have in it?\"\n\n \"I don't know,\" I tell him. \"Some blue liquid or something.\"\n\n \"Blue Whale? This greasy fuckknob's got the Whale? Fuck, yeah!\"\n" } case 6: {SetQuip(2,6,0) SetQuip(2,7,1) "\"What?\" says Pabski. He's still a little groggy from being tossed against it by Mucous.\n\n \"Listen to me, Zeke. The water in that tower can dissolve the amount of fluid he's putting out right now. We've got to do this just right, OK? I don't have the strength to topple it, but you do. Can you do it?\"\n\n \"Yea,\" says Pabski. \"I can.\" He goes behind the Tower and starts ripping apart the support beams that are holding it in.\n\n \"I'll give you the word when he gets closer, Zeke. I think he's getting closer!\"\n" } case 7: {SetQuip(2,6,0) SetQuip(2,7,0) MisterMucous.hitpoints = 0 "Pabski rips away the last chunk of metal and pushes the Water Tower before Mister Mucous. Mucous neatly dodges the giant reservoir itself by backing himself up. The force of hitting the ground is enough to knock off the shell that holds the enormous amount of drinking water in the Tower. It splashes out over the Cemetery, knocking down tombstones, drenching the open graves and washing away the tons of snot that Mister Mucous created around himself. \n" if (GameEvents[33] = 1) or (GameEvents[34] = 1) { "I take a look at Mucous laying prone on the ground. This psychopath was responsible for Red Cloud dying simply because I had him locked away. I feel a tinge of pure hatred rise up within me. Pabski's still behind the Tower. Johnny's knocked out cold. I don't know what happened to Jenn and Ameba. I could kill him, get my revenge, and I don't think any of my team-mates would know.\n" } Deactivate(get_out_of_cage) Activate(Final_Scene) } } !Succubus case 3 { select(line) case 0: {SetQuip(3,0,0) SetQuip(3,2,1) "\"I'm so sorry. I really am. She was always so full of hope and optimism... I'm sure that you knew, but the rest of us could always tell that there was something deep between the two of you. I considered her a friend, a close friend, and I know that she was absolutely crazy about you.\" She hushes her tone to a barely audible whisper. \"Marc, we're worried about you. About your sanity. We don't want you to react to this like everyone on the news says we do. Like what happened to Dark Pawn when Light Queen was killed.\"\n" "The case of Dark Pawn is something that many criminal psychologists point to when their agenda of intolerance is pushed a bit. Dark Pawn saw his lover, the Light Queen, gunned down before him while they were trying to clear thirty-five people out of an apartment complex that had caught fire. She was shot with a sort of armor-piercing shell that ripped away most of her torso.\n\n After it happened, Dark Pawn decided there was nothing stopping him from adopting the methods of his enemies. He killed Light Queen's assassin -- the Gibber -- and all of his gang before the week was out. When the crossfire had ended there were also a couple of dead seven-year-olds, their mother and two uniformed policemen who had attempted to defuse the situation. Dark Pawn was then killed himself by one of New York's... finest.\n" "Super-heroes were the rage on the talk show circuit after that. I was informed, through my television, that someone disposed to vigilantism has an entirely different process of thought upon reception of that kind of close tragedy. Apparently, since we act out our \"fantasies\" against each other in the street every night we are much more likely to be unable to cope with disaster and go on a killing rampage instead.\n" "I bought none of it. Dark Pawn wasn't sane to begin with. He was just \Ia guy\i, there was nothing to extrapolate from this. I don't know if I've ever communicated my take on that to Jenn. Maybe a joke or something would convince her that my head is on straight?\n" "\"Look, Jenn,\" I whisper, \"I understand where you are coming from. But really... you and I know that the only reason Dark Pawn didn't snap from day one was because Light Queen was always able to keep him in check.\" I give her a quick cheshire grin and she smiles briefly despite herself. We both end the hug.\n" } case 1: {SetQuip(3,1,0) "\"I know...\" She comes up to me and puts her arms around me in an embrace. I return it. I know what the next few days have in store for me -- fighting. Interrogation. It feels nice to, for just a moment, be close with somebody.\n" } case 2: {SetQuip(3,2,0) SetQuip(3,1,0) remove Succubus "Making that little joke was probably the only thing I could do to give her the impression that just maybe things are going to be alright again.\n" "\"Take care then, hmm? Give me a call later, let me know you got back okay.\" She gives me a hug and flies away, seemingly casting a silhouette against the waxing moon.\n" } case 3: {SetQuip(3,3,0) SetQuip(3,4,0) "\"How did you meet her?\" asks Jenn.\n" "\"I actually met her at work, in the most mundane of places. I was hired by a company doing photocam hardcopy research. I was a paper science engineer.... before.\" Before. Before I decided to put on this frigging mask and parade around a city like a complete fruit with my girlfriend.\n" "\"Paper Science Engineer? Is that like a tree surgeon?\"\n" "\"No!\" You'd be surprised how often I used to get that. \"Er, anyway. She had already been working there for a year and a half. She was a programmer. She was absolutely the most stunningly beautiful human being I had ever seen in my life. Not just real life. Be it print, RealVideo, .tiff, hologram, cinema... dear God. Her eyes were something like out of a dream induced by the mythological dark mistress. She had a gorgeous smile that simply broadcast waves of desire through my bones everytime I saw it. And the way she carried herself... incredibly confident. Perhaps even slightly arrogant. She was incredibly talented at what she did and she knew it. And that's where her esteem came from. I've known plenty of pretty girls, sure. And what separated her from all of them is that she treated the fact that she was a knockout as wholly secondary to her skill, drive and confidence.\"\n" } case 4: {SetQuip(3,4,0) SetQuip(3,3,0) "\"Well,\" says Jenn, \"Then maybe we should talk about \Byou\b.\" She raises an eyebrow.\n" } case 5: {SetQuip(3,5,0) SetQuip(3,6,1) SetQuip(3,7,1) "\"Not so great.\" She shivers for a couple seconds. \"Ugh, I got all wet.\" She takes off her windbreaker, goes out to the living room and tosses it onto the couch. She gives me an innocent smile after coming back when briefly realizing that maybe she shouldn't have tossed it on the couch with such cavalier abandon. I honestly couldn't care less about stuff like that. I tell her not to worry about it. \"Tell me about the brawl,\" she says.\n" } case 6: {SetQuip(3,6,0) SetQuip(3,7,0) SetQuip(3,3,1) SetQuip(3,4,1) "\"C'mon,\" she says. \"Nothing? \BSomething\b exciting must have happened.\"\n\n \"I was just sick of getting the run-around from those idiots. My friend died. Was killed. You know? And while I have lived in this city long enough to not expect any degree of empathy from any sentient in it -- present company included -- I just wasn't ready for the open hostility.\"\n\n \"She really meant the world to you, didn't she? Do you want to talk about her?\n" } case 7: {SetQuip(3,7,0) SetQuip(3,6,0) SetQuip(3,8,1) ! SetQuip(3,9,1) "\Who was there?\"\n\n \"Just some minor-league guys. Pounder, Snowman, AIDS Archer, so forth.\"\n\n \"Ah, Snowman's back in action, then? Out of his cast?\"\n\n \"Yeah. He's absolutely obsessed with Pabski, by the way. He reminds me of a roommate I once had. The guy was always getting abuse from another bud of mine -- that he brought on himself for being such a complete tool, I should add. But it was just sickening to have to come home and hear him whine about it all the time.\"\n\n \"What did you end up doing?\"\n\n \"Threw him out when the lease was up. I mean, I had to. My sanity was at stake.\"\n\n \"Marc! That doesn't sound like something a super-hero would do!\" Jenn's kind of teasing me over this point. I just shrug.\n\n \"I wasn't a super-hero then. I was just some jerk who wanted to watch \IDynasty\i reruns in peace, without the incessant whining.\"\n\n \"I've always wondered about that,\" she says. \"Do you find an internal pressure to act more humane and just since joining the Squadron?\"\n" } case 8: {SetQuip(3,8,0) "\"Before,\" I tell her, \"if I saw one of the little instances of man's inhumanity to man take place in everyday, normal life, I would have probably let it go if it didn't directly involve me. You know? Like, say, I'm at a club or something and see a girl get hassled by some dribbling, inebriated puke -- maybe before I let it go if it's not out of control. Wait to see if a bouncer or bartender or someone shows up. These days -- not that I'm in that \Bparticular\b situation that much, or anything, but these days I'm the first guy over there. A lot of it comes from knowing how to defend myself, which I didn't have" "before. But I think it's an intolerance for abuse in general. The mask helps as well. There's no longer any excuses -- no one is going to track me down to my home and shoot me, for instance, if I get involved. I've always thought that in anonymous social settings, like freeway driving, or role-playing games over the net, that people would inherently be cruel to one another. But it's not always, exclusively the case. Although it's true to some degree, I think that wearing a mask also liberates the good inside some people as well. It just seems like there are more of them than there are of us.\"\n" } case 10: {SetQuip(3,10,0) SetQuip(3,11,0) SetQuip(3,12,0) SetQuip(3,13,1) SetQuip(3,18,0) "\"The Red Wraith? Here? What happened?\"\n\n \"He was behind the drapes... I...\" I'm still groggy from the way he mindraped me.\n\n \"Shh -- wait. Give yourself a chance to get back,\" she says. She puts my head against her lap and runs her hands through my hair just by my temples. \"What did he make you see?\"\n" } case 13: {SetQuip(3,13,0) SetQuip(3,14,0) SetQuip(3,15,0) SetQuip(3,16,1) SetQuip(3,17,1) "\"I don't think I ever told you this... the first time I met him, I wasn't a super-hero. I wasn't the Holy Avenger. The first time I ever saw him was when he morphed from a young girl to himself. I had an accident, and I was bleeding to death. He came to me and started smiling... it was like one of those simulations the police have where they predict what a suspect probably looks like as he gets older or gets fat or what. I woke up back in my bedroom. I don't know how he got me there.\"\n\n \"Why do you think he came back tonight?\"\n\n \"Was he here when you arrived?\"\n\n \"No.\" \"I'm not sure,\" I tell her. Actually, I do have a pretty good idea. But I don't know how much I'm willing to tell Jenn. The thing that sucks about living more than half of your life with a mask on, though, is that you don't get good practice at hiding facial expressions.\n" "\"There's something you're not telling me. What happened the last time you saw him? Have you seen him since the incident on the bridge a few months back?\"\n" } case 16: {SetQuip(3,16,0) SetQuip(3,17,0) SetQuip(3,5,1) SetQuip(3,25,1) "\"No, no... I haven't seen him in quite some time.\" She raises an eyebrow, not completely convinced.\n" } case 17: {SetQuip(3,17,0) SetQuip(3,16,0) SetQuip(3,5,1) SetQuip(3,25,1) "\"The night Red Cloud was killed I had a dream. A nightmare, I guess. I was in a blackened room with him, Red Cloud and a single lit candle. They couldn't see me. He was talking to her, but I couldn't hear the words. I saw her face change -- you know how she always wore that mascara and makeup around her face as her mask?\" Jenn nods. \"She didn't look like that. She was completely free from makeup, something I had seen her do maybe five or six times in all the time I had known her. But because of it I could read her expressions. He won over her sympathy in the dream. She got all sentimental on him. She held his" "hand and (this is kind of sick) stroked that jutting bone that sticks out of his arm. He then put his hands in his pockets -- oh, I should mention the evil little pit was wearing Kargho pants in this thing -- and she smiled and kissed him all delicately on the lips. Then he hugged her and turned toward me and gave me that grin of his. And her started moving his hands down her back and I screamed at him to get the" "hell away from her but she couldn't hear me and he didn't pay any attention to me.\n\n Then the candle went out. I woke up. I found out a little later that she was dead.\"\n\n \"Marc...\" she says. \"So your last 'memory' of her is...\"\n" "\"Yeah. Exactly. Sometimes when you have a dream and a person you care about acts wholly out of 'character' you get pissed at the fake betrayal. But they are still there in the morning! You don't care. It didn't really happen. The last memory I have of her, the one that really stands out is her being swayed by my fricking arch-enemy. So to speak. Why the hell he was here tonight is beyond me. I wouldn't put it past him to arrive simply to rub it in and pronounce 'scoreboard.'\"\n" } case 18: {SetQuip(3,18,0) SetQuip(3,10,0) SetQuip(3,5,1) "\"Are you sure? You don't look so well.\"\n\n \"Well, it's been a little while since I've had any food. I haven't felt like eating much lately.\"\n\n \"You could have picked up something at the Blue Tavern before you and Johnny started beating everybody up.\"\n\n \"Have you ever had the food there?\" She shakes her head no. \"The lights aren't the only thing that's blue. Once I made the mistake of ordering their Monte Cristo. I've seen Turkish moustaches that were not as hairy. Smurfs that were not as blue and furry.\"\n\n \"Well, who orders a club sandwich at a bar?\" she says. \"I mean, really, Marc. Why not get some oysters or sour cream next time? Get, like, the peanuts or something. Something safe.\"\n" } case 19: {SetQuip(3,19,0) SetQuip(3,20,0) SetQuip(3,21,0) "\"Where do you get love?\" I ask her. \"Down below? Somewhere above?\"\n\n \"I don't date a lot... mostly guys you know. In the biz,\" she says. She points up to her wings. \"It's not real easy to hide these things, you know...\"\n\n \"Weren't you together with the Leprechaun for a while?\" The Leprechaun is a decent enough guy who shoots water or something out of his hands.\n\n \"For a while... it just didn't work out. You wouldn't believe how irresponsible he is. There's something just not" "together with him. Also he has a chewing tobacco problem.\"\n\n \"Really? What's the problem?\"\n\n \"He chews tobacco.\"\n\n \"Natch,\" I say. What else is there to say?\n" } case 20: {SetQuip(3,20,0) "\"I guess there aren't a whole lot of people I find funny. Johnny, sometimes. A few comedians. My sense of humor, such as it is, is pretty bitter and not a whole lot of people get that. They're not on that wavelength.\" Jenn nods, and I continue. \"That was the great thing about Red Cloud. She was, at heart, an optimist. When things started to go bad I knew I could count on her to put up a positive front. But for more mundane things, she was so sarcastic and funny and even sometimes cruel. One time we were living in a housing complex on the other side of the city and she took our screen out in order to throw oranges at some mulletchud who decided to rev his motorbike at three in the morning." "The complex director saw the oranges fly out from our room and stormed up to us. He started banging on the door demanding that she come out and, I don't know, pay a fine or something. Who knows. She wasn't particularly fond of that tool anyway so she misted herself underneath the door and clogged up the smoke detectors near the sprinklers. It immediately went off as if the entire building was going to go up in some kind of Chicago fire and drenched the guy with water and foam. I don't know. Maybe you had to be there. To get the full experience and everything, but who even thinks like that?\"\n" } case 21: {SetQuip(3,21,0) "\"She came over to pick me up for a night out once when I was living with three other guys in a quasi-Hacienda. She looked absolutely stunning: she was wearing a black bomber jacket underneath this fuzzy sweater and a leather skirt. I mean, she'd looked \Bgood\b at work, but the costume she brought over just put her business wardrobe to shame.\"\n\n \"Was she wearing all that mascara back then?\" Jenn asks.\n\n \"Some. Not as much as she did when she was in costume -- she hated wearing actual domino masks or what have you, so that was her solution. Enough makeup to adequately supply a Dutch cathouse. But she hung out with the other guys for a few minutes -- I should mention that I had gone through a bit of a dry spell when it came to dating, at the time, and here she was acting like one of the guys and all. For some reason one of the guys who was wearing this size 60 Houston Texans jersey made some crack about" "the Bills losing all those Super Bowls to me and she immediately piped up with how awful it was for the Texans to lose their first 47 games. You have no idea how sexy it is to hear a girl, in a delicious Russian accent and pumps, belabor your buddies and run Michael Vick smack. Unbelievable. We went to go see a movie in a theatre with nobody else there and commented on the general mediocrity of it. It was the latest in that \BSuburban Legend\b series. Kind of predictable. Mostly awful. We got some Mexican at this place across the street and she dropped me off. I went to kiss her -- it was the most fun I'd had with anybody in years -- and she laughed and said that proper Russian girls don't do that on the first date. I never knew if she was just teasing me or really believed that or what. I had to wait until the third time we went out before she kissed me. It didn't matter, not at the time. I would have waited a hundred or a thousand dates. Well, for her, anyway.\"\n" } case 25: { SetQuip(3,25,0) remove Succubus remove windbreaker GameEvents[22] = 1 "Jenn gives me a quick peck on the cheek and a sympathetic smile. \"You take care, OK?\"\n" if (GameEvents[20] = 0) { GameEvents[20] = 1 "\"Oh,\" says Jenn. \"I forgot why I came over here in the first place. Look, we got a tip. The Rad HaX0r might have some info. Let me give you his address...\" she writes it down on a post-it for me. \"Check him out tomorrow when you leave the house.\"\n" } "The Succubus hovers up to the skylight, opens it and flies away.\n" } } !Ameba case 4 { select(line) case 0: {SetQuip(4,0,0) SetQuip(4,1,0) SetQuip(4,2,1) SetQuip(4,3,1) GameEvents[5] = 1 "\"I didn't,\" says Ameba. \"But we're going to have to ourselves. Did you read the article in this morning's paper about Red Cloud?\"\n" } case 1:{SetQuip(4,1,0) SetQuip(4,6,1) GameEvents[5] = 1 "\"Of course... look, Venger, I want you to know that I told Pabski not to show up. He wanted to come. I know that he absolutely gets on your tits -- hell, he gets on everyone's -- but he's not really a bad kid. He's undependable, irritating, arrogant and totally unresponsible, but when it really matters he does have some sensitivity.\"\n\n I'm in no mood to argue with him. It honestly makes no difference to me, but at the same time Pabski brings out the worst in me. Red Cloud always used to say that I was like two different people around him. I think it's his accent.\n" "\"C'mon. You and I both know that assjack blew this off because he wanted to watch the Yankees, with their three-hundred million dollar payroll, sweep the Sox. Christ. The Yankees sum up everything you need to know about Pabski, the 'Wereboar,' Ameba. You know? Arrogant. Overhyped. Self-important. Unbelievable. But hey, either way, thanks. Red Cloud didn't have much family... she was always very fond of you. I think she always considered you a surrogate older brother...\" Ameba seems to be touched at that remark. Hell, it's even somewhat true.\n" "\"We'll find out exactly what happened, Venger. We're not going to leave this up to the NYPD.\" He's right about that.\n" } case 2: {SetQuip(4,1,0) SetQuip(4,2,0) SetQuip(4,3,0) SetQuip(4,4,1) SetQuip(4,5,1) "\"Well, you should know that what I came away with is that, aside from a nice collection of photographs, the blues are not getting involved. You remember what Zeke said the other night when he was at that gas station where there were fatalities?\"\n" "\"Sure,\" I say. Pabski wouldn't shut the Christ up about it. \"Standard fare. The cops were there until dawn getting reports and comments and whatever the hell they do. The store only re-opened yesterday.\"\n" "\"That's exactly what \Ididn't\i happen when they found Red Cloud's body,\" says Ameba. \"I don't think that there's anyone currently in the NYPD who would mind if every one us of were blown away.\"\n\n By \"us\" he means super-heroes. Due to some recent events, the NYPD now has an 'us-versus-them' mentality.\n" } case 3: {SetQuip(4,1,0) SetQuip(4,2,0) SetQuip(4,3,0) SetQuip(4,4,0) SetQuip(4,5,0) remove Ameba "\"Then you should know how an unofficial state of antagonism exists between the NYPD and anyone wearing a mask. There's no detective assigned to her death. Normal police work is ridiculously repetitive -- the kids that lived in that alley, that I talked to earlier today, hadn't seen a single cop in the area since her body was discovered. We're going to have to do this on our own, not because of some sense of pride or vengeance, but because, I believe, the police would love to see us kill each other off.\"\n\n I nod at this. Ameba can say whatever he wants, but vengeance is a good enough reason for me.\n\n Ameba gives a look toward the gate. \"I did get a copy of the report the cop assigned to the case made. Have you seen it?\"\n" "\"No... what's it contain?\"\n\n \"Really, just the facts of what went down. His guesstimate of the time of death, etcetra. I'll forward it to you. Can you get into Red Cloud's e-mail account?\"\n\n \"Yeah.\"\n\n \"OK. I'll check in with you later. Take care, Venger.\"\n\n \"Thanks. You bet.\" \n" } case 4: {SetQuip(4,4,0) SetQuip(4,5,0) SetQuip(4,1,0) SetQuip(4,2,0) SetQuip(4,3,0) remove Ameba "\"Yes. I'll forward it to you. You're still able to get into Red Cloud's e-mail account, right?\"\n\n \"Yeah, no prob. Thanks. Look, after this, me and Johnny are going to go get a couple drinks down the street. Why don't I check in with you later after I've read the report?\"\n\n \"OK, will do. Take care, Venger.\" Ameba turns into a mass of goop and enters the ground. That's how he travels... not through skylights or up above the people, but well below them. It always looks like he just melted and it really creeps you out the first time you see him do it.\n" } case 5: {SetQuip(4,5,0) SetQuip(4,4,0) SetQuip(4,1,0) SetQuip(4,2,0) SetQuip(4,3,0) SetQuip(4,6,0) remove Ameba "\"OK. Take care of yourself. I'll forward the police report to you so you can read it when you get back. Stay off the hard cider.\" He gives me a quick grin. Long story. I promise I'll relate it eventually. \n\n Ameba exits the graveyard.\n" } case 6: {SetQuip(4,6,0) "\"I don't know. Not yet. But I'll find out, Venger. If I had to take a guess, it would be because it's looking more and more like we're getting away from helping them do their jobs and leaning into some sick kind of gang war. I don't know that they are differentiating between us anymore with so many costumed heroes and villains popping up...\"\n" } } !Snowman case 5 { select(line) case 0: {SetQuip(5,0,0) SetQuip(5,2,1) "\"Very funny, asshole. You tell your little blobo the wonder pet Pabski that when I find his skank ass I'm going to drop \Bhim\b off a clock tower. See how he freakin' likes it.\" Snowman looks around, nervously. \"He's not here with you tonight, is he?\"\n" } case 1: {SetQuip(5,1,0) SetQuip(5,3,1) SetQuip(5,4,1) "\"Just what was reported. Unlike most of the brain surgeons I run with, I can read. What, do you think I'd fuck around with her? Christ, Avenger.\" Snowman starts to move his hand towards his battle helmet, which effectively powers on his suit. \"The last time I messed around with one of your boys I was thrown off a goddamn tower. The hell do you think I want to go through that again?\"\n" "\"Revenge. Why else?\"\n" "Snowman breaks eye contact. \"Look, man. I have no idea what went down. You're definitely in the wrong place if you want to start something.\"" } case 2: {SetQuip(5,2,0) SetQuip(5,3,1) SetQuip(5,4,1) "\"Oh. No matter. Look, what the fuck do you two want, anyway? All of us aren't doing anything wrong and if we were I'm sure there'd be real cops around who would be slavering over the chance to bust us.\"\n" "\"Why do you think I'm here? I have some questions and you're going to give me some answers.\"\n" } case 3: {SetQuip(5,3,0) SetQuip(5,4,0) SetQuip(5,1,0) SetQuip(5,0,0) if pipe in player { SetQuip(5,4,1) "Snowman makes a move towards his helmet. I slam my pipe down on his hand.\n" "\"Cut the shit. This is my \Bpartner\b we're talking about, jack. If you think I'm not in the mood to beat every one of you feebs into a senseless pulp you're the dumbest guy in here.\"\n" "He looks towards Johnny. \"Christ, dude! He's gonna get the three of us killed if you don't get him under control.\"\n" "\"Bring it on, bitch,\" says Johnny.\n" } else { "Snowman grabs his helmet. \"Sorry, dude. I can't tell you what I don't know.\"\n" } } case 4: {SetQuip(5,4,0) SetQuip(5,3,0) SetQuip(5,5,1) SetQuip(5,6,1) SetQuip(5,1,0) SetQuip(5,0,0) "\"I don't have the faintest idea,\" says Snowman. Johnny gives him a shove. Snowman staggers for a second and then nearly falls backwards onto the floor.\n\n \"You're a bright boy, Snowman,\" says Johnny. \"I did some checking on you. You went to college.\"\n\n \"UT,\" says Snowman.\n\n Johnny looks at me. I look at him. \"Hook 'em, Horns!\" we both say in unison. We make that little horn-figure with our hands and then both immediately punch his battlesuit. I swear Johnny dents it. Snowman again almost topples over. \"We're going to keep doing this, weeble-wobble, until you come up with some better answers or \Bdo\b fall down.\"\n\n" } case 5: {SetQuip(5,5,0) SetQuip(5,6,0) SetQuip(5,8,1) "Snowman shrugs as best he can in the suit. \"Ask some of these other idiots,\" he says. \"I couldn't have cared less about the bitch -- \" I cut him off right there. I put both of my hands around his neck and start screaming at him.\n" } case 8: {SetQuip(5,8,0) SetQuip(8,3,1) "\"Mucous!\ he screams. \"Fuckin' Mucous!\" Snowman could be completely talking out of his ass, or actually have something here. I feign disbelief automatically.\n\n \"No, really... Mister Mucous is the only guy I know that really, really fuckin' hates your guts. I was over at the Crowded Pub two weeks ago. You know how Mucous almost never is out on the scene, out on the town and shit. Almost never. But he walked in that night. There wasn't shit to talk to and no honeys so I struck up a conversation with him. Now, look -- you fucking \Bknow\b you can't understand more than two words the guy says, 'cos he has that voice thing that the guy who accelerated light had... what's-his-face...\"\n" "\"Hawking.\"\n\n \"Yeah. So who knows if what I heard was right. But the guy goes into some freaking tirade about you and your girl. Said he was going to fill every cavity in you and then her with his freaking slime. That's how he talks!\"\n\n I turn, disgusted. This little bitch could have said all of this ten minutes ago and saved me a hell of a lot of time. He'll get what coming to him eventually.\n" } case 6: {SetQuip(5,6,0) SetQuip(5,5,0) SetQuip(5,9,1) SetQuip(5,13,1) "\"OK, OK, OK. Two guys come to mind. You'd better leave me out of this.\"\n\n \"I promise nothing,\" I tell him.\n\n Snowman spits on the floor. \"Macabre. And Mister Mucous.\"\n" } case 13: {SetQuip(5,13,0) "\"Oh,\" says Snowman. \"I have no idea. I don't have a webpad or television. Pabski had them both sold at a police auction the last time I went into the hole.\"\n\n \"Police auction? He told me he took them both to a pawn shop.\"\n\n \"Yeah? Do you know which one? I'd really like to get my stuff back.\"\n\n \"Let me see how your tips pan out. I'm not through with you.\" Snowman kind of bristles at that.\n" } case 9: {SetQuip(5,13,0) SetQuip(5,9,0) SetQuip(5,10,1) SetQuip(8,3,1) "\"I did. The other day. Sure as shit, I was walking down E. 59th. Like one or two in the morning. And there he was. I guess he recognized me or something, from the news. He asked me a few questions about my last trip in the hole and then he was gone. He was ranting about you. And Ameba, I think.\"\n\n I was the last guy to send Mister Mucous into prison. It didn't take him very long to break out. He has some sort of glandular problem or something. He shoots out snot continually. Lots of it, too. He can compact it into rock-hard blocks and the like. Pretty gross. But pretty dangerous.\n\n \"Did he talk to anyone else that you know of?\"\n\n \"Nah,\" says Snowman. \"That guy's bad news.\"\n\n I really don't have anything else to ask Snowman. He heads up over to the bar.\n" } case 10: {SetQuip(5,10,0) SetQuip(5,11,1) SetQuip(5,12,1) "\"What?\" says Snowman. \"You're getting seriously boring, 'Venger. Shut the fuck up because I am not going to deal with you anymore.\"\n\n \"We're going to go over this one more time,\" I tell him.\n\n \"No! We're not! Unless you want a faceful of this!\" He makes a fist with his left hand and waves it about.\n" } case 11: {SetQuip(5,11,0) SetQuip(5,12,0) fight_active = 1 Snowman.peaceful = false GameEvents[19] = 1 "\"You asked for it, bitch!\" His battlesuit flares up and he shoots me square in the chest. I don't really feel anything thanks to my armor, but it's enough to knock me off my feet. Johnny swings wildly at Snowman, but somehow misses catching him in the face.\n\n Everyone else in the bar gets ready to brawl -- the super-villians get out from their booths and attack!\n" } case 12: {SetQuip(5,12,0) SetQuip(5,11,0) "\"Yeah, yeah,\" says Snowman. \"Whatever.\"\n" } case 7: {SetQuip(5,7,0) "I swear his eyes get big for a split-second when I say that. \"What's the matter, what's up?\"\n\n \"Nothing. Look, I haven't had a chance to get this thing properly maintained as of late.\"\n\n \"Why? What have you been up to? What do they do anyway -- are they control knobs?\" I really don't know Snowman that well, I'm hoping he's some sort of megalomaniac who will describe in great detail how his suit works. He's not too happy about the question, though.\n\n \"What the \Bhell\b, Venger? Jesus fucking Christ -- is this your new ruse? Is this it? To shake down people who are out having a goddamn beer? Fuck you, dude. Seriously. Keep this up and I guarantee you next time there will be about two dozen of us waiting for you here to knock the shit out of you. This is crossing the goddamn line!\"" } } !Pounder case 6 { select(line) case 0: {SetQuip(6,0,0) SetQuip(6,1,0) SetQuip(6,2,1) SetQuip(6,3,1) SetQuip(6,4,1) "Pounder shakes his head and says nothing.\n" } case 2: {SetQuip(6,2,0) "\"Ain't gonna tell you shit, boy... ain't gonna tell you shit.\" He avoids eye contact.\n" } case 3: {SetQuip(6,3,0) "\"Ha!\" he snorts. He then goes back to concentrating on staring at the wall.\n" } case 4: {SetQuip(6,4,0) SetQuip(6,5,1) SetQuip(6,1,1) "He actually sniffs briefly. \"Huh?\"\n" } case 5: {SetQuip(6,1,0) SetQuip(6,5,0) SetQuip(6,4,0) SetQuip(6,3,0) SetQuip(6,2,0) fight_active = 1 GameEvents[19] = 1 Pounder.peaceful = false "He wasn't thrilled to get dissed like that. He gets up from his chair and all hell breaks loose at the bar.\n\n Pounder mutates his hands into grisly, deformed punching blocks!\n\n \"How ya like me now! How ya like me \Bnow!!!\b\"\n" } case 1: {SetQuip(6,1,0) "\"Don't ask me for \Bshit\b... he says.\n" } } !Green Knight case 7 { select(line) case 0: {SetQuip(7,0,0) "\"Yes, yes... of course. Although we work on opposite sides of legality I have a deep respect for someone as worthy a combatant as yourself, Holy Avenger.\" You can never tell with this berk as to whether or not he is serious.\n\n" } case 2: {SetQuip(7,2,0) SetQuip(7,7,1) SetQuip(7,8,1) SetQuip(7,9,1) SetQuip(7,10,1) "\"Her death... was most tragic. No true warrior should ever be attacked and humiliated the way she was. I have... heard stories, Holy Avenger -- rumors, if you will. That you and her were romantically linked. Although, as you well know, the church does not approve of sexual relations outside of marriage I could tell your love for each other was great.\"\n" "\"How do you know that they weren't married?\" asks Johnny.\n\n The Green Knight does an approximation of a shrug behind the full plate mail he is wearing. \"No ring...\" he states plainly.\n" } case 3: {SetQuip(7,3,0) "\"I... fear not, Holy Avenger. Immigration? Now that... is quite another story. But not New York's Finest, no...\"\n" } case 7: {SetQuip(7,7,0) SetQuip(7,11,1) SetQuip(7,12,1) SetQuip(7,13,1) "\"Hmm... I must admit, Holy Avenger, a certain interest in this case. For I had expected a... sort of vengeance to come from your pantheon of do-gooders.\" He pauses for effect. \"What do we really know? I suspect there are some questions you must ask yourself. What was she doing in a filthy alley at that particular time? I have studied the routines of your... team-mates... and never before discerned a Red Cloud showing at such a time. Was she... lured there? If so, perhaps you are looking for someone with a deep-seeded hatred of Red Cloud the super-hero... or Red Cloud the woman.\"\n" } case 11:{SetQuip(7,11,0) SetQuip(7,12,0) SetQuip(7,13,0) "The Green Knight chortles deeply. \"You would know better than I, Holy Avenger...\" He chortles again. I really dislike this guy. I don't like the way he dramatically pauses every two or three words, I don't like how his voice sounds coming through that mask and I don't like his attitude.\n" "\"The two of you... couldn't have been spending much time together lately, no? Different schedules and all? Perhaps she had a side to her that you simply didn't... see...\" OK. I also dislike what he's implying. He's able to read that from my expression -- or possibly the balled-up fists. \"I mean no... offense... Holy Avenger. Think of me as a neutral party regarding this manner. But do... think of that possibility.\"\n" } case 12:{SetQuip(7,11,0) SetQuip(7,12,0) SetQuip(7,13,0) "\"Perhaps a friend... not so much. More like a foe. No?\"\n" } case 13:{SetQuip(7,11,0) SetQuip(7,12,0) SetQuip(7,13,0) "\"You need... for you to think this situation deeply. I have a basic understanding of it only because of my great, famous love for puzzles.\" Well, I had no idea. It wasn't that famous. \"Your rage will serve you well when arse needs smiting, Holy Avenger. But perhaps you should calm yourself... a tad... and think.\"\n" } case 8: {SetQuip(7,8,0) "\"My take... my take was that a beautiful bird was slain before she had the opportunity to experience the sheer carnival of flesh that is the legendary thirteen-inch cock of the Green Knight!\" He claps me on the back and gives a deep belly laugh, a sort of metallic chortle. The hell am I thinking, coming here for any degree of sympathy from these idiots? I glance over to Johnny and roll my eyes. He simply shakes his head back and forth.\n" } case 9: {SetQuip(7,9,0) "The Green Knight seems to draw in a large breath. \"You would... have to ask them. I do not normally associate with this superstitious, cowardly lot.\"\n" } case 10: {SetQuip(7,10,0) "\"I'll pretend I didn't hear that.\" He doesn't do such a very good job. \"Slay... a \Bwoman\b? Holy Avenger, surely you know me much better than that!\" I didn't, but the next time I go up on this clown I'm going to make sure that the Succubus is around.\n" } case 1: {SetQuip(7,1,0) SetQuip(7,4,1) SetQuip(7,5,1) "\"Not... very well, Holy Avenger. I fear as if soon I will be deported by some of the damnable bureaucrats in power in this nation of fools!\" He kind of bellows that last line. I see Johnny open his mouth to no doubt give him some sarcastic remark but I wave him off. The Green Knight is exactly the kind of Brit I despise -- still under the belief that the United States will stop mucking about and recognize the King much sooner if he personally hacks off a few thousand limbs of its citizens. I hate him just as much as Johnny does, but I need to get some information from him.\n" } case 4: {SetQuip(7,4,0) "\"I... fear as much, yes. Have no illusions, Holy Avenger. I fully intend to continue my knight's crusade in this country. The great ocean's blood may boil crimson with the blood of those that oppose me, but I will brook no pedestrian or nuclear foolishness...\"\n\n I have no idea what the living hell he's talking about. \n" pause "No, really. Not a frigging clue.\n" } case 5: {SetQuip(7,5,0) SetQuip(7,4,0) SetQuip(7,2,1) SetQuip(7,3,0) SetQuip(7,0,0) "He waves his hand as a gesture for me to continue. \"Yes... yes, of course.\"" } case 6: {SetQuip(7,6,0) SetQuip(7,14,1) SetQuip(7,15,1) "\"Mucous!\" he screams. \"That damnable son of a bitch!\" I'm taken aback for a second -- the Green Knight can be a serious problem when enraged. \"The next time I see that right bastard, I shall cut him into several smaller pieces!\"\n\n \"Why?\"\n\n \"Bah!\" he snorts.\n" } case 14: {SetQuip(7,14,0) SetQuip(7,15,1) "\"That freakish... rogue had the audacity to attempt to implicate me as an associate in his latest crime.\"\n\n \"How so? And when?\"\n\n ! Ah, yes, the inevitable "bugs than a tropical swamp" reference in a Sherwin game. It was either that or "I'll ! knock your teeth out and pass all over your ass" but that was taken. \"I was at his apartment... a filthy, disheveled mess. Covered, of course, in nasal slime. Roaches, tics, mosquitoes... don't get me started... more bugs than a tropical swamp! He waxed poetic about the destruction of some art gallery... Bah! The Green Knight... has not the time for such pursuits! To hear the Ruthian-mouthed villain try to spread blame to the World's Finest Swordsman... and Most Adapt Lover... I will cut out his throat!\"" } case 15: {SetQuip(7,15,0) SetQuip(7,14,0) "\"Perhaps I will.... perhaps I will indeed....\"\n\n" } } !AIDS Archer case 8 { select(line) case 0: {SetQuip(8,0,0) SetQuip(8,1,1) SetQuip(8,2,1) SetQuip(8,4,0) "\"Yea, yea.... don't want any problems, no no. Wass... the deal? Huh?\"\n" } case 1: {SetQuip(8,1,0) "\"Never heard of her... did she deal?\"\n" } case 2: {SetQuip(8,2,0) "\"Jail...\" He starts giggling uncontrollably. Did someone hit this idiot with the stupid stick? This is the first time I've ever spoken with him, but if this is how he normally acts he needs serious psychological evaluation and treatment.\n" } case 3: {SetQuip(8,3,0) "\"Nah... been in jail, remember?\"" } case 4: {SetQuip(8,4,0) "\"Yea... yea... just, you know. Stuff.\" His eyebrows raise over his custom domino mask. \"\BStuff\b, you know?\"\n" "No, actually. I don't. I have no idea what he's talking about. \"What kind of stuff?\"\n\n \"Heh... heheh... you want to buy? Meng?\"\n\n Is this retard under the impression that I'm trying to score some drugs or something? \"What are your arrows tipped with?\" I ask him. He continues to grin vacantly at me. Occasionally he nods his head.\n" } } !Iron Lung case 9 { select(line) case 0: {SetQuip(9,0,0) SetQuip(9,1,1) SetQuip(9,2,0) "\"Let's get something straight, Avenger. I don't care for you or your friends.\" He sneers at Johnny. Iron Lung is one of the most hateful racists I've ever known and Johnny's hispanic heritage is something I've seen him eventually insult the two times I've spoken with him before. \"It's just a matter of time before I take out you and your little greaser friend here.\"\n\n \"Hey! Lookit Father Time here! Any time you think your testicles are still round enough, old man, go right ahead.\"\n\n \"C'mon, grandpaw, let's go,\" adds Johnny.\n\n Iron Lung ignores Johnny completely. \"Who do you think had it in for you, boy? Your arch-enemy, perhaps?\"\n" } case 1: {SetQuip(9,1,0) SetQuip(9,2,0) "\"Of course I do! You'd be surprised how often the base criminal element in this city spreads rumours and stories... heh. Heh. Although, of course, you know that the Red Wraith would never employ a henchman himself. No, sir.\" He's right about that. The Red Wraith is apparently a lord of the undead. I've never caught him so I can't verify if he is or is not some chump in an extremely realistic bodysuit or what, but he's able to bring the dead back to life to run errands for him, to use as warriors. The Red Wraith also gets inside your head... says things, knows things, implies things. I have absolutely no idea where he is and if he could or could not be implicated in this, but a weapon as 'hi-tech' as a shotgun is absolutely not his style.\n" } case 2: {SetQuip(9,2,0) SetQuip(9,3,1) SetQuip(9,4,1) "\"Old man. Yes. How quaint.\"\n\n \"Hey, when was the last time you changed the diaper in that suit? You smell like Ovulation Night at the kitty pound. Seriously, Lung, you're the worst smelling git I've ever encountered in this business. I'm not kidding in the slightest. Whatever plans you currently have need to be placed on hold until you can spend at least an hour in somebody's tub.\"\n\n \"And mix in some skin cream,\" says Johnny.\n" } case 3: {SetQuip(9,3,0) SetQuip(9,4,0) "\"What?\" says the Lung.\n\n \"Some skin cream,\" says Johnny. \"What you have should not be referred to as liver spots, as you seem to have the entire endocratic system well represented.\"\n\n \"I think I see Jesus on this one,\" I point out helpfully.\n\n He rises up and jabs Johnny in the sternum. \"Listen to me, you filthy little spic -- \" I push him back down.\n\n \"No! You listen to me, you miserable bastard! I've got some questions and you're going to provide me with some quick answers!\"\n" } case 4: {SetQuip(9,4,0) SetQuip(9,3,0) "The Iron Lung bristles at being told that. \"Listen to me, you filthy little punks. During the war we were lucky to --\" I interrupt this soliloquy.\n\n \"The war? Which one was it, mate? The Deuce? The one where Hannibal got his elephants stuck on the alps? Some unrecorded scrum between neighboring homo erectus tribes? Please, be so kind to let us know just which war you're talking about.\"\n\n \"The Korean!\" he screams. \"Why, we rolled right over those cross-eyed dogs and taught them some god damned respect! We... \" he kind of stops getting caught up in the moment. For all his power and for how incredibly deadly he is, he's still a 70-odd year old guy whose mind wanders.\n" } } !The Bouncer case 10 { select(line) case 0: {SetQuip(10,0,0) "The Bouncer's brows furrow and he mumbles a grunt in the affirmative.\n" "\"Then you'll know that in it, it was very hard to make Bruce Willis die. I don't expect that same kind of trouble out of you. Get the living Christ out of my freaking way before chunks of you end up in the rain drains.\"\n" "He's not too happy with being told that. He takes a swing at me, but misses by a good four feet.\n\n He stares me down waiting for me to do something.\n" } case 1: {SetQuip(10,1,0) "The Bouncer refuses to budge.\n" "\"Did you think I was kidding? Just messing around? Look, jackass, I am in absolutely no mood to deal with you nutcramps tonight. Do you have any idea who I am? \" Hollywood steps in.\n" "\"Look, man,\" he says to the Bouncer. \"Whatever you decide to do is fine with me. I should let you know that I like to play the market. An' I have an incredible amount of stock in a company that makes plaster of paris. I think we'll meet Tokyo projections this quarter when he gets done with you, unless you let us in.\"\n" "The bouncer sneers and spits away from us, in the direction of the dumpster.\n" } case 2: {SetQuip(10,2,0) SetQuip(10,3,1) "\"No. Beat it,\" says the Bouncer.\n" "I'm in absolutely no mood for this guy's crap. It dawns on me that he might know something, though.\n" } case 3: {SetQuip(10,3,0) GameEvents[3] = 1 "The Bouncer holds out his hand. As if he's expecting me to pay him money or something for the privilege of talking to him.\n" if pipe in HolyAvenger { "I make a show of trying to find some money. Like I've got some squirreled away in my sash or something. I ask Johnny if he has any and he shakes his head. I take out my pipe.\n" "\"Probably got some in here,\" I say, cheerily, to the Bouncer. I make a show of shaking it back and forth. \"Hmm! Doesn't seem as if it's going to come out.\" I then smash the pipe directly into his outstretched hand. He screams in agony, cradling his now useless right hand.\n" "That certainly got a reaction out of him.\n" } else { "I make a show of trying to find some money. Like I've got some squirreled away in my sash or something. I ask Johnny if he has any. He searches his pockets. \"Yes,\" he pipes up with. The Bouncer takes his eyes off me and at that point I punch him directly in the gob.\n" "I take the frigging puke by the scruff of his neck. \"Not clowning around anymore, bitch! I'm going to ask some fucking questions and you are going answer them like a good little bitch! Do you hear me?\"\n" "To his credit, the Bouncer shakes his head in the affirmative. We're now communicating like a couple of old chums.\n" } } } !The Comic Shop Owner case 12 { select(line) case 0: {SetQuip(12,0,0) "\"A tragedy, sir. You have my deepest regrets.\"\n" } case 1: {SetQuip(12,1,0) "\"I am sorry, sir. That name does not ring a bell.\"\n" } case 2: {SetQuip(12,2,0) "\"I'm sorry, sir, I can't break the boxes yet. You see, when cards like this are first distributed they command rather hefty prices if they are purchased in lots. Complete boxes, if you will.\"\n\n \"C'mon. You won't sell me just one pack? That's ridiculous. Obviously they immediately lose value as soon as some kid opens the box up.\"\n\n \"Most often kids do not do that. They keep them in the box.\"\n\n \"They never even see them? You're freaking high.\"\n\n \"I assure you, sir, I am not 'freaking high.' You look to be quite the athlete. Didn't you ever collect, say, football cards?\"\n" "\"Well, sure.\" I am almost tempted to tell him about my rookie Erik Flowers card, which he signed in 2000. The guy went on to become the greatest player in the history of the Buffalo Bills and I got his autograph when I was like twelve and he was struggling to earn a starting spot on the team. Then I realize that's probably too much information. That's what sucks about this biz -- the lack of any chance to really make personal relationships. \"Sure, but I could at least pull them out and look at them. What's next? Buying a crate of these cards and keeping it forever bolted together? Dipping the Fed Ex truck that delivers a ton of them in bronze and displaying that?\" The comic shop owner smiles vacantly at a spot about three feet above my head.\n" } case 3: {SetQuip(12,3,0) SetQuip(12,2,0) if cards in DisplayCase { if (bill75 in player) { move bill75 to ComicOwner bill75 is hidden move cards to HolyAvenger cards is not hidden score +=10 SetQuip(13,0,1) SetQuip(13,1,1) "\"Certainly, sir.\" I make a fundamental error. I pull out my bill before he rings up my order. What can I say -- it's late, my girlfriend was just killed, I just put up with some super-powered slime that would just as soon kill me as look at me. And so forth. \"Seventy-five dollars, sir.\" Hearing that, I kind of lose it.\n\n \"You're surely stoned. A frigging gipper for a bunch of freaking cards?\" The backpack-wearing kid takes note and starts smiling smugly, thinking he's going to get some cards after all. Not a chance.\n" "\"Fine, fine,\" I say. I get the box of cards. Easy come, easy go. I abhor living in this city -- Buffalo was certainly no prize, but at least chudly, burpy slugs like this guy didn't rip me off.\n" return } if (bill75 not in player) { "\"Certainly, sir. And how would you be paying for this?\"\n\n \"Uh... super-hero's privilege?\"\n\n The shop owner hushes his voice for a moment. \"Sir, for any other purchase I would gladly make an exception. These cards are brand new, however, just delivered tonight. I \Bneed\b to make a profit on them to keep my humble shop in business.\" I nod. Can't really fault him for that.\n" return } } else "\"Sorry, sir, but I am sold out.\"\n" } } !Backpack Crusader case 13 { select(line) case 0: {SetQuip(13,0,0) SetQuip(13,1,0) SetQuip(13,2,1) SetQuip(13,3,1) "\"Yes! You have no idea! I have to have them! It is very important!\"\n" } case 1: {SetQuip(13,1,0) SetQuip(13,2,0) SetQuip(13,3,0) "\"Who?\"\n\n \"The Rad HaX0r. The Rad Hacker. Wears a costume. Goes to raves. Drops way too much E.\"\n\n The backpacked kid eyes the cards warily. \"Yeah. Maybe.\"\n\n" } case 2: {SetQuip(13,2,0) SetQuip(13,4,1) SetQuip(13,3,0) "The kid kind of pouts at that. Maybe if he were my daughter or a puppy that tactic would work, but in his case it only serves to increase my disgust with him.\n" } case 3: {SetQuip(13,3,0) SetQuip(13,4,1) SetQuip(13,2,0) "\"He's this really cool guy. Great hacker! He's a real whiz. Do you know all those DOS attacks?\"\n\n \"The denial of service attacks?\"\n\n \"Is that what that stands for?\"\n\n \"The hell did you think it stood for?\"\n\n \"Disk Operating System.\"\n" "Jesus. Kids today. \"What the hell does that mean? A DOS attack? Did you think the guy went berzerk and started remotely installing EDLIN on remote machines?\"\n\n He changes the subject. \"He can get into anyone's computer anywhere at anytime. He's written a lot of networking software on contract. Then he backdoors his way in. Plus, he's just plain talented. He's pretty good at the MMORPGs as well. He's elite!\"\n\n \"What does that stand for?\"\n\n \"Massively-multiplayer on-line role-playing games. You know. Neuromancer On-Line, Tolkien World, Shades, Faith III, so forth. Hee hee!\"\n\n There's something about one of those games that rings a bell.\n\n \"Can I have the cards?\" he asks.\n\n \"Not yet. I have some more questions for you.\"\n" } case 4: {SetQuip(13,4,0) SetQuip(13,5,1) SetQuip(13,6,1) "\"He wanted me to grab these cards for him. He couldn't make it out tonight.\"\n\n \"Whoa. Back up. Why these cards?\"\n\n The backpack crusader laughs at this. An annoying, smug, titter of a laugh. \"Don't you know? Hee, hee! These are only the most desirable expansion pack to come down the pipe in the last twenty-five years! Ewww! Heh! Everyone knows they can't start selling them until midnight and The Hacker knew no-one else in their right mind would come to this part of the city to get them at this hour!\"\n" } case 5: {SetQuip(13,5,0) "\"He said he couldn't go out and be seen in public. He would also buy me a box. Why?\"\n" if (pipe in HolyAvenger) { "\"I'm asking the questions here.\" I tap my pipe against the box. \"Unless you want to see these cards pummeled. Badly.\" The kid looks aghast in horror. Even the shopkeeper gives a mutter of disdain. What's with these freaking geeks?\n" } else { "\"I'm asking the questions here. Unless you want to see me light these things on fire.\"\n\n The kid lets out a nasal 'nooooo!' and shuts up." } } case 6: {SetQuip(13,6,0) SetQuip(13,7,1) "\"How did you know that?\"\n\n \"Do you have any idea who I am?\" Nothing. \"Rad HaX0r never mentioned me?\" He shakes his head. \"Who the hell did the HaX0r tell you you were going to meet?\"\n\n \"Some skinny blonde guy,\" says the kid. It then dawns on him. \"Are you the guy?\" You betcha, kid.\n\n \"Yeah you right,\" I say.\n" "\"Oh. Sorry. He told me to tell you two things. That 'your payment is at the box at the spot' and 'don't come around for two weeks.'\"\n\n \"The hell does that mean?\" The kid just shrugs.\n\n A wave of horror creeps over me. This payment was obviously intended for Snowman -- he's the only super-villain I know of who even remotely looks like me. What has he been up to recently that hasn't made the news? Is the Rad HaX0r actually involved in Red Cloud's death? Is Snowman, after all?\n" } case 7: { SetQuip(13,5,0) SetQuip(13,6,0) SetQuip(13,7,0) SetQuip(13,8,1) SetQuip(13,9,1) GameEvents[20] = 1 "\"By the Port. The bus terminal.\"\n\n \"I mean, specifically.\"\n\n \"He's near 9th and 34th. In a complete hellhole actually. But! He does have a porch! Hee hee!\"\n\n \"Can I have the cards now?\"\n" } case 8: {SetQuip(13,8,0) remove BackpackCrusader "\"Fucking asshole!\" he screams. He kicks me in the kneecap and runs out of the store.\n" } case 9: {SetQuip(13,8,0) SetQuip(13,9,0) move cards to BackpackCrusader remove BackpackCrusader "\"Thanks!\" He grabs the box and runs out of the store.\n" } } !Cabbie case 14 { select(line) case 0: { SetQuip(14,0,0) "The cabbie drives me to the City Comic Corp shop.\n" MovePlayer(OutsideComicShop) } case 1: { Activate(jenn_calls_routine) SetQuip(14,1,0) "The cabbie drives me a few blocks from my apartment complex -- to a nearby crack house that I can reasonably be presumed to be busting. Actually, it's not even big enough to be a crack house. It's more like a crack studio. I go toward the back of it and pick up a trenchcoat I stash there. I take off my mask and proceed home. The whole of my dual identity is based upon the fact that in real life, per se, I'm pretty much a nobody.\n" MovePlayer(Home1) mask is not worn armor_plate is not worn sash is not worn } case 3: { SetQuip(14,3,0) move pager to HolyAvenger Activate(snowmans_scene) "\"Yeah, I know the area, Venger. What went on in there?\" he says, referring to the HaX0r's house.\n\n \"Well, I found out that the Snowman had something to do with Red Cloud's death. Hey, look -- if you find out where he's holing up, can you get a hold of me?\"\n\n \"Yeah, sure, Venger. Here -- \" Raghib peels off a disposable pager from a roll. \"I think there's a couple rings left on this. I'll letcha know if I hear anythin'.\"\n\n \"Thanks, man.\"\n" "Raghib pulls up near the alley where Red Cloud was killed. \"Look, I'll send somebody by in a bit or somethin'. I gotta pick up my kids from soccer practice.\" Raghib rolls down his window and drives off.\n" pause MovePlayer(SideStreet) } case 4: { SetQuip(14,4,0) "\"Yeah, you betcha Venger.\"\n\n Raghib drives about as quickly as I've seen someone navigate the city and drops me off before the gate. I tell him I'll be by to settle up my bill as soon as I get the reward for bringing in the Red Wraith. He gets himself out of the battle area.\n" MovePlayer(Entrance) } } !Red Wraith case 15 { select(line) case 0: {SetQuip(15,0,0) SetQuip(15,1,0) SetQuip(15,2,0) SetQuip(15,3,0) GameEvents[29] = 1 move Ameba to Lair remove RedWraith remove RedCloud thug.hitpoints = 0 COLOR LIGHT_CYAN "\IYou're such a compassionate sort, aren't you, Avenger? I think you will not continue to be any longer after seeing this...\i\n" COLOR TEXTCOLOR "The Red Wraith leaps from behind his shell. He grabs my arm and stares into my face with his lone eyeball. His jaw goes slack as he transmits an image into my mind...\n" "\IRed Cloud walked towards the alley where she was supposed to meet the boy who had contacted her within the computer game \BFaith III\b where they met. Somehow he had figured out her identity and she had to take care of this problem quickly, quietly, or anyone remotely clever would be able to trace the fact that Marc was the Holy Avenger through her. The boy has mentioned that he was suicidal, that he couldn't continue to live under his parents and their rules and their constant, random discipline.\i\n" "\IShe felt that she could awaken his faith. To introduce him to the miracle of Jesus Christ. So she entered the alley outside the housing complex where the boy lived and saw him standing alone with the end of a shotgun in his mouth.\i\n" "\IShe pleaded with him to take the gun away. She hadn't expected to meet him like that, but everything he said was true. The boy shook his head in the negative, effectively telling her that he wasn't going to remove the gun. She slowly walked to him. She passed a pile of cardboard boxes and garbage. She began to turn herself into a crimson cloud in order to disable the gun from the inside. As soon as the boy saw the mist he briefly removed the gun from his mouth. He shook it once, loaded two bullets into the chamber and said simply, \"Stay whole.\"\n" "\IRed Cloud nodded and stopped moving towards the boy. She became wholly human. Something broke apart in the garbage. She turned her head, briefly, to the left and was struck by freezing blasts of liquid nitrogen and frost. It encompassed her head and she fell to the ground disoriented. The boy laughed. He removed the weapon from his mouth and shot her in the waist. She didn't feel a thing. Her mind couldn't process the information, swallowed up by the cold.\i\n" "\IThe boy went over to the white-armored man who froze her. She could still hear everything they said but it was as if she was within a forgotten cave. The boy took out a digicam and began photographing her. She struggled to change form but her body wouldn't respond. He started taunting her, asking her to pose herself, to pout her lips. He ripped off all her clothes and kept taking pictures. The other man blasted her in the head again and she began to slowly suffocate; she never needed much air to breathe but was rapidly running out.. The boy raped her as she lay against the chunked-up pavement, never breaking eye contact.\n" "He called her a slut, a whore, a filthy, stupid Jesus-freak cunt who finally got what was coming to her. He finished himself inside her and fetched his gun. Still, Red Cloud kept fighting, kept looking for a way out, kept trying to live off the breath she had. She finally felt a shock as the boy blew away her left leg. He loaded the gun again. He shot her chest. Again. She saw bits of her right arm splatter against the frozen ball of ice her head was entombed in. He brought the gun down towards her neck. He winked at her and pulled the trigger. \n" "\IFinally, everything for Red Cloud went black.\i\n" "I wake up from the Wraith's vision on my knees, sobbing. The Ameba had broken through the ceiling of the Lair and waited for me to regain consciousness. \"Holy, are you okay? The corpses became inanimate a few minutes ago... I came down here looking for you. It's over. What did he do to you?\"" } case 1: {SetQuip(15,0,0) SetQuip(15,1,0) SetQuip(15,2,0) SetQuip(15,3,0) GameEvents[29] = 1 !Go up from Lair GameEvents[34] = 1 !Had thug killed move Ameba to Lair remove RedWraith remove RedCloud thug.hitpoints = -101 COLOR LIGHT_CYAN "\II knew you would come around, Marc... I knew you would!\i\n" COLOR TEXTCOLOR if (pipe not in HolyAvenger) { move pipe to HolyAvenger "My pipe had apparently returned at some point... Although I don't remember when.\n" } "The Red Wraith extends his hand towards me and pulls my pipe away from my sash. It becomes lightning-quick and rips through the kid. The kid gurgles in pain and revulsion. The pipe smashes him again in the back of his neck, crushing his skull. It whips around to his face and smears him. He loses most of his teeth. A disgusting trail of blood leaks from his nose. He moans in pain. The pipe then juts itself into his stomach and slowly starts ripping through his flesh, up towards his adam's apple. I begin to feel ecstasy in watching the filthy shitstain suffer. The kid begs for his life. After splitting him open the pipe begins bashing him. I cheer. It's hitting him, and slamming him and then I have my pipe again and I scream at him while I beat him past death, I ask him how it feels to be my bitch and my victim and how fucking dare he kill my girl... \n" pause "I look up to see the Ameba, as white as a ghost. He is stunned, keeping his distance. The Wraith, the image of Red Cloud, the candle, the coffin, everything supernormal has vanished. All that remains is the kid... now dead, and his blood and entrails all over my body as I see that I was on top of him, killing him with my pipe.\n" } ! case 2: {">\"What do you want to do with him, Wraith?\""} ! case 3: {">\"I honestly don't care; I'm not playing your game. I'm taking you and him in. Now.\""} case 4: { SetQuip(15,4,0) SetQuip(15,5,0) SetQuip(15,6,0) SetQuip(15,7,0) COLOR LIGHT_CYAN "\IOnly my greatest triumph, Marcus! Your lover has been slain by orders from another one of the many enemies you have made in your adulthood. My time to strike is now! Your friends outside will be delectably consumed by the dead I have raised tonight, while I ruin you from within. Do you think you've made any difference, Marcus? Do you think all the wrongs in your world could be righted by wearing a ridiculous mask, a weapon worthy of childish sniggering and your creativity? I do not believe so, Marcus! And neither will you!\i\n" COLOR TEXTCOLOR "He claps his hands together and everything turns black.\n" pause MovePlayer(AnthraxiaRoom) } case 5: { SetQuip(15,4,0) SetQuip(15,5,0) SetQuip(15,6,0) SetQuip(15,7,0) COLOR LIGHT_CYAN "\IShe is now my companion. I only regret that it was not I who was instrumental in ending her life. By now you no doubt know your close, personal friend '\BMister Mucous\b' gave three boxfulls of golden kruggerands to the three individuals responsible for her death.\i\n" COLOR TEXTCOLOR "He senses the blank expression on my face through the mask. He smiles.\n" COLOR LIGHT_CYAN "\ISo sorry, detective. Oh, and soylent green was people. Norwood kicks it wide right. Anything else I can now spoil for you? Dear?\i\n" COLOR TEXTCOLOR "Red Cloud considers his question and shakes her head 'no'.\n" COLOR LIGHT_CYAN "\IBegone, boy. There will be no victory for you ever again. I want you to understand how complete your noble desires were. You would have been ineffective even if you were omnipotent.\i\n" COLOR TEXTCOLOR "He claps his hands together and everything turns pitch black.\n" pause MovePlayer(AnthraxiaRoom) } case 6: { SetQuip(15,4,0) SetQuip(15,5,0) SetQuip(15,6,0) SetQuip(15,7,0) COLOR LIGHT_CYAN "\IDo you know who they are, Marcus? Your dear friend Anthraxia, who carries the story of a modern day Typhoid Mary. Your companion Succubus, who wants so badly for you to see her for who she really is and what she sees in you. The transient who stabbed you on that roller coaster when you were but a child. Your eternally disappointed father. An archer you have completely failed to turn. The boy who pulled the trigger that ended your lover's life. What have you done for any of them, \BHoly Avenger\b? What \Bcould\b you do? I will break you, Marcus, because you \Bcan\b be broken. Because the sum of what you have accomplished is nothing!\i\n" COLOR TEXTCOLOR "He claps his hands together and everything fades to black.\n" pause MovePlayer(AnthraxiaRoom) } case 7: { SetQuip(15,4,0) SetQuip(15,5,0) SetQuip(15,6,0) SetQuip(15,7,0) "The image of Red Cloud lets go with a deep, familiar laugh. Red Wraith turns toward her with a sudden expression of shock. My girl cheering me on gives me confidence to try something -- I change what I believe his costume should be. I see him wearing a pair of cotton diapers. Red Wraith finds himself losing control and backs up.\n\n \"Nice threads, Wraith. Now I'm going to spank you like the Gerber Baby. It's all over except for the crying, Queefy.\" I walk over to him and lay him out with a hard left. Two of his teeth fly out of his mouth and into the darkness. Sickly chunks of chartuse blood ooze out of his jaw. Red Cloud assumes a fully gaseous form and flies into his mouth, expanding his lungs to a massive, unholy semblance of misplaced paunch.\n" COLOR LIGHT_CYAN "\INo! I will have control!\i\n" COLOR TEXTCOLOR "The Wraith brings me close with his good arm and stares into my face. I look away but it doesn't matter. I cry out for Red Cloud, but everything goes black...\n" COLOR TEXTCOLOR pause MovePlayer(AnthraxiaRoom) } } !Klan Man case 17 { select(line) case 0: {SetQuip(17,0,0) SetQuip(17,1,0) SetQuip(17,2,0) SetQuip(17,3,1) SetQuip(17,4,1) SetQuip(17,5,1) "\"Holy Avenger, this matter is not up for discussion! You have no idea what this little whore has been up to! Why don't you tell him, honey?\" He shakes her violently by the head for a moment. \"She's been fucking every white boy in this city -- a different one every night -- for the past four months!\" He sees me about to respond to that and cuts me off. \"This is Anthraxia -- I know you've heard about her! She has TIDS!\"\n" "TIDS is a mutation of the AIDS disease that was discovered in Africa six or seven years ago. The 't' stands for terminal, which is sort of a misnomer -- the disease selects certain \"hosts\" which can lead perfectly normal lives, seemingly healthy. However, those she passes the disease onto may find themselves dead within two or three weeks if the virus does not deem them an effective \"host\".\n" } case 1: {SetQuip(17,0,0) SetQuip(17,1,0) SetQuip(17,2,0) SetQuip(17,3,1) SetQuip(17,4,1) SetQuip(17,5,1) "\"Same side?\" I retort. I have to catch myself from not laughing in indignation. \"What the -- \"\n\n \"Yes!\" exclaims Klan Man. \"This filthy whore has been infected with TIDS and been \Ifucking\i every white boy she can find! She's Anthraxia -- a TIDS host, Avenger! She's already responsible for six deaths in the last month! This will stop, by my hand, now!\n" "TIDS is a mutation of the AIDS disease that was discovered in Africa six or seven years ago. The 't' stands for terminal, which is sort of a misnomer -- the disease selects certain \"hosts\" which can lead perfectly normal lives, seemingly healthy. However, those she passes the disease onto may find themselves dead within two or three weeks if the virus does not deem them an effective \"host\".\n" } case 2: {SetQuip(17,0,0) SetQuip(17,1,0) SetQuip(17,2,0) SetQuip(17,3,1) SetQuip(17,4,1) SetQuip(17,5,1) "\"Avenger, I admire your sense of morality -- what is left of it -- but the only death tonight will be hers. She has been fucking as many white boys as she can find in order to spread her disease like some kind of modern-day Typhoid Mary. Maybe you've read the news recently, they've been calling her Anthraxia. She has six lives on her conscious! Bah! As if she is mentally aware enough for empathy!\"\n" } case 3: { SetQuip(17,3,0) hostage is bleeding Activate (hostage_bleeding) remove KlanMan "\"Killing her solves \Beverything\b! Who knows how many new hosts are out there, in my community? If this is perceived to be a white man's disease, do you have any idea how we will be persecuted?\"\n\n \"Jesus Christ, Klan Man! People like you are responsible for whatever stigma AIDS and TIDS have in the first place!\"\n\n \"Avenger, I am a race warrior. As I suspect someday, when your eyes open, you will be too. If this girl does not go up on this cross -- making her a martyr for my cause -- then so be it. But she \Iwill\i die. And you will not save her!\n\n With that, Klan Man attempts to cut her throat, but she wriggles about and squirms. He gets an incredibly deep and long slice through her left arm and she drops to the ground. I run over towards them, desperate \ to stop him from killing her. The girl is bleeding everywhere. He gives her a boot to her face and runs north.\n" } case 4: { SetQuip(17,4,0) hostage is bleeding Activate (hostage_bleeding) remove KlanMan "I can almost sense Klan Man's jaw drop. \"You \Bdoubt\b that? You sick son of a bitch! There will be more girls like her, consistently abused by men everywhere who seek to take out their revenge on my race. When they know that this is their fate -- \" he gestures to his flaming cross \"-- then they will find other avenues and other races with which to express their hideous dreams. God is on my side!\" With that he plunges his knife into the girl's arm, nearly hacking it off. He holds her up by it and laughs while I run over to stop him. He punches her once in the face and takes off to the north. The girl drops with a thick thud, her head roughly bouncing against the pavement. Her blood is everywhere.\n" } case 5 {SetQuip(17,5,0) hostage is bleeding Activate (hostage_bleeding) remove KlanMan "\"Fuck you, you arrogant son of a bitch! This is for your own fucking good!\" Klan Man starts ripping into the girl with his knife and I run over to confront him. He has a bit of trouble getting the knife out of the girl's arm and I use the time to attack. I hit his nose with the palm of my hand just above the wrist and hear something crack. His hood feels quite damp for a moment. Rather than attack, he runs north. The girl cries out in agony, her blood forms a crimson pool that causes my feet to slightly stick to the pavement.\n" } } case 26: { !Anthraxia select(line) case 0 : {SetQuip(26,0,0) SetQuip(26,1,0) Anthraxia is special solvedpuz++ Deactivate(anthraxia_scene) "\"Oh, good!\" she yelps. \"I didn't think you would, but that's so rad!\"\n" Won_Anthraxia_Scene() } case 1 {SetQuip(26,0,0) SetQuip(26,1,0) Anthraxia is special Deactivate(anthraxia_scene) remove Anthraxia "\"Why -- not a chance -- oh. Oh. Yeah.\" Under her breath I hear her just say 'asshole.'\n\n She fades away and a passageway forms to the east.\n" } } } ! With about half of the game being dialogue, it probably goes without saying that it's my favorite ! part of writing IF. A user being able to shape the words that the character says? Being able to, in a way, ! "direct" their own story? It's what I live for, it makes all the sacrifices worthwhile. routine ResetQuips { SetQuip(1,1,1) SetQuip(1,2,1) SetQuip(2,0,1) !Wereboar SetQuip(2,1,1) SetQuip(2,2,1) SetQuip(2,3,1) SetQuip(3,0,1) SetQuip(3,1,1) SetQuip(4,0,1) SetQuip(4,1,1) SetQuip(5,0,1) SetQuip(5,1,1) SetQuip(6,0,1) SetQuip(6,1,1) SetQuip(7,0,1) SetQuip(7,1,1) SetQuip(8,0,1) SetQuip(8,4,1) SetQuip(9,0,1) SetQuip(9,2,1) SetQuip(10,0,1) SetQuip(10,1,1) SetQuip(10,2,1) SetQuip(12,0,1) SetQuip(12,1,1) !SetQuip(14,0,1) ! Cabbie SetQuip(14,1,1) SetQuip(17,0,1) SetQuip(17,1,1) SetQuip(17,2,1) SetQuip(26,0,1) SetQuip(26,1,1) } ! Johnny was a character I created new, for the game (most of the others were drawn-up in high school). He's ! the "buddy" character, but I wanted him to have a bit of anger in him if Venger started acting unheroic... something ! that his counterpart in CHICKS DIG JERKS, Keegan, wouldn't have been capable of. character Johnny "Johnny Hollywood" { charnumber 1 maxhitpoints 300 hitpoints 300 armorclass 25 attackadjust 3 damagepotential 6 inherits NPC in Funeral1 nouns "johnny" "john" "jon" "hollywood" "holly" "wood" "hero" adjectives "johnny" "john" "jon" parse_rank 1 long_desc { "Johnny Hollywood is probably my best friend here in the City. He is 6' tall and about 175 lbs. He always wears black wraparound sunglasses that let him see in the dark. His age is roughly that of mine, I think he's just a bit younger. He is extremely charismatic when he needs to be, but his real powers is that of enhanced strength and the fact that his skin cannot break.\n" } graphic "acs_gfx", "johnny02" Before { xobject DoShow { select (object) case stub: { if (HolyAvenger and Johnny in Bar2) { "\"Hm. I think it's the way script kiddies write english. Dunno. One of those technogeeks might be able to decypher that.\"\n" } else { "\Hm... it's like how those script kiddies write. One of the technogeeks in the bar could probably decypher that,\n" } } case bill75: { "\"Quit flashing your money around, Venger, an' trying to Big Time me.\"\n" } case pipe: { "\"Yeah. Maybe if my fists weren't registered as deadly weapons with the county clerk I'd carry around a lame pseudo-piece of plumbing, too.\"\n" } case mask: { "\"Uh, yeah,\" says Johnny. \"Stylin'.\"\n" } else "Johnny doesn't seem too interested in that.\n" } object DoHit { "Johnny can press like eight tons. He'd bury me.\n" } } is hidden } ! The jerk. An AD&D monster manual + a cap (or a trench coat, in this case) equals SUPER HERO GOLD. character Wereboar "Wereboar" { charnumber 2 maxhitpoints 45 hitpoints 45 armorclass 10 attackadjust 6 damagepotential 12 inherits NPC ! in nouns "wereboar" "boar" "zeke" "pabski" "were-boar" "hero" adjectives "the" "zeke" "were" article "the" parse_rank 1 long_desc { "Zeke Pabski, the Wereboar, is the living embodiment of every negative stereotype I have ever heard associated with New York City natives. He is apparently from the Bronx and about 5'8\", 180 lbs. He is able to transform himself, at will, from a total souse into a type of furry lycanthrope while retaining his incredibly grating personality. He is unreliable, undependable, abrasive and completely without class or tact. He usually cavorts about in a black trenchcoat and smokes Camel unfiltered. He is about 23 or 24 years old.\n" } graphic "acs_gfx", "wereboar01" Before { object DoHit { "Believe me, you never feel worse after taking a swing at the Wereboar, but now's not the right time.\n" } object DoKiss { "C'mon now! Awful!\n" } } is hidden } ! The distanced friend. She was based on a girl I knew in high school, a real sweetheart who has apparently fallen ! of the face of the digital world. Ah, well. If you're out there, Jennifer, this one was for you. character Succubus "Succubus" { charnumber 3 maxhitpoints 30 hitpoints 30 armorclass 14 attackadjust 1 damagepotential 3 is hidden, quiet, female inherits NPC in Funeral1 nouns "succubus" "jenn" "jen" "jennifer" "hero" article "the" parse_rank 1 long_desc { if HolyAvenger in SuccubusRoom { "Jenn seems to be the same woman I know and work with, but she's changed in this scenario that the Red Wraith has created... she seems to be much, much younger unless I look at her directly. She's wearing the same kind of purple turtleneck and long, black skirt that she normally does while in costume, but it seems quite shapeless and ill-fitting. This is, I hope, just an interpretation of her at one point in her life and not the real thing...\n" } elseif GameEvents[0] = 0 { "The Succubus -- Jenn -- is a form of empath and able to read the mind of certain individuals. My analysis has concluded that her power works on those at least somewhat sexually attracted to her and only when she is in contact with said individual's skin. It has never worked on me. She was also born with wing-like membranes that allow her to glide. She is about 5'5\" tall with long, black hair. She wears an opaque domino mask so I have never seen the color of her eyes.\n" } else { "The Succubus -- Jenn -- is a form of empath and able to read the mind of certain individuals. My analysis has concluded that her power works on those at least somewhat sexually attracted to her and only when she is in contact with said individual's skin. It has never worked on me. She was also born with wing-like membranes that allow her to glide. She is about 5'5\" tall with long, black hair and brown eyes.\n" } } graphic "acs_gfx", "succubus01" Before { object DoHit { "What, hit a girl? And my friend as well? Awful!\n" } object DoKiss { if (HolyAvenger in SuccubusRoom) { Deactivate (succubus_scene) Succubus is special solvedpuz++ !GameEvents[31] = GameEvents[31] + 1 Won_Succubus_Scene() } else "She gives me a friendly kiss on the cheek.\n" } } } scenery wings "wings" { part_of Succubus nouns "wings" "membrane" "wing" adjectives "gray" "grey" "jenn's" "succubus'" article "her" long_desc { "Jenn's wings are apparently due to a benevolent mutation that started to emerge during puberty. She's never really talked about what it was like to go through having them sprout and all. They are a kind of chalky grey color and raise up quite a bit over her head. She can't really bind them down very well and often wears these giant pullovers with holes cut out of the back or velcro-laden tops. Pabski keeps telling her to fight crime topless whenever she mentions her wardrobe. They have made it almost impossible for her to have any kind of normal social life and made her quite introspective and an incredible listener.\n" } } object windbreaker "windbreaker" { nouns "windbreaker" "jacket" "coat" adjective "jenn's" "succubus'" long_desc { self is special "Jenn's windbreaker is designed like a lot of her clothes are -- usually with velcro or buttons holding the back together so that her wings aren't bound against her body. This windbreaker has a bunch of silver zippers all over it, and I guess she somehow zips it up before leaving the house.\n" if self is not special { "I don't think of her as handicapped or anything -- she certainly has gifts that allow her to survive quite well -- but I sometimes wonder what it's like to live in a world where virtually nothing is designed to ever fit her body.\n" } } Before { object DoWear { "Well, it's designed for a girl about five inches shorter than I am who happens to have a pair of wings. It's not exactly a good fit for me, so I put it back.\n" } } is clothing } ! The leader. Ameba didn't have much to do in the game, but he's probably the only guy who can actually DO something, ! in terms of super-power-ness, so hopefully if he stands out at all, it's for that. It does make more sense to have ! the player be "in charge," though, from a giving orders standpoint. character Ameba "Ameba" { charnumber 4 maxhitpoints 60 hitpoints 60 armorclass 9 attackadjust 3 damagepotential 5 inherits NPC in Funeral1 nouns "ameba" "amoeba" "ameoba" "hero" parse_rank 1 adjectives "the" long_desc { "The Ameba is by far the strongest and most powerful member of the Scourge Squadron. He is also our captain. He possesses the power to turn his body into a form of gelatinous goop and strength to lift many, many metric tons. He is the oldest member of our group, probably right at 29.\n" } graphic "acs_gfx", "ameba02" Before { object DoHit { "Striking the team captain of the Scourge Squadron wouldn't be a smart move right now. Or, really, ever.\n" } object DoKiss { "Uh, Ameba needs to worry about fighting crime, not my advances.\n" } object DoSmell { "All man, that Ameba.\n" } } is hidden } ! There must be another comics character called "Snowman" out there, but if so, I've never heard of him. Usually ! the person who is the electronics whiz and the guy with the armor is a good guy (Iron Man, Steel) so my take on ! him was a guy who rebelled against all that. character Snowman "Snowman" { charnumber 5 maxhitpoints 12 hitpoints 12 armorclass 8 attackadjust 2 damagepotential 6 inherits NPC in Bar2 nouns "snowman" parse_rank 2 is hidden long_desc { "The Snowman is a shifty little worm who designed himself a ridiculous battlesuit made out to look like somebody's cliched idea of a wintry snowman. He carries himself with the arrogant stench of continuous audacity and is a pathological liar.\n" if Snowman.hitpoints = -101 "He is dead.\n" } graphic "acs_gfx", "snowman01" Before { object DoSearch { if Snowman.conscious = 1 { "Snowman won't let me search him.\n" } else { if (stub is hidden) { stub is not hidden move stub to Bar2 SetQuip(14,0,1) ! Cabbie SetQuip(14,1,1) "Searching the Snowman reveals a stub.\n" } else { "There's nothing of note on the Snowman.\n" } } } object DoKill { if (GameEvents[27] = 1) { if Snowman.hitpoints is not -101 { Snowman.hitpoints = -101 GameEvents[33] = 1 "I give into the rage.\n\n \"Maybe it was just a job to you, Snowman. Maybe you even felt guilty after realizing that they were planning on killing that girl. But she was everything that mattered to me and you didn't do a thing to stop her death. You could have froze them all. You could have stepped in. I'm disgusted with you, Snowman, and you're \Bnever\b pulling this shit on anyone else ever again...\"\n" if pipe in HolyAvenger { "He tries to struggle himself away but never gets the chance. I take my pipe and ram it straight through his windpipe. I rip it out, leaving a bloody mess of a hole behind. He desperately wheezes and tries to cover the injury with his hands. I break his wrists and leave him crumpled on the pavement. After a few seconds pass and about a quart of his blood spills, he finally collapses again for the last time and dies.\n" } else { "He tries to struggle himself away but I stop him. I take his exposed head and twist it sharply to one side. His eyes blaze fiercely for a moment and his tongue protrudes sickeningly from his mouth before his neck snaps and he dies. I throw his head roughly back onto the pavement and look up. Nobody around. Good.\n" } } else { "Snowman is already dead.\n" } } else if (GameEvents[27] = 0) and (Johnny.in_scope = 1) and (Johnny.conscious = 1) and (Snowman.conscious = 0) { "\"Knock it off, Venger,\" says Johnny, \"Or I'll take you down myself.\"\n" } else if (GameEvents[27] = 0) and (Snowman.conscious = 1) { "Snowman can still defend himself well enough to stop me from trying to kill him.\n" } } } is not armed } object battlesuit "battlesuit" { adjectives "battle" "white" "black" "suit" nouns "battlesuit" "suit" "wheels" "snowman's" article "Snowman's" found_in Snowman long_desc { if GameEvents[8] = 0 { GameEvents[8] = 1 SetQuip(5,7,1) } "Snowman's battlesuit is somewhat dented and beat up these days. It's in three spherical modules: one covers his torso, one covers his legs and then there is his helmet. He's got three buttons on it for decorative purposes, I guess -- although actually now that I look closely at it I can see that the bottom one is missing. It can fire out concentrated blasts of liquid nitrogen.\n" } Before { object DoGet { "Snowman seems to have it locked down to his person. I can't find any way, from the outside, to disable the locks.\n" } } } object snowbutton "button" { adjective "black" "small" "missing" nouns "button" "buttons" found_in battlesuit long_desc { "A bit of cracked rim betrays the outline of the button that used to be there. I don't know if they are really knobs to control his ice blasts or what.\n" } Before { object DoGet { "I can't take that.\n" } } } object stub "stub" { adjective "small" "paper" nouns "stub" "ticket" article "a" long_desc { "It's a small ticket to some Demetrius DuBose Jr. martial arts flick called \INinja Surprise\i that has been playing all over the theatres. On the back is written:\n\n \Bm33+ @+ d3y C!+ee c0miX0rs $#00pX0rs 4 $$$$!! -- h@X0r!!\b\n" } short_desc { "Snowman's ticket stub is here.\n" } Before { object DoGet { if self is not hidden { if self is not special { score+=5 } move stub to HolyAvenger "Done.\n" } else { "I can't see that.\n" } } } is hidden } ! Pounder's powers are kind of taken from the old Transformer called "Rumble" in the same way that Oasis is ! kind of influenced by the Beatles. character Pounder "Pounder" { charnumber 6 maxhitpoints 13 hitpoints 13 armorclass 4 attackadjust 2 damagepotential 8 inherits NPC in Bar2 nouns "pounder" adjectives "the" is hidden long_desc { "The Pounder can morph his hands into giant, crushing blocks that hurt almost as much as real fists. He has an incredible amount of anger built up inside and often comes across like a ticking time bomb.\n\n He looks kind of woozy and intoxicated.\n" } graphic "acs_gfx", "pounder02" } ! Sub-reference from Knight Orc! character GreenKnight "Green Knight" { charnumber 7 maxhitpoints 20 hitpoints 20 armorclass 18 attackadjust 5 damagepotential 15 inherits NPC in Bar2 nouns "green" "knight" adjectives "green" is hidden long_desc { "Clad in jade plate mail, the Green Knight is a force to be reckoned with and aside from the Iron Lung, the only guy worth worrying about at the bar tonight. He carries around a fire-blackened sword which, when coupled with his inhuman strength, can cleave through almost anything. He's originally from Wales or western England, I suspect -- he speaks with a thick accent that I can't quite place. His weakness used to be that of chivalry and warrior code, but after getting his ass kicked by Pabski late last year he no longer follows his former principles -- effectively making him much more unpredictable and dangerous.\n" } graphic "acs_gfx", "gk01" Before { object DoSearch { if GreenKnight.conscious = 1 { "The Green Knight won't let me search him.\n" } else { if (sword in GreenKnight) { move sword to Bar2 "The Green Knight has only his fire-blackened sword.\n" } else { "There's nothing of note on the Green Knight.\n" } } } } } weapon sword "fire-blackened sword" { noun "sword" "blade" adjective "fire" "blackened" "fire-blackened" article "the Green Knight's" in GreenKnight short_desc { "The Green Knight's sword is here.\n" } long_desc { "The Sword of the Green Knight is a deadly artifact not completely of this world. How an arrogant sod like the Knight acquired it is not fully known, but it is said to be able to cleave virtually any material in this world. Whatever substance the sword is made of is lost to time, as is most of its history, although it is obvious that it has survived a great fire at one point -- the blade is covered in deep char marks. Many rumors abound concerning what might happen to one who pilfers the weapon from its rightful owner.\n" } Before { object DoGet { if (self in GreenKnight) and (GreenKnight.conscious = 1) { "The Green Knight won't let me have it.\n" } elseif (self in GreenKnight) and (GreenKnight.conscious = 0) { move sword to Player "I grab the sword from the Green Knight. He's going to be pissed, but I don't care.\n" } else { move sword to Player "Done.\n" } } } } ! Well... unfortunately, if there ever were super-villains out and about, I *do* see one of them using disease ! to further their own ends. It doesn't even require super-strength, really. And it's a good foil for Venger's ! lone power. character AIDSArcher "AIDS Archer" { charnumber 8 maxhitpoints 5 hitpoints 5 armorclass 2 attackadjust 5 damagepotential 2 inherits NPC in Bar2 nouns "aids" "archer" adjectives "aids" article "the" is hidden long_desc { "I don't know much about the AIDS Archer. Apparently he carries arrows laced with sexually transmitted diseases. I do know that he was thrown in jail for killing his arch-rival, a small-time crook called Chlamydia. He got six months and time served. Looks like he's out walking the streets again.\n" } graphic "acs_gfx", "aa01" } ! I wanted the old guy to be the most dangerous one in the game. But it was also a way for the player to even ! the odds -- I expected the players to LOOK at everyone, and it's pretty obvious that pulling the cord on him ! is a good first move. The fight becomes very doable if the Iron Lung is taken out first. Actually, overall, ! I thought the pecking order was laid out well -- Lung, Green Knight / Snowman, Pounder, AIDS Archer. character IronLung "Iron Lung" { charnumber 9 maxhitpoints 50 hitpoints 50 armorclass 5 attackadjust 15 damagepotential 25 inherits NPC in Bar2 nouns "iron" "lung" adjectives "iron" article "the" is hidden long_desc { "The Iron Lung is the only dangerous joker in this bunch. He can spew gusts of wind through his throat at speeds of hundreds of miles an hour. He usually puts some shrapnel or iron filings in the mix before he unloads. He's extremely dangerous and quite sadistic. He has absolutely no qualms about killing. He has only two weaknesses: his great, advanced age (he's probably the oldest berk I've seen wear a mask) and the fact that he needs to be plugged into an electrical outlet in order to make his power work.\n" } graphic "acs_gfx", "ironlung01" Before { object DoPull { Perform(&DoPull, plug) } object DoSearch { if IronLung.conscious = 1 { "The Iron Lung doesn't let me.\n" } else { "The Iron Lung doesn't really have anything of value, just some expired food stamps and some rusty filings.\n" } } } } ! This character was one where I tried to depict how the members of this generation would dress up as superheroes ! or villains even if they had *nothing* going for them. The bouncer is a guy with a bad job. But he's in "the game" ! as well. character Bouncer "Bouncer" { charnumber 10 maxhitpoints 3 hitpoints 3 armorclass 2 attackadjust 7 damagepotential 1 inherits NPC in Bar1 nouns "bouncer" "freak" "mime" "runner" adjectives "the" "circus" article "the" short_desc { if GameEvents[2] = 0 {"Some kind of bouncer, mime or circus runner is here before me."} if GameEvents[2] = 1 {"The nightclub's bouncer is here, passed out on the ground."} } long_desc { print "This bouncer apparently fancies himself some sort of super criminal. He's African-American, but wearing intense black eyeshadow against the white clown makeup he's colored his face with. He's also wearing a complete scarlet tuxedo, giving him a ridiculous costume to no doubt trump those we'll find inside.\n" if GameEvents[2] = 0 { "He's sneering at me quite viciously and trying to make it known that there's not a chance in hell that he's going to let a couple of 'do-gooders' into the bar." } if GameEvents[2] = 1 { "Normally he doesn't quite cotton to heroes. Right now, he just doesn't cotton to consciousness." } } before { object DoHit { if GameEvents[2] = 1 { "He's already been knocked out. What should I get from him, blood?\n" return } if GameEvents[3] = 0 { "I go over towards him, but his guard is up. I'm confident that I can kick the hell out of this feeb, but I need to conserve my strength for when I go inside. This particular clown I need to take out swiftly and quickly, and right now's not a good time: he's expecting it.\n" } else { GameEvents[2] = 1 Bouncer.hitpoints = -1 "I give him a quick jab to the jaw, followed by a kick to his kneecap. He flails wildly and attempts to rip my head off with a single, poorly-placed haymaker. He's slow to recover from his punch so I get in close and slam my hands across both of his ears. That's about all he can take before crumpling to the ground.\n" } } object DoPush { if Bouncer.conscious = 1 { "\"Quit it, you bitch!\" he says.\n" } else { if bill75 is hidden { score += 10 move bill75 to Bar1 bill75 is not hidden "\"Pushing him around reveals a seventy-five dollar bill.\n" } else { "Done.\n" } } } object DoSearch { if GameEvents[2] = 1 { if bill75 is hidden { move bill75 to Bar1 score += 10 bill75 is not hidden "Searching the bouncer reveals a seventy-five dollar bill.\n" } else { "He has nothing else of value.\n" } } else { "The bouncer won't let me search him.\n" } } object DoTalk { if GameEvents[2] = 1 { "He's been beaten into Dreamland. He won't be answering any questions in the queue before \"what the hell happened?\" pops up around six a.m. tomorrow morning.\n" } else { DoTalk(self) } } object DoKill { if GameEvents[2] = 1 { if GameEvents[11] = 0 { "I've absolutely had it with these bloody thugs in my way every day on the job. I bend down to twist his neck. I start to turn it off when Johnny rips me away from him.\n\n \"The \Bhell\b is wrong with you, man? What the hell were you going to do to him? Kill him? Are you insane? \"\n" GameEvents[11] = 1 SetQuip(1,5,1) SetQuip(1,6,1) SetQuip(1,7,1) } else { "Johnny won't let me.\n" } } else { "He's far too able to defend himself. I'd have to beat him down first.\n" } } } } character RadHax0r "Rad HaX0r" { charnumber 11 maxhitpoints 2 hitpoints 2 armorclass 2 attackadjust 2 damagepotential 3 inherits NPC in RadHouse1 nouns "hacker" "hackor" "hax0r" "kid" "hack0r" "haxor" adjectives "rad" article "the" is hidden long_desc { "The Rad HaX0r is a skinny little twerp with a penchant for computer hacking, cracking and programming. He usually wears a faded Konami t-shirt and pair of extremely baggy black denim jeans covered with chains and zippers. He shaves his head every few days apparently and has puppy dog eyes that you just know young girls fall for.\n" } graphic "acs_gfx", "haxor01" Before { object DoKill { if (Wereboar.in_scope = 1) "Pabski looks at me strangely. \"You ain't gonna off this little shit, are you? C'mon. man. I'll take the mofo in.\n" else "I may need him around to answer questions later. Killing him isn't the right thing to do at this point in any sense.\n" } } } ! All comic book store owners are chubby. It's the law. My hands were tied. character ComicOwner "comic shop owner" { charnumber 12 maxhitpoints 1 hitpoints 1 armorclass 2 attackadjust 5 damagepotential 2 in ComicShop inherits NPC nouns "owner" "guy" adjectives "comic" "shop" "shoppe" "man" "dude" "fat" article "the" is hidden long_desc { "He's kind of a big-boned sort in his early thirties. He's got at least three day's blue, stubbly growth of his beard and could do with a fierce shampooing.\n" } Before { object DoKill { if ComicOwner.hitpoints > 0 { "I can't just kill him when he's able to defend himself. I'd have to beat him down first.\n" } else { "This fat piece of crap just isn't worth the effort. I don't want to get grease all over my costume.\n" } } } } ! Here's that Magic: The Gathering riff again. character BackpackCrusader "kid" { charnumber 13 maxhitpoints 5 hitpoints 5 armorclass 2 attackadjust 5 damagepotential 2 in ComicShop inherits NPC nouns "kid" "crusader" "boy" adjectives "backpack" "crusader" "back" "pack" article "the" is hidden long_desc { "He's an incredibly skinny and ratty specimen. He's wearing thick glasses, a mustard or curry stained t-shirt and, of course, a backpack. He speaks in a nasal voice and seems like the type to get agitated over simple matters quite easily.\n" } Before { object DoHit { remove BackpackCrusader "I smack him around for a second.\n\n \"No!\" the kid cries!\n\n The kid runs away!\n" } object DoHit { remove BackpackCrusader "I make a lunge for his neck.\n\n \"No!\" the kid cries!\n\n The kid runs away!\n" } } } character Cabbie "cabbie" { charnumber 14 maxhitpoints 50 hitpoints 50 armorclass 10 attackadjust 5 damagepotential 5 in taxi inherits NPC nouns "cabbie" "man" "raghib" article "the" is hidden long_desc { "The cabbie is probably pushing around two-hundred sixty pounds -- all flab. He apparently hasn't shaved since Bush was president and had onions and/or green peppers recently.\n" } Before { object DoHit { "Mess with a cab driver in this city? I'll go up against the undead, the criminally insane and gamma-irradiated mutants but not anyone who's been able to do this is as long as Raghib. He's so tough his scars chew tobacco.\n" } object DoKill { "Not a chance.\n" } } } !If there was a sequel to ACS, the Wraith's story'd probably get told. As it stands here, well, it just demanded !that the player not worry about past details... I actually addressed this in the gamelog up on the Krips site, !but essentially, what I decided upon was to not place players in this kind of situation again, where the "WTF Factor" !is too high. character RedWraith "Red Wraith" { charnumber 15 maxhitpoints 100 hitpoints 100 armorclass 15 attackadjust 10 damagepotential 20 inherits NPC nouns "wraith" "man" "creature" "zombie" "redwraith" adjectives "red" article "the" long_desc { "The Red Wraith is a hideously disfigured creature of post-modern horror. His skin is a crimson and pink amalgam that hangs loosely in some places, cable-tight in others. His left forearm juts away from its shoulder, exposing the raw bone. He speaks with a smug, high rasp through sharp, jutting teeth. His most striking feature, however, is the vein-engorged, singular eye that drowns his sick face. With no lid to blink it haughtily stares upon the world, scheming, judging, full of spongey hate. He is maliciously evil and my nemesis.\n" } Before { object DoHit { if (HolyAvenger in Lair) { "He's got some kind of shell or mental block on me in place... I can't get to him to strike him.\n" } if (HolyAvenger in RedCloudBedroom) { "I swing at the Wraith and connect full-force. He leaves his feet and smacks himself into the wall. He gets up and snarls at me before composing himself...\n" } } object DoKill { "I'd have to soften him up first.\n" } } } character geek "technogeek" { charnumber 16 maxhitpoints 5 hitpoints 5 armorclass 2 attackadjust 5 damagepotential 2 inherits NPC nouns "geek" "kid" "technogeek" "kloorg" "technowad" "technowads" "technogeeks" adjectives "geek" "techno" "kloorg" article "the" in Bar2 long_desc { "This particular technogeek is one that embraced the the term used so long ago as a point of derision. He's wearing a black scrub t-shirt with the source code to breaking some holotech's territorial encryptment scheme with a packet of cigarettes in the front pocket. He occasionally runs his hands through his ridiculously overdyed black hair in a passably arrogant manner and is generally a complete git.\n" } Before { xobject DoShow { select (object) case stub: { "\"Ah, yes. Warezspeak. I know it well.\" He makes a big show out of gently laughing to himself -- as if the world is some big puzzle and he's the only one that has the decoder. As condescendingly as humanly possible, he goes over each word slowly. \"Meet at da city comic shop for lots of money. Signed, Hacker.\" He quickly pretends that one of the girls he was sitting near called him back over in order to leave the conversation on \"his terms.\"\n" } else "The technogeek has no comment.\n" } object DoHit { "Not right now, but yeah -- these guys are on my list.\n" } object DoKill { "Not right now, but yeah, maybe he gets a bruising when I have more time.\n" } } is hidden } character KlanMan "Klan Man" { charnumber 17 maxhitpoints 15 hitpoints 15 armorclass 2 attackadjust 1 damagepotential 12 inherits NPC nouns "klanman" "man" adjectives "the" "klan" is hidden long_desc { "Klan Man is a white-hooded soldier of racism. He usually carries flaming crosses that he nails his victims to, along with posterboard hung around his victim's necks that further another chapter in his in-progress hateful diatribe.\n" } graphic "acs_gfx", "klanman01" before { object DoHit { if (hostage.hitpoints > 0) { hostage.hitpoints = -101 remove KlanMan "Klan Man rips open the girl's throat with his knife as I attempt to run up and stop him. He throws the girl's body roughly up against mine and runs off deeper into the alley.\n" } } object DoKill { "I'd have to beat him down first.\n" } } } object cross "cross" { nouns "cross" adjectives "fiery" "flaming" "klan man's" "burning" is hidden long_desc { "The fiery cross exudes a cold flame, allowing Klan Man to tie his victims to it without burning himself or them. It is about twelve feet long, six feet across.\n" } before { object DoGet { "It's too large and unwieldy to carry anywhere.\n" } } } character Hostage "Anthraxia" { charnumber 18 maxhitpoints 2 hitpoints 2 armorclass 0 attackadjust 0 damagepotential 1 inherits NPC in ComicShop nouns "girl" "woman" "teen" "teenager" "hostage" "anthraxia" adjectives "korean" "little" is hidden, female long_desc { if (self.hitpoints = -101) { "She is dead... her eyes remain wide open in uncomprehending horror.\n" return(true) } if (self is not bleeding) and (KlanMan.in_scope = 1) { "She's a wisp of a girl, probably fifteen or sixteen. Korean-American, which is almost definitely what set Klan Man off. She's been beaten pretty severely by Klan Man and doesn't appear to have the energy to put up a struggle with him.\n" } if (self is not bleeding) and (KlanMan.in_scope = 0) { "She's a wisp of a girl, probably fifteen or sixteen. Korean-American, which is probably what enraged Klan Man earlier. She's been beaten pretty severely but seems to at least be in stable condition, for now.\n" } if (self is bleeding) and (self.conscious = 1) { "The girl is sprawled out on the ground, bleeding from her neck! It doesn't look like she'll last much longer, losing blood this quickly!\n" } if (self is bleeding) and (self.conscious = 0) { "The girl has lost several pints of blood... I can't get a pulse. I think she is dead.\n" } } before { object DoHit { "Punching the girl would solve nothing.\n" } object DoKiss { "Not the time or the place for that.\n" } object DoKill { "This girl is deserving of some mercy from someone... and I guess, since she's been figuratively crucified by the media, that someone is me. I refrain from killing her.\n" } } } attachable hostagearm "arm" { part_of hostage nouns "arm" "shoulder" adjective "girl's" "hostage's" "her" "anthraxia's" "her" article "the girl's" ! is hidden long_desc { if (hostage is bleeding) and (hostage.conscious = 1) { "Her arm is badly mangled -- blood pumps out from a deep cut. The girl is in desperate need of medical attention or at least something that will stabilize the bleeding.\n" } elseif (hostage is bleeding) and (hostage.conscious = 0) { "It was badly cut open by Klan Man.\n" } else { "It's got a tattoo that I can't make out, but other than that, nothing special.\n" } } } character Tubblo "Tubblo" { charnumber 19 maxhitpoints 2 hitpoints 2 armorclass 0 attackadjust 0 damagepotential 1 inherits NPC in RadHouse1 nouns "tubblo" "kid" adjectives "fat" is hidden, female long_desc { "Tubblo is about 5'7\" tall and must be pushing 325 pounds. He wears his hair in a greasy sprawl and a pair of glasses taped together above the nose. He is a bit of a mad sweater and unfortunately wears clothes at least a couple sizes too tight. With all that in mind, though, one thing he can do is apparently write code: I've never met him before but he's got a rep as one of the finest computer programmers of his generation.\n" } Before { object DoKill { "This refined piece of gooey sewage would probably give me cholesterol poisoning through osmosis if I laid my hands on him to snap his neck.\n" } } } ! Red Cloud wasn't really based on any one person from my life, really, but there are a few character traits ! in there from my past. character RedCloud "Red Cloud" { charnumber 20 maxhitpoints 1000 hitpoints 1000 armorclass 50 attackadjust 50 damagepotential 60 inherits NPC in Lair nouns "cloud" "jelena" "girlfriend" "lover" "girlfriend" "sweetpea" "girl" "woman" "redhead" adjectives "red" "redheaded" is hidden, female long_desc { "Obviously, the real Red Cloud died a couple days ago. This is probably just an abomination that the Red Wraith has created out of my memories. She is floating back and forth, almost two-dimensional in her imagery. Her legs have become all misty, and form a slow circle partially within her coffin.\n" if self is not special { self is special "Red Cloud sees me looking at her and finally turns her head down toward me.\n" COLOR LIGHT_RED "Hello, my love... I have missed you...\n" COLOR TEXTCOLOR "Her lips don't move, of course. I don't even know if she really said it... it just seemed like she would. Her eyes are completely black and opaque and I just can't see through them or read her... I just don't know if this is her or not...\n" } else { "She sees me looking at her and throws her head back before silently laughing.\n" } } Before { object DoHit { "Never, I don't care what form she's in or if she's real or not.\n" } object DoKiss { "I try to give her a kiss but can't get past the Wraith's shell...\n" } } } ! Heh. Mister Mucous, he's MY BOY. In the fine tradition of Hydro-Man, Sandman, and others, but 78% more ! disgusting! character MisterMucous "Mister Mucous" { charnumber 21 maxhitpoints 500 hitpoints 500 armorclass 15 attackadjust 10 damagepotential 11 inherits NPC ! in nouns "mucous" "villain" "mister" "mr" adjectives "mr" "mister" "mr." long_desc { "Mister Mucous is completely covered in snot due to a malfunction of part of his regulatory system. The goo completely covers his body and he seems to be able to generate hundreds of pounds of it at will -- theory is that he turns the water in the air into his slime. He breathes and speaks through a type of helmet that apparently dissolves enough of the snot to be visible. He is always carrying several dozen instances of the common cold or flu and generally infects anyone with those diseases by touching or striking them.\n" } graphic "acs_gfx", "mucous01" Before { object DoKill { if (MisterMucous.conscious = 1) {"I can't!\n"} else { GameEvents[35] = 1 MisterMucous.hitpoints = -101 "I twist his neck. It's easy when he's not covered with all that crud. He writhes once and dies.\n\n It should have felt better... it should have felt somewhat righteous in killing him... but it really doesn't...\n" } } object DoTalk { "He just says, \"You're going to die, Avenger!\" over and over again.\n" } } is hidden } character Dad "father" { charnumber 22 maxhitpoints 30 hitpoints 30 armorclass 30 attackadjust 4 damagepotential 4 inherits NPC in FatherRoom nouns "dad" "father" "man" "nelson" "pop" "poppa" "daddy" adjectives "old" article "my" is hidden long_desc { "This appears to be my father, right down to the most minute detail. He is sitting before my childhood kitchen table in a bathrobe, smoking a cheap menthol cigarette. His hair is starting to gray around the temples, with an ineffective comb-over attempting to hide the pattern baldness he's developing since thirty.\n" } Before { object DoHit { "He always said that when I could take him down I'd know enough not to... I guess he was right. I just can't.\n" } object DoTalk { "He seems to be able to talk to me, see me, understand me... but doesn't directly acknowledge my attempts to talk to him.\n" } } } character Thug "Sparky" { charnumber 23 maxhitpoints 1 hitpoints 1 armorclass 1 attackadjust 0 damagepotential 1 inherits NPC ! in nouns "thug" "sparky" "kid" "boy" "child" adjective "sparky" "redhead" is hidden long_desc { "Sparky is a malnutrioned redheaded kid who carries himself with an unsightly gait. He seems to have been beaten quite severely recently.\n" } Before { object DoHit { if RedWraith.in_scope = 1 { "I can't get past the Wraith's shell to hit the bastard.\n" } else { "Simply hitting him isn't going to accomplish anything...\n" } } } } character Zombie "a random corpse" { charnumber 24 maxhitpoints 5000 hitpoints 5000 armorclass 1 attackadjust 0 damagepotential 1 inherits NPC nouns "corpse" "zombie" "body" "enemy" "villain" "cadavar" "cadaver" adjective "animated" "random" is hidden long_desc { "There are many animated corpses scuttling around the Battlefield. Red Wraith gives them life, again, wholly under his control. They are mindless, yet possess great cunning and hatred due to channeling the Wraith's commands.\n" } Before { object DoKill { "I try to 'kill' one of them, but the Wraith just brings them right back up to animation!\n" } object DoTalk ! Whoops. Meant to take the word "cunt" out there. Venger wasn't supposed to swear in this game, as a matter ! of style. Dammit. { "The corpse I try talking to grunts in a raspy growl. It's either the language of an undead, rotting cunt or Esperanto and unfortunately, I'm fluent in neither.\n" } } } character Drifter "drifter" { charnumber 25 maxhitpoints 10 hitpoints 10 armorclass 1 attackadjust 0 damagepotential 1 in DrifterRoom inherits NPC nouns "drifter" "vagrant" "enemy" "villain" "man" adjectives "drifter" article "the" is hidden long_desc { "The drifter is a shaggy, skinny, and wildly unkempt young man. He sports a wispy moustache and mullet haircut. He has the shakes.\n" } Before { object DoHit { Deactivate(drifter_scene) Drifter is special solvedpuz++ !GameEvents[31] = GameEvents[31] + 1 Won_Drifter_Scene() } object DoKill { "The Wraith has not made this reincarnation of the drifter that easy to kill... I try, but nothing happens.\n" } } } character Anthraxia "Anthraxia" { charnumber 26 maxhitpoints 10 hitpoints 10 armorclass 1 attackadjust 0 damagepotential 1 in AnthraxiaRoom inherits NPC nouns "girl" "anthraxia" "hostage" "mary" adjectives "typhoid" is hidden, female long_desc { "She's a wisp of a girl, probably fifteen or sixteen. Korean-American and at this age you can tell she'll grow up to be a real heartbreaker.\n" } Before { object DoHit { "My attack passes through her, and she doesn't seem to notice.\n" } } } character DJ "DJ" { charnumber 27 maxhitpoints 10 hitpoints 10 armorclass 1 attackadjust 0 damagepotential 1 in Bar2 inherits NPC nouns "dj" "deejay" "spinner" "jockey" "discjockey" adjectives "disc" article "the" is hidden long_desc { "The DJ is a self-important hipster wearing a pair of opaque Oakleys and a feather boa. He grooves and jives with the tunes he plays.\n" } Before { object DoTalk { "The DJ points to his ear as if to say 'sorry, bud, can't hear you.'\n" } object DoHit { "The music's not \Bthat\b bad, is it?\n" } object DoKill { "The music's not \Bthat\b bad, is it?\n" } } } character Bartender "bartender" { charnumber 28 maxhitpoints 10 hitpoints 10 armorclass 1 attackadjust 0 damagepotential 1 in Bar2 inherits NPC nouns "barkeep" "bartender" "server" "waiter" "garcon" article "the" is hidden, female long_desc { "The bartender is a tall, sexy brunette wearing a pair of wire-rim black glasses and neon hypercolor t-shirt tied in a knot above her navel. She's a true professional when it comes to her work, and also owns the Tavern. We have an understanding that our presence is tolerated so long as we don't come by often enough to drive her out of business.\n" } Before { object DoKiss { "I don't know her well enough to do that. Or rather, I know her well enough to know that I'm not her type.\n" } object DoHit { "Hitting a girl at a bar? I'm the Holy Avenger, not Eric Lindros.\n" } object DoKill { if (self is not special) and (Johnny.in_scope = 1) { self is special "Johnny sees me begin to quiver with rage. \"You okay, amigo?\"\n\n \"Amigo? What the hell?\" I ask him.\n\n \"It's Spanish for friend. But there's also another shade of meaning to it.\"\n\n \"Yeah? What's that?\"\n\n \"He who is about to get beat down like a rented mula if he doesn't stop carrying himself like some kind of murderous filth.\n\n \"Oh. Ah. Right.\n" } else "I've got bigger fish to fry tonight than some bartender.\n" } object DoGet { "The bartender might be up for me taking her home for the night but I think I'll at least wait until my girlfriend's corpse is tepid.\n" } object DoTalk { "She's too busy for me to talk to her. Plus, she doesn't want any part of me being in her bar.\n" } } } resource "acs_mus" { ! Music "c:\games\text\scourge\mid\shell.mid" "c:\games\text\scourge\mid\carnivalbaby.mid" "c:\games\text\scourge\mid\ghostofachance.mid" "c:\games\text\scourge\mid\hill.mid" "c:\games\text\scourge\mp3\candystripe.mp3" "c:\games\text\scourge\mp3\imgone.mp3" "c:\games\text\scourge\mp3\agroculture.mp3" "c:\games\text\scourge\mp3\sd.mp3" "c:\games\text\scourge\mp3\deepestknife.mp3" "c:\games\text\scourge\mp3\notjustone.mp3" } resource "acs_gfx" { ! Animations ! "c:\games\text\scourge\jpg\dedication.avi" ! Graphics "c:\games\text\scourge\jpg\aa01.jpg" "c:\games\text\scourge\jpg\ameba02.jpg" "c:\games\text\scourge\jpg\gk01.jpg" "c:\games\text\scourge\jpg\johnny02.jpg" "c:\games\text\scourge\jpg\ha02.jpg" "c:\games\text\scourge\jpg\haxor01.jpg" "c:\games\text\scourge\jpg\ironlung01.jpg" "c:\games\text\scourge\jpg\mucous01.jpg" "c:\games\text\scourge\jpg\pounder02.jpg" "c:\games\text\scourge\jpg\snowman01.jpg" "c:\games\text\scourge\jpg\succubus01.jpg" "c:\games\text\scourge\jpg\wereboar01.jpg" "c:\games\text\scourge\jpg\acscover03.jpg" "c:\games\text\scourge\jpg\scene0101.jpg" "c:\games\text\scourge\jpg\bluetavern01.jpg" "c:\games\text\scourge\jpg\liquorhole01.jpg" "c:\games\text\scourge\jpg\comic01.jpg" "c:\games\text\scourge\jpg\klanman01.jpg" "c:\games\text\scourge\jpg\radhouse.jpg" "c:\games\text\scourge\jpg\alley02.jpg" "c:\games\text\scourge\jpg\alley.jpg" "c:\games\text\scourge\jpg\rwrc.jpg" "c:\games\text\scourge\jpg\enter02.jpg" "c:\games\text\scourge\jpg\cemetery01.jpg" "c:\games\text\scourge\jpg\gravewest.jpg" "c:\games\text\scourge\jpg\graveeast.jpg" "c:\games\text\scourge\jpg\scene0201.jpg" } !\ resource "acs_snd" { "c:\games\text\scourge\sound\intro.wav" } \! array Characters[30] = HolyAvenger, Johnny, Wereboar, Succubus, Ameba, Snowman, Pounder, GreenKnight, AIDSArcher, IronLung, Bouncer, RadHax0r ! This is just a routine I use for a sanity test !routine test !{ ! !local x = 0 ! ! for (x = 0; x < 10; x++ ) ! { ! print "The "; Characters[x].name; " is his name."; ! } !} routine DoFightLoop { ! 0 Holy Avenger ! 1 Johnny Hollywood ! 2 Wereboar ! 3 Succubus ! 4 Ameba ! 5 Snowman ! 6 Pounder ! 7 Green Knight ! 8 AIDS Archer ! 9 Iron Lung !10 Bouncer local x, y, numenemies if (Johnny.in_scope = 1) and (Johnny.conscious = 1) { JohnnyFight() } ! Init the FightLoop and AttackLoop arrays to zero for everyone each turn for (x = 0; x <= 30; x++) { FightLoop[x] = 0 AttackLoop[x] = 0 } ! See if the characters are in scope for (x = 1; x < 10; x++ ) { if (Characters[x].in_scope = 1) { FightLoop[x] = 1 if (Characters[x].conscious = 1) { FightLoop[x] = 2 if (Characters[x].peaceful = false) { FightLoop[x] = 3 AttackLoop[x] = (random(20)+Characters[x].attackadjust) } } } } ! Make all the bad guys unpeaceful Snowman.peaceful = false Pounder.peaceful = false GreenKnight.peaceful = false AIDSArcher.peaceful = false IronLung.peaceful = false ! Run DamageLoop DamageLoop() ! Count up the number of enemies left numenemies = 0 for (y = 5; y <= 9; y++) { if (Characters[y].conscious = 1) numenemies++ } if numenemies = 0 ! But... so long as it's not zero... { fight_active = 0 } ! Print the Status line PrintStatusline() ! Get the status line updated ! Check to see if the Holy Avenger is knocked out if (HolyAvenger.hitpoints <= 0) ! If hitpoints less than or equal to zero, game over man { endflag = 2 } } routine DamageLoop { local x, damage, randnum ! Refresh these variables to zero for (x = 0; x <= 30; x++) { MessageLoop[x] = 0 EnemyLoop[x] = 0 } for (x = 5; x < 10; x++) { if (FightLoop[x] = 3) { EnemyLoop[x] = random(allies) if (EnemyLoop[x] = 2) and ((Johnny.conscious = 0) or (Johnny.in_scope = 0)) { EnemyLoop[x] = 1 } select(EnemyLoop[x]) case 1 { !attacking Holy Avenger if (AttackLoop[x] >= HolyAvenger.armorclass) { !damages Holy Avenger damage = (random(Characters[x].damagepotential)) HolyAvenger.hitpoints = ((HolyAvenger.hitpoints) - damage) MessageLoop[x] = 1 randnum = random(1) select(randnum) case 1 { ! print ""Characters[x].name; " attacks and hits me!" FightResponse(Characters[x].charnumber, 0, 1) } } if (AttackLoop[x] < HolyAvenger.armorclass) { !misses Holy Avenger MessageLoop[x] = 0 randnum = random(1) select(randnum) case 1 { ! print ""Characters[x].name; " attacks, but misses me!" FightResponse(Characters[x].charnumber, 0, 0) } } } case 2 { !attacking Johnny Hollywood if (AttackLoop[x] >= Johnny.armorclass) { !damages Johnny damage = (random(Characters[x].damagepotential)) Johnny.hitpoints = ((Johnny.hitpoints) - damage) MessageLoop[x] = 1 !print ""Characters[x].name; " attacks and hits Johnny Hollywood" FightResponse(Characters[x].charnumber, 1, 1) } if (AttackLoop[x] < Johnny.armorclass) { !misses Johnny MessageLoop[x] = 0 !print ""Characters[x].name; " attacks and misses Johnny Hollywood!" FightResponse(Characters[x].charnumber, 1, 0) } } } } return } routine FightResponse(attacker, target, success) { local randnum select(attacker) case 5 !Snowman { select(target) case 0: !Avenger { select(success) case 0 !Misses the Avenger { randnum = random(10) while randnum = lastr { randnum = random(10) } lastr=randnum select(randnum) case 1 {"Snowman fires an ice attack at me, but I manage to slide out of the way.\n"} case 2 {"Snowman throws a wild haymaker and misses me by about twenty feet.\n"} case 3 {"I hear Snowman's battlesuit charging up. He fires a snow blast at me, but misses.\n"} case 4 {"Snowman tries to shoot me but can't get his battlesuit working correctly.\n"} case 5 {"\"Eat this, Venger!\" screams Snowman. His snow blast narrowly misses me.\n"} case 6 {"I anticipate Snowman's attack and duck out of his blast.\n"} case 7 {"Snowman lets rip a wave of snow. It washes over my armor harmlessly.\n"} case 8 {"Snowman tries to hit me with his fist, but it doesn't sink through my armor.\n"} case 9 {"\"How's this taste, bitch?\" Snowman tries to fire off a salvo, but hits the ceiling instead.\n"} case 10 {"Snowman fires a shot towards me but it only gets my armor.\n"} } case 1 !Hits the Avenger { randnum = random(10) while randnum = lastr { randnum = random(10) } lastr=randnum select(randnum) case 1 {"I feel a blast of knifing cold strike me in the back!\n"} case 2 {"\"Swallow this down, bitch!\" screams Snowman. He nails me with a blast from his blasted battlesuit!\n"} case 3 {"Snowman gets both of his blasters to fire and hits me with a ray of severe cold. \"Die, bitch!\" he screams.\n"} case 4 {"\"Fucking die already!\" screams Snowman. He hits me with a wild punch to the face.\n"} case 5 {"Snowman hits me with a fierce blast of cold. That one I felt through my armor.\n"} case 6 {"Snowman claws at me and hits me!\n"} case 7 {"\"You've met your match, Venger!\" yells Snowman. He shoots me with his snow blaster!\n"} case 8 {"I'm hit by Snowman's frost blasters! He actually seems to giggle in triumph...\n"} case 9 {"Snowman feints left and I fall for it. He nails me with a blast from the right.\n"} case 10 {"Something cold hits me in the back of the head and I'm momentarily stunned by it.\n"} } } case 1: { select(success) case 0 !Misses Johnny { randnum = random(3) while randnum = lastr { randnum = random(3) } lastr=randnum select(randnum) case 1 {"Snowman shoots a blast of cold at Johnny and misses him!\n"} case 2 {"Snowman tries to shoot Johnny but misses him.\n"} case 3 {"Snowman fires his battlesuit at Johnny, but misses.\n"} } case 1 !Hits Johnny { randnum = random(3) while randnum = lastr { randnum = random(3) } lastr=randnum select(randnum) case 1 {"Snowman shoots a blast of cold at Johnny and hits him!\n"} case 2 {"Snowman hits Johnny with a frost blast from his battlesuit.\n"} case 3 {"Snowman fires at Johnny and hits him!\n"} } } } case 6 !Pounder { select(target) case 0: !Avenger { select(success) case 0 !Misses the Avenger { randnum = random(10) while randnum = lastr { randnum = random(10) } lastr=randnum select(randnum) case 1 {"Pounder screams and gives me enough warning to step out of the way of his mad charge.\n"} case 2 {"\"Eat this, bitch!\" shrieks Pounder. I stop his swing and kick him in the kneecaps.\n"} case 3 {"Pounder comes at my head. I duck out of the way and bring my fists down on his right patella. He howls in pain.\n"} case 4 {"\"You want a piece of this?\" asks Pounder. While he's babbling on with the threats I swing my legs under him and trip him onto his back.\n"} case 5 {"Pounder screams with rage!\n"} case 6 {"Pounder dives at me and hits his head against my armor. \"Bitch! Ruin you!\" he says.\n"} case 7 {"I sense Pounder coming up on me and elbow him in the face before he can attack me.\n"} case 8 {"Pounder screams 'booyah' or some idiocy like that. After getting his position I move out of the way of one of his wild swings.\n"} case 9 {"\"Gonna make you squeal, bitch!\" Pissed, I slam Pounder's hands down and toss him towards the bar. He can go make the bartender or whoever squeal if he wants.\n"} case 10 {"Pounder slams his fists into me, but my armor absorbs the blow.\n"} } case 1 !Hits the Avenger { randnum = random(10) while randnum = lastr { randnum = random(10) } lastr=randnum select(randnum) case 1 {"Pounder comes up from behind me and slams his misshappen fists into my back.\n"} case 2 {"\"How ya like me now?!?\" screams Pounder. He connects with a blow I just miss dodging.\n"} case 3 {"Pounder leaps over a table and slams me to the ground. I throw him off and get back up.\n"} case 4 {"Pounder smashes his fist into my head. He laughs with mirth.\n"} case 5 {"I see Pounder coming from my peripheral vision but can't move fast enough -- he drives his fist into my kidneys.\n"} case 6 {"I hear Pounder laughing deeply. He smashes a chair and drives a wedge of the broken wood between the sides of my armor!\n"} case 7 {"Pounder tosses a helpless raver into me. The raver catches me with a weak elbow and drives me to the floor.\n"} case 8 {"Pounder crushes my head with his fists. I'm momentarily stunned...\n"} case 9 {"Pounder tries to punch me in the gob. He misses but crushes my inner thigh, bruising it deeply.\n"} case 10 {"Something absolutely crushes me in the back. I turn to see Pounder there -- luckily he didn't break one of my vertebrae.\n"} } } case 1: { select(success) case 0 !Misses Johnny { randnum = random(4) while randnum = lastr { randnum = random(4) } lastr=randnum select(randnum) case 1 {"Pounder misses Johnny!\n"} case 2 {"Pounder swings at Johnny, but completely misses him.\n"} case 3 {"Pounder punches Johnny, but it didn't seem as if he did any damage.\n"} case 4 {"Pounder slams his fists into Johnny, but it doesn't make him even flinch.\n"} } case 1 !Hits Johnny { randnum = random(4) while randnum = lastr { randnum = random(4) } lastr=randnum select(randnum) case 1 {"Pounder hits Johnny!\n"} case 2 {"Pounder punches Johnny, and it looks like he hurt him.\n"} case 3 {"Pounder crushes his fists into Johnny's sternum.\n"} case 4 {"Pounder attacks Johnny, and hits him.\n"} } } } case 7 !Green Knight { select(target) case 0: !Avenger { select(success) case 0 !Misses the Avenger { randnum = random(10) while randnum = lastr { randnum = random(10) } lastr=randnum select(randnum) case 1 {"The Green Knight slashes at me with his blade, but misses wide right.\n"} case 2 {"\"Have at thee!\" yells the Green Knight. He thrusts his blade forward, but I dodge it.\n"} case 3 {"The Green Knight withdraws and checks out the damage on his armor.\n"} case 4 {"\"Does it appear I wear a cunt's face?\" asks the Knight. He chops at me with his sword but it doesn't get through my armor.\n"} case 5 {"The Green Knight salutes me before attacking. I use the time to get out of his way.\n"} case 6 {"The Green Knight makes a wild stab with his blade, but misses me!\n"} case 7 {"The Green Knight bellows with a mighty rage. Everyone still standing kind of look at him for a second wondering what the hell his problem is.\n"} case 8 {"I feel the Knight's sword just narrowly missing me -- luck, not skill on my part.\n"} case 9 {"The Knight misses me on a called shot.\n"} case 10 {"The Green Knight swings low but I jump over his strike and come down with my fists on his armor.\n"} } case 1 !Hits the Avenger { randnum = random(10) while randnum = lastr { randnum = random(10) } lastr=randnum select(randnum) case 1 {"The Green Knight strikes me and I feel pain through my armor.\n"} case 2 {"I feel a jutting pain in my side! The Green Knight has stabbed me!\n"} case 3 {"The Green Knight brings the hilt of his sword down on my head -- the pain is excruciating!\n"} case 4 {"The Green Knight swipes at me with his blade -- that one I felt through my armor.\n"} case 5 {"The Knight brings his sword down on my thigh, nearly cutting it completely open.\n"} case 6 {"The Green Knight connects with a punch from his gauntlets into my face.\n"} case 7 {"The Green Knight slashes me with his sword and hits me!\n"} case 8 {"\"No rest for the wicked!\" exclaims the Green Knight. He slashes at me with a deep cut that I feel through my armor.\n"} case 9 {"I get hit by the Green Knight -- that last strike of his really, really hurt.\n"} case 10 {"The Green Knight brings the flat of his sword upside my face. I would have been permanently scarred if he hit me with the edge!\n"} } } case 1: { select(success) case 0 !Misses Johnny { randnum = random(8) while randnum = lastr { randnum = random(8) } lastr=randnum select(randnum) case 1 {"Green Knight chops at Johnny but can't break his skin.\n"} case 2 {"The Green Knight stabs Johnny, but can't break his skin.\n"} case 3 {"The Green Knight avoids taking a slash at Johnny.\n"} case 4 {"The Green Knight's blade hits Johnny, but does not cut him.\n"} case 5 {"\"Damn you,\" screams the Knight to Johnny. \"Fall, blast it!\"\n"} case 6 {"The Green Knight brings his sword down on Johnny, right across his neck. The sword can't break Johnny's skin and the reaction causes the Knight to nearly drop his sword.\n"} case 7 {"The Green Knight makes a thrusting stab at Johnny's abdomen. Johnny shrugs it off.\n"} } case 1 !Hits Johnny { randnum = random(4) while randnum = lastr { randnum = random(4) } lastr=randnum select(randnum) case 1 {"The Green Knight slams the flat of his sword against Johnny, crushing him.\n"} case 2 {"The Green Knight punches Johnny with a gauntlet-protected fist, smashing his bones about.\n"} case 3 {"The Green Knight kicks Johnny in the gob.\n"} case 4 {"The Green Knight trips up Johnny with the flat of his sword, causing Johnny to tumble onto the ground.\n"} } } } case 8 !AIDS Archer { select(target) case 0: !Avenger { select(success) case 0 !Misses the Avenger { randnum = random(10) while randnum = lastr { randnum = random(10) } lastr=randnum select(randnum) case 1 {"The AIDS Archer fires a shot at me, but misses me.\n"} case 2 {"The AIDS Archer fires an arrow at me, but sails it over my head.\n"} case 3 {"The AIDS Archer fires a shot that clanks off my armor and falls to the ground.\n"} case 4 {"An arrow sails through the bar, hitting nothing.\n"} case 5 {"The AIDS Archer drops his arrow onto the ground and then notches it again.\n"} case 6 {"The AIDS Archer swings at me with his fists as he attempts to get to better territory.\n"} case 7 {"The AIDS Archer notches an arrow and shoots -- he hits nothing with it.\n"} case 8 {"The AIDS Archer fires a shot and misses everyone and swears loudly afterwards.\n"} case 9 {"The AIDS Archer takes a potshot at one of the goth girls, but misses her.\n"} case 10 {"The AIDS Archer fires a shot at me, but it breaks after hitting my armor.\n"} } case 1 !Hits the Avenger { randnum = random(5) while randnum = lastr { randnum = random(5) } lastr=randnum select(randnum) case 1 {"The AIDS Archer hits me with a fired shot!\n"} case 2 {"The AIDS Archer fires at me and hits!\n"} case 3 {"I feel an arrow impact my thigh -- it stings for a second but I pull it out OK.\n"} case 4 {"The AIDS Archer runs by and scratches at me, drawing blood!\n"} case 5 {"The AIDS Archer notches an arrow, shoots it, and hits me!\n"} } } case 1: { select(success) case 0 !Misses Johnny { randnum = random(5) while randnum = lastr { randnum = random(5) } lastr=randnum select(randnum) case 1 {"The AIDS Archer shoots at Johnny, but misses him.\n"} case 2 {"The AIDS Archer hits Johnny with an arrow, but it can't break his skin and hurt him.\n"} case 3 {"The AIDS Archer fires two shots at once towards Johnny and myself. He misses us both.\n"} case 4 {"The AIDS Archer pours some kind of liquid onto one of his arrows.\n"} case 5 {"The AIDS Archer fires an arrow at Johnny, which hits him. It can't break his skin, though.\n"} } case 1 !Hits Johnny { randnum = random(2) while randnum = lastr { randnum = random(2) } lastr=randnum select(randnum) case 1 {"The AIDS Archer runs up to Johnny and punches him in the testicles. He runs away before Johnny can retaliate.\n"} case 2 {"The AIDS Archer punches Johnny!\n"} } } } case 9 !The Iron Lung { select(target) case 0: !Avenger { select(success) case 0 !Misses the Avenger { randnum = random(3) while randnum = lastr { randnum = random(3) } lastr=randnum select(randnum) case 1 {"The Iron Lung breathes deeply at me, but I evade his blast!\n"} case 2 {"The Iron Lung takes a moment to ingest more filings.\n"} case 3 {"The Iron Lung lets loose with a blast of shrapnel, but it washes harmlessly over my armor.\n"} } case 1 !Hits the Avenger { randnum = random(5) while randnum = lastr { randnum = random(5) } lastr=randnum select(randnum) case 1 {"The Iron Lung hits me with a blast of his shrapnel. I fall to the ground, momentarily stunned.\n"} case 2 {"The Iron Lung laughs and blows a wad of iron filings at me. I drop to the ground and tend my new wound.\n"} case 3 {"The Iron Lung breathes deep and unleashes a salvo of shrapnel at me. He hits!\n"} case 4 {"The Iron Lung checks his connection to the wall. Satisfied, he blows a chunk of piercing shrapnel at me! It absolutely hurts to hell!\n"} case 5 {"The Iron Lung shoves one of the ravers out of his way and blasts me!\n"} } } case 1: { select(success) case 0 !Misses Johnny { randnum = random(2) while randnum = lastr { randnum = random(2) } lastr=randnum select(randnum) case 1 {"The Iron Lung shoots a blast of shrapnel at Johnny but misses him!\n"} case 2 {"The Iron Lung fires off a salvo at Johnny, but misses him.\n"} } case 1 !Hits Johnny { randnum = random(2) while randnum = lastr { randnum = random(2) } lastr=randnum select(randnum) case 1 {"The Iron Lung shoots a blast of shrapnel at Johnny and hits him!\n"} case 2 {"The Iron Lung fires off a salvo at Johnny and hits him.\n"} } } } } routine DoAnswer { "I can't do that." } routine DoDial { "I can't dial that." } routine DoHangup { if phone_obj in location : Perform(&DoHangup, phone_obj) elseif not object : "There's nothing here to hang up." else : "I can't hang that up." } !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !Daemons !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! daemon funeral_routine ! routine to set random messages at beginning of game { timer 0 } event in funeral_routine { self.timer++ select(self.timer) case 2 if (GameEvents[5] = 0) and (HolyAvenger in Funeral1) { "Ameba comes up to me and offers his condolences. He migrates back away from the coffin.\n" } case 3 if (HolyAvenger in Funeral1) {"The rain has started to come down a little harder.\n"} case 4 Deactivate(self) } !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! daemon bar2_routine ! routine to turn up music in club after 4 moves { timer 0 } event in bar2_routine { self.timer++ select(self.timer) case 4 if HolyAvenger in Bar2 {"The DJ turns the music up a little louder.\n" electricity is hidden } case 6 if HolyAvenger in Bar2 {"Some kid just lost his last life on the arcade game. \"Fucking Bentley!\" he screams.\n"} case 7 {Deactivate(self)} } !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! daemon comicshop_routine ! routine to play the comic book scene with the backpack crusader { timer 0 } event in comicshop_routine { self.timer++ select(self.timer) case 1 if BackpackCrusader.in_scope = 1 {"Some kid wearing a backpack is muttering back and forth to himself.\n"} case 2 { SetQuip(12,2,1) SetQuip(12,3,1) if BackpackCrusader.in_scope = 1 { "The kid gets a little louder. \"Icefrost expansion.... yeah... where -- where is the Icefrost expansion packs?\"\n"} } case 5 { if (cards in DisplayCase) and (BackpackCrusader.in_scope = 1) {"The backpack-toting kid eyes the display case at the front of the store. \"Icefrosts! Yes! Yeeeeaa! Hyah!\"\n"} if (cards not in DisplayCase) and (BackpackCrusader.in_scope = 1) {"The backpack-toting kid cries for some Icefrost expansion cards!\n"} } case 6 { if (cards in DisplayCase) { move cards to BackpackCrusader if (BackpackCrusader.in_scope = 1) and (ComicOwner.conscious = 1) { remove BackpackCrusader "The kid speaks to the comic shop owner and buys all the Icefrost expansion packs he has. He gives me the shift-eye and leaves the store.\n" } if (BackpackCrusader.in_scope =1) and (ComicOwner.conscious = 0) { remove BackpackCrusader remove DisplayCase "The kid sees that the comic shop owner is knocked out and steals the display case with the Icefrost expansion packs. He then runs like hell out the door.\n" } } } case 7 {Deactivate(self)} } !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! routine BarfightFinished ! this routine checks to see if the barfight is finished { local x, y = 0 if GameEvents[12] = 1 { return } for (x = 5; x <= 9; x++ ) { if (Characters[x].conscious = 1) { y++ } } if (y = 0) { ! "Barfight finished!\n" GameEvents[12] = 1 if (Johnny.conscious = 1) { "Johnny wipes the sweat away from his brow after the last guy falls. \"Whew. Hey, we should probably think about getting out of here in a couple minutes. No doubt the cops are going to be looking for an excuse to pull some of us into jail.\"\n\n \"You bet,\" I say. I nod over towards the bartender. \"Call us a cab, man?\" The bartender nods in agreement and picks up the telephone.\n" } if (Johnny.conscious = 0) { "I wake Johnny up... he's not doing so well. \"Hey, hold on, dude. I'm going to get us a taxi.\" I look over towards the bartender, but he's already calling for one and gives me a thumbs-up.\"\n" } Johnny.hitpoints = Johnny.maxhitpoints move taxi to Bar1 return } } !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! daemon bring_taxi { timer 0 } event in bring_taxi { GameEvents[17] = 1 self.timer++ select(self.timer) case 2: { move taxi to OutsideComicShop if (HolyAvenger in OutsideComicShop) "Raghib and his taxi pull up alongside the curb.\n" } case 3: Deactivate(self) } daemon klanman_routine { timer 0 } event in klanman_routine { self.timer++ select(self.timer) case 1: { move hostage to OutsideComicShop "A teenage girl eyes the backpacked kid suspiciously and then deftly slips by me, leaving the store.\n" } case 2: { if (HolyAvenger not in ComicAlley) { if (HolyAvenger in OutsideComicShop) { "The girl goes south down a hazy alley.\n" } move hostage to ComicAlley move KlanMan to ComicAlley move cross to ComicAlley } else { self.timer-- } } case 3: Deactivate(self) } routine describe_klan_scene { if (KlanMan.in_scope = 1) and (Hostage.in_scope = 1) and (KlanMan is not special) { KlanMan is special GameEvents[26] = 1 music "acs_mus", "agroculture", 40 "Klan Man is here, setting up one of his fiery crosses. He just gets it to light as I enter the alley.\n\n \"You!\" he exclaims in his thick New England accent. \"Back away, Holy Avenger! I have no quarrel with you tonight and this \Iwill\i go down tonight with or without your interference! Tonight we are on the same side of the law!\"\n" "Klan Man picks up the obviously beaten girl I saw earlier in the Comic Shop. Her eyes trail wildly about for a moment before focusing on me. And at that moment I see her light up, slightly. I see some \Ihope\i.\n" } if (KlanMan.in_scope = 1) and (Hostage.in_scope = 1) and (KlanMan is special) { "Klan Man is here, with a butcher's knife held close to the throat of an abused korean girl. He menacingly feigns cutting her throat in an attempt to get me to back off.\n" } if (KlanMan.in_scope = 0) and (Hostage.in_scope = 1) { "The Klan Man's hostage, a teenage girl, is here.\n" } if (KlanMan.in_scope = 0) and (Hostage.in_scope = 0) { "" } } daemon hostage_bleeding { timer 0 } event in hostage_bleeding { self.timer++ select(self.timer) case 2: if (hostage is bleeding) { hostage.hitpoints-- if (hostage.in_scope = 1) { "The girl feebly attempts to clutch her arm and stop the bleeding... she's not too successful; her blood is coming out quite quickly.\n" } } case 4: if (hostage is bleeding) { hostage.hitpoints-- if (hostage.in_scope = 1) { "The girl collapses due to the massive amount of blood loss.\n" } } case 5: if (hostage is bleeding) { hostage.hitpoints = -101 hostage is not bleeding if (hostage.in_scope = 1) { "The girl convulses once, in a sort of weak spasm. I check her pulse... nothing. She is dead.\n" } } } !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! daemon jenn_calls_routine ! routine to have Jenn call Venger { timer 0 } event in jenn_calls_routine { self.timer++ select(self.timer) case 5 { if (HolyAvenger in Home1) and (GameEvents[15] = 0) { "The phone is ringing.\n" someone_on_line = true } elseif (GameEvents[15] = 0) { "I can hear my phone ringing -- it's coming from the phone in the Living Room.\n" someone_on_line = true } } case 6 { if (HolyAvenger in Home1) and GameEvents[15] = 0 { "The phone is ringing.\n" someone_on_line = true } elseif (GameEvents[15] = 0) { "I can hear my phone ringing -- it's coming from the phone in the Living Room.\n" someone_on_line = true } } case 7: { if (HolyAvenger in Home1) and GameEvents[15] = 0 { "The phone is ringing.\n" someone_on_line = true } elseif (GameEvents[15] = 0) { "I can hear my phone ringing -- it's coming from the phone in the Living Room.\n" someone_on_line = true } } case 8: if (GameEvents[15] = 0) { GameEvents[15] = 1 "The answering machine picks up the call.\n\n \"Marc, it's Jenn. I'm coming over. If you're not there when I get there, well, you'd better be soon.\n\n I hear a scraping sound coming from Red Cloud's bedroom.\n" Deactivate(self) someone_on_line = false } case 9: Deactivate(self) } class phone "telephone_class" { is open, platform nouns "telephone", "phone" article "a" long_desc { "It's just an ordinary telephone. "; if self is off_hook "The receiver is off the hook." else : "" } before { object DoAnswer { if self is off_hook "The phone is already off the hook." elseif not someone_on_line { self is off_hook move receiver to player receiver is not hidden "I pick up the phone, but there's no one on the line." } else { self is off_hook move receiver to player receiver is not hidden AnswerThePhone() } } object DoGet { if self is off_hook "The phone is already off the hook." elseif not someone_on_line { self is off_hook move receiver to player receiver is not hidden "Done." } else Perform(&DoAnswer, self) } object DoListen { if self is not off_hook and someone_on_line "The phone is ringing." elseif self is not off_hook "The phone is silent." elseif someone_on_line "The other party is speaking to me." else "I hear a dial tone." } object DoHangup { if self is not off_hook "The phone is already hung up." else { self is not off_hook move receiver to hook receiver is hidden someone_on_line = false "Done." } } object DoDial { if self is not off_hook "I'd better pick up the phone first." elseif someone_on_line "That would be some what rude. Or something." else { if phone_number = jenn_number ! AN EXAMPLE "I dial 224-6222." else "I dial randomly until some chick from the phone company tells me to quit it or they will send a sentry over." } } xobject DoPutIn { if object = receiver Perform(&DoPutIn, receiver, hook) else : return false } xobject DoGet { if object = receiver Perform(&DoGet, receiver, hook) else : return false } } } attachable receiver "telephone receiver" { is hidden in_scope { if phone_obj in location : return player else : return 0 } nouns "receiver", "handset" article "a" attached_to { return phone_obj } attached_desc "attached to" long_desc { if phone_obj is not off_hook: "The receiver is on the hook." else : "The receiver is off the hook." } before { object DoGet { Perform(&DoGet, phone_obj) } object DoDrop, DoHangup { Perform(&DoHangup, phone_obj) } object DoListen { Perform(&DoListen, phone_obj) } } } scenery hook "phone hook" { is open, platform nouns "hook", "cradle" article "the" long_desc { if phone_obj is not off_hook: "There's a receiver on the hook." else : "The hook is empty." } before { xobject DoPutIn { if object = receiver Perform(&DoDrop, receiver) else : "I can't put that on the hook." } xobject DoGet { if object = receiver Perform(&DoGet, receiver) else : "That's not on the hook." } object DoPush { if phone_obj is off_hook { if someone_on_line { someone_on_line = false "I press the cradle, breaking the connection." } else : "I press the cradle." } else : "The receiver is in the way." } } } phone marcphone "telephone" { in Home1 adjectives "black" short_desc { "My telephone is here on a stand." } is hidden } object jenn_number "Jenn's number" { is known in_scope { return player } nouns "224-6222", "2246222", "number" adjectives "jenn's" before { object DoDial { phone_number = self Perform(&DoDial, phone_obj) } object DoLook { "Jenn's number is 224-6222." } object { "I can't do that with Jenn's phone number." } } } routine AnswerThePhone { GameEvents[15] = 1 someone_on_line = false curtains is not open "It's the Succubus on the other end of the line.\n\n \"Marc,\" she says.\n\n \"Jenn,\" I reply. \"What's going on?\"\n\n \"Look... I think it may be good for you if I come over tonight.\"\n\n \"I don't know if that's such a solid idea. I kind of got in a fight tonight. I feel awful.\"\n\n \"I heard. It was on the news. You took out everybody at that bar.\"\n" "\"Johnny did most of the work. I just kind of hung back and stared intently at my possessions.\"\n\n \"What?\"\n\n \"I don't know.\"\n\n \"I'll be right over. And for the love of God, \Idon't kill yourself!\i\"\n\n \"I'm not -- \" Jenn hangs up and the line goes dead. I spend the next sixty seconds briefly wondering why my team-mate thinks I have been overcome with a suicide pose when I hear a definite scraping noise come from Red Cloud's bedroom.\n" } !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! daemon red_wraith_speech ! { timer 0 } event in red_wraith_speech { self.timer++ select(self.timer) case 2: { remove RedWraith move Succubus to RedCloudBedroom GameEvents[23] = 1 SetQuip(3,0,0) SetQuip(3,1,0) SetQuip(3,2,0) SetQuip(3,10,1) SetQuip(3,18,1) SetQuip(3,25,1) music "acs_mus", "sd", 80 COLOR LIGHT_CYAN "\IOh, Marc... will I always be the object of your disaffected stare? We so share a bond, you and I... In times of great personal tragedy, have I not always been there for you? Am I not the one?\n\n \IDo you remember the first time we met?\i\n" COLOR TEXTCOLOR "The Red Wraith quickly snatches my arm with his. A grin slowly creases his faux jaw. The transformation is instantaneous. As if I had been here all along.\n" pause "I was eight years old and at a ratty, filthy circus in a suburb an hour or so east of home. The locale reeked of barely-cooked, almost raw hamburger meat and spilled beer. The tents were set up over an earthy, water-starved mix of dead grass and dirt. My friend Joe and I had snuck onto a bus earlier that morning in order to attend, gleefully excited over the realization of our plan that would out-smart our parents. We rode the roller-coaster three or four times before Joe started to vomit. I patted him on the back and scurried up the line in order to ride it once more.\n" "I was seated next to a rail-thin bit of trash, that sneeringly waved back his mullet as the ride began. He smelled like old menthol cigarettes tinged with sweat. He stared at me with hate.\n\n He sneezed. We were locked into our seats. The girl ensured that the safety restraints were secure. The ride began.\n\n As we crawled up the incline I saw him squirm. I thought nothing of it. We reached the apex and began our quick descent. \n\n It was at that point that he stabbed me in the chest with a rusted knife. He then rammed it into my stomach. My thigh. My cries of pain were lost in the adrenaline rush. My windbreaker kept my blood from splattering. He laughed. He threw his arms up when we entered the tunnel and screamed. This was the greatest thing he had ever done. This was what he fantasized about when sleep crept upon his body. I can never forget the mix of ever-shifting gravity and orientation coupled with piercing pain and shock.\n" "The ride came to a close with a sudden jolt. I blacked out somewhere. My coaster partner patted me on the head, tousling my hair with his oil-blackened nails. He removed the safety bar and slowly trotted away with an arrogant gait -- one hand cupping his groin, the other giving high-fives all around. \n\n The girl in charge of the ride came to me after everyone else had exited the coaster. She turned my slumped head towards her and gave me her best grin. The grin worked its way up her face. Her eyes merged into a single, bloodshot ball. Her hair became wildly strewn about her skull. It was a show for my eyes only.\n" COLOR LIGHT_CYAN "\IOh, no. It won't end like this, Marcus. Not like this. The wager I have in place demands you at \Bleast\b reach adulthood. Someday, ever so far away, you will repay this. You will...\i\n" COLOR TEXTCOLOR "I would find out later that the Red Wraith healed my wounds and scars that day. I did not see him again until years later when I donned this costume and mask. He is convinced that he will possess me. He has made that somewhat clear.\n" pause "I awake to find the Succubus shaking the devil right out of me. I am curled up on the floor of Red Cloud's bedroom.\n\n \"Marc? Marc! What happened? Are you okay?\"\n" } case 3: Deactivate(self) } !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! daemon pabski_arrives { timer 0 } event in pabski_arrives { self.timer++ select(self.timer) case 1: { "I start regaining consciousness... I can hear some of their conversation.\n\n \"...I think, yeah. We should kill him.\"\n\n \"Are you \Ifucking high,\i Tubblo? Sparky's still not back yet from that last job, and you want us to get in this shit even further? You're not thinking.\" The HaX0r sneezes. \"Christ, Tubblo. I can't remember the last time my head throbbed like this...\"\n" "It appears as if the Rad HaX0r is pulling for my life, where his friend -- apparently named 'Tubblo' -- wants me killed.\n\n \"We've got the gun. So let's just use it! Shoot this asshole once and we dump his body. There's probably a ransom out on him from Mucous or somebody anyway.\"\n\n \"Well... OK, maybe you're right. We would get pr0pX0rs for killing him.\"\n\n \"Sure we would. How much do you think we'd get? Enough to make up for Snowman's cut?\"\n\n \"I have no idea. Take the glock,\" says the HaX0r, \"Do it. I don't want my hands dirty.\"\n" "The chubby little cocknobber glares at me. I look up at him. He draws his right hand back and punches me in the jaw.\n\n \"Heh. We couldn't get your mask off, Venger. Otherwise have no doubt, your face would be plastered all over the internet. Like a pic of one of my one-night-stands. You know what I'm gonna do with the money I get? I'm gonna buy some real games. You know there's a bounty on you, right? Yeh. So I'm gonna get games. Boxed ones, complete with sleeves and instructions. I will finally be able to 'read the fuckin' manual.'\"\n\n He loads a bullet into the chamber of the glock.\n" pause "The window shatters.\n" move Wereboar to RadHouse1 Tubblo.hitpoints = 0 "My team-mate, Zeke Pabski -- the Wereboar -- crashes through the window and in a singular motion too quick for me to completely follow, and rips the gun away from the kid with one of his fingers still in it.\n\n \"That smarted, didn't it Smilin' Jack?\" Pabski calmly walks over to the bleeding fat kid and drapes his trench coat over his head. He then puts him into a headlock and slams him down on the ground. I hear bones splinter and crack.\n\n Pabski looks over in my direction. \"Don't wet yourself, man. I'll just be a second.\" The Rad HaX0r runs from the kitchen to the front door. \"Oh, forget about it...\" Pabski is off like a shot and roughly knocks the HaX0r's head into the door before he can escape. \"The front fuckin' door? D'you have any idea who the fuck I am?\"\n" "\"I'll tell you anything! Just don't hit me again! I am elite!\"\n" "\"We want some real fuckin' answers, kid!\" He looks over to me. \"The fuck's this squid gonna tell us, anyway, Venger? \BContra\b cheat codes?\" He then takes the HaX0r's head and bangs it between the door frame. \"Left, left, right, right, up, down, up down...\"\n" "After entertaining himself with the HaX0r's broken face, Pabski comes over to me. He puts his ass right in my face and lets go with a terrible fart. He turns around and gets right in my grill. This is like the greatest thing he thinks he's ever done. \"What did that smell like? Bwa-ha-ha-ha-ha!!!\"\n" "I shrug my shoulders and simply tell him, \"\BVaseline\b.\" The HaX0r starts chirping with laughter at that, so Pabski walks over and slugs him again. He sheepishly rips the towel that had gagged me and slashes through the bonds. \"Shit, man. Don't give me that look. I could hear their heartbeats from down there. It's like you blasting Superdrag to my superior hearing.\" He gestures over to the other kid, who was knocked unconscious. \"This rancid pussy didn't even have the guts to pull the trigger. I thought the little motherfucker was going to have a fuckin' heart attack just playin' around. Shit. Anyway, I'm sure he'll be conscious in time to start chuckin' droids back into the Sarlaac Pit soon enough.\" Pabski feints towards the HaX0r and ends up scaring the living hell out of him. \"Flinch!\" exclaims Pabski, as he swiftly crosses the room and punches him in the gut.\n" "I get up and call a cab -- if Snowman is really involved like Tubblo said, I'm going to have to find him and see if he can successfully lie under extreme pressure to me twice. This time, I'll use a bit more force.\n" } case 2: { Activate(bring_taxi_twice) if (HolyAvenger in RadHouse1) or (HolyAvenger in RadHouse2) { "Pabski goes over to the HaX0r's disc collection and smashes one onto the ground.\n" if (RadHax0r.conscious = 1) { "\"Hey!\" screams the Rad HaX0r. \"What the fuck are you doing? That's my Styx CD!\"\n\n \"Yeah, well,\" says Pabski as he looks at the broken disc. \"This one is now in pieces of eight.\"\n" } } } case 3: { Deactivate(self) } } routine WhatsOnTv(keep_same_channel) { local last_channel if holo is not switchedon { "The holo isn't on.\n" return } ! keep_same_channel will not be set if called by, for example, ! a grammar line ! if not keep_same_channel { last_channel = holo.misc while holo.misc = last_channel holo.misc = random(12) "(I flip through the holo's channels...)" } select holo.misc ! channels number 1-12 case 0 "It's on the God channel. I try to think back to the last time the holo was turned on. It's been a while... the God channel is usually just an exercise in poorly-toupeed groveling. For some reason all they are doing right now is putting up a default color test and the song \"Halluejuah.\"\n" case 2 "Music Television is playing some old video from Hole. It's from the concert where she bared her breasts during \ICelebrity Skin\i and then demanded the audience worship her, quote, 'B-cups.' Kind of a shame how everything ended for that family, eh?\n" case 3 "This channel has some football high-lites. Everyone's sentimental favorite this year is Ricky Williams, who has been playing for the same team forever and still no ring. Every year we're supposed to get all weepy eyed over some 40-year old who doesn't know that he'd well past his prime. Yes, Ricky, 3500 yards from scrimmage was impressive back in the day. But that was then.\n" case 4 "Greater Lebanon has started up a television channel that broadcasts gladiator battles. The guys are all convicted prisoners or infidels working off their sentences. There will also be bread served.\n" case 5 "Hey, I'm on the news.\n\n \"... just a few hours ago. Police have determined from eyewitnesses that two vigilantes, the Holy Avenger and Jonathan Hollywood, were responsible for the attack.\" It looks like they interviewed Snowman.\n\n \"He just started freaking out. Both of them did! The next time I see them, I won't be caught unprepared!\"\n\n I have to laugh. Snowman and a few of his other buddies -- Pounder, Macabre -- treat the news as those old World Wresting Federation guys did. Staring right into the camera, expounding on threats they'd never be able to make good on... unbelievable.\n" case 6 { "One of those newer movies that Lucas directed. It's pretty good, I guess, but I'm not hardcore or anything. This is one of those films that was remastered to take full advantage of a holo's capabilities. This one comes up with a popup box informing me that I don't have the right codec installed. Bloody hell.\n" } case 7 { "He played four years for the Los Angeles Dodgers. .237 career average. 58 career hits. One home run. He did all that and oh, did I mention? He was a homosexual.\n\n Glenn Burke for Original Coors.\n\n \"Make mine an Original can. Or in the long necked bottle.\"\n" } case 8 { "'Career .356 batting average. Over 1,700 hits. And hit over .300 in the Championship. Oh, Did I mention? He also threw the World Series.\n\n Shoeless Joe Jackson for Original Coors.'\n\n \"Hey. Throw me another Coors. And Original Coors.\"\n" } case 9 { "Another one of those old Dan Patrick-narrated beer commercials.\n\n 'He was born without a properly functioning pituitary gland yet managed a professional career without ever getting put out. An on-base percentage of exactly 1.000. Don't you need a properly functioning pituitary gland to play professional baseball?\n\n Not if you're Eddie Gaedel.\n\n Eddie Gaedel for Original Coors.'\n" } case 10 { "'...He beat many linebackers to the corner. He beat the cornerbacks to the end zone. He beat his ex-wife and her boyfriend to death. Don't people go to jail for double homicide?\n\n Not if you're O.J. Simpson.\n\n O.J. Simpson for Coors. And Original Coors.'\n\n \"I'll never stop searching for the Real Original Coors.\"\n" } case else "I click through a few other channels. Nothing really on at this time.\n" return true ! since this is a verb routine } !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! daemon bring_taxi_twice { timer 0 } event in bring_taxi_twice { GameEvents[24] = 1 self.timer++ select(self.timer) case 3: { SetQuip(14,0,0) SetQuip(14,1,0) SetQuip(14,2,0) SetQuip(14,3,1) move taxi to OutsideRadHouse if (HolyAvenger in OutsideRadHouse) "The cab arrives and Raghib parks it alongside the HaX0r's house.\n" } case 3: Deactivate(self) } !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! daemon snowmans_scene { timer 0 } event in snowmans_scene { self.timer++ select(self.timer) case 1: { SetQuip(5,0,0) SetQuip(5,1,0) SetQuip(5,2,0) SetQuip(5,3,0) SetQuip(5,4,0) SetQuip(5,5,0) SetQuip(5,6,0) SetQuip(5,7,0) SetQuip(5,8,0) SetQuip(5,9,0) SetQuip(5,10,0) SetQuip(5,11,0) SetQuip(5,12,0) SetQuip(5,13,0) Snowman.hitpoints = Snowman.maxhitpoints Snowman.peaceful = true Snowman is not hidden if (stub in Snowman) { stub is not hidden move stub to Bar2 } if GameEvents[8] = 1 { move Snowman to MainStreet1 if (HolyAvenger in MainStreet1) { "Snowman enters the street from the west. He's not wearing his helmet and looks shocked seeing me here.\n\n \"What the fuck are you doing here, jerk?\" he says. He sees I am in no mood for his banter. \"Hey, shit, man -- don't hit me! Christ!\" I get him into a headlock. I don't say anything to him.\n\n \"It was Sparky, OK? Fucking Sparky, who killed her! I just froze her! Sparky's the fucking guy you want!\" I swear, Snowman's almost ready to cry.\n\n Snowman cowers on the ground, hoping I don't hit him and spare his miserable life.\n" } } } case 4: { if GameEvents[8] = 0 { move Snowman to BloodSoakedAlley if (HolyAvenger in BloodSoakedAlley) { "Snowman enters the alley. He's not wearing his helmet and looks shocked seeing me there.\n\n \"What the fuck are you doing here, jerk?\" he says. He sees I am in no mood for his banter. \"Hey, shit, man -- don't hit me! Christ!\" I get him into a headlock. I don't say anything to him.\n\n \"It was Sparky, OK? Fucking Sparky, who killed her! I just froze her! Sparky's the fucking guy you want!\" I swear, Snowman's almost ready to cry.\n\n Snowman cowers on the ground, hoping I don't hit him and spare his miserable life." } } } } routine Snowmans_End_Scene { Snowman.hitpoints = 1 Snowman.peaceful = true GameEvents[27] = 1 fight_active = 0 Activate(pager_message) "Snowman falls over and knocks his head roughly against the pavement. He is dazed for a moment before briefly coming back to any sort of awareness of his surroundings. He sees me look down at him, with my face consumed with rage. He starts pleading for his life.\n\n \"Look, man, don't kill me... please...\" He fades in and out of consciousness briefly. I think I gave him a concussion. \n\n He begins babbling. \"I keep telling you, man, it was Sparky who pulled the trigger on her, not fucking me... why won't you fuckin' believe me... \" he starts sobbing, and repeating himself. \" I just froze her. I didn't fuckin' know that kid would fuck her and kill her... please, man, I'm so fuckin' sorry.... please don't kill me... \" \n\n He's too weak right now to get up or really move about. I don't know if he's lying about this 'Sparky' guy or what. I don't think he can tell me anything else of value, though.\n" return } daemon pager_message { timer 0 } event in pager_message { self.timer++ select (self.timer) case 3: { Activate(bring_taxi_thrice) Reset_Old_Quips() !get the old quips out of there if (pager in HolyAvenger) { pager is special "The disposable pager that Raghib gave me goes off. I take a look at the message and read it. It's from the Ameba:\n\n 'RED WRAITH AT ST. COLUMBA MEMORIAL' 'HE'S RAISING CORPSES, FIGHTING US.' 'NEED YOU HERE NOW!' 'SENDING FOR YOUR CAB!'\n\n The Red Wraith will go on a rampage like this about once a year. He'll shore up in some cemetery and bring the dead back to life. I really don't need his crap -- I want to find the kid gunman that Snowman talked about -- but I can't abandon my team-mates. While he's taken some perverse cat-and-mouse interest in my life, Red Wraith has absolutely no qualms about killing my friends.\n" } } } object pager "pager" { nouns "pager" "commcode" adjectives "disposable" "black" "cheap" "knock-off" "raghib's" article "a" long_desc { "It's a cheap knock-off version of the smallish, well-styled disposable pager sold by QuaComm. It can basically display a couple text messages before burning itself off and making you get another one. They are ridiculously cheap, though, and in vogue with everyone's mothers, like the way calling cards used to be.\n" } short_desc { "The disposable pager that Raghib gave me is here.\n" } } !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! daemon bring_taxi_thrice { timer 0 } event in bring_taxi_thrice { GameEvents[28] = 1 self.timer++ select(self.timer) case 3: { SetQuip(14,0,0) SetQuip(14,1,0) SetQuip(14,2,0) SetQuip(14,3,0) SetQuip(14,4,1) move taxi to UrbanScene if (HolyAvenger in UrbanScene) { "The cab arrives and Raghib parks it alongside the street.\n" "\"Get in, Venger!\" yells Raghib. \"I'm getting a lot of money to take you to the Cemetery quickly! Get in, dammit!\"\n" return } } case 3: Deactivate(self) } !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! routine SetFinalBattle { allies = 5 fight_active2 = 1 move Johnny to Battlefield move Wereboar to Battlefield move Ameba to Battlefield move Succubus to Battlefield move RedWraith to Lair SetQuip(15,4,1) ! Red Wraith SetQuip(15,5,1) SetQuip(15,6,1) SetQuip(15,7,1) SetQuip(8,0,0) ! AIDS Archer SetQuip(8,1,0) SetQuip(8,2,0) SetQuip(8,3,0) SetQuip(8,4,0) return } !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! routine DetermineThugsFate { move Thug to Lair Thug is hidden remove RedCloud SetQuip(15,0,1) SetQuip(15,1,1) !SetQuip(15,2,1) !SetQuip(15,3,1) SetQuip(15,4,0) SetQuip(15,5,0) SetQuip(15,6,0) SetQuip(15,7,0) select(solvedpuz) !How many puzzles did the Avenger solve? 0-5 case 0: { COLOR LIGHT_CYAN "\INot a one, Avenger? I thought perhaps you'd be able to help one of those poor souls out of pure, stumbling luck...\i\n" COLOR TEXTCOLOR "\"There were six bodies, Wraith. I just saw five. The last one was just a kid. Is it the thrill of kidnapping that's getting your rocks off lately or the hot, gay molestation?\"\n\n The Wraith claps his hands in delight.\n" COLOR LIGHT_CYAN "\IVery good, Avenger! I did wonder when your delicious sarcasm would be so viciously thrown my way. To answer your query: of course it is neither. I do so love seeing through your mask, you know. The rest of the world should see the expressions underneath it...\i\n" COLOR TEXTCOLOR "He gestures to the boy.\n" COLOR LIGHT_CYAN "\IYou have been searching so hard for those responsible for the death of your beloved. This is the boy who personally killed her. He, along with the Rad Hacker and the Snowman were paid just a smattering of gold by your rival, Mister Mucous, in exchange for her death. The Hacker discerned her identity through her computer -- you knew I was attempting to access it myself, of course...\n" COLOR TEXTCOLOR "\II wondered why it stated that the previous boot was incomplete. What, you couldn't access it? You can create wholly horrifying environmental simulacra, seemingly realistic to all five senses using only your mind, but you can't log on to a FreeBSD-descended operating system?\"\i\n" COLOR LIGHT_CYAN "\IThis boy lives or dies by your hand, Avenger. Choose. Now!\i\n" COLOR TEXTCOLOR } case 1: { COLOR LIGHT_CYAN "\ICongratulations, oh valiant prince!\i\n" COLOR TEXTCOLOR "The Wraith is \Ialways\i condescending, of course. But even more so right now.\n" COLOR LIGHT_CYAN "\ISo you did help one poor soul after all. The easy one, natch.\i\n" COLOR TEXTCOLOR "\"And I take it that this boy was the last body I saw upstairs. Who is he? Some kid who threw a dodge ball at me when I was seven? You're getting pathetic, Wraith. Pathetic and desperate. You and I both know it. Why not bring by the first girl that dumped me? The first professor to fail me?\" The Wraith claps his hands in delight at that.\n" COLOR LIGHT_CYAN "\IOh, your filler, Avenger, your filler! You have been searching \Bso hard\b for those responsible for the death of your betrothed. The boy before you is the lad who squeezed off all those shots into your lover's body. He, along with the Rad Hacker and the Snowman were paid in gold by your dear friend, Mister... Mucous. The Hacker, of course, discerned who she was through her computer, the Snowman froze her in place, the boy here shot her... quite a feat by the illustrious Hacker, wouldn't you say?\i\n" COLOR TEXTCOLOR "\"I guess. There's no informational privacy anymore. You and I both know that -- hell -- between you and me there are no secrets left. Those that can make the bandwidth their personal bitch will have an advantage that only grows. Am I supposed to be impressed that the HaX0r figured out who she was? Red Cloud was \Bsomebody\b in all facets of her life -- professionally, in her hobbies, everything. And this kid, like you, is nothing more than a sucking leech, screeching out a miserable living on someone else's accomplishments.\"\n" COLOR LIGHT_CYAN "\IWhat...?\i\n" COLOR TEXTCOLOR "\"Oh do shut the Christ up. Do you think I hadn't figured it out yet? You're \Bobsessed\b with me! Look at you! I wore an outfit like that, once, years ago to ask Red Cloud out on a date. And you're here \Ireplicating\i it? You think you have the moral high ground while in \Icargo pants\i?\"\n" COLOR LIGHT_CYAN "\IThe boy!\i\n" COLOR TEXTCOLOR "\"Yeah. The boy.\"\n" COLOR LIGHT_CYAN "\IHe lives -- or dies -- by your word. Choose!\i\n" COLOR TEXTCOLOR } case 2: { COLOR LIGHT_CYAN "\IYou could have done better than that, Avenger!\i\n" COLOR TEXTCOLOR "\"I'm not interested in playing through as your holy marionette any longer, Wraith.\" I notice the kid sitting before the Wraith. \"I take it that this was the kid I saw above in the glass coffin.\"\n" COLOR LIGHT_CYAN "\IIt is, Avenger, it is! As you no doubt know by now that beast of a misfit Mister Mucous paid the Rad Hacker, this boy and the Snowman to have your lover slain. The Hacker determined her identity... the Snowman, of course, froze her into place... and this boy fired the bullets into her body. He did things to her, Avenger! He did!\i\n" COLOR TEXTCOLOR "\"Thanks for bringing him here and doing my job for me, Wraith. The two of you can share a cell together and snuggle together when the winter comes 'round again. Because I'm taking you both down right now.\"\n" COLOR LIGHT_CYAN "\IYou want control, detective, of your life's plans again? You may have it. The boy lives or dies based on your word. Choose!\i\n" COLOR TEXTCOLOR } case 3: { COLOR LIGHT_CYAN "\IYou \Bare\b such an average hero, my Holy Avenger! I suppose I should state that I was surprised to see you help even those three sick individuals. Did it feel good, Avenger? Did you feel as if you helped save lives? Is that what gives you pleasure these days?\i\n" COLOR TEXTCOLOR "\"I'm going to enjoy ripping that flapping tongue of yours from your sickening jaw and beating you with it. That's what's going to give me a great amount of pleasure.\"\n" COLOR LIGHT_CYAN "\IDo you know who this is, detective?\i\n" COLOR TEXTCOLOR "He's pointing to the boy before him. He was represented as one of the bodies I saw upstairs. \"I've never seen him before, Wraith. Does he grow up to be one of a hundred other incompetent mask-wearing feebs I've absolutely pounded over the years?\"\n" COLOR LIGHT_CYAN "\INo, Avenger! For he is not here for what he will do... but rather, for what he has done! He, along with the Hacker and the Snowman, received payment from your dear, dear compatriot Mister Mucous in exchange for services rendered. The services this boy provided included, but were not limited to, the rape, torture and killing your beloved.\i\n" COLOR TEXTCOLOR "I try to stop the rage burning within my body from taking over. I want to beat this boy down, to absolutely crush him down and rip him into pieces. I want to hammer my fists into the Wraith's body for making me jump through his hoops. I calm myself momentarily, enough to speak. \n\n \"You know, of course, that I'm taking you both in. You'll both be locked up for the remainder of your natural lives. I've come this far, Wraith -- you \Bknow\b, dammit, how this is going to end.\"\n" COLOR LIGHT_CYAN "\IOf course, Avenger, of course... the boy lives or dies by your choice. Choose... choose now.\i\n" COLOR TEXTCOLOR } case 4: { COLOR LIGHT_CYAN "\IYou \Bare\b such an average hero, my Holy Avenger! I suppose I should state that I was surprised to see you help even those three sick individuals. Did it feel good, Avenger? Did you feel as if you helped save lives? Is that what gives you pleasure these days?\i\n" COLOR TEXTCOLOR "\"I'm going to enjoy ripping that flapping tongue of yours from your sickening jaw and beating you with it. That's what's going to give me a great amount of pleasure.\"\n" COLOR LIGHT_CYAN "\IDo you know who this is, detective?\i\n" COLOR TEXTCOLOR "He's pointing to the boy before him. He was represented as one of the bodies I saw upstairs. \"I've never seen him before, Wraith. Does he grow up to be one of a hundred other incompetent mask-wearing feebs I've absolutely pounded over the years?\"\n" COLOR LIGHT_CYAN "\INo, Avenger! For he is not here for what he will do... but rather, for what he has done! He, along with the Hacker and the Snowman, received payment from your dear, dear compatriot Mister Mucous in exchange for services rendered. The services this boy provided included, but were not limited to, the rape, torture and killing your beloved.\i\n" COLOR TEXTCOLOR "I try to stop the rage burning within my body from taking over. I want to beat this boy down, to absolutely crush him down and rip him into pieces. I want to hammer my fists into the Wraith's body for making me jump through his hoops. I calm myself momentarily, enough to speak. \n\n \"You know, of course, that I'm taking you both in. You'll both be locked up for the remainder of your natural lives. I've come this far, Wraith -- you \Bknow\b, dammit, how this is going to end.\"\n" COLOR LIGHT_CYAN "\IOf course, Avenger, of course... the boy lives or dies by your choice. Choose... choose now.\i\n" COLOR TEXTCOLOR } case 5: { "\"It's over, Wraith!\" I yell. \"I got past your gauntlet completely! Get out here, now!\"\n" COLOR LIGHT_CYAN "\IThere is one more...\i\n" COLOR TEXTCOLOR "\"And I take it that this boy was the last body I saw upstairs. Who is he? Some kid who threw a dodge ball at me when I was seven? You're getting pathetic, Wraith. Pathetic and desperate. You and I both know it. Why not bring by the first girl that dumped me? The first professor to fail me?\" The Wraith claps his hands in delight at that.\n" COLOR LIGHT_CYAN "\IOh, your rage, Avenger, your rage! You have been searching \Bso hard\b for those responsible for the death of your betrothed. The boy before you is the lad who squeezed off all those shots into your lover's body. He, along with the Rad Hacker and the Snowman were paid in gold by your dear friend, Mister... Mucous. The Hacker, of course, discerned who she was through her computer, the Snowman froze her in place, the boy here shot her... quite a feat by the illustrious Hacker, wouldn't you say?\i\n" COLOR TEXTCOLOR "\"I guess. There's no informational privacy anymore. You and I both know that -- hell -- between you and me there are no secrets left. Those that can make the bandwidth their personal bitch will have an advantage that only grows. Am I supposed to be impressed that the HaX0r figured out who she was? Red Cloud was \Bsomebody\b in all facets of her life -- professionally, in her hobbies, everything. And this kid, like you, is nothing more than a sucking leech, screeching out a miserable living on someone else's accomplishments.\"\n" COLOR LIGHT_CYAN "\IWhat...?\i\n" COLOR TEXTCOLOR "\"Oh do shut the Christ up. Do you think I hadn't figured it out yet? You're \Bobsessed\b with me! Look at you! I wore an outfit like that, once, years ago to ask Red Cloud out on a date. And you're here \Ireplicating\i it? You think you have the moral high ground while in \Icargo pants\i?\"\n" COLOR LIGHT_CYAN "\IThe boy!\i\n" COLOR TEXTCOLOR "\"Yeah. The boy.\"\n" COLOR LIGHT_CYAN "\IHe lives -- or dies -- by your word. Choose!\i\n" COLOR TEXTCOLOR } MovePlayer(Lair) } daemon corpse_fight { timer 0 } event in corpse_fight { self.timer++ select(self.timer) case 2: { if (pipe in HolyAvenger) { HolyAvenger.hitpoints = HolyAvenger.hitpoints - 5 "A corpse starts gnawing on my leg. I beat it down with my pipe. Another one jumps me from behind, and I'm able to toss him aside in a swift motion.\n" } else { HolyAvenger.hitpoints = HolyAvenger.hitpoints - 10 "A corpse starts chewing on my leg. I beat it down with my bare hands, but only momentarily stun it. Another one silently jumps me from behind, but I'm able to toss him aside in a single, swift motion.\n" } "The Ameba changes into his ameobic form and flows into the body of a corpse. He shoots out the thing's eyeholes and it explodes, 'killing' it. The Succubus carries a cadaver up about a quarter-mile in the air and lets it go just west of the Battlefield, where it pulps itself upon contacting the ground. Johnny slugs a random corpse and knocks its head clear off. The corpse still tries to claw at him, though.\n" } case 3: { "The Ameba screams at me again. \"Dammit, Avenger, get in the Cathedral! These things aren't dying and I don't know how much time we have left!\"\n\n Three of the corpses jump at me and begin pummeling me on the ground. Johnny throws one off, but the two others begin cutting deep claw marks into me. The Wereboar smashes a couple of the zombie's heads together and sees me in trouble. He gives a low whistle and starts running over towards me.\n" } case 4: { remove Succubus HolyAvenger.hitpoints = HolyAvenger.hitpoints - 21 "\"Christ,\" says the Wereboar, \"We don't get brawls like this for Yankees versus Red Sox.\" He brings one of the cadavers that had pinned me up and punches his hand through its back. He starts tossing bits of its spine all about. I manage to get the other one off me, I feel as if my right leg is broken.\n\n A shimmering blue light encompasses the Succubus and she disappears. It seems as if more corpses are pouring into the field but I can't see where they are coming from. I start to feel faint...\n" } case 5 { HolyAvenger.hitpoints = HolyAvenger.hitpoints - 42 "A blast emerges from the Cathedral. It chars away most of my flesh, leaving my veins and blood exposed to the world. The Wereboar is vaporized completely. The corpses begin a sort of demonic chuckle, their raspy voices seeming as if they are conduits for the windpipes of Satan... I stagger about flailing wildly before falling... falling down...\n" endflag = 2 Deactivate(self) } } !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! daemon bring_mucous { timer 0 } event in bring_mucous { self.timer++ select(self.timer) case 3: { music "acs_mus", "deepestknife", 100 GameEvents[30]=1 move MisterMucous to Battlefield MisterMucous is sentient activate(resolve_mucous) "Pabski sneezes.\n\n \"Bless you,\" says Jenn.\n\n \"The hell? I feel \Bterrible\b all of a sudden... \" Zeke looks up past my head. \"Holy Living Fuck! Look out! It's fuckin' Mucous!\" Zeke is cut off at that point -- he gets smashed by a giant fist of Mister Mucous. The rest of us scatter in an attempt to form an attack. Mister Mucous is incredibly difficult to effectively fight -- he's brash, cruel, creative and a terribly aggressive and vicious enemy.\n\n Unfortunately for him, though, \Bso am I\b.\n" } case 4: { Succubus.hitpoints = 0 remove Succubus "Mucous takes a wild backhand at the Succubus and hits her. She goes hurdling through the air for a couple hundred yards before suddenly falling to the ground like a gassed fly. She lands somewhere past the Cemetery, near the entrance, and seemed to hit the ground with full-force.\n\n \"You sick fuck!\" screams Pabski. \"I'll fucking waste you, motherfucker!\" Johnny and I try maneuvering around to different sides of him but I don't know how we're going to attack him. When I've beat him before, Mucous was in an enclosed area and couldn't get up so high. Ameba changes to his liquidish form in order to counter attack.\n" } case 5: { move Wereboar to WaterTowerRoom Johnny.hitpoints = 0 remove Ameba "I can hear Mister Mucous laughing through his vocal transmitter. He fills Johnny's lungs with snot. Johnny starts hacking and coughing grotesquely in an attempt to get it out of his system. Mucous covers the Ameba with what seems to be a ton of nasal fluid. I can't see Ameba here anymore. He picks up Zeke and tosses him far from me -- he hits the Water Tower and drops down to the earth. He looks kind of stunned from here. Mucous pauses when he sees I'm the only one left.\n" "\"No idea how much you know, Venger, but I'm sure the city's greatest 'detective' -- \" He makes an exaggerated symbol of quotation marks with his snot-riddled hands -- \" has figured it out by now. I gave the order and reward to kill your bitch, but you? You I'm going to do myself.\" Instantly a barred prison of his making surrounds me. I try to break apart the bars but can't -- I don't know what they are made out of but I can't snap them. He then has a yellowish goop trickle down from the top of his cell. He's going to suffocate or squash me alive!\n" move cage to location MovePlayer(cage) Cage is special Activate(venger_suffocates) } } !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! daemon resolve_mucous { timer 0 } event in resolve_mucous { self.timer = 1 select(self.timer) case 1 { if (location.type = GraveRoom) and (MisterMucous is sentient) and (MisterMucous.in_scope = 0) { !"moved faux to location" move FauxMucous to location } else { !"removed faux" remove FauxMucous } } } !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! daemon get_out_of_cage { timer 0 } event in get_out_of_cage { self.timer++ select(self.timer) case 3: { "I take another breath from the pipe. I'll be OK for a little bit.\n" } case 4: { GameEvents[32]=1 pipe is not throughcage pipe is not special move MisterMucous to Entrance "A blast of force knocks me against the cage. I look up to only see the whitish liquid dysentery that is the Ameba. He expands himself and blows away the cage. In doing so he scatters himself into thousands of bits across the Cemetery. I know it'll take him a while before he can get himself back together. For whatever reason Mister Mucous goes towards the Cemetery entrance.\n" MisterMucous is not hidden Wereboar is hidden Succubus is hidden Johnny is hidden MovePlayer(Battlefield) remove cage } case 5: { move fence to MisterMucous if HolyAvenger in Entrance { "Mister Mucous rips away the cemetery fence and forms it into a crude 4-walled cage. He looks down towards me. \"I will suffocate you within this prison, then, Avenger! I will kill you the way jail destroyed me!\"\n\n It's obvious now -- Mister Mucous being cooped up in that prison after I took him down last time absolutely ruined his psyche. He's trying to get me into some kind of enclosed box as well.\n" } } case 6: { if MisterMucous.in_scope = 1 { mucous_kills_avenger() } else { move MisterMucous to GraveEast SetQuip(2,6,1) "Mister Mucous soars over to the eastern section of the grave, presumably looking for me. I'm the only member of the team still on his feet -- although Pabski could be regaining consciousness near the Water Tower. It looks like Mucous is carrying some sort of iron cube... now that I look towards the Cemetery entrance, it appears as if he ripped apart the gate!\n" } } case 7: { if MisterMucous.in_scope = 1 { mucous_kills_avenger() } else { move MisterMucous to WaterTowerRoom SetQuip(2,6,0) SetQuip(2,7,1) "Mister Mucous moves over to the Water Tower, still holding his makeshift 'cell.'\n" } } case 8: { if MisterMucous.in_scope = 1 { MisterMucous is hidden "The scratchy electronica of Mucous' voice box flares up again. \"I'm going to destroy you, Holy Avenger! I am going to put you into your \Bown\b cage and suffocate you with my curse!\"\n" "Well, that point is noted.\n" } else { mucous_kills_avenger() } } case 10:{ mucous_kills_avenger() } case 11: {DeActivate(self)} ! mucous puts venger in cage to show him what jail was like ! move him to avenger ! put him in cage ! kill him ! if avenger in water tower, then have him talk to zeke return } object fence "fence" { in Entrance nouns "fence" article "the cemetery" long_desc { "The fence to the Cemetery is about twenty feet high and made of quality cast iron.\n" } Before { object DoGet { "I can't take the fence -- I don't have that kind of strength.\n" } } is hidden, openable, open } routine mucous_kills_avenger { ! insert cute message "Mister Mucous tosses the fence he made around me. It covers me on all four sides. He throws a top made of his mucous on top of it and covers my skin with a thick layer... I thrash about, trying to get it off me -- he leaves my earholes open so that I can hear him laugh. Cruel, sick bastard -- I swear by all that is holy I will get him... I will... \n\n I choke, but my bile can go nowhere. I frantically gasp for air... I desperately claw through my memory for something that will help me beat him but my lungs are throbbing and they feel like they will burst...\n\n The torture finally ends.\n" endflag = 2 } daemon venger_suffocates { timer 0 } event in venger_suffocates { self.timer++ select(self.timer) case 5: { "I'm starting to use up all the air in the cage. I'm trying to conserve energy but it's just not working well.\n" } case 6: { "I'm almost out of breath. I can't last much longer.\n" } case 7: { "I start to black out... the walls of the cage surround me and the fluid fills my lungs... I try punching the walls in an attempt to break them down but my hand goes through the 'bars' and gets caught...\n" endflag = 2 } case 8: { DeActivate(self) } return } daemon Final_Scene { timer 0 } event in Final_Scene { self.timer++ select(self.timer) case 2: { move Johnny to WaterTowerRoom MovePlayer(WaterTowerRoom) move Succubus to WaterTowerRoom move Ameba to WaterTowerRoom Johnny.hitpoints = Johnny.maxhitpoints ! GameEvents[33] = 1 ! GameEvents[34] = 1 ! GameEvents[35] = 0 "\nI walk over to where Johnny was beaten down. Snot seems to be running from every pore in his body. Though he's almost completely filled with it he somehow had been getting just enough air to survive. I give him mouth-to-mouth and help get his lungs in almost completely functioning order. He starts wheezing and coughing and begins blowing the crud out of his lungs on his own.\n" "Zeke eventually finds Jenn. She was tossed past the Cemetery entrance and into the street. She was hit once by a car and that ended up tossing her over to the curb. Her right wing is shredded -- she doesn't seem to be able to use it -- and she broke her left leg and wrecked both of her patellae. But most importantly, she is alive. I don't know if she'll ever be the same, I don't know if she'll fly again but she's here. With us. With me.\n" "By the time the four of us returned the Ameba had reformed himself. He looked like he lost a lot of weight... his body was just a ghost of what it was before... but he wouldn't acknowledge it. He just didn't care and said it didn't matter.\n" if (GameEvents[35] = 0) { "We gather up Mister Mucous' body and take him down to the police station. They keep him knocked out on some kind of depressant so he can't power up and attack again. The cops wanted us to all stick around, make statements, something, I don't really know. We left, though. If Red Cloud wasn't worth or didn't deserve any justice -- if they truly felt that the fact that we all put on these masks and try to take down these incredibly dangerous thugs that we've seen develop around us -- then I don't want any part of them.\n" "The five of us go our separate ways. I take a couple weeks off before going back to work...\n" pause } if GameEvents[33] = 0 and GameEvents[34] = 0 and GameEvents[35] = 0 { COLOR YELLOW "\I\BThree months later....\i\b\n" pause COLOR TEXTCOLOR music "acs_mus", "notjustone", 100 ! Ah, the endings. Some are "happy" some aren't, but I think that I failed in 1) letting players know there were ! more than one ending and 2) giving them any idea what would cause the individual ones to trigger. I think that ! they contain some of my better writing, though. I am of the opinion that you need your good stuff to reach ! as many players as possible at this point, though... another lesson learned. "I wake up in my apartment to the sounds of a blattering rain hitting the skylight. I passed out on the kitchen floor again. I tried getting myself up from the linoleum but my right hand wouldn't budge. As I scratched the sleepgoo out of my eyes with my free hand I saw that it was stuck to the floor in a puddle of my own dried blood. A lot of mornings begin this way lately.\n" "Getting it unstuck re-opens the wound, so I try to find some bandages. I hit the button on my answering machine. It was Jenn -- the five of us left in the Scourge Squadron are apparently having a meeting and they want me to show up. It had been a while since the last time I checked in but they were well aware of what I had been up to. I've been on kind of a spree.\n" "I enter the desolate former warehouse we have taken up as a kind of office or headquarters at around two or three in the afternoon. Everyone else was already there. Johnny comes up to me and asks if I'm okay. I just shrug. He tells me that the jury broke on the trials of Snowman, Sparky and Mister Mucous. I knew that the jury had gone into deliberation but I was trying to keep myself unaware of the progress of the trial.\n" "Because we wouldn't take off our masks and go under oath the prosecution had a very difficult time establishing a case. They ended up having to offer Snowman a deal. They searched for the HaX0r -- all he was really, technically 'guilty' of was data manipulation, which was hardly a crime, but he had completely erased any sort of determinable trace of his existence. Snowman sang like Freddie Mercury. He filled them in on every single detail that he was personally aware of. He tried to paint himself as a victim, of course. That was to be expected. But he provided more than enough evidence to put Sparky and Mucous away for a long time.\n" "I just didn't know if the jury would see it that way.\n" if (cards in BackpackCrusader) { "Johnny tells me that I had some character witnesses. That backpack toting kid was apparently impressed with the fact that I gave him a box of those silly cards. And Raghib, of course, went to bat for me. I guess it helped. He got the point across that it would have been ridiculously easy for me to kill all three of them. I had cause, opportunity, everything. He knew that I believed in the sanctity of life no matter how much evidence presented itself to sway me.\n" } else { "Johnny tells me that I had a character witness. Of all the people in this city that I like to think I've helped, only Raghib went to bat for me. He testified of my moods, of my rage, and stated, calmly and plainly, that I had ample opportunity to kill all three of them. That I was relying on justice to be carried out rather than simply executing them myself. He knew that I believed in the sanctity of life no matter how much evidence presented itself to sway me.\n" } "The five of us heard the verdict hunched around the small television set that we placed in the headquarters. Snowman received two years of probation. I was expecting that, but it still made my blood boil. Jenn put her hand on mine. Mucous was sentenced to life without the possibility of parole for ordering Red Cloud's execution. Sparky was sentenced to death for the torture, rape and murder of Red Cloud.\n" "\"Young Sparky will be able to meet Old Sparky,\" said Zeke. \"It's a vicious family cycle.\"\n" "Reaction amongst the team was mixed -- politically we all don't share the same views on capital punishment. But we did all agreed that something had to be done to keep Mucous from busting out of whatever prison they put him in. I didn't know what to think concerning the kid. I could have had him killed myself just by asking the Wraith to do it. I told my friends that I was going to need the night off and went home to catch up on some sleep.\n" "When I awoke, Jenn was waiting by my bed.\n" "\"You've been going out alone lately,\" she said. I nodded. \"You've been beating these psychotics down without a bit of compassion.\" Again, what she said was true. \"And yet, you did everything you could to protect Jelena from what happened to her.\" At that I shook my head, firmly in the negatory.\n" "\"It's true..,\" said Jenn. \"Look, Marc, Red Cloud told me once that when two people are totally and completely in love there is no need to even say the words stating that fact. Or to need to verbally express it. It should be understood. I didn't agree with that at the time. I think she realized that. She didn't press the issue; it was just a belief of hers that she was content with. However, what you've been doing since she died seems to be completely validating that belief.\" I cock my head to the side, questioning, not sure what she means.\n" "\"Your love for her does not get any greater when you 'break another crook's face.' And your love for her does not diminish if you go a night without beating the bad guys senseless. Your love for her does not fade if you simply go a few moments without bringing up the pain of the past. She doesn't need to be here on this planet to know that you still care, Marc. She doesn't need a trophy room full of scalps or for you to solve every crime committed in this borough by hitting people with a lead pipe. It doesn't need to be stated like that, Marc. She knows. Wherever she is, she absolutely knows.\n" "I nod and accept what Jenn has to say. She seems somewhat satisfied with that, for the moment. Baby steps, I guess. She tells me that she'll check back in with me in a couple days. I tell her that's a terrific idea.\n\n I go back into Red Cloud's bedroom and kneel at her bed. I clasp my hands together and pray. Jelena, my love, I hope to God every day of my life that somehow my prayers get to you. You should \Iknow\i that I will never forget you, never let you fade from my mind. But I also think you'd want me to begin to smile again. And I think that I'm going to try.\n" "I get up from her room. I get myself some pop and sit down at the couch. Someone's car alarm goes off outside my apartment. It's a whiny, mewling screech that utterly fails to elicit a response of sympathy from me or my neighbors. This would be the fourth time in as many days it went off. I shake my head in disbelief at this city and turn on the holo. I don't know if I can keep living here. In this constant urban decay.\n" "The only thing worth watching is that old Gary Cooper movie, 'Pride of the Yankees.' Ah, yes. The New York Yankees. Is there any concept that more fully symbolizes the City? I quietly smile to myself and shrug. Maybe things will be OK after all. I still have friends here, I still do something that matters every single day even though my Jelena isn't here to share it with me. I guess, maybe, I begin to feel a little better. Maybe all it'll take is just a couple hours to watch a movie with a happy ending.\n" pause endflag = 1 } !33 -- Did HA kill Snowman? !34 -- Did HA have thug killed? !35 -- Did HA have Mister Mucous killed? if (GameEvents [33] = 1 and GameEvents[34] = 0 and GameEvents[35] = 0) \ or (GameEvents[33] = 0 and GameEvents[34] = 1 and GameEvents[35] = 0) \ or (GameEvents[33] = 0 and GameEvents[34] = 0 and GameEvents[35] = 1) ! either Snowman, Thug or Mister Mucous were killed { COLOR YELLOW "\I\BThree months later....\i\b\n" pause COLOR TEXTCOLOR "I wake up in my apartment to the sounds of a blattering rain hitting the skylight. I passed out on the kitchen floor again. I tried getting myself up from the linoleum but my right hand wouldn't budge. As I scratched the sleepgoo out of my eyes with my free hand I saw that it was stuck to the floor in a puddle of my own dried blood. A lot of mornings begin this way lately.\n" "Getting it unstuck re-opens the wound, so I try to find some bandages. I hit the button on my answering machine. It was Jenn -- the five of us left in the Scourge Squadron are apparently having a meeting and they want me to show up. It had been a while since the last time I checked in but they were well aware of what I had been up to. I've been on kind of a spree.\n" "I enter the desolate former warehouse we have taken up as a kind of office or headquarters at around two or three in the afternoon. Everyone else was already there. Johnny comes up to me and asks if I'm okay. I just shrug. He tells me that the jury broke on the trials of Red Cloud's killers. I knew that the jury had gone into deliberation but I was trying to keep myself unaware of the progress of the trial.\n" if (GameEvents[33] = 1) { "As it turns out, the Rad HaX0r was able to get out of police custody when Pabski dropped him off. No one's been able to so much as find a shred of evidence that he ever lived in this city. This left Mister Mucous and Sparky to go on trial. Word got out, of course, that I had killed Snowman. And that proved to be what the prosecution based their case on.\n" } if (GameEvents[34] = 1) { "As it turns out, the Rad HaX0r was able to get out of police custody when Pabski dropped him off. No one's been able to so much as find a shred of evidence that he ever lived in this city. This left Mister Mucous and Snowman to go on trial. Word got out, of course, that I had killed Sparky. I felt as if I was responsible for his death, even though I was set up by the Red Wraith. And that proved to be what the prosecution based their case on.\n" } if (GameEvents[35] = 1) { "As it turns out, the Rad HaX0r was able to get out of police custody when Pabski dropped him off. No one's been able to so much as find a shred of evidence that he ever lived in this city. This left Sparky and the Snowman to go on trial. Word got out, of course, that I had killed Mister Mucous. And that proved to be what the prosecution based their case on.\n" } "It was argued, successfully, that because I was willing to take a life in the name of vigilantism there was absolutely no reason why the same standards shouldn't apply to the so-called 'super' villains.' Guilt had been killing me since the trial began. If any of these psychos get off because of a mistake that I had made...\n" "The news team announced the verdict. And my fears were made real.\n" if (GameEvents[33] = 1) { "Mister Mucous was sentenced simply to serve out the previous term I busted him for. He received no new charges. Sparky got off with absolutely no charges. I was incredulous. I couldn't testify without revealing my identity, but the report on Red Cloud stated the horrible things he did to her... I was absolutely aghast at this. The explanation was simply self-defense. Super-heroes were thought of as just as unstable and deadly as the villains. The proof was my killing of Snowman.\n" } if (GameEvents[34] = 1) { "Mister Mucous was sentenced simply to serve out the previous term I busted him for. He received no new charges. The Snowman got off completely. Sure, he had some token probation or some garbage like that, but it was for minor conspiracy or something. He was not actually found truly guilty of killing Red Cloud. Super-heroes were thought of as just as unstable and deadly as the villains. The proof was my killing of Sparky.\n" } if (GameEvents[35] = 1) { "Snowman simply had probation. He was found guilty of minor conspiracy or something, but it was nothing that was going to keep him locked up in jail. Sparky got off with absolutely no charges. I was incredulous. I couldn't testify without revealing my identity, but the report on Red Cloud stated the horrible things he did to her... I was absolutely aghast at this. The explanation was simply self-defense. Super-heroes were thought of as just as unstable and deadly as the villains. The proof was my killing of Mister Mucous.\n" } "I tossed the table we were sitting around across the warehouse. I addressed my team-mates.\n" "\"Look. This is all my fault. There's no denying that. I accept that. But there was absolutely no justice served today. Not in the slightest. I'm going out to fix this right now. \BRight now\b.\"\n" "The Wereboar rose and give me a confident nod. \"We are with you, Holy Avenger... all of us.\" The five of us stormed out of our quarters and onto the street.\n\n And with that, a war began.\n" endflag = 1 } if GameEvents [33] = 1 and GameEvents[34] = 1 and GameEvents[35] = 0 { !"Snowman and Thug were killed.\n" COLOR YELLOW "\I\BThree months later....\i\b\n" pause COLOR TEXTCOLOR "\"Forgive me Father, for I have sinned. It has been three months and five days since my last confession. Lately I have felt rather estranged from the church, from God, from my faith. As you probably have inferred I was raised Catholic. I won't pretend that I have a decent explanation as to how I justify going out at night in this costume and with this weapon. Nor can I state to you that I was righteous in taking the lives that I did.\n" "One man. One boy. Both were responsible for killing someone so dear to me. I learned that one of them created an armor that froze her into place, rendering her helpless. I learned that the other tortured and raped my love before shooting her repeatedly with a shotgun. I do believe in the preciousness of life, Father. I do. I just couldn't think right. Or act right. I don't know. I hated them at the time. But now... well, I just don't know if they deserved to \Bdie\b.\n" "I don't know why I came here. I don't think I can really be forgiven. It was absolutely against my moral code, but at the same time, those two will \Inever\i kill again. My friends have not abandoned me, but they are distant. I have so much doubt and self-hatred.\"\n" "The priest stirs. \"You should not have come here...\"\n" "\"I know. I know... I just didn't know who else to turn to.\"\n" "\"We had to... you see, son, we had to call the police about this matter. We -- you see, your reputation is not the best.\" A lump starts to form in my throat. I try the door to the confessional. It's stuck.\n" "\"I have to go...\" The priest is yanked away. I hear a terrifyingly familiar voicebox on the other side.\n" "\"Finish what you started, Avenger. I always do.\" Mucous. \n" "The confessional begins filling up with his snot and waste. I start hammering at the door. He's somehow used some kind of goo to keep it locked up tight. I loop my sash through the screen and tug it out. Mister Mucous leaves the confessional and I scurry out the other side. \n\n The instant I am free he hammers me with a sharp punch. I launch back until I hit the church piano. Two policemen enter the church. They tell Mucous to freeze.\n" "He declines.\n" "They shoot him. They rain a hail of bullets into him. One cop takes the flank and sees me trying to get up from the piano. I raise my empty hands to display that I am absolutely no threat. But he doesn't care -- he shoots me twice. Once in my thigh, the other shot ripping through my shoulder. The priest screams at him to stop. \n" "My blood is everywhere. I hear the cop call for an ambulance. I start fading in and out of consciousness. The last thing I see, before I wake up in the hospital two days later is the cop cutting away my mask, cuffing me and taking my picture with his digicam... \n\n And I awaken to a world where everyone knows who I am.\n" endflag = 1 } if GameEvents [33] = 1 and GameEvents[34] = 0 and GameEvents[35] = 1 { !"Snowman and Mister Mucous were killed.\n" COLOR YELLOW "\I\BThree months later....\i\b\n" pause COLOR TEXTCOLOR "We are once again in battle.\n\n Word got out that I killed Mucous and Snowman. I was responsible for leaking Mucous' death. I just couldn't keep it up inside anymore. I confessed. \n" "Confession is supposed to be good for the soul. What it ended up doing cause every super-villain around to band up into one of a hundred groups in order to take \Bus\b out. \n" "We've been more lucky than good, recently. We added a couple members to the team and have won our share of fights. On this night we followed Macabre, the Texacutioner, al-Muntaqim and the AIDS Archer into a carnival. The battle is made rather dangerous due to the fact that the Texacutioner's 'powers' are simply that of a submachine gun. \n" "I tell Straw Man, one of our new recruits, to watch my back. We needed to go into a hall of mirrors. I started breaking them with my pipe. Jenn came in with me. She tells me that she can't get a good reading on whether or not there are any males present -- too much terror and emotion.\n\n \"We'll be OK, Jenn,\" I say to her. She comes up to me and gives me a very long, very wet kiss. She made me see life again after Jelena died and after I killed Mucous and Snowman. I don't know why we lapsed in concentration. I really don't. Straw Man called out, a muffled yell. We broke our kiss -- I was struck down by the AIDS Archer. I don't know where he came from. He rammed the back of his bow into my medulla. I was driven into the ground.\n" "I look up to see the Texacutioner holding Jenn down. I try to get myself up but receive a boot to the head. It flips me. The Texacutioner rips one of her wings off. He holds it aloft in the air.\n" "Jenn screams.\n" "I throw my pipe at the Texacutioner and somehow hit him. Jenn turns and breaks away from his grip. A shot of the blood squirting out of her back gets me in the eyes and I instinctively try to brush it away. The AIDS Archer slams a vial into her arm.\n" "\"Yea! I'm ballin', yo! How do you like this, \Bma'am\b? Ha!\"\n" "I throttle the little punk and choke him into unconsciousness. I drag Jenn and Straw Man out of the park. I get an ambulance for them and fight off Macabre waiting for it to arrive.\n" "Straw Man was dead on arrival at the hospital. Multiple gunshots to the face and chest. Succubus died during her blood transfusion. The Archer injected a variant of ebola. I never got to talk to her. I never got to say goodbye. She was everything to me. We had hardly been apart for the last three months and now I would never see her again.\n\n Those responsible were going to pay. With their lives. Ameba, Johnny and the Wereboar were behind me. We are going to hunt them down and torture them on end for days before finally snuffing out their lives. \n\n No matter if we have to rip this filthy city apart, brick by fucking brick.\n" endflag = 1 } if GameEvents [33] = 0 and GameEvents[34] = 1 and GameEvents[35] = 1 { !"Thug and Mister Mucous were killed.\n" COLOR YELLOW "\I\BThree months later....\i\b\n" pause COLOR TEXTCOLOR "I come to the end of an alley. I'm being pursued. Every day has been an absolute fight since I killed Mister Mucous. Snowman went to the cops and spilled everything. When word got out that I killed that kid and Mucous the NYPD dropped their stance of non-interference. I think I'm worth double dead what I would be if I were brought in alive. I think.\n\n I got some assistance from Jenn a couple days after the warrant was issued. I haven't seen her since.\n" "The last time I had real food was at least six days ago. It was a half-eaten doughnut that I beat down some college kid for. I had never experienced hunger of that sort before. It bit at my stomach, I could only ignore it for so long before I had to take something. He only had eight dollars and ninety-three cents on him. I've been living off that since. I think I slept a couple days ago, but I don't know, it's been a rainy summer and I can't remember much from day to day anymore without giving it all my concentration.\n" "My hunter for tonight briefly passes the alley but doubles back. I try like hell to blend in with the darkness, but it's not going to work. He sees me quite plainly.\n\n The thing is, I feel darkly confident. I've known that something like this would eventually come to pass. They -- the proverbial 'they' -- have been hunting me solo, not ganging up. I've been lucky in that regard.\n" "My would-be captor walks slowly down the alley. \"Venger, come on. You know I can see you. You can't hide from me...\" I come out from the shadow of the alley.\n\n \"I know,\" I tell him. I hold both of my hands out and pray that he will just walk up to me and not suspect anything from me.\n\n Luckily, that's exactly what he does.\n" "A blast. A flash of fire. The wall to my right explodes and forces about half a ton of brick and mortar onto my stalker. I remove a small explosive from the hollow section of my pipe and place it in his mouth. He's groggy and doesn't resist -- the force of the explosion probably ruptured most of his internal organs. I whisper to him; try to put him at ease for the last seconds of his life.\n\n \"I'm sorry, Johnny...\"\n" "The grenade explodes. Chunks of his brain and skull spurt out through his eyeholes and mouth. A sickly grey ooze traces down from his nose.\n\n I say a prayer. There are two left. I have to steal a large quantity of acid at a pH of at least 2.0, something that will dissolve any kind of human or bacterial or single-celled entity. And somehow, I have to figure out a way to stop Jenn from absolutely mentally dominating me the next time I see her. \n\n I miss you, Jelena, my precious Red Cloud. I do.\n" endflag = 1 } if GameEvents [33] = 1 and GameEvents[34] = 1 and GameEvents[35] = 1 { "I hear a beeping.\n\n \"Where the hell is that fucking thing coming from?\" I ask Pabski.\n\n \"Get off my fucking back, you goddamn psycho,\" he says. \"Shut the fuck up.\"\n\n \"You got a problem? Hmm? I'll drop a fucking tower on you, you greasy shit.\"\n\n \"Both of you shut up. Now,\" says Jenn. \"I hear it too. Zeke, listen for a moment. Where's it coming from?\"\n" "Pabski sighs. \"I guess... hey, wait a sec. It's by that stiff over there. Mucous.\" Pabski walks over to his body. \"Oh, fuck! Christ! Get the fuck out of here, now!\" he starts running away from his body. I start to ask him why but he cuts me off. \"He put a fucking trigger on his helmet. Run, goddammit! He knew you'd kill -- he knew Snowman is fucking dead and probably knew you killed that kid down there!\"\n" "\"What?\" asks Johnny. \"Venger, you -- \"\n\n The blast goes off. We were nowhere close to getting out of its way. I feel the heat and the a flash of white and warm everywhere... then it all fades...\n\n" endflag = 2 } endflag = 1 } } routine Reset_Old_Quips { !this routine should set all the quips for the final battle SetQuip(1,0,0) ! Johnny SetQuip(1,1,0) SetQuip(1,2,0) SetQuip(1,3,0) SetQuip(1,4,0) SetQuip(1,5,0) SetQuip(1,6,0) SetQuip(1,7,0) SetQuip(1,8,0) SetQuip(2,0,0) !Wereboar SetQuip(2,1,0) SetQuip(2,2,0) SetQuip(2,3,0) SetQuip(2,4,0) SetQuip(2,5,0) SetQuip(2,6,0) SetQuip(2,7,0) SetQuip(3,0,0) !Succubus SetQuip(3,1,0) SetQuip(3,2,0) SetQuip(3,3,0) SetQuip(3,4,0) SetQuip(3,5,0) SetQuip(3,6,0) SetQuip(3,7,0) SetQuip(3,8,0) SetQuip(3,9,0) SetQuip(3,10,0) SetQuip(3,11,0) SetQuip(3,12,0) SetQuip(3,13,0) SetQuip(3,14,0) SetQuip(3,15,0) SetQuip(3,16,0) SetQuip(3,17,0) SetQuip(3,18,0) SetQuip(3,19,0) SetQuip(3,20,0) SetQuip(3,21,0) SetQuip(3,22,0) SetQuip(3,23,0) SetQuip(3,24,0) SetQuip(3,25,0) SetQuip(4,0,0) !Ameba SetQuip(4,1,0) SetQuip(4,2,0) SetQuip(4,3,0) SetQuip(4,4,0) SetQuip(4,5,0) SetQuip(4,6,0) SetQuip(8,0,0) !AIDS Archer SetQuip(8,1,0) SetQuip(8,2,0) SetQuip(8,3,0) SetQuip(8,4,0) return } !!!!!!!!!!!!!!!!!!!!!!!!!!!!! !RED WRAITH PUZZLES daemon succubus_scene { timer 0 } event in succubus_scene { self.timer++ select(self.timer) case 3: { "Jenn notices me for what seems to be the first time. She then goes back to her introspective depression.\n" } case 5: { Succubus is special move Succubus to Battlefield "Jenn looks at me, pleads, really, and then just fades away...\n\n A passageway forms to the east.\n" } } daemon anthraxia_scene { timer 0 } event in anthraxia_scene { self.timer++ select(self.timer) case 3: { "Anthraxia looks at me expectantly.\n" } case 4: { "\"Um...\" says Anthraxia, before trailing off.\n" } case 5: { Anthraxia is special remove Anthraxia "Anthraxia fades into nothingness. A surreal, almost two-dimensional passageway opens to the east.\n" } } daemon drifter_scene { timer 0 } event in drifter_scene { self.timer++ select(self.timer) case 2: { "The drifter sneers at me and mutters something under my breath.\n" } case 5: { Drifter is special remove Drifter "The drifter tackles me and pulls out a rust-encased blade. He drives it into my throat and cuts across. It feels as if my head is attached to my neck by only the faintest whisper of skin. He chuckles to himself and kicks the side of my thigh. I press my head back onto my neck as best I can... it seems to work okay. The drifter calls me a pussy and dissipates from my view... \n\n A passageway opens to the east.\n\n My health seems to have returned.\n" } } daemon aids_scene { timer 0 } event in aids_scene { self.timer++ select(self.timer) case 2: { "\"Yeah,\" says the Archer. \"This girl is a fox, man, she's thick. Used to make videos. I think she had the record at one point. Like a thousand or two thousand guys or something.\"\n\n \"Two thousand guys? There are 7-11s that aren't that open. Are you going to use protection?\"\n" } case 3: { "\"Nah...\" says the AIDS Archer. \"She's really into serious, deep action.\"\n\n \"Aren't you worried about catching something? Like, hell, a disease or fifty?\"\n\n \"I \Iguess\i...\" he trails off. \"But what the hell am I going to use instead to please her?\"\n" } case 5: { AIDSArcher is special remove AIDSArcher "\"Later. I'm off, man! Wish me luck!\"\n\n The AIDS Archer leaves the room. A passageway opens to the east.\n" } } daemon father_scene { timer 0 } event in father_scene { self.timer++ select(self.timer) case 1: { "He stares at me intently. Seemingly completely able to read the expression of shock on my face. \"I know you...\" he waves his cigarette at me briefly. \"You're one of them 'super-heroes' from New York City.\" He grunts, scrunches his face up as if he was in intense physical pain and takes a drag on his cigarette. \"You saved a lot of people there. Yep...\"\n" } case 2: { if mask is not worn { Deactivate(self) Dad is special solvedpuz++ !GameEvents[31] = GameEvents[31] + 1 Won_Father_Scene() } else { "\"Not like my boy, nope... not like you at all,\" he says. \"Used to try to get him to come out to the backyard and throw the football around with his brother and me. Tried like hell to get that boy out of the house. Just perfectly content to sit there in front of the Sega, wastin' time with those games with all that \Iflickery shit\i... He wouldn't have anything to do with our south-of-the-border-friend no matter what you tried to do or how much you asked him.\"\n" "\"South of the border friend?\" I ask him.\n\n \"Yep. Manual Labor.\" He flashes me a brief cheshire grin.\n\n \"Riiiiiight,\" I say. \n\n \"Don't know what the hell the matter was with him. He'd always look at me with these weird eyes when he \Iwould\i make contact... I remember one time, it was right after I had my heart attack, middle of winter, I was out trying to bury that dead cat... Cold as hell out. Asked him to shovel the driveway before he went to school. I get back... didn't touch it. Some of the most pristine snow you've ever seen. I'm out there, twenty below zero, almost having myself another heart attack... and you know what he said when he got back?\"\n" "\"\II forgot...\i\" I whisper to myself...\n\n \"He forgot. \BForgot\b. How the hell -- \" he takes a puff from his cigarette, \"do you forget to shovel the snow? You can't look anywhere and not see a frickin' ton of it!\"\n" } } case 3: { if mask is not worn { Deactivate (self) Dad is special solvedpuz++ !GameEvents[31] = GameEvents[31] + 1 Won_Father_Scene() } else { "My dad begins another story...\n\n \"I took him to Rich Stadium once... to go see the Bills. He couldn't have been more than seven years old. To go see Regina. You know that game?\"\n\n Yeah. Yeah I do. But I don't think he can hear me anymore.\n" "\"Regina. The Mean Streak had never won a game in their division and with the guys they were lining up, we used to think that they never would. Thought it would be a good game to take the family to. All of a sudden, I find out that the kid is a Regina fan. He wants a Mean Streak helmet. We get him a helmet. Now he wants to wear it to the game. I don't know if you've ever been to that stadium, but most of the people who go to that game are \Bdrunk\b by kickoff. Then they get abusive. So here I am, the kid's mother is watching our youngest and I've got my kid getting up and dancing around everything Regina gets a first down. They had some kid out of Syracuse on defense who they took first in the draft and he just played his ass off. He was everywhere. Our quarterback was out with a concussion... the Bills didn't have a good line that year... this guy just went nuts. Pittman, I think. And my boy is carrying on like it was Christmas.\"\n" "He takes a pull on his cigarette and starts coughing. He recovers and shakes his head.\n" "\"They win the game. Regina. Never saw anything like it,\" he says. He looks right at me. \"I'm trying to make sure his mother gets out OK, make sure his brother isn't kidnapped. And all the while there's my boy. My flesh and blood. Marcus Daniel Stevenson. Seven years old. Taunting the locals. An' I have to tell him to shut up! We somehow got out of there, not before I had to drop some drunk who got fresh with his mother... Who the hell roots for Regina all of a sudden? My boy.\" He exhales. Another fit of coughing. \"My boy.\"\n" } } case 4: { if mask is not worn { Deactivate (self) Dad is special solvedpuz++ !GameEvents[31] = GameEvents[31] + 1 Won_Father_Scene() } else { "My dad starts really coughing fiercely. He dry heaves. A bit of blood trickles down his lips. He lets out a loan moan. I go over to try to help him up... to get him to drink something but nothing's there...\n" } } case 5: { if mask is not worn { Deactivate (self) Dad is special solvedpuz++ !GameEvents[31] = GameEvents[31] + 1 Won_Father_Scene() } else { Dad is special remove Dad Dad.hitpoints = -101 "I hear a scream... my mother emerges from the darkness. \"Douglass?\" She sees him coughing, hacking away what seems to be a pound of blood. She notices me. \"You! You get away! Right now!\" She searches for the phone and apparently finds one. She dials 911 and hysterically screeches fragments of her address and her name into it.\n" "My dad falls face down onto the table. He tumbles over and ends up in his back. His eyes roll back into his head. His mouth is completely agape and covered in deeply red, crusty streams of blood. My mother shrieks again. My little brother comes forth from the darkness... he tells me, simply, that he is thirsty...\n\n Everyone else disappears. A light beckons from the east.\n" } } case 6: { Deactivate(self) } } routine Won_Father_Scene { "I take my mask off and kneel next to him. He looks at me as if seeing me for the first time ever.\n \"You... you're...?\"\n" "\"Yeah,\" I said. I take a look towards the east -- it's getting lighter. I don't know how much time I have left. \"Look... I wish I could make up for all the time we had together that I wasted. I know you had no idea who I was when I was growing up or what was going through my mind but you affected me more than any other person. You gave me the feeling that my freedom, my destiny was a right. It wasn't an intellectual belief or a philosophy, but a feeling I have that I can not change.\"\n" "\"And you taught me to never let any person or power take our freedom away,\" I tell him. \"You taught me never to gloss over the obvious, to look carefully at absolutely everything about every situation... to matter. Really. I know I never had a chance to tell you this,\" I see the passageway to the east get larger. I know that I have my father's full attention for the first time in my life. \"but you made me the man I am today.\" He begins to fade. I finally see him smile. He knows. Blessed Christ, \Ihe knows\i. I remember, right before he leaves to tell him one last thing... \n" "\"They won! The Bills, they did! They beat...\" I can't see him anymore. I think he heard me. I hope he did. He wanted to see that for himself so badly...\n\n A passageway opens to the east.\n" remove Dad return } routine Won_Succubus_Scene { ! catchword: kiss succubus "I gently bring myself over to Jenn. It's as if she's seeing me for the first time.\n" "\"Yes, Jennifer, you're a little different. There's no denying that. But there is also no denying that in your mutation there is beauty. You will one day be able to fly. To soar through cities and look upon them from the sky. You will grow up to be a moral, just, compassionate woman who I consider to be one of my best friends. It won't be easy -- that much I am sure of. But your empathy and your caring for others is a gift. A very precious, very important gift.\"\n" "I kiss her. Once, on the lips. She opens her eyes first. I see her smiling at me. She begins to fade away... \n" "A passageway opens to the east.\n" move Succubus to Battlefield return } routine Won_Drifter_Scene { ! catchword: hit drifter "I will myself to act. Somehow, my pipe is at my side. I am in costume. I have my sweet, sweet mask. The look of shock on his face is priceless. If this is the Wraith extrapolating this from my mind, then he did a wonderful job...\n" "\"Looks like I became more of a match for you,\" I tell him. Quietly. He gets the picture and begins to run.\n" "I throw my pipe at him and trip him up. He falls to the ground. I calmly walk over to him and drag him by his neck. I hold him over the rail and let him get a great look downwards.\n" "Give me one good reason. One good reason to not throw you off.\n" "\"I'm \Bsick\b!\" he exclaims. \"Sick in the head! I ain't right!\"\n" "\"That's for sure.\" I let him drop. He shrieks. He twists his body about. And before he becomes a grease-laden spot on the carny ground I imagine a million plush buffaloes before him. He strikes them, and bounces off. Nary more than a twisted ankle. \"We're going to do this until you start to understand the concept of sympathy. And you'd better be a fast learner, because I may forget to imagine those stuffed animals that break your fall if I start laughing at your girlish mewling on the way down.\"\n" "I don't remember exactly how many times I threw him off the rail. He wet himself a couple times, which is both doubly disgusting and doubly impressive. I think, at the end, he started to understand.\n" "A passageway forms to the east.\n" remove Drifter return } routine Won_AIDS_Scene { !catchword: give pipe to archer "\"Why don't you use this, instead?\" I hand him the pipe. \"You never know who your date might have been sleeping with. This way you can still have a good time. Right?\" He considers that for a moment.\n" "\"Yeeeeees...\" He mulls it over. \"I guess it's better to be safe than sorry. But is this thing clean?\"\n" "\"You're worried about the cleanliness of a pipe but not your own unit? Dude, this girl made a gang-bang video! A whole series of them! Yes, credit to you for not caring and not holding her past against her, but if you're going to be casual about the whole thing go all the way. Don't go half-and-half! Jesus, Mary, Mother of God!\"\n" "\"Okay! Okay, goddammit. I'm sure she'll give me head. We'll both be happy. Fine. Geez... meng...\"\n" "The AIDS Archer takes the pipe and exits through the haunting eastern passageway that just suddenly appeared.\n" move pipe to HolyAvenger remove AIDSArcher return } routine Won_Anthraxia_Scene { !catchword: goes on date with her "I agree to go on a date with her. She says she'll pick me up around seven and that we can go roller blading. Sounds great, I guess.\n" "The thing is, the Wraith makes me feel as if I had to actually wait until seven o'clock. I'm sure it's just all compressed or expanded time in my mind, but sitting there for a few hours bored? He'll pay for that. Anthraxia picks me up in her Metro and we head down to the rink.\n" "I finally start to understand the point of the whole thing. While blading, she gets away from me for a bit and starts lapping me in the circle. A pack of boys -- three of the most exaggerated, lily-white boys I have ever seen in my life -- hold their arms out and clothesline her as she goes by. They collectively snort with laughter. In this particular scene, it's as if they all do the exact same thing and only have a very limited type of individualism.\n" "Anthraxia pipes back with some sharp retort and the boys pick up their abuse. They start pushing her around. What's going on is as transparent as scotch tape. I don't feel like engaging the lads in conversation -- what am I going to learn from \Ithem\i, after all? -- so I ram their heads together into a shared concussion of pain. They collapse face down on the rink.\n" "She begins her life-affirming speech. If this is the kind of happy-crappy cliched garbage the Wraith can come up with, then I'm going to feel great calling him out about it. I yell to him to knock it off and let me pass.\n" "And with that, Anthraxia fades away and a passageway forms to the east.\n" remove Anthraxia return } routine CalculateRank { if score = 100 rank = 10 elseif score > 90 rank = 9 elseif score > 80 rank = 8 elseif score > 70 rank = 7 elseif score > 60 rank = 6 elseif score > 50 rank = 5 elseif score > 40 rank = 4 elseif score > 30 rank = 3 elseif score > 20 rank = 2 elseif score > 10 rank = 1 else rank = 0 return true } replace PrintScore(end_of_game) { if end_of_game: print "" "Your score is "; print number score; " (total of "; print number MAX_SCORE; " points), in "; print number counter; if counter = 1 { " move." } else { " moves." } CalculateRank "This gives you the rank of "; print ranking[rank]; "." } ! And that's pretty much it. Special thanks to all the testers -- Greg, Lurd, Roody, Fillmore, Brian, the Milker ! and Mike, and to all the bands that let me use their songs (URT, Parrish, Bratwurst Orange, Hallow). While ACS ! probably didn't elicit quite the overall reaction that I was hoping for, I believe that I understand *why* it ! affected people in the manner that it did, and if nothing else, I got a crash course in modern day IF audience ! expectations. I feel a certain level of confidence that my next game will be able to hit in the areas that ACS ! missed, and that I never would have been able to get to that point without having done ACS. As it merges two ! of my favorite hobbies -- comics and IF -- it'll always have a soft spot in my heart. ! As for the future, as long as I can avoid hard drive crashes (whoops) car crashes (strike two) and death ! (whew) I should have a new game out this summer. Lacking a better way to end this, I'll just start homaging ! to Stan Lee. ! See you next time, true-believers! Excelsior! ! Robb Sherwin ! June 2nd, 2001 ! beaver@zombieworld.com ! www.joltcountry.com