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

  1.       SUBROUTINE HELPME
  2. C
  3.       INCLUDE 'ADVCOM.COM'
  4.       INCLUDE 'NEWCOM.COM'
  5.       INCLUDE 'FUNCT.H'
  6.       
  7. C
  8. C  CHECK IF THIS LOC IS ELIGIBLE FOR ANY HINTS.  IF BEEN HERE LONG ENOUGH,
  9. C  BRANCH TO HELP SECTION (ON LATER PAGE).  HINTS ALL COME BACK HERE EVENTUALLY
  10. C  TO FINISH THE LOOP.  IGNORE "HINTS" < 4 (SPECIAL STUFF, SEE DATABASE NOTES).
  11.  
  12.  2600 DO 2602 HINT=4,HNTMAX
  13.       IF(HINTED(HINT)) GOTO 2602
  14.       IF(.NOT.BITSET(LOC,HINT)) HINTLC(HINT)=-1
  15.       HINTLC(HINT)=HINTLC(HINT)+1
  16.       IF(HINTLC(HINT).LT.HINTS(HINT,1)) GOTO 2602
  17.       
  18. C  HINTS
  19. C
  20. C  COME HERE IF HE'S BEEN LONG ENOUGH AT REQUIRED LOC(S) FOR SOME UNUSED HINT.
  21. C  HINT NUMBER IS IN VARIABLE "HINT".  BRANCH TO QUICK TEST FOR ADDITIONAL
  22. C  CONDITIONS, THEN COME BACK TO NEAT STUFF.  GOTO 40010 IF CONDITIONS ARE
  23. C  MET AND WE WANT TO OFFER THE HINT.  GOTO 40020 TO CLEAR HINTLC BACK TO ZERO,
  24. C  40030 TO TAKE NO ACTION YET.
  25.  
  26. 40000 GOTO(40400,40500,40600,40700,40800,40900) (HINT-3)
  27. C           CAVE  BIRD SNAKE  MAZE  DARK  WITT
  28.       CALL BUG(27)
  29.       
  30. 40010 HINTLC(HINT)=0
  31.       IF(.NOT.YES(HINTS(HINT,3),0,54)) GOTO 2602
  32.       WRITE(*,40012) HINTS(HINT,2)
  33. 40012 FORMAT(/' I AM PREPARED TO GIVE YOU A HINT, BUT IT WILL COST YOU',
  34.      1        I2,' POINTS.')
  35.       HINTED(HINT)=YES(175,HINTS(HINT,4),54)
  36.       IF(HINTED(HINT).AND.LIMIT.GT.30) LIMIT=LIMIT+30*HINTS(HINT,2)
  37. 40020 HINTLC(HINT)=0
  38. 40030 GOTO 2602
  39.  
  40. C  NOW FOR THE QUICK TEST.  SEE DATABASE DESCRIPTION FOR ONE-LINE NOTES.
  41.  
  42. 40400 IF(PROP(GRATE).EQ.0.AND..NOT.HERE(KEYS)) GOTO 40010
  43.       GOTO 40020
  44.       
  45. 40500 IF(HERE(BIRD).AND.TOTING(ROD).AND.OBJ.EQ.BIRD) GOTO 40010
  46.       GOTO 40030
  47.       
  48. 40600 IF(HERE(SNAKE).AND..NOT.HERE(BIRD)) GOTO 40010
  49.       GOTO 40020
  50.       
  51. 40700 IF(ATLOC(LOC).EQ.0.AND.ATLOC(OLDLOC).EQ.0
  52.      1   .AND.ATLOC(OLDLC2).EQ.0.AND.HOLDNG.GT.1) GOTO 40010
  53.       GOTO 40020
  54.       
  55. 40800 IF(PROP(EMRALD).NE.-1.AND.PROP(PYRAM).EQ.-1) GOTO 40010
  56.       GOTO 40020
  57.       
  58. 40900 GOTO 40010
  59.  
  60.  2602 CONTINUE
  61.       RETURN
  62.       END
  63.