! A Stegosaur's Night Out, v 1.00 ! Copyright 2000, Quentin D. Thompson (Ravi P. Rajkumar) ! This game is a joke, and should be taken as such.... Replace DrawStatusLine; Replace QuitSub; Constant Story "A STEGOSAUR'S NIGHT OUT"; Constant Headline "^Or, The Taming of a Brat.^ An Interactive Revenge Comedy^ Copyright 2000, Quentin D. Thompson.^ Based on characters created by Adam Cadre.^^ [Please roar ~ABOUT~ for further details.]^"; Attribute legible; Array printed_text table 64; Include "Parser"; Object LibraryMessages with before [; Strong, Mild: "That's so....human. Try growling instead."; Score: print "The play is played out"; rtrue; ]; Include "Verblib"; [ HitWithSub; "If you wish to attack something, do it; it isn't like you're War Minister Wehrkeit and have a choice of weapons or something."; ]; [ Boldface x; style bold; print (string) x; style roman; rtrue; ]; [ XyzzySub; deadflag = 9; "A hollow voice says, ~Very well. You don't know what you're asking for, but here you go.....~^^ And, in fact, within minutes the whole Palace is abuzz, with the sounds of helicopters and tanks drawing nearer. Within half an hour, half the Viennese army is on the front lawn. Within an hour, every inhabitant of the palace - including Charles and yourself - is dead meat."; ]; [ ReadSub; "That's not something you can read."; ]; [ RoarSub; "You part your jaws and let forth a terrifying volley of sound, but no one seems to pay attention. Bother."; ]; [ HintSub; Plan.execute(); rtrue; ]; [ AboutSub; print "Greetings, fellow adventurer, and welcome to "; BoldFace("A Stegosaur's Night Out"); ".^^ This game takes its idea from various sources - fittingly enough, one of them was Varicella, written by the Dino-Comp's organizer himself. Another significant influence was a stub of a conversation I once had on ifMUD, where the title of the game - though not the idea - emerged. It's not too different from Varicella - tight timing and masterly planning are the qualities required - but it's much, much shorter.^^ This game is certified 100% Barney-free. Serve when chilled. If absolutely desperate, type HELP.^^ Happy playing!^ Quentin D. Thompson"; ]; [ NoScoreSub; "No thanks, enough of that stuff goes on in the Palace already."; ]; [ QuitSub; L__M(##Quit,2); if (YesOrNo()~=0) { Thanks(); quit; } ]; [ Thanks; print "^Thanks for playing "; style bold; print "A Stegosaur's Night Out"; style roman; "!^"; ]; [ UseSub; "In this game, you'll have to think of ways of using things, for example, reading a copy of the Transformers' Instruction Manual, giving a doped sandwich to a procompsognathid, growling - what I mean is that the verb ~use~ doesn't work."; ]; [ DrawStatusLine i j; i = 0->33; if (i==0) i=80; font off; @split_window 1; @buffer_mode 0; @set_window 1; style reverse; @set_cursor 1 1; spaces(i); printed_text-->0 = 64; @output_stream 3 printed_text; print (name) location; @output_stream -3; j=(i-(printed_text-->0))/2; @set_cursor 1 j; print (name) location; spaces(j-1); style roman; @buffer_mode 1; @set_window 0; font on; ]; [ DeathMessage; switch (deadflag) { 3: print "You can't win them all"; 4: print "Glug."; 5: print "You have died unsung"; 6: print "You have become extinct"; 7: print "All's well that ends well"; 9: print "In your death you were not divided"; } ]; Object Plan "(master plan)" with execute [; print "Time is of the essence, and even a single moment of delay could be fatal. Are you sure you want to review your master plan? "; if (YesOrNo()) { self.text(); rtrue; } "^^Good for you."; ], text [; "^^In essence, you have to do the following:^^ * Get the sleeping pill into Charles' glass of water. You mustn't use too high a dose, though.^^ * Once the little twerp is asleep, get down, go north (under his bed), and activate Bonfleche's voice.^^ * When Charles gets out of bed, push the lever that activates the Skaven nerve gas. Being a hard plastic dinosaur, it doesn't harm you."; ]; Object ToBed "(first daemon)" with counter 0, daemon [; self.counter++; switch(self.counter) { 4: "^You hear footsteps drawing nearer. Obviously, Prince Charles will be here any minute..."; 5: "^You can hear voices in the distance.^^ ~Surely your Majesty does not mean to.....~ one of the Palace guards mutters.^^ ~Shut up, you horse's ass!~ Charles commands, imperiously. ~Go suck the Chef's tongue if you've got nothin' else to do.~"; 6: "^~But Your Majesty is staying up one hour past his bedtime!~ the guard protests.^^ ~Listen to me, asshole. You saw what I did to that donkey dick, Varicella? Well, you go the same way to. Go bugger my aunt, and leave me alone!~ the King orders. The guard dries up, and his footsteps lead away."; 7: if (Plan hasnt general) { deadflag = 5; print "The door to the King's bedchamber creaks, and Prince Charles enters. By some quirk, he espies you - and you haven't yet finished carrying out your master plan. He picks you up.^^ ~Yeah! This is what I'll do to you, Varicella,~ Prince Charles gloats, as he picks up the battle-axe and kneecaps you with it. ~You know what you are, Varicella? You're shitty!~ He dunks you head first in the glass of water, and you splutter inaudibly. ~Then I'll cut off your balls with a rusty knitting-needle!~ (Fortunately, the factory that made you wasn't anatomically correct, so Charles can't demonstrate his skills on you..) ~And finally, I'll......aw, fuck it,~ Prince Charles grumbles, his imagination running dry. ~He sucks, anyway.~ He tosses you in a corner of the room, where you gather dust for the next twenty years.^"; StopDaemon(self); rtrue; } print "The door creaks, and Prince Charles enters, rubbing his grubby hands together gleefully, muttering the details of Primo Varicella's torture underneath his breath. He picks up the glass of water, drains it, and before he can take three steps, he's sprawled across his four-poster bed, asleep.^^ Perfect. Now for Phase Two...^^^^^^^^^^^"; PlayerTo (DarkTop, 2); StartDaemon(InBed); StopDaemon(self); rtrue; } ]; Object InBed "(second daemon)" with counter 0, daemon [; self.counter++; switch (self.counter) { 1: "^Charles moans in his sleep. ~No, don't wanna....leave me alone, ya piece of holy shit! I don't want your crappy donuts!"; 2: "^Charles stirs and the bed creaks. He seems to be waking up..."; 3: if (player notin Centre) { switch(Location) { DarkTop: deadflag = 3; "^King Charles wakes up and blinks.^^ ~GUARDS!~ he bellows loudly. ~COME OVER HERE, YOU STUPID APES!~^^ Within a few minutes, three guards arrive, trembling and pale. ~Yes, y-your Majesty?~^^ ~I just wondered,~ Charles says truculently, ~if that pussy fag Varicella booby-trapped my room. Search the fucking room! JUMP TO IT!~ He picks up a mace, just in case the guards didn't hear him.^^ Still suffering from tremors, the guards look under the bed - the first natural place - and find the voice modulator and Skaven gas canister that Varicella placed there. Both are promptly destroyed. Then Charles remembers something else.^^ ~That pansy green dinosaur...Varicella gave it to me. Throw the fucking thing out, you cocksuckers!~^^ They take you away, but one of the guards finds you so realistic he gifts you to his youngest son. You spend the rest of your life in combats with woolly mammoths.....Ah, well..."; Bedroom: deadflag = 4; "^Charles wakes up, and sees you on the floor.^^ ~How did ya get down......GUARDS! COME HERE AT ONCE, YA PUSSIES!~^^ The guards arrive. ~See this pansy dinosaur? I think Varicella's trying to screw me with it. Destroy the piece of shit - NOW!~^^ One of the guards, eager for promotion, points his blaster at you and turns the intensity to maximum. A few seconds later, you are a bubbling mess of depolymerized ooze."; } } print "^King Charles gets out of bed with a jolt.^^ ~GUARDS!~ he screams. ~GET YOUR FILTHY BUTTS OVER HERE!~^^ The guards arrive, huffing and puffing. ~Yes, Your Majesty?~ they enquire politely.^^ ~I just dreamt that that turtle dick, Varicella, still has a trap hidden somewhere in the palace! And I'm sure some of you faggots helped him to set it - so go and find the fucking thing! HOP TO IT, DYKES!~^^ The guards mutter decorously and disperse to various points of the Palace, while Charles sits on his bed, his legs danging over the edge, thinking....^^"; StartDaemon (ToGas); StopDaemon(self); rtrue; } ]; Object ToGas "(third daemon)" with counter 0, daemon [; self.counter++; switch (self.counter) { 1: "^King Charles gets off the bed, prowling around restlessly as he listens to the alarums down below."; 2: "^~Wait a......~ Prince Charles soliloquizes. ~He could've....~^^ You hear the sound of someone rummaging through the dresser."; 3: deadflag = 6; "^~Nah.....Hey! What the fuck! Maybe.....~ Charles goes on, as another idea dawns on him. ~Over...~ He lifts the sheets and looks under the bed...^^ Needless to say, he spots you and the device.^^ ~WHAT THE FUCK?~ he screams regally. ~IS THIS YOUR IDEA OF A FUCKING PLOT, VARICELLA?~ He summons the guards in the same tone, and orders them to begin the torture of the late Palace Minister immediately.^^ As Varicella's cries of ~How unseemly!~ echo through the palace, Charles picks up his mace and beats the hell out of the device - and you. Ouch."; } ]; Object ToEnd "(fourth daemon)" with counter 0, daemon [; self.counter++; switch (self.counter) { 1: "^Charles falls on his face, trembling even more, as Bonfleche's voice continues to thunder."; 2: "^The King looks up for a minute. He's spotted the blue glow, and peers tentatively under the bed..."; 3: deadflag = 6; print "^~HA! GOTCHA!~ King Charles exclaims triumphantly, discovering the voice's source. ~THOUGH YOU COULD FOOL ME THAT WAY, YA FAGGOT, DICK-SUCKING PRIEST? TAKE THAT! AND THAT!~^^ And in a blind rage, the King picks up a nearby mallet and beats the machine - and everything around it - into small piles of putrid debris. Needless to add, you're part of that noble company. Ouch.^"; StopDaemon(self); rtrue; } ]; Object Stegosaur "plastic dinosaur" with name "plastic" "dinosaur" "stegosaur" "stegosaurus", description [; print "One look at yourself is enough to explain why Switzerland, not Piedmont, is the world's leading toy-maker. Although a stegosaurus in spirit, you've been put together with no regard whatsoever for science or comfort - if you were for real, you'd die of a prolapsed disc in three minutes flat. Your front paws are clasped together one of Papa Bonfleche's favourite altarboys, and - completing the impression of incompetence - you've been painted to look like a bad case of jaundice."; if (Battleaxe in player) "^Stuck between your forepaws is a battleaxe."; ""; ], has animate male; Object -> Battleaxe "battleaxe" with name "battle" "axe" "battleaxe" "ax" "battleax", description "That rotten kid, Charles, stuck this left-over from an old Lego box between your paws during his last ~game~, a World War VII scenario featuring a dinosaur army against a horde of marauding robot jetplanes. Typical of him, he's forgotten to remove it - which is a key element in your plans for him tonight."; Object TopOfDresser "On Prince Charles' Dresser" with description "You are sitting on top of the exquisitely carved wooden dresser that houses Prince Charles' clothes, the remainder of his ill-named toys close by. Far away is the little pest's bed, but the only way to get there is by a long drop down, which your plastic body could hardly countenance.", d_to [; if (self hasnt general) "Your master plan required you to take precautions first."; ], u_to "Unlike Charles' second favourite toy, his execrable ~turn-into-a-plane~ robot, you can't fly.", cant_go "You prowl around the dresser restlessly, parodying the strut of the late Coffers Minister."; Object -> OtherToys "toys" with name "plane" "planes" "toys" "toy" "robot" "robots" "tank" "tanks", description "The vulgus mobile of the little punk's toys is an assortment of planes and tanks, not worthy of a great predator's attention.", before [; Attack: "You have more class than that. Set your targets higher."; Take: "In your dreams."; Search: "Nope, you don't find anything."; ], has scenery pluralname; Object -> SleepingPill "sleeping pill" with name "sleeping" "pill" "dope" "Slumberyl" "tabule", describe [; if (self hasnt general) "^Next to you is a tabule of Slumberyl, the sole means with which Primo Varicella's been keeping his turbulent ward quiet these days."; "^A broken sleeping pill stands next to you."; ], description [; if (self hasnt general) "The sleeping pill is a powerful sedative that would probably knock a full-sized tyrannosaurus for a loop. It's probably the only reason why Prince Charles hasn't gone on a murdering spree yet."; "The broken pill probably contains enough Slumberyl to keep the little pest quiescent for a few hours - which suits your reptilian purposes just fine."; ], before [; Push: if (self hasnt general) "You stop and reconsider. If you remember your master plan correctly, you needed a smaller dose than the full one, to make sure Charles would wake at the right time."; give Plan general; remove self; print "You push the pill, and it falls in a graceful arc, landing in the glass of water with a soft "; style underline; print "splash"; style roman; ". It fizzes briefly on the surface, then dissolves, leaving the water in the glass as pristinely clear as it was before your intervention.^^ Now to wait for the little punk."; Attack: if (self hasnt general) { print "(with the axe)^"; give self general; remove Battleaxe; "You take a swing and wield the axe with as much power as you can muster. It strikes the pill square down the midline, but the dratted thing doesn't have the courtesy to break evenly. One half flies into fragments and scatters in the atmosphere, while the other remains intact. How unseemly!"; } "You've already cut it down to size."; Take: if (Battleaxe in self) "Your forepaws are full."; "That's not where it's required."; ], has static; Object -> Glass "glass of water" with name "glass" "cup" "tumbler" "of" "water", initial "Directly below the dresser is a tumbler of water.", description "This is the glass of water that Prince Charles half drinks and half empties on whichever Minister happens to be hanging around before turning in for the night. Its position is crucial to the success of your master plan.", before [; Receive: "You lack the joint flexibility to do that."; Attack, Push, Pull, Search, Turn, LookUnder, Touch, Taste, Enter, Open, Close, Lock, Unlock: "It's too far away."; ], has static container open; Object DarkTop "Top Of Dresser, in the dark" with name "toys" "toy" "dresser" "dresser^s" "surface", description "Night has fallen, and the lights are out; the toys and the dresser's surface are but indistinct shadows. Every second is punctuated by Charles' laboured breathing. The only way to leave is to risk the tumble down.", d_to [; print "~Here goes nothing....,~ you think, and take the dive. You fall, spin in the air and - surprisingly, land on your feet....^"; return Bedroom; ], cant_go "This is not the time to take a walk; there's a king to be preyed upon, predator!"; Object Bedroom "King Charles' Bedroom, on the floor" with name "bed" "windows" "four-poster" "rug" "velvet" "toys" "torture" "instruments" "of", description "Closed windows bar any source of natural light from the bedroom of the young and insufferable King of Piedmont; on the floor, scattered toys and instruments of torture make walking a definite problem for any human. A velvet rug covers the floor, and to the north is the path you must follow, under Charles' four-poster.", n_to [; print "You make no noise, creeping stealthily along the rug as you reach your final destination....^"; return Centre; ], u_to "Sorry, Variola Modo hasn't yet invented an anti-gravity spell. You're stuck down here.", cant_go [; switch(random(3)) { 1: "This is no time for a nocturnal stroll."; 2: "You trip over a pair of pincers, almost impale yourself on a few sharp spikes, and give it up."; 3: "There's nothing there except a few toy planes. Bah."; } ]; Object Centre "Under King Charles' Bed" with description "Paradoxically, this part of the room is well lit, though that probably has something to do with the strange device in front of you, which - though installed by Primo Varicella - is a major part of your own plan. Besides this, you note that the place hasn't been swept for at least a week. Grrr, how unseemly.", s_to "Fie! You're a stegosaurus, not a chicken!", cant_go "Hmph. Who said there was an exit that way?"; Object -> FakeCharles "Charles" with name "king" "prince" "brat" "punk" "kid" "charles", description "Though you can follow his movements with your other senses, you can't see him too well - fortunately for you.", has scenery; Object -> Device "strange device" with name "device" "gadget" "nifty" "strange" "small", initial "A small device, providing light, stands before you.", description "This small, nifty gadget, planted here by Primo Varicella as part of a plan that never came to fruition, glows a dim blue, probably due to its internal cell. The controls are small and simple: two buttons (red and green) and a lever.", add_to_scope RedButton GreenButton Lever, before [; Attack: "Useless."; Push: "Try pushing a button or the lever instead."; LookUnder, Search: "What were you expecting to find, pray?"; SwitchOn, SwitchOff: "There's no obvious way of doing that."; ], has static; Object -> RedButton "red button" with name "red" "button", description "A red circular button, with a legend written over it in thin black letters. It's supposed to produce a voice sample.", before [; Read: "The button reads: WORTHLESS COW."; Push: deadflag = 6; "As you push the button, the voice of the late Queen Sarah, Charles' mother, issues from a cleverly concealed speaker in the ceiling.^^ ~Now, Charles, you musn't.....~^^ Charles jumps up in a rage. ~SHUT UP, BITCH!~ he screams, and begins to trash his room, assaulting the dresser, the bed......it's not too long before the juggernaut exposes you.^^ ~WHAT THE??? FUCK YOU, VARICELLA!~ the King roars, and with a swift movement of his foot, he crushes your head to fragments before destroying the rest of Varicella's machine. Ouch."; Attack: "That won't help according to your plan."; ], has scenery legible; Object -> GreenButton "green button" with name "green" "button", description "A green circular button, with a legend written over it in thin black letters. It's supposed to produce a voice sample.", before [; Read: "The button reads: FELONIOUS MONK."; Push: if (self hasnt general) { give self general; StopDaemon(ToGas); StartDaemon(ToEnd); "^You ram your rigid paws against the button......^^ Within seconds, a booming male voice issues forth from a small voice transmitter, cleverly blended into the wallpaper near the ceiling....^^ ~ARE YOU PREPARED TO BE INVESTED WITH THE HOLY SEED?~^^ Charles falls to his knees and begins to whimper.^^ ~VERY WELL. ASSUME THE POSITION OF MISSIONARY REPENTANCE!~^^ ~No....don't wanna!....~ Charles whines. The noise is so loud that it echoes throughout the tower, and you can hear the footsteps of guards drawing nearer."; } "You push the button, but it refuses to budge. It's obviously locked in place."; ], has scenery legible; Object -> Lever "lever" with name "lever", description "A small lever, currently pulled down. It's meant to release an ultrafine jet of Skaven nerve gas that will only affect a person standing or kneeling just around the royal bed.", before [; Pull: "It's already as far down as it can be."; Push: if (GreenButton hasnt general) { deadflag = 6; "Stupidly, you push the lever, but you fail to hear the tell-tale hiss of escaping Skaven. Instead, there is a deafening fire-alarm sound, and a loud BOOM! Pieces of the ceiling fall to the ground, and you hear the sound of a helicopter. Then footsteps, and the sounds of armed guards entering the room.^^ A loud female voice, all too familiar to you, issues forth - Miss Sierra.^^ ~All right, now. Give me the kid, or.....~^^ But the guards - already jittery as a result of their recent orders - have no time to think. They open fire blindly, destroying everything except the king. That, of course, includes you. Ouch."; } StopDaemon(ToEnd); deadflag = 7; "Confidently, you push the lever. Good night, Prince Charles, you growl to yourself evilly as you wait for the hiss of escaping nerve gas.^^ But it never arrives. Instead, you hear the most whiny, annoying siren conceivable, echoing again and again just above your head - a loud thump - pieces of plaster falling everywhere - a rush of footsteps - the sound of rotor blades - and the report of gunfire.^^ ~Screw you, Varicella,~ a familiar voice says. You step near the edge of your lair to look on the scene....^^ Five guards lie dead, embalmed in plaster and buried in rubble. King Charles stands by the bed, his mouth gaping. And, holding him firmly with one arm, while the other returns the gun it just wielded to its holster, resplendent in black draperies, is Miss Sierra.^^ ~I knew what you were up to, Varicella. I always knew. Thank God I was able to bribe the chef to help me - and make it on time.~^^ ~What the fuck....?~ the King begins.^^ ~Shut up!~ Miss Sierra replies affectionately, effectively silencing him. ~You're coming with me, son.~^^ Charles says nothing, but clenches Miss Sierra's manicured hand tighter as she leads him up a rope ladder, beyond into the helicopter she used during her initial escape - far, far beyond the Palace's accursed walls.^^ The ten guards that arrive moments after her departure, flushed with their recent exertions, haven't an idea what to make of you, or of the King's disappearance - but decide to treat you with the utmost reverence. Five days later, the Viennese army overruns Piedmont, and the Venetian Regent declares the Stegosaurus the new motto of the Duchy of Piedmont's crest.^^ Hundreds of years from now, Piedmont's schoolchildren will be enthralled over the Mystery of the Plastic Dinosaur, and its role in the abduction of King Charles. But who needs the future? You've got your place of honour - in the Historical Museum of Vienna's latest conquest.^^"; ], has scenery; [ Initialise; @erase_window -1; ChangePlayer(Stegosaur); give player light; StartDaemon(ToBed); Location = TopOfDresser; "^^^^^^^^^Life is hard in Piedmont, even for the predators.^^ And you, a perfectly respectable stegosaurus - or rather a plastic replica of one - know this all too well. Handed over to that insufferable brat, Prince Charles, during Palace Minister Primo Varicella's coup d'etat, in which he managed to assassinate all of his rivals and gain the Regency of Piedmont, you've had to suffer, day after day, the indignity of being battered by plastic robots, assaulted by toy cars, and sneered at by your pint-sized new King.^^ But if he was bad then, he's worse now. For three weeks after the coup, Primo Varicella kept Charles under deep sedation with tablets from the palace alchemist, but Charles got wise to the fact, and hurled Varicella and his manicurist in the dungeons, to be tortured and executed the morning after.^^ Now, you liked Primo Varicella. He was the only person in the rotten state of Piedmont who recognized that you were a valuable cog in his conspiracy, and not a - ugh - child's toy. Taking a leaf from his book, you've drawn up a master plan that ought to cook Prince Charles' goose tonight - if everything goes off as it should.^^ It's nine o'clock, and you're in your usual place with Charles' other toys. In ten minutes he'll be back in his room to turn in for the night - ten minutes during which you must initiate your plan. Once he's asleep, of course, the rest is plain sailing.^^ You run over your scheme mentally once more, make sure everything you need is in place, and prepare yourself for....^"; ]; Include "Grammar"; Verb "about" * ->About; Verb "plan" "help" "walkthru" "walkthrough" * ->Hint; Verb "growl" "roar" "snarl" * ->Roar * 'at' noun ->Roar; Verb "use" * noun ->Use; Verb "flip" * noun ->Push; Verb "xyzzy" "plugh" "plover" * ->Xyzzy; Extend "score" replace * ->NoScore; Extend "read" first * legible ->Read; Extend "fullscore" replace * ->NoScore; Extend "full" replace * ->NoScore; Extend "attack" last * noun 'with' noun ->HitWith; end;