home *** CD-ROM | disk | FTP | other *** search
/ Fatal Distractions! / fataldistractions.bin / chap01 / adventur / maint.for < prev    next >
Text File  |  1990-11-23  |  2KB  |  69 lines

  1.       SUBROUTINE MAINT
  2.       
  3. C  SOMEONE SAID THE MAGIC WORD TO INVOKE MAINTENANCE MODE.  MAKE SURE HE'S A
  4. C  WIZARD.  IF SO, LET HIM TWEAK ALL SORTS OF RANDOM THINGS, THEN EXIT SO CAN
  5. C  SAVE TWEAKED VERSION.  SINCE MAGIC WORD MUST BE FIRST COMMAND GIVEN, ONLY
  6. C  THING WHICH NEEDS TO BE FIXED UP IS ABB(1).
  7.  
  8.       IMPLICIT INTEGER*4 (A-Z)
  9. C     INTEGER*2 ABB
  10.       LOGICAL YESM,BLKLIN,WIZ
  11.       LOGICAL WIZARD
  12.       DIMENSION HNAME(4),ABB(150)
  13.       COMMON /BLKCOM/ BLKLIN
  14.       COMMON /ABBCOM/ ABB
  15.       COMMON /WIZCOM/ WKDAY,WKEND,HOLID,HBEGIN,HEND,HNAME,
  16.      1        SHORT,MAGIC,MAGNM,LATNCY,SAVED,SAVET,SETUP,WIZ
  17.      
  18.       IF(WIZ) GOTO 100
  19.       IF(.NOT.WIZARD(0)) RETURN
  20.   100 BLKLIN=.FALSE.
  21.       IF(YESM(10,0,0)) CALL HOURS
  22.       IF(YESM(11,0,0)) CALL NEWHRS
  23.       IF(.NOT.YESM(26,0,0)) GOTO 10
  24.       CALL MSPEAK(27)
  25.       READ(*,*) HBEGIN
  26.       CALL MSPEAK(28)
  27.       READ(*,*) HEND
  28.       CALL DATIME(D,T)
  29.       HBEGIN=HBEGIN+D
  30.       HEND=HBEGIN+HEND-1
  31.       CALL MSPEAK(29)
  32.       READ(*,2) HNAME
  33.     2 FORMAT(4A4)
  34.    10 WRITE(*,11) SHORT
  35.    11 FORMAT(' LENGTH OF SHORT GAME (ZERO TO LEAVE AT',I3,'):')
  36.       READ(*,*,ERR=12) X
  37.       GOTO 13
  38.    12 X=0
  39.    13 IF(X.GT.0) SHORT=X
  40.       X='    '
  41.       CALL MSPEAK(12)
  42.       CALL GETIN(X,Y,Y,Y)
  43.       IF(X.NE.'NULL') MAGIC=X
  44.       CALL MSPEAK(13)
  45.       READ(*,*,ERR=14) X
  46.       GOTO 15
  47.    14 X=0
  48.    15 IF(X.GT.0) MAGNM=X
  49.       WRITE(*,16) LATNCY
  50.    16 FORMAT(' LATENCY FOR RESTART (ZERO TO LEAVE AT',I3,'):')
  51.       READ(*,*,ERR=17)X
  52.       GOTO 18
  53.    17 X=0
  54.    18 IF(X.GT.0.AND.X.LT.45) CALL MSPEAK(30)
  55.       IF(X.GT.0) LATNCY=MAX0(45,X)
  56.       IF(YESM(14,0,0)) CALL MOTD(.TRUE.)
  57.       SAVED=0
  58.       SETUP=2
  59.       ABB(1)=0
  60.       OPEN(UNIT=3,FILE='ADVMAGIC.DAT',STATUS='UNKNOWN',
  61.      1     FORM='UNFORMATTED')
  62.       WRITE(3) WKDAY,WKEND,HOLID,HBEGIN,HEND,HNAME,SHORT,MAGIC,
  63.      1         MAGNM,LATNCY
  64.       CLOSE(UNIT=3)
  65.       CALL MSPEAK(15)
  66.       BLKLIN=.TRUE.
  67.       CALL CIAO
  68.       END
  69.