SUBROUTINE SUCCES 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,ISHIP COMMON/HOLLER/IHEOL,IHREAL,IHALPHA,IHS,IHR,IHC,IHK,IHGREEN,IHRED, +IHYELLO,IHDOCKD,IHE,IHF,IHBLANK,IHDOT,IHQUEST,IHP,IHSTAR,IHB +,IHT,IHNUM EQUIVALENCE (SHIP,ISHIP) IF(NROMREM.EQ.0) GO TO 105 CALL CRAM(14HTHE REMAINING ) CALL CRAMI(NROMREM,0) CALL CRAMDMP(41H ROMULANS SURRENDER TO STARFLEET COMMAND.) CALL SKIP(1) 105 CALL PROUT( + 53HYOU HAVE SMASHED THE KLINGON INVASION FLEET AND SAVED,53) CALL PROUT(15HTHE FEDERATION.,15) GAMEWON=1 IF(ALIVE.EQ.0 .OR. BASEKL.NE.0 .OR. ISHIP.NE.IHE) RETURN IF(5*STARKL+CASUAL+10*NPLANKL+45*NHELP .GE. 100) RETURN IF(DATE-INDATE .LT. 5.0) GO TO 110 RATEMAX=0.1*SKILL*(SKILL+1.0) + 0.1 PERDATE=(KILLK+KILLC+NSCKILL)/(DATE-INDATE) IF(PERDATE .LT. RATEMAX) RETURN 110 CALL SKIP(1) CALL PROUT( + 53HIN FACT, YOU HAVE DONE SO WELL THAT STARFLEET COMMAND,53) IF(SKILL .EQ. 4) GO TO 120 IF(SKILL .EQ. 5) GO TO 125 CALL CRAM(31HPROMOTES YOU ONE STEP IN RANK, ) IF(SKILL .EQ. 1) CALL CRAMDMP(24HFROM "NOVICE" TO "FAIR".) IF(SKILL .EQ. 2) CALL CRAMDMP(22HFROM "FAIR" TO "GOOD".) IF(SKILL .EQ. 3) CALL CRAMDMP(24HFROM "GOOD" TO "EXPERT".) CALL PROUT(16HCONGRATULATIONS!,16) RETURN 120 CALL PROUT(35HPROMOTES YOU TO COMMODORE EMERITUS.,35) CALL SKIP(1) CALL PROUT(38HNOW THAT YOU THINK YOU'RE REALLY GOOD, ,38) CALL PROUT(32HTRY PLAYING THE "EMERITUS" GAME. ,32) CALL PROUT(26HIT WILL SPLATTER YOUR EGO.,26) GO TO 129 125 CALL SKIP(1) CALL PROUT(35HCOMPUTER: ERROR-ERROR-ERROR-ERROR ,35) CALL SKIP(1) CALL PROUT(54H YOUR-SKILL-HAS-EXCEEDED-THE-CAPACITY-OF-THIS-PROGR CAM ,54) DO 126 K=1,3 126 CALL PROUT(27H THIS-PROGRAM-MUST-SURVIVE,27) CALL PROUT(41H THIS-PROGRAM-MUST- MUST - SUR - VI ,41) CALL SKIP(1) CALL PROUT( + 53HNOW YOU CAN RETIRE AND WRITE YOUR OWN STAR TREK GAME.,53) 129 ICITE=1 RETURN END