SUBROUTINE WAIT 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 LOGICAL*1 IHS,IHR,IHC,IHK,IHE,IHF,IHBLANK,IHDOT,IHP,IHB 1 ,IHSTAR,IHT,IHQUEST,IHNUM COMMON/HOLLER/IHEOL,IHREAL,IHALPHA,IHS,IHR,IHC,IHK,IHGREEN,IHRED, +IHYELLO,IHDOCKD,IHE,IHF,IHBLANK,IHDOT,IHQUEST,IHP,IHSTAR,IHB +,IHT,IHNUM REAL*8 AITEM COMMON/SCANBF/KEY,AITEM EQUIVALENCE(AITEM,FNUM) C--------DO COMMAND SCANNING IDIDIT=0 10 CALL SCAN ANUM=FNUM !SAVE SCAN BUFFER IF(KEY .NE. IHEOL) GO TO 20 CALL PROMPT(10HHOW LONG? ,10) GO TO 10 20 IF(KEY .NE. IHREAL) GO TO 60 IF(ANUM .LE. 0.) RETURN IF(ANUM.LT.REMTIME .AND.NENHERE.EQ.0) GO TO 30 CALL PROMPT(13HARE YOU SURE?,13) IF(JA(DUMMY) .EQ. 0) RETURN C--------ALTERNATE REST PERIODS (EVENTS) WITH ATTACKS 30 RESTING=1 AITEM2=ANUM 40 IF(ANUM .LE. 0.) RESTING=0 IF(RESTING .EQ. 0) GO TO 50 TEMP=ANUM IF(NENHERE.NE. 0) TEMP=AMIN1(ANUM,1.0+RANF(0)) TIME=TEMP IF(TIME .LT. ANUM) CALL ATTACK IF(NENHERE.EQ.0) CALL MOVETHO IF(ALLDONE.NE.0) RETURN CALL EVENTS IDIDIT=1 IF(ALLDONE.NE.0) RETURN ANUM=ANUM-TEMP IF(GALAXY(QUADX,QUADY) .NE. 1000) GO TO 40 RESTING=0 TIME=0 GOTO 55 50 CALL CRAMF(REMTIME,0,2) CALL CRAMDMP(16H STARDATES LEFT.) 55 IF(CONDIT.NE.IHDOCKD) RETURN IF((AITEM2-ANUM).GE.9.99) DAMAGE(14)=0 C*--------HANDLE SPECIAL CASE OF DEATHRAY REPAIRS. RETURN 60 CALL BEGPARD RETURN END