! Dreams: A Ross Adventure ! An Inform adventure by Jonathan Schmoll and Ken Nelson ! All rights given away ! Version 0.9 Constant Story "Dreams: A Ross Adventure - "; Constant Headline "An interactive trip to dreamland by Jon Schmoll and Ken Nelson "; Constant DEBUG; Constant NORMAL_STATE = 0; ! Normal Ross Constant LOLLIPOP_STATE = 1; ! Sucker face Ross Constant ENTERPRISE_STATE = 2; ! Enterprise bridge Ross Constant BORG_STATE = 3; ! Borg Ross Constant SICK_STATE = 4; !Sick Ross Constant SILENT_STATE = 5; ! Quiet Ross Include "parser"; Include "verblib"; Include "grammar"; [ Initialise; location = Bed_Room; print "^^^Dreams can go on and on, but there comes a time when you must sleep...^^"; ]; [ PeerSub; if (noun ~= Snow_Globe) "You peer into the ", noun, " but only strain your eyes."; ]; !! Verb subroutines !! [EnergizeSub; if (player notin teleporter) "You send out good vibes."; if (player in teleporter) { print "You fade away... ^"; remove teleporter; PlayerTo(Enterprise_Bridge); ross.state = ENTERPRISE_STATE; } ]; [RideSub; if (noun ~= escalator) "Yeehaw!! You can't ride that.";]; [CrawlSub; if (noun ~= Foyer_hole or EoT_hole) "You crawl around on the ground and look silly to boot.";]; Verb "peer" "gaze" "stare" !! Verb initializations !! * noun -> Peer * "into" noun -> Peer * "in" noun -> Peer; Verb "energize" * -> Energize * noun -> Energize; Verb "ride" * noun -> Ride * "in" noun -> Ride * "on" noun -> Ride; Verb "crawl" * noun -> Crawl * "in" noun -> Crawl * "into" noun -> Crawl; !------------------------------------------------------------------------------------- ! The Bedroom !------------------------------------------------------------------------------------- Object Bed_Room "Your Bed room" has light with name "bed room" "your bed room", out_to [; if (door has open && ross notin player) "You'd really rather get back to sleep."; if (door has open) return End_of_Time; if (door hasnt open) "You can't go anywhere without opening that door first."; ], description [; if (self has general && doorway has open) "It's your bed room, at least you're pretty sure it is. Everything looks as you remember it, just hazier. It's like your dreaming, but... you can't be. As you look around the room, nothing seems out of place. You see your desk, with a lamp and what looks like a snow globe on it, and the door. The windows look black. It must be the middle of the night. You can go OUT from here."; if (self has general && ross in player) "It's your bed room, at least you're pretty sure it is. Everything looks as you remember it, just hazier. It's like your dreaming, but... you can't be. As you look around the room, nothing seems out of place. You see your desk, with a lamp and what looks like a snow globe on it, and the door. The windows look black. It must be the middle of the night."; if (self has general && ross notin player) "It's your bed room, and finally things are peaceful. No more snow globes, no more teleporters, no more cannons. No more Ross! You can still see your desk, with a lamp and a snow globe on it, as well as the door. But really, who cares? Things are back to normal and you are ready to go back to bed."; if (self hasnt general) { give self general; "You awake in your bed to the sound of nothing. As you sit up, you realize just how much your head hurts. Your memory too, it's all... foggy. This is your room, right? Everything looks as you remember it, just hazier. It's like your dreaming, but... you can't be. As you look around the room, nothing seems out of place. You see your desk, with a lamp and what looks like a snow globe on it, and the door. The windows look black. You must have woken up in the middle of the night."; } ]; Object window "window" Bed_Room has scenery with name "window" "windows" "pane" "glass" "outside", description "You peer out into the darkness. Boy... it sure is dark out there. Almost... too dark..."; Object desk "desk" Bed_Room has concealed static supporter with name "desk" "beareu" "table", description "A strong wooden desk sits in the corner of your room. It has the beautiful natural color of walnut, although you assume it's veneer. There is a desk lamp and a snow globe on it."; Object Snow_Globe "Snow Globe" Bed_Room has concealed static with name "globe" "snow globe" "snow", description [; if (self hasnt general) { give self general; "As you look into the globe, you notice that the scene isn't the usual 'snowy village', but an amazingly detailed replica of New York City, complete with moving cars, changing traffic lights, and planes flying overhead. ^ You say to yourself, 'I think I see my dad... Son-of-a-bitch is down there somewhere...'"; } if (self has general) "As you look into the globe, you notice that the scene isn't the usual 'snowy village', but an amazingly detailed replica of New York City, complete with moving cars, changing traffic lights, and planes flying overhead. Perhaps you could peer into it for a closer look?"; ], before [; !! If player types in 'peer' they are warped to NYC_Street !! Peer: if (prize in lamp && ross notin player) "You'd rather just get back to bed."; if (prize in lamp) PlayerTo(NYC_Street); if (prize notin lamp) "It's just too dark to make out any details."; ]; Object lamp "lamp" Desk has concealed static animate supporter with name "lamp" "light" "bulb", description [; if (prize in lamp) "It's a run-of-the-mill desk lamp that you stole from Blockbuster before you quit. It looks happy and is glowing brightly."; "It's a run-of-the-mill desk lamp that you stole from Blockbuster before you quit. It looks like it can be turned on."; ], before [; Take: "You'd take the lamp with you, but then you'd have to feed it."; Switchon: if (self has general) "You turn the switch a few more times, but get nothing more than a satisfying clicking noise."; if (self hasnt general) { !! Turning the lamp on causes it to burn out !! give self general; print "You click the lamp on, and it brightens up the room. After a few seconds, it goes out with a POP, mocking you."; } Switchoff: "Even though the lamp is already off, you think to yourself, 'Maybe it could be turned MORE off..'"; ], life [; Insert,Give: if (noun == prize) { !! Feeding the lamp turns it on !! move prize to lamp; "You give the lamp food to the lamp and it swallows it whole! ^The lamp begins to glow brightly."; } if (noun ~= prize) "You reach out to give ", (the) noun, " to the lamp but it doesn't want it."; Remove: "You reach out to get ", (the) noun, " and the lamp snaps at you!"; ]; Object doorway "door" Bed_Room has concealed static door with name "door" "doorway" "exit", description [; if (ross in player && door hasnt open) "It's quite a door."; if (ross in player && door has open) "Outside of the doorway, all you see is a misty black void."; "You take a closer look at the door and notice something you hadn't seen before. A Ross Perot doll sits limply on the floor in front of the door. That's strange. You could have sworn you sold him in a garage sale last year."; ], before [; Take: "You need to stop playing now."; Open: if (ross notin player) !! Ross must be away from the door to make it open !! "You try to open the door, but it won't budge. It's almost as if something is holding it shut. Creepy."; if (ross in player) give door open; "With Ross out of the way, the door swings open easily. Now you're not so sure you should have opened it. All you see before you is a misty black void. It looks like you can go OUT from here."; ]; Object ross "Ross Perot Doll" Bed_Room has animate concealed supporter with name "Ross Perot doll" "Ross" "Perot" "Ross Perot" "doll", description [; if (self notin player) "The Ross Perot doll is bar none one of the most frightening things you have ever seen. He stands about 18 inches tall, and looks vaugely like a troll."; "You can't see him when he's behind you like that, although it looks like he stole his shoes from a Cabbage Patch kid."; ], before [; Take,Push,Pull: StartDaemon(self); !! Activate Ross !! move self to player; give bed general; "As soon as you touch the Ross Perot doll, he begins to move! He scrambles up your arm and rests himself on top of your shoulders, with his feet dangling on either side of your neck."; Drop: "You throw the Ross Perot Doll on the floor. ^Ross Perot says, 'Not so fast there buck-o.' ^Ross clamps himself onto your leg. You try to shake him off, but he only climbs back up and resumes his vigil on your shoulders."; ], life [; Ask,Answer,Order: "Ross doesn't do questions."; Give,Insert: if (noun == Alka_Seltzer && key notin self) "Ross doesn't want that at the moment."; if (noun == Alka_Seltzer && key in self) { !! Make Ross throw up key !! move key to player; remove Alka_Seltzer; ross.state = NORMAL_STATE; "You feed Ross the Alka-Seltzers and he swallows them whole. Everything is fine for a second.. Then all of a sudden, Ross VOMITS all over you! Yuck! You did get that key out of him though."; } Remove: "There is NO WAY you are putting your hands in Ross's mouth."; ], state NORMAL_STATE, daemon [; give self ~general; if (random(2) == 2) rtrue; !! Ross talks 50% of the time !! new_line; switch (self.state) { NORMAL_STATE: !! Different speech states !! switch(random(14)) { 1: "Ross Perot says 'Vote for me!'"; 2: "Ross Perot says 'I like your hair.'"; 3: "Ross Perot says 'Let's go. I'm a billionaire.'"; 4: "Ross Perot says 'Now that's good eatin!'"; 5: "Ross Perot says 'Denny's, right? That's what I said.'"; 6: "Ross Perot says 'Bill Clinton slept with me.'"; 7: "Ross Perot says 'I'm pretty sure George Bush is gay.'"; 8: "Ross Perot says 'My ears stick out, and I'll hear no more about it!'"; 9: "Ross Perot says 'I own seven Burger Kings.'"; 10: "Ross Perot says 'My underwear is too tight. Help me with this, will ya?'"; 11: "Ross Perot says 'I do my OWN infomercials.'"; 12: "Ross Perot picks his ear."; 13: "You yawn."; 14: "You yawn."; } LOLLIPOP_STATE: !! If Ross has sucker on face !! switch(random(6)) { 1: "Ross Perot says 'Mmm hmmhm mmhhmmmm.'"; 2: "Ross Perot says 'Hmmhm mmm mhmhmmmhm hmm!'"; 3: "Ross Perot says 'Mmm George Bush mmhmhmm mmm.'"; 4: "Ross Perot says 'Bill mhmmhm hmmhm mmmmm hmm.'"; 5: "Ross Perot says 'Get mmhm hmmmh offa me!'"; 6: "Ross Perot says 'Mmhmm mmmhmhmmh mmhmmh mmh pissed!'"; } ENTERPRISE_STATE: !! If Ross on Enterprise Bridge !! switch(random(5)) { 1: "Ross Perot says 'Worf, you coward!' ^Worf says 'If you were any other man, I would kill you where you stand!'"; 2: "Ross Perot says 'Jean-Luc, blow up the damn ship!' ^Picard says 'Noooooooooo!'"; 3: "Ross Perot says 'You think we could stop by Burger King on our way back?' ^Picard says 'Make it so.'"; 4: "Ross Perot says 'You wanna make out?' ^Picard says 'Engage.'"; 5: "Ross Perot says 'I order you to bring me a coke.' ^Data says 'I believe I speak for all of us sir, when I say to hell with our orders.'"; } BORG_STATE: !! If Ross clones on enterprise !! switch(random(5)) { 1: "The Ross Collective says 'Resistance is futile.'"; 2: "The Ross Collective says 'You will service us.'"; 3: "The Ross Collective says 'You will be assimilated.'"; 4: "The Ross Collective says 'Your cultural and technological distinctivness will be added to our own.'"; 5: "The Ross Collective says 'There will be only Ross.'"; } SICK_STATE: !! If key in ross's stomach !! switch(random(5)) { 1: "Ross Perot says 'Nnnnngh. My stomach hurts.'"; 2: "Ross Perot says 'Hey pretty boy! Make me feel better!'"; 3: "Ross Perot says 'Man, I don't know why, but I always get sick after eatin' keys.'"; 4: "Ross Perot says 'Get me some medicine! I don't like you.'"; 5: "Ross Perot says 'I know you think I look healthy, but I'm not feelin good.'"; } SILENT_STATE: !! ross doesn't talk !! } ]; !------------------------------------------------------------------------------------- ! The End of Time !------------------------------------------------------------------------------------- Object End_of_Time "The End of Time" has light with name "misty" "blackness" "misty blackness" "void" "black" "black void" "end of time" "the end of time" "gate", out_to Bed_Room, d_to [; if (Lava_rock notin player && escalator in self) { !! if escalator, goto hell !! satan.time_left=10; StartDaemon(satan); return Ross_Hell; } ], description "As you walk into the light, you find yourself standing in a small cobblestone square. There is a wooden park bench on one side of the square with a Ficus tree and one of those sand-filled ash tray/trash can hybrids standing next to it. A street lamp on the other side of the square illuminates the place. The square is surrounded by an iron fence, save for the gate you just entered. Besides that, it's blackness as far as you can see. You never thought the end of time would be this boring. You can go back OUT if you wish."; Object street_light "Street Light" End_of_Time has scenery with name "light" "street light" "light post" "light pole" "street lamp", description "The street light gives off an yellowy glow, covering the cobblestone with a dim, eerie light."; Object ficus_tree "Ficus Tree" End_of_Time has scenery with name "tree" "ficus" "ficus tree", description "The Ficus tree looks happy, enjoying the serenity of The End of Time, although you could have sworn you saw this EXACT Ficus tree at the mall last week, right outside of Mervyn's."; Object ash_tray "Trash Can" End_of_Time has static concealed supporter with name "ash tray" "ash" "tray" "can" "trash", description "The gray cylinder stands about as tall the bench's armrest. The trash can's top is filled with sand, presumably for putting out cigarettes or small brush fires."; Object sand "Ash Tray Sand" ash_tray has static concealed supporter with name "ash tray sand" "sand", description [; if (self hasnt general) { give self general; "You move your hand though the sand, questioning your motives everytime you hit a piece of chewed gum. When you pull your hand away, you notice the tip of a key sticking out of the sand."; } if (self has general) "You don't feel like rummaging through that filthy sand again, but you can still see the top of the key you unearthed."; ]; Object key "Key" sand has concealed with name "key" "ash tray key" "sand key", description "A small shiny key. Sometimes that's all there is.", before [; Take: move self to ross; !! Ross eats the key !! if (ross.state ~= LOLLIPOP_STATE) {ross.state = SICK_STATE;} "^You reach into the ash tray sand and grab the key. As you hold it up to look at it, Ross Perot grabs it and swallows it! ^ Ross Perot says, 'Mmm... Don't ask why, but I love eatin keys.'"; ]; Object cobblestone "Cobblestone" End_of_Time has static supporter concealed with name "cobblestone" "stone" "ground", description [; if (rock in cobblestone) "You look out at the cobblestone ground and can't help but think that the End of Time is a little behind the times. For ambiance though, it's a nice touch. Looking down, you notice that one of the rocks by your feet seems to be loose. You tap it with your foot and it wiggles a little."; if (rock notin cobblestone) "You look out at the cobblestone ground and can't help but think that the End of Time is a little behind the times. For ambiance though, it's a nice touch."; ]; Object bench "Park Bench" End_of_Time has static concealed enterable with name "bench" "park bench" "wooden bench", description "The park bench is made of wood, with black wrought iron supports. It looks quite comfy."; Object rock "Loose cobblestone" cobblestone has concealed with name "rock" "loose stone" "loose cobblestone", description "A loose rock rests uneasily among the rest of the cobblestones.", before [; Take,Push,Pull: !! Get rid of the stone !! move rock to nothing; "You pick up the loose cobblestone and toss it aside, revealing a cute little red button."; ]; Object red_button "Red button" cobblestone has concealed static with name "button" "red button", description "A small red button protrudes from the cobblestone.", before [; Push: if (self hasnt general && rock notin cobblestone) { !! activates slot machine on button press !! give self general; move Slot_Machine to End_of_Time; "As you depress the button, you hear the faint sound of a WHOOSH... and nothing more."; } if (self has general) "The button clicks, but nothing happens. You press it a few more times for good measure, because that's the kinda person you are."; ]; Object Slot_Machine "Star Wars Slot Machine" has static supporter with name "slot" "slot machine" "machine" "bucket", description "A mysterious slot machine sits in the middle of the square. It seems to have materialized out of thin air. It's got pictures of various 'Star Wars' stuff plastered all over it. Your pretty sure it's because George Lucas does it 'for the fans'. There's a lever you can pull."; Object lever "lever" Slot_Machine has static concealed with name "lever" "arm" "slot lever", description "It's a lever attached to the slot machine.", before [; Pull: if (self hasnt general) { !! Gives prize on lever pull !! give self general; move prize to Slot_Machine; "You pull the lever and the barrels on the machine start to roll. DING! One Mark Hammil. DING! TWO Mark Hammil's. DING! DING! DING! Three Mark Hammil's in a row, you are the big winner! Your prize dumps out of the bottom of the slot machine."; } if (self has general) "You pull the lever but nothing happens. You hate going out on dates like this."; ]; Object prize "brick of Lamp Food" has concealed with name "food" "lamp food" "prize" "brick", description "It's a large brick of lamp food. It seems to you that this lamp food looks suprisingly similar to Christmas fruit cake. You never knew lamps were into that.", before [; Remove,Take: !! Gives prize to player !! move Slot_Machine to nothing; move prize to player; "You reach into the slot machine to grab your prize. As soon as you get your hands on it, the rest of the machine disappears with a POOF and a puff of smoke."; ]; Object teleporter "Teleporter Pad" has static enterable with name "teleporter" "teleporter pad" "pad", description "There are two glowing pads, one above you and one on the ground. It looks like you could get onto it."; Object escalator "Escalator (going down)" has static with name "escalator" "down escalator" "stairs", description "It's an escalator, and it's heading down into the black mists. You could probably ride it DOWN, if you really wanted to...", before [; Ride: !! if player chooses to 'ride' !! print "You ride the escalator down...^"; satan.time_left=10; StartDaemon(satan); PlayerTo(Ross_Hell); ""; ]; Object cannon "Big Cannon" has static enterable with name "cannon" "big cannon", description [; if (player notin self) "It's a huge cannon like the kind they use in the circus. There's a string attached to the back of it."; if (player in self) "It's a huge cannon like the kind they use in the circus."; ], before [; Give,Insert: "That's too small to be fired from the cannon."; ]; Object cannon_string "Cannon Pull String" cannon has static with name "string" "string" "cord" "cannon string", description "It's a cord coming out of the back of the cannon. You assume that pulling it will fire the cannon.", before [; Pull: if (player in cannon) { !!fires cannon, sends player to heaven !! print "You reach back and pull the cannon string and BANG! you are flying off into the darkness...^"; PlayerTo(Heaven); ""; } if (player notin cannon) "The cannon fires with a BANG! but only smoke comes out. There doesn't appear to be anything in it to fire."; ]; Object fountain "Beautiful Fountain" has static animate supporter enterable with name "fountain" "beautiful" "base" "statue" "cherub" "pitcher", description [; if (player notin self) "A beautiful fountain now stands in the middle of the square. There is a statue of a little cherub holding a pitcher, which has water pouring out of it. Surrounding the statue there is a huge base which holds a pool of water. You could probably get in if you wanted to splash around a bit."; if (player in self) "A beautiful fountain now stands in the middle of the square. There is a statue of a little cherub holding a pitcher, which has water pouring out of it. Surrounding the statue there is a huge base which holds a pool of water."; ], before [; Enter: move player to self; "The water feels good on your legs as you stand in the fountain. You notice what looks like a hole at the bottom of cherub's pedestal, but you can't be sure with all this water in here."; ], life [; Give,PutOn,Insert: if (noun == Lava_rock) { !! if player puts rock in fountain, exchanges with empty fountain !! move player to End_of_Time; remove Lava_rock; remove self; move empty_fountain to End_of_Time; "You put the rock into the water and with a loud SHHHHHHHHH the water evaporates"; } ]; Object empty_fountain "Beautiful Fountain (with no water)" has enterable static with name "fountain" "beautiful" "base" "statue" "cherub" "pitcher", description [; if (player notin self) "A beautiful fountain stands in the middle of the square, and now there is not a drop of water in it. There is a statue of a little cherub holding a pitcher, and surrounding the statue there is a huge empty base."; if (player in self) "Standing in the base of the fountain, you can see that hole much better. It is smoothly cut and quite dark. It looks just big enough for you to crawl into."; ], before [; Enter: move player to self; "You step into the fountain. Now you can see that hole much better. It is smoothly cut and quite dark. It looks just big enough for you to crawl into."; ]; Object EoT_hole "hole" empty_fountain has static concealed with name "hole" "dark" "smooth", description "It is a dark hole. When you look inside, it gives the impression that it goes back a long ways. It looks just big enough for you to crawl into.", before [; Crawl: !! allows player to crawl into the hole !! print "You crawl into the hole...^"; PlayerTo(Foyer); if (ross.state ~= LOLLIPOP_STATE or SICK_STATE) ross.state = SILENT_STATE; ""; ]; !------------------------------------------------------------------------- ! Streets of NYC !------------------------------------------------------------------------- Object NYC_Street "A Street in New York City" has light with name "City" "street" "NYC" "New York City", in_to Coffee_Shop, description [; if (self has general && lollipop in kid) "You are standing on a street in the middle of Uptown Manhattan. The street stretches out in both directions, although you don't see anything interesting either way. There is a coffee shop in front of you. You could probably go IN."; if (self hasnt general) { give self general; "As you peer into the snow globe, it seems to suck you in. You fall helplessly through the glass and down into the city. Ross screams and tugs at your hair the whole way down. You slow to a stop as you near the ground, landing gently on the street."; } "You are standing on a street in the middle of Uptown Manhattan. The street stretches out in both directions, although you don't see anything interesting either way. There is a coffee shop in front of you. You could probably go IN."; ]; Object kid "little kid licking a lollipop" NYC_Street has animate supporter static with name "kid" "little" "boy" "little kid" "little boy", description "A little boy stands on the street in front of the coffee shop. This kid could seriously be anybody's annoying little cousin. He is ferociously licking a big lollipop, and making a mess of himself to boot.", life [; Ask,Answer,Order: print_ret "The boy says, 'Get away from me, mister. Your doll is scary!' ^The little boy goes back to licking his lollipop."; Show: if (noun == ross) !! get sucker from kid if shown ross !! move lollipop to ross; move self to nothing; ross.state = LOLLIPOP_STATE; "The little boy's face turns white. He chucks the sucker at Ross Perot's face and runs away screaming."; ]; Object lollipop "Lollipop" kid has concealed animate supporter with name "lollipop" "sucker", description [; if (self in kid) "The Lollipop looks like a huge disk, with rainbow swirls thoughout. Judging by the way the kid is wolfing it down, it must be delicious."; if (self in ross) "The sucker is stuck to Ross's face! He looks pretty pissed."; if (cotton_candy in self) "The lollipop with the impression of Ross Perot's face is packed full of cotton candy."; "The Lollipop has formed itself into a perfect impression of Ross Perot's face. It's almost as frightening as Ross himself. Funny, but now it almost looks like some kind of bizarre mould."; ], before [; Remove,Take: if (lollipop in kid) "You reach out to grab the sucker from the boy, and he whacks your hand with it! ^^ The little kid says, 'Back off!'"; if (lollipop in ross) !! get sucker off ross's face !! move lollipop to player; if (key in ross) {ross.state = SICK_STATE;} if (key notin ross) { ross.state = NORMAL_STATE;} "You peeeeeeel the sucker from Ross's face. ^^ Ross Perot says 'Dammit! That's the problem with this country! When I get elected, no more lollipops for little kids!'"; ], life [; Give,Insert: !! putting the cotton candy into the sucker !! if (noun == cotton_candy) { move cotton_candy to self; "You pack the cotton candy into the lollipop mould."; } ]; !------------------------------------------------------------------------- ! Coffe Shop Near the End of Time !------------------------------------------------------------------------- Object Coffee_Shop "Coffee Shop Near the End of Time" has light with name "coffee shop" "Near the End of Time" "shop", in_to Bathroom, description "You step into the coffee shop and look around. It looks like every other coffee shop you've ever been in. At least, it does until the walls melt away. Suddenly you find yourself standing in the middle of space, surrounded by stars. Everything which was previously in the coffee shop is still there: chairs, a big couch, and the bar. There seems to be an invisible floor beneath you. Even the entrance you just walked in has vanished, leaving only stars. There is, however, a door with a sign above it reading: IN to bathroom."; Object couch "big comfy couch" Coffee_Shop has concealed static with name "couch" "comfy" "big couch", description "It's a large beige colored couch. Chandler looks quite comfortable."; Object chairs "Some chairs" Coffee_Shop has scenery with name "chair" "chairs", description "You see various chairs scattered about the place. None of them look particularly interesting, unless you're into that sort of thing."; Object Chandler "Chandler" Coffee_Shop has animate static with name "Chandler", description "Chandler sits on the couch sipping a cup of coffee and reading a newspaper. You assume Monica will be along any minute now.", life [; !! ask chandler questions !! Askfor,Ask,Order: if (noun == INROOM_OBJ1) { "Chandler says 'Hey, can you go tell Joey to get out of the bathroom? He's been in there for like half an hour."; } if (noun == Coffee_Shop) { "Chandler says 'I didn't notice anything wierd."; } if (noun == couch) { "Chandler says 'Sure, you can sit down, but I wouldn't wanna be you if Monica shows up."; } if (noun == Alka_Seltzer) { "Chandler says 'Ross left them here yesterday. I think they're for his anger management class."; } else "Chandler says 'I have no idea. Ask Monica.'"; Show: if (noun == ross) "AUUUUUUUUGGH!"; ]; Object bar "Coffee bar" Coffee_Shop has static concealed supporter with name "bar" "coffee bar", description "The bar is covered with coffee cups of all sorts. There is also a pack of Alka-Seltzer tablets on the counter top."; Object Alka_Seltzer "Pack of Alka-Seltzer Tablets" bar has concealed with name "alka-selzer" "alka-seltzers" "alka" "seltzer" "tablet" "tablets" "pills", description "It's one of those little Alka-Seltzer two packs. It might be handy if someone has an upset stomach."; Object INROOM_OBJ1 "IN ROOM OBJECT 1" Coffee_Shop !! so chandler understands questions !! has static concealed with name "Bathroom" "Joey" "friends" "friend"; !------------------------------------------------------------------------- ! The Bathroom !------------------------------------------------------------------------- Object Bathroom "The Bathroom" has light with name "bathroom" "The bathroom" "washroom", out_to Coffee_Shop, description "You step into the bathroom, and there are sinks, stalls, urinals, even walls. It looks exactly like a bathroom. A thin rope hangs against the far wall. You can go back out to the coffee shop if you want."; Object stall "Bathroom stalls" Bathroom has scenery with name "stall" "stalls" "toilet" "toilets", description "You are about to take a closer look when you realize you're talking about toilets here."; Object sink "Bathroom sink" Bathroom has scenery with name "sink" "faucet" "bathroom sink", description "A shiny white sink. Not EVERYTHING can be interesting, ya know."; Object Joey "Joey" Bathroom has static animate with name "Joey" "Tribiani", description "Joey is standing in front of the sink, fixing his hair.", life [; Tell,Askfor,Ask,Order: !! get joey out of the bathroom !! if (noun == INROOM_OBJ2 && self in Bathroom) { move Joey to couch; "Joey says 'Chandler's looking for me? Okay, thanks. Take it easy.' ^Joey walks out of the bathroom."; } if (noun ~= INROOM_OBJ2) "Joey says 'That's how they do pants!'"; ]; Object bathroom_cord "rope" bathroom has static concealed with name "cord" "rope" "thin" "string", description "It's a little rope coming out of the ceiling. Looks like you could pull it.", before [; Pull: if (Joey in Bathroom) "You can't pull the rope with Joey standing in front of it. You wouldn't want to be rude."; if (Joey notin Bathroom) { !! return player to bedroom !! print "You reach out and pull the rope...^"; PlayerTo(Bed_Room); if (teleporter hasnt general) { give teleporter general; move teleporter to End_of_Time; } ""; } ]; Object INROOM_OBJ2 "In Room Object 2" Bathroom !! so joey understands questions !! has static concealed with name "Chandler" "coffee"; !------------------------------------------------------------------------- ! The Enterprise Bridge !------------------------------------------------------------------------- Object Enterprise_Bridge "The Bridge of the Enterprise D" has light with name "bridge" "enterprise" "enterprise bridge", !! doesn't allow down if ross clones activated !! d_to [; if (ross_clones notin self) {return Rikers_Room;} if (ross_clones in self) "You can't take the turbo lift. It's full of Ross clones!"; ], description [; if (self hasnt general) { if (ross_clones notin self && ross.state ~= LOLLIPOP_STATE) { ross.state = ENTERPRISE_BRIDGE;} give self general; "You rematerialize and find yourself on the bridge of the Enterprise, model number NCC1701-D. Worf is at tactical. Data is at the con. Picard is staring out of the view screen as the stars blink by in warp space. Expendables walk around busily with no particular task to perform. William Shanter is sitting in a folding chair in the corner, picking lint off his shirt. He just wants to be loved. The turbo lift door keeps sliding open, and then closing again. You may be able to ride it DOWN."; } if (self has general) "You are on the bridge of the Enterprise D. Worf is at tactical. Data is at the con. Picard is staring out of the view screen as the stars blink by in warp space. Expendables walk around busily with no particular task to perform. William Shanter is sitting in a folding chair in the corner, picking lint off his shirt. The turbo lift door keeps sliding open, and then closing again. You may be able to ride it DOWN."; if (ross_clones in self) "You are standing on the bridge of the Enterprise D. Crew members stand frozen in terror as dozens of miniature Ross Perot clones run about."; ]; Object Picard "Captain Picard" Enterprise_Bridge has animate static concealed with name "Captain" "Picard" "captain picard" "jean-luc", description "The lights glisten lustily on Captain Picard's head. He has a look of consternation on his face, most likely thinking about the woefully seductive Beverly Crusher. ", time_left 0, daemon [ t; t=--(self.time_left); !! sets up end of time and returns player to end of time !! if (t==0) { print "^Picard looks furiously in your direction. ^Picard says 'Get off my ship and take that thing with you!'^"; ross.state = NORMAL_STATE; PlayerTo(Bed_Room); move cannon to End_of_Time; move escalator to End_of_Time; move fountain to End_of_Time; StopDaemon(self); ""; } if (t==1) "^ Data says 'Captain, decks 2 through 14 have filled with the replications. We must do something quickly, or we will lose the Enterprise.'"; if (t==2) "^ Picard says 'Data. What is happening? ^Data says 'Captain, it seems the ship is being over run by miniature replications of a late 20th century minor political figure.'"; if (t==3) "^ Worf says 'Captain, there is a replicator malfunction in Commander Riker's room. I am trying to contact him, but both he and Counselor Troi appear to be unreachable.'"; ]; Object Data "Lt. Commander Data" Enterprise_Bridge has animate static concealed with name "data" "lt. commander data", description "Lt. Commander Data is sitting at the con. He may be dreaming of electric sheep, but you can't be sure.", life [; Ask, Answer, Order: "Data is too busy for you right now."; ]; Object Worf "Lt. Worf" Enterprise_Bridge has animate static concealed with name "worf" "lt worf" "klingon", description "Lt. Worf is standing at tactical. He looks pissed.", life [; Ask, Answer, Order: "Worf is too pissed for you right now."; ]; Object Shanter "William Shatner" Enterprise_Bridge has animate static concealed with name "bill" "shatner" "william shatner" "Kirk" "captain Kirk", description "It's William Shatner. He just wants to be loved.", life [; Ask, Answer, Order: "Eww! Don't talk to William Shatner!"; ]; !------------------------------------------------------------------------- ! Commander Riker's room !------------------------------------------------------------------------- Object Rikers_Room "Commander Riker's room" has light with name "room" "riker" "rikers room" "riker room" "wills room", u_to Enterprise_Bridge, description [; if (self hasnt general) { give self general; ross.state = SILENT_STATE; "You take the turbo lift down. When the door opens again, you exit and walk down the hall. As you pass by a door, Ross says 'There! There!' Who are you to argue with Ross? You walk in the door and find yourself in Commander Riker's room. The lights are dimmed and some soft alien music is playing. There is a table with a note on it and some other various pieces of furniture. You also spot a control panel and the replicator on one of the walls."; } "You are in Commander Riker's room. The lights are dimmed and some soft alien music is playing. There is a table with a note on it and some other various pieces of furniture. You also spot a control panel and the replicator on one of the walls."; ]; Object table "sleek looking table" Rikers_Room has concealed static supporter with name "table" "desk", description "The table has a distinctively Trek look to it, with smooth lines and too-shiney surfaces. You wish it was in your room. It looks looks like Will has left a note here."; Object note "note from Riker" table has concealed static supporter with name "note" "note from riker" "note from will" "rikers note", description [; if (self hasnt general) { give self general; "The note reads: ^^Deana, ^ Make yourself comfortable, I'll be right there. Please use the replicator for ANYTHING you want. Will."; } if (self has general) "The note reads: ^^Deana, ^ Make yourself comfortable, I'll be right there. Please use the replicator for ANYTHING you want. Will."; ], before [; Take: if (self hasnt general) "Perhaps you should read it first?"; if (self has general) "You reach out to take the note, but stop yourself. You always liked Riker, and if Troi's down with a little Will action, you're all for it."; ]; Object panel "control panel" Rikers_Room has static concealed supporter with name "control" "controls" "control panel" "computer panel" "panel", description "It's a computer panel. You assume it controls all of the functions in Will's room, but you don't want mess around. You do notice a seperate button that controls the replicator though."; Object replicator_button "replicator button" Rikers_Room !! turns replicator on !! has static concealed switchable with name "button" "computer button" "panel button", description "It looks like the button to activate the replicator.", before [; Push,Pull: if (self hasnt on) { give self on; "You push the button and the replicator turns on."; } if (self has on) { give self ~on; "You push the button and the replicator turns off again."; } ]; Object replicator "replicator" Rikers_Room has static concealed animate with name "replicator" "copier" "duplicator" "computer", description [; if (replicator_button hasnt on) "It's a standard issue Federation replicator. You can probably just ask it for something and it will make it for you. The replicator is currently offline."; if (replicator_button has on) "It's a standard issue Federation replicator. You can probably just ask it for something and it will make it for you. The replicator is online."; ], life [; Askfor,Ask,Order: !! replicates ross clones !! if (noun == ross && replicator_button has on) { self.time_left=5; StartDaemon(self); give self general; "The computer says 'There is a temporal phase shift surrounding this particular replicator. Infinite replication processing.' ^^Miniature Ross Perot clones begin pouring out of the replicator."; } ! if (replicator_button hasnt on) ! "The replicator is currently offline."; ! if (noun ~= ross && replicator_button has on) "The computer says 'Replicating ", noun, "'s is illegal in the 24th century.Process !aborting."; ], time_left 0, daemon [ t; t=--(self.time_left); if (t==0) { move ross_clones to Enterprise_Bridge; !! pushes player to bridge, starts picard !! PlayerTo(Enterprise_Bridge); Picard.time_left=5; StartDaemon(Picard); StopDaemon(self); "^The immense weight of infinitely replicating miniature Ross Perot clones forces you out the door! When they start spilling into the hallway, you figure it might be time to return to the bridge.^"; } if (t==1) "^The room is so full of miniature Ross Perots that you can barely see over them!"; if (t==2) { ross.state = BORG_STATE; "The room is filling up fast as the sea of Ross Perot clones rises above your waist!"; } if (t==3) "The room is filling up with Ross Perot clones! The floor is completely covered! ^ Ross Perot says 'Man, this is great!'"; ]; Object ross_clones "large number of Ross Perot clones" has static with name "large" "number" "clones" "clone", description "Dozens of little Ross Perots are walking around the bridge, and the numbers are increasing! Looks like they are riding the turbolifts to other decks. You wonder how long it will take to fill up the entire ship."; !------------------------------------------------------------------------- ! Hell !------------------------------------------------------------------------- Object Ross_Hell "The 7th Level of Hell" has light with name "hell" "7th level", description [; if (self hasnt general) { give self general; "The escalator takes you down. After a long while, you start to see a red glow from below you. As you get closer, you realize what is happening to you. This escalator is going straight to hell! You are dumped off onto ground, which is charred and hot. There is a little lava rock right by your foot. On all sides, as far as you can see, there is only smoke, fire, and tiny cubicles. It's worse than you ever thought. Hell is a giant corporate office! About 20 paces in front of you, Satan is sitting in a big leather office chair, holding a clip board and a cup of coffee."; } if (self has general && Lava_rock in self) "You are in hell! The ground is charred and hot. There is a little lava rock right by your foot. On all sides, as far as you can see, there is only smoke, fire, and tiny cubicles. Hell is a giant corporate office! About 20 paces in front of you, Satan is sitting in a big leather office chair, holding a clip board."; if (self has general && Lava_rock notin self) "You are in hell! The ground is charred and hot. On all sides, as far as you can see, there is only smoke, fire, and tiny cubicles. Hell is a giant corporate office! About 20 paces in front of you, Satan is sitting in a big leather office chair, holding a clip board."; ]; Object Lava_rock "small, useless lava rock" Ross_Hell has concealed with name "rock" "lava rock" "useless" "lava", description "A little black volcanic rock. It feels hot to the touch, and you could swear it's giving off a soft red glow from its center."; Object smoke "dirty smoke" Ross_Hell has scenery with name "smoke", description "The smoke is dirty and polluted."; Object fire "fire" Ross_Hell has scenery with name "fire", description "All this fire makes you break out in a sweat. You wipe your brow."; Object satan "Satan" Ross_Hell has animate static concealed with name "devil" "satan" "lucifer", description "The Prince of Darkness is WAY scarier in person. You think it best to stay away from him.", time_left 0, daemon [ t; t=--(self.time_left); if (t==0) { !! gives players 10 turns to find rock, or Satan kicks them out !! print "Satan points a finger at Ross. Satan says 'I knew it! I knew I knew you from somewhere! I sold you in a garage sale 2 months ago! Get out!!'^"; ross.state = NORMAL_STATE; if (Lava_rock in player) { remove escalator; } PlayerTo(End_of_Time); StopDaemon(self); ""; } if (t==3) "^Satan says 'I know you from somewhere.'"; if (t==5) "^Satan scratches his chin. ^Satan says 'Hmmmm...'"; if (t==7) "^Satan looks in your direction."; ]; !------------------------------------------------------------------------- ! Heaven !------------------------------------------------------------------------- Object Heaven "Heaven's Big Red Boat" has light with name "heaven", describe [; if (self hasnt general) { give self general; "As the darkness turns to light, you find yourself surrounded by a sea of clouds. You are about to take in the sheer beauty of this scene when WHAM! you land on the deck of a cruise ship cruising through the clouds. You get up and dust yourself off. All around you are angels in bathing suits or towels. Wow, you think to yourself, you didn't know heaven had its own cruise liner. There is a pool here with lounge chairs surrounding it, and a concession stand."; } if (self has general) "You are on the deck of heaven's Big Red Boat. All around you are angels in bathing suits or towels. Wow, you think to yourself, you didn't know heaven had its own cruise liner. There is a pool here with lounge chairs surrounding it, and a concession stand."; ]; Object deck "polished wooden deck" Heaven has scenery with name "deck" "wood" "polished", description "This has got to be the nicest wood deck you have ever seen. It's sparkling clean, and it feels like you're walking on flower petals."; Object angels "angels" Heaven has scenery with name "angels" "angel", description "These angels are the most beautiful creatures you have ever seen, and it doens't help that they are wearing bathing suits. You really want to go up and talk to some of them, but you don't want Ross to screw it up for you."; Object pool "pool" Heaven has static concealed with name "pool", description "The water looks extremely warm and inviting.", before [; Swim: "You are poised to jump into the water but stop yourself when you remember that Ross can't swim, and you KNOW he would throw a fit. You don't want an embarassing scene in heaven."; ]; Object lounge_chairs "lounge chairs" Heaven has static concealed with name "lounge" "chairs" "chair", description "These lounge chairs look so comfortable, you bet you'd fall asleep as soon as you sat down.", before [; Enter: "You start to sit down and Ross reaches out and touches the back of the chair, getting ketchup all over it! Man, he's embarassing. You stand back up and quickly wipe it off with your shirt."; ]; Object consession_stand "concession stand" Heaven has concealed static with name "concession stand" "concession" "consessions" "stand", description "It's a heavenly concession stand. Every treat and delicious morsel you ever dreamed of is being served. Behind the counter are thousands of various snacks and the like, and there is a rack of delicious looking cotton candy on the counter. The best part is, it looks like everything is free! There is a clerk behind the counter."; Object clerk "heavenly clerk" Heaven has animate concealed static with name "clerk", description "A beautiful young angel is standing behind the counter, waiting for your order. He looks extremely happy to serve you, but he frowns at Ross.", life [; Askfor,Ask,Order: !! order cotton candy from clerk !! if (noun == cotton_candy && cotton_candy in player) "The clerk says 'I'm sorry, sir. If you're not dead, you're only allowed one per customer.'"; if (noun == cotton_candy && cotton_candy notin player) { print "^The clerk says 'A good choice. Here you go.' ^The clerk hands you a wad of cotton candy. Suddenly, you are wisked away!^"; move cotton_candy to player; remove cannon; PlayerTo(End_of_Time); ""; } if (noun ~= cotton_candy) "The clerk says 'Perhaps you should order something else, sir? Something more... pliable.'"; ]; Object cotton_candy "wad of cotton candy" Heaven has concealed with name "wad" "cotton" "candy" "cotton candy", description [; if (self in lollipop) {"The cotton candy is packed tightly into the lollipop mould.";} if (self notin lollipop) "It is a fluffy wad of tasty looking cotton candy. It looks quite sculptable."; ], before [; Take,Remove: if (self in Heaven) {"You're in Heaven man! You don't want to just steal it! Maybe you should ask the clerk for it?";} if (self in lollipop) { !! get candy out of sucker !! remove self; remove lollipop; move cotton_candy_face to player; !! swap it with face wad candy !! "You take the cotton candy out of the lollipop mould. Now it's shaped like Ross Perot's face! You figure the lollipop is useless now and toss it aside."; } ]; Object cotton_candy_face "wad of cotton candy (shaped like Ross Perot's face)" with name "wad" "cotton" "candy" "cotton candy" "face", description "It is a scrunched up wad of cotton candy. The front of it is in the shape of Ross Perot's face."; !------------------------------------------------------------------------- ! Foyer to Something Good !------------------------------------------------------------------------- Object Foyer "Foyer to Something Good" has light with name "foyer" "something" "something good", in_to [; if (big_door has open) { !! if door is open, allow player in, and start gnomes !! StartDaemon(Gnomes); return Candy_Land; } ], description [; if (big_door hasnt open) "You crawl out the of hole and look around. You seem to be in some kind of foyer. There is a HUGE door in front of you. Next to the door is some kind of panel, which is closed tightly. It has a keyhole in it."; if (big_door has open) "You seem to be in some kind of foyer. The hole you crawled out of is behind you and there is a HUGE door in front of you. Next to the door is some kind of panel, which is closed tightly. The door is wide open and you can see bright sunlight through the doorway. You can go IN from here."; ]; Object foyer_hole "hole" Foyer has concealed static with name "hole" "dark" "black", description "It's the dark hole you just crawled out of.", before [; Crawl: !! allow crawl to end of time !! PlayerTo(End_of_Time); ross.state = NORMAL_STATE; ]; Object cover "Door Control Cover Panel" Foyer has static concealed supporter animate with name "device" "control" "cover" "panel", description [; if (self hasnt general) "It is a cover panel of some kind. You guess that the controls to the big door are inside it. The panel is currently closed and locked."; if (self has general) "It is a cover panel of some kind. The panel is currently open and unlocked. You can see the Impression Scanner now."; ], life [; Give,Insert,Unlock: !! use key to unlock panel !! if (noun == key) { remove key; give self general; StartDaemon(impression); "You use the key to unlock the control device panel. The key disappears and the panel swings open, revealing a scanner inside."; } ]; Object impression "Impression Scanner" cover has static concealed animate with name "impression" "impression scanner" "scanner", description [; if (cover has general) "It is some kind of impression scanning device. There is a lable reading 'Gnome Verification - Scan Here'."; ], life [; Give,Insert: !! insert ross face candy to unlock door !! if (noun == ross) "^Ross Perot says 'No way! I'm not stickin my face in there!'"; if (noun == cotton_candy_face) { give self general; give big_door open; StopDaemon(self); remove cotton_candy_face; "You insert the cotton candy face of Ross Perot into the scanner. It beeps a few times and then goes silent, but you hear the maglocks on the big door releasing. Satisfied, you toss the cotton candy aside."; } ], daemon [; print "^ The scanner says 'Face print identification please.'"; ]; Object big_door "HUGE door" Foyer has static concealed door with name "big" "big door" "door" "huge", description [; if (impression hasnt general) "A HUGE steel door towers over you. It is seems to have some kind of magnetic lock on it."; if (impression has general) "A HUGE steel door towers over you. It is unlocked but still closed."; if (impression has general && self has open) "A HUGE steel door towers over you. It is cracked open enough for you to slip through."; ], before [; Open: !! opens the door !! if (impression has general) { give self open; ross.state = SILENT_STATE; "With Herculian effort you manage to slide the door open a few feet. Light pours into the foyer from the inside."; } if (impression hasnt general) "You try to open the door but it won't budge."; ]; !------------------------------------------------------------------------- ! Candy Land !------------------------------------------------------------------------- Object Candy_Land "Candy Land" has light with description [; if (self has general) { give self general; "You step through the door and it shuts behind you with a BOOM! You can't help but squint your eyes in the bright sun. You are standing in a strange land filled with candy. Huge candy canes stick out of the ground like trees. Gingerbread Houses have smoke coming out of their chimneys. And all around you, tons of little Gnomes are walking about. A number of them have stopped and are looking right at you."; } if (self hasnt general) "You are standing in a strange land filled with candy. Huge candy canes stick out of the ground like trees. Gingerbread Houses have smoke coming out of their chimneys. And all around you, tons of little Gnomes are walking about. A number of them have stopped and are looking right at you."; ], in_to [; if (portal in self) return Bed_Room; ]; Object candy_canes "Candy Cane Trees" Candy_Land has scenery with name "cane" "canes", description "The candy cane trees vary in height, from little 6 inch sprouts to huge 50 foot giant red red candy canes."; Object gingerbread "Gingerbread Houses" Candy_Land has scenery with name "gingerbread" "house" "houses" "chimney" "smoke", description "The gingerbread houses are as big as your house. Some of them even have a second floor. Some of them have smoke coming out of their chimneys, and you wonder what they're making, considering the house is already baked."; Object Gnomes "group of Gnomes" Candy_Land has animate supporter with name "group" "gnomes" "group of gnomes", description "The group of Gnomes is chattering amongst themselves. Occassionally, they all look over and point at Ross.", life [; Give,Insert: !! gets rid of ross !! if (noun == ross) { move ross to Gnomes; StopDaemon(self); StopDaemon(ross); remove Gnomes; remove ross; move Portal to Candy_Land; "^Ross yells 'NOOOOOOO!' The Gnomes cheer as you hand Ross over to them! He kicks and screams, pulling his fellow Gnomes' hair and cursing your name. Luckily, the Gnomes deftly bind him with rope and raise him up above their heads. You wave goodbye to them as they walk away down road, carrying Ross on their shoulders as he thrashes about. Even when they're so far away that they're difficult to see, you can still make out faint shouts of 'Hurrah! Our king has returned!'"; } ], daemon [; new_line; !! gnomes talk about ross !! switch(random(6)) { 1: "One of the Gnomes whispers 'It's really him!'"; 2: "One of the Gnomes tells you 'Please return our king to us.'"; 3: "One of the Gnomes tells you 'Please give us our king. We have been looking for him for so long.'"; 4: "One of the Gnomes says 'I can't believe our king has returned!'"; 5: "Ross Perot says 'Can we go? I hate these guys.'"; 6: "Ross Perot says 'Let's go. I don't like it here!'"; } ]; Object Portal "Portal Home" has static with name "portal" "home", description "A swirling portal of blue light has opened. You can see your bed room inside. It looks like it's time to return and get back to bed. You can go IN to the portal if you so desire"; !---------------------------------------------------------------------------------------- Object bed "Your bed" Bed_Room has concealed static enterable with name "bed" "your bed", description [; if (self hasnt general) "It's your comfy bed. You really want to get back to sleep, but you figure you should look around first to make sure everything is okay."; if (ross in player && self has general) "It's your comfy bed. You really want to get back to sleep, but Ross keeps bugging you. You're going to have to get rid of him before you can get any quality shuteye."; if (ross notin player && self has general) "It's so quiet now with Ross gone. Looks like it's finally time to get back to sleep."; ], before [; !! get in bed for end game (after ross gone) !! Enter: if (self hasnt general) "You just can't seem to fall asleep. Somethings bothering you. Maybe you should just go look around."; if (ross in player && self has general) "It's your comfy bed. You really want to get back to sleep, but Ross keeps bugging you. You're going to have to get rid of him before you can get any quality shuteye."; if (ross notin player && self has general) { print "^Finally! Finally you can get some peaceful sleep. You lay your head on your pillow and let your body sink into the mattress. Things start to get hazy again as you begin to fall asleep, and your mind wanders to thoughts of Ross. Somehow... Somehow you just know he'll be back. Oh well, you think to yourself, it usually takes him a while to escape from the rest of the Gnomes. Time to enjoy the silence, while it lasts. You drift off into a peaceful, dreamless sleep... ^^^^Congratulations! You've finished DREAMS: A Ross Adventure. You are incredibly smart. We sincerely hope you enjoyed this trip to dreamland. Please look for future adventures from Pathetic Attempts. ^^- Created by Jonathan Schmoll and Ken Nelson -"; deadflag = 2; ""; } ];