home *** CD-ROM | disk | FTP | other *** search
- Subject: v17i039: napoleon - text adventure game, Part02/04
- Newsgroups: comp.sources.games
- Approved: billr@saab.CNA.TEK.COM
-
- Submitted-by: pc123@cus.cam.ac.uk (Pete Chown)
- Posting-number: Volume 17, Issue 39
- Archive-name: napoleon/Part02
- Environment: Unix, ASNI-C
-
-
- #! /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 2 (of 4)."
- # Contents: Makefile objects.c quads.c
- # Wrapped by billr@saab on Thu Mar 4 09:46:52 1993
- PATH=/bin:/usr/bin:/usr/ucb ; export PATH
- if test -f 'Makefile' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'Makefile'\"
- else
- echo shar: Extracting \"'Makefile'\" \(1153 characters\)
- sed "s/^X//" >'Makefile' <<'END_OF_FILE'
- XCC=gcc
- XYACC=yacc -d
- XDEBUG=-g
- XWARNS=-Wall
- XOPTIMISATION=-O6
- XSYSTEM=-DUNIX -DHAS_UNISTD -DHAS_STDLIB
- XINCLUDES=-I.
- XREADLINELIB=readline/libreadline.a
- XCFLAGS=-c $(INCLUDES) $(OPTIMISATION) $(DEBUG) $(WARNS) $(SYSTEM)
- XOBJECTS=toplev.o line.o file.o describe.o objects.o lex.o parse.o custom.o noughts.o quads.o
- X
- X.y.c:
- X $(YACC) $<
- X mv -f y.tab.c $*.c
- X mv -f y.tab.h $*.h
- X
- X.y.h:
- X $(YACC) $<
- X mv -f y.tab.c $*.c
- X mv -f y.tab.h $*.h
- X
- Xall: napoleon napoleon.0
- X
- Xclean:
- X rm -f *.o *~ lang.c lang.h
- X
- Xbackup:
- X make clean
- X find readline -print >../foo
- X echo napoleon/napoleon >>../foo
- X (cd ..;tar -cvf napoleon.tar +exclude-from foo napoleon/* napoleon/docs/*;rm -f napoleon.tar.Z;compress napoleon.tar)
- X rm -f ../foo
- X
- Xshar:
- X (make clean;cd ..;rm -f napoleon.shar;foo=napoleon/*;echo $$foo>foo;shar napoleon `sed -e 's.napoleon/readline..' foo` >napoleon.shar;rm foo)
- X
- Xnapoleon: $(OBJECTS) lang.o
- X $(CC) -o napoleon $(OBJECTS) lang.o $(READLINELIB) -ltermcap
- X
- Xlang.o: lang.c
- X $(CC) -c $(INCLUDES) $(OPTIMISATION) $(DEBUG) $(SYSTEM) lang.c
- X
- X$(OBJECTS): adv.h
- X
- Xlang.o: adv.h
- X
- Xparse.o lex.o custom.o: lang.h
- X
- Xnapoleon.0: napoleon.nr
- X nroff -mandoc napoleon.nr>napoleon.0
- END_OF_FILE
- if test 1153 -ne `wc -c <'Makefile'`; then
- echo shar: \"'Makefile'\" unpacked with wrong size!
- fi
- # end of 'Makefile'
- fi
- if test -f 'objects.c' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'objects.c'\"
- else
- echo shar: Extracting \"'objects.c'\" \(47192 characters\)
- sed "s/^X//" >'objects.c' <<'END_OF_FILE'
- X/* Hey emacs, this file is in -*- Fundamental -*- mode */
- X
- X/* Copyright (C) 1992 Pete Chown.
- X
- X Here is my latest adventure game, Napoleon (see the documentation
- X if you don't know why it's called that). Have fun... (don't cheat,
- X even though you've got the source :-) ).
- X
- X This game is free software; you can redistribute it and/or modify
- X it under the terms of the GNU General Public License as published by
- X the Free Software Foundation; either version 1, or (at your option)
- X any later version.
- X
- X The game is distributed in the hope that it will be useful, but
- X WITHOUT ANY WARRANTY; without even the implied warranty of
- X MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- X General Public License for more details.
- X
- X The GNU General Public License is often shipped with GNU software, and
- X is generally kept in a file called COPYING or LICENSE. If you do not
- X have a copy of the license, write to the Free Software Foundation,
- X 675 Mass Ave, Cambridge, MA 02139, USA. */
- X
- X#include "adv.h"
- X
- Xobject *objects;
- X
- X#define ROOM(this,n,s,w,e,u,d,nw,ne,sw,se,contents,luminous,long,short,cite) \
- X{0,0,contents,this + 1,this - 1,n,s,w,e,nw,ne,sw,se,u,d,long,short,cite,{1,0,0,luminous,1,1,0,1}},
- X
- X#define OBJECT(this,above,below,inside,next,parent,opaque,luminous,container,examine,longname,shortname) \
- X{above,below,inside,next,parent,0,0,0,0,0,0,0,0,0,0,examine,longname,shortname,{0,0,0,luminous,opaque,0,0,container}},
- X
- X#define VIRTUAL(this,above,below,inside,next,parent,container,examine,longname,shortname) \
- X{above,below,inside,next,parent,0,0,0,0,0,0,0,0,0,0,examine,longname,shortname,{0,0,0,0,0,1,0,container}},
- X
- X#define PERSON(this,carrying,next,parent,examine,longname,shortname) \
- X{0,0,carrying,next,parent,0,0,0,0,0,0,0,0,0,0,examine,longname,shortname,{0,0,1,0,0,1,0,1}},
- X
- Xobject intobjects [] = {
- X
- X/* 0 */ {0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,"Root object: if you can see this th"
- X"e game has gone wrong","(root object)","*ROOT",{1,0,0,0,0,0,0,1}},
- X
- XROOM(1, 0,2,0,0,0,0,0,0,0,0, 100, 1, "This is the office, at the centre of t"
- X"he Napoleons' web. A smart ebony desk sits in one corner, with the sort of "
- X"office chair behind it that you can twirl round and round on if you get bore"
- X"d. Boring carpet tiles adorn the floor, the walls are painted hospital whit"
- X"e, as is the ceiling which is also equipped with a large fluorescent tube. "
- X"There is an exit to the south.","The central office","office")
- X
- XROOM(2, 1,6,0,0,0,0,3,4,0,0, 0, 1, "You are in a small, rickety wooden room;"
- X" the walls are made of rough timber, and every footstep makes the boards cre"
- X"ak. To the northwest and northeast, winding corridors lead off, with only t"
- X"he wooden boards suspending you above... who knows what? To the north you c"
- X"an walk into the office, while to the south a doorway leads into absolute bl"
- X"ackness.","Wooden room 1","*")
- X
- XROOM(3, 0,0,55,0,0,0,0,5,0,2, 0, 1, "You are at a bend in a rickety wooden c"
- X"orridor; it is possible to walk along it to the southeast and northeast. In"
- X" addition there is a hole in the western wall, but through it there is only "
- X"pitch darkness. Every step makes the old, rough boards under your feet crea"
- X"k with the strain.","Wooden room 2","*")
- X
- XROOM(4, 0,0,0,20,0,0,5,0,2,0, 0, 1, "You are at a bend in a rickety wooden c"
- X"orridor; it is possible to walk along it to the southwest and northwest. In"
- X" addition there is a hole in the eastern wall, but through it there is only "
- X"pitch darkness. Every step makes the old, rough boards under your feet crea"
- X"k with the strain.","Wooden room 3","*")
- X
- XROOM(5, 56,0,0,0,0,0,0,0,3,4, 0, 1, "You have come to a small wooden chamber"
- X" to the north of the Napoleons' office. Corridors lead southwest and southe"
- X"ast; there is also a small hole leading north. It is completely dark throug"
- X"h the hole and you can see nothing. Here the flooring seems more broken dow"
- X"n than ever, giving a real fear that it might collapse.","Wooden room 4","*")
- X
- XROOM(6, 0,7,0,0,0,0,0,0,0,0, 106, 1, "You are standing in an ornate formal g"
- X"arden at the front of a large country house. To your north is the exit from"
- X" the estate, but the gate is closed. To your south is a large arched doorwa"
- X"y leading into the house proper. A gravel path connects the two. In the ce"
- X"ntre of the path is a marble fountain, and the path is edged with strictly t"
- X"rimmed privet hedging.","Front Garden","garden")
- X
- XROOM(7, 6,0,0,8,0,0,0,0,9,0, 0, 1, "You are in the entrance hall of the coun"
- X"try house. To your north is an exit into the front garden; to the southwest"
- X" is an exit into the estate's country park. To the east is a door labelled "
- X"'Music Room'. There are several other locked doors. This room is 'rather s"
- X"izeable'; about half way up the wall a balcony runs to which there appears t"
- X"o be access from the upstairs. The floor is polished wood and your feet see"
- X"m to make an awful noise in the ancient quiet.","Entrance Hall","*")
- X
- XROOM(8, 0,0,7,0,0,0,0,0,0,0, 108, 1, "This is the music practice room, hopef"
- X"ully well soundproofed. A grand piano sits in one corner, with two piano st"
- X"ools next to it. In the north wall, sunlight streams in through an old lead"
- X"ed window, illuminating the scene of generations of children's music lessons"
- X". Here the floor is carpeted, perhaps to absorb some of the more abominable"
- X" noise! This room is also equipped with its very own piano teacher, current"
- X"ly sitting on one of the stools.","Music Room","*")
- X
- XROOM(9, 0,14,10,0,0,0,0,7,0,0, 119, 1, "You are standing at the back of the "
- X"country house, looking up at its tall brick walls mellowed by a climbing ros"
- X"e. To your south and east lie more fine formal gardens, but the way east is"
- X" blocked by a hedge. To the south a path leads to an ornamental pool (with,"
- X" of course, nothing as untidy as a frog in it). To your west lie the tennis"
- X" courts - and they certainly look strange ones!","Back Garden","garden")
- X
- XROOM(10, 0,11,13,9,0,0,0,0,12,0, 110, 1, "You are at the northeast corner of"
- X" the tennis courts. There appears to be just one court, but there are two n"
- X"ets crossing it - one going north to south (and positioned just to your west"
- X") and one going west to east (and positioned just to your south). You can l"
- X"eave the court to the east, or you can jump over the net to the south, west,"
- X" or southwest.","Tennis Court 1","*")
- X
- XROOM(11, 10,0,12,0,0,0,13,0,0,0, 111, 1, "You are at the southeast corner of"
- X" the tennis courts. There appears to be just one court, but there are two n"
- X"ets crossing it - one going north to south (and positioned just to your west"
- X") and one going west to east (and positioned just to your north). You can j"
- X"ump over the net to the north, west, or northwest.","Tennis Court 2","*")
- X
- XROOM(12, 13,0,0,11,0,0,0,10,0,0, 112, 1, "You are at the southwest corner of"
- X" the tennis courts. There appears to be just one court, but there are two n"
- X"ets crossing it - one going north to south (and positioned just to your east"
- X") and one going west to east (and positioned just to your north). You can j"
- X"ump over the net to the north, east, or northeast.","Tennis Court 3","*")
- X
- XROOM(13, 0,12,0,10,0,0,0,0,0,11, 113, 1, "You are at the northwest corner of"
- X" the tennis courts. There appears to be just one court, but there are two n"
- X"ets crossing it - one going north to south (and positioned just to your east"
- X") and one going west to east (and positioned just to your south). You can j"
- X"ump over the net to the south, east, or southeast.","Tennis Court 4","*")
- X
- XROOM(14, 9,0,0,0,0,15,0,0,0,0, 0, 1, "You are crouched at the side of an orn"
- X"amental pool, and no, it doesn't have a frog in it. The pool is completely "
- X"surrounded by hedges, apart from to the north, where a narrow path leaves. "
- X"This area of the garden has a strange, malevolent air about it, as though ev"
- X"en the privet is waiting for something evil to happen.","Pool Edge","pool")
- X
- XROOM(15, 0,0,0,0,14,0,0,0,0,16, 0, 0, "This damp and foul-smelling room belo"
- X"nged to the water sprite. Bits of pondweed and rotting vegetation lie aroun"
- X"d. There is always the suspicion of more unpleasant things, and you don't l"
- X"ook too closely. You can go up through the empty pool, or you can go southe"
- X"ast to some sort of cellar.","Water Sprite's Room","*")
- X
- XROOM(16, 0,0,0,0,18,0,15,0,0,0, 114, 0, "You are in what looks as though it "
- X"used to be the wine cellar. Decayed wooden racks still line the walls, but "
- X"there are no longer any bottles in evidence. It looks as though this cellar"
- X" might not have been used for some time, going by the cobwebs and dust which"
- X" line every surface. There is a rickety wooden ladder up, while to the nort"
- X"hwest lies the water sprite's room.","Wine Cellar","wine_cellar")
- X
- XROOM(17, 18,0,0,0,0,0,0,0,0,0, 115, 1, "This is an old walk-in storage cupbo"
- X"ard; dusty shelves and cupboards still line the walls. Light streams in thr"
- X"ough a rusty cast iron window, adorned with more cobwebs. You can only leav"
- X"e north, to the Grandmaster's room.","Store Cupboard","cupboard")
- X
- XROOM(18, 0,17,0,19,0,16,0,0,0,0, 104, 1, "You are in the noughts and crosses"
- X" grandmaster's room. The grandmaster himself is sitting behind an old and d"
- X"istinctive oak table; in front of him is a small slate, with a noughts and c"
- X"rosses board drawn on it; beside him is a book entitled 'Noughts and Crosses"
- X": How to play a Psychological Game'. Light shines into the room through a s"
- X"mall window high on one wall. There is a ladder down into the cellar, or yo"
- X"u can go south or east.","Grandmaster's Room","*")
- X
- XROOM(19, 0,0,18,0,0,0,0,0,0,0, 116, 1, "This was the alchemists' workshop, n"
- X"ow it looks as though it has become a reasonably modern laboratory. Neat ye"
- X"llow-painted cupboards hang on the south wall, while along the west and east"
- X" wall benches have been placed. On the west bench a piece of funny looking "
- X"equipment has been placed. An exit leads to the noughts and crosses room to"
- X" the west.","Laboratory","*")
- X
- XROOM(20, 0,0,21,0,0,0,0,0,0,0, 0, 1, "You are standing in the reception area"
- X" of a group of offices. To the east, a door opens onto the road, but it app"
- X"ears to be locked at the moment. To the west you can walk down a corridor l"
- X"eading further into the building. This reception area seems slightly shabby"
- X", as though the people inhabiting the offices are not too prosperous.","Offi"
- X"ce Entrance","office_entrance")
- X
- XROOM(21, 22,23,24,20,0,0,0,0,0,0, 0, 1, "You are part way along a corridor l"
- X"it starkly from above by fluorescent tubes. To the north and south are entr"
- X"ances to individual offices - signs indicate that the north office belongs t"
- X"o Rusgreve and the south office to Prendergast. Both appear to be at home. "
- X" To the west the corridor opens out onto a balcony.","Corridor","corridor")
- X
- XROOM(22, 0,21,0,0,0,0,0,0,0,0, 131, 1, "This is Rusgreve's office, and tidy "
- X"efficiency is the rule. Rusgreve sits behind an immaculate desk, his head b"
- X"ent over a document that he is working on. From behind him, light streams i"
- X"n through an open window, giving a light airy look to the office. The scene"
- X" is completed by an artistic looking pot plant in one corner. The only exit"
- X" is back the way you came in.","Rusgreve's Office","office")
- X
- XROOM(23, 21,0,0,0,0,0,0,0,0,0, 134, 1, "This is Prendergast's office, and th"
- X"ere are bits of paper and electronic junk spread out all over the place. Pr"
- X"endergast is bending over a piece of equipment with a large glass bulb stick"
- X"ing out of the top. Every so often, it makes a loud pop, the bulb flashes, "
- X"and Prendergast jumps. The scene is completed by a large and overflowing ti"
- X"dy bin, with the remains of last night's take-away meal in it, along with se"
- X"veral Twinkie bar wrappers. The only exit is back the way you came in.","Pr"
- X"endergast's Office","office")
- X
- XROOM(24, 0,25,0,21,0,0,0,0,0,0, 0, 1, "You are standing at a marble railing,"
- X" looking out over a vast hall to which there seems to be no access. To the "
- X"south and east, the balcony disappears, and becomes a corridor; the view out"
- X" over the hall is only possible at this particular point. It is an astoundi"
- X"ng contrast here, to the office environment to the east; the offices seemed "
- X"modern, whereas this area seems more like something from classical times.",""
- X"Balcony","balcony")
- X
- XROOM(25, 24,0,0,26,0,0,0,0,0,0, 0, 1, "The corridor bends here, going north "
- X"to the balcony or east to some sort of storeroom. It is much the same here "
- X"as it was to the north and east - you seem to be back to modern times.","Rou"
- X"nd the Bend","*")
- X
- XROOM(26, 0,0,25,0,0,0,0,0,0,0, 137, 1, "The butler's room has plenty of stor"
- X"age space - shelves and cupboards line all the walls, with all the refreshme"
- X"nts he is expected to provide for the people in the offices. The butler him"
- X"self is sitting in an easy chair in one corner, dozing slightly. You can on"
- X"ly go west.","Butler's Store","store")
- X
- XROOM(27, 28,28,29,29,0,0,28,29,29,29, 0, 1, "You are in a small clearing in "
- X"the enchanted wood, from which exits lead in all directions.","Dense Woodlan"
- X"d","tree")
- X
- XROOM(28, 27,27,29,27,0,0,27,29,29,27, 0, 1, "You are in a small clearing in "
- X"the enchanted wood, from which exits lead in all directions.","Dense Woodlan"
- X"d","tree")
- X
- XROOM(29, 28,28,28,27,0,0,27,31,27,30, 0, 1, "You are in a small clearing in "
- X"the enchanted wood, from which exits lead in all directions.","Dense Woodlan"
- X"d","tree")
- X
- XROOM(30, 29,36,27,28,0,0,27,29,28,27, 0, 1, "You are in a small clearing in "
- X"the enchanted wood, from which exits lead in all directions.","Dense Woodlan"
- X"d","tree")
- X
- XROOM(31, 27,29,27,30,0,0,28,29,99,28, 0, 1, "You are in a small clearing in "
- X"the enchanted wood, from which exits lead in all directions.","Dense Woodlan"
- X"d","tree")
- X
- XROOM(32, 28,99,27,27,0,0,29,28,30,31, 0, 1, "You are in a small clearing in "
- X"the enchanted wood, from which exits lead in all directions.","Dense Woodlan"
- X"d","tree")
- X
- XROOM(33, 99,29,32,30,0,0,32,28,31,27, 0, 1, "You are in a small clearing in "
- X"the enchanted wood, from which exits lead in all directions.","Dense Woodlan"
- X"d","tree")
- X
- XROOM(34, 28,32,27,99,0,0,30,29,31,33, 0, 1, "You are in a small clearing in "
- X"the enchanted wood, from which exits lead in all directions.","Dense Woodlan"
- X"d","tree")
- X
- XROOM(35, 30,34,28,33,0,0,29,31,99,32, 0, 1, "You are in a small clearing in "
- X"the enchanted wood, from which exits lead in all directions.","Dense Woodlan"
- X"d","tree")
- X
- XROOM(36, 30,0,0,0,37,0,0,0,0,0, 158, 1, "You are in a big clearing in the en"
- X"chanted wood. Undergrowth prevents you leaving in any direction except to t"
- X"he north. However, here, unlike elsewhere, there is a big tree at the edge "
- X"of the clearing which looks as though it could be climbed.","Clearing","clea"
- X"ring")
- X
- XROOM(37, 0,0,0,0,0,36,0,0,0,0, 141, 1, "You are jammed in a fork between two"
- X" branches, half way up a large tree. Near to you you can see a bird's nest,"
- X" and further away the birds are perched in the branches twittering. It is m"
- X"ost uncomfortable here, so make up your mind quickly what you want to do!",""
- X"Up a Gum Tree","tree")
- X
- XROOM(38, 35,39,0,0,0,0,0,0,0,0, 0, 1, "You are just out of the enchanted for"
- X"est - to your north you can see its huge expanse. To your south is the fair"
- X"y castle, now towering immense above you. Right near the top, you can make "
- X"out another small tower coming off the main one and seemingly suspended in m"
- X"id air.","Castle Front","*")
- X
- XROOM(39, 38,0,0,0,40,0,0,0,0,0, 0, 1, "You are standing at the base of a lon"
- X"g spiral staircase, made out of a fine, dark wood. To the north sunlight st"
- X"reams in from the castle front, while in all other directions you can only s"
- X"ee the marble walls of the castle, with occasional leaded windows in it at v"
- X"arious heights.","Fairy Castle's Bottom","*")
- X
- XROOM(40, 0,0,0,0,41,39,0,0,0,0, 0, 1, "You are part way up a spiral staircas"
- X"e made of a fine dark wood. There are no exits from the staircase at this l"
- X"evel: you will have to go up or down.","Staircase","stairs")
- X
- XROOM(41, 0,0,0,0,42,40,0,0,0,0, 0, 1, "You are part way up a spiral staircas"
- X"e made of a fine dark wood. There are no exits from the staircase at this l"
- X"evel: you will have to go up or down.","Staircase","stairs")
- X
- XROOM(42, 0,0,0,0,43,41,0,0,0,0, 0, 1, "You are part way up a spiral staircas"
- X"e made of a fine dark wood. There are no exits from the staircase at this l"
- X"evel: you will have to go up or down.","Staircase","stairs")
- X
- XROOM(43, 0,0,0,0,44,42,0,0,0,0, 0, 1, "You are part way up a spiral staircas"
- X"e made of a fine dark wood. There are no exits from the staircase at this l"
- X"evel: you will have to go up or down.","Staircase","stairs")
- X
- XROOM(44, 0,45,0,0,0,43,0,0,0,0, 148, 1, "You are at the top of the staircase"
- X" leading up the fairy castle. You are standing on a dusty landing, illumina"
- X"ted gently from a tiny window. Looking out, you see that you are now far ab"
- X"ove the enchanted forest, and can see all the country for miles around. You"
- X" can either go south, or back down the stairs.","Staircase","stairs")
- X
- XROOM(45, 44,46,0,0,0,0,0,0,0,0, 149, 1, "You are in a tiny anteroom with a p"
- X"olished (and dusty) wooden floor, and exits leading north and south. Like t"
- X"he landing, it is lit from a small window.","Anteroom","anteroom")
- X
- XROOM(46, 45,47,0,0,0,0,0,0,0,0, 150, 1, "You are in a tiny anteroom with a p"
- X"olished (and dusty) wooden floor, and exits leading north and south. Like t"
- X"he landing, it is lit from a small window.","Anteroom","anteroom")
- X
- XROOM(47, 46,0,0,0,0,0,0,0,0,0, 156, 1, "This is the Princess's room/prison. "
- X" The only exit is to the north, the way that you have just unlocked. On the"
- X" south wall is another of the small windows that this tower seems to have qu"
- X"ite a line in. The floor is at least carpeted in here, and it looks clean. "
- X" Apart from that it is furnished like any room would be if it was the only o"
- X"ne someone had.","Princess's Room","*")
- X
- XROOM(48, 0,0,0,51,0,0,0,0,0,0, 0, 1, "You are crouched by the bank of a fast"
- X" flowing river, looking out over the water. Every so often, a big log of wo"
- X"od - about the size of a small tree trunk - floats past. If you want to lea"
- X"ve this tranquil country scene, you can go east.","River Bank","river_bank")
- X
- XROOM(49, 50,0,0,0,0,0,0,0,0,0, 161, 1, "You are at the far side of the bridg"
- X"e. You can't get any further due to the fact that this area is completely b"
- X"ricked in by walls that extend right down to the waterline. The only point "
- X"in having the bridge must, therefore, be to allow access to a vending machin"
- X"e which is fixed to one of the walls. It sells dictating machines (!)","Far"
- X" Side","*")
- X
- XROOM(50, 51,49,0,0,0,0,0,0,0,0, 0, 1, "You are standing on the top of a rath"
- X"er rickety bridge. As you walk along it it creaks rather ominously, and you"
- X" wish to be gone! If you look over the side, you can see a fast flowing riv"
- X"er below. The bridge itself is made of brittle old concrete blocks, and you"
- X" can walk along it to either the north or south.","Bridge","bridge")
- X
- XROOM(51, 52,50,48,0,0,0,0,0,0,0, 130, 1, "You are standing on the bank of a "
- X"fast flowing river, near a dangerous-looking concrete bridge to the south. "
- X"You can also walk along the bank to the west, but a wall prevents similar pr"
- X"ogress to the east. To the north you can re-enter the buildings, and reach "
- X"the elephant's room.","Near Bridge","*")
- X
- XROOM(52, 53,51,0,0,0,0,0,54,0,0, 160, 1, "This is the place you had to come "
- X"to sooner or later. The place where the elephants squash you underfoot. Th"
- X"is is a courtyard very like the one to the northeast, where the lions hold s"
- X"way, but here there are exits to the north, northeast and south.","Elephants"
- X"' Trampling Room","*")
- X
- XROOM(53, 0,52,0,54,0,0,0,0,0,0, 128, 1, "The guard house is conveniently sit"
- X"uated between the lions and the elephants, allowing the guards easy access t"
- X"o both. You get to the former if you go east, and the latter if you go sout"
- X"h. It is a rough, brick building with grimy windows, and odd bits of fighti"
- X"ng kit left lying around. In the centre is a big deal table, covered in bee"
- X"r stains.","Guardhouse","guardhouse")
- X
- XROOM(54, 55,0,53,0,0,0,0,0,52,0, 0, 1, "You have come to a vast courtyard, w"
- X"ith pillared walls that tower high above you. There is sand underfoot, thou"
- X"gh, perhaps in view of its function as a place where Christians were thrown "
- X"to the lions, rather than a pleasant place for an afternoon stroll among the"
- X" fountains. In fact, so many were that perhaps by now the lions are more re"
- X"ady for tummy tickles than for eating someone else... or perhaps not. The e"
- X"xits from this delightful place are north, west and southwest.","Lions' Cour"
- X"t","*")
- X
- XROOM(55, 0,54,0,0,0,0,0,0,0,0, 126, 1, "You are in a huge hall, with walls s"
- X"tretching up nearly as far as you can see. About half way up one wall a bal"
- X"cony runs; the other walls have most of their bulk made up of stained glass "
- X"windows. All in all it makes up quite an impressive sight, and an appropria"
- X"te last one for the Christians who were thrown to the lions through the sout"
- X"h door. Indeed so many were that it might be suspected that the lions were "
- X"now only ready for after dinner tummy tickles. And it looks as though that'"
- X"s the only way for you to go...","Martyrs' Way","*")
- X
- XROOM(56, 0,0,0,27,0,0,0,0,0,0, 151, 1, "You are standing at the top of a hil"
- X"l; lower down it is covered in gorse. To the east, someone has cleared a pa"
- X"th through. This path seems to lead down into an extensive wood; even from "
- X"the top of this hill it is hard to make out the far side. However it is pic"
- X"ked out by a tall structure that looks like a castle out of a fairy tale!",""
- X"Hill Top","hill")
- X
- XROOM(57, 0,0,0,0,0,0,0,0,0,0, 0, 0, "Spare Oom","Spare Oom","*")
- X
- XROOM(58, 0,0,0,0,0,0,0,0,0,0, 0, 0, "Spare Oom","Spare Oom","*")
- X
- XROOM(59, 0,0,0,0,0,0,0,0,0,0, 124, 1, "Programmer's Storage Room","Storage","*")
- X
- X{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},
- X{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},
- X{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},
- X{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},
- X
- X/* 100 */ {0,0,0,101,1,0,0,0,0,0,0,0,0,0,0,"(the player)","(the player)","*"
- X"PLAYER",{0,1,1,0,1,1}},
- X
- XVIRTUAL(101, 102,0,0,103,100,1, "The desk is elegantly crafted in highly pol"
- X"ished ebony.","a desk","desk")
- X
- XOBJECT(102, 0,0,0,0,101, 0,0,0,"The scroll reads:\n\n GNU GENERAL PUBLIC "
- X"LICENCE -- Version 1, February 1989\n\n Copyright (C) 1989 Free Software Fou"
- X"ndation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. Everyone is permitte"
- X"d to copy and distribute verbatim copies of this licence document, but chan"
- X"ging it is not allowed.\n\n Preamble\n\n The licence agreements of most "
- X"software companies try to keep users at the mercy of those companies. By co"
- X"ntrast, our General Public Licence is intended to guarantee your freedom to "
- X"share and change free software--to make sure the software is free for all it"
- X"s users. The General Public Licence applies to the Free Software Foundation"
- X"'s software and to any other program whose authors commit to using it. You c"
- X"an use it for your programs, too.\n\n When we speak of free software, we ar"
- X"e referring to freedom, not price. Specifically, the General Public Licence"
- X" is designed to make sure that you have the freedom to give away or sell cop"
- X"ies of free software, that you receive source code or can get it if you want"
- X" it, that you can change the software or use pieces of it in new free progra"
- X"ms; and that you know you can do these things.\n\n To protect your rights, "
- X"we need to make restrictions that forbid anyone to deny you these rights or "
- X"to ask you to surrender the rights. These restrictions translate to certain "
- X"responsibilities for you if you distribute copies of the software, or if you"
- X" modify it.\n\n For example, if you distribute copies of"
- X" a such a program, whether gratis or for a fee, you must give the recipient"
- X"s all the rights that you have. You must make sure that they, too, receive "
- X"or can get the source code. And you must tell them their rights.\n\n We pr"
- X"otect your rights with two steps: (1) copyright the software, and (2) offer "
- X"you this licence which gives you legal permission to copy, distribute and/or"
- X" modify the software.\n\n Also, for each author's protection and ours, we w"
- X"ant to make certain that everyone understands that there is no warranty for "
- X"this free software. If the software is modified by someone else and passed "
- X"on, we want its recipients to know that what they have is not the original, "
- X"so that any problems introduced by others will not reflect on the original a"
- X"uthors' reputations.\n\n The precise terms and conditions for copying, dist"
- X"ribution and modification follow.\n\n GNU GENERAL PUBLIC LICENCE -- TERM"
- X"S AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION\n\n 0. This Lic"
- X"ence Agreement applies to any program or other work which contains a notice "
- X"placed by the copyright holder saying it may be distributed under the terms "
- X"of this General Public Licence. The \"Program\", below, refers to any such "
- X"program or work, and a \"work based on the Program\" means either the Progra"
- X"m or any work containing the Program or a portion of it, either verbatim or "
- X"with modifications. Each licensee is addressed as \"you\".\n\n 1. You may "
- X"copy and distribute verbatim copies of the Program's source code as you rece"
- X"ive it, in any medium, provided that you conspicuously and appropriately pub"
- X"lish on each copy an appropriate copyright notice and disclaimer of warranty"
- X"; keep intact all the notices that refer to this General Public Licence and "
- X"to the absence of any warranty; and give any other recipients of the Program"
- X" a copy of this General Public Licence along with the Program. You may charg"
- X"e a fee for the physical act of transferring a copy.\n\n 2. You may modify "
- X"your copy or copies of the Program or any portion of it, and copy and distri"
- X"bute such modifications under the terms of Paragraph 1 above, provided that "
- X"you also do the following:\n\n a) cause the modified files to carry promi"
- X"nent notices stating that you changed the files and the date of any change; "
- X"and\n\n b) cause the whole of any work that you distribute or publish, th"
- X"at in whole or in part contains the Program or any part thereof, either with"
- X" or without modifications, to be licensed at no charge to all third parties "
- X"under the terms of this General Public Licence (except that you may choose t"
- X"o grant warranty protection to some or all third parties, at your option).\n"
- X"\n c) If the modified program normally reads commands interactively when "
- X"run, you must cause it, when started running for such interactive use in the"
- X" simplest and most usual way, to print or display an announcement including "
- X"an appropriate copyright notice and a notice that there is no warranty (or e"
- X"lse, saying that you provide a warranty) and that users may redistribute the"
- X" program under these conditions, and telling the user how to view a copy of "
- X"this General Public Licence.\n\n d) You m"
- X"ay charge a fee for the physical act of transferring a copy, and you may at"
- X" your option offer warranty protection in exchange for a fee.\n\nMere aggreg"
- X"ation of another independent work with the Program (or its derivative) on a "
- X"volume of a storage or distribution medium does not bring the other work und"
- X"er the scope of these terms.\n\n 3. You may copy and distribute the Progra"
- X"m (or a portion or derivative of it, under Paragraph 2) in object code or ex"
- X"ecutable form under the terms of Paragraphs 1 and 2 above provided that you "
- X"also do one of the following:\n\n a) accompany it with the complete corre"
- X"sponding machine-readable source code, which must be distributed under the t"
- X"erms of Paragraphs 1 and 2 above; or,\n\n b) accompany it with a written "
- X"offer, valid for at least three years, to give any third party free (except "
- X"for a nominal charge for the cost of distribution) a complete machine-readab"
- X"le copy of the corresponding source code, to be distributed under the terms "
- X"of Paragraphs 1 and 2 above; or,\n\n c) accompany it with the information"
- X" you received as to where the corresponding source code may be obtained. (T"
- X"his alternative is allowed only for noncommercial distribution and only if y"
- X"ou received the program in object code or executable form alone.)\n\nSource "
- X"code for a work means the preferred form of the work for making modification"
- X"s to it. For an executable file, complete source code means all the source "
- X"code for all modules it contains; but, as a special exception, it need not i"
- X"nclude source code for modules which are standard libraries that accompany t"
- X"he operating system on which the executable file runs, or for standard heade"
- X"r files or definitions files that accompany that operating system.\n\n 4. Y"
- X"ou may not copy, modify, sublicense, distribute or transfer the Program exce"
- X"pt as expressly provided under this General Public Licence. Any attempt othe"
- X"rwise to copy, modify, sublicense, distribute or transfer the Program is voi"
- X"d, and will automatically terminate your rights to use the Program under thi"
- X"s Licence. However, parties who have received copies, or rights to use copie"
- X"s, from you under this General Public Licence will not have their licences t"
- X"erminated so long as such parties remain in full compliance.\n\n 5. By copy"
- X"ing, distributing or modifying the Program (or any work based on the Program"
- X") you indicate your acceptance of this licence to do so, and all its terms a"
- X"nd conditions.\n\n 6. Each time you redistribute the Program (or any work b"
- X"ased on the Program), the recipient automatically receives a licence from th"
- X"e original licensor to copy, distribute or modify the Program subject to the"
- X"se terms and conditions. You may not impose any further restrictions on the"
- X" recipients' exercise of the rights granted herein.\n\n 7. The Free Softwa"
- X"re Foundation may publish revised and/or new versions of the General Public "
- X"Licence from time to time. Such new versions will be similar in spirit to t"
- X"he present version, but may differ in detail to address new problems or conc"
- X"erns.\n\nEach version is given a distinguishing version number. If the Prog"
- X"ram specifies a version number of the licenc"
- X"e which applies to it and \"any later version\", you have the option of fol"
- X"lowing the terms and conditions either of that version or of any later versi"
- X"on published by the Free Software Foundation. If the Program does not speci"
- X"fy a version number of the licence, you may choose any version ever publishe"
- X"d by the Free Software Foundation.\n\n 8. If you wish to incorporate parts "
- X"of the Program into other free programs whose distribution conditions are di"
- X"fferent, write to the author to ask for permission. For software which is c"
- X"opyrighted by the Free Software Foundation, write to the Free Software Found"
- X"ation; we sometimes make exceptions for this. Our decision will be guided b"
- X"y the two goals of preserving the free status of all derivatives of our free"
- X" software and of promoting the sharing and reuse of software generally.\n\n "
- X" NO WARRANTY\n\n 9. BECAUSE THE PROGRAM IS LICENCED FREE OF CHARGE, THERE"
- X" IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. "
- X" EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER "
- X"PARTIES PROVIDE THE PROGRAM \"AS IS\" WITHOUT WARRANTY OF ANY KIND, EITHER E"
- X"XPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES O"
- X"F MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS "
- X"TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGR"
- X"AM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR O"
- X"R CORRECTION.\n\n 10. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGRE"
- X"ED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIF"
- X"Y AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR D"
- X"AMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES "
- X"ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LI"
- X"MITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED "
- X"BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHE"
- X"R PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSS"
- X"IBILITY OF SUCH DAMAGES.\n\n END OF TERMS AND CONDITIONS\n\n Appendix: H"
- X"ow to Apply These Terms to Your New Programs\n\n If you develop a new progr"
- X"am, and you want it to be of the greatest possible use to humanity, the best"
- X" way to achieve this is to make it free software which everyone can redistri"
- X"bute and change under these terms.\n\n To do so, attach the following notic"
- X"es to the program. It is safest to attach them to the start of each source "
- X"file to most effectively convey the exclusion of warranty; and each file sho"
- X"uld have at least the \"copyright\" line and a pointer to where the full not"
- X"ice is found.\n\n <one line to give the program's name and a brief idea o"
- X"f what it does.>\n Copyright (C) 19yy<name of author>\n\n This progra"
- X"m is free software; you can redistribute it and/or modify it under the terms"
- X" of the GNU General Public Licence as published by the Free Software Foundat"
- X"ion; either version 1, or (at your option) any later version.\n\n This pr"
- X"ogram is distributed in the hope that it will be useful, but WITHOUT ANY WAR"
- X"RANTY; without even the implied warranty of "
- X"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General P"
- X"ublic Licence for more details.\n\n You should have received a copy of th"
- X"e GNU General Public Licence along with this program; if not, write to the F"
- X"ree Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.\n\nAl"
- X"so add information on how to contact you by electronic and paper mail.\n\nIf"
- X" the program is interactive, make it output a short notice like this when it"
- X" starts in an interactive mode:\n\n Gnomovision version 69, Copyright (C)"
- X" 19xx name of author\n Gnomovision comes with ABSOLUTELY NO WARRANTY; fo"
- X"r details type `show w'. This is free software, and you are welcome to r"
- X"edistribute it under certain conditions; type `show c' for details.\n\nThe h"
- X"ypothetical commands `show w' and `show c' should show the appropriate parts"
- X" of the General Public Licence. Of course, the commands you use may be call"
- X"ed something other than `show w' and `show c'; they could even be mouse-clic"
- X"ks or menu items--whatever suits your program.\n\nYou should also get your e"
- X"mployer (if you work as a programmer) or your school, if any, to sign a \"co"
- X"pyright disclaimer\" for the program, if necessary. Here a sample; alter th"
- X"e names:\n\n Yoyodyne, Inc., hereby disclaims all copyright interest in the"
- X" program `Gnomovision' (a program to direct compilers to make passes at asse"
- X"mblers) written by James Hacker.\n\n <signature of Ty Coon>, 1 April 1989\n"
- X"Ty Coon, President of Vice\n\nThat's all there is to it!\n\n","a scroll","sc"
- X"roll")
- X
- XVIRTUAL(103, 0,0,0,0,101,0, "The chair is the kind often found in offices - "
- X"that tempts you to twirl it round and round.","a chair","chair")
- X
- XPERSON(104, 0,105,18,"The Noughts and Crosses Grandmaster is an old man, wit"
- X"h a glistening eye and a long white beard. No, it isn't tucked into his bel"
- X"t.","the Grandmaster","grandmaster")
- X
- XVIRTUAL(105, 0,0,0,0, 104,0,"The book is an ancient leather bound volume, en"
- X"titled 'Noughts and Crosses: How to play a Psychological Game'.","the book","book")
- X
- XVIRTUAL(106, 0,0,0,107, 6,0,"The gate is nothing unusual in places such as t"
- X"his: it is about twice as tall as you, and made of wrought iron.","the gate","gate")
- X
- XVIRTUAL(107, 0,0,0,121, 106,1,"The fountain is made of marble, although it h"
- X"as got a little bit dulled by time. There is no water flowing and it looks "
- X"as though none has for quite some time.","the fountain","fountain")
- X
- XVIRTUAL(108, 0,0,0,109, 8,1,"The piano is an ancient grand, and it looks as "
- X"though it has been well cared for. Perhaps it would even play well...","the"
- X" piano","piano")
- X
- XVIRTUAL(109, 0,0,0,125, 108,0,"The stools are of the kind generally found wi"
- X"th pianos. They look quite well used, but are not yet getting into disrepai"
- X"r.","the stools","stools")
- X
- XVIRTUAL(110, 0,0,0,0, 10,0,"The net is an unremarkable tennis net. What is "
- X"remarkable is the way there are two of them, forming a cross.","the net","a_"
- X"net")
- X
- XVIRTUAL(111, 0,0,0,0, 11,0,"The net is an unremarkable tennis net. What is "
- X"remarkable is the way there are two of them, forming a cross.","the net","b_"
- X"net")
- X
- XVIRTUAL(112, 0,0,0,123, 12,0,"The net is an unremarkable tennis net. What i"
- X"s remarkable is the way there are two of them, forming a cross.","the net",""
- X"c_net")
- X
- XVIRTUAL(113, 0,0,0,0, 13,0,"The net is an unremarkable tennis net. What is "
- X"remarkable is the way there are two of them, forming a cross.","the net","d_"
- X"net")
- X
- XVIRTUAL(114, 0,0,0,0, 16,0,"The racks are old and rotten.","the racks","racks")
- X
- XVIRTUAL(115, 0,0,0,0, 17,0,"The shelves are old and dusty, although they sti"
- X"ll appear sound.","the shelves","shelves")
- X
- XVIRTUAL(116, 0,0,0,117, 19,1,"The cupboards seem at home in a laboratory - t"
- X"hey are brightly painted and clean.","the cupboards","cupboards")
- X
- XVIRTUAL(117, 0,0,0,118, 116,0,"The benches are the standard laboratory issue"
- X". They are tall enough to work at while standing, and do not overhang at al"
- X"l so that you can't put your knees under them if you sit down.","the benches"
- X"","benches")
- X
- XVIRTUAL(118, 0,0,0,120, 117,0,"The equipment is too complex for you to under"
- X"stand properly. The most distinctive feature is the wires emerging and goin"
- X"g to a plate labelled 'DO NOT TOUCH'","the equipment","equipment")
- X
- XVIRTUAL(119, 0,0,0,0, 9,0,"The rose is an old fashioned, scented variety.",""
- X"a rose","rose")
- X
- XVIRTUAL(120, 0,0,0,0, 118,0,"The plate is labelled 'DO NOT TOUCH'.","the pla"
- X"te","plate")
- X
- XOBJECT(121 ,0,0,122,0, 107,0,0,1,"The school bag is made of black plastic, w"
- X"ith a zip on the top, and the word 'SPORT' written on the side.","a school b"
- X"ag","school_bag")
- X
- XOBJECT(122, 0,0,0,0, 121,1,1,0,"The battery torch is a long black cylinder w"
- X"ith buttons to switch it on and off. The cylinder tapers towards one end; t"
- X"he torch is designed to be held at the narrow end, and the bulb is at the wi"
- X"de end.","a battery torch","battery_torch")
- X
- XOBJECT(123, 0,0,0,0, 112,0,0,0,"The card is about a third of A4 size, rather"
- X" muddy and with odd round holes punched in it.","a card","punch_card")
- X
- XOBJECT(124 ,0,0,0,145, 59,0,0,0,"The key is gleaming silver, obviously recen"
- X"tly polished. It fits a cylinder lock, of the sort that you might have on y"
- X"our front door when you aren't dreaming.","a silver key","silver_key")
- X
- XPERSON(125, 0,0,109,"The piano teacher is a fearsome woman, waiting to entra"
- X"p people who come into 'her' room in the house, and land them with sixteen h"
- X"ours of piano practice a day.","the piano teacher","piano_teacher")
- X
- XVIRTUAL(126,0,0,0,127,55,0,"The balcony is made of thick, ornate marble. Ei"
- X"ther it was made during classical times, or the people who had it built were"
- X" extremely rich!","a balcony","marble_balcony")
- X
- XVIRTUAL(127,0,0,0,0,126,0,"The stained glass windows are made in abstract de"
- X"signs, not the designs you would see in a Church.","stained glass windows",""
- X"stained_glass_windows")
- X
- XVIRTUAL(128,0,0,0,129,53,0,"The fighting kit is all useless - little scraps "
- X"of metal that were obviously once made into weapons, and old armour with the"
- X" leather straps long since rotted.","fighting kit","fighting_kit")
- X
- XVIRTUAL(129,0,0,0,0,128,1,"The table is not really very exciting! It looks "
- X"much like any grotty old table would!","a table","deal_table")
- X
- XVIRTUAL(130,0,0,0,0,51,0,"The bridge is made of brick pillars supporting a p"
- X"athway made of paving stones. It looks as though it needs preventive mainte"
- X"nance, in other words it may fall down at any moment!","a bridge","bridge")
- X
- XVIRTUAL(131,144,0,0,132,22,1,"Rusgreve's desk is nothing special - just a st"
- X"andard desk of the sort you might find in any office.","a desk","desk")
- X
- XVIRTUAL(132,0,0,0,133,131,0,"You can't see the document Rusgreve is working "
- X"on, because he won't let you.","a document","document")
- X
- XVIRTUAL(133,0,0,0,142,132,0,"The pot plant is a standard issue office plant,"
- X" type 2 (a), with leaves that either look plastic but aren't, or are plastic"
- X" but look real.","a pot plant","pot_plant")
- X
- XVIRTUAL(134,0,0,0,135,23,0,"There is paper here of all descriptions - from o"
- X"ld shopping lists to the designs for his... whatever it is he is working on."
- X"","paper","paper")
- X
- XVIRTUAL(135,0,0,0,136,134,0,"The electronic junk is also used for Q's room i"
- X"n making the James Bond films.","junk","junk")
- X
- XVIRTUAL(136,0,0,0,143,135,1,"Prendergast's tidy bin is overflowing with vast"
- X" quantities of material, but there is far more on the floor that could do to"
- X" be in it!","a tidy bin","tidy_bin")
- X
- XVIRTUAL(137,0,0,0,138,26,0,"What can I tell you about shelves that you don't"
- X" already know?","shelves","shelves")
- X
- XVIRTUAL(138,0,0,0,139,137,1,"The Butler's cupboards are pretty standard - pe"
- X"ople keep their things in them, and the Things keep their people outside the"
- X"m.","cupboards","cupboards")
- X
- XVIRTUAL(139,0,0,0,140,138,0,"The easy chair is used by the Butler when he is"
- X" able to find an odd few minutes to relax during a busy day.","an easy chair"
- X"","easy_chair")
- X
- XPERSON(140,159,0,139,"The butler is smartly dressed as befits his job, tall,"
- X" and you could imagine him carrying drinks on one of Gerald Ratner's trays.","the butler","butler")
- X
- XVIRTUAL(141,0,0,146,0,37,1,"The magpie's nest is built out of twigs, and has"
- X" a section for the eggs to go in, and a section for all the collected trinke"
- X"ts to go in.","a magpie's nest","nest")
- X
- XPERSON(142,0,0,133,"Rusgreve is smartly dressed, with a military bearing. H"
- X"e would have had a small moustache if he had been around before Hitler gave "
- X"small moustaches a bad reputation.","Rusgreve","rusgreve")
- X
- XPERSON(143,0,0,136,"Prendergast is wearing a white lab coat, stained with oi"
- X"l. He has a vacant expression on his face, as though he is thinking of othe"
- X"r things.","Prendergast","prendergast")
- X
- XOBJECT(144,0,0,0,0,131, 1,0,0,"The cup of coffee is hot and steaming.","a cu"
- X"p of coffee","cup_of_coffee")
- X
- XOBJECT(145,0,0,0,147,124, 1,0,0,"The 10p coin has a picture of Her Majesty o"
- X"n one side, and the rampant lion from the Royal crest on the other. Above t"
- X"he lion it says 'NEW PENCE', as a reminder of when Britain gave up a milleni"
- X"um of sovereignty or rationalised its currency, depending on how you look at"
- X" it.","a 10p coin","10p_coin")
- X
- XOBJECT(146,0,0,0,0, 141,0,0,0,"The key is made of gold, rendered hard by som"
- X"e mysterious process. It fits a cylinder lock, of the sort that you might h"
- X"ave on your front door when you aren't dreaming.","a gold key","gold_key")
- X
- XOBJECT(147 ,0,0,0,157, 145,0,0,0,"The key is made of cast bronze, obviously "
- X"recently polished. It fits a cylinder lock, of the sort that you might have"
- X" on your front door when you aren't dreaming.","a bronze key","bronze_key")
- X
- XVIRTUAL(148, 0,0,0,0, 44,0,"The door is heavy, and made of a dark wood. It "
- X"is locked with a cylinder lock, similar to that which you might have on your"
- X" front door if you weren't dreaming. The lock is made of bronze.","a door","bronze_door")
- X
- XVIRTUAL(149, 0,0,0,0, 45,0,"The door is heavy, and made of a dark wood. It "
- X"is locked with a cylinder lock, similar to that which you might have on your"
- X" front door if you weren't dreaming. The lock is made of silver.","a door","silver_door")
- X
- XVIRTUAL(150, 0,0,0,0, 46,0,"The door is heavy, and made of a dark wood. It "
- X"is locked with a cylinder lock, similar to that which you might have on your"
- X" front door if you weren't dreaming. The lock is made of gold.","a door","g"
- X"old_door")
- X
- XOBJECT(151, 152,153,154,0,56,0,0,1,"The chest looks like the dead man's one "
- X"in Treasure Island.","a large wooden chest","large_wooden_chest")
- X
- XOBJECT(152, 0,0,0,0,151,0,0,0,"The paper star is about 10cm across, and is m"
- X"ade of green paper.","a big green paper star","big_paper_large_green_star")
- X
- XOBJECT(153, 0,0,0,0,151,0,0,1,"The paper bag is the sort you might buy your "
- X"groceries in.","a brown paper bag","brown_paper_bag")
- X
- XOBJECT(154, 0,0,155,0,151,0,0,1,"The small box is painted gloss black, and i"
- X"s about the size of a jewellry box. It has a hinged lid, which is now bent "
- X"and will not close properly.","a small box","small_black_box")
- X
- XOBJECT(155, 0,0,0,0,154,0,0,0,"The medallion is a small gold disc, with an a"
- X"bstract design on each face. Attached to the top is a purple ribbon.","a me"
- X"dallion","gold_golden_medallion")
- X
- XPERSON(156,0,0,47,"The princess doesn't like being examined.","a princess",""
- X"princess")
- X
- XOBJECT(157,0,0,0,163,147,1,0,0,"The dictating machine is small enough to fit"
- X" in your pocket. It is ready loaded with a miniature tape and batteries, re"
- X"ady for you to dictate something to your secretary...","a dictating machine "
- X"(!)","dictating_machine")
- X
- XVIRTUAL(158,0,0,0,165,36,0,"The magpie is like all the magpies you have seen"
- X" before - a black and white bird.","a magpie","magpie")
- X
- XOBJECT(159,0,0,0,0,140,0,0,0,"The potion bottle is made of brown glass, with"
- X" a ground glass stopper. On the side it is labelled 'ARE YOU A MAN OR A MOU"
- X"SE? DRINK THIS AND SEE.'","a bottle of potion","bottle_of_potion")
- X
- XPERSON(160,0,0,52,"The elephant is very large, has a long trunk, big ears, g"
- X"rey skin...","an elephant","elephant")
- X
- XVIRTUAL(161,0,0,0,162,49,1,"The vending machine is a large metal box on the "
- X"wall, with a slot and a window. Through the window you can see a big pile o"
- X"f dictating machines waiting to be sold.","a vending machine","vending_machi"
- X"ne")
- X
- XVIRTUAL(162,0,0,0,0,161,1,"The slot is about the right size for a 10p coin.","a slot","slot")
- X
- XPERSON(163,0,164,157,"The water sprite is a huge, semi-human form, rearing o"
- X"ver you and trying to drag you under the water of the pool.","a water sprite"
- X"","water_sprite")
- X
- XOBJECT(164,0,0,0,0,163,0,1,0,"The torch is really quite large; it looks rath"
- X"er like the Olympic torch, so despite being a funny thing to give as a sport"
- X"s prize it is sort of appropriate. It is alight.","a burning torch","burnin"
- X"g_olympic_torch")
- X
- XVIRTUAL(165,0,0,0,0,158,0,"The tree is quite large, and with numerous low br"
- X"anches that you could use if you wanted to climb up.","a tree","climbable_tr"
- X"ee")
- X
- X/* Terminate */ {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,(char *) 1 /* Rogue value */,"","",{0,0,0,0,0,0,0,0}}
- X
- X};
- END_OF_FILE
- if test 47192 -ne `wc -c <'objects.c'`; then
- echo shar: \"'objects.c'\" unpacked with wrong size!
- fi
- # end of 'objects.c'
- fi
- if test -f 'quads.c' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'quads.c'\"
- else
- echo shar: Extracting \"'quads.c'\" \(2812 characters\)
- sed "s/^X//" >'quads.c' <<'END_OF_FILE'
- X/* Copyright (C) 1992 Pete Chown.
- X
- X Here is my latest adventure game, Napoleon (see the documentation
- X if you don't know why it's called that). Have fun... (don't cheat,
- X even though you've got the source :-) ).
- X
- X This game is free software; you can redistribute it and/or modify
- X it under the terms of the GNU General Public License as published by
- X the Free Software Foundation; either version 1, or (at your option)
- X any later version.
- X
- X The game is distributed in the hope that it will be useful, but
- X WITHOUT ANY WARRANTY; without even the implied warranty of
- X MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- X General Public License for more details.
- X
- X The GNU General Public License is often shipped with GNU software, and
- X is generally kept in a file called COPYING or LICENSE. If you do not
- X have a copy of the license, write to the Free Software Foundation,
- X 675 Mass Ave, Cambridge, MA 02139, USA. */
- X
- X#include "adv.h"
- X
- Xstatic bool showcourt(char *court,char ball,char *expected)
- X{
- X char input1 [2] = " ",input2 [2] = " ",*input;
- X
- X format("Here is the current state of the court. The Ps represent the othe"
- X"r players, the Y is you, and the arrow indicates the direction the ball is c"
- X"urrently moving in.\n\n"
- X" | \n"
- X" %c %c %c \n"
- X" | \n"
- X"---%c---+---%c---\n"
- X" | \n"
- X" %c %c %c \n"
- X" | \n\n",court [0],ball == '<' ? '<' : '|',court [1],ball == 'v' ? 'v' : '-',ball == '^' ? '^' : '-',court [2],ball == '>' ? '>' : '|',court [3]);
- X
- X format("Enter 'h' if you want to hit the ball this turn, or 'r' if you wan"
- X"t to run somewhere. Just press return if you don't want to do anything.\n");
- X do {
- X input = getline(">",LINE_NO_HISTORY);
- X input1 [0] = input [0];
- X input1 [1] = 0;
- X *input1 = tolower(*input1);
- X } while(strlen(input1) > 1 || (*input1 != 'r' && *input1 != 'h' && *input1 != 0));
- X if(*input1 != 0) {
- X format("\nEnter the direction you want%s to go, as n, s, e or w.\n",*input1 == 'r' ? "" : " it");
- X do {
- X input = getline(">",LINE_NO_HISTORY);
- X input2 [0] = input [0];
- X input2 [1] = 0;
- X *input2 = tolower(*input2);
- X } while(strlen(input2) > 1
- X || (*input2 != 'n' && *input2 != 's' && *input2 != 'w' && *input2 != 'e'));
- X }
- X if(*expected == 0 && *input1 == 0) return TRUE;
- X if(*input1 != *expected) return FALSE;
- X if(*input2 != expected [1]) return FALSE;
- X return TRUE;
- X}
- X
- Xextern bool quadruples(void)
- X{
- X if(! showcourt("PPY ",'<',"")) return FALSE;
- X if(! showcourt("P YP",'v',"he")) return FALSE;
- X if(! showcourt(" PYP",'>',"rn")) return FALSE;
- X if(! showcourt("YP P",'^',"")) return FALSE;
- X if(! showcourt("YPP ",'<',"hs")) return FALSE;
- X if(! showcourt("Y PP",'v',"re")) return FALSE;
- X return TRUE;
- X}
- END_OF_FILE
- if test 2812 -ne `wc -c <'quads.c'`; then
- echo shar: \"'quads.c'\" unpacked with wrong size!
- fi
- # end of 'quads.c'
- fi
- echo shar: End of archive 2 \(of 4\).
- cp /dev/null ark2isdone
- MISSING=""
- for I in 1 2 3 4 ; do
- if test ! -f ark${I}isdone ; then
- MISSING="${MISSING} ${I}"
- fi
- done
- if test "${MISSING}" = "" ; then
- echo You have unpacked all 4 archives.
- rm -f ark[1-9]isdone
- else
- echo You still need to unpack the following archives:
- echo " " ${MISSING}
- fi
- ## End of shell archive.
- exit 0
-