1 C Declarations for DUNGEON
  2 C
  3 C COPYRIGHT 1980, 1990, INFOCOM COMPUTERS AND COMMUNICATIONS, CAMBRIDGE MA.
  4 C ALL RIGHTS RESERVED, COMMERCIAL USAGE STRICTLY PROHIBITED
  5 C WRITTEN BY R. M. SUPNIK
  6 C
  7 C This file should be included in *all* modules to supply consistent
  8 C data structure definitions.
  9 C
 10 C 29-Sep-94         RMS       Added COUNT, LDOOR, HEADS, COKES, GBROCH, SHOUS,
 11 C                             FORE2, DIGBT.  Deleted SLEPBT.  Modified GLOBAL.
 12 C 01-Feb-94         RMS       Aligned vocabulary COMMON.
 13 C 25-Jan-94         RMS       Added sandy beach room.
 14 
 15 C
 16 C Array size parameters
 17 C
 18           PARAMETER (MMAX=1500)                             ! messages
 19           PARAMETER (RMAX=200)                              ! rooms
 20           PARAMETER (XXMAX=1000)                            ! exits
 21           PARAMETER (OMAX=300)                              ! objects
 22           PARAMETER (R2MAX=20)                              ! multiroom objects
 23           PARAMETER (CMAX=30)                     ! clock events
 24           PARAMETER (VMAX=4)                      ! villains
 25           PARAMETER (AMAX=4)                      ! actors
 26           PARAMETER (FMAX=56)                     ! flags
 27           PARAMETER (SMAX=24)                     ! switches
 28           PARAMETER (BWMAX=12)                              ! buzzword vocabulary
 29           PARAMETER (DWMAX=25)                              ! direction vocabulary
 30           PARAMETER (PWMAX=20)                              ! preposition vocabulary
 31           PARAMETER (AWMAX=160)                             ! adjective vocabularly
 32           PARAMETER (AVMAX=300)                             ! string to obj index
 33           PARAMETER (OWMAX=360)                             ! object vocabularly
 34           PARAMETER (OVMAX=550)                             ! string to obj index
 35           PARAMETER (VWMAX=240)                             ! verb vocabularly
 36           PARAMETER (VVMAX=750)                             ! verb syntaxes
 37 C
 38 C Other parameters
 39 C
 40           PARAMETER (RECLNT=20)                             ! DTEXT.DAT record size, words (4 bytes/word)
 41           PARAMETER (TEXLNT=76)                             ! text buffer size, char
 42           PARAMETER (WRDLNT=8)                              ! word length size, char
 43           PARAMETER (BUNMAX=10)                             ! bunched objects
 44           PARAMETER (LEXMAX=20)                             ! lexical tokens
 45 C
 46 C Syntax definitions
 47 C
 48           PARAMETER (SDIR=16384)                            ! direct object present
 49           PARAMETER (SIND=8192)                             ! indirect object present
 50           PARAMETER (SSTD=4096)                             ! direct object std format
 51           PARAMETER (SFLIP=2048)                            ! flip direct, indirect obj
 52           PARAMETER (SDRIV=1024)                            ! default (driver) syntax
 53           PARAMETER (SVMASK=511)                            ! mask for verb number
 54           PARAMETER (VABIT=16384)                           ! search adv for object
 55           PARAMETER (VRBIT=8192)                            ! search room for object
 56           PARAMETER (VTBIT=4096)                            ! take object if possible
 57           PARAMETER (VCBIT=2048)                            ! must have object
 58           PARAMETER (VEBIT=1024)                            ! qualifier flags = fwim flags
 59           PARAMETER (VFBIT=512)                             ! must reach object
 60           PARAMETER (VPMASK=511)                            ! mask for prep number
 61 C
 62 C Clock event indices
 63 C
 64           PARAMETER (CEVCUR=1)                              ! wound cure timer
 65           PARAMETER (CEVMNT=2)                              ! maintenance room timer
 66           PARAMETER (CEVLNT=3)                              ! lantern timer
 67           PARAMETER (CEVMAT=4)                              ! match timer
 68           PARAMETER (CEVCND=5)                              ! candle timer
 69           PARAMETER (CEVBAL=6)                              ! balloon inflation
 70           PARAMETER (CEVBRN=7)                              ! balloon burnup
 71           PARAMETER (CEVFUS=8)                              ! fuse burn
 72           PARAMETER (CEVLED=9)                              ! ledge collapse timer
 73           PARAMETER (CEVSAF=10)                             ! safe timer
 74           PARAMETER (CEVVLG=11)                             ! volcano gnome appearance
 75           PARAMETER (CEVGNO=12)                             ! volcano gnome exit
 76           PARAMETER (CEVBUC=13)                             ! bucket timer
 77           PARAMETER (CEVSPH=14)                             ! sphere timer
 78           PARAMETER (CEVEGH=15)                             ! end game herald
 79           PARAMETER (CEVFOR=16)                             ! forest noises
 80           PARAMETER (CEVSCL=17)                             ! screen of light
 81           PARAMETER (CEVZGI=18)                             ! Zurich gnome appearance
 82           PARAMETER (CEVZGO=19)                             ! Zurich gnome exit
 83           PARAMETER (CEVSTE=20)                             ! end game start
 84           PARAMETER (CEVMRS=21)                             ! mirror timer
 85           PARAMETER (CEVPIN=22)                             ! panel timer
 86           PARAMETER (CEVINQ=23)                             ! inquisition timer
 87           PARAMETER (CEVFOL=24)                             ! master follows
 88           PARAMETER (CEVBRO=25)                             ! brochure timer
 89           PARAMETER (CEVCYC=26)                             ! cyclops demon
 90           PARAMETER (CEVSLI=27)                             ! slide timer
 91           PARAMETER (CEVXB=28)                              ! exorcism bell timer
 92           PARAMETER (CEVXC=29)                              ! exorcism candle timer
 93           PARAMETER (CEVXBH=30)                             ! exorcism bell cooling
 94 C
 95 C Exit definitions
 96 C
 97           PARAMETER (XLFLAG=32768)                ! last entry flag
 98           PARAMETER (XDMASK=31744)                ! direction mask
 99           PARAMETER (XRMASK=255)                            ! room mask
