home *** CD-ROM | disk | FTP | other *** search
/ The Datafile PD-CD 4 / DATAFILE_PDCD4.iso / games2 / trellis / !Crystal / DataFiles / Script < prev    next >
Text File  |  1995-10-22  |  12KB  |  288 lines

  1. The Purple Crystal of the Heavens
  2. Archimedes Version
  3. (c)1991/5 Soft Rock Software
  4.  
  5. REM *********** section 1: initialisation **********
  6.  
  7. LET Store%(0)=0
  8. LET Store%(1)=100
  9. LET Store%(3)=9
  10. LET Store%(21)=0
  11. LET Store%(22)=-1
  12. LET Store%(23)=0
  13. LET Store%(24)=0
  14. LET Store%(25)=0
  15.  
  16. REM *********** section 2: describe location *******
  17.  
  18. :movement_loop
  19. CLS
  20. LOOK
  21.  
  22. REM *********** section 3: Conditions 1 ************
  23.  
  24. IF Store%(3)>=78 OR Store%(3)=17 THEN GOTO player_dead
  25.  
  26. IF Store%(3)=44 AND Store%(0)=1 THEN
  27.  LET Store%(0)=0
  28.  LET Location%(9)=-1
  29.  PRINT"The serpent's eye suddenly turns to dust and disperses when a sudden gust of wind blows through the cave."
  30. END IF
  31.  
  32. IF Store%(3)=45 AND Location%(9)=0 AND Store%(0)=0 THEN
  33.  LET Store%(0)=1
  34.  PRINT"The serpent's eye that you have been carrying suddenly begins to glow, providing enough light for you to see by in the cave."
  35. END IF
  36.  
  37. IF Store%(3)=5 AND Store%(21)=0 THEN
  38.  PRINT " A giant eagle swoops down and attacks you. It's claws are sharp, and the bird grabs at your head with them."
  39.  LET Store%(21)=1
  40. END IF
  41.  
  42. IF (Moved%) AND (Store%(3)=57 OR Store%(3)=58) THEN
  43.  PRINT " The passage through which you just came suddenly collapses, filling the air with dust and blocking your exit in that direction."
  44.  LET Room$(Store%(3))="You are in a small cavern. The passage you came through, to the East, is blocked and there is no other visible means of escape."
  45.  LET Room$(Store%(3))=Room$(Store%(3))+" Water drips from a point somewhere above you, forming a pool at your feet. Given time, this will fill the cavern."
  46.  LET Store%(24)=0
  47.  LET West%(Store%(3)-4)=0
  48. END IF
  49.  
  50. REM *********** section 4: Player Input ************
  51.  
  52. :input_loop
  53.  
  54. IF (Store%(24)=6) AND (Store%(3)=57 OR Store%(3)=58) THEN
  55.  PRINT"The area around the roof of the cave where the water is leaking in is weak. It crumbles away, and the water starts to come in more rapidly. As it does so, the rock gives way a little more, and the water comes in faster still."'
  56.  LET Room$(Store%(3))="You are in a small cavern, from which there is no other visible means of escape."
  57.  LET Room$(Store%(3))=Room$(Store%(3))+" Water pours in through a gaping hole above you, forming a pool in which you now stand. It won't be long before this fills the cavern."
  58. END IF
  59.  
  60. IF (Store%(24)=8) AND (Store%(3)=57 OR Store%(3)=58) THEN
  61.  PRINT"The area around the roof of the cave where the water is coming in collapses still further, and the water starts to pour in much more rapidly. The rock gives way a little more, and the water comes in faster still."'
  62.  LET Room$(Store%(3))="You are in a small cavern, from which there is no other visible means of escape."
  63.  LET Room$(Store%(3))=Room$(Store%(3))+" Water pours rapidly in through a gaping hole above you, forming a pool in which you now float. The cavern will very soon be filled."
  64. END IF
  65.  
  66. PRINT'
  67. INPUT
  68. IF FNSaid("QUIT") THEN
  69.  QUIT
  70.  GOTO input_loop
  71. END IF
  72.  
  73. REM *********** section 5: Conditions 2 ************
  74.  
  75. IF Store%(3)=58 OR Store%(3)=57 THEN LET Store%(24)=Store%(24)+1
  76.  
  77.  
  78.  
  79.  
  80. IF (Store%(24)=10) AND (Store%(3)=57) THEN
  81.  PRINT"The water becomes too deep. There is no space above the surface for you to be able to hold your head up in order to breathe. You drown..."'
  82.  GOTO player_dead
  83. END IF
  84.  
  85. IF (Store%(24)=10) AND (Store%(3)=58) THEN
  86.  PRINT"The weight of the water causes the floor below you to collapse, and you fall through into another, smaller, cave that was previously below you. The water continues to pour through and runs down the slope rapidly, deeper into the "
  87.  PRINT"cave system."
  88.  LET Store%(3)=73
  89.  GOTO input_loop
  90. END IF
  91.  
  92. IF (Store%(3)=5 AND Store%(21)=1) THEN
  93.  IF (NOT FNSaid("FIGHT")) AND (NOT FNSaid("EAGLE")) THEN GOTO player_dead
  94.  IF Location%(3)<>0 THEN GOTO player_dead
  95.  PRINT"Using your cutlass you are able to injure the bird. Defeated, it flies off to the South."
  96.  LET Store%(21)=2
  97.  GOTO input_loop
  98. END IF           
  99.  
  100. REM ********** Section 6: Act on Input ********
  101.  
  102. IF FNSaid("NORTH") OR FNSaid("EAST") THEN GOTO do_command
  103. IF FNSaid("SOUTH") OR FNSaid("WEST") THEN GOTO do_command
  104. IF FNSaid("DOWN") OR FNSaid("INV") THEN GOTO do_command
  105. IF FNSaid("HELP") THEN GOTO help
  106.  
  107. IF FNSaid("WAIT") THEN
  108.  PRINT"Okay."'
  109.  GOTO input_loop
  110. END IF
  111.  
  112. IF FNSaid("LIGHT") AND FNSaid("WOODPILE") AND Store%(3)=9 THEN
  113.  IF Location%(4)<>0 THEN GOTO you_cant
  114.  PRINT"Using the flint, you are able to ignite the woodpile and start a signal fire. After a short while, you can see a small rowing boat approaching the shore from the direction of your ship. There are four men on board. "
  115.  PRINT"They soon reach the shore, and approach you. One of the men is the captain."'
  116.  IF Location%(8)<>0 THEN GOTO player_dead
  117.  PRINT"His face lights up with joy when he sees that you are carrying the Purple Crystal of the Heavens...."''''"Congratulations, you have completed the game!"'''
  118.  RESTART
  119. END IF
  120.  
  121.  
  122.  
  123. IF (FNSaid("PUSH") AND FNSaid("BOULDER")) AND Store%(25)=0 THEN
  124.  IF Store%(3)<>76 THEN GOTO you_cant
  125.  PRINT"You push the boulder with all your strength, and eventually an passage South is revealed."
  126.  LET Store%(25)=1
  127.  LET South%(76)=45
  128.  LET North%(45)=76
  129.  LET Examine$(11)="The boulder is pressed up against the South wall of the cave"
  130. END IF
  131.  
  132. IF (FNSaid("PUSH") AND FNSaid("BOULDER")) AND Store%(25)=1 THEN
  133.  IF Store%(3)<>76 THEN GOTO you_cant
  134.  PRINT"You push the boulder with all your strength, and eventually manage to block the passage South, since that is the only way the boulder can move."
  135.  LET Store%(25)=0
  136.  LET South%(76)=0
  137.  LET North%(45)=0
  138.  LET Examine$(11)="The boulder is pressed up against the South wall of the cave, and appears to be blocking a potential exit."
  139. END IF
  140.  
  141.  
  142. IF FNSaid("UP") AND Store%(3)=63 THEN
  143.  PRINT"The side of the cave is a very smooth rock face - too smooth to climb."
  144.  GOTO input_loop
  145. END IF
  146. IF FNSaid("UP") THEN GOTO do_command
  147.  
  148. IF FNSaid("OPEN") AND FNSaid("CHEST") THEN
  149.  IF Store%(23)=1 THEN GOTO you_cant
  150.  PRINT"As you open the chest the lid, which is rotten, falls apart in your hands. Inside you see a flint, a cutlass and a map."
  151.  LET List$(1)="an open chest"
  152.  LET Examine$(1)=Examine$(1)+" There is no lid, as this appears to have fallen apart."
  153.  LET Location%(3)=Store%(3)
  154.  LET Location%(4)=Store%(3)
  155.  LET Location%(5)=Store%(3)
  156.  LET Store%(23)=1
  157.  GOTO input_loop
  158. END IF
  159.  
  160. IF FNSaid("GET") AND FNSaid("WOODPILE") AND Location%(2)=Store%(3) THEN GOTO you_cant
  161.  
  162. IF FNSaid("SWIM") THEN
  163.  LET Store%(3)=78
  164.  GOTO movement_loop
  165. END IF
  166.  
  167. IF Store%(3)=9 AND FNSaid("READ") AND (FNSaid("PLATE") OR FNSaid("CHEST") OR FNSaid("WRIT")) THEN
  168.  PRINT "The plate on the chest's side reads 'The Stormy Sea'"
  169.  GOTO input_loop
  170. END IF
  171.  
  172. IF (FNSaid("READ") OR FNSaid("EXAMINE")) AND FNSaid("MAP") AND (Location%(5)=0 OR Location%(5)=Store%(3)) THEN
  173.  EXAMINE MAP
  174.  LET Location%(5)=-1
  175.  PRINT "A sudden gust of strong wind takes the map and you watch helplessly as it flies into the distance. The wind almost seems to whisper to you, seemingly saying 'Leave.'"
  176.  GOTO input_loop
  177. END IF
  178.  
  179. IF FNSaid("GET") AND FNSaid("EGG") AND Location%(6)=Store%(3) THEN
  180.  PRINT"As you lift the egg, it starts to crumble. The shell is old and weak. It crumbles further and soon becomes nothing more than dust, which the wind disperses."
  181.  LET Location%(6)=-1
  182.  GOTO input_loop
  183. END IF          
  184.  
  185. IF FNSaid("EXAMINE") AND FNSaid("EGG") AND Location%(6)=Store%(3) THEN
  186.  EXAMINE EGG
  187.  LET Location%(6)=-1
  188.  GOTO input_loop
  189. END IF
  190.  
  191. IF Store%(3)<>40 THEN GOTO not_with_serpent
  192.  IF FNSaid("LOOK") AND Store%(22)=-1 THEN
  193.   PRINT'"You move around, trying to see what lies between and behind the rocks. As you round the largest rock, a huge serpent stands to it's full height and hisses at you."'
  194.   LET Store%(22)=0
  195.   LET Location%(10)=40
  196.   GOTO input_loop
  197.  END IF
  198.  
  199.  IF FNSaid("DROP") AND FNSaid("APPLE") AND FNSaid("SERPENT") AND Location%(7)=0 AND Store%(22)=0 THEN
  200.   PRINT'"The fruit lands near the serpent, who looks at it suspiciously."'"After a moment, the creature picks it up and eats it."''"Soon after this, the creature starts to stagger about, seemingly weakened - the fruit must have been poisonous."'
  201.   LET Store%(22)=1
  202.   LET Location%(7)=-1
  203.   GOTO input_loop 
  204.  END IF          
  205.  
  206.  IF FNSaid("FIGHT") AND FNSaid("SERPENT") AND Store%(22)=1 AND Location%(3)=0 THEN