SUBROUTINE AUTOVER C*BEGIN COMMON COMMON SNAP,SNAPSHT(226), + 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,ICRYSTL,NPLANKL, + QUAD(10,10),KX(20),KY(20),KPOWER(20),KDIST(20),KSTUF(20), + 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),FUTURE(10), + DEVICE(2,14),IDIDIT,GAMEWON,ALIVE,JUSTIN,RESTING,ALLDONE, + DAMFAC,SHLDCHG,THINGX,THINGY,NDEVICE,PLNETX,PLNETY,INORBIT, + LANDED,IPLANET,IMINE,INPLAN,NENHERE,ISHERE,NEUTZ,IRHERE,ICRAFT, + IENTESC,ISCRAFT,ISATB,ISCATE,CRYPROB,ICITE,IPHWHO,BATX,BATY, + CRACKS(12) INTEGER CF,CI,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 II=16 IGRAB=0 GO TO 5 C* ENTRY GRAB C* IGRAB=1 II=14 C--------CHECK TO SEE IF CAPTAIN ON A PLANET 5 IF(LANDED .NE. 1) GO TO 45 IF(DAMAGE(12) .GT. 0) GO TO 25 CALL PROUT(42HSCOTTY RUSHES TO THE TRANSPORTER CONTROLS.,42) IF(SHLDUP .EQ. 0) GO TO 20 CALL PROUT(38HBUT WITH THE SHIELDS UP IT'S HOPELESS.,8) GO TO 25 20 CALL CRAM(42HHIS DESPERATE ATTEMPT TO RESCUE YOU . . . ) IF(RANF(0) .GT. 0.5) GO TO 30 CALL CRAMDMP(6HFAILS. ) 25 CALL FINISH(II) RETURN 30 CALL CRAMDMP(9HSUCCEEDS!) IF(IMINE .EQ. 0) GO TO 45 IMINE=0 CALL CRAM(24HTHE CRYSTALS MINED WERE ) IF(RANF(0) .GT. 0.25) GO TO 40 CALL CRAMDMP(5HLOST.) GO TO 45 40 CALL CRAMDMP(6HSAVED.) ICRYSTL=1 45 IF(IGRAB.NE.0) RETURN C--------CHECK TO SEE IF CAPTAIN IN SHUTTLE CRAFT IF(ICRAFT.NE.0) CALL FINISH(17) IF(ALLDONE.NE.0) RETURN C--------INFORM CAPTAIN OF ATTEMPT TO REACH SAFETY CALL SKIP(1) IF(JUSTIN .EQ. 0) GO TO 50 47 CALL REDALRT CALL CRAM(7H***THE ) CALL CRAMSHP CALL CRAMDMP(37H HAS STOPPED IN A QUADRANT CONTAINING) CALL PROUT(15H A SUPERNOVA.,2) CALL SKIP(1) 50 CALL CRAM(49H***EMERGENCY AUTOMATIC OVERRIDE ATTEMPTS TO HURL ) CALL CRAMSHP CALL CREND CALL PROUT(23HSAFELY OUT OF QUADRANT.,23) STARCH(QUADX,QUADY)=1 C--------TRY TO USE WARP ENGINES IF(DAMAGE(6) .EQ. 0) GO TO 100 CALL SKIP(1) CALL PROUT(21HWARP ENGINES DAMAGED.,21) CALL FINISH(8) RETURN 100 WARPFAC=6.0+2.0*RANF(0) WFACSQ=WARPFAC*WARPFAC CALL CRAM(19HWARP FACTOR SET TO ) CALL CRAMF(WARPFAC,0,1) CALL CREND POWER=0.75*ENERGY DISTMAX=POWER/(WARPFAC*WARPFAC*WARPFAC*(SHLDUP+1)) DISTREQ=1.4142+2.0*RANF(0) DIST=AMIN1(DISTMAX,DISTREQ) TIME=10.0*DIST/WFACSQ DIREC=12.0*RANF(0) JUSTIN=0 INORBIT=0 CALL WARPX IF(ALLDONE.NE.0) RETURN IF(JUSTIN.NE.0) GO TO 200 CALL SKIP(1) CALL PROUT(38HINSUFFICIENT ENERGY TO LEAVE QUADRANT.,38) CALL FINISH(8) RETURN C--------REPEAT OVERRIDE IF SHIP JUMPED FROM ONE SUPERNOVA TO ANOTHER 200 IF(GALAXY(QUADX,QUADY) .EQ. 1000) GO TO 47 IF(REMKL .EQ. 0) CALL FINISH(1) RETURN END