SUBROUTINE PHASER (WHO,L) C C PHASER COMMAND FOR PLAYER 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 (PHA(WHO).GE.0.) GO TO 10156 IF (IDAMGE(WHO,1).EQ.0) GOTO 10000 WRITE (5,10001) CLRIT 10001 FORMAT (' ** Phasers are damaged, course may not be accurate **' 1 ,2A1) C 10000 WRITE(5,10159) CLRIT 10159 FORMAT ('$Phaser course, Captain ? ',2A1) CALL GETREL(VALUE,OK,0.,12.) IF (.NOT.OK) GO TO 10157 IF (IDAMGE(WHO,1).EQ.0) GOTO 10164 C CALL TICKS (ISEED2) IVAR = IFIX(10*RAN(DFLOAT(ISEED2)))+1 IF (IVAR.LE.IDAMGE(WHO,5).AND.IDAMGE(WHO,5).GT.0) 1 VALUE = VALUE - (VALUE*(FLOAT(IVAR)/100)) C 10164 IF (VALUE.LT.3) VALUE=(3.-VALUE)*30. IF (VALUE.GE.3) VALUE=(15.-VALUE)*30. IF (CLON(WHO)) CLOAK(WHO)=.FALSE. PHA(WHO)=VALUE ENERGY(WHO)=ENERGY(WHO)-50 WRITE (5,10165) CLRIT 10165 FORMAT (' Phasers fired, Captain',2A1) GO TO 10157 C 10156 WRITE(5,10166) CLRIT 10166 FORMAT (' Phasers are not ready yet.',2A1) GOTO 10157 C 10130 WRITE (5,10131) CLRIT 10131 FORMAT (' We cannot fire while docked, sir',2A1) C 10157 RETURN END