C C C **************************************** C * * C * PHOTON TORPEDO CONTROL SUBROUTINE * C * * C **************************************** C SUBROUTINE TORP COMMON QUAD(8,8),SECT(10,10),NGAL(8,8),K(7,5),STATUS(13),R1,C1,R,C &,H1,POW,SHLD(5),NTORP,A,B,H(7),N1,N2,N3,N4,N5,N6,II,JJ,RANK,ITR(4) COMMON/TESTS1/TROM1,TROM2,TDISAB,TDEST,TWON,TLOST,TRESC,TALTOW, &TBOFF,TALERT,TLOOS,TBALEN,TALSD,TINTRD COMMON/TRPS/IFANGL(7),FANGL(7),M(7),N(7),IG(7),L(7),IH(7),NTARG,NT &,NS,IT2,ID3,IG3,IG4,IG6,IG7,IG8,IG9,IR5,TABORT,TAUTOF INTEGER SECT,QUAD,R1,C1,R,C,SHLD,H1,A,B,POW,H LOGICAL TROM1,TROM2,TDISAB,TDEST,TWON,TLOST,TRESC,TALTOW,TBOFF, &TALERT,TDAMC,TMOVE,TABORT,TLOOS,TBALEN,TALSD,TINTRD,TAUTOF LOGICAL*1 ANS,MAN,AUT,BLA,CAN DATA MAN,AUT,CAN,BLA/1HM,1HA,1HC,1H / C TABORT=.FALSE. TAUTOF=.FALSE. IF(STATUS(7).GE.0.)GOTO 5 TDAMC=.TRUE. CALL DAMCON(7,5,TDAMC) RETURN 5 IF(.NOT.TINTRD)GOTO 10 IF(ITR(4).NE.1 .AND. ITR(4).NE.2)GOTO 10 CALL DAMCON(7,97,.FALSE.) RETURN 10 TYPE 11 11 FORMAT(/1X,'PHOTON TORPEDO CONTROL') WRITE(3,11) IF(NTORP.GT.0)GOTO 30 20 TYPE 21 21 FORMAT(1X,'Photon torpedo supply exhausted - order aborted') WRITE(3,21) RETURN 30 TYPE 31 31 FORMAT(1X,'FIRING MODE? ',$) 40 READ(5,41,ERR=30)ANS 41 FORMAT(A1) CALL CAPMSK(ANS,1) 3 IF(ANS.EQ.MAN)GOTO 49 IF(ANS.EQ.AUT)GOTO 4 IF(ANS.EQ.CAN)GOTO 70 50 TYPE 51 51 FORMAT(1X,'AUTO or MANUAL? ',$) 60 READ(5,41,ERR=50)ANS CALL CAPMSK(ANS,1) IF(ANS.NE.BLA)GOTO 3 70 TYPE 71 71 FORMAT(1X,'*** COMMAND CANCELLED ***') WRITE(3,71) RETURN 4 IF(STATUS(4).GE.0.)GOTO 1 80 TYPE 81 81 FORMAT(/1X'Short Range Sensors inoperative - auto-fire unavailable &'/1X,'Switching to manual control'/) WRITE(3,81) GOTO 49 1 TAUTOF=.TRUE. 49 CALL TORANG IF(.NOT.TAUTOF)GOTO 2 NT=1 CALL AUTOFI CALL TOTRAK IF(TABORT)GOTO 70 NT=2 CALL AUTOFI 2 IF(TABORT)GOTO 70 CALL HITS IF(TDISAB .OR. TDEST)RETURN DO 9 I=1,7 CALL ALMOVE(TMOVE,.FALSE.,I) 9 CONTINUE IF(IT2.EQ.0)GOTO 70 TAUTOF=.FALSE. CALL TOTRAK CALL TORSLT RETURN END