1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 LOGICAL OAPPLI(RI,ARG)
22 IMPLICIT INTEGER (A-Z)
23 %include dparam
24 LOGICAL SOBJS,NOBJS
25 LOGICAL QOPEN,QON,LIT,WASLIT
26 LOGICAL MOVETO,RMDESC,CLOCKD
27 LOGICAL THIEFP,CYCLOP,TROLLP,BALLOP
28 LOGICAL QEMPTY,F,OPNCLS
29 PARAMETER (MXSMP=99)
30
31
32
33
34 QOPEN(R)=AND(OFLAG2(R),OPENBT).NE.0
35
36 QON(R)=AND(OFLAG1(R),ONBT).NE.0
37
38 IF(RI.EQ.0) GO TO 10
39 IF(RI.LE.MXSMP) GO TO 100
40 ODO2=0
41 ODI2=0
42 IF((PRSO.NE.0).AND.(PRSO.LE.OMAX)) ODO2=ODESC2(PRSO)
43 IF(PRSI.NE.0) ODI2=ODESC2(PRSI)
44 AV=AVEHIC(WINNER)
45 FLOBTS=FLAMBT+LITEBT+ONBT
46 OAPPLI=.TRUE.
47 WASLIT=LIT(HERE)
48
49 GO TO (2000,5000,10000,11000,12000,15000,18000,
50 & 19000,20000,22000,25000,26000,32000,35000,39000,40000,
51 & 45000,47000,48000,49000,50000,51000,52000,54000,55000,
52 & 56000,57000,58000,59000,60000,61000,62000),
53 & (RI-MXSMP)
54 CALL BUG(6,RI)
55
56
57
58 10 OAPPLI=.FALSE.
59 RETURN
60
61
62
63 50 IF(WASLIT.AND..NOT.LIT(HERE)) CALL RSPEAK(406)
64 RETURN
65
66
67
68 100 IF(RI.LT.32) OAPPLI=SOBJS(RI,ARG)
69 IF(RI.GE.32) OAPPLI=NOBJS(RI,ARG)
70 RETURN
71
72
73
74
75
76 2000 IF(HERE.NE.MMACH) GO TO 10
77 OAPPLI=OPNCLS(MACHI,123,124)
78 RETURN
79
80
81
82 5000 IF(PRSA.NE.GTHROW) GO TO 5025
83 CALL RSPEAK(331+RND(3))
84 RETURN
85
86 5025 IF((PRSO.EQ.WATER).OR.(PRSO.EQ.GWATE)) GO TO 5100
87 CALL RSPEAK(561)
88 RETURN
89
90 5100 IF(PRSA.NE.TAKEW) GO TO 5400
91 IF(PRSI.NE.0) GO TO 5200
92 IF((OADV(BOTTL).EQ.WINNER).AND.(OCAN(PRSO).NE.BOTTL))
93 & GO TO 5500
94 IF(OCAN(PRSO).NE.BOTTL) GO TO 5150
95 IF(OADV(BOTTL).NE.WINNER) GO TO 5125
96 CALL RSPEAK(103)
97 RETURN
98
99 5125 PRSO=BOTTL
100 GO TO 10
101
102 5150 IF(OCAN(PRSO).EQ.0) GO TO 5300
103 PRSI=OCAN(PRSO)
104 GO TO 5250
105
106 5200 IF(OCAN(PRSO).NE.PRSI) GO TO 5250
107 CALL RSPEAK(1038)
108 RETURN
109
110 5250 IF(QOPEN(PRSI)) GO TO 5300
111 CALL RSPSUB(525,ODI2)
112 RETURN
113
114 5300 IF(AV.NE.0) GO TO 5800
115 I=615
116 IF(WINNER.NE.PLAYER) I=1081
117 CALL RSPEAK(I)
118 RETURN
119
120 5400 IF(PRSA.NE.PUTW) GO TO 5700
121 IF(PRSI.EQ.BOTTL) GO TO 5500
122
123
124 IF(((AND(OFLAG2(PRSI),VEHBT)).NE.0).OR.
125 & ((AV.NE.0).AND.(PRSI.EQ.AV))) GO TO 5450
126 CALL RSPSUB(297,ODI2)
127 CALL NEWSTA(PRSO,0,0,0,0)
128 RETURN
129
130 5450 CALL NEWSTA(WATER,0,0,PRSI,0)
131 CALL RSPSUB(296,ODESC2(PRSI))
132 RETURN
133
134 5500 IF(QOPEN(BOTTL)) GO TO 5550
135 CALL RSPEAK(612)
136 RETURN
137
138 5550 IF(QEMPTY(BOTTL)) GO TO 5600
139 CALL RSPEAK(613)
140 RETURN
141
142 5600 CALL NEWSTA(WATER,614,0,BOTTL,0)
143 RETURN
144
145 5700 IF((PRSA.NE.DROPW).AND.(PRSA.NE.POURW))
146 & GO TO 5900
147 IF(AV.NE.0) GO TO 5800
148 CALL NEWSTA(PRSO,133,0,0,0)
149 RETURN
150
151 5800 CALL NEWSTA(WATER,0,0,AV,0)
152 CALL RSPSUB(296,ODESC2(AV))
153 RETURN
154
155 5900 IF(PRSA.NE.THROWW) GO TO 10
156 CALL NEWSTA(PRSO,132,0,0,0)
157 RETURN
158
159
160
161
162
163 10000 IF(PRSA.NE.BURNW) GO TO 10500
164 IF(QOPEN(GRATE).OR.(RVCLR.NE.0)) GO TO 10050
165 RVCLR=1
166 CALL NEWSTA(GRATE,30,HERE,0,0)
167 10050 IF(OADV(PRSO).EQ.PLAYER) GO TO 10100
168 CALL NEWSTA(LEAVE,158,0,0,0)
169 RETURN
170
171 10100 CALL NEWSTA(LEAVE,0,HERE,0,0)
172 IF(HERE.EQ.MTREE) CALL NEWSTA(LEAVE,0,FORE3,0,0)
173 CALL JIGSUP(159)
174 RETURN
175
176 10500 IF(PRSA.NE.MOVEW) GO TO 10600
177 CALL RSPEAK(2)
178 10550 IF(QOPEN(GRATE).OR.(RVCLR.NE.0)) RETURN
179 RVCLR=1
180 CALL NEWSTA(GRATE,30,HERE,0,0)
181 RETURN
182
183 10600 IF(PRSA.NE.TAKEW) GO TO 10700
184 OAPPLI=.FALSE.
185 GO TO 10550
186
187 10700 IF((PRSA.NE.LOOKUW).OR.QOPEN(GRATE).OR.(RVCLR.NE.0)) GO TO 10
188 CALL RSPEAK(344)
189 RETURN
190
191
192
193 11000 OAPPLI=TROLLP(ARG)
194 GO TO 50
195
196
197
198 12000 IF(PRSA.NE.TAKEW) GO TO 12100
199 IF(OADV(SWORD).EQ.WINNER) CALL RSPEAK(160)
200 GO TO 10
201
202 12100 IF((((PRSA.NE.ATTACW).AND.(PRSA.NE.KILLW)).OR.
203 & (PRSI.NE.RKNIF)).AND.
204 & (((PRSA.NE.SWINGW).AND.(PRSA.NE.THROWW)).OR.
205 & (PRSO.NE.RKNIF))) GO TO 10
206 CALL NEWSTA(RKNIF,0,0,0,0)
207 CALL JIGSUP(161)
208 RETURN
209
210
211
212
213
214 15000 IF(PRSA.NE.THROWW) GO TO 15500
215 IF(PRSO.NE.TORCH) GO TO 15400
216 CALL NEWSTA(ICE,169,0,0,0)
217 ODESC1(TORCH)=174
218 ODESC2(TORCH)=173
219
220 OFLAG1(TORCH)=AND (OFLAG1(TORCH), COMPL(FLOBTS))
221 CALL NEWSTA(TORCH,0,STREA,0,0)
222 GLACRF=.TRUE.
223 IF(.NOT.LIT(HERE)) CALL RSPEAK(170)
224 RETURN
225
226 15400 CALL RSPEAK(171)
227 GO TO 10
228
229 15500 IF((PRSA.NE.MELTW).OR.(PRSO.NE.ICE)) GO TO 10
230
231 IF((AND(OFLAG1(PRSI),FLOBTS)).EQ.FLOBTS) GO TO 15600
232 CALL RSPSUB(298,ODI2)
233 RETURN
234
235 15600 GLACMF=.TRUE.
236 IF(PRSI.NE.TORCH) GO TO 15700
237 ODESC1(TORCH)=174
238 ODESC2(TORCH)=173
239
240 OFLAG1(TORCH)=AND(OFLAG1(TORCH), COMPL(FLOBTS))
241 15700 CALL JIGSUP(172)
242 RETURN
243
244
245
246 18000 IF(PRSA.NE.OPENW) GO TO 18100
247 CALL RSPEAK(180)
248 RETURN
249
250 18100 IF(PRSA.NE.CLOSEW) GO TO 18200
251 CALL RSPEAK(181)
252 RETURN
253
254 18200 IF(PRSA.NE.BURNW) GO TO 10
255 CALL NEWSTA(BOOK,0,0,0,0)
256 CALL JIGSUP(182)
257 RETURN
258
259
260
261
262
263 19000 IF(ORCAND.NE.0) GO TO 19100
264 ORCAND=1
265 CFLAG(CEVCND)=.TRUE.
266 CTICK(CEVCND)=50
267
268 19100 IF(PRSI.EQ.CANDL) GO TO 10
269 IF(PRSA.NE.TRNOFW) GO TO 19200
270 I=513
271 IF(QON(CANDL)) I=514
272 CFLAG(CEVCND)=.FALSE.
273
274 OFLAG1(CANDL)=AND(OFLAG1(CANDL), COMPL(ONBT))
275 CALL RSPEAK(I)
276 GO TO 50
277
278 19200 IF((PRSA.NE.BURNW).AND.(PRSA.NE.TRNONW)) GO TO 10
279
280 IF((AND(OFLAG1(CANDL),LITEBT)).NE.0) GO TO 19300
281 CALL RSPEAK(515)
282 RETURN
283
284 19300 IF(PRSI.NE.0) GO TO 19400
285 CALL RSPEAK(516)
286 CALL ORPHAN(-1,ACT,PREP1,CANDL,2,' ',0,0)
287 PRSWON=.FALSE.
288 PRSCON=0
289 RETURN
290
291 19400 IF((PRSI.NE.MATCH).OR. .NOT.QON(MATCH)) GO TO 19500
292 I=517
293 IF(QON(CANDL)) I=518
294
295 OFLAG1(CANDL)=OR(OFLAG1(CANDL),ONBT)
296 CFLAG(CEVCND)=.TRUE.
297 CALL RSPEAK(I)
298 RETURN
299
300 19500 IF((PRSI.NE.TORCH).OR. .NOT.QON(TORCH)) GO TO 19600
301 IF(QON(CANDL)) GO TO 19700
302 CALL NEWSTA(CANDL,521,0,0,0)
303 RETURN
304
305 19600 CALL RSPEAK(519)
306 RETURN
307
308 19700 CALL RSPEAK(520)
309 RETURN
310
311
312
313 20000 IF((PRSA.NE.TRNONW).OR.(PRSO.NE.MATCH)) GO TO 20500
314 IF(ORMTCH.NE.0) GO TO 20100
315 CALL RSPEAK(183)
316 RETURN
317
318 20100 ORMTCH=ORMTCH-1
319
320 OFLAG1(MATCH)=OR(OFLAG1(MATCH),FLOBTS)
321 CFLAG(CEVMAT)=.TRUE.
322 CTICK(CEVMAT)=2
323 CALL RSPEAK(184)
324 RETURN
325
326
327
328 20500 IF((PRSA.NE.TRNOFW).OR.((AND(OFLAG1(MATCH),ONBT)).EQ.0))
329 & GO TO 10
330
331 OFLAG1(MATCH)=AND(OFLAG1(MATCH), COMPL(FLOBTS))
332 CTICK(CEVMAT)=0
333 CALL RSPEAK(185)
334 GO TO 50
335
336
337
338 22000 OAPPLI=CYCLOP(ARG)
339 GO TO 50
340
341
342
343 25000 OAPPLI=THIEFP(ARG)
344 GO TO 50
345
346
347
348 26000 OAPPLI=OPNCLS(WINDO,208,209)
349 RETURN
350
351
352
353 32000 IF(PRSA.NE.TAKEW) GO TO 32500
354 CALL RSPEAK(228)
355 RETURN
356
357 32500 IF((PRSA.NE.BURNW).AND.(PRSA.NE.MUNGW)) GO TO 10
358 IF(ONPOLF) RETURN
359 ONPOLF=.TRUE.
360 CALL NEWSTA(HPOLE,0,LLD2,0,0)
361 CALL JIGSUP(229)
362 RETURN
363
364
365
366 35000 CALL RSPEAK(50)
367 F=MOVETO(BATDRP(RND(9)+1),WINNER)
368 F=RMDESC(0)
369 PRSCON=0
370 RETURN
371
372
373
374
375
376 39000 IF(PRSA.NE.WAVEW) GO TO 10
377 IF(HERE.EQ.MRAIN) GO TO 39500
378 IF((HERE.EQ.POG).OR.(HERE.EQ.FALLS)) GO TO 39200
379 CALL RSPEAK(244)
380 RETURN
381
382
383 39200 OFLAG1(POT)=OR(OFLAG1(POT),VISIBT)
384 RAINBF=.NOT. RAINBF
385 I=245
386 IF(RAINBF) I=246
387 CALL RSPEAK(I)
388 RETURN
389
390 39500 RAINBF=.FALSE.
391 CALL JIGSUP(247)
392 RETURN
393
394
395
396 40000 OAPPLI=BALLOP(ARG)
397 RETURN
398
399
400
401 45000 IF(PRSA.NE.HELLOW) GO TO 45100
402 CALL RSPEAK(633)
403 RETURN
404
405 45100 IF((PRSA.NE.KILLW).AND.(PRSA.NE.MUNGW).AND.
406 & (PRSA.NE.RUBW).AND.(PRSA.NE.OPENW).AND.
407 & (PRSA.NE.TAKEW).AND.(PRSA.NE.BURNW).AND.(PRSA.NE.SPINW).AND.
408 & (PRSA.NE.ATTACW).AND.(PRSA.NE.KICKW)) GO TO 10
409 CALL RSPEAK(260)
410 I=ROBADV(WINNER,0,LCASE,0)+ROBRM(HERE,100,0,LCASE,0)
411 IF(I.NE.0) CALL NEWSTA(LCASE,0,LROOM,0,0)
412 CALL JIGSUP(261)
413 RETURN
414
415
416
417
418
419 47000 IF(CAGESF.OR.(PRSA.NE.TAKEW)) GO TO 47600
420 IF(WINNER.NE.PLAYER) GO TO 47500
421 CALL RSPEAK(263)
422 IF(OROOM(ROBOT).NE.HERE) GO TO 47200
423 F=MOVETO(CAGED,WINNER)
424 CALL NEWSTA(ROBOT,0,CAGED,0,0)
425 AROOM(AROBOT)=CAGED
426
427 OFLAG1(ROBOT)=OR(OFLAG1(ROBOT),NDSCBT)
428 CFLAG(CEVSPH)=.TRUE.
429 CTICK(CEVSPH)=10
430 RETURN
431
432 47200 CALL NEWSTA(SPHER,0,0,0,0)
433
434 RFLAG(CAGER)=OR(RFLAG(CAGER),RMUNG)
435 RDESC1(CAGER)=147
436 CALL JIGSUP(148)
437 RETURN
438
439 47500 CALL NEWSTA(SPHER,0,0,0,0)
440 CALL NEWSTA(ROBOT,264,0,0,0)
441 CALL NEWSTA(CAGE,0,HERE,0,0)
442 GO TO 50
443
444 47600 IF(PRSA.NE.LOOKIW) GO TO 10
445 OAPPLI=NOBJS(OACTIO(PALAN),ARG)
446 RETURN
447
448
449
450 48000 IF(PRSA.NE.PUSHW) GO TO 10
451 I=PRSO-SQBUT+1
452 IF((I.LE.0).OR.(I.GE.4)) GO TO 10
453 IF(WINNER.NE.PLAYER) GO TO (48100,48200,48300),I
454 CALL JIGSUP(265)
455 RETURN
456
457 48100 I=267
458 IF(CAROZF) I=266
459 CAROZF=.TRUE.
460 CALL RSPEAK(I)
461 RETURN
462
463 48200 I=266
464 IF(CAROZF) I=268
465 CAROZF=.FALSE.
466 CALL RSPEAK(I)
467 RETURN
468
469 48300 CAROFF=.NOT.CAROFF
470 IF(OROOM(IRBOX).NE.CAROU) GO TO 48400
471 CALL RSPEAK(269)
472
473 OFLAG1(IRBOX)=XOR(OFLAG1(IRBOX),VISIBT)
474
475 IF(CAROFF) RFLAG(CAROU)=AND(RFLAG(CAROU), COMPL(RSEEN))
476 RETURN
477
478 48400 CALL RSPEAK(232)
479 RETURN
480
481
482
483 49000 IF(PRSA.EQ.OPENW) GO TO 49100
484 IF((PRSA.NE.MUNGW).AND.(PRSA.NE.THROWW)) GO TO 10
485 CALL NEWSTA(FLASK,270,0,0,0)
486
487 49100 RFLAG(HERE)=OR (RFLAG(HERE),RMUNG)
488 RDESC1(HERE)=271
489 CALL JIGSUP(272)
490 RETURN
491
492
493
494 50000 IF(ARG.EQ.1) GO TO 10
495 IF(ARG.EQ.2) GO TO 50400
496 IF(PRSA.NE.BURNW) GO TO 50100
497 CALL RSPEAK(928)
498 RETURN
499
500 50100 IF(PRSA.NE.KICKW) GO TO 10
501 CALL JIGSUP(1067)
502 RETURN
503
504 50400 IF((OCAN(WATER).NE.BUCKE).OR.BUCKTF) GO TO 50500
505 BUCKTF=.TRUE.
506 CFLAG(CEVBUC)=.TRUE.
507 CTICK(CEVBUC)=100
508 CALL NEWSTA(BUCKE,290,TWELL,0,0)
509 GO TO 50900
510
511 50500 IF((OCAN(WATER).EQ.BUCKE).OR..NOT.BUCKTF) GO TO 10
512 BUCKTF=.FALSE.
513 CALL NEWSTA(BUCKE,291,BWELL,0,0)
514 50900 IF(AV.NE.BUCKE) RETURN
515 F=MOVETO(OROOM(BUCKE),WINNER)
516 F=RMDESC(0)
517 RETURN
518
519
520
521
522
523 51000 IF((PRSA.NE.EATW).OR.(PRSO.NE.ECAKE).OR.
524 & (HERE.NE.ALICE)) GO TO 10
525 CALL NEWSTA(ECAKE,273,0,0,0)
526
527 OFLAG1(ROBOT)=AND(OFLAG1(ROBOT), COMPL(VISIBT))
528 DO 51100 I=1,OLNT
529 IF((OROOM(I).NE.ALICE).OR.(OSIZE(I).EQ.10000))
530 & GO TO 51100
531 OSIZE(I)=OSIZE(I)*64
532 OROOM(I)=ALISM
533 51100 CONTINUE
534 OAPPLI=MOVETO(ALISM,WINNER)
535 RETURN
536
537
538
539 52000 IF(PRSA.NE.READW) GO TO 52200
540 I=274
541 IF(PRSI.NE.0) I=275
542 IF(PRSI.EQ.BOTTL) I=276
543 IF(PRSI.EQ.FLASK) I=277+(PRSO-ORICE)
544 CALL RSPEAK(I)
545 RETURN
546
547 52200 IF((PRSA.NE.THROWW).OR.(PRSO.NE.RDICE).OR.(PRSI.NE.POOL))
548 & GO TO 52300
549 CALL NEWSTA(POOL,280,0,0,0)
550
551 OFLAG1(SAFFR)=OR(OFLAG1(SAFFR),VISIBT)
552 RETURN
553
554 52300 IF((HERE.NE.ALICE).AND.(HERE.NE.ALISM).AND.(HERE.NE.ALITR))
555 & GO TO 10
556 IF(((PRSA.NE.EATW).AND.(PRSA.NE.THROWW)).OR.
557 & (PRSO.NE.ORICE)) GO TO 52400
558 CALL NEWSTA(ORICE,0,0,0,0)
559
560 RFLAG(HERE)=OR(RFLAG(HERE),RMUNG)
561 RDESC1(HERE)=281
562 CALL JIGSUP(282)
563 RETURN
564
565 52400 IF((PRSA.NE.EATW).OR.(PRSO.NE.BLICE))
566 & GO TO 10
567 CALL NEWSTA(BLICE,283,0,0,0)
568 IF(HERE.NE.ALISM) GO TO 52500
569
570 OFLAG1(ROBOT)=OR(OFLAG1(ROBOT),VISIBT)
571 DO 52450 I=1,OLNT
572 IF((OROOM(I).NE.HERE).OR.(OSIZE(I).EQ.10000))
573 & GO TO 52450
574 OROOM(I)=ALICE
575 OSIZE(I)=OSIZE(I)/64
576 52450 CONTINUE
577 OAPPLI=MOVETO(ALICE,WINNER)
578 RETURN
579
580 52500 CALL JIGSUP(284)
581 RETURN
582
583
584
585 54000 IF(PRSA.NE.BURNW) GO TO 10
586 CALL NEWSTA(BRICK,0,0,0,0)
587 CALL JIGSUP(150)
588 RETURN
589
590
591
592
593
594 55000 IF((PRSA.NE.GIVEW).OR.
595 & ((AND(OFLAG2(PRSO),NOCHBT)).NE.0)) GO TO 55100
596 IF(PRSO.NE.WATER) GO TO 55050
597 CALL NEWSTA(WATER,615,0,0,0)
598 RETURN
599
600 55050 CALL NEWSTA(PRSO,2,0,0,PLAYER)
601 RETURN
602
603 55100 IF(PRSA.NE.TAKEW) GO TO 55200
604 CALL RSPEAK(286)
605 RETURN
606
607 55200 IF(((PRSA.NE.KILLW).AND.(PRSA.NE.MUNGW))
608 & .OR.(PRSO.NE.OPLAY)) GO TO 10
609 WINNER=PLAYER
610 CALL JIGSUP(287)
611 RETURN
612
613
614
615
616
617 56000 IF(PRSA.NE.PUSHW) GO TO 10
618 IF(POLEUF.NE.0) GO TO 56100
619 I=731
620 IF(MOD(MDIR,180).EQ.0) I=732
621 CALL RSPEAK(I)
622 RETURN
623
624 56100 IF(MLOC.NE.MRG) GO TO 56200
625 CALL RSPEAK(733)
626 CALL JIGSUP(685)
627 RETURN
628
629 56200 I=831
630 IF((PRSO.EQ.RDWAL).OR.(PRSO.EQ.YLWAL)) I=830
631 CALL RSPEAK(I)
632 MDIR=MOD(MDIR+45+(270*(I-830)),360)
633 CALL RSPSUB(734,695+(MDIR/45))
634 IF(WDOPNF) CALL RSPEAK(730)
635 WDOPNF=.FALSE.
636 RETURN
637
638
639
640 57000 IF(PRSA.NE.PUSHW) GO TO 10
641 IF(MOD(MDIR,180).EQ.0) GO TO 57100
642 CALL RSPEAK(735)
643 RETURN
644
645 57100 IF(PRSO.NE.PINDR) GO TO 57300
646 IF(((MLOC.EQ.MRC).AND.(MDIR.EQ.180)).OR.
647 & ((MLOC.EQ.MRD).AND.(MDIR.EQ.0)).OR.
648 & (MLOC.EQ.MRG)) GO TO 57200
649 CALL RSPEAK(736)
650 WDOPNF=.TRUE.
651 CFLAG(CEVPIN)=.TRUE.
652 CTICK(CEVPIN)=5
653 RETURN
654
655 57200 CALL RSPEAK(737)
656 CALL JIGSUP(685)
657 RETURN
658
659 57300 NLOC=MLOC-1
660 IF(MDIR.EQ.0) NLOC=MLOC+1
661 IF((NLOC.GE.MRA).AND.(NLOC.LE.MRD)) GO TO 57400
662 CALL RSPEAK(738)
663 RETURN
664
665 57400 I=699
666 IF(MDIR.EQ.0) I=695
667 J=739
668 IF(POLEUF.NE.0) J=740
669 CALL RSPSUB(J,I)
670 MLOC=NLOC
671 IF(MLOC.NE.MRG) RETURN
672
673 IF(POLEUF.NE.0) GO TO 57500
674 IF(MROPNF.OR.WDOPNF) GO TO 57600
675 IF(MR1F.AND.MR2F) RETURN
676 CALL RSPEAK(742)
677 CALL JIGSUP(743)
678 RETURN
679
680 57500 CALL RSPEAK(741)
681 CALL JIGSUP(743)
682 RETURN
683
684 57600 CALL RSPEAK(744)
685 CALL JIGSUP(743)
686 RETURN
687
688
689
690
691
692 58000 IF((PRSA.NE.ATTACW).AND.(PRSA.NE.KILLW).AND.
693 & (PRSA.NE.MUNGW)) GO TO 58100
694 CALL JIGSUP(745)
695 RETURN
696
697 58100 IF(PRSA.NE.HELLOW) GO TO 10
698 CALL RSPEAK(746)
699 RETURN
700
701
702
703 59000 IF(((PRSA.NE.ATTACW).AND.(PRSA.NE.KILLW).AND.(PRSA.NE.MUNGW))
704 & .OR.(PRSO.NE.MASTER).OR.(PRSI.EQ.MASTER))
705 & GO TO 59100
706 WINNER=PLAYER
707 CALL JIGSUP(747)
708 RETURN
709
710 59100 IF(PRSA.NE.TAKEW) GO TO 10
711 CALL RSPEAK(748)
712 RETURN
713
714
715
716 60000 IF(PRSA.NE.TAKEW) GO TO 10
717 CALL RSPEAK(419)
718 DO 60100 I=1,3
719 IF(CLOCKD(X)) RETURN
720 60100 CONTINUE
721 RETURN
722
723
724
725 61000 IF(.NOT.ENDGMF) GO TO 45000
726 IF(PRSA.NE.OPENW) GO TO 61100
727 I=793
728 IF(QOPEN(TOMB)) I=794
729 CALL RSPEAK(I)
730
731 OFLAG2(TOMB)=OR(OFLAG2(TOMB),OPENBT)
732 RETURN
733
734 61100 IF(PRSA.NE.CLOSEW) GO TO 45000
735 I=795
736 IF(QOPEN(TOMB)) I=796
737 CALL RSPEAK(I)
738
739 OFLAG2(TOMB)=AND(OFLAG2(TOMB),COMPL(OPENBT))
740 IF(HERE.NE.CRYPT) RETURN
741 CFLAG(CEVSTE)=.TRUE.
742 CTICK(CEVSTE)=3
743 RETURN
744
745
746
747
748
749 62000 IF((CPVEC(CPHERE+1).EQ.-2).OR.(CPVEC(CPHERE-1).EQ.-3))
750 & GO TO 62100
751 CALL RSPEAK(865)
752 RETURN
753
754 62100 IF((PRSA.EQ.CLMBW).OR.(PRSA.EQ.CLMBUW)) GO TO 62200
755 CALL RSPEAK(866)
756 RETURN
757
758 62200 IF((CPHERE.EQ.10).AND.(CPVEC(CPHERE+1).EQ.-2))
759 & GO TO 62300
760 CALL RSPEAK(867)
761 RETURN
762
763 62300 F=MOVETO(CPANT,WINNER)
764 F=RMDESC(3)
765 RETURN
766
767
768
769
770
771
772
773 LOGICAL SOBJS(RI,ARG)
774 IMPLICIT INTEGER (A-Z)
775 %include dparam
776 LOGICAL MOVETO,OPNCLS,LIT,WASLIT
777 LOGICAL F,QOPEN
778
779
780
781
782 QOPEN(R)=(AND(OFLAG2(R),OPENBT)).NE.0
783
784 ODO2=0
785 ODI2=0
786 IF((PRSO.NE.0).AND.(PRSO.LE.OMAX)) ODO2=ODESC2(PRSO)
787 IF(PRSI.NE.0) ODI2=ODESC2(PRSI)
788 AV=AVEHIC(WINNER)
789 SOBJS=.TRUE.
790 WASLIT=LIT(HERE)
791
792 GO TO (1000,3000,4000,6000,7000,8000,9000,
793 & 13000,14000,16000,17000,
794 & 21000,23000,24000,27000,28000,29000,30000,
795 & 31000,33000,34000,36000,37000,38000,
796 & 41000,42000,43000,44000,46000,
797 & 53000,56000)
798 & RI
799 CALL BUG(6,RI)
800
801
802
803 10 SOBJS=.FALSE.
804 RETURN
805
806
807
808 50 IF(WASLIT.AND..NOT.LIT(HERE)) CALL RSPEAK(406)
809 RETURN
810
811
812
813
814
815 1000 IF(OCAN(GUNK).EQ.0) GO TO 10
816 CALL NEWSTA(GUNK,122,0,0,0)
817 RETURN
818
819
820
821 3000 IF(PRSA.NE.TAKEW) GO TO 10
822 CALL RSPEAK(128)
823 RETURN
824
825
826
827 4000 IF((PRSA.NE.THROWW).OR.(PRSO.NE.BOTTL)) GO TO 4100
828 CALL NEWSTA(BOTTL,129,0,0,0)
829 RETURN
830
831 4100 IF(PRSA.NE.MUNGW) GO TO 10
832 CALL NEWSTA(BOTTL,131,0,0,0)
833 RETURN
834
835
836
837
838
839 6000 IF((HERE.EQ.DOME).OR.(HERE.EQ.SLIDE).OR.(PRSI.EQ.0).OR.
840 & (PRSI.EQ.TIMBE).OR.(PRSI.EQ.COFFI)) GO TO 6100
841 IF(PRSA.EQ.TIEW) CALL RSPEAK(135)
842 6050 DOMEF=.FALSE.
843 TTIE=0
844
845 OFLAG1(TIMBE)=AND(OFLAG1(TIMBE),COMPL(NDSCBT))
846
847 OFLAG1(COFFI)=AND(OFLAG1(COFFI),COMPL(NDSCBT))
848 ODESC1(TIMBE)=1032
849 ODESC1(COFFI)=1033
850
851 OFLAG1(ROPE)=AND(OFLAG1(ROPE),COMPL(NDSCBT))
852
853 OFLAG2(ROPE)=AND(OFLAG2(ROPE),COMPL(CLMBBT))
854 RETURN
855
856 6100 IF((PRSA.NE.CLMBDW).OR.(HERE.NE.CPANT)) GO TO 6200
857 IF(TTIE.EQ.0) GO TO 6150
858 IF(OROOM(TTIE).NE.HERE) GO TO 6150
859 CALL RSPSUB(1028,ODESC2(TTIE))
860 CALL NEWSTA(ROPE,0,CPUZZ,0,0)
861 CALL NEWSTA(TTIE,0,CPUZZ,0,0)
862 GO TO 10
863
864 6150 CALL RSPEAK(1029)
865 GO TO 10
866
867 6200 IF(PRSA.NE.TIEW) GO TO 6400
868 IF(PRSI.NE.RAILI) GO TO 6300
869 IF(DOMEF.OR.(TTIE.NE.0)) GO TO 6250
870 DOMEF=.TRUE.
871 CALL NEWSTA(ROPE,137,DOME,0,0)
872
873 6225 OFLAG1(ROPE)=OR(OFLAG1(ROPE),NDSCBT)
874
875 OFLAG2(ROPE)=OR(OFLAG2(ROPE),CLMBBT)
876 RETURN
877
878 6250 CALL RSPEAK(136)
879 RETURN
880
881 6300 IF((PRSI.NE.TIMBE).AND.(PRSI.NE.COFFI)) GO TO 10
882 IF(DOMEF.OR.(TTIE.NE.0)) GO TO 6250
883 IF(OROOM(PRSI).NE.0) GO TO 6350
884 CALL RSPEAK(1025)
885 RETURN
886
887 6350 CALL RSPSUB(961,ODI2)
888 TTIE=PRSI
889 IF(PRSI.EQ.TIMBE) ODESC1(TIMBE)=1030
890 IF(PRSI.EQ.COFFI) ODESC1(COFFI)=1031
891 IF(HERE.EQ.CPANT) CALL RSPEAK(1056)
892 IF(HERE.EQ.SLIDE) CALL RSPEAK(339)
893
894 IF(HERE.EQ.SLIDE) OFLAG1(PRSI)=OR(OFLAG1(PRSI),NDSCBT)
895 CALL NEWSTA(ROPE,0,HERE,0,0)
896 GO TO 6225
897
898 6400 IF(PRSA.NE.UNTIEW) GO TO 6600
899 IF(.NOT.DOMEF.AND.(TTIE.EQ.0)) GO TO 6500
900 CALL RSPEAK(139)
901 GO TO 6050
902
903 6500 CALL RSPEAK(134)
904 RETURN
905
906 6600 IF(DOMEF.OR.(PRSA.NE.DROPW).OR.
907 & (HERE.NE.DOME)) GO TO 6700
908 CALL NEWSTA(ROPE,140,MTORC,0,0)
909 RETURN
910
911 6700 IF((PRSA.NE.TAKEW).OR..NOT.DOMEF) GO TO 6800
912 CALL RSPEAK(141)
913 RETURN
914
915 6800 IF((PRSA.NE.TAKEW).OR.(TTIE.EQ.0)) GO TO 10
916 CALL RSPSUB(926,ODESC2(TTIE))
917 RETURN
918
919
920
921 7000 IF((PRSA.EQ.TAKEW).AND.(WINNER.EQ.PLAYER))
922 & SWDACT=.TRUE.
923 GO TO 10
924
925
926
927 8000 IF((PRSA.NE.THROWW).OR.(PRSO.NE.LAMP)) GO TO 8100
928 CALL NEWSTA(LAMP,0,0,0,0)
929 CALL NEWSTA(BLAMP,142,HERE,0,0)
930 IF(HERE.EQ.MTREE) CALL NEWSTA(BLAMP,0,FORE3,0,0)
931 IF(LASTIT.EQ.LAMP) LASTIT=BLAMP
932 CFLAG(CEVLNT)=.FALSE.
933 GO TO 50
934
935 8100 IF(PRSA.EQ.TRNONW) CFLAG(CEVLNT)=.TRUE.
936 IF(PRSA.EQ.TRNOFW) CFLAG(CEVLNT)=.FALSE.
937 GO TO 10
938
939
940
941 9000 IF(PRSA.NE.RAISEW) GO TO 9100
942 CALL RSPEAK(143)
943 RETURN
944
945 9100 IF(PRSA.NE.TAKEW) GO TO 9200
946 CALL RSPEAK(144)
947 RETURN
948
949 9200 IF(PRSA.NE.MOVEW) GO TO 9300
950 CALL RSPEAK(145+ORRUG)
951 ORRUG=1
952
953 OFLAG1(DOOR)=OR(OFLAG1(DOOR),VISIBT)
954 RETURN
955
956 9300 IF((PRSA.NE.LOOKUW).OR.(ORRUG.NE.0).OR.
957 & QOPEN(DOOR)) GO TO 10
958 CALL RSPEAK(345)
959 RETURN
960
961
962
963
964
965 13000 I=ROBRM(HERE,100,LLD2,0,0)+ROBADV(WINNER,LLD2,0,0)
966 CALL RSPEAK(162)
967 RETURN
968
969
970
971 14000 IF(MIRRMF.OR.(PRSA.NE.RUBW)) GO TO 14500
972
973 MROOM=XOR(HERE,1)
974 DO 14100 I=1,OLNT
975 IF(OROOM(I).EQ.HERE) OROOM(I)=-1
976 IF(OROOM(I).EQ.MROOM) OROOM(I)=HERE
977 IF(OROOM(I).EQ.-1) OROOM(I)=MROOM
978 14100 CONTINUE
979 F=MOVETO(MROOM,WINNER)
980 CALL RSPEAK(163)
981 RETURN
982
983 14500 IF((PRSA.NE.LOOKW).AND.(PRSA.NE.LOOKIW).AND.
984 & (PRSA.NE.EXAMIW)) GO TO 14600
985 I=164
986 IF(MIRRMF) I=165
987 CALL RSPEAK(I)
988 RETURN
989
990 14600 IF(PRSA.NE.TAKEW) GO TO 14700
991 CALL RSPEAK(166)
992 RETURN
993
994 14700 IF((PRSA.NE.MUNGW).AND.(PRSA.NE.THROWW)) GO TO 10
995 I=167
996 IF(MIRRMF) I=168
997 MIRRMF=.TRUE.
998 BADLKF=.TRUE.
999 CALL RSPEAK(I)
1000 RETURN
1001
1002
1003
1004
1005
1006 16000 IF(PRSA.NE.RAISEW) GO TO 16100
1007 IF(CAGETF) GO TO 16400
1008 CALL NEWSTA(TBASK,175,TSHAF,0,0)
1009 CALL NEWSTA(FBASK,0,BSHAF,0,0)
1010 IF(HERE.EQ.TSHAF) LASTIT=TBASK
1011 IF(HERE.EQ.BSHAF) LASTIT=FBASK
1012 CAGETF=.TRUE.
1013 RETURN
1014
1015 16100 IF(PRSA.NE.LOWERW) GO TO 16200
1016 IF(.NOT.CAGETF) GO TO 16400
1017 CALL NEWSTA(TBASK,176,BSHAF,0,0)
1018 CALL NEWSTA(FBASK,0,TSHAF,0,0)
1019 IF(HERE.EQ.TSHAF) LASTIT=FBASK
1020 IF(HERE.EQ.BSHAF) LASTIT=TBASK
1021 CAGETF=.FALSE.
1022 GO TO 50
1023
1024 16200 IF((PRSO.NE.FBASK).AND.(PRSI.NE.FBASK)) GO TO 16300
1025 CALL RSPEAK(130)
1026 RETURN
1027
1028 16300 IF(PRSA.NE.TAKEW) GO TO 10
1029 CALL RSPEAK(177)
1030 RETURN
1031
1032 16400 CALL RSPEAK(125+RND(3))
1033 RETURN
1034
1035
1036
1037 17000 IF(PRSO.NE.GHOST) GO TO 17100
1038 CALL RSPEAK(178)
1039 RETURN
1040
1041 17100 CALL RSPEAK(179)
1042 GO TO 10
1043
1044
1045
1046
1047
1048 21000 IF((PRSA.NE.PUTW).OR.(PRSI.NE.TUBE)) GO TO 21100
1049 CALL RSPEAK(186)
1050 RETURN
1051
1052 21100 IF(PRSA.NE.SQUEEW) GO TO 10
1053 IF(QOPEN(PRSO)) GO TO 21200
1054 CALL RSPEAK(909)
1055 RETURN
1056
1057 21200 IF(OCAN(PUTTY).EQ.PRSO) GO TO 21300
1058 CALL RSPEAK(910)
1059 RETURN
1060
1061 21300 CALL NEWSTA(PUTTY,911,0,0,WINNER)
1062 RETURN
1063
1064
1065
1066
1067
1068
1069
1070 23000 IF((PRSA.NE.TAKEW).OR.(OCAN(PRSO).NE.0).OR.
1071 & (OROOM(PRSO).NE.TREAS).OR.(OROOM(THIEF).NE.TREAS).OR.
1072 & ((AND(OFLAG2(THIEF),FITEBT)).EQ.0).OR.
1073 & .NOT. THFACT) GO TO 10
1074 CALL RSPEAK(204)
1075 RETURN
1076
1077
1078
1079 24000 IF(PRSA.NE.MUNGW) GO TO 10
1080 CALL RSPEAK(205)
1081 OFVAL(PRSO)=0
1082 OTVAL(PRSO)=0
1083 ODESC1(PRSO)=207
1084 ODESC2(PRSO)=206
1085 RETURN
1086
1087
1088
1089
1090
1091 27000 IF(PRSA.NE.TURNW) GO TO 27600
1092 IF(PRSI.NE.WRENC) GO TO 27500
1093 IF(GATEF) GO TO 27100
1094 CALL RSPEAK(210)
1095 RETURN
1096
1097 27100 IF(LWTIDF) GO TO 27200
1098 LWTIDF=.TRUE.
1099 CALL RSPEAK(211)
1100
1101 OFLAG2(COFFI)=AND(OFLAG2(COFFI), COMPL(SCRDBT))
1102
1103 OFLAG1(TRUNK)=OR(OFLAG1(TRUNK),VISIBT)
1104
1105
1106 RFLAG(RESER)=AND(OR(RFLAG(RESER),RLAND),
1107 & COMPL(RWATER+RSEEN))
1108 RETURN
1109
1110 27200 LWTIDF=.FALSE.
1111 CALL RSPEAK(212)
1112
1113
1114 IF(OROOM(TRUNK).EQ.RESER) OFLAG1(TRUNK)=AND(OFLAG1(TRUNK),
1115 & COMPL(VISIBT))
1116
1117 RFLAG(RESER)=AND(OR(RFLAG(RESER),RWATER),COMPL(RLAND))
1118 RETURN
1119
1120 27500 CALL RSPSUB(299,ODI2)
1121 RETURN
1122
1123 27600 IF(PRSA.NE.OILW) GO TO 10
1124 CALL RSPEAK(906)
1125 RETURN
1126
1127
1128
1129 28000 IF((PRSA.NE.OPENW).AND.(PRSA.NE.CLOSEW)) GO TO 10
1130 IF(GRUNLF) GO TO 28100
1131 CALL RSPEAK(214)
1132 RETURN
1133
1134 28100 I=215
1135 IF(HERE.EQ.CLEAR) I=216
1136 SOBJS=OPNCLS(GRATE,I,885)
1137
1138 RFLAG(MGRAT)=AND(RFLAG(MGRAT), COMPL(RLIGHT))
1139 IF(.NOT.QOPEN(GRATE)) GO TO 50
1140
1141 RFLAG(MGRAT)=OR(RFLAG(MGRAT),RLIGHT)
1142 RVCLR=1
1143 CALL NEWSTA(GRATE,0,CLEAR,0,0)
1144 RETURN
1145
1146
1147
1148 29000 IF(HERE.NE.LROOM) GO TO 29100
1149 SOBJS=OPNCLS(DOOR,218,219)
1150 RETURN
1151
1152 29100 IF(HERE.NE.CELLA) GO TO 10
1153 IF((PRSA.NE.OPENW).OR.QOPEN(DOOR)) GO TO 29200
1154 CALL RSPEAK(220)
1155 RETURN
1156
1157 29200 SOBJS=OPNCLS(DOOR,0,22)
1158 RETURN
1159
1160
1161
1162 30000 I=0
1163 IF(PRSA.EQ.OPENW) I=221
1164 IF(PRSA.EQ.BURNW) I=222
1165 IF(PRSA.EQ.MUNGW) I=223+RND(3)
1166 IF(I.EQ.0) GO TO 10
1167 CALL RSPEAK(I)
1168 RETURN
1169
1170
1171
1172 31000 IF(PRSA.NE.TURNW) GO TO 10
1173 IF(PRSI.NE.SCREW) GO TO 31500
1174 IF(QOPEN(MACHI)) GO TO 31600
1175 CALL RSPEAK(226)
1176 IF(OCAN(COAL).NE.MACHI) GO TO 31400
1177 CALL NEWSTA(COAL,0,0,0,0)
1178 CALL NEWSTA(DIAMO,0,0,MACHI,0)
1179 RETURN
1180
1181 31400 DO 31450 I=1,OLNT
1182 IF(OCAN(I).NE.MACHI) GO TO 31450
1183 CALL NEWSTA(I,0,0,0,0)
1184 CALL NEWSTA(GUNK,0,0,MACHI,0)
1185 31450 CONTINUE
1186 RETURN
1187
1188 31500 CALL RSPSUB(300,ODI2)
1189 RETURN
1190
1191 31600 CALL RSPEAK(227)
1192 RETURN
1193
1194
1195
1196
1197
1198 33000 IF((PRSO.NE.LEAK).OR.(PRSA.NE.PLUGW).OR.(RVMNT.LE.0))
1199 & GO TO 10
1200 IF(PRSI.NE.PUTTY) GO TO 33100
1201 RVMNT=-1
1202 CTICK(CEVMNT)=0
1203 CALL RSPEAK(577)
1204 RETURN
1205
1206 33100 CALL RSPSUB(301,ODI2)
1207 RETURN
1208
1209
1210
1211 34000 IF(PRSA.NE.PUSHW) GO TO 10
1212 GO TO (34100,34200,34300,34400),(PRSO-RBUTT+1)
1213 GO TO 10
1214
1215
1216 34100 RFLAG(HERE)=XOR(RFLAG(HERE),RLIGHT)
1217 I=230
1218
1219 IF((AND(RFLAG(HERE),RLIGHT)).NE.0) I=231
1220 CALL RSPEAK(I)
1221 GO TO 50
1222
1223 34200 GATEF=.TRUE.
1224 CALL RSPEAK(232)
1225 RETURN
1226
1227 34300 GATEF=.FALSE.
1228 CALL RSPEAK(232)
1229 RETURN
1230
1231 34400 IF(RVMNT.NE.0) GO TO 34500
1232 CALL RSPEAK(233)
1233 RVMNT=1
1234 CFLAG(CEVMNT)=.TRUE.
1235 CTICK(CEVMNT)=-1
1236
1237 RFLAG(HERE)=OR(RFLAG(HERE),RFILL)
1238
1239 OFLAG1(LEAK)=OR(OFLAG1(LEAK),VISIBT)
1240 RETURN
1241
1242 34500 CALL RSPEAK(234)
1243 RETURN
1244
1245
1246
1247 36000 IF(PRSA.NE.INFLAW) GO TO 10
1248 IF(OROOM(IBOAT).NE.0) GO TO 36100
1249 CALL RSPEAK(235)
1250 RETURN
1251
1252 36100 IF(PRSI.NE.PUMP) GO TO 36200
1253 CALL NEWSTA(IBOAT,0,0,0,0)
1254 CALL NEWSTA(RBOAT,236,HERE,0,0)
1255 IF(LASTIT.EQ.IBOAT) LASTIT=RBOAT
1256 DEFLAF=.FALSE.
1257 RETURN
1258
1259 36200 I=237
1260 IF(PRSI.NE.LUNGS) I=303
1261 CALL RSPSUB(I,ODI2)
1262 RETURN
1263
1264
1265
1266 37000 IF(PRSA.NE.INFLAW) GO TO 37100
1267 CALL RSPEAK(238)
1268 RETURN
1269
1270 37100 IF(PRSA.NE.PLUGW) GO TO 10
1271 IF(PRSI.NE.PUTTY) GO TO 33100
1272 CALL NEWSTA(IBOAT,239,OROOM(DBOAT),OCAN(DBOAT),OADV(DBOAT))
1273 CALL NEWSTA(DBOAT,0,0,0,0)
1274 IF(LASTIT.EQ.DBOAT) LASTIT=IBOAT
1275 RETURN
1276
1277
1278
1279
1280
1281 38000 IF(ARG.NE.0) GO TO 10
1282 IF((PRSA.NE.BOARDW).OR.(OADV(STICK).NE.WINNER)) GO TO 38100
1283 CALL NEWSTA(RBOAT,0,0,0,0)
1284 CALL NEWSTA(DBOAT,240,HERE,0,0)
1285 IF(LASTIT.EQ.RBOAT) LASTIT=DBOAT
1286 DEFLAF=.TRUE.
1287 GO TO 50
1288
1289 38100 IF(PRSA.NE.INFLAW) GO TO 38200
1290 CALL RSPEAK(367)
1291 RETURN
1292
1293 38200 IF(PRSA.NE.DEFLAW) GO TO 10
1294 IF(AV.EQ.RBOAT) GO TO 38300
1295 IF(OROOM(RBOAT).EQ.0) GO TO 38400
1296 CALL NEWSTA(RBOAT,0,0,0,0)
1297 CALL NEWSTA(IBOAT,241,HERE,0,0)
1298 IF(LASTIT.EQ.RBOAT) LASTIT=IBOAT
1299 DEFLAF=.TRUE.
1300 GO TO 50
1301
1302 38300 CALL RSPEAK(242)
1303 RETURN
1304
1305 38400 CALL RSPEAK(243)
1306 RETURN
1307
1308
1309
1310 41000 IF((PRSA.NE.TIEW).OR.(PRSO.NE.BROPE).OR.
1311 & ((PRSI.NE.HOOK1).AND.(PRSI.NE.HOOK2)))
1312 & GO TO 41100
1313 BTIEF=PRSI
1314 ODESC1(BTIEF)=1072
1315 CFLAG(CEVBAL)=.FALSE.
1316 CALL RSPEAK(248)
1317 RETURN
1318
1319 41100 IF((PRSA.NE.UNTIEW).OR.(PRSO.NE.BROPE)) GO TO 41300
1320 IF(BTIEF.NE.0) GO TO 41200
1321 CALL RSPEAK(249)
1322 RETURN
1323
1324 41200 CALL RSPEAK(250)
1325 ODESC1(BTIEF)=1073
1326 BTIEF=0
1327 CFLAG(CEVBAL)=.TRUE.
1328 CTICK(CEVBAL)=3
1329 RETURN
1330
1331 41300 IF((PRSA.NE.FINDW).AND.(PRSA.NE.EXAMIW)) GO TO 41400
1332 CALL RSPSUB(1063,ODO2)
1333 RETURN
1334
1335 41400 IF(PRSA.NE.TAKEW) GO TO 10
1336 CALL RSPSUB(1064,ODO2)
1337 IF(PRSO.EQ.BROPE) CALL RSPEAK(1065)
1338 RETURN
1339
1340
1341
1342 42000 I=0
1343 IF(PRSA.EQ.TAKEW) I=251
1344 IF((PRSA.EQ.OPENW).AND.SAFEF) I=253
1345 IF((PRSA.EQ.OPENW).AND..NOT.SAFEF) I=254
1346 IF((PRSA.EQ.CLOSEW).AND.SAFEF) I=253
1347 IF((PRSA.EQ.CLOSEW).AND..NOT.SAFEF) I=255
1348 IF(I.EQ.0) GO TO 10
1349 CALL RSPEAK(I)
1350 RETURN
1351
1352
1353
1354 43000 IF(PRSA.NE.BURNW) GO TO 10
1355 CALL RSPEAK(256)
1356 CFLAG(CEVFUS)=.TRUE.
1357 CTICK(CEVFUS)=2
1358 RETURN
1359
1360
1361
1362 44000 IF((PRSA.NE.GIVEW).AND.(PRSA.NE.THROWW)) GO TO 44500
1363 IF(OTVAL(PRSO).EQ.0) GO TO 44100
1364 CALL RSPSUB(257,ODO2)
1365 CALL NEWSTA(PRSO,0,0,0,0)
1366 CALL NEWSTA(GNOME,0,0,0,0)
1367 GNODRF=.TRUE.
1368 GO TO 50
1369
1370 44100 IF((PRSO.NE.BRICK).OR.(OCAN(FUSE).NE.BRICK).OR.
1371 & (CTICK(CEVFUS).EQ.0)) GO TO 44200
1372 CALL NEWSTA(GNOME,927,0,0,0)
1373 CALL NEWSTA(BRICK,0,HERE,0,0)
1374 CFLAG(CEVVLG)=.FALSE.
1375 CFLAG(CEVGNO)=.FALSE.
1376 RETURN
1377
1378 44200 CALL RSPSUB(258,ODO2)
1379 CALL NEWSTA(PRSO,0,0,0,0)
1380 GO TO 50
1381
1382 44500 CALL RSPEAK(259)
1383 IF(GNOMEF) RETURN
1384 CFLAG(CEVGNO)=.TRUE.
1385 CTICK(CEVGNO)=5
1386 GNOMEF=.TRUE.
1387 RETURN
1388
1389
1390
1391 46000 IF((PRSA.NE.THROWW).AND.(PRSA.NE.MUNGW)) GO TO 10
1392 CALL NEWSTA(COKES,262,0,0,0)
1393 IF(PRSI.NE.COKES) RETURN
1394 CALL RSPSUB(1066,ODO2)
1395 CALL NEWSTA(PRSO,0,0,0,0)
1396 RETURN
1397
1398
1399
1400
1401
1402 53000 IF(PRSA.NE.GIVEW) GO TO 53200
1403 IF(PRSO.NE.WATER) GO TO 53100
1404 CALL NEWSTA(WATER,1081,0,0,0)
1405 RETURN
1406
1407 53100 CALL NEWSTA(PRSO,0,0,0,AROBOT)
1408 CALL RSPSUB(302,ODO2)
1409 RETURN
1410
1411 53200 IF(((PRSA.NE.MUNGW).AND.(PRSA.NE.THROWW)).OR.
1412 & ((PRSO.NE.ROBOT).AND.(PRSI.NE.ROBOT))) GO TO 10
1413 CALL NEWSTA(ROBOT,285,0,0,0)
1414 GO TO 50
1415
1416
1417
1418 56000 IF(PRSA.NE.EXAMIW) GO TO 56100
1419 CALL RSPEAK(288)
1420 RETURN
1421
1422 56100 IF(PRSA.NE.FINDW) GO TO 10
1423 CALL RSPEAK(289)
1424 RETURN
1425
1426