Path: utzoo!utgpu!watmath!clyde!att!osu-cis!tut.cis.ohio-state.edu!mailrus!cornell!uw-beaver!tektronix!tekgen!tekred!games
From: games@tekred.TEK.COM
Newsgroups: comp.sources.games
Subject: v05i093: monster - multiuser adventure game for VMS, Part06/06
Message-ID: <3324@tekred.TEK.COM>
Date: 30 Nov 88 20:12:53 GMT
Sender: billr@tekred.TEK.COM
Lines: 1134
Approved: billr@saab.CNA.TEK.COM
Submitted by: Richard Skrenta
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 '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