1C BALLOP- BALLOON FUNCTION 2C 3C COPYRIGHT 1980, INFOCOM COMPUTERS AND COMMUNICATIONS, CAMBRIDGE MA. 02142 4C ALL RIGHTS RESERVED, COMMERCIAL USAGE STRICTLY PROHIBITED 5C WRITTEN BY R. M. SUPNIK 6C 7C DECLARATIONS 8C 9 LOGICAL FUNCTION BALLOP(ARG) 10 IMPLICIT INTEGER (A-Z) 11 LOGICAL FINDXT,QEMPTY 12#include "parser.h" 13#include "gamestate.h" 14#include "state.h" 15#include "rooms.h" 16#include "rflag.h" 17#include "curxt.h" 18#include "xpars.h" 19#include "objects.h" 20#include "oflags.h" 21#include "oindex.h" 22#include "clock.h" 23 24#include "verbs.h" 25#include "flags.h" 26C BALLOP, PAGE 2 27C 28 BALLOP=.TRUE. 29C !ASSUME WINS. 30 IF(ARG.NE.2) GO TO 200 31C !READOUT? 32 IF(PRSA.NE.LOOKW) GO TO 10 33C !ONLY PROCESS LOOK. 34 IF(BINFF.NE.0) GO TO 50 35C !INFLATED? 36 CALL RSPEAK(543) 37C !NO. 38 GO TO 100 3950 CALL RSPSUB(544,ODESC2(BINFF)) 40C !YES. 41100 IF(BTIEF.NE.0) CALL RSPEAK(545) 42C !HOOKED? 43 RETURN 44C 45200 IF(ARG.NE.1) GO TO 500 46C !READIN? 47 IF(PRSA.NE.WALKW) GO TO 300 48C !WALK? 49 IF(FINDXT(PRSO,HERE)) GO TO 250 50C !VALID EXIT? 51 CALL RSPEAK(546) 52C !NO, JOKE. 53 RETURN 54C 55250 IF(BTIEF.EQ.0) GO TO 275 56C !TIED UP? 57 CALL RSPEAK(547) 58C !YES, JOKE. 59 RETURN 60C 61275 IF(XTYPE.NE.XNORM) GO TO 10 62C !NORMAL EXIT? 63 IF(and(RFLAG(XROOM1),RMUNG).EQ.0) BLOC=XROOM1 6410 BALLOP=.FALSE. 65 RETURN 66C 67300 IF((PRSA.NE.TAKEW).OR.(PRSO.NE.BINFF)) GO TO 350 68 CALL RSPSUB(548,ODESC2(BINFF)) 69C !RECEP CONT TOO HOT. 70 RETURN 71C 72350 IF((PRSA.NE.PUTW).OR.(PRSI.NE.RECEP).OR.QEMPTY(RECEP)) 73& GO TO 10 74 CALL RSPEAK(549) 75 RETURN 76C 77500 IF((PRSA.NE.UNBOAW).OR.(and(RFLAG(HERE),RLAND).EQ.0)) 78& GO TO 600 79 IF(BINFF.NE.0) CTICK(CEVBAL)=3 80C !HE GOT OUT, START BALLOON. 81 GO TO 10 82C 83600 IF((PRSA.NE.BURNW).OR.(OCAN(PRSO).NE.RECEP)) GO TO 700 84 CALL RSPSUB(550,ODESC2(PRSO)) 85C !LIGHT FIRE IN RECEP. 86 CTICK(CEVBRN)=OSIZE(PRSO)*20 87 OFLAG1(PRSO)=or(OFLAG1(PRSO), 88& and((ONBT+FLAMBT+LITEBT), not(TAKEBT+READBT))) 89 IF(BINFF.NE.0) RETURN 90 IF(.NOT.BLABF) CALL NEWSTA(BLABE,0,0,BALLO,0) 91 BLABF=.TRUE. 92 BINFF=PRSO 93 CTICK(CEVBAL)=3 94 CALL RSPEAK(551) 95 RETURN 96C 97700 IF((PRSA.EQ.UNBOAW).AND.(BINFF.NE.0).AND. 98& (and(RFLAG(HERE),RLAND).NE.0)) 99& CTICK(CEVBAL)=3 100 GO TO 10 101C 102 END 103