100           PARAMETER (XFMASK=3)                              ! type mask
101           PARAMETER (XFSHFT=256)
102           PARAMETER (XASHFT=256)
103           PARAMETER (XNORM=1)                     ! normal exit
104           PARAMETER (XNO=2)                       ! no exit
105           PARAMETER (XCOND=3)                     ! conditional exit
106           PARAMETER (XDOOR=4)                     ! door
107           PARAMETER (XMIN=1024)                             ! minimum direction
108           PARAMETER (XMAX=16384)                            ! maximum direction
109           PARAMETER (XNORTH=1024)
110           PARAMETER (XNE=2048)
111           PARAMETER (XEAST=3072)
112           PARAMETER (XSE=4096)
113           PARAMETER (XSOUTH=5120)
114           PARAMETER (XSW=6144)
115           PARAMETER (XWEST=7168)
116           PARAMETER (XNW=8192)
117           PARAMETER (XUP=9216)
118           PARAMETER (XDOWN=10240)
119           PARAMETER (XLAUN=11264)
120           PARAMETER (XLAND=12288)
121           PARAMETER (XENTER=13312)
122           PARAMETER (XEXIT=14336)
123           PARAMETER (XCROSS=15360)
124 C
125 C Actor indices
126 C
127           PARAMETER (PLAYER=1)                              ! player
128           PARAMETER (AROBOT=2)                              ! robot
129           PARAMETER (AMASTR=3)                              ! dungeon master
130 C
131 C Actor flags
132 C
133           PARAMETER (ASTAG=32768)                           ! staggered
134 C
135 C Room flags
136 C
137           PARAMETER (RSEEN=32768)                           ! seen
138           PARAMETER (RLIGHT=16384)                ! lighted
139           PARAMETER (RLAND=8192)                            ! land
140           PARAMETER (RWATER=4096)                           ! water
141           PARAMETER (RAIR=2048)                             ! air
142           PARAMETER (RSACRD=1024)                           ! sacred (thief cant visit)
143           PARAMETER (RFILL=512)                             ! contains water
144           PARAMETER (RMUNG=256)                             ! destroyed
145           PARAMETER (RBUCK=128)                             ! part of bucket
146           PARAMETER (RHOUSE=64)                             ! part of house
147           PARAMETER (RNWALL=32)                             ! no walls
148           PARAMETER (REND=16)                     ! part of endgame
149 C
150 C Room indices
151 C
152           PARAMETER (WHOUS=2)                     ! west of house
153           PARAMETER (SHOUS=4)                     ! south of house
154           PARAMETER (EHOUS=5)                     ! east of house
155           PARAMETER (KITCH=6)                     ! kitchen
156           PARAMETER (LROOM=8)                     ! living room
157           PARAMETER (CELLA=9)                     ! cellar
158           PARAMETER (MTROL=10)                              ! troll room
159           PARAMETER (MAZE1=11)                              ! start of maze
160           PARAMETER (MGRAT=25)                              ! grating room
161           PARAMETER (MAZ15=30)                              ! end of maze
162           PARAMETER (FORE1=31)                              ! forest 1
163           PARAMETER (FORE2=32)                              ! forest 2
164           PARAMETER (FORE3=33)                              ! forest 3
165           PARAMETER (CLEAR=36)                              ! clearing
166           PARAMETER (RESER=40)                              ! reservoir
167           PARAMETER (STREA=42)                              ! stream
168           PARAMETER (EGYPT=44)                              ! egypt room
169           PARAMETER (ECHOR=49)                              ! echo room
170           PARAMETER (SLIDE=58)                              ! slide room
171           PARAMETER (TSHAF=61)                              ! top of shaft
172           PARAMETER (BSHAF=76)                              ! bottom of shaft
173           PARAMETER (MMACH=77)                              ! machine room
174           PARAMETER (DOME=79)                     ! dome room
175           PARAMETER (MTORC=80)                              ! torch room
176           PARAMETER (CAROU=83)                              ! carousel room
177           PARAMETER (RIDDL=91)                              ! riddle room
178           PARAMETER (LLD1=93)                     ! entrance to hades
179           PARAMETER (LLD2=94)                     ! land of the living dead
180           PARAMETER (TEMP1=96)                              ! temple
181           PARAMETER (TEMP2=97)                              ! altar
182           PARAMETER (MAINT=100)                             ! maintenance room
183           PARAMETER (MCYCL=101)                             ! cyclops room
184           PARAMETER (BLROO=102)                             ! back of living room
185           PARAMETER (TREAS=103)                             ! thief's treasury
186           PARAMETER (RIVR1=107)                             ! river 1
187           PARAMETER (RIVR2=108)                             ! river 2
188           PARAMETER (RIVR3=109)                             ! river 3
189           PARAMETER (RIVR4=112)                             ! river 4
190           PARAMETER (RIVR5=113)                             ! river 5
191           PARAMETER (FCHMP=114)                             ! over falls
192           PARAMETER (SBEACH=116)                            ! sandy beach
193           PARAMETER (FALLS=120)                             ! top of falls
194           PARAMETER (MRAIN=121)                             ! rainbow room
195           PARAMETER (POG=122)                     ! pot of gold room
196           PARAMETER (VLBOT=126)                             ! volcano bottom
197           PARAMETER (VAIR1=127)                             ! mid air 1
198           PARAMETER (VAIR2=128)                             ! mid air 2
199           PARAMETER (VAIR3=129)                             ! mid air 3
200           PARAMETER (VAIR4=130)                             ! mid air 4
201           PARAMETER (LEDG2=131)                             ! ledge 2
202           PARAMETER (LEDG3=132)                             ! ledge 3
203           PARAMETER (LEDG4=133)                             ! ledge 4
204           PARAMETER (MSAFE=135)                             ! safe room
205           PARAMETER (CAGER=140)                             ! cage room
206           PARAMETER (CAGED=141)                             ! in cage
207           PARAMETER (TWELL=142)                             ! top of well
208           PARAMETER (BWELL=143)                             ! bottom of well
209           PARAMETER (ALICE=144)                             ! alice room
210           PARAMETER (ALISM=145)                             ! alice small room
211           PARAMETER (ALITR=146)                             ! alice trap room
212           PARAMETER (MTREE=147)                             ! up a tree
213           PARAMETER (BKENT=148)                             ! bank entrance
214           PARAMETER (BKVW=151)                              ! bank view west
215           PARAMETER (BKVE=152)                              ! bank view east
216           PARAMETER (BKTWI=153)                             ! bank
217           PARAMETER (BKVAU=154)                             ! bank vault
218           PARAMETER (BKBOX=155)                             ! bank box
219           PARAMETER (CRYPT=157)                             ! crypt
220           PARAMETER (TSTRS=158)                             ! top of stairs
221           PARAMETER (MRANT=159)                             ! mirror anteroom
222           PARAMETER (MREYE=160)                             ! mirror eye
223           PARAMETER (MRA=161)                     ! mirror A
224           PARAMETER (MRB=162)                     ! mirror B
225           PARAMETER (MRC=163)                     ! mirror C
226           PARAMETER (MRG=164)                     ! mirror G
227           PARAMETER (MRD=165)                     ! mirror D
228           PARAMETER (FDOOR=166)                             ! front door
229           PARAMETER (MRAE=167)                              ! mirror A east
230           PARAMETER (MRCE=171)                              ! mirror C east
231           PARAMETER (MRCW=172)                              ! mirror C west
232           PARAMETER (MRGE=173)                              ! mirror G east
233           PARAMETER (MRGW=174)                              ! mirror G west
234           PARAMETER (MRDW=176)                              ! mirror D west
235           PARAMETER (INMIR=177)                             ! in mirror
236           PARAMETER (SCORR=179)                             ! south corridor
237           PARAMETER (NCORR=182)                             ! north corridor
238           PARAMETER (PARAP=183)                             ! parapet
239           PARAMETER (CELL=184)                              ! cell
240           PARAMETER (PCELL=185)                             ! prison cell
241           PARAMETER (NCELL=186)                             ! nirvana cell
242           PARAMETER (CPANT=188)                             ! puzzle anteroom
243           PARAMETER (CPOUT=189)                             ! puzzle exit
244           PARAMETER (CPUZZ=190)                             ! puzzle room
245           PARAMETER (PRM=192)                     ! palantir anteroom
246           PARAMETER (PALRM=193)                             ! palantir room
247           PARAMETER (SLID1=194)                             ! slide 1
248           PARAMETER (SLEDG=197)                             ! slide ledge
249 C
250 C Verb indices
251 C
252           PARAMETER (CINTW=1)                     ! clock interrupt
253           PARAMETER (DEADXW=2)                              ! villain dead
254           PARAMETER (FRSTQW=3)                              ! villain first encounter
255           PARAMETER (INXW=4)                      ! villain wakes up
256           PARAMETER (OUTXW=5)                     ! villain out cold
257           PARAMETER (WALKIW=6)                              ! player walks in
258           PARAMETER (FIGHTW=7)                              ! fighting starts
259           PARAMETER (FOOW=8)                      ! nop
260           PARAMETER (SQUEEW=68)                             ! squeeze
261           PARAMETER (STAYW=73)                              ! stay
262           PARAMETER (PRAYW=79)                              ! pray
263           PARAMETER (BLASTW=82)                             ! blast
264           PARAMETER (SCOREW=83)                             ! score
265           PARAMETER (QUITW=84)                              ! quit
266           PARAMETER (FOLLOW=85)                             ! follow
267           PARAMETER (GTHROW=86)                             ! go through
268           PARAMETER (RINGW=87)                              ! ring
269           PARAMETER (DIGW=89)                     ! dig
270           PARAMETER (LEAPW=91)                              ! leap
271           PARAMETER (LOCKW=92)                              ! lock
272           PARAMETER (UNLOKW=93)                             ! unlock
273           PARAMETER (DIAGNW=94)                             ! diagnose
274           PARAMETER (COUNTW=97)                             ! count
275           PARAMETER (READW=100)                             ! read
276           PARAMETER (MELTW=101)                             ! melt
277           PARAMETER (INFLAW=102)                            ! inflate
278           PARAMETER (DEFLAW=103)                            ! deflate
279           PARAMETER (ALARMW=104)                            ! alarm
280           PARAMETER (EXORCW=105)                            ! exorcise
281           PARAMETER (PLUGW=106)                             ! plug
282           PARAMETER (KICKW=107)                             ! kick
283           PARAMETER (WAVEW=108)                             ! wave
284           PARAMETER (RAISEW=109)                            ! raise
285           PARAMETER (LOWERW=110)                            ! lower
286           PARAMETER (RUBW=111)                              ! rub
287           PARAMETER (PUSHW=112)                             ! push
288           PARAMETER (UNTIEW=113)                            ! untie
289           PARAMETER (TIEW=114)                              ! tie
290           PARAMETER (TIEUPW=115)                            ! tie up
291           PARAMETER (TURNW=116)                             ! turn
292           PARAMETER (BREATW=117)                            ! breathe
293           PARAMETER (KNOCKW=118)                            ! knock
294           PARAMETER (LOOKW=119)                             ! look
295           PARAMETER (EXAMIW=120)                            ! examine
296           PARAMETER (SHAKEW=121)                            ! shake
297           PARAMETER (MOVEW=122)                             ! move
298           PARAMETER (TRNONW=123)                            ! turn on
299           PARAMETER (TRNOFW=124)                            ! turn off
300           PARAMETER (OPENW=125)                             ! open
301           PARAMETER (CLOSEW=126)                            ! close
302           PARAMETER (FINDW=127)                             ! find
303           PARAMETER (WAITW=128)                             ! wait
304           PARAMETER (SPINW=129)                             ! spin
305           PARAMETER (BOARDW=130)                            ! board
306           PARAMETER (UNBOAW=131)                            ! disembark
307           PARAMETER (TAKEW=132)                             ! take
308           PARAMETER (INVENW=133)                            ! inventory
309           PARAMETER (EATW=135)                              ! eat
310           PARAMETER (DRINKW=136)                            ! drink
311           PARAMETER (BURNW=137)                             ! burn
312           PARAMETER (MUNGW=138)                             ! destroy
313           PARAMETER (KILLW=139)                             ! kill
314           PARAMETER (SWINGW=140)                            ! swing
315           PARAMETER (ATTACW=141)                            ! attack
316           PARAMETER (WALKW=142)                             ! walk
317           PARAMETER (TELLW=143)                             ! tell
318           PARAMETER (PUTW=144)                              ! put
319           PARAMETER (DROPW=145)                             ! drop
320           PARAMETER (GIVEW=146)                             ! give
321           PARAMETER (POURW=147)                             ! pour
322           PARAMETER (THROWW=148)                            ! throw
323           PARAMETER (HELLOW=151)                            ! hello
324           PARAMETER (LOOKIW=152)                            ! look in
325           PARAMETER (LOOKUW=153)                            ! look under
326           PARAMETER (PUMPW=154)                             ! pump
327           PARAMETER (WINDW=155)                             ! wind
328           PARAMETER (CLMBW=156)                             ! climb
329           PARAMETER (CLMBUW=157)                            ! climb up
330           PARAMETER (CLMBDW=158)                            ! climb down
331           PARAMETER (TRNTOW=159)                            ! turn to
332           PARAMETER (PORONW=160)                            ! pour on
333           PARAMETER (PUTUNW=161)                            ! put under
334           PARAMETER (UTFRMW=162)                            ! untie from
335           PARAMETER (MAKEW=163)                             ! make
336           PARAMETER (OILW=164)                              ! oil
337           PARAMETER (PLAYW=165)                             ! play
338           PARAMETER (SENDW=166)                             ! send
339 C
340 C Object flags
341 C
342           PARAMETER (VISIBT=32768)                ! visible
343           PARAMETER (READBT=16384)                ! readable
344           PARAMETER (TAKEBT=8192)                           ! takeable
345           PARAMETER (DOORBT=4096)                           ! door
346           PARAMETER (TRANBT=2048)                           ! transparent
347           PARAMETER (FOODBT=1024)                           ! edible
348           PARAMETER (NDSCBT=512)                            ! don't describe
349           PARAMETER (DRNKBT=256)                            ! drinkable
350           PARAMETER (CONTBT=128)                            ! container
351           PARAMETER (LITEBT=64)                             ! provides light
352           PARAMETER (VICTBT=32)                             ! victim
353           PARAMETER (BURNBT=16)                             ! burnable
354           PARAMETER (FLAMBT=8)                              ! flaming
355           PARAMETER (TOOLBT=4)                              ! tool
356           PARAMETER (TURNBT=2)                              ! turnable
357           PARAMETER (ONBT=1)                      ! turned on
358           PARAMETER (FINDBT=32768)                ! find
359           PARAMETER (DIGBT=16384)                           ! digable
360           PARAMETER (SCRDBT=8192)                           ! sacred (thief wont steal)
361           PARAMETER (TIEBT=4096)                            ! tieable
362           PARAMETER (CLMBBT=2048)                           ! climbable
363           PARAMETER (ACTRBT=1024)                           ! actor
364           PARAMETER (WEAPBT=512)                            ! weapon
365           PARAMETER (FITEBT=256)                            ! fighting
366           PARAMETER (VILLBT=128)                            ! villain
367           PARAMETER (STAGBT=64)                             ! staggered
368           PARAMETER (TRYBT=32)                              ! try to take
369           PARAMETER (NOCHBT=16)                             ! don't check
370           PARAMETER (OPENBT=8)                              ! open
371           PARAMETER (TCHBT=4)                     ! touched
372           PARAMETER (VEHBT=2)                     ! vehicle
373           PARAMETER (SCHBT=1)                     ! searchable
374 C
375 C Object indices
376 C
377           PARAMETER (GARLI=2)                     ! garlic
378           PARAMETER (FOOD=3)                      ! hot peppers
379           PARAMETER (GUNK=4)                      ! gunk
380           PARAMETER (COAL=5)                      ! piece of coal
381           PARAMETER (MACHI=7)                     ! machine
382           PARAMETER (DIAMO=8)                     ! diamond
383           PARAMETER (TCASE=9)                     ! trophy case
384           PARAMETER (BOTTL=10)                              ! bottle
385           PARAMETER (WATER=11)                              ! water
386           PARAMETER (ROPE=12)                     ! rope
387           PARAMETER (KNIFE=13)                              ! knife
388           PARAMETER (SWORD=14)                              ! sword
389           PARAMETER (LAMP=15)                     ! lamp
390           PARAMETER (BLAMP=16)                              ! broken lamp
391           PARAMETER (RUG=17)                      ! rug
392           PARAMETER (LEAVE=18)                              ! pile of leaves
393           PARAMETER (TROLL=19)                              ! troll
394           PARAMETER (AXE=20)                      ! axe
395           PARAMETER (KEYS=23)                     ! keys
396           PARAMETER (RKNIF=24)                              ! rusty knife
397           PARAMETER (BAGCO=25)                              ! bag of coins
398           PARAMETER (BAR=26)                      ! platinum bar
399           PARAMETER (ICE=30)                      ! glacier
400           PARAMETER (COFFI=33)                              ! coffin
401           PARAMETER (TORCH=34)                              ! torch
402           PARAMETER (TBASK=35)                              ! true basket
403           PARAMETER (FBASK=36)                              ! false basket
404           PARAMETER (TIMBE=38)                              ! timber
405           PARAMETER (IRBOX=39)                              ! iron box
406           PARAMETER (STRAD=40)                              ! violin
407           PARAMETER (GHOST=42)                              ! spirits
408           PARAMETER (TRUNK=45)                              ! trunk
409           PARAMETER (BELL=46)                     ! bell
410           PARAMETER (BOOK=47)                     ! book
411           PARAMETER (CANDL=48)                              ! candles
412           PARAMETER (GUIDE=49)                              ! guidebook
413           PARAMETER (MATCH=51)                              ! matches
414           PARAMETER (MAILB=53)                              ! mailbox
415           PARAMETER (TUBE=54)                     ! tube of putty
416           PARAMETER (PUTTY=55)                              ! putty
417           PARAMETER (WRENC=56)                              ! wrench
418           PARAMETER (SCREW=57)                              ! screwdriver
419           PARAMETER (CYCLO=58)                              ! cyclops
420           PARAMETER (CHALI=59)                              ! chalice
421           PARAMETER (THIEF=61)                              ! thief
422           PARAMETER (STILL=62)                              ! stiletto
423           PARAMETER (WINDO=63)                              ! window
424           PARAMETER (GRATE=65)                              ! grating
425           PARAMETER (DOOR=66)                     ! door
426           PARAMETER (HPOLE=71)                              ! head on pole
427           PARAMETER (RBUTT=79)                              ! red button
428           PARAMETER (LEAK=78)                     ! leak
429           PARAMETER (RAILI=75)                              ! railing
430           PARAMETER (POT=85)                      ! pot of gold
431           PARAMETER (STATU=86)                              ! statue
432           PARAMETER (IBOAT=87)                              ! inflatable boat
433           PARAMETER (DBOAT=88)                              ! dead boat
434           PARAMETER (PUMP=89)                     ! pump
435           PARAMETER (RBOAT=90)                              ! inflated boat
436           PARAMETER (LABEL=91)                              ! boat label
437           PARAMETER (STICK=92)                              ! stick
438           PARAMETER (BARRE=93)                              ! barrel
439           PARAMETER (BUOY=94)                     ! buoy
440           PARAMETER (SHOVE=96)                              ! shovel
441           PARAMETER (GUANO=97)                              ! pile of guano
442           PARAMETER (BALLO=98)                              ! balloon
443           PARAMETER (RECEP=99)                              ! receptacle
444           PARAMETER (BROPE=101)                             ! braided rope
445           PARAMETER (HOOK1=102)                             ! hook 1
446           PARAMETER (HOOK2=103)                             ! hook 2
447           PARAMETER (ZORKM=104)                             ! zorkmid coin
448           PARAMETER (SAFE=105)                              ! safe
449           PARAMETER (CARD=106)                              ! card
450           PARAMETER (SSLOT=107)                             ! safe slot
451           PARAMETER (BRICK=109)                             ! brick (bomb)
452           PARAMETER (FUSE=110)                              ! fuse
453           PARAMETER (GNOME=111)                             ! volcano gnome
454           PARAMETER (BLABE=112)                             ! balloon label
455           PARAMETER (DBALL=113)                             ! dead balloon
456           PARAMETER (TOMB=119)                              ! tomb
457           PARAMETER (HEADS=120)                             ! heads
458           PARAMETER (COKES=121)                             ! coke bottles
459           PARAMETER (LCASE=123)                             ! large case
460           PARAMETER (CAGE=124)                              ! cage
461           PARAMETER (RCAGE=125)                             ! real cage
462           PARAMETER (SPHER=126)                             ! white crystal sphere
463           PARAMETER (SQBUT=127)                             ! square button
464           PARAMETER (FLASK=132)                             ! flask
465           PARAMETER (POOL=133)                              ! pool of sewage
466           PARAMETER (SAFFR=134)                             ! spices
467           PARAMETER (BUCKE=137)                             ! bucket
468           PARAMETER (ECAKE=138)                             ! eatme cake
469           PARAMETER (ORICE=139)                             ! orange icing
470           PARAMETER (RDICE=140)                             ! red icing
471           PARAMETER (BLICE=141)                             ! blue icing
472           PARAMETER (ROBOT=142)                             ! robot
473           PARAMETER (RBTLB=143)                             ! robot label
474           PARAMETER (TTREE=144)                             ! foot of tree
475           PARAMETER (FTREE=145)                             ! foot of tree
476           PARAMETER (BILLS=148)                             ! pile of bills
477           PARAMETER (PORTR=149)                             ! portrait
478           PARAMETER (SCOL=151)                              ! screen of light
479           PARAMETER (ZGNOM=152)                             ! gnome of Zurich
480           PARAMETER (NEST=153)                              ! nest
481           PARAMETER (EGG=154)                     ! egg
482           PARAMETER (BEGG=155)                              ! broken egg
483           PARAMETER (BAUBL=156)                             ! bauble
484           PARAMETER (CANAR=157)                             ! canary
485           PARAMETER (BCANA=158)                             ! broken canary
486           PARAMETER (YLWAL=159)                             ! yellow wall
487           PARAMETER (RDWAL=161)                             ! red wall
488           PARAMETER (PINDR=164)                             ! pine door
489           PARAMETER (RBEAM=171)                             ! red beam
490           PARAMETER (ODOOR=172)                             ! endgame door
491           PARAMETER (QDOOR=173)                             ! endgame door
492           PARAMETER (LDOOR=174)                             ! endgame door
493           PARAMETER (CDOOR=175)                             ! endgame door
494           PARAMETER (NUM1=178)                              ! numeral 1
495           PARAMETER (NUM8=185)                              ! numeral 8
496           PARAMETER (WARNI=186)                             ! warning
497           PARAMETER (CSLIT=187)                             ! card slit
498           PARAMETER (GCARD=188)                             ! gold card
499           PARAMETER (STLDR=189)                             ! steel door
500           PARAMETER (HBELL=190)                             ! hot bell
501           PARAMETER (PLEAK=191)                             ! Alice room leak
502           PARAMETER (BROCH=195)                             ! brochure
503           PARAMETER (STAMP=196)                             ! stamp on brochure
504           PARAMETER (PDOOR=197)                             ! palantir door
505           PARAMETER (PLID1=200)                             ! lid 1
506           PARAMETER (PLID2=201)                             ! lid 2
507           PARAMETER (PKH1=202)                              ! keyhole 1
508           PARAMETER (PKH2=203)                              ! keyhole 2
509           PARAMETER (PKEY=205)                              ! rusty key
510           PARAMETER (PALAN=206)                             ! blue crystal sphere
511           PARAMETER (MAT=207)                     ! welcome mat
512           PARAMETER (PAL3=209)                              ! red crystal sphere
513 C
514           PARAMETER (ITOBJ=250)                             ! global it
515           PARAMETER (OPLAY=251)                             ! global me
516           PARAMETER (EVERY=252)                             ! global everything
517           PARAMETER (VALUA=253)                             ! global valuables
518           PARAMETER (POSSE=254)                             ! global possessions
519           PARAMETER (SAILO=255)                             ! global sailor
520           PARAMETER (TEETH=256)                             ! global teeth
521           PARAMETER (WALL=257)                              ! global wall
522           PARAMETER (HANDS=259)                             ! global hands
523           PARAMETER (LUNGS=260)                             ! global lungs
524           PARAMETER (AVIAT=261)                             ! global flyer
525           PARAMETER (GBROCH=262)                            ! global brochure
526           PARAMETER (GWISH=263)                             ! global wish (blessing)
527           PARAMETER (GLOBAL=264)                            ! end of universals
528           PARAMETER (GRWAL=265)                             ! global granite wall
529           PARAMETER (WNORT=269)                             ! global north wall
530           PARAMETER (GWATE=273)                             ! global water
531           PARAMETER (MASTER=279)                            ! global dungeon master
532           PARAMETER (BUNOBJ=284)                            ! bunch pseudo object
533 C
534 C Misc definitions
535 C
536           PARAMETER (HFACTR=500)
537 C
538 C Parser output
539 C
540           LOGICAL PRSWON
541           COMMON /PRSVEC/ PRSA,PRSI,PRSO,PRSWON,PRSCON
542 C
543 C Parser state
544 C
545           CHARACTER*(WRDLNT) ONAME
546           COMMON /PRSSTA/
547           &         OFLAG,OACT,OPREP1,OOBJ1,OPREP,OPREP2,OOBJ2,
548           &         LASTIT,ACT,OBJ1,OBJ2,PREP1,PREP2,
549           &         VFLAG,DOBJ,DFL1,DFL2,DFW1,DFW2,
550           &         IOBJ,IFL1,IFL2,IFW1,IFW2,
551           &         BUNLNT,BUNSUB,BUNVEC(BUNMAX)
552           COMMON/PRSSTC/ ONAME
553           INTEGER SYN(11)
554           EQUIVALENCE (SYN(1),VFLAG)
555 C
556 C Parser vocabularies
557 C
558           CHARACTER*(WRDLNT) BWORD,PWORD,DWORD,AWORD,OWORD,VWORD
559           COMMON /VOCAB/ BWORD(BWMAX),PWORD(PWMAX),DWORD(DWMAX),
560           &         AWORD(AWMAX),OWORD(OWMAX),VWORD(VWMAX)
561           COMMON /VOCAB1/ PVOC(PWMAX),
562           &         DVOC(DWMAX),AVOC(AVMAX),OVOC(OVMAX),VVOC(VVMAX)
563 C
564 C Game state
565 C
566           LOGICAL TELFLG
567           COMMON /PLAY/ WINNER,HERE,TELFLG,
568           &         MOVES,DEATHS,RWSCOR,MXSCOR,MXLOAD,
569           &         LTSHFT,BLOC,MUNGRM,HS,EGSCOR,EGMXSC
570 C
571 C Screen of light state
572 C
573           COMMON /SCREEN/ FROMDR,SCOLRM,SCOLAC,
574           &         SCOLDR(8),SCOLWL(12)
575 C
576 C Puzzle room state
577 C
578           COMMON /PUZZLE/ CPDR(16),CPWL(8),CPVEC(64)
579 C
580 C Message index
581 C
582           COMMON /RMSG/ MLNT,RTEXT(MMAX)
583 C
584 C Miscellaneous variables
585 C
586           CHARACTER*(TEXLNT) INBUF,SUBBUF
587           CHARACTER*1 VEDIT
588           COMMON /INPUT/ INLNT,SUBLNT
589           COMMON /INPUTC/ INBUF,SUBBUF
590           COMMON /MISC/ MBASE,STRBIT,
591           &         PLTIME,SHOUR,SMIN,SSEC,
592           &         BATDRP(9),TMARRAY(3),
593           &         INPCH,OUTCH,DBCH,
594           &         DBGFLG,PRSFLG,GDTFLG,
595           &         VMAJ,VMIN
596           COMMON /MISC1/ VEDIT
597 C
598 C Rooms
599 C
600           COMMON /ROOMS/ RLNT,RDESC2,RDESC1(RMAX),REXIT(RMAX),
601           &         RACTIO(RMAX),RVAL(RMAX),RFLAG(RMAX)
602 C
603 C Exits
604 C
605           COMMON /EXITS/ XLNT,TRAVEL(XXMAX)
606 C
607           COMMON /CURXT/ XELNT(4),XTYPE,XROOM1,XSTRNG,XACTIO,XOBJ
608           EQUIVALENCE (XFLAG,XOBJ)
609 C
610 C Objects
611 C
612           COMMON /OBJCTS/ OLNT,ODESC1(OMAX),ODESC2(OMAX),ODESCO(OMAX),
613           &         OACTIO(OMAX),OFLAG1(OMAX),OFLAG2(OMAX),OFVAL(OMAX),
614           &         OTVAL(OMAX),OSIZE(OMAX),OCAPAC(OMAX),OROOM(OMAX),
615           &         OADV(OMAX),OCAN(OMAX),OREAD(OMAX)
616 C
617           COMMON /OROOM2/ R2LNT,O2(R2MAX),R2(R2MAX)
618 C
619 C Clock interrupts
620 C
621           LOGICAL CFLAG,CCNCEL
622           COMMON /CEVENT/ CLNT,CTICK(CMAX),CACTIO(CMAX),
623           &         CFLAG(CMAX),CCNCEL(CMAX)
624 C
625 C Villains and demons
626 C
627           LOGICAL THFFLG,SWDACT,THFACT
628           COMMON /HACK/ THFPOS,THFFLG,THFACT,SWDACT,SWDSTA
629           COMMON /VILL/ VLNT,VILLNS(VMAX),VPROB(VMAX),VOPPS(VMAX),
630           &         VBEST(VMAX),VMELEE(VMAX)
631 C
632 C Adventurers
633 C
634           COMMON /ADVS/ ALNT,AROOM(AMAX),ASCORE(AMAX),AVEHIC(AMAX),
635           &         AOBJ(AMAX),AACTIO(AMAX),ASTREN(AMAX),AFLAG(AMAX)
636 C
637 C Flags
638 C
639           LOGICAL FLAGS(FMAX)
640           EQUIVALENCE (FLAGS(1),TROLLF)
641           INTEGER SWITCH(SMAX)
642           EQUIVALENCE (SWITCH(1),BTIEF)
643           LOGICAL TROLLF,CAGESF,BUCKTF,CAROFF,CAROZF,LWTIDF
644           LOGICAL DOMEF,GLACRF,ECHOF,RIDDLF,LLDF,CYCLOF
645           LOGICAL MAGICF,LITLDF,SAFEF,GNOMEF,GNODRF,MIRRMF
646           LOGICAL EGYPTF,ONPOLF,BLABF,BRIEFF,SUPERF,BUOYF
647           LOGICAL GRUNLF,GATEF,RAINBF,CAGETF,EMPTHF,DEFLAF
648           LOGICAL GLACMF,FROBZF,ENDGMF,BADLKF,THFENF,SINGSF
649           LOGICAL MRPSHF,MROPNF,WDOPNF,MR1F,MR2F,INQSTF
650           LOGICAL FOLLWF,SPELLF,CPOUTF,CPUSHF
651           LOGICAL DEADF,ZGNOMF,MATF,PLOOKF,PTOUCF
652           LOGICAL BROC1F,BROC2F,EXORBF,EXORCF,PUNLKF
653           COMMON /FINDEX/ TROLLF,CAGESF,BUCKTF,CAROFF,CAROZF,LWTIDF,
654           &         DOMEF,GLACRF,ECHOF,RIDDLF,LLDF,CYCLOF,
655           &         MAGICF,LITLDF,SAFEF,GNOMEF,GNODRF,MIRRMF,
656           &         EGYPTF,ONPOLF,BLABF,BRIEFF,SUPERF,BUOYF,
657           &         GRUNLF,GATEF,RAINBF,CAGETF,EMPTHF,DEFLAF,
658           &         GLACMF,FROBZF,ENDGMF,BADLKF,THFENF,SINGSF,
659           &         MRPSHF,MROPNF,WDOPNF,MR1F,MR2F,INQSTF,
660           &         FOLLWF,SPELLF,CPOUTF,CPUSHF,
661           &         DEADF,ZGNOMF,MATF,PLOOKF,PTOUCF,
662           &         BROC1F,BROC2F,EXORBF,EXORCF,PUNLKF
663           COMMON /FINDEX/ BTIEF,BINFF
664           COMMON /FINDEX/ RVMNT,RVCLR,RVCYC,RVSND,RVGUA
665           COMMON /FINDEX/ ORRUG,ORCAND,ORMTCH,ORLAMP
666           COMMON /FINDEX/ MDIR,MLOC,POLEUF
667           COMMON /FINDEX/ QUESNO,NQATT,CORRCT
668           COMMON /FINDEX/ LCELL,PNUMB,ACELL,DCELL,CPHERE
669           COMMON /FINDEX/ TTIE,MATOBJ