diff -ru dungeon.old/dparam.for dungeon/dparam.for --- dungeon.old/dparam.for Sat Oct 1 16:03:46 1994 +++ dungeon/dparam.for Fri Aug 22 22:42:38 1997 @@ -25,7 +25,7 @@ PARAMETER (AMAX=4) ! actors PARAMETER (FMAX=56) ! flags PARAMETER (SMAX=24) ! switches - PARAMETER (BWMAX=10) ! buzzword vocabulary + PARAMETER (BWMAX=12) ! buzzword vocabulary PARAMETER (DWMAX=25) ! direction vocabulary PARAMETER (PWMAX=20) ! preposition vocabulary PARAMETER (AWMAX=160) ! adjective vocabularly @@ -306,7 +306,6 @@ PARAMETER (UNBOAW=131) ! disembark PARAMETER (TAKEW=132) ! take PARAMETER (INVENW=133) ! inventory - PARAMETER (FILLW=134) ! fill PARAMETER (EATW=135) ! eat PARAMETER (DRINKW=136) ! drink PARAMETER (BURNW=137) ! burn @@ -499,6 +498,7 @@ PARAMETER (GCARD=188) ! gold card PARAMETER (STLDR=189) ! steel door PARAMETER (HBELL=190) ! hot bell + PARAMETER (PLEAK=191) ! Alice room leak PARAMETER (BROCH=195) ! brochure PARAMETER (STAMP=196) ! stamp on brochure PARAMETER (PDOOR=197) ! palantir door diff -ru dungeon.old/dungeon.f dungeon/dungeon.f --- dungeon.old/dungeon.f Sat Oct 1 16:03:29 1994 +++ dungeon/dungeon.f Fri Aug 22 22:42:38 1997 @@ -18,7 +18,7 @@ C C Data statements for constant arrays C - DATA VMAJ/3/,VMIN/2/,VEDIT/'A'/ + DATA VMAJ/3/,VMIN/2/,VEDIT/'B'/ C DATA BATDRP/66,67,68,69,70,71,72,65,73/ C diff -ru dungeon.old/objects.f dungeon/objects.f --- dungeon.old/objects.f Sat Oct 1 16:03:30 1994 +++ dungeon/objects.f Fri Aug 22 23:40:58 1997 @@ -81,15 +81,7 @@ CALL RSPEAK(331+RND(3)) ! joke. RETURN C -5025 IF(PRSA.NE.FILLW) GO TO 5050 ! fill x with y is - PRSA=PUTW ! made into - I=PRSI - PRSI=PRSO - PRSO=I ! put y in x. - I=ODI2 - ODI2=ODO2 - ODO2=I -5050 IF((PRSO.EQ.WATER).OR.(PRSO.EQ.GWATE)) GO TO 5100 +5025 IF((PRSO.EQ.WATER).OR.(PRSO.EQ.GWATE)) GO TO 5100 CALL RSPEAK(561) ! water is ind obj, RETURN ! punt. C @@ -586,7 +578,8 @@ CALL RSPEAK(286) ! joke. RETURN C -55200 IF((PRSA.NE.KILLW).AND.(PRSA.NE.MUNGW)) GO TO 10 +55200 IF(((PRSA.NE.KILLW).AND.(PRSA.NE.MUNGW)) + 1 .OR.(PRSO.NE.OPLAY)) GO TO 10 WINNER=PLAYER ! can't kill someone else. CALL JIGSUP(287) ! kill, no joke. RETURN @@ -1779,7 +1772,7 @@ C C O49-- Dial indicator C -18000 IF(PRSA.NE.SPINW) GO TO 18100 ! spin? +18000 IF((PRSA.NE.OPENW).OR.(PRSO.NE.BOOK)) GO TO 18100 ! open book? PNUMB=RND(8)+1 ! whee! CALL RSPSUB(797,712+PNUMB) RETURN @@ -2057,7 +2050,7 @@ CALL RSPEAK(552+RND(6)) ! joke. RETURN C -35100 IF(PRSA.NE.PLUGW) GO TO 10 ! plug? +35100 IF((PRSA.NE.PLUGW).OR.(PRSO.NE.PLEAK)) GO TO 10 ! plug leak? CALL RSPEAK(929) ! can't reach. RETURN diff -ru dungeon.old/parser.f dungeon/parser.f --- dungeon.old/parser.f Sat Oct 1 16:03:31 1994 +++ dungeon/parser.f Fri Aug 22 22:42:38 1997 @@ -209,7 +209,7 @@ C C Buzz words-- ignored in syntactic processing C - DATA BWORD/'BY','IS','A','AN','THE', + DATA BWORD/'BY','IS','A','AN','THE','AM','ARE', 1 'TODAY','MY','YOUR','OUR','HIS'/ C C Prepositions-- maps prepositions to indices @@ -753,7 +753,7 @@ 1 '60223'O,'41000'O,'400'O,0,'61005'O,-1,-1, 1 '60223'O,'41000'O,'400'O,0,'61016'O,-1,-1, 1 '60240'O,'41000'O,'400'O,0,'61012'O,-1,-1, - 1 4,'60232'O,'60007'O,-1,-1, + 1 4,'40232'O,'60007'O,-1,-1, 2 16,'72220'O,'61005'O,-1,-1,'70220'O,'61016'O,-1,-1, 2 '40221'O,'61006'O,-1,-1,'70241'O,'61010'O,-1,-1, 2 5,'52155'O,'40155'O,'61007'O,-1,-1, diff -ru dungeon.old/verbs.f dungeon/verbs.f --- dungeon.old/verbs.f Sat Oct 1 16:03:33 1994 +++ dungeon/verbs.f Fri Aug 22 23:44:09 1997 @@ -128,7 +128,11 @@ C C V102-- Inflate C -2000 IF(.NOT.OBJACT(X)) CALL RSPEAK(368) ! obj handle? +2000 IF((OFLAG1(PRSI).AND.TOOLBT).NE.0) GO TO 2100 ! tool? + CALL RSPSUB(301,ODI2) ! no, joke. + RETURN +C +2100 IF(.NOT.OBJACT(X)) CALL RSPEAK(368) ! obj handle? RETURN C C V103-- Deflate. @@ -499,8 +503,7 @@ GO TO 10 ! return false. C 34025 PRSI=GWATE ! use global water. -34050 IF(OBJACT(X)) RETURN ! obj handle? - IF((PRSI.EQ.GWATE).OR.(PRSI.EQ.WATER)) GO TO 10 +34050 PRSA=PUTW I=PRSO ! fill x with y becomes PRSO=PRSI ! put y in x PRSI=I @@ -1582,7 +1585,7 @@ SUBROUTINE VALUAC(V) IMPLICIT INTEGER (A-Z) INCLUDE 'dparam.for' - LOGICAL LIT,F,F1,TAKE,PUT,DROP,NOTHIS,QHERE,QBUNCH + LOGICAL LIT,F,F1,TAKE,PUT,DROP,NOTHIS,NOHERE,QHERE,QBUNCH C C Functions and data C