home *** CD-ROM | disk | FTP | other *** search
- Path: uunet!decwrl!concert!lester.appstate.edu!pembvax1.pembroke.edu!rennie
- From: rennie@pembvax1.pembroke.edu
- Newsgroups: vmsnet.sources.games
- Subject: Star Trek - Part [16/18]
- Date: 7 Apr 93 11:08:32 EDT
- Organization: Pembroke State University
- Lines: 467
- Message-ID: <1993Apr7.110833.1@pembvax1.pembroke.edu>
- NNTP-Posting-Host: papa.pembroke.edu
- Xref: uunet vmsnet.sources.games:658
-
- -+-+-+-+-+-+-+-+ START OF PART 16 -+-+-+-+-+-+-+-+
- X IF(DAMAGE(8).NE.0.0) GO TO 60 `20
- X IF(SHLDUP.NE.0) GO TO 20
- XC*`20
- X ENTRY SHLDSUP`20
- XC*`20
- X CALL PROMPT(40HSHIELDS ARE DOWN. DO YOU WANT THEM UP? ,40)`20
- X IF(JA(DUMMY)) GO TO 40`20
- X`09GO TO 90
- X 20 CALL PROMPT(40HSHIELDS ARE UP. DO YOU WANT THEM DOWN? ,40)`20
- X IF(JA(DUMMY)) GO TO 50`20
- X`09GO TO 90
- X 30 IF(ITEM.EQ.1HT) GO TO 80
- X IF(DAMAGE(8).NE.0.0) GO TO 60 `20
- X IF(ITEM.EQ. 1HU) GO TO 40
- X IF(ITEM.EQ. 1HD) GO TO 50`20
- X`09GO TO 15
- XC--------RAISE SHIELDS
- X 40 IF(SHLDUP.NE.0) GO TO 45
- X SHLDUP=1
- X SHLDCHG=1`20
- X IF(CONDIT .NE. IHDOCKD ) ENERGY=ENERGY-50.0`20
- X CALL PROUT(15HSHIELDS RAISED.,15)
- X IF(ENERGY .LE. 0) GO TO 70
- X IDIDIT=1
- X RETURN
- X 45 CALL PROUT(21HSHIELDS ALREADY UP. ,21) `20
- X RETURN
- XC--------LOWER SHIELDS
- X 50 IF(SHLDUP .EQ. 0) GO TO 55
- X SHLDUP=0
- X SHLDCHG=1`20
- X CALL PROUT(16HSHIELDS LOWERED.,16)`20
- X IDIDIT=1
- X RETURN
- X 55 CALL PROUT(21HSHIELDS ALREADY DOWN.,21)
- X RETURN
- XC--------SHIELD DAMAGE
- X 60 CALL PROUT(25HSHIELDS DAMAGED AND DOWN.,25)
- X RETURN
- XC--------ENERGY TOTALLY DEPLETED
- X 70 CALL SKIP(1)
- X CALL PROUT(31HSHIELDS USE UP LAST OF ENERGY. ,31) `20
- X`09CALL FINISH(4)
- X`09RETURN
- XC--------CHANGE SHIELD ENERGY.
- X 80 CALL SCAN`20
- X`09ETRANS=FNUM
- X IF(KEY .EQ. IHREAL) GO TO 81
- X 8010 CALL PROMPT(38HENERGY TO TRANSFER TO SHIELDS? ,38)`20
- X GO TO 80
- X 81 IF(ETRANS .EQ. 0.) GO TO 90`20
- X IF(ETRANS .LT. ENERGY) GO TO 82`20
- X CALL PROUT(25HINSUFFICIENT SHIP ENERGY.,25)`20
- X`09GO TO 90
- X 82 IDIDIT=1
- X IF(SHLD+ETRANS .LE. INSHLD) GO TO 83
- X CALL PROUT(24HSHIELD ENERGY MAXIMIZED.,24)`20
- X CALL PROUT(48HEXCESS ENERGY REQUESTED RETURNED TO SHIP ENERGY.,48)`20
- X ENERGY=ENERGY+SHLD-INSHLD`20
- X`09SHLD=INSHLD
- X`09GO TO 90
- XC--------PREVENT SHIELD-DRAIN LOOPHOLE.`20
- X 83 IF(ETRANS .GT. 0.) GO TO 8310`20
- X IF(ENERGY-ETRANS .LE. INENRG) GO TO 8310
- X IF(ENERGY + SHLD .LE. INENRG) GO TO 8310
- X CALL SKIP(1)
- X CALL PROUT(24H"ENGINEERING TO BRIDGE--,24)`20
- X CALL PROUT(46H SCOTT HERE. POWER CIRCUIT PROBLEM, CAPTAIN.,46)`20
- X CALL PROUT(31H I CAN'T DRAIN THE SHIELDS." ,31) `20
- X`09IDIDIT=0
- X`09GO TO 90
- X 8310 IF(SHLD+ETRANS .GE. 0.) GO TO 84
- X CALL PROUT(38HALL SHIELD ENERGY TRANSFERRED TO SHIP.,38)`20
- X`09ENERGY=ENERGY+SHLD
- X`09SHLD=0
- X`09GO TO 90
- X 84 CALL CRAM(10HSCOTTY: ")
- X IF(ETRANS .GT. 0.) CALL CRAM(12HTRANSFERRING)`20
- X IF(ETRANS .LT. 0.) CALL CRAM(8HDRAINING)
- X CALL CRAM(8H ENERGY )`20
- X IF(ETRANS .GT. 0.) CALL CRAM(2HTO)
- X IF(ETRANS .LT. 0.) CALL CRAM(4HFROM)
- X CALL CRAMDMP(10H SHIELDS.")`20
- X`09SHLD=SHLD+ETRANS
- X`09ENERGY=ENERGY-ETRANS
- X 90 IF(SHLD .LE. 0.0) SHLDUP=0
- X RETURN `20
- X END`20
- $ CALL UNPACK TRSHIELDS.FOR;1 436473907
- $ create 'f'
- X SUBROUTINE SKIP(N)
- X DO 10 L=1,N`20
- X CALL PROUT(0,1)`20
- X 10 CONTINUE
- X RETURN
- X END`20
- $ CALL UNPACK TRSKIP.FOR;1 1448562315
- $ create 'f'
- X SUBROUTINE SNOVA(INSX,INSY)`20
- XC
- XC`095-DEC-79
- XC`09DON'T CHARGE PLAYER FOR BAD THINGS IF SUPERNOVA CAUSED BY
- XC`09ENEMY ACTION
- XC
- X`09INCLUDE 'TREKCOM/NOLIST'
- X INTEGER COMDEAD`20
- X NSX=INSX
- X NSY=INSY
- XC--------IF SCHEDULED SUPERNOVA (INSX=INSY=0), SELECT STAR
- X IF(INSX.NE.0) GO TO 50
- X NUM=RANF(0)*INSTAR+1
- X DO 10 NQX=1,8`20
- X DO 10 NQY=1,8`20
- X NUM=NUM-MOD(GALAXY(NQX,NQY),10)`20
- X IF(NUM .LE. 0) GO TO 20`20
- X 10 CONTINUE
- XC--------IF STAR IS ALREADY GONE, RETURN EMPTY-HANDED`20
- X RETURN
- XC--------IF STARSHIP IS IN THIS QUADRANT, CHOOSE STAR EXACTLY`20
- X 20 IF(NQX.NE.QUADX .OR. NQY.NE.QUADY) GO TO 70`20
- XC--------UNLESS STARSHIP JUST GOT HERE; THEN TREAT SUPERNOVA AS`20
- XC OCCURING WHILE EN ROUTE.`20
- X IF(JUSTIN.NE.0) GO TO 70
- X NUM=RANF(0)*MOD(GALAXY(NQX,NQY),10)+1`20
- X DO 30 NSX=1,10
- X DO 30 NSY=1,10
- X IF(QUAD(NSX,NSY) .NE. IHSTAR) GO TO 30
- X NUM=NUM-1`20
- X IF(NUM .EQ. 0) GO TO 50`20
- X 30 CONTINUE
- XC--------PRINT RED ALERT (INCIPIENT SUPERNOVA) MESSAGE
- X 50 CALL SKIP(1)
- X CALL REDALRT
- X CALL CRAM(34H***INCIPIENT SUPERNOVA DETECTED AT)
- X CALL CRAMLOC(2,NSX,NSY)`20
- X CALL CREND
- X NQX=QUADX`20
- X NQY=QUADY`20
- XC--------SUPERNOVA ADJACENT TO STARSHIP ENDS GAME`20
- X DSQ=(NSX-SECTX)**2 + (NSY-SECTY)**2`20
- X IF(DSQ .GT. 2.1) GO TO 80`20
- X CALL PROUT(`20
- X + 54HEMERGENCY AUTOMATIC OVERRIDE ATTEMPTS T***************,54)`20
- X CALL STARS
- X ALLDONE=1`20
- X GO TO 80
- XC--------IF STARSHIP NOT IN SAME QUADRANT, JUST GET A MESSAGE`20
- X 70 IF(DAMAGE(9) .NE. 0) GO TO 80`20
- X CALL SKIP(1)
- X CALL CRAM(49HMESSAGE FROM STARFLEET COMMAND STARDATE )`20
- X CALL CRAMF(DATE,0,1)
- X CALL CREND
- X CALL CRAM(17H SUPERNOVA IN)`20
- X CALL CRAMLOC(1,NQX,NQY)`20
- X CALL CRAMDMP(18H; CAUTION ADVISED.)`20
- XC--------DESTROY ANY KLINGONS IN SUPERNOVAED QUADRANT`20
- X 80 NUM=GALAXY(NQX,NQY)`20
- X KLDEAD=NUM/100
- X`09COMDEAD=0
- X`09ISCDEAD=0
- X IF((NQX .NE. ISX) .OR. (NQY .NE. ISY)) GO TO 85`20
- X`09NSCREM=0
- X`09ISX=0
- X`09ISY=0
- X`09ISATB=0
- X`09ISCATE=0
- X`09ISCDEAD=1
- X`09FUTURE(6)=1E38
- X`09FUTURE(7)=1E38
- X 85 IF(KLDEAD .EQ. 0) GO TO 100`20
- X REMKL=REMKL-KLDEAD
- X IF(REMCOM .EQ. 0) GO TO 100`20
- X MAXLOOP=REMCOM
- X DO 90 L=1,MAXLOOP`20
- X IF(CX(L).NE.NQX .OR. CY(L).NE.NQY) GO TO 90`20
- X CX(L)=CX(REMCOM)
- X CY(L)=CY(REMCOM)
- X`09CX(REMCOM)=0
- X`09CX(REMCOM)=0
- X REMCOM=REMCOM-1`20
- X KLDEAD=KLDEAD-1`20
- X COMDEAD=1`20
- X IF(REMCOM .EQ. 0) FUTURE(2)=1E38`20
- X 90 CONTINUE
- XC--------DESTROY ROMULANS AND PLANETS IN SUPERNOVAED QUADRANT.
- X 100 NUM=NEWSTUF(NQX,NQY)
- X`09NEWSTUF(NQX,NQY)=0
- X`09NRMDEAD=NUM/10
- X NROMREM=NROMREM-NRMDEAD`20
- X NPDEAD=NUM-NRMDEAD*10`20
- X IF(NPDEAD .EQ. 0) GO TO 109`20
- X DO 106 L=1,INPLAN`20
- X IF((PLNETS(L,1) .NE. NQX).OR. (PLNETS(L,2) .NE. NQY)) GO TO 106`20
- X DO 105 I=1,5
- X 105 PLNETS(L,I)=0
- X 106 CONTINUE
- XC--------DESTROY ANY BASE IN SUPERNOVAED QUADRANT`20
- X 109 IF(REMBASE .EQ. 0) GO TO 120
- X MAXLOOP=REMBASE`20
- X DO 110 L=1,MAXLOOP
- X IF(BASEQX(L).NE.NQX .OR. BASEQY(L).NE.NQY) GO TO 110
- X BASEQX(L)=BASEQX(REMBASE)`20
- X BASEQY(L)=BASEQY(REMBASE)`20
- X`09BASEQX(REMBASE)=0
- X`09BASEQY(REMBASE)=0
- X REMBASE=REMBASE-1`20
- X 110 CONTINUE
- XC--------IF STARSHIP CAUSED SUPERNOVA, TALLY UP DESTRUCTION`20
- X 120 IF(INSX .EQ. 0) GO TO 130`20
- X NUMBER=MOD(GALAXY(NQX,NQY),100)`20
- X`09KILLK=KILLK+KLDEAD
- X`09KILLC=KILLC+COMDEAD`20
- X`09NROMKL=NROMKL+NRMDEAD
- X`09NSCKILL=NSCKILL+ISCDEAD`20
- XC--------IF ENEMY ACTION CAUSED SUPERNOVA, DON'T ASSESS ANY PENALTIES
- X`09IF(IPHWHO.EQ.1)GO TO 130
- X`09STARKL=STARKL+MOD(NUMBER,10)
- X`09BASEKL=BASEKL+(NUMBER/10)`20
- X`09NPLANKL=NPLANKL+NPDEAD
- XC--------MARK SUPERNOVA IN GALAXY AND IN STAR CHART`20
- X 130 IF(STARCH(NQX,NQY).GT.0 .AND. DAMAGE(9).NE.0)`20
- X + STARCH(NQX,NQY)=1000+GALAXY(NQX,NQY)`20
- X IF(DAMAGE(9).EQ.0 .OR. (QUADX.EQ.NQX .AND. QUADY.EQ.NQY))`20
- X + STARCH(NQX,NQY)=1
- X GALAXY(NQX,NQY)=1000
- XC--------IF SUPERNOVA DESTROYS LAST KLINGONS, GIVE SPECIAL MESSAGE
- X IF(REMKL.NE.0 .OR. (NQX.EQ.QUADX .AND. NQY.EQ.QUADY)) GO TO 140`20
- X CALL SKIP(2)
- X CALL PROUT(11HLUCKY YOU! ,11) `20
- X CALL CRAM(14HA SUPERNOVA IN)
- X CALL CRAMLOC(1,NQX,NQY)`20
- X CALL CRAMDMP(38H HAS JUST DESTROYED THE LAST KLINGONS.)`20
- X CALL FINISH(1)
- X RETURN
- XC--------IF SOME KLINGONS REMAIN, CONTINUE (OR DIE IN SUPERNOVA)
- X 140 IF(ALLDONE.NE.0) CALL FINISH(8)`20
- X RETURN
- X END`20
- $ CALL UNPACK TRSNOVA.FOR;1 1919253965
- $ create 'f'
- X SUBROUTINE SORTKL`20
- X`09INCLUDE 'TREKCOM/NOLIST'
- X INTEGER SWITCH
- X IF(NENHERE.LE.1)RETURN
- X MINUS1=NENHERE-1
- X 10 SWITCH=0
- X DO 20 J=1,MINUS1
- X IF(KDIST(J) .LE. KDIST(J+1)) GO TO 20`20
- X`09T=KDIST(J)
- X`09KDIST(J)=KDIST(J+1)
- X`09KDIST(J+1)=T
- X`09K=KX(J)
- X`09KX(J)=KX(J+1)
- X`09KX(J+1)=K
- X`09K=KY(J)
- X`09KY(J)=KY(J+1)
- X`09KY(J+1)=K
- X`09T=KPOWER(J)
- X`09KPOWER(J)=KPOWER(J+1)
- X`09KPOWER(J+1)=T
- X SWITCH=1
- X 20 CONTINUE
- X IF(SWITCH.NE.0) GO TO 10
- X RETURN
- X END`20
- $ CALL UNPACK TRSORTKL.FOR;1 1462117107
- $ create 'f'
- X SUBROUTINE SRSCAN`20
- X`09INCLUDE 'TREKCOM/NOLIST'
- X`09BYTE BITEM
- X LOGICAL LEFTSID,RITESID ,CROP
- X REAL*8 REQUST(10),AITEM,DAMAGD,UP,DOWN,TJ
- X`09EQUIVALENCE (AITEM,BITEM)
- X`09COMMON/SCANBF/KEY,AITEM
- X DATA REQUST /4HDATE,8HCONDITIO,8HPOSITION,8HLSUPPORT,8HWARPFACT
- X +,6HENERGY,8HTORPEDOE,7HSHIELDS,8HKLINGONS,4HTIME/`20
- X`09DATA DAMAGD,UP,DOWN/7HDAMAGED,2HUP,4HDOWN/
- X IF(DAMAGE(1) .NE. 0 .AND. CONDIT .NE. IHDOCKD) GOTO 160 `20
- X LEFTSID=.TRUE.
- X RITESID=.TRUE.
- X CALL SCAN`20
- X IF(KEY .EQ. IHEOL) GO TO 3
- X IF(BITEM .EQ. 1HN) RITESID = .FALSE.`20
- X 3 STARCH(QUADX,QUADY)=1`20
- X K=0`20
- X CALL PROUT(23H 1 2 3 4 5 6 7 8 9 10,23)
- X GO TO 4`20
- XC*`20
- X ENTRY REQUEST`20
- XC*`20
- X301`09CALL SCAN
- X IF(KEY .EQ. IHALPHA) GO TO 303
- X 302 CALL PROMPT(24HINFORMATION DESIRED? ,24)`20
- X`09GO TO 301
- X 303 DO 304 I=1,10`20
- X304`09IF(CROP(AITEM,REQUST(I))) K=I
- X IF(K.NE.0) GO TO 305 `20
- X CALL PROUT(42HUNRECOGNIZED REQUEST. LEGAL REQUESTS ARE:,42)`20
- X CALL PROUT(`20
- X +51H DATE, CONDITION, POSITION, LSUPPORT, WARPFACTOR, ,51) `20
- X CALL PROUT(45H ENERGY, TORPEDOES, SHIELDS, KLINGONS, TIME.,45)
- X`09CALL SKIP(1)
- X`09GO TO 302
- XC*`20
- X ENTRY STATUS
- XC*`20
- X 305 LEFTSID=.FALSE.`20
- X 4 DO 150 I=1,10`20
- X`09JJ=I
- X`09IF(K.NE.0) JJ=K
- X IF(.NOT. LEFTSID) GO TO 8`20
- X CALL CRAMI(I,2)`20
- X CALL CRAM(1H )
- X DO 5 J=1,10`20
- X`09CALL CRAMS(QUAD(I,J),1)
- X`09CALL CRAM(1H )
- X 5 CONTINUE
- X IF(RITESID)GO TO 8
- X CALL CREND
- X GO TO 150`20
- X 8 GO TO (10,20,30,40,50,60,70,80,90,100), JJ
- X 10 CALL CRAM(15H STARDATE )`20
- X CALL CRAMF(DATE,0,1)
- X CALL CREND
- X GO TO 140`20
- X 20 IF(CONDIT .NE. IHDOCKD ) CALL NEWCOND`20
- X CALL CRAM(15H CONDITION )`20
- X`09IF(CONDIT.EQ.IHGREEN) CALL CRMDPS('GREEN',5)
- X`09IF(CONDIT.EQ.IHRED) CALL CRMDPS('RED',3)
- X`09IF(CONDIT.EQ.IHYELLO) CALL CRMDPS('YELLOW',6)
- X`09IF(CONDIT.EQ.IHDOCKD) CALL CRMDPS('DOCKED',6)
- X GO TO 140`20
- X 30 CALL CRAM(14H POSITION )`20
- X CALL CRAMLOC(0,QUADX,QUADY)`20
- X CALL CRAM(1H,)
- X CALL CRAMLOC(0,SECTX,SECTY)`20
- X CALL CREND
- X GO TO 140`20
- X 40 CALL CRAM(15H LIFE SUPPORT )`20
- X IF(DAMAGE(5).NE.0.) GO TO 44 `20
- X CALL CRAM(6HACTIVE)`20
- X GO TO 46
- X 44 IF(CONDIT .NE. IHDOC ) GO TO 45`20
- X CALL CRAM(30HDAMAGED, SUPPORTED BY STARBASE)
- X GO TO 46
- X 45 CALL CRAM(18HDAMAGED, RESERVES=)
- X CALL CRAMF(LSUPRES,4,2)`20
- X 46 CALL CREND
- X GO TO 140`20
- X 50 CALL CRAM(15H WARP FACTOR )`20
- X CALL CRAMF(WARPFAC,0,1)`20
- X CALL CREND
- X GO TO 140`20
- X 60 CALL CRAM(15H ENERGY )`20
- X CALL CRAMF(ENERGY,0,2)`20
- X CALL CREND
- X GO TO 140`20
- X 70 CALL CRAM(15H TORPEDOES )`20
- X CALL CRAMI(TORPS,0)`20
- X CALL CREND
- X GO TO 140`20
- X 80 CALL CRAM(15H SHIELDS )`20
- X TJ=DOWN
- X IF(SHLDUP.NE.0) TJ=UP`20
- X IF(DAMAGE(8) .GT. 0) TJ=DAMAGD
- X CALL CRAMS(TJ,8)
- X J=100.0*SHLD/INSHLD+0.5`20
- X CALL CRAMI(J,0)`20
- X`09CALL CRAM(5H% - )
- X`09J=SHLD
- X`09CALL CRAMI(J,0)
- X CALL CRAMDMP(6H UNITS)
- X GO TO 140`20
- X 90 CALL CRAM(15H KLINGONS LEFT )`20
- X CALL CRAMI(REMKL,0)`20
- X CALL CREND
- X GO TO 140`20
- X 100 CALL CRAM(15H TIME LEFT )`20
- X CALL CRAMF(REMTIME,0,2)`20
- X CALL CREND
- X`09IF(LEFTSID) CALL PROUT(23H 1 2 3 4 5 6 7 8 9 10,23)
- X 140 IF(K .EQ. 0) GO TO 150
- X`09K=0
- X`09RETURN
- X 150 CONTINUE
- X RETURN
- X 160 CALL PROUT(22HS. R. SENSORS DAMAGED.,22)`20
- X RETURN
- X END`20
- $ CALL UNPACK TRSRSCAN.FOR;1 242226551
- $ create 'f'
- X`09SUBROUTINE THAW
- XC
- XC`095-APR-79
- XC`09FIX BUG IN TYPEOUT ON STATE OF GAME.
- XC`0925-APR-79
- XC`09CLEAN UP MESSAGE ON BASES.
- XC`09GET RID OF SPURIOUS COMMANDER ATTACK.
- XC`091-MAY-78
- XC`09DON'T PRINT PASSWORD FOR 'GAME' ENTRY
- XC`093-MAY-78
- XC`09USE CRAMSP TO TAKE CARE OF ALL SINGULAR/PLURAL TYPEOUTS.
- XC
- X`09INCLUDE 'TREKCOM/NOLIST'
- X`09LOGICAL*1 NAME(30)
- X`09INTEGER DESTBAS
- XC
- X`09CALL GETFN(NAME)
- X`09IDIDIT=0
- X`09IF(NAME(1).EQ.0) GOTO 800
- X`09CALL CLOSE(2)
- X`09OPEN(UNIT=2,NAME=NAME,TYPE='OLD',FORM='UNFORMATTED',
- X`091 ERR=800)
- X`09READ(2,ERR=800) N,(ICOM(K),K=1,N)
- X`09CALL CLOSE(2)
- X`09IDIDIT=1
- X`09GO TO 100
- XC*--TELL HIM WHAT KIND OF GAME HE GOT HIMSELF INTO...
- X`09ENTRY GAME
- X`09IDIDIT=0
- X100`09CALL SKIP(1)
- X`09CALL CRAM(22HYOU ARE NOW PLAYING A )
- X`09IF(LENGTH.EQ.1) CALL CRAM(5HSHORT)
- X`09IF(LENGTH.EQ.2) CALL CRAM(6HMEDIUM)
- X`09IF(LENGTH.EQ.4) CALL CRAM(4HLONG)
- X`09IF(SKILL.EQ.1) CALL CRAM(7H NOVICE)
- X`09IF(SKILL.EQ.2) CALL CRAM(5H FAIR)
- X`09IF(SKILL.EQ.3) CALL CRAM(5H GOOD)
- X`09IF(SKILL.EQ.4) CALL CRAM(7H EXPERT)
- X`09IF(SKILL.EQ.5) CALL CRAM(9H EMERITUS)
- X`09CALL CRAMDMP(6H GAME.)
- X`09IF(IDIDIT.EQ.0)GO TO 110
- X`09CALL CRAM(25HYOUR SECRET PASSWORD IS ')
- X`09CALL CRAMS(PASSWD,8)
- X`09CALL CRAMDMP(2H'.)
- X110`09KILLTOT=KILLK+KILLC+NSCKILL
- X`09CALL CRAMI(KILLTOT,0)
- X`09CALL CRAM(4H OF )
- X`09CALL CRAMSP(INKLING,'KLINGON')
- X`09IF(KILLTOT.EQ.1)CALL CRAM(' HAS')
- X`09IF(KILLTOT.NE.1)CALL CRAM(' HAVE')
- X`09CALL CRAM(' BEEN KILLED, INCLUDING ')
- X`09CALL CRAMSP(KILLC,'COMMANDER')
- X`09CALL CRAMDMP('.')
- X`09IF(SKILL.LE.2) GOTO 200
- X`09CALL CRAM(24HTHE SUPER-COMMANDER HAS )
- X`09IF(NSCREM.EQ.1) CALL CRAM(4HNOT )
- X`09CALL CRAMDMP(15HBEEN DESTROYED.)
- XC*--GIVE HIM THE POOP ON THE BASES.
- X200`09DESTBAS=INBASE-REMBASE
- X`09IF(DESTBAS.EQ.0)GO TO 210
- X`09CALL CRAMSP(DESTBAS,'BASE')
- X`09CALL CRAM(' DESTROYED, ')
- X210`09CALL CRAMSP(REMBASE,'BASE')
- X`09IF(DESTBAS.NE.0)CALL CRAM(' REMAINING')
- X`09CALL CRAMDMP('.')
- XC*--IS A COMMANDER CHOMPING ON A BASE?
- X`09IF(ICSOS.EQ.0)GO TO 240
- X`09IF(FUTURE(5).GE. 1.E38) GOTO 240
- X`09IF(REMCOM.EQ.0 .OR. REMBASE.EQ.0)GO TO 240
- X`09IF(MOD(GALAXY(BATX,BATY),100).LT.10)GO TO 240
- X`09DO 220 I=1,REMCOM
- X`09IF(CX(I).EQ.BATX .AND. CY(I).EQ.BATY)GO TO 221
- X220`09CONTINUE
- X`09GO TO 240
- +-+-+-+-+-+-+-+- END OF PART 16 +-+-+-+-+-+-+-+-
-