File: STARSH.FT of Disk: Disks/Working/Build-11-03-07
(Source file text) 

C	*************************************************************
C	*************************************************************
C	THIS IS 'THE ENEMY SHOOTS BACK' SUBROUTINE
C	THE CALL MUST BE FOLLOWED BY 'IF(SHIELD.LT.0) GOTO 4000'
	SUBROUTINE SHOOT
	COMMON ARRAY,ZONE1,ZONE2,INSERT,RANK1,RANK2,OK,IRA,JONES
	COMMON DOCKED,KLING3,KLINST,SECT1,SECT2,SHIELD
	INTEGER ARRAY(8,8,3),ZONE1,ZONE2,RANK1,RANK2,OK,DOCKED
	INTEGER KLINST(3,3),HIT,SECT1,SECT2,SHIELD
	IF (DOCKED.EQ.0) GOTO 3820
	WRITE (4,3800)
3800	FORMAT(1X,'STAR BASE SHIELDS PROTECT THE ENTERPRISE.')
	RETURN
3820	IF (KLING3.LE.0) GOTO 3910
	DO 3900 I=1,3
	IF (KLINST(I,3).LE.0) GOTO 3900
	TEMP = SQRT(FLOAT((KLINST(I,1)-SECT1)**2+(KLINST(I,2)-SECT2)**2))
	HIT = INT((KLINST(I,3)/TEMP)*(2.+RAN(IRA,JONES)))
	SHIELD = SHIELD-HIT
	WRITE (4,3860)HIT,KLINST(I,1),KLINST(I,2),SHIELD
3860	FORMAT(1X,'KLINGON ATTACK',/,1X,
     1  I4,' UNIT HIT ON ENTERPRISE FROM SECTOR ',I2,' ,',I2,
     1  5X,'(',I5,' LEFT)')
	IF (SHIELD.LT.0) GOTO 3910
3900	CONTINUE
3910	RETURN
	END