SUBROUTINE HTORP(WHO,L) C C HOMING TORPEDO FOR MTREK C INCLUDE 'TRKCOMMON.FTN' REAL LAUNCH INTEGER SCAN,WHOM,CREW,HYPER,TORPS,WHO LOGICAL*1 THRU,XSHIP,CLOAK,CLON,OK,FBASE BYTE MESSAG,INITLS,CLRIT(2) DATA CLRIT/"33,'K'/ C C CALL CPOS(L) IF (DOCKED(WHO)) GOTO 10130 IF (IDAMGE(WHO,2).GT.0) WRITE (5,19000) CLRIT 19000 FORMAT (' Torpedoes out of operation',2A1) IF (IDAMGE(WHO,2).GT.0) GO TO 10116 IF (NHOM(WHO).EQ.0) GO TO 10115 WRITE(5,10118) CLRIT 10118 FORMAT ('$Homing frequency sir ? ',2A1) CALL GETINT(II,OK,1,8) IF (.NOT.OK) GO TO 10119 IF (II.NE.WHO) GO TO 10122 WRITE(5,10125) CLRIT 10125 FORMAT(' ** Sir! Torpedo tubes inoperative',2A1) NHOM(WHO)=0 TORPS(WHO)=0 GO TO 10119 10122 IF (CLOAK(II).OR.IUNIV(II).NE.IUNIV(WHO)) GOTO 10200 OK=.FALSE. C C SEE IF THIS PLAYER HAS TOO MANY ACTIVE HOMERS. ICNTRL(3) IS THE LIMIT. C DO 10150 IJ=1,ICNTRL(3) IF (OK) GOTO 10150 IF (LHOM(WHO,IJ).NE.0) GOTO 10150 LHOM(WHO,IJ)=-II OK=.TRUE. 10150 CONTINUE IF (OK) NHOM(WHO)=NHOM(WHO)-1 IF (OK.AND.CLON(WHO)) CLOAK(WHO)=.FALSE. IF (.NOT.OK) WRITE (5,10151) CLRIT 10151 FORMAT (' Fire control cannot handle any more homers yet',2A1) 10119 GO TO 10116 C 10115 WRITE(5,10126) CLRIT 10126 FORMAT(' Skipper, we are out of homers',2A1) GOTO 10116 C 10130 WRITE(5,10131) CLRIT 10131 FORMAT (' We cannot fire while docked',2A1) GOTO 10116 C 10200 WRITE(5,10201) CLRIT 10201 FORMAT (' Fire control unable to lock onto target',2A1) 10116 RETURN END