      SUBROUTINE HITEM(HITS)
C*BEGIN COMMON 
      COMMON SNAP,SNAPSHT(247), 
     +   DATE,REMKL,REMCOM,REMBASE,REMRES,REMTIME,STARKL,BASEKL,
     +   KILLK,KILLC,GALAXY(8,8),CX(10),CY(10),BASEQX(5),BASEQY(5), 
     +   NEWSTUF(8,8),PLNETS(10,5),ISX,ISY,NSCREM,NROMKL,NROMREM,
     +   NSCKILL,NPLANKL,ISATB,BATX,BATY,THINGX,THINGY,
     +   QUAD(10,10),KX(20),KY(20),KPOWER(20),KDIST(20),KSTUF(20),  
     +   FUTURE(10),MESSAGE(5,10),
     +   INKLING,INBASE,INRESOR,INCOM,INTIME,INSTAR,INENRG,INSHLD,
     +   INTORPS,INLSR,INDATE,ENERGY,SHLD,SHLDUP,CONDIT,TORPS,SHIP, 
     +   QUADX,QUADY,SECTX,SECTY,WARPFAC,WFACSQ,LSUPRES,DAMAGE(20), 
     +   LENGTH,SKILL,PASSWD,DIST,DIREC,TIME,BASEX,BASEY,DOCKFAC, 
     +   KLHERE,COMHERE,CASUAL,NHELP,NKINKS,STARCH(8,8),
     +   DEVICE(2,14),IDIDIT,GAMEWON,ALIVE,JUSTIN,RESTING,ALLDONE,
     +   DAMFAC,SHLDCHG,NDEVICE,PLNETX,PLNETY,INORBIT,LANDED,IPLANET,
     +   IMINE,ICRYSTL,INPLAN,NENHERE,ISHERE,NEUTZ,IRHERE,ICRAFT,
     +   IENTESC,ISCRAFT,ISCATE,CRYPROB,ICITE,IPHWHO,
     +   CRACKS(12) 
      INTEGER SHLDUP,CONDIT,QUADX,QUADY,SECTX,SECTY,TORPS,
     +   REMKL,REMBASE,SKILL,REMCOM,GALAXY,STARCH,CX,CY, 
     +   SHIP,ALLDONE,BASEQX,BASEQY,BASEX,BASEY,GAMEWON, 
     +   ALIVE,STARKL,BASEKL,CASUAL,COMHERE,RESTING,SNAP,SHLDCHG, 
     +   THINGX,THINGY,BATX,BATY,PLNETX,PLNETY,PLNETS
      REAL KDIST,KPOWER,LSUPRES,INTIME,INRESOR,INDATE,INSHLD,   
     +   INENRG,INLSR 
	BYTE QUAD
	REAL*8 DEVICE,PASSWD
C*END COMMON 
	LOGICAL*1 IHS,IHR,IHC,IHK,IHE,IHF,IHBLANK,IHDOT,IHP,IHB
	1 ,IHSTAR,IHT,IHQUEST,IHNUM,IENM
      COMMON/HOLLER/IHEOL,IHREAL,IHALPHA,IHS,IHR,IHC,IHK,IHGREEN,IHRED, 
     +IHYELLO,IHDOCKD,IHE,IHF,IHBLANK,IHDOT,IHQUEST,IHP,IHSTAR,IHB
     +,IHT,IHNUM  
	DIMENSION HITS(20)
	REAL KP
      DATA PHASFAC/2.0/ 
      CALL SKIP(1)
      NENH=NENHERE 
      KK=1
      DO 40 K=1,NENH 
      WHAM=HITS(K)
      IF(WHAM .EQ. 0) GO TO 30
      DUSTFAC=0.90+0.01*RANF(0) 
      HIT=WHAM*DUSTFAC**KDIST(KK) 
      KP=KPOWER(KK) 
      KPOWER(KK)=KP-SIGN(AMIN1(ABS(KP),PHASFAC*HIT),KP) 
      KPOW=KPOWER(KK) 
      II=KX(KK) 
      JJ=KY(KK) 
      IF(HIT .GT. .005)GO TO 10 
      CALL CRAM(18HVERY SMALL HIT ON )
      GO TO 20
10    CALL CRAMF(HIT,0,2) 
      CALL CRAM(13H UNIT HIT ON ) 
20    IENM=QUAD(II,JJ)
      CALL CRMENA(IENM,2,II,JJ)
      CALL CREND
      IF(KPOW .NE. 0) GO TO 25
      CALL DEADKL(II,JJ,IENM,II,JJ) 
      IF(REMKL .GT. 0) GO TO 40
	CALL FINISH(1)
	RETURN
C--------- DECIDE WHETHER OR NOT TO EMASCULATE KLINGON. 
 25   IF(KPOW .LT. 0) GO TO 30
      IF(RANF(0.) .LT. .90)GO TO 30 
      IF(KPOW       .GT. ((.40 + .4*RANF(0.))*KP))GO TO 30
      CALL CRAM(38H***MR. SPOCK:  "CAPTAIN, THE VESSEL AT)
      CALL CRAMLOC(2,II,JJ) 
      CALL CREND
      CALL PROUT(32H   HAS JUST LOST ITS FIREPOWER.",32) 
      KPOWER(KK)=-KPOW
30    KK=KK+1 
40    CONTINUE
      RETURN
      END 
