games@tekred.TEK.COM (12/01/88)
Submitted by: Richard Skrenta <skrenta@nuacc.acns.nwu.edu> Comp.sources.games: Volume 5, Issue 93 Archive-name: monster/Part06 #! /bin/sh # This is a shell archive. Remove anything before this line, then unpack # it by saving it into a file and typing "sh file". To overwrite existing # files, type "sh file -c". You can also feed this as standard input via # unshar, or by typing "sh <file", e.g.. If this archive is complete, you # will see the following message at the end: # "End of archive 6 (of 6)." # Contents: announce.txt guts.pas mon2.doc # Wrapped by billr@saab on Wed Nov 30 11:29:00 1988 PATH=/bin:/usr/bin:/usr/ucb ; export PATH if test -f 'announce.txt' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'announce.txt'\" else echo shar: Extracting \"'announce.txt'\" \(2164 characters\) sed "s/^X//" >'announce.txt' <<'END_OF_FILE' X Trudging home from the Libes late one night, you notice a figure darting Xfurtively through the shadows, obviously trying not to be seen, yet your Xeyes seemed to have been alerted to his presence, as if by instinct. There's Xsomething disturbingly peculiar about him, so you decide to follow him to see Xwhat he's doing on campus. He flashes across Sheridan road onto Emerson, then Xtakes a quick cut to the north. Again your gaze seems to be riveted to his Xform, so much so that you are hardly aware of threading your way in and out of Xthe Plex's courtyards, then back across Emerson again. Why does this guy keep Xdoubling back on himself? Does he know you are following?? Faster and faster Xthe two of you race; now you're trying not to be seen as well, either by him Xor anyone else who would be wondering what sort of activities you had been Xengaged in while out on the lakefill that would cause you to be running about Xlike a decapitated chicken. X You've just about caught up with him, when suddenly he rounds a corner and Xstops in front of a large doorway. Is it Willard? You stay behind some Xbushes so that he won't notice you, and you observe him to be fumbling in his Xbackpack. A couple of things fall out as he yanks his hand out, clutching a Xsmall, tattered slip of paper. The objects look like a large gold key and -- Xis that a crystal ball?! Hastily, he scoops them back into his pack, glances Xat the slip of paper, mumbles something -- and vanishes in a burst of Xbrilliant, multicolored light! X Now you wish you'd have gone straight home: obviously you need some rest Xafter concentrating so hard under those harsh fluorescent lights in Reserve. XBut wait, you don't remember seeing this part of the sorority quads before. XThat doorway is NOT Willard's. Then you notice that he dropped that slip of Xpaper. You decide to pick it up, since you don't know if you can find your way Xback here in the daylight. For that matter, you don't know if you can find Xyour way HOME. You look at the paper, trying to decipher the scrawled words... X X RUN USERD:[CON00907.DOLPHER]MONSTER X XWhat the --? Guess there's only one way to find out... END_OF_FILE if test 2164 -ne `wc -c <'announce.txt'`; then echo shar: \"'announce.txt'\" unpacked with wrong size! fi # end of 'announce.txt' fi if test -f 'guts.pas' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'guts.pas'\" else echo shar: Extracting \"'guts.pas'\" \(9732 characters\) sed "s/^X//" >'guts.pas' <<'END_OF_FILE' X[inherit ('sys$library:starlet')] X Xmodule guts(input,output); X Xconst X SHORT_WAIT = 0.1; X LONG_WAIT = 0.2; X maxcycle = 15; { attempting to fine tune nextkey } X Xtype X $uword = [word] 0 .. 65535; X string = varying[80] of char; X ident = packed array[1..12] of char; X X iosb_type = record X cond: $uword; X trans: $uword; X junk: unsigned; {longword} X end; X X il3 = record X buflen : $uword; X itm : $uword; X baddr : unsigned; X laddr : unsigned; X end; X X Xvar X pbrd_id: unsigned; { pasteboard id } X kbrd_id: unsigned; X pbrd_volatile: [volatile] unsigned; X mbx: [volatile] packed array[1..132] of char; X mbx_in, { channels for input and } X mbx_out: [volatile] $uword; { output to the subprocess } X pid: integer; X iosb: [volatile] iosb_type; { i/o status block } X status: [volatile] unsigned; X save_dcl_ctrl: unsigned; X trap_flag: [global,volatile] boolean; X trap_msg: [global,volatile] string; X out_chan: $uword; X vaxid: [global] packed array[1..12] of char; X advise: [external] string; X line: [global] string; X old_prompt: [global] string; X X seed: integer; X X user,uname:varying[31] of char; X sts:integer; X il:array[1..2] of il3; X key:$uword; X X userident: [global] ident; X X X[asynchronous, external (lib$signal)] Xfunction lib$signal ( X %ref status : [unsafe] unsigned) : unsigned; external; X X[asynchronous, external (str$trim)] Xfunction str$trim ( X destination_string : [class_s] packed array [$l1..$u1:integer] of char; X source_string : [class_s] packed array [$l2..$u2:integer] of char; X %ref resultant_length : $uword) : unsigned; external; X X[asynchronous, external (smg$read_keystroke)] Xfunction smg$read_keystroke ( X %ref keyboard_id : unsigned; X %ref word_integer_terminator_code : $uword; X prompt_string : [class_s] packed array [$l3..$u3:integer] of char := %immed X0; X %ref timeout : unsigned := %immed 0; X %ref display_id : unsigned := %immed 0; X %ref rendition_set : unsigned := %immed 0; X %ref rendition_complement : unsigned := %immed 0) : unsigned; external; X X[asynchronous, external (smg$create_virtual_keyboard)] Xfunction smg$create_virtual_keyboard ( X %ref keyboard_id : unsigned; X filespec : [class_s] packed array [$l2..$u2:integer] of char := %immed 0; X default_filespec : [class_s] packed array [$l3..$u3:integer] of char := %immed 0; X resultant_filespec : [class_s] X packed array [$l4..$u4:integer] of char := %immed 0) : unsigned; external; X X[asynchronous, external (lib$disable_ctrl)] Xfunction lib$disable_ctrl ( X %ref disable_mask : unsigned; X %ref old_mask : unsigned := %immed 0) : unsigned; external; X X[asynchronous, external (lib$enable_ctrl)] Xfunction lib$enable_ctrl ( X %ref enable_mask : unsigned; X %ref old_mask : unsigned := %immed 0) : unsigned; external; X X Xprocedure syscall( s: [unsafe] unsigned ); X Xbegin X if not odd( s ) then begin X lib$signal( s ); X end; Xend; X X X[external,asynchronous] Xfunction mth$random(var seed: integer): real; Xexternal; X X[global] Xfunction random: real; X Xbegin X random := mth$random(seed); Xend; X X[global] Xfunction rnd100: integer; { random int between 0 & 100, maybe } X Xbegin X rnd100 := round(mth$random(seed)*100); Xend; X X X[external] function lib$wait(seconds:[reference] real):integer; Xexternal; X X[global] Xprocedure wait(seconds: real); X Xbegin X syscall( lib$wait(seconds) ); Xend; X X[external] procedure checkevents(silent: boolean := false); Xextern; X X X[global] Xprocedure doawait(time: real); X Xbegin X syscall( lib$wait(time) ); Xend; X X X[global] Xfunction trim(s: string): string; Xvar X tmp: [static] string := ''; X Xbegin X syscall( str$trim(tmp.body,s,tmp.length) ); X trim := tmp; Xend; X X X[global] Xfunction get_userid: string; X Xbegin X il:=zero; X il[1].itm := jpi$_username; X il[1].buflen := size(user.body); X il[1].baddr := iaddress(user.body); X il[1].laddr := iaddress(user.length); X syscall($getjpiw(,,,il)); X syscall( str$trim(uname.body,user,uname.length) ); X userident := user; X get_userid := uname; Xend; X X X[global] Xprocedure putchars(s: string); Xvar X msg: packed array[1..128] of char; X len: integer; X Xbegin X msg := s; X len := length(s); X syscall($qiow(,out_chan,io$_writevblk,,,,msg,len,,,,)); Xend; X X[global] Xfunction keyget: char; Xvar X term: [static] $uword := 0; X i: integer; X Xbegin X if (smg$read_keystroke(kbrd_id,term,,0,,,) mod 2) = 0 then X keyget := chr(0) X else begin X i := term; X keyget := chr(i); X end; Xend; X X[global] function firstkey:char; Xvar X ch: char; X Xbegin X ch := keyget; X if ch = chr(0) then begin X repeat X checkevents; X doawait(LONG_WAIT); X ch := keyget; X until ch <> chr(0); X end; X firstkey := ch; Xend; X X[global] function nextkey:char; Xvar X ch: char; X cycle: integer; X Xbegin X cycle := 0; X ch := keyget; X if ch = chr(0) then begin X repeat X if cycle = maxcycle then begin X checkevents; X doawait(SHORT_WAIT); X cycle := 0; X end; X cycle := cycle + 1; X X { should doawait(SHORT_WAIT) be in the cycle check, or should X it be only in the repeat loop (done every repeat) ? X When the system gets slow, character input gets VERY slow. X Is this because of the checkevents, the wait, or is it X just a symptom of a slow VAX? } X X ch := keyget; X until ch <> chr(0); X end; X nextkey := ch; Xend; X X X[global] Xprocedure grab_line(prompt:string; var s:string;echo:boolean := true); Xvar X ch: char; X pos: integer; X i: integer; X Xbegin X old_prompt := prompt; X putchars(chr(10)+prompt); X line := ''; X ch := firstkey; X while (ch <> chr(13)) do begin X{ del char } if (ch = chr(8)) or (ch = chr(127)) then begin X case length(line) of X 0: ch := firstkey; X 1:begin X line := ''; X if echo then X putchars(chr(8)+' '+chr(8)); X ch := nextkey; X end; X 2:begin X line := line[1]; X if echo then X putchars(chr(8)+' '+chr(8)); X ch := nextkey; X end; X otherwise begin X line := substr(line,1,length(line)-1); X if echo then X putchars(chr(8)+' '+chr(8)); X ch := nextkey; X end; X end; { CASE } X{ cancel line } end { if } else if ch = chr(21) then begin X putchars(chr(13)+chr(27)+'[K'); X{ pos := length(prompt) + length(line); X if pos > 0 then X for i := 1 to pos do X putchars(chr(8)+' '+chr(8)); } X putchars(prompt); X line := ''; X ch := firstkey; X{line too long} end else if length(line) > 76 then begin X putchars(chr(7)); X ch := nextkey; X{ no ctrls } end else if ord(ch) > 31 then begin X line := line + ch; X if echo then X putchars(ch); X ch := nextkey; X end else X ch := nextkey; X{ *** ch := nextkey; *** } X end; { WHILE } X pos := length(prompt) + length(line); X X{ if pos > 0 then X for i := 1 to pos do X putchars(chr(8)); } X X putchars(chr(13)); X X s := line; Xend; X X X[global] Xprocedure setup_guts; Xvar X border: unsigned; X rows,cols: integer; X mask: unsigned; X Xbegin X seed := clock; X old_prompt := ''; X X{ border := 1; X smg$create_pasteboard(pbrd_id,,rows,cols,border); } X X smg$create_virtual_keyboard(kbrd_id); X pbrd_volatile := pbrd_id; X X syscall($assign('SYS$OUTPUT',out_chan)); X X mask := %X'02000000'; { CTRL/Y Just for DCL } X{ mask := ...21... for ctrl-t too } X syscall( lib$disable_ctrl( mask, save_dcl_ctrl )); X X mask := %X'02000008'; { nuke CTRL/Y & CTRL/C completely } X{ syscall( smg$set_out_of_band_asts(pbrd_id,mask,trapper)); } Xend; X X[global] Xprocedure finish_guts; X Xbegin X syscall( lib$enable_ctrl(save_dcl_ctrl)); { re-enable dcl ctrls } Xend; X Xend. END_OF_FILE if test 9732 -ne `wc -c <'guts.pas'`; then echo shar: \"'guts.pas'\" unpacked with wrong size! fi # end of 'guts.pas' fi if test -f 'mon2.doc' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'mon2.doc'\" else echo shar: Extracting \"'mon2.doc'\" \(26227 characters\) sed "s/^X//" >'mon2.doc' <<'END_OF_FILE' X XAppendix B: Monster Command List X XAccept/Refuse # Allow others to Link an exit here at direction # | Undo Accept XBrief Toggle printing of room descriptions XCustomize [#] Customize this room | Customize exit # | Customize object # XDescribe [#] Describe this room | Describe a feature (#) in detail XDestroy # Destroy an instance of object # (you must be holding it) XDuplicate # Make a duplicate of an already-created object. XForm/Zap # Form a new room with name # | Destroy room named # XGet/Drop # Get/Drop an object X#,Go # Go towards # (Some: N/North S/South E/East W/West U/Up D/Down) XHealth Show how healthy you are XHide/Reveal [#] Hide/Reveal yoursef | Hide object (#) XI,Inventory See what you or someone else is carrying XLink/Unlink # Link/Unlink this room to/from another via exit at direction # XLook,L [#] Look here | Look at something or someone (#) closely XMake # Make a new object named # XName # Set your game name to # XPlayers List people who have played Monster XPunch # Punch person # XQuit Leave the game XRelink Move an exit XRooms Show information about rooms you have made XSay, ' (quote) Say line of text following command to others in the room XSearch Look around the room for anything hidden XSelf # Edit a description of yourself | View #'s self-description XShow # Show option # (type SHOW ? for a list) XUnmake # Remove the form definition of object # XUse # Use object # XWear # Wear the object # XWield # Wield the weapon #; you must be holding it first XWhisper # Whisper something (prompted for) to person # XWho List of people playing Monster now XWhois # What is a player's username X?,Help This list X. (period) Repeat last command X X XAppendix C: Customization Subsystem Menus X XRoom Customization: X------------------- X XCustom> ? X XD Alter the way the room description prints XN Change how the room Name prints XP Edit the Primary room description [the default one] (same as desc) XS Edit the Secondary room description XX Define a mystery message X XG Set the location that a dropped object really Goes to XO Edit the object drop description (for drop effects) XB Edit the target room (G) "bounced in" description X XT Set the direction that the Trapdoor goes to XC Set the Chance of the trapdoor functioning X XM Define the magic object for this room XR Rename the room X XV View settings on this room XE Exit (same as quit) XQ Quit (same as exit) X? This list X X XExit customization: X------------------- X XCustom [direction]> ? X XA Set an Alias for the exit XC Conceal an exit XD Edit the exit's main Description XE EXIT custom (saves changes) XF Edit the exit's failure line XI Edit the line that others see when a player goes Into an exit XK Set the object that is the Key to this exit XL Automatically look [default] / don't look on exit XO Edit the line that people see when a player comes Out of an exit XQ QUIT Custom (saves changes) XR Require/don't require alias for exit; ignore direction XS Edit the success line XT Alter Type of exit (passage, door, etc) XV View exit information XX Require/don't require exit name to be a verb X? This list X X XObject Customization: X--------------------- X XCustom object> ? X XA "a", "an", "some", etc. XD Edit a Description of the object XF Edit the GET failure message XG Set the object required to pick up this object X1 Set the get success message XK Set the Kind of object this is XL Edit the label description ("There is a ... here.") XP Program the object based on the kind it is XR Rename the object XS Toggle the sticky bit X XU Set the object required for use X2 Set the place required for use X3 Edit the use failure description X4 Edit the use success description XV View attributes of this object X XX Edit the extra description X5 Edit extra desc #2 XE Exit (same as Quit) XQ Quit (same as Exit) X? This list X X XAppendix D: Monster Playerlist as of June 5, 1988 X Xdolpher ! Monster Manager 5-JUN-1988 1:48pm * great baths Xdasun_c ! Iceman 4-JUN-1988 10:30pm * the transporter room Xkirsten ! Kirsten 4-JUN-1988 11:20pm * ffoirefirma Xisakson ! Satan 3-JUN-1988 10:13am * satan's private hell Xtlb05405 ! Tlb05405 3-JUN-1988 11:59am * east hall Xnate ! Smaug 3-JUN-1988 7:41pm * platform 1 Xskrenta ! Faust 3-JUN-1988 8:37pm * tower room Xgary ! Monster Vice Manager 2-JUN-1988 9:50pm * inner office Xlaura ! Laura 2-JUN-1988 10:36pm * turbolift chamber Xjames ! James 1-JUN-1988 7:54pm * chuk's elevator Xchuk ! SoulStorm 1-JUN-1988 9:57pm * east hall Xpeter_t ! Peter_t 31-MAY-1988 8:33pm * pine forest Xcary ! Cary 31-MAY-1988 11:20pm * maelstrom Xfrancisco ! Prof. Anthrax 30-MAY-1988 3:54pm * waterbed Xsundeep ! Sundeep 29-MAY-1988 2:21pm * mta office Xbkc04916 ! Cheekster 28-MAY-1988 10:51am * the 'ell stop Xktl04905 ! Corwin 28-MAY-1988 11:44am * west hall Xperry ! Bufu Master!!! 28-MAY-1988 8:40pm * pinkie's place Xmaryahn ! pinkie 27-MAY-1988 12:39pm * the sewer tunnel Ximmell ! hurricane eye 26-MAY-1988 2:25am * post office 3 Xrobert ! Hungry Wolf 26-MAY-1988 2:26am * roll6 Xlinda ! linlop 26-MAY-1988 10:47am * terminal room Xjeff ! Pringle 25-MAY-1988 7:12pm * ic Xmic00229 ! Mic00229 22-MAY-1988 8:33pm * great hall Xjeffoire ! Ffoire Zen Salad 20-MAY-1988 1:41pm * bar Xschroder ! Schroder 19-MAY-1988 10:09am * burrow Xlunde ! Purple Peril 18-MAY-1988 12:55pm * cloud 9.5 Xpib ! Great Pib 17-MAY-1988 11:51pm * great pib's lair Xahrens ! it 15-MAY-1988 4:56pm * landing Xmborsetti ! Mborsetti 12-MAY-1988 10:20pm * sewer crossroads Xbrian ! Mr. Raven 11-MAY-1988 11:24am * a damp and dark hole Xwen05563 ! Gary 11-MAY-1988 9:00pm * great hall Xjimbo ! Jimbo 8-MAY-1988 10:02pm * great hall Xlentz ! Lentz 7-MAY-1988 8:24am * front of isp noyes Xmiller ! Mungus 5-MAY-1988 1:14pm * starbase Xotto ! Otto 4-MAY-1988 8:45pm * heidi's nightmare Xchris ! House Manager 3-MAY-1988 3:54am * home base Xliao ! Liao 30-APR-1988 1:21pm * white house Xchaz ! Chaz 29-APR-1988 4:05pm * post office 2 Xjmc ! Run JMC 29-APR-1988 4:37pm * isp heaven Xrod ! Rod 29-APR-1988 9:00pm * great hall Xchoi ! Choi 28-APR-1988 8:25pm * east hall Xbo ! God 26-APR-1988 1:58pm * great hall Xjonathan ! Jonathan 26-APR-1988 5:26pm * eye of the hurricane Xswift ! Swift 26-APR-1988 8:53pm * post office hall Xric05787 ! Deadhead 26-APR-1988 10:57pm * nightmarish room Xmccoy ! The Scribe 26-APR-1988 11:41pm * scribe home Xg_wenslow ! Gary II 24-APR-1988 11:58pm * east hall Xkri04333 ! Kri04333 18-APR-1988 12:11am * great hall Xdissett ! Kronos 18-APR-1988 10:13pm * kronos' room Xwantz ! Wantz 17-APR-1988 2:51pm * great hall Xcheezer ! Cheezer 16-APR-1988 7:55pm * the pine forest Xahr04465 ! Ivo 16-APR-1988 7:56pm * sewer transport Xjoey ! geek 15-APR-1988 8:03pm * forest crossroads Xwargaski ! Wargaski 14-APR-1988 4:01pm * toxicated Xeric ! Eric 13-APR-1988 3:51pm * the hall of chuk Xrwc00220 ! Rwc00220 12-APR-1988 1:32pm * great hall Xkstull ! Kstull 12-APR-1988 5:01pm * post office 3 Xtim ! Tim 11-APR-1988 8:26pm * great hall Xsean ! Sean 10-APR-1988 4:27pm * great hall Xsam ! Sam 10-APR-1988 12:54pm * great hall Xdean ! Artagel 9-APR-1988 8:21am * turbolift chamber Xsupercom ! Cursor 8-APR-1988 12:00am * forest paths Xanne ! Anne 7-APR-1988 6:55pm * great hall Xlisa ! Lisa 7-APR-1988 6:56pm * great hall Xmouse ! Mouse 3-APR-1988 11:26pm * west hall Xmca04477 ! Mca04477 2-APR-1988 8:56pm * burrow Xsajiv ! Sajiv 30-MAR-1988 6:06pm * great hall Xchad ! Chad 30-MAR-1988 6:37pm * chuk's elevator Xjennifer ! Jennifer 30-MAR-1988 7:22pm * east hall Xlasonia ! Lasonia 29-MAR-1988 11:22am * west hall Xbrian_t ! Brian_t 29-MAR-1988 11:59am * maelstrom Xmikk ! Random 29-MAR-1988 11:19pm * ledge Xtopher ! Topher 28-MAR-1988 1:19pm * great hall Xspectre ! Ghost in the machine 28-MAR-1988 11:43pm * ghost's mailroom Xdave ! Dave 18-MAR-1988 10:14am * post office hall Xpenguins ! Penguins Amok 18-MAR-1988 11:52pm * chuk's elevator Xlawson ! Space Cowboy 18-MAR-1988 12:23pm * great hall Xheidi ! Heidi 17-MAR-1988 1:11am * digital purgatory Xbueno ! Bueno 17-MAR-1988 7:49pm * post office hall Xdan ! Grando 16-MAR-1988 8:18am * eye of the hurricane Xeric_yue ! Samsok 16-MAR-1988 9:29pm * the yueguy's joint Xcra01453 ! Cra01453 15-MAR-1988 3:01am * great hall Xadam ! Adam 14-MAR-1988 6:45pm * round room Xwas04906 ! Milt 14-MAR-1988 9:48pm * great hall Xwatson ! Watson 14-MAR-1988 10:22pm * chuk's elevator Xbrianw ! Brianw 12-MAR-1988 * ffoirefirma Xmike ! Mike 12-MAR-1988 * toxicated Xpredator ! Predator 12-MAR-1988 * east hall Xdaniel ! Daniel 11-MAR-1988 * west hall Xdav08345 ! Dav08345 11-MAR-1988 * great hall Xvlahos ! otis 11-MAR-1988 * post office Xginter ! Ginter 10-MAR-1988 * living room Xrob09549 ! Rob09549 9-MAR-1988 * great hall Xdora ! Dora 8-MAR-1988 * toxicated Xkim ! kim 8-MAR-1988 * post office 2 Xmichael ! Prabdib 7-MAR-1988 * tunnel of love Xbradley ! Bradley 29-FEB-1988 * eye of the hurricane Xjohn ! Raunchmeister 29-FEB-1988 * underhall Xmelvin ! Killer Melvin 27-FEB-1988 * chuk's elevator Xcliff ! Cliff 26-FEB-1988 * east hall X X XAppendix E: An Actual Monster Game Log X X$ monster XWelcome to Monster! Hit return to start: X XWelcome back, Faust. Your last play was on 1-JUN-1988 at 10:47pm. X XYou're in Great Hall XYou're in the middle of a vast hall stretching out of sight to the Xeast and west. Strange shadows play across the high vaulted ceiling. XThe floor is set with smooth rectangular stones. The walls feel slightly Xcold to the touch, and damp with condensation. A copper plaque, slightly Xgreen with age, is set into one wall. X XMonster Manager is here. X> XMonster Manager vanishes in a brilliant burst of multicolored light. X> l XYou're in Great Hall XYou're in the middle of a vast hall stretching out of sight to the Xeast and west. Strange shadows play across the high vaulted ceiling. XThe floor is set with smooth rectangular stones. The walls feel slightly Xcold to the touch, and damp with condensation. A copper plaque, slightly Xgreen with age, is set into one wall. X X> XMonster Manager appears in a brilliant burst of multicolored light. X> who X Monster Status X 1-JUN-1988 10:48pm X XUsername Game Name Where Xdolpher Monster Manager great hall Xskrenta Faust great hall X> look plaque X XThe plaque looks very old and corroded. However, you can still make out Xthe writing: X X " Monster, created by Rich Skrenta, 1988. Play at your own risk. " X X> show details XDetails here that you may inspect: X stones X plaque X> look stones XThe stones are rough and black, and cold to the touch. Although the Xmortar work appears to have been expertly done, it has decayed with time. XMany stones are cracked, and narrow spaces fracture the carefully laid Xpattern. Some of the stones are quite loose. You might be able to lift Xone of them with some effort. X> XMonster Manager is looking at the stones. X> XMonster Manager is looking at the plaque. X> XMonster Manager says, "Hey Faust, let's go down to the Underhall." X> XMonster Manager manages to lift a stone in the floor and descends. X> lift XWith great effort, you manage to lift the stone enought to fit inside. X XOnce below the stone, it falls back into place, sealing out the light Xfrom above. You squirm down the narrow tunnel . . . X XYou're in UnderHall XThis is a cramped, humid room beneath the Great Hall. The walls are Xdripping with water condensed from mist rising from the baths. Some Xof the mist follows the ceiling and dissappears up the narrow tunnel. X XStairs lead north down to the Great Baths. XA neon sign flashes "Great PIB's Lair" over a door to the South. XYou could manage a crawl through a narrow tunnel leading upwards. X XMonster Manager is here. X> look Monster Manager XMonster Manager is the stereotype of a computer hacker. He is wearing Xa flannel shirt with several snickers bars in the breast pocket. On Xhis belt is an ASCII-HEX conversion chart. On his feet are a scuffed Xpair of hiking boots so he can tackle those dangerous mountains that Xcrop up in operations. Also dangling from his belt is a battered box Xwith many buttons on the front and wires with sockets on the ends protruding Xfrom the back. The switches seem to have been placed haphazardly, but Xthe object is unmistakably one of great power nonetheless. X XMonster Manager is in perfect health. XMonster Manager is empty handed. X> XMonster Manager is looking at you. X> XMonster Manager swings at you but misses. X> XYou duck in time to avoid Monster Manager's punch. X> XYou see stars as Monster Manager bashes you in the face. X> XYou parry Monster Manager's attack. X> punch Monster Manager XYou can't punch the Monster Manager. X> l XYou're in UnderHall XThis is a cramped, humid room beneath the Great Hall. The walls are Xdripping with water condensed from mist rising from the baths. Some Xof the mist follows the ceiling and dissappears up the narrow tunnel. X XStairs lead north down to the Great Baths. XA neon sign flashes "Great PIB's Lair" over a door to the South. XYou could manage a crawl through a narrow tunnel leading upwards. X XMonster Manager is here. X> n XYou're in Great Baths XThese are the luxurious Great Baths where tired adventurers may come Xto relax and try to regain their health and youth from the mineral waters. XFrom where you stand at the entrance, you can see below you the bubbling Xsoapy pools of water churning violently in tile-lined pits. The pools Xare fed by hot springs from deep in the rock beneath you. Steam and Xhuge soapy bubbles rise out of the hot pools of water. The bubbles Xdance through the air, climbing higher and higher, until they either Xburst on the sharp walls of the cave or are lost in the mist above you. X XShallow tiled steps, wet and slick from the hot soapy waters of the Xsprings, lead down to the pools. X XRough stone stairs lead up to the south. X X> XIn an explosion of orange smoke Monster Vice Manager poofs into the room. X> XMonster Manager has come down the stairs from the Underhall. X> XMonster Vice Manager produces a "who" list and reads it. X> system XSystem> v X X used free total XBlock file 1008 92 1100 XLine file 1501 109 1610 XRoom file 283 27 310 XObject file 139 41 180 XInteger file 6 0 6 X XSystem> XMonster Vice Manager is in system maintenance mode. XSystem> exit X> XMonster Vice Manager is no longer in system maintenance mode. X> 'Hey Gary X> XMonster Vice Manager says, "Hi, Faust." X> look Monster Vice Manager XThe Monster Vice Manager is dressed in a conservative three piece Xsuit. The stern expression on his face is just a facade, he really Xis a warm and sensitive guy underneath. He is willing to answer Xany questions and help out with any problems. He can best be Xdescribed by the phrase: X X "Do what thou wilt, so mete it be." X XHe returns your gaze with a hint of understanding and amusement. X XMonster Vice Manager is in perfect health. XMonster Vice Manager is empty handed. X> XMonster Vice Manager is looking at you. X> punch Monster Vice Manager XYou swing wild and miss. X> . XMonster Vice Manager ducks and avoids your punch. X> . XA quick punch, but it only grazes Monster Vice Manager. X> XYou only feel the breeze as Monster Vice Manager swings wildly. X> . XYou swing wild and miss. X> XYou see stars as Monster Vice Manager bashes you in the face. X> XYou only feel the breeze as Monster Vice Manager swings wildly. X> . XYou deliver a quick jab to Monster Vice Manager's jaw. X> XMonster Vice Manager's swing misses you by a yard. X> . XYour roundhouse blow sends Monster Vice Manager reeling. X> XYou double over after Monster Vice Manager lands a mean jab to your stomach! XMonster Vice Manager looks a little dazed. X> XMonster Vice Manager vanishes from the room in a cloud of orange smoke. X> who X Monster Status X 1-JUN-1988 10:56pm X XUsername Game Name Where Xdolpher Monster Manager great baths Xskrenta Faust great baths Xgary Monster Vice Manager inner office X> poof inner office X XThis rooms is a conservatively decorated office. A large Xdesk dominates the room. Several pictures hang on the walls Xand a silver service is on a stand off to the left. Two plush Xchairs beckon for you to sit down. X XThere are stairs leading down. X XMonster Vice Manager is here. XMonster Vice Manager looks a little dazed. X> sh det XDetails here that you may inspect: X bin X plaque X pictures X stand X> look bin X XThe bin has a sign on it saying, "Leave mail for the Monster XVice Manager here. Thank you." X X> look plaque X XThe plaque reads: X X Gary Wenslow, Monster Vice Manager X X> look pictures X XThese are very nice pictures of landscapes. They look expensive. X X> look stand X XThe silver service on this stand is of fine workmanship. XThere are also crystal goblets and flasks containing very Xfine wine, brandy, and whiskey. X X> l X XThis rooms is a conservatively decorated office. A large Xdesk dominates the room. Several pictures hang on the walls Xand a silver service is on a stand off to the left. Two plush Xchairs beckon for you to sit down. X XThere are stairs leading down. X XMonster Vice Manager is here. XMonster Vice Manager looks a little dazed. X> rooms gary Xgary: X tunnel of love more tunnel of love end of tunnel X hot dog stand picnic window X mvm office inner office hall1 X hall2 hall3 hall4 X hall5 hall6 hall7 X hall8 hall9 concession X roll1 roll2 roll3 X roll4 roll5 roll6 X roll7 roll8 roll9 X roll10 worker's ledge railing X rope mvm mail room X X> rooms dolpher Xdolpher: X void pit of fire underhall X great baths pools in the pool X in the bubble higher bubble highest bubble X ledge tower ledge circular staircase X behind house kitchen living room X bottom of stairs manager's mailbox tower room X on the scaffolding round room mountain pass X roof of tower west passageway castle entrance X center hall outside the gate east passageway X narrow passage X X> poof behind house XYou're at Behind House XThe back door of the house is boarded up, but the windows have not been Xblocked. One window at ground level leads into what appears to be the Xkitchen. All of the other windows are too far above the ground for you Xto reach. X XA path leads west to the front of the house. X X> form Study X> poof studty XThere is no room named studty. X> poof study XYou're in Study X XA note on the east wall says "Your exit here." X X> refuse east XExits east will be refused. X> l XYou're in Study X X> desc X[ Editing the primary room description ] XEnter text. Terminate with ** at the beginning of a line. XYou have 10 lines maximum. X X 1: This is a luxurious study walled with fine oak paneling. A window X 2: looks out of the east wall. It is surrounded by purple curtains. X 3: There is a small sign on the wall. X 4: ** X X* e X> l XYou're in Study XThis is a luxurious study walled with fine oak paneling. A window Xlooks out of the east wall. It is surrounded by purple curtains. XThere is a small sign on the wall. X X> desc sign X[ Editing detail "sign" of this room ] XEnter text. Terminate with ** at the beginning of a line. XYou have 10 lines maximum. X X 1: The note seems to have been hurriedly scrawled. It reads: X 2: X 3: " This room for demonstration purposes only! " X 4: X 5: ** X X* ? X XA Append text to end XC Check text for correct length with parameter substitution (#) XD # Delete line # XE Exit & save changes XI # Insert lines before line # XP Print out description XQ Quit: THROWS AWAY CHANGES XR # Replace text of line # XZ Zap all text X@ Throw away text & exit with the default description X? This list X X X* p X X 1: The note seems to have been hurriedly scrawled. It reads: X 2: X 3: " This room for demonstration purposes only! " X 4: X X* e X> sh det XDetails here that you may isspect: X sign X> look sign XThe note seems to have been hurriedly scrawled. It reads: X X " This room for demonstration purposes only! " X X> l XYou're in Study XThis is a luxurious study walled with fine oak paneling. A window Xlooks out of the east wall. It is surrounded by purple curtains. XThere is a small sign on the wall. X X> desc sign X[ Editing detail "sign" of this room ] X X* i 1 X1: X2: ** X X* p X X 1: X 2: The note seems to have been hurriedly scrawled. It reads: X 3: X 4: " This room for demonstration purposes only! " X 5: X X* e X> look sign X XThe note seems to have been hurriedly scrawled. It reads: X X " This room for demonstration purposes only! " X X> l XYou're in Study XThis is a luxurious study walled with fine oak paneling. A window Xlooks out of the east wall. It is surrounded by purple curtains. XThere is a small sign on the wall. X X> form Behind the Curtains X> link west XHit return alone at any prompt to terminate exit creation. X XRoom to link to? behind the curtains XExit comes out in target room Xfrom what direction? east XExit created. Use CUSTOM west to customize your exit. X> l XYou're in Study XThis is a luxurious study walled with fine oak paneling. A window Xlooks out of the east wall. It is surrounded by purple curtains. XThere is a small sign on the wall. X XThere is a passage leading west. X X> custom west XCustomizing west exit XIf you would rather be customizing this room, type CUSTOM with no arguments XIf you would rather be customizing an object, type CUSTOM <object name> X XType ** for any line to leave it unchanged. XType return for any line to select the default. X XCustom west> ? X XA Set an Alias for the exit XC Conceal an exit XD Edit the exit's main Description XE EXIT custom (saves changes) XF Edit the exit's failure line XI Edit the line that others see when a player goes Into an exit XK Set the object that is the Key to this exit XL Automatically look [default] / don't look on exit XO Edit the line that people see when a player comes Out of an exit XQ QUIT Custom (saves changes) XR Require/don't require alias for exit; ignore direction XS Edit the success line XT Alter Type of exit (passage, door, etc) XV View exit information XX Require/don't require exit name to be a verb X? This list X XCustom west> a XAlternate name for the exit? curtains XCustom west> r XThe alias for this exit will be required to reference it. XCustom west> d XEnter a one line description of the exit. X XType ** to leave line unchanged, * to make [no line] X* XCustom west> exit X> l XYou're in Study XThis is a luxurious study walled with fine oak paneling. A window Xlooks out of the east wall. It is surrounded by purple curtains. XThere is a small sign on the wall. X X> go curtains XYou're in Behind the Curtains X XThere is a passage leading east. XA note on the floor says "Your exit here." X X> e XYou're in Study XThis is a luxurious study walled with fine oak paneling. A window Xlooks out of the east wall. It is surrounded by purple curtains. XThere is a small sign on the wall. X END_OF_FILE if test 26227 -ne `wc -c <'mon2.doc'`; then echo shar: \"'mon2.doc'\" unpacked with wrong size! fi # end of 'mon2.doc' fi echo shar: End of archive 6 \(of 6\). cp /dev/null ark6isdone MISSING="" for I in 1 2 3 4 5 6 ; do if test ! -f ark${I}isdone ; then MISSING="${MISSING} ${I}" fi done if test "${MISSING}" = "" ; then echo You have unpacked all 6 archives. rm -f ark[1-9]isdone ./fixup.sh else echo You still need to unpack the following archives: echo " " ${MISSING} fi ## End of shell archive. exit 0