home *** CD-ROM | disk | FTP | other *** search
- Path: uunet!elroy.jpl.nasa.gov!decwrl!concert!lester.appstate.edu!pembvax1.pembroke.edu!rennie
- From: rennie@pembvax1.pembroke.edu
- Newsgroups: vmsnet.sources.games
- Subject: Star Trek - Part [09/18]
- Date: 7 Apr 93 10:55:12 EDT
- Organization: Pembroke State University
- Lines: 443
- Message-ID: <1993Apr7.105512.1@pembvax1.pembroke.edu>
- NNTP-Posting-Host: papa.pembroke.edu
- Xref: uunet vmsnet.sources.games:651
-
- -+-+-+-+-+-+-+-+ START OF PART 9 -+-+-+-+-+-+-+-+
- X 1401 CALL PROUT('YOU AND YOUR LANDING PARTY ARE STRANDED ON A',44)
- X CALL CRAM('CLASS ')
- X CALL CRAMEN(ICLASS)
- X CALL CRAMDMP(' PLANET, WHICH IS INCAPABLE OF SUPPORTING')
- X CALL PROUT('HUMAN LIFE. AFTER YOUR SUIT LIFE SUPPORT SYSTEMS',49)
- X CALL PROUT('ARE EXHAUSTED, YOU DIE.',23)
- X 1410 CALL SKIP(1)
- X CALL CRAM(29HWITHOUT YOUR LEADERSHIP, THE )
- X CALL CRAMSHP
- X CALL CRAMDMP(14H IS DESTROYED.)`20
- X GO TO 5000
- XC--------CASE 15: ENTERPRISE DESTROYS PLANET WITH MINING PARTY ON IT.
- X 1500 CALL PROUT(33HYOU AND YOUR MINING PARTY PERISH. ,33)`20
- X GO TO 705`20
- XC--------CASE 16. KIRK FRIED BY NOVA WHILE ON PLANET.
- X 1600 CALL PROUT(41HYOU AND YOUR MINING PARTY ARE ATOMIZED. ,41)`20
- X CALL SKIP(1)
- X CALL CRAM(31HMR. SPOCK TAKES COMMAND OF THE )
- X CALL CRAMSHP
- X CALL CRAMDMP(4H AND)
- X CALL PROUT(54HJOINS THE ROMULANS, REIGNING TERROR ON THE FEDERATIO
- X CN. ,54)
- X GO TO 5000
- XC--------CASE 17. KIRK FRIED BY SUPERNOVA IN SHUTTLE CRAFT.
- X 1700 CALL PROUT(51HGALILEO IS INSTANTLY ANNIHILATED BY THE SUPERNOVA.
- X C ,51) `20
- X GO TO 1600
- XC--------CASE 18. SHUTTLE CRAFT CAUGHT IN TRACTOR BEAM.
- X 1800 CALL PROUT(37HSHUTTLE CRAFT GALILEO IS ALSO CAUGHT, ,37)`20
- X CALL PROUT(31HAND BREAKS UP UNDER THE STRAIN. ,31)
- X CALL SKIP(1)
- X CALL PROUT(47HYOUR DEBRIS IS SCATTERED FOR MILLIONS OF MILES. `20
- X`091 ,47)
- X GO TO 1410
- XC--------CASE 19. DEATH RAY CONVERTS CREW INTO MUTANTS.
- XC--------CASE 21. BLACK HOLE SWALLOWS SHIP.
- X 2100 CALL PROUT(51HYOUR SHIP IS DRAWN TO THE CENTER OF THE BLACK HOLE.`20
- X + ,51)`20
- X CALL PROUT(44HYOU ARE CRUSHED INTO EXTREMELY DENSE MATTER.,44)`20
- X GO TO 5000
- XC--------CASE 22. SHIP DESTROYED BY A TORPEDO BOOMERANG
- X 2200 CALL PROUT(31HYOU ARE POSTHUMOUSLY AWARDED A ,31)
- X CALL PROUT(31HSTARFLEET MARKSMANSHIP AWARD. ,31)`20
- X GO TO 705`20
- XC--------DECIDE FINAL OUTCOME OF GAME AFTER YOUR DEATH
- X 5000 CALL SKIP(1)
- X IF(ISHIP .EQ. IHF) ISHIP=0
- X IF(ISHIP .EQ. IHE) ISHIP=IHF
- X ALIVE=0`20
- X IF(REMKL .EQ. 0) GO TO 5050`20
- X GOODIES=REMRES/INRESOR
- X BADDIES=(REMKL+2.0*REMCOM)/(INKLING+2.0*INCOM)
- X ADVANTG=GOODIES/BADDIES`20
- X IF(ADVANTG .LT. (1.0+0.5*RANF(0))) GO TO 5020`20
- X CALL PROUT(`20
- X + 54HAS A RESULT OF YOUR ACTIONS, A TREATY WITH THE KLINGON,54)`20
- X CALL PROUT(`20
- X + 52HEMPIRE HAS BEEN SIGNED. THE TERMS OF THE TREATY ARE,52)`20
- X IF(ADVANTG .LT. (3.0+RANF(0))) GO TO 5010`20
- X CALL PROUT(`20
- X + 28HFAVORABLE TO THE FEDERATION.,28)`20
- X CALL SKIP(1)
- X CALL PROUT(16HCONGRATULATIONS.,16)`20
- X GO TO 5030
- X 5010 CALL PROUT(37HHIGHLY UNFAVORABLE TO THE FEDERATION.,37)
- X GO TO 5030
- X 5020 CALL PROUT(33HTHE FEDERATION WILL BE DESTROYED.,33)
- X 5030 CALL SCORE
- X RETURN
- XC--------STILL ANOTHER CASE--SUCCESSFUL KAZIKAME TACTICS
- X 5050 CALL PROUT(`20
- X + 51HSINCE YOU TOOK THE LAST KLINGON WITH YOU, YOU ARE A,51)
- X CALL PROUT(`20
- X + 51HMARTYR AND A HERO. SOMEDAY MAYBE THEY'LL ERECT A ,51)`20
- X CALL PROUT(`20
- X + 51HSTATUE IN YOUR MEMORY. REST IN PEACE, AND TRY NOT ,51)`20
- X CALL PROUT(`20
- X + 23HTO THINK ABOUT PIGEONS.,23)
- X GAMEWON=1`20
- X ALIVE=0`20
- X CALL SCORE
- X RETURN
- X END`20
- $ CALL UNPACK TRFINISH.FOR;1 1225412609
- $ create 'f'
- X$ COPY TRABANDON.OBJ PART1.OBJ
- X$ APPEND -
- X`09TRATTACK.OBJ+`09TRAUTOVER.OBJ+`09TRCANTA.OBJ+-
- X`09TRCHART.OBJ+`09TRCHOOSE.OBJ+`09TRCRAM.OBJ+`09TRCRAMEN.OBJ+-
- X`09TRCRAMLOC.OBJ+`09TRCRAMSHP.OBJ+`09TRCRAMSP.OBJ+`09TRCRMSENA.OBJ+-
- X`09TRCROP.OBJ+`09TRDEADKL.OBJ+`09TRDESTRCT.OBJ+`09TRDOCK.OBJ+-
- X`09TRDREPORT.OBJ+`09TRDROPIN.OBJ+`09TREMEXIT.OBJ+`09TREVENTS.OBJ -
- X`09PART1.OBJ
- X$ LINK/EXEC=TREK -
- X`09PART1+ -
- X`09TREXPRAN+`09TRFINISH+`09TRFREEZE+`09TRGETCD+-
- X`09TRGETFN+`09TRGETOUT+`09TRHELP+`09`09TRHITEM+-
- X`09TRIMPULSE+`09TRIRAN8+`09TRJA+`09`09TRLRSCAN+-
- X`09TRMOVE+`09`09TRMOVECOM+`09TRMOVETHO+`09TRNEWCOND+-
- X`09TRNEWQUAD+`09TRNOVA+`09`09TRPHASERS+`09TRPHOTONS+-
- X`09TRPLANET+`09TRPLAQUE+`09TRPRELIM+`09TRPROUT+-
- X`09TRRAM+`09`09TRRANF+`09`09TRSCAN+`09`09TRSCOM+-
- X`09TRSCORE+`09TRSETUP+`09TRSETWARP+`09TRSHIELDS+-
- X`09TRSKIP+`09`09TRSNOVA+`09TRSORTKL+`09TRSRSCAN+-
- X`09TRTREK+`09`09TRTHAW+`09`09TRTIMEWRP+`09TRWAIT+-
- X`09TRWARP+`09`09TRZAP
- $ CALL UNPACK TRFIX.COM;1 1464082335
- $ create 'f'
- X`09SUBROUTINE FREEZE
- XC
- XC`093-APR-79
- XC`09MAKE THE 'GAME FROZEN' MESSAGE COME OUT PROPERLY.
- XC
- X`09INCLUDE 'TREKCOM/NOLIST'
- X`09LOGICAL*1 NAME(30)
- X`09CALL GETFN(NAME)
- X`09IDIDIT=0
- X`09IF(NAME(1).EQ.0) GOTO 920
- X`09CALL CLOSE(2)
- X`09OPEN(UNIT=2,NAME=NAME,TYPE='UNKNOWN',FORM='UNFORMATTED',ERR=920)
- X`09WRITE(2,ERR=920) COMSIZE,ICOM
- X`09CALL CLOSE(2)
- X`09IDIDIT=1
- X`09CALL PROUT(13H GAME FROZEN. ,13)
- X`09RETURN
- X920`09CALL PROUT(17H GAME NOT FROZEN. ,17)
- X`09RETURN
- X`09END`20
- $ CALL UNPACK TRFREEZE.FOR;1 628895905
- $ create 'f'
- X SUBROUTINE GETCD
- X`09INCLUDE 'TREKCOM/NOLIST'
- X`09LOGICAL*2 CROP
- X`09REAL*8 AITEM
- X`09COMMON/SCANBF/KEY,AITEM
- X`09EQUIVALENCE (FNUM,AITEM)
- XC GET COURSE <DIREC> AND DISTANCE <DIST>. IF USER TYPES`20
- XC BAD VALUES, RETURN WITH <DIREC>=-1.0 .`20
- XC--------CHECK TO MAKE SURE NO ONE IS LEFT ON A PLANET.`20
- X IF(LANDED .NE. 1) GO TO 1`20
- X CALL PROUT(41H YOU CAN'T LEAVE STANDARD ORBIT UNTIL YOU ,41)`20
- X CALL CRAM(20HARE BACK ABOARD THE )
- X`09CALL CRAMSHP
- X`09CALL CRAMDMP(1H.)
- X`09GO TO 71
- X1`09IROWQ=QUADX
- X`09ICOLQ=QUADY
- X`09DELTX=0.
- X`09DELTY=0.
- X`09ITEMP=0
- X IPROMPT=0`20
- XC--------CHECK FOR MANUAL OR AUTOMATIC.`20
- X10 CALL SCAN`20
- X`09IF(KEY.EQ.IHREAL) GOTO 24`09!DEFAULT MANUAL MODE
- X IF(KEY .EQ. IHALPHA) GO TO 13`20
- X IF(DAMAGE(11) .NE. 0) GO TO 1301
- X 11 CALL MANORA`20
- X IPROMPT=1`20
- X GO TO 10
- X 13 IF (CROP(AITEM,6HMANUAL)) GO TO 20`20
- X IF (.NOT.CROP(AITEM,7HAUTOMAT)) GO TO 11`20
- XC--------AUTOMATIC MOVEMENT REQUESTED. CHECK FOR COMPUTER DAMAGE.
- X IF(DAMAGE(11).EQ.0) GO TO 14
- X 1301 CALL PROUT(41HCOMPUTER DAMAGED; MANUAL MOVEMENT ONLY. ,41)
- X GO TO 2001
- XC--------GET QUADRANT AND SECTOR.`20
- X 14 CALL SCAN`20
- X`09XI=FNUM
- X IF(KEY.NE.IHEOL) GO TO 15`20
- X 1410 CALL PROMPT(40HDESTINATION QUADRANT AND/OR SECTOR: ,40)
- X IPROMPT=1`20
- X GO TO 14
- X 15 IF (KEY .NE. IHREAL) GO TO 1410`20
- X`09IF(FNUM.EQ.-1.) GO TO 71
- X CALL SCAN`20
- X`09XJ=FNUM
- X IF(KEY.NE.IHREAL) GO TO 1410
- X CALL SCAN
- X`09XK=FNUM
- X IF (KEY .NE. IHREAL) GO TO 16`20
- X CALL SCAN
- X`09XL=FNUM
- X IF (KEY .NE. IHREAL) GO TO 1410`20
- XC--------QUADRANT AND SECTOR SPECIFIED.`20
- X`09IROWQ=XI+.5
- X`09ICOLQ=XJ+.5
- X`09IROWS=XK+.5
- X`09ICOLS=XL+.5
- X`09GO TO 30
- XC--------ONLY SECTOR SPECIFIED.`20
- X16`09IROWS=XI+.5
- X`09ICOLS=XJ+.5
- X`09ITEMP=1
- X`09GO TO 30
- XC--------MANUAL (DELTX, DELTY) MOVEMENT.
- X 20 CALL SCAN
- X IF(KEY .EQ. IHREAL) GO TO 24
- X 2001 CALL PROMPT(30HX AND Y DISPLACEMENTS: ,30)`20
- X IPROMPT=1`20
- X GO TO 20
- X24`09DELTX=FNUM
- X`09CALL SCAN
- X`09IF(DELTX.EQ.-1..AND.KEY.EQ.IHEOL) GO TO 71
- X`09IF(KEY .NE. IHREAL) GO TO 70
- X`09DELTY=FNUM
- X`09GO TO 40
- XC--------CHECK FOR INVALID INPUT FOR AUTOMATIC CASE.
- X 30 IF((IROWQ.LT.1) .OR. (IROWQ.GT.8) .OR. (ICOLQ.LT.1) .OR.
- X C(ICOLQ.GT.8) .OR. (IROWS.LT.1) .OR. (IROWS.GT.10) .OR.
- X C(ICOLS.LT.1) .OR. (ICOLS.GT.10) ) GO TO 70
- XC--------PRINT MESSAGE FROM APPROPRIATE OFFICER.
- X IF(ITEMP .EQ. 1) GO TO 31`20
- X CALL PROUT(42HENSIGN CHEKOV: "COURSE LAID IN, CAPTAIN." ,42)
- X GO TO 32
- X 31 IF(IPROMPT .NE. 1) GO TO 32`20
- X CALL CRAM(37HHELMSMAN SULU: "COURSE LOCKED IN FOR)`20
- X CALL CRAMLOC(2,IROWS,ICOLS)`20
- X CALL CRAMDMP(2H.")
- XC--------CONVERT TO DELTX, DELTY FORM.
- X 32 DELTX = ICOLQ -QUADY +0.1*(ICOLS-SECTY)`20
- X DELTY = QUADX -IROWQ + 0.1*(SECTX -IROWS)`20
- XC--------CHECK FOR A ZERO MOVEMENT.`20
- X 40 IF((DELTX .NE. 0.) .OR. (DELTY .NE. 0.)) GO TO 42`20
- X GO TO 71
- X 42 IF(IPROMPT .EQ. 0) GO TO 43`20
- X CALL PROUT(27HHELMSMAN SULU: "AYE, SIR." ,27)
- XC--------CONVERT INTO COURSE AND DISTANCE.
- X 43 DIST = SQRT(DELTX*DELTX+DELTY*DELTY)
- X DIREC = ATAN2(DELTX,DELTY)*1.90985932`20
- X IF(DIREC .LT. 0.) DIREC=12.+DIREC`20
- X RETURN
- XC--------GARBAGE IN, GARBAGE OUT
- X 70 CALL SKIP(1)
- X CALL BEGPARD
- X 71 DIREC=-1.0
- X RETURN
- X END`20
- $ CALL UNPACK TRGETCD.FOR;1 1511326570
- $ create 'f'
- X SUBROUTINE GETFN(NAME)
- XC
- XC`093-APR-79
- XC`09MODIFIED TO MAKE FROZEN GAMES WORK ON THE VAX.
- XC
- X`09INCLUDE 'TREKCOM/NOLIST'
- X`09LOGICAL*1 NAME(30),AIT(8)
- X`09REAL*8 AITEM
- X`09COMMON/SCANBF/KEY,AITEM
- X`09EQUIVALENCE (AIT,AITEM)
- XC* READ IN A LEGAL FILE NAME (FOR FREEZE AND THAW)
- XC* A NON-ALPHA ENTRY ABORTS THE ATTEMPT`20
- X40`09CALL SCAN
- X IF (KEY .EQ. IHEOL) GO TO 75
- X IF (KEY .NE. IHALPHA) GO TO 100`20
- X`09NAME(1)='S'
- X`09NAME(2)='Y'
- X`09NAME(3)='S'
- X`09NAME(4)='$'
- X`09NAME(5)='D'
- X`09NAME(6)='I'
- X`09NAME(7)='S'
- X`09NAME(8)='K'
- X`09NAME(9)=':'
- X`09DO 50 I=1,8
- X`09IF(AIT(I).EQ.0) GOTO 60
- X50`09NAME(I+9)=AIT(I)
- X`09I=9
- X60`09NAME(I+ 9)='.'
- X`09NAME(I+10)='T'
- X`09NAME(I+11)='R'
- X`09NAME(I+12)='K'
- X`09NAME(I+13)=0
- X RETURN `20
- XC*--PROMPT FOR A VALID FILE NAME`20
- X 75 CALL PROMPT(18HENTER FILE NAME: ,18)`20
- X GO TO 40
- XC*--NON-ALPHA ITEM ABORTS REQUEST...`20
- X100`09NAME(1)=0
- X RETURN
- X END`20
- $ CALL UNPACK TRGETFN.FOR;1 1912811171
- $ create 'f'
- X`09SUBROUTINE GETOUT
- XC
- XC`094-APR-79 (NEW ROUTINE)
- XC`09ERASES THE SCREEN ON A VT52 AND EXITS.
- XC
- X`09LOGICAL*1 ERASE(5)
- X`09DATA ERASE/'$',27,'H',27,'J'/
- XC
- X`09WRITE(1,1)ERASE
- X1`09FORMAT(5A1)
- X`09CALL EXIT
- X`09END
- $ CALL UNPACK TRGETOUT.FOR;1 625347793
- $ create 'f'
- X SUBROUTINE HELP`20
- XC
- XC`094-DEC-79
- XC`09SET DISTANCES CORRECTLY WHEN SHIP MATERIALIZES
- XC
- X`09INCLUDE 'TREKCOM/NOLIST'
- X`09LOGICAL*1 ISHIP
- X EQUIVALENCE (CRACKS(2),SHUTUP),(SHIP,ISHIP)
- XC--------TEST FOR CONDITIONS WHICH PREVENT CALLING FOR HELP`20
- X IF(CONDIT .NE. IHDOCKD ) GO TO 10`20
- X CALL PROUT(`20
- X + 48HLT. UHURA: "BUT CAPTAIN, WE'RE ALREADY DOCKED.",48) `20
- X RETURN
- X 10 IF(DAMAGE(9) .EQ. 0) GO TO 20`20
- X CALL PROUT(23HSUBSPACE RADIO DAMAGED.,23)
- X RETURN
- X 20 IF(REMBASE .NE. 0) GO TO 30`20
- X CALL PROUT(66HLT. UHURA: "CAPTAIN, I'M NOT GETTING ANY RESPONSE F
- V `20
- X +ROM STARBASE.",66)`20
- X RETURN
- X 30 IF(LANDED .NE. 1) GO TO 31
- X CALL CRAM(23HYOU MUST BE ABOARD THE )`20
- X`09CALL CRAMSHP
- X`09CALL CRAMDMP(1H.)
- X`09RETURN
- X 31 IF(ISCRAFT .NE. 0) GO TO 32`20
- X CALL PROUT(42HYOU MAY NOT LEAVE SHUTTLE CRAFT ON PLANET.`20
- X`091 ,42)
- X RETURN
- XC--------DETERMINE APPROXIMATE DISTANCE TO NEAREST STARBASE`20
- X 32 NHELP=NHELP+1`20
- X IF(BASEX .EQ. 0) GO TO 40`20
- X DIST=SQRT(FLOAT((BASEX-SECTX)**2 + (BASEY-SECTY)**2))`20
- X GO TO 60
- X 40 DIST=1E38
- X DO 50 L=1,REMBASE`20
- X XDIST=10.0*SQRT(FLOAT((BASEQX(L)-QUADX)**2+(BASEQY(L)-QUADY)**2))`20
- X IF(XDIST .GT. DIST) GO TO 50
- X DIST=XDIST
- X LINE=L
- X 50 CONTINUE
- XC--------IF STARBASE IS NOT IN THIS QUADRANT, SET UP NEW QUADRANT`20
- X QUADX=BASEQX(LINE)
- X QUADY=BASEQY(LINE)
- X SHUTUP=1.0
- X CALL NEWQUAD
- X SHUTUP=0.0
- XC--------DEMATERIALIZE STARSHIP`20
- X 60 QUAD(SECTX,SECTY)=IHDOT`20
- X CALL CRAM(11HSTARBASE IN)`20
- X CALL CRAMLOC(1,QUADX,QUADY)`20
- X CALL CRAM(11H RESPONDS--)`20
- X CALL CRAMSHP
- X CALL CRAMDMP(16H DEMATERIALIZES.)`20
- XC--------GIVE STARBASE THREE CHANCES TO REMATERIALIZE STARSHIP
- X PROBF=(1.0 - 0.98**DIST)**0.3333333333
- X DO 80 L=1,3`20
- X IF(L .EQ. 1) CALL CRAM(4H1ST )
- X IF(L .EQ. 2) CALL CRAM(4H2ND )
- X IF(L .EQ. 3) CALL CRAM(4H3RD )
- X CALL CRAM(26HATTEMPT TO RE-MATERIALIZE )
- X CALL CRAMSHP
- X CALL CRAM(11H . . . . . )`20
- X IF(RANF(0) .GT. PROBF) GO TO 90`20
- X 70 CALL CRAMDMP(6HFAILS.)
- X 80 CONTINUE
- XC--------ONE, TWO, THREE STRIKES YOU'RE OUT `20
- X CALL FINISH(11)`20
- X RETURN
- XC--------REMATERIALIZATION ATTEMPT SHOULD SUCCEED, IF CAN GET ADJ TO BASE`20
- X 90 DO 100 LL=1,5`20
- X IX=BASEX+IFIX(3.0*RANF(0))-1
- X IF(IX.EQ.0 .OR. IX.EQ.11) GO TO 100`20
- X IY=BASEY+IFIX(3.0*RANF(0))-1
- X IF(IY.EQ.0 .OR. IY.EQ.11) GO TO 100`20
- X IF(QUAD(IX,IY) .EQ. IHDOT) GO TO 110
- X 100 CONTINUE
- X GO TO 70
- XC--------ATTEMPT HAS SUCCEEDED--FINISH UP`20
- X 110 CALL CRAMDMP(9HSUCCEEDS.)`20
- X SECTX=IX
- X SECTY=IY
- X QUAD(IX,IY)=ISHIP
- X`09CALL RESETD
- X`09CALL SORTKL
- X CALL DOCK`20
- X CALL SKIP(1)
- X CALL PROUT(34HLT. UHURA: "CAPTAIN, WE MADE IT!",34)`20
- X RETURN
- X END`20
- $ CALL UNPACK TRHELP.FOR;1 994253116
- $ create 'f'
- X SUBROUTINE HITEM(HITS)
- X`09INCLUDE 'TREKCOM/NOLIST'
- X`09LOGICAL*1 IENM
- X`09DIMENSION HITS(20)
- X`09REAL KP
- X DATA PHASFAC/2.0/`20
- X CALL SKIP(1)
- X NENHER2=NENHERE`20
- X KK=1
- X DO 40 K=1,NENHER2`20
- X WHAM=HITS(K)
- X IF(WHAM .EQ. 0) GO TO 30
- X DUSTFAC=0.90+0.01*RANF(0)`20
- X HIT=WHAM*DUSTFAC**KDIST(KK)`20
- X KP=KPOWER(KK)`20
- X KPOWER(KK)=KP-SIGN(AMIN1(ABS(KP),PHASFAC*HIT),KP)`20
- X KPOW=KPOWER(KK)`20
- X II=KX(KK)`20
- X JJ=KY(KK)`20
- X IF(HIT .GT. .005)GO TO 10`20
- X CALL CRAM(18HVERY SMALL HIT ON )
- X GO TO 20
- X10 CALL CRAMF(HIT,0,2)`20
- X CALL CRAM(13H UNIT HIT ON )`20
- X20 IENM=QUAD(II,JJ)
- X CALL CRAMENA(IENM,2,II,JJ)
- X CALL CREND
- X IF(KPOW .NE. 0) GO TO 25
- X CALL DEADKL(II,JJ,IENM,II,JJ)`20
- X IF(REMKL .EQ. 0)CALL FINISH(1)
- X IF(ALLDONE.NE.0) RETURN`20
- X GO TO 40
- XC--------- DECIDE WHETHER OR NOT TO EMASCULATE KLINGON.`20
- X 25 IF(KPOW .LT. 0) GO TO 30
- X IF(RANF(0.) .LT. .90)GO TO 30`20
- X IF(KPOW .GT. ((.40 + .4*RANF(0.))*KP))GO TO 30
- X CALL CRAM(38H***MR. SPOCK: "CAPTAIN, THE VESSEL AT)
- X CALL CRAMLOC(2,II,JJ)`20
- X CALL CREND
- X CALL PROUT(32H HAS JUST LOST ITS FIREPOWER.",32)`20
- X KPOWER(KK)=-KPOW
- X30 KK=KK+1`20
- X40 CONTINUE
- X RETURN
- X END`20
- $ CALL UNPACK TRHITEM.FOR;1 1180327649
- $ create 'f'
- X SUBROUTINE IMPULSE
- X`09INCLUDE 'TREKCOM/NOLIST'
- X IDIDIT=0
- X IF(DAMAGE(7).NE.0) GO TO 40`20
- XC--------READ IN COURSE AND DISTANCE
- +-+-+-+-+-+-+-+- END OF PART 9 +-+-+-+-+-+-+-+-
-