Constant Story "THE ADVENTURES OF DONNY T-BONE^"; Constant Headline "by Michael Marchetti^^"; !These are the libraries that are referenced by the compiler. Include "parser"; Include "verblib"; Include "grammar"; !These are the attributes that I have defined. When the player completes the "breath" subgoal, !player receives the breath attribute. Likewise, for the social and clothes attributes. attribute breath; !bad breath subgoal attribute clothes; !clothes subgoal attribute social; !social skills subgoal attribute has_money; !Used when the player has the money. !MY DEFINED ACTIONS ARE DECLARED BELOW..... !Used to allow the player to "talk" to objects. The parser will recognize the following forms: !"talk" noun !"talk to" noun [TalkSub; "You talk to yourself. (Talking to another person would be a lot more productive!!)";]; verb "talk" * "to" noun -> Talk * noun -> Talk ; !The scratch action is defined specifically for scratching the lottery ticket. !If the player tries to scratch any other object, a message informs the player !that you don't need to scratch that object. [ScratchSub; "Scratching that won't win the game.";]; verb "scratch" * noun -> Scratch; !Status allows the player to type in "status, and the current ranking of the subgoals is shown. [StatusSub; SubBreath.call(); SubClothes.call(); SubSocial.call(); ]; verb "status" * -> Status; !Checks for status of "bad breath" subgoal attribute. [SubBreath; if (player hasnt breath) "PROBLEM - You have very bad breath."; else "SOLVED! - Your breath is minty fresh!"; ]; !Checks for status of "social skills" subgoal attribute. [SubSocial; if (player hasnt social) "PROBLEM - Your social skills are worse than that of a brain-dead donkey."; else "SOLVED! - You conduct yourself with grace, elegance, and total class!"; ]; !Checks for status of "dorky clothes" subgoal attribute. [SubClothes; if (player hasnt clothes) "PROBLEM - Your clothes are outdated and dorky."; else "SOLVED! - Your new outfit is very classy!"; ]; !The player starts the game with this, it is a note defining the tasks in the game. Object note "written note" with name "written" "note", description "Before leaving the house this morning, you asked your neighbor for some advice for having better luck tonight. There were three main points, and you wrote them on a small piece of paper as a note to yourself. These three things are:^^1. You have very bad breath.^2. You dress like a goof.^3. Your social skills are horrible.^^You should take these suggestions very seriously, as you can't win this game until all of these problems have been remedied.^^Type in 'status' at any time to see how you're doing."; !This defines the "bar" room. Object bar "Bar" has light, with name "bar", description "The night club's bar has several stools in front of it, where several people are seated. A vast assortment of liquor bottles and brass beer taps decorate the wall behind the bar. A bartender walks back and forth behind the bar serving drinks. Also, there is a small table off to the side.^(go east: front lobby.)", e_to club_front !You can go east to the "club front" room ; !This defines the people at the bar. They are for scenery, and have no bearing on the game. Object bar_people "bar people" bar has scenery concealed with name "people", description "Several men and women are sitting at the bar, drinking, chatting, and having a good time. Unfortunately, nobody seems to want to talk to you."; !This defines the bartender. He serves no real purpose in this game, other than scenery. Object bartender "bartender" bar has animate scenery with name "bartender", description "The bartender is a tall man, who looks to be in his upper twenties. He frantically is pouring and preparing drinks, as the bar is quite busy tonight.", before [; talk:"You call for the bartender, but you can't seem to get his attention. He is very busy serving the other patrons, who are undoubtedly more important than you!"; ], life [; show,give: if (noun==money) "The bartender doesn't notice you, even when you wave money at him! Don't worry, you don't need to buy anything from him."; else "The bartender doesn't want that. In fact, he doesn't want anything that you have!"; kiss:"I hope you're joking!!!"; ]; !These are for the stools in the bar. Scenery only, has no real purpose. Object bar_chairs "bar stools" bar has scenery concealed with name "stool" "stools" "chair" "chairs", description "The bar stools don't look particularly comfortable. None of the stools are available, so you couldn't sit down anyway."; !These are for the drinks in the bar. Scenery only, has no real purpose. Object liquor "wall of drinks" bar has scenery concealed with name "wall" "liquor" "taps" "bottles", description "The wall behind the bar has multiple rows of bottles of liquor and wine. There are also draft beer taps."; !This is an important object. The table in the bar has the lottery tocket underneath. !The "LookUnder" action reveals the ticket, and automatically gives it to the player. !The ashtray is strictly scenery, although it may distract the player from finding !the ticket too soon and easily. !Once the ticket is found, the general attribute is given to the table. This way, !if the player looks under the table a second time, he will find nothing. Object bar_table "small table" bar has static concealed with name "table" "small", description "This is a small table set up in the corner. On the table, you can see an ashtray. It appears that something is under the table! Why don't you look there?", before [; Take:"You don't need the table."; LookUnder: if (self hasnt general) { give self general; move ticket to player; "You look underneath the table, and pick up the object. Well, well, well! It is an instant lottery ticket. It hasn't even been played yet! You stand up and decide to keep the lottery ticket."; } else "You look underneath the table again, but all you find is some dust and dirt. Nothing else is under there."; ]; !The ashtray is scenery, and it cannot be taken. !It's mainly there only to serve as a diversion or distraction. Object ashtray "ashtray" bar has scenery concealed with name "ashtray", description "You look in the ashtray, and you see a butt. (Takes one to know one! Ha Ha.)", before [; take:"You don't need to take the ashtray."; ]; !The lottery ticket has two states: unscratched and scratched. When the player !scratches it, it is worth money. The general attribute is there so that the !player can only scratch it once. Object ticket "lottery ticket" with name "ticket" "lottery", before [; examine: if (self hasnt general) "It is an instant lottery ticket, the kind that you scratch to play. It appears to be new, it hasn't been scratched yet!"; else "This lottery ticket is worth money! Go find a place where you can redeem the prize!"; scratch: if (self hasnt general) { give self general; "In order to win this lottery game, you must match 3 similar symbols. You scratch the ticket and uncover a Liberty Bell..... two Liberty Bells.... THREE LIBERTY BELLS!!! This ticket is a winner! And it's worth one hundred dollars! That's more than enough money to help you complete your quest. Now, you must find a place where you can redeem this ticket."; } else "You can only scratch the ticket once! Besides, you've already won! Your job now is to go cash this ticket in!!!"; ]; !This defines the old man in the bar who collects money for charity. !If you give money to him, he gives you the mints. You can only give him money, !and no other object is accepted. If the player tries to give him money when !he doesn't have any, the program tells the player that he needs to find the !money first. You can talk to the man, simply as a means for allowing the player !to figure out how to solve the puzzle. Object charity_man "man collecting charity donations" bar has animate with name "man" "charity" "collector", description "This man is collecting donations for a charity. He has a box of some sort of candies, although you have to donate before he'll give you any. He's a senior citizen, and he seems pretty quiet.", before [; talk:"You: What's up there, chief!^Man: Please give to the United Collection of Donated Moolah. Any donation you can make will help!^You: I've never heard of that charity. What's in the box there, is that candy?^Man: Well yes... but the important thing is knowing that you have helped those less fortunate than you! It will make you feel a lot better!^You: What kind of candy is it?^Man: (giving up on you) OK,OK, they're mints! If you donate at least a dollar you can have a box of mints."; ], !Since the man is animate, the following routine gives him interaction capability. life [; show,give: if (noun==money) { if (player has has_money) { if (mints hasnt general) { move mints to player; give mints general; "Seeing as you have plenty of money, you flip the man 5 bucks. Apparently, most people only donate 1 dollar, so he seems happy. He hands you a box of mints with the standard 'God Bless you, kind sir!' You seem dumbfounded, and reply with 'Huh? I didn't sneeze!' The old man laughs politely, and begins speaking to another man about making a donation."; } else "Nah, one box of mints is enough for tonight."; } "You have no money! The way it works is, you must first HAVE money in order to GIVE money!"; } else "The man doesn't want that. He will only accept a cash donation. If you don't have any money, than come back when you do!"; kiss: "NO!"; ]; !This defines the box of mints. You can only get it by giving money to the old man. !Once acquired, you can eat them to solve the "bad breath" subgoal. (This requires !the 'edible' attribute.) Object mints "box of mints" bar has concealed edible with name "box" "mints" "candy" "candies", description "A box of mints, provided by the United Collection of Donated Moolah. They look cool and refreshing!", before [; take: "You can't just TAKE it, that would be stealing! Besides, this old dude would kick your butt."; buy:"You're not technically buying mints here. If you have money, simply give it to the man."; ], !This 'after' routine gives the player good breath after the ints are eaten. after [; eat: give player breath; "Excellent! You pop the mints into your rancid-smelling mouth, and quickly kill off your bad breath! Your breath is now minty fresh!^^Congratulations! You have solved your first problem! No longer will bad breath hinder your success with the ladies! Now, you should focus on solving your other two problems. Remember, you can type in 'status' at any time."; ]; !This room is where the player starts the game. No objects are found here, but !rather this room's purpose is to act as a central point from which all other rooms !branch off. Object club_front "Front Lobby of Night Club" has light, with name "front lobby of club" "lobby" "front" "club", description "You are in the front lobby of the night club. Off to one side, you can see the bar. This is where people are drinking, eating, and talking to one another. On the other side, you see the dance floor. You can hear music coming from this dance floor, and you can spot many women there!^(go west: bar, go east: dance floor, go south: exit club and go to street.)", w_to bar, e_to dancefloor, s_to street ; !The dancefloor room initially contains two girls. Each girl is part of the puzzle for !completing a subgoal. Once her puzzle is solved, she is removed from this room, and !from the game for that matter. Once both subgoals have been completed, the dance !floor is esentially empty. Object dancefloor "Dance floor" has light, with name "dance floor" "dancefloor" "floor", description "Now you've found the party! Music is playing loudly, and lights are flashing and swirling around the floor. Men and women crowd the room, dancing, talking, and having fun. If you plan to meet girls, this is the place to do it.", w_to club_front; !The girl in red originates in the dancefloor, and is removed once the "breath" !subgoal is solved. Object red "girl in red" dancefloor has animate with name "red" "wearing" "dawn" "sullivan" "girl" "in" "woman", initial "A girl wearing red is here.", description "This girl is wearing a red outfit, and she looks very sophisticated! She's got brown hair, brown eyes, and she seems to be wearing some very expensive jewelry! You should talk to her!", before [; talk: if (player hasnt breath) "(You approach this attractive lady.)^You: Hello you fine thing!^Girl: Holy crap!!^You: What's wrong?^Girl: Your breath smells like you ate roadkill!^You: Um, hee hee, sorry! Got any gum I can have? Or mints?^Girl: No I don't.^You: OK, tell ya what. I'm gonna go freshen up my breath a bit. If I do that, will you at least talk to me?^Girl: Yes.^^Hear that? She said that if you didn't have such bad breath, she would talk to you!"; else { if (self hasnt general) { give self general; give credit general; "You approach this attractive lady, and your breath smells pleasant for a change!^You: Hey hottie, wanna go talk or something?^Girl: Well, OK. I'm so bored right now, maybe this will pass the time! So, what's your name?^You: They call me Donny T-Bone, King of the Night! And what is your name?^Girl: My name's Dawn. Dawn Sullivan.^(You can swear that her name sounds familiar.....)^Girl: I own 'Hollywood's', that clothing store down the street. I came here after work tonight to unwind.^You: Oh yeah? I know where Hollywood's is! Do you have a business card I can have?^Girl: Sure! It's in my purse here, with all of my other cards... wait a minute... OH NO!!! My credit card is missing! I must have dropped it! Well, I just hope that if someone finds it, they will be honest enough to return it. Believe me, I would owe that person BIG!!!!"; } else "You: Hi Dawn!^Dawn: Oh, hi Donny! I am so nervous, I still can't find my credit card! And I searched my entire purse! Twice!!!"; } ], life [; !You must give her the credit card to solve the puzzle. Additionally, you must have !completed the "breath" subgoal prior to talking to her. Otherwise, you recieve !messages from the game stating that you are getting ahead of yourself. show,give: if (player has breath) { if (noun==credit) { if (credit has general) { !Once you give her the credit card, several actions take place: give player clothes; !Player gets the "clothes" attribute remove red; !The girl in red is removed from the game remove credit; !The credit card is removed from your inventory, !and from the game location=club_front; !Current location is switched to club front move player to club_front; !Player is moved to this new current location !Once these actions are completed, the follwong dialogue takes place: "You: Dawn, this is your lucky day! I found your credit card!!!^Dawn: OH THANK YOU!!!! You are so kind!. I owe you big for this, name your reward!^You: Will you go out with me on a date?^Dawn: Well, uh, I'm so sorry. You see, the truth is, I have a boyfriend.^You: How come he's not here?^Dawn: Oh, uh, he had to work tonight.^You: OK Dawn, here's what I want you to do for me. Since you work at the clothing store, will you teach me how to dress better? I want to make the girls like me!^Dawn: Absolutely! I have the store key, let's go right now and pick out something nice for you! And you don't have to pay for it either, this is my gift to you!^^You and Dawn walk over to 'Hollywood's', and she picks out a sophisticated suit. You put on the new outfit, and you really look good now! Dawn escorts you out of the store, and back the the club. Dawn tells you that she cannot stay, and she drives off.^Congratulations! You have solved your second problem! Your new suit makes you look very cool! Remember, you can type in 'status' at any time to see your current status."; } else "Although it is entirely possible that the credit card belongs to her, you don't know for sure yet! Talk to her first."; } else "She doesn't want that."; } else "She isn't paying any attention to you!"; kiss: if (self has general) "Dawn smiles!"; else "SLAP!!!^(You can't go around kissing strangers!)"; ]; !The girl in green won't talk to you until you have the clothes attribute, but ultimately !gets you the "social" attribute. Object green "girl in green" dancefloor has animate with name "girl" "wearing" "green" "julia" "in" "woman", initial "A girl wearing green is here.", description "This girl is wearing a green outfit, and she looks very pretty! She's got blonde hair, blue eyes, and is a real knockout! Come on, go talk to her!", !The animate mechanics for the girl in green are similar to the girl in red. You must !have the proper pre-requisites to confront her, and you must give her the object (ring) !that she needs. Once this is done, the "social skills" subgoal is solved. before [; talk: if (player hasnt clothes) "(You approach the girl in green.)^You: What's up? Are ya from out of town?^Girl: What are you wearing!?!^You: What's wrong? My clothes RULE!^Girl: Yeah... they ruled 15 years ago! What do you think this is, Miami Vice?^You: OK, I'll go change clothes. Would you dance with me then?^Girl: (smiling) We'll see!^^Well, too bad you're dressed like a moron! Otherwise, you just might be able to get to know this girl!"; else { if (self hasnt general) { give self general; give ring general; "You: What's up! Are ya from out of town?^Girl: Nice suit! That looks really cool!^(Wow! Could this be your big break??)^You: Thank you! You're not bad yourself hot mama! My name's Donny T-Bone!^Girl: Hi Donny. My name is Julia.^You: So, wanna dance?^Girl: Well, the truth is, I'm here with my fiance.^You: You're getting married! Congratulations! Where is he?^Julia: He's here, but he is in the rest room.^You: You two must be happy.^Julia: We are, although we're both really bummed. He bought me a really beautiful diamond ring, and I lost it!^You: I'm sorry to hear that!^Julia: Well, it means a lot to us. I would be so happy if I could find that ring!"; } else "You: Hi Julia! What's up!^Julia: Oh, hi Donny! By any chance have you seen my diamond ring anyplace?"; }; ], life [; show,give: if (player has clothes) { if (noun==ring) { if (ring has general) { give player social; remove green; remove ring; move white to bar; !All 3 goals completed, place final girl in bar remove charity_man; !This removes the old man from the bar "You: Julia! I found this diamond ring over at Helmsley's! Is it yours?^Julia: Ohmygosh! Let me see that... YES this is mine! See, it's got my initials engraved on it!^You: Oh yeah, it does!^Julia: Oh, and here comes my fiance now, wait until I tell him the good news! Hey Robbie, meet Donny! He found my ring!^Robbie: All right! Thanks a lot! What can we do to repay you?^^Robbie seems like a very well mannered person. It's no wonder that he was able to find a girl like Julia! You ask Robbie to teach you some social skills. He is more than happy to do so, and the two of you sit down. He 'coaches' you for a while, and before long, you have a newfound sense of class and manners.^^Congratulations! You have solved your third problem! You are a very changed man from when you started this evening! The only goal left now, is to use your new charm to find a girl!"; } else "You don't even know her! Talk to her first."; } else "She doesn't want that."; } else "She isn't paying any attention to you!"; kiss: if (self has general) "(smiling politely)^Julia: I like you, but I already told you that I'm getting married! I'm sure my fiance wouldn't approve of that!"; else "She shrieks and runs away! In the future, you can't go around kissing girls that you don't even know!"; ]; !The girl in white is the key to winning the game. She does not appear at all in !the game until all three subgoals have been achieved. This means that the player !must have the social, clothes, and breath attributes. Until all 3 attributes are !possessed by the player, the girl in white can't be found in the game. However !when she does finally appear, she is placed in the bar, and the player must discover !that she is there. Object white "girl in white" has animate with name "girl" "wearing" "white" "in" "woman" "beautiful", initial "There is a beautiful woman in here, and she is standing all alone!", description "She is standing here by herself, and she appears to be very sad. It almost looks as if she was crying earlier! She is wearing a white dress, and you truly believe that she is the most beautiful woman you have ever laid eyes on!", before [; talk: if (self hasnt general) { give self general; "Using your newly learned manners and social skills, you approach the woman. She seems to be very sad.^You: Hello, what's the matter? How come you're so sad?^Girl: Oh, I was in here earlier with my date, and he just left with another woman! This is so humiliating!^You: I can't imagine anybody leaving you! I think you're gorgeous! Hi, my name is Donny.^Girl: Hi! My name is Jennifer.^^You know Donny, if only you could somehow console her, or cheer her up! Here's a suggestion... do you have anything you can give her as a present?"; } else "Jennifer: Oh, hi Donny! Thank you for keeping me company. I still am so hurt over being 'dumped'. But you seem so kind!"; ], life [; !The key to solving this final puzzle in to give her the rose. give,show: if (noun==rose) { if (self has general) { print "You hand the rose to Jennifer. Her face that was once sad, instantly lights up! She smiles at throws her arms around you!^Jennifer: Oh, it's so sweet Donny! You are such a great guy!^You: It's no trouble. You're worth it!^Jennifer: Ya know Donny, I was wondering if I could have your phone number. That way I can keep in touch. After all, I would like to go out with you. That is.. if you're available!^(Saying that you're available is the understatement of the century!)^You: I would love to go out with you!^Jennifer: Great! Here is my phone number. Call me, and we'll set up a date and time to go out!^^Well Donny, it looks like you've accomplished your goal! For once in your life, you are the winner!"; deadflag=2; rtrue; } else "That may be a good idea, but you should really talk to her first. Once you get to know her a little better, then you can give her presents."; } else "That may not be such a good idea. Got anything else?"; kiss: if (self has general) "You kiss Jennifer on the cheek, and she smiles. It seems that you've really cheered her up!"; else "You kiss her on the cheek, and she gives a mixed reaction of happiness and frustration."; ]; !The street gives access to the clothing store, the lounge, the drug store, and !into the original club. Object street "Street" has light, with name "street" "outside" "entrance", description "You are standing outside, just past the club's entrance. The night is calm and peaceful. There are three buildings within walking distance: a clothing store, a convenience store, and a very fancy lounge.^(go west: clothing store, go south: lounge, go east: convenience store.)", w_to clothing_store, e_to drug_store, n_to club_front,s_to lounge_entrance ; !This man sells roses outside of the club. Object rose_vendor "man selling roses" street has animate with name "man" " rose vendor" "man selling roses", description "This man is selling single long stemmed roses. He looks as if he hasn't shaved or bathed in a month.", before [; talk:"You: Hey dude! What'cha got there?^Man: Please buy a long stemmed rose, sir."; ], life [; give,show: if (noun==credit) "The man will only accept cash."; kiss: "Man: Thank you sir, but you still can't have any free roses."; ]; !This defines the rose. Object rose "long stemmed rose" street has scenery with name "rose" "roses" "long stemmed rose" "long stemmed roses", description "A rose, is a rose, is a rose. (What I'm trying to say is, IT'S A ROSE!)", before [; take: "You can't just TAKE it, that would be stealing! Besides, this rose vendor would kick your butt."; buy: if (player has has_money) { move rose to player; remove rose_vendor; "You give the vendor a few bucks, and he hands you a beautiful long stemmed rose. The man then walks off into the horizon, never to be seen or heard from again."; } else "You don't have any money!!"; ]; !This defines the money, and is a turning point in the game when the player !acquires it. In addition to adding "large sum of money" to the player's inventory, !the player receives the "has_money" attribute. This way, every time the player tries !to buy something, the program can simply check to see if the has_money attribute exists !with the player. You can not run out of money. Object money "large sum of money" with name "money" "cash", description "There is quite a bit of money here. You have more then enough left to buy anything that you may need."; !This defines the clothing store. In actuality, the player can never enter this store. !It is merely the outside of the store, which is closed. There is one point when the !player is escorted into the store by another character, although this is strictly !in the story. The player never actually goes beyond this store's front door. Object clothing_store "Clothing Store" has light, with name "clothing store" "clothes store", description "You are standing outside of 'Hollywood's', a clothing store that specializes in the most elegant formal wear. They sell designer clothes, which are very hip and very expensive. Obviously, you're not a regular customer!^^The store seems empty, and the door is locked.^(go east: street by club entrance)", e_to street ; !This sign is scenery, intended solely to inform the player that the store is closed. Object clothing_sign "sign on the door" clothing_store has scenery with name "sign" "door" "sign on the door", description "The sign reads 'CLOSED' in big bold letters. You aren't surprised that the place is closed. After all, it is late at night.", before [; open:"You can't. It's locked!"; ]; !This defines the drug store. This is where the player can exchange the lottery ticket !for money, and the credit card can be found in here. Object drug_store "Convenience Store" has light, with name "convenience store", description "You are inside 'Nine-Eleven', the 24 hour convenience store. A clerk stands behind the front counter. Also, you can see a sign behind the front counter. On the other side of the store, there is a magazine rack.^(go west: street by club entrance)", w_to street ; !The clerk is the person to give the lottery ticket to, once it is scratched. Anything !else that the clerk does (such as talk) is strictly for scenery. Object clerk "store clerk" drug_store has concealed animate with name "clerk" "store clerk" "man", description "The store clerk is big and burly. He looks tired, and hardly acknowledges your presence.", before [; talk: "You: Hey, what's up big guy!^(The clerk stares at you as if you were crazy.)^Clerk: Hi.^You: how are you on this fine evening?^Clerk: I'm here, aren't I!^You: Yes.. you are.. and I'm here too! I'm partying tonight. I have like, SO many girls wantin' a piece of me! I have to beat 'em off with a stick!^Clerk: (sarcastically) Yeah, i bet!"; ], life [; Show,Give: if (noun==ticket) { if (ticket has general) { remove ticket; move money to player; give player has_money; "Good idea! You hand the winning lottery ticket to the clerk, and he finally seems to pay attention to you. He seems to be impressed, and he smiles at you and says 'Way to go, buddy!' He goes into the cash register, and hands you one hundred dollars in cash in exchange for the ticket. Now that you have money, this puts a whole new spin on things, doesn't it!"; } else "You can't give an unscratched lottery ticket to the clerk! You have to scratch the ticket first!"; } else if (noun==money) "You don't need to buy anything from here."; kiss: "Don't ever... ever.... EVER.... try to do that again!"; ]; !This object is scenery, used to help the player solve the lottery puzzle. Object sign "sign behind the counter" drug_store has scenery with name "sign", description "Behind the counter, a sign reads 'LOTTERY TICKETS REDEEMED HERE'. Apparently, this place sells instant lottery tickets, and they pay out money for the winners!"; !The magazine rack and magazines are scenery, although the credit card under it !is important. Object rack "magazine rack" drug_store has scenery with name "rack" "magazine" "magazines", description "The magazine rack contains lots of different interesting publications! Ranging from health magazines to tabloids about aliens and Elvis sightings, there's something for everyone. Oddly, under the rack, you think that you see something! Maybe you should look under the rack.", before [; take: "Nah, there's no need to take any magazines. If you totally strike out tonight, then you can stay home all day tomorrow and read as many magazines as you want. But for now, let's stick to the plan!"; LookUnder: if (self hasnt general) { give self general; move credit to player; "You look underneath the magazine rack, and you find a credit card!! You decide to take the credit card, because you tend to take anything that isn't nailed down."; } else "You look underneath the magazine rack again, to see what else is there. Unfortunately, all that you see is 20 year old dust and dirt."; ]; !This defines the credit card. This card isn't designed to be used for buying things, !that's what the money is for. It's meant to be returned to its owner for a reward. Object credit "credit card" with name "credit" "card", description "It's a credit card! Printed on the card is the following information:^^DAWN SULLIVAN^#313810248734^Premium Member^^Don't get any twisted ideas, Donny. There's no way you could pass off this card as your own! Although it is worth keeping, because you never you when you may need it."; !This room here is actually the outside entrance. It is impossible to get into the club !by standard walking. You must talk to the bouncer. If he feels that you are worthy !enough to enter, he will let you in. Otherwise, the entrance is as far as you can go. Object lounge_entrance "Helmsley's Lounge entrance" has light, with name "helmsley^s" "helmsleys" "lounge" "elite", description "Helmley's lounge is another nightclub, only it has a much fancier atmosphere than any club you've ever visited. Generally, this lounge is where the rich and powerful socialize.^(go north: street by club entrance)", n_to street ; !The bouncer character will let you in to Helmsley's Lounge, if player has the clothes !attribute. Object bouncer "bouncer" lounge_entrance has animate with name "bouncer" "man" "guard" "doorman", initial "A bouncer is here, preventing you from entering the lounge", description "This well-dressed bouncer carefully guards the entrance to Helmsley's Lounge. This club is strictly for the upperclass members of society, and the man's job is to prevent anyone else from entering. Try talking to him, and maybe he will let you in!", before [; talk: if (player has clothes) { if (self hasnt general) { give self general; location=lounge; move player to lounge; print "You: Hey buddy!^Man: Hello sir! Wow, that is quite an exquisite suit!^You: Ya like it? Believe me, I only buy the BEST for myself. That's why I'm the king of the night scene!^Man: Please forgive me, but I don't seem to recognize you! Have you been here before?^You: No, I usually go to clubs a LOT classier than your place. I just figured I'd see how poor people party, so that's why I'm here.^(The bouncer truly believes you're an idiot, but pretends to like you. That's his job, apparently.)^Man: I.. uh, well, er... that is a nice suit, I can't deny that.^You: C'mon, do I get in or not?^Man: Yes. Right this way, sir.^"; ; rtrue; } else { location=lounge; move player to lounge; print "You: Good evening!^Man: Hello sir! I see you've returned, step right this way!^^Wow, it seems you've made yourself known around here! You walk through the doorway and make your way to the lounge.^"; ; rtrue; } } else "You: Hey buddy!^Man: I'm sorry, I can't let you in here dressed like that. We have a dress code.^You: What's wrong with what I'm wearing?^Man: This lounge has standards, and my job is to keep people like you out of here! Now back off before I bend you in half.^^Hmmm, let's stop for a moment and consider what just happened. He wouldn't let you in because you dress like an idiot. Well, maybe someday you'll do something about that!"; ], life [; attack: "Are you crazy? This bouncer outweighs you by at least 150 pounds, and you want to start a fight? I don't think so!!"; kiss: "It doesn't matter if you're a good kisser or not, that won't let you into the lounge!"; ]; !This room is inside the lounge. Object lounge "Inside Lounge" has light, with name "inside" "helmsleys" "helmsley^s" "lounge", description "Wow! This is the most luxurious place you have ever been inside! It's more then a lounge, it's practically a palace! You've been in many bars and clubs, but this is by far the most posh!^(go north: street by club entrance)", n_to street ; !This defines the diamond ring. Object ring "diamond ring" lounge with name "diamond" "ring" "small" "shiny" "object", initial "You see a small, shiny object on the floor here!", description "This is a beautiful diamond ring! It looks very expensive. Whoever dropped this must be frantic!", before [; take: move ring to player; "You pick up the diamond ring, and decide to keep it. You clearly remember the reward from returning that lost credit card, and perhaps the owner of this ring will be just as generous!"; ]; !The Initialization routine is run at the start of the program automatically. [Initialise; lookmode=2; !Verbose mode: every time player enters a room, he gets a full description location = club_front; !The starting place is the club's front lobby. move note to player; !The player begins already carrying a note. !The following dialogue is printed at the very beginning, as an introduction. "^^You are Donny T-Bone, the swinging single. The only problem is: girls hate you because you're a dork. Every Saturday night you go to the most popular night club in town -- and every time you strike out miserably with the ladies. Well, tonight you VOW to yourself that this time will be different. As you enter the club, you prepare to do whatever it takes to make tonight successful. Your mission: meet a girl and get her phone number! And so it begins.........^^"; ];