home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 17 / amigaformatcd17.iso / -screenplay- / shareware / graal / graal.main < prev    next >
Text File  |  1997-06-29  |  24KB  |  743 lines

  1. /*
  2. /* This is the graal.main script file for Olaf Longhair, 
  3. /* the first ever GRAAL Graphic Adventure. Heavily annotated.
  4. /*
  5. /* If there's a statement or command that you wish to know more
  6. /* about, just put the cursor over the statement or command name and
  7. /* press the HELP key. (This requires the GRAAL.guide file to be
  8. /* in the same directory as the script file and the editor...)
  9. /*
  10.  
  11.  
  12. /* ===================================================================== */
  13. /*                                                                       */
  14. /*     General adventure and player interface set-up comes first...      */
  15. /*                                                                       */
  16. /* ===================================================================== */
  17.  
  18. /* DEBUG:
  19. /*
  20. /*   Ensures the monitor and trace facilities are available even if
  21. /*   the game should happen to be encrypted... Use when testing only!!!
  22. /*
  23. DEBUG:
  24.  
  25. /* NAME: string
  26. /*
  27. /*   The name of the adventure
  28. /*
  29. NAME: "Olaf Longhair Goes East"
  30.  
  31. /* VERSION: string
  32. /*
  33. /*   The version number of the adventure
  34. /*
  35. VERSION: Demo 2.2
  36.  
  37. /* START_ROOM: roomnumber;entrance
  38. /*
  39. /*   This is the room where the whole adventure starts
  40. /*
  41. START_ROOM: 18;1
  42.  
  43. /* MAX_CACHE: number of files
  44. /*
  45. /*   This number is the maximum number of files to be
  46. /*   buffered in RAM: of machines with memory to spare.
  47. /*
  48. /*   A good practice is to set to 0 during development
  49. /*   and to 100 when playing (or testing without altering
  50. /*   too much in the files).
  51. /*
  52. /*   Normally, the true number of cached files are
  53. /*   calculated according to the available memory - if
  54. /*   you have put together a weird game where your
  55. /*   files average more then 50K, you may want to lower
  56. /*   the cache to just a few files - say 10 or 20. Normally, 
  57. /*   100 should be just fine, though.
  58. /*
  59. MAX_CACHE: 100
  60.  
  61. /* NTSC_TIMING: YES|NO
  62. /*
  63. /*   Makes most pauses equally long when the game runs under NTSC as
  64. /*   opposed to PAL. All developers making games to run under both
  65. /*   systems should set this to YES. Also, tracker modules should be
  66. /*   timed with BPM timing. (Note: animations are NOT affected by this
  67. /*   statement: They will still run 20% faster under NTSC.
  68. /*
  69. NTSC_TIMING: YES
  70.  
  71. /* WALK_BUTTON: LEFT or RIGHT
  72. /*
  73. /*   This is the button used for "walking about"
  74. /*
  75. WALK_BUTTON: LEFT
  76.  
  77. /* Disable save and quit keyboard keys - always go via room 40
  78. /* DISABLE_SAVE:
  79. /* DISABLE_QUIT:
  80.  
  81. /* SYSTEM_TEXT:
  82. /*
  83. /*   Alters system text in requesters etc. The text in message 0 is displayed
  84. /*   when the player presses the [Help] key.
  85. /*
  86. SYSTEM_TEXT: 0;"Keypad [1]-[9] = commands.    \Keypad [0] = save/load screen.\Right mouse button = default command for object.\[M] toggles sound on/off.  [.] ends a pause.\[I]/[D] alters sentence speed.\[Esc] skips cutscene."
  87.  
  88. /* EXIT_COL: colour
  89. /*
  90. /*   The colour of the text marking the exits
  91. /*
  92. EXIT_COL: 8
  93.  
  94. /* OBJ_COL: colour
  95. /*
  96. /*   The colour of the text marking the objects
  97. /*
  98. OBJ_COL: 1
  99.  
  100. /* MAX_ROOM: rooms
  101. /*
  102. /*   The highest room number used. Don't forget to alter this
  103. /*   when higher numbered rooms are added to the game!!
  104. /*
  105. MAX_ROOM: 50
  106.  
  107. /* MAX_SECTION: sections
  108. /*
  109. /*   The highest section number used. Don't forget to alter this
  110. /*   as sections are added to the game!
  111. /*
  112. MAX_SECTION: 6
  113.  
  114. /* MAX_DACT: direct_actions
  115. /*
  116. /*   The maximum number of DACT: statements used anywhere in a room or
  117. /*   section file. Keep an eye on this value as your adventure
  118. /*   gets more complex...
  119. /*
  120. MAX_DACT: 50
  121.  
  122. /* MAX_ACTION: actions
  123. /*
  124. /*   The maximum number of ACTION: statements used anywhere in a
  125. /*   room or section file. Keep an eye on this value as your adventure
  126. /*   gets more complex...
  127. /*
  128. MAX_ACTION: 150
  129.  
  130. /* MAX_DLG: dialogue_number
  131. /*
  132. /*   Highest dialogue number used in the game.
  133. /*
  134. MAX_DLG: 30
  135.  
  136. /* N_DIALOGUES: number;lines;actions
  137. /*
  138. /*   Sets the limits for dialogues
  139. /*
  140. N_DIALOGUES: 6;30;90
  141.  
  142. /* GLOBALOBJS: number
  143. /*
  144. /*   Specifies the number of global objects. These are the
  145. /*   objects which can be used throughout the whole adventure, 
  146. /*   and also all objects with which you can talk using dialogues
  147. /*
  148. GLOBALOBJS: 50
  149.  
  150. /* SECTIONOBJS: number
  151. /*
  152. /*   Specifies the number of objects that only exists when
  153. /*   visiting a certain section.
  154. /*
  155. /*   Note that all object flags, new
  156. /*   names and states are lost when the section is exited, 
  157. /*   so any states must be saved and restored using
  158. /*   room flags!!!
  159. /*
  160. SECTIONOBJS: 10
  161.  
  162. /* ROOMOBJS: number
  163. /*
  164. /*   Specifies the number of objects that only exist within one room.
  165. /*   Note that no altered flags, states or names for these objects
  166. /*   remain between visits to the room: Any state changes must
  167. /*   be saved and stored using room flags!!!
  168. /*
  169. ROOMOBJS: 20
  170.  
  171. /* N_GLOBALBOBS: number
  172. /*
  173. /*   Specifies the number of global BOBs that can be
  174. /*   used.
  175. /*
  176. N_GLOBALBOBS: 90
  177.  
  178. /* N_SECTIONBOBS: number
  179. /*
  180. /*   Specifies the number of section BOB images. These are
  181. /*   replaced each time the game enters a new section.
  182. /*
  183. N_SECTIONBOBS: 30
  184.  
  185. /* N_ROOMBOBS: number
  186. /*
  187. /*   Specifies the number of room BOB images. These are
  188. /*   always replaced when entering a new room.
  189. /*
  190. N_ROOMBOBS: 70
  191.  
  192. /* MSGFONT: fontname;fontsize
  193. /*
  194. /*   This is the font used for text displayed in the scene area
  195. /*   by SAY, THINK, RESP and TEXT commands.
  196. /*
  197. /*   The specified font and fontsize must be installed in the
  198. /*   FONT drawer of the currently used boot disk. Also, remember
  199. /*   to run FIXFONTS on the FONTS: drawer, or it won't work.
  200. /*
  201. MSGFONT: xen;8
  202.  
  203. /* COMFONT: fontname;fontsize
  204. /*
  205. /*   This is the font used for the text displayed in the
  206. /*   command area.
  207. /*
  208. /*   The specified font and fontsize must be installed in the
  209. /*   FONT drawer of the currently used boot disk. Also, remember
  210. /*   to run FIXFONTS on the FONTS: drawer, or it won't work.
  211. /*
  212. COMFONT: garnet;9
  213.  
  214. /* TITLEFONT1: fontname;fontsize
  215. /*
  216. /*   This font can be used by TYPE and other commands.
  217. /*
  218. /*   The specified font and fontsize must be installed in the
  219. /*   FONT drawer of the currently used boot disk. Also, remember
  220. /*   to run FIXFONTS on the FONTS: drawer, or it won't work.
  221. /*
  222. TITLEFONT1: olaf;27
  223.  
  224. /* TITLEFONT2: fontname;fontsize
  225. /*
  226. /*   This font can be used by TYPE and other commands.
  227. /*
  228. /*   The specified font and fontsize must be installed in the
  229. /*   FONT drawer of the currently used boot disk. Also, remember
  230. /*   to run FIXFONTS on the FONTS: drawer, or it won't work.
  231. /*
  232. TITLEFONT2: times;14
  233.  
  234. /* CLPART: filename
  235. /*
  236. /*   This is the screen from which all subsequent BOB images
  237. /*   are grabbed. Once you've grabbed the graphics
  238. /*   BOBS, another CLPART and further BOBS may be specified...
  239. /*
  240. CLPART: Olaf_Original.iff
  241.  
  242. /* BOBS: no;startbob;x1;y1;w;h;x-offset;hotspot
  243. /*
  244. /*   This statement grabs a single BOB image or a horizontally arranged
  245. /*   sequence of BOBs.
  246. /*
  247. /* Olaf
  248. BOBS: 10;11;1;1;31;47;32;0
  249. BOBS: 10;21;1;49;31;47;32;0
  250. BOBS: 10;31;1;97;31;47;32;0
  251. /* ...and the new mouse pointers
  252. CLPART: Olaf_cursors.iff
  253. BOBS: 1;59;23;16;17;17;0;0
  254. BOBS: 1;60;3;16;17;17;0;0
  255. /* Graphics for highlighted commands
  256. CLPART: olafcommhi.iff
  257. BOBS: 1;61;17;18;54;23;84;0
  258. BOBS: 1;62;85;19;40;19;84;0
  259. BOBS: 1;63;144;19;30;19;84;0
  260. BOBS: 1;64;192;19;35;19;84;0
  261. BOBS: 1;65;241;19;32;19;84;0
  262. BOBS: 1;66;10;41;42;22;84;0
  263. BOBS: 1;71;68;40;50;19;84;0
  264. BOBS: 1;72;134;40;62;19;84;0
  265. BOBS: 1;73;211;40;65;19;84;0
  266. BOBS: 1;83;586;29;40;23;0;0
  267. /* Inventory and dialogue arrows
  268. CLPART: Olaf_Symbols.iff
  269. BOBS: 2;67;163;5;18;15;23;0
  270. BOBS: 2;69;163;21;18;15;23;0
  271. /* Cutscene indicator
  272. BOBS: 1;6;89;1;59;29;0;$11
  273. /* 41-49 Knife, feather, guide book, dictionary, net, ticket, envelope, map, parcel
  274. BOBS: 9;41;0;43;51;21;50;0
  275. /* 50-53 wrapping paper, lamp, empty, passport
  276. BOBS: 4;50;0;63;51;21;50;0
  277.  
  278.  
  279. /* AREA_SIZES: scene_height;command_height
  280. /*
  281. /*   Sets the proportions of the split-screen display
  282. /*
  283. AREA_SIZES: 120;80
  284.  
  285. /* COMMAND_AREA: file
  286. /*
  287. /*   Specify the name of the picture file containing the graphics
  288. /*   for the command area.
  289. /*
  290. COMMAND_AREA: Olafcomm.iff;BUFFERED
  291.  
  292. /* DLG_AREA: file
  293. /*
  294. /*   Specify the name of the picture file containing the graphics
  295. /*   for the dialogue input area.
  296. /*
  297. DLG_AREA: Olafdlg.iff
  298.  
  299. /* RESOURCE: file
  300. /*
  301. /*   This file is a resource bank used for
  302. /*   dialogue boxes, requesters, etc.
  303. /*
  304. /*   DEFAULT means GRAAL's built-in bank will be used - this
  305. /*   produces gray-scale, "neutral" requesters.
  306. /*
  307. RESOURCE: DEFAULT
  308.  
  309.  
  310. /* INV_LAYOUT: x1;y1;x2;y2;rows;cols;ICONS|TEXT;VERTICAL|HORIZONTAL; 
  311. /*             ink/image_number;bg
  312. /*
  313. /*   This statement defines the layout of the inventory in the
  314. /*   command area. VERTICAL|HORIZONTAL determines the scroll
  315. /*   direction. image_number is the image number of the icon
  316. /*   used for vacant slots in the inventory list.
  317. /*
  318. INV_LAYOUT: 320;20;569;59;2;5;ICONS;VERTICAL;52;8
  319.  
  320. /* INV_UP: x1;y1;w;h;image;image2
  321. /*
  322. /*   This defines the area and image for the inventory scroll "up"
  323. /*   (or "left") arrow.
  324. /*
  325. /*   "image" is the image when the function is available.
  326. /*   "image2" is the image when the function is unavailable.
  327. /*
  328. INV_UP: 297;24;17;14;68;67
  329.  
  330. /* INV_DOWN: See "INV_UP:"
  331. /*
  332. INV_DOWN: 297;43;17;14;70;69
  333.  
  334. /* DLG_LAYOUT: x1;y1;x2;y2;rows;ink;bg;hi
  335. /*
  336. /*
  337. DLG_LAYOUT: 32;3;633;58;4;9;8;14
  338.  
  339. /* DLG_UP: Same as "INV_UP:", but for the dialogue alternatives.
  340. /*
  341. DLG_UP: 8;6;17;14;68;67
  342.  
  343. /* DLG_DOWN: See "DLG_UP:"
  344. /*
  345. DLG_DOWN: 8;43;17;14;70;69
  346.  
  347. /* N_VERBS: number
  348. /*
  349. /*   Sets the number of verbs, or commands if you will, available
  350. /*   to the player. If anything else than 9, A VERB_TEXT and a
  351. /*   VERB_ZONE statement must be included for each verb. (9 was
  352. /*   the old GRAAL 1 default.)
  353. /*
  354. N_VERBS: 10
  355.  
  356. /* VERB_TEXT: verb_no;text
  357. /*
  358. VERB_TEXT: 1;Give
  359. /*
  360. /* VERB_ZONE: verb_no;x1;y1;x2;y2
  361. /*
  362. /*   This is the "clickable area" in the command area corresponding
  363. /*   to the verb
  364. /*
  365. VERB_ZONE: 1;85;19;123;36;62;62;7
  366. /*
  367. VERB_TEXT: 2;Pick up
  368. VERB_ZONE: 2;17;18;69;39;61;61;7
  369. VERB_TEXT: 3;Use
  370. VERB_ZONE: 3;144;19;172;36;63;63;9
  371. VERB_TEXT: 4;Open
  372. VERB_ZONE: 4;10;41;50;61;66;66;6
  373. VERB_TEXT: 5;Talk to
  374. VERB_ZONE: 5;134;40;194;57;72;72;2
  375. VERB_TEXT: 6;Push
  376. VERB_ZONE: 6;191;19;225;36;64;64;4
  377. VERB_TEXT: 7;Close
  378. VERB_ZONE: 7;68;40;117;57;71;71;1
  379. VERB_TEXT: 8;Look at
  380. VERB_ZONE: 8;211;40;274;57;73;73;3
  381. VERB_TEXT: 9;Pull
  382. VERB_ZONE: 9;241;19;271;36;65;65;5
  383. /*
  384. /* Verb 10 is used to access the save/load screen. The $ sign makes it
  385. /* a direct command not using objects, and there is no command name
  386. /* after the $ sign because we do not want it in the sentence box.
  387. /*
  388. VERB_TEXT: 10;$
  389. VERB_ZONE: 10;586;29;624;50;83;83;0
  390.  
  391. /* LINE_LENGTH: characters
  392. /*
  393. /*   This is the maximum number of characters on one line when
  394. /*   text is displayed with SAY, THINK, etc. Line breaks are
  395. /*   inserted automatically. You can control line breaks manually
  396. /*   by providing \ characters in the string with shorter
  397. /*   intervals than this number indicates.
  398. /*
  399. LINE_LENGTH: 34
  400.  
  401. /* NORMAL_WAIT: waitlength
  402. /*
  403. /*   The larger this value, the longer texts and sentences
  404. /*   spoken remain on screen. Default is 100: If that is not
  405. /*   enough, try other nice, round numbers like 200 or 400.
  406. /*
  407. NORMAL_WAIT: 100
  408.  
  409. /* SENTENCE_LAYOUT: x1;y1;x2;y2;ink;inkhi;bg
  410. /*
  411. /*   This is the box in the command area where the sentence
  412. /*   under construction is being shown.
  413. /*
  414. SENTENCE_LAYOUT: 6;2;634;14;3;11;8
  415.  
  416. /* CUTSCENE_LAYOUT: x1;y1;x2;y2;bg;ulx;uly;image
  417. /*
  418. /*   Specifies the properties of the cutscene indicator.
  419. /*   x1;y1;x2;y2 is the area to be blanked out
  420. /*   bg is the colour to use in blanking
  421. /*   ulx;uly is the place to paste the indicator
  422. /*   image is the image of the indicator.
  423. /*
  424. CUTSCENE_LAYOUT: 4;17;288;61;8;119;26;6
  425.  
  426. /* ARROW_CURSOR: image;hotspotx;hotspoty
  427. /*
  428. /*   An alternative image for the arrow-shaped mouse pointer.
  429. /*   Image must be lowres and 4 colours. Bot the x and y hotspot
  430. /*   value must be set for the "sensitive point" of the cursor.
  431. /*
  432. ARROW_CURSOR: 60;0;0
  433.  
  434. /* CROSSHAIR_CURSOR: image;hotspotx;hotspoty
  435. /*
  436. /*   An alternative image for the "crosshair" mouse pointer.
  437. /*   Image must be lowres and 4 colours. Bot the x and y hotspot
  438. /*   value must be set for the "sensitive point" of the cursor.
  439. /*
  440. CROSSHAIR_CURSOR: 59;7;7
  441.  
  442. /* CURSOR_PALETTE: RGB;RGB;RGB
  443. /*
  444. /*   These are the three colour used for the mouse pointer in
  445. /*   the command and dialogue area. In the scene area, the
  446. /*   colours used are always colours 16,17, and 18 of the
  447. /*   backdrop picture palette
  448. /*
  449. CURSOR_PALETTE: A00;555;BBB
  450.  
  451. /* MODE_SWITCH: ROLL|INSTANT
  452. /*
  453. /*   Sets the way the command area and dialogue area are switched
  454. /*
  455. MODE_SWITCH: INSTANT
  456.  
  457. /* ===================================================================== */
  458. /*                                                                       */
  459. /* Here is data describing the standard attributes of the main character */
  460. /*                                                                       */
  461. /* ===================================================================== */
  462.  
  463. /* CHAR: number;obj;stimg;eimg;floor;ink;height;text_offset;width;walk_speed
  464.  
  465. /*    When using multiple controllable characters OR automatic 3D scaling, 
  466. /*    a CHAR: statement must be present for each controllable character.
  467. /*    (The initially controlled character is character number 1.)
  468. /*
  469. /*    Old users take notice: Using a CHAR: statement means you can delete
  470. /*    your old CHARACTER_WIDTH:, CHARACTER_HEIGHT:, CHARACTER_COL:
  471. /*    and WALK_SPEED: statements (as indeed I've done in this demo).
  472. /*
  473. CHAR: 1;18;11;40;1;1;37;0;22;1.2
  474.  
  475. /* SELECT_CHAR: YES|NO
  476. /*
  477. /*    NO means the currently controlled character cannot be picked up
  478. /*    by the cursor.
  479. /*
  480. SELECT_CHAR: NO
  481.  
  482.  
  483. /* STILL_xxxxx: BOB image
  484. /*
  485. /*   These are the character's standard poses when faces in
  486. /*   the respective direction.
  487. /*
  488. /*   (Use prefix // to flip the image left/right)
  489. /*
  490. STILL_RIGHT: 14
  491. STILL_LEFT: //14
  492. STILL_BACK: 12
  493. STILL_FRONT: 11
  494.  
  495. /* PAUSE_xxxxx: BOB image
  496. /*
  497. /*   These are the character's standard poses when pausing
  498. /*   between moves. (More "ready-for-action" poses than the
  499. /*   STILL_xxxxxx images, although they may be the same if
  500. /*   you like it that way.)
  501. /*
  502. /*   (Use prefix // to flip the image left/right)
  503. /*
  504. PAUSE_RIGHT: 13
  505. PAUSE_LEFT: //13
  506. PAUSE_BACK: 12
  507. PAUSE_FRONT: 11
  508.  
  509. /* WALK_xxxxx: amalsequence
  510. /*
  511. /*   These are the default animation sequences for moving in the
  512. /*   four main directions.
  513. /*
  514. WALK_RIGHT: A 0,(16,6)(15,6)(14,6)(17,6)(18,6)(17,6)(14,6)(15,6)
  515. WALK_LEFT: A 0,(//16,6)(//15,6)(//14,6)(//17,6)(//18,6)(//17,6)(//14,6)(//15,6)
  516. WALK_AWAY: A 0,(29,8)(30,8)(31,8)(30,8)
  517. WALK_TOWARD: A 0,(26,8)(27,8)(28,8)(27,8)
  518.  
  519. /* TALK_MAP: stillimage;animation
  520. /*
  521. /*   The speech animation used depends upon the still image
  522. /*   displayed before it begins. This keyword maps the animations
  523. /*   to the still images. Max. 8 talk_maps may be specified.
  524. /*   direction is one of FRONT, BACK, RIGHT or LEFT.
  525. /*
  526. /*   If imagenumbers point to reverse images, 
  527. /*   use prefix // to flip the image left/right.
  528. /*
  529. TALK_MAP: 11;A 0,(20,18)(11,12)(20,12)(11,6)(19,12)(11,12)(20,6)(11,6)
  530. TALK_MAP: 12;A 0,(21,24)(12,16)(22,36)(12,48)(22,18)(12,32)
  531. TALK_MAP: 13;A 0,(20,18)(11,12)(20,12)(11,6)(19,12)(11,12)(20,6)(11,6)
  532. TALK_MAP: //13;A 0,(20,18)(11,12)(20,12)(11,6)(19,12)(11,12)(20,6)(11,6)
  533. TALK_MAP: 14;A 0,(23,18)(14,12)(23,12)(14,6)(23,12)(14,12)(23,6)(14,12)(24,6)(14,18)
  534. TALK_MAP: //14;A 0,(//23,18)(//14,12)(//23,12)(//14,6)(//23,12)(//14,12)(//23,6)(//14,12)(//24,6)(//14,18)
  535.  
  536. /* HANDLE_MAP: stillimage;handlelow;handlemid;handlehigh
  537. /*
  538. /*   sets the animations for character handling things much the
  539. /*   same way as TALK_MAP maps the speech animations.
  540. /*
  541. HANDLE_MAP: 11;A 1,(11,12)(36,1);A 1,(11,12)(34,1);A 1,(11,12)(35,1)
  542. HANDLE_MAP: 12;A 1,(12,12)(38,1);A 1,(12,12)(39,1);A 1,(12,12)(40,1)
  543. HANDLE_MAP: 14;A 1,(14,12)(32,1);A 1,(14,12)(33,1);A 1,(14,12)(37,1)
  544. HANDLE_MAP: //14;A 1,(//14,12)(//32,1);A 1,(//14,12)(//33,1);A 1,(//14,12)(//37,1)
  545.  
  546.  
  547. /* ===================================================================== */
  548. /*                                                                       */
  549. /*                   Objects, dialogues, etc. set up below               */
  550. /*                                                                       */
  551. /* ===================================================================== */
  552.  
  553.  
  554. /* OBJECT: no;name;startloc;visible;bob;startimg/anim;xpos;ypos; 
  555. /*         coffsx;coffsy;cstill;prep;pickable;animch;command;icon;handlepos; 
  556. /*         types;w1;w2;w3
  557. /*
  558. OBJECT: 2;pawnshop\owner;2;NVIS;37;RBOB30;396;84;14;-10;//14; ;NPICK;7;5;0;MID;MV;a;this;him
  559. OBJECT: 3;guard;6;VIS;58;RBOB3;183;102;20;0;//14; ;NPICK;7;5;0;MID;MV;a;this;him
  560. OBJECT: 5;bearded\man;1;VIS;55;A 0,(RBOB9,36)(RBOB8,48)(RBOB9,24)(RBOB8,36)(RBOB9,36)(RBOB8,48)(RBOB9,24)(RBOB8,36)(RBOB9,64)(RBOB7,100);150;94;-20;20;14; ;NPICK;8;5;0;MID;MV;a;this;him
  561. OBJECT: 7;Ali;4;VIS;59;A 1,(RBOB2,6);123;117;15;0;//14; ;NPICK;8;5;0;MID;MV; ; ;him
  562. OBJECT: 9;nomad;2;VIS;59;A 0,(RBOB1,6)(RBOB2,12)(RBOB1,6)(RBOB2,200);55;108;20;1;//14; ;NPICK;9;5;0;MID;MV;a;this;him
  563. OBJECT: 11;camel;2;VIS;57;A 0,(RBOB7,200)(RBOB9,100)(RBOB7,400)(RBOB10,100)(RBOB9,200);87;110;32;2;//14; ;NPICK;8;8;0;MID;AV;a;this;it
  564. OBJECT: 14;fishnet;3;VIS;58;RBOB2;20;81;10;3;//14;with;PICK;0;8;45;MID;D;a;this;it
  565. OBJECT: 15;captain;3;VIS;57;PTRN 1;244;58;30;10;//14; ;NPICK;9;5;0;MID;MV;a;this;him
  566. OBJECT: 16;piece of\paper;8;VIS;56;RBOB6;66;119;12;0;//14;with;PICK;0;8;47;LOW;WD;an;this;it
  567. OBJECT: 18;Olaf;1;VIS;60;11;275;138;0;0;11; ;NPICK;1; ; ;MID;-; ; ; 
  568. OBJECT: 21;feather;3;VIS;53;RBOB29;148;74;15;0;//14;with;PICK;0;8;42;LOW;D;a;this;it
  569. OBJECT: 24;small knife;0;NVIS;0;99;0;0;0;0;0;on;PICK;0;8;41;MID;TD;a;this;it
  570. OBJECT: 27;parcel;0;NVIS;0;0;0;0;0;0;0; ;PICK;0;8;49;MID;WD;a;this;it
  571. OBJECT: 28;wrapping\paper;0;NVIS;0;0;0;0;0;0;0;with;PICK;0;8;50;MID;WD;a piece of;this;it
  572. OBJECT: 30;dictionary;0;NVIS;0;0;0;0;0;0;0;with;PICK;0;8;44;MID;WD;a;this;it
  573.  
  574. /* DLG: no;obj;ink;y_offset;anim
  575. /*
  576. /*   This sets up the characters and animations used
  577. /*   as the various dialogue partners in RESP statements.
  578. /*
  579. /* 1 is bartender
  580. DLG: 1;5;10;-20;A 0,(RBOB4,12)(RBOB6,24)(RBOB4,18)(RBOB6,6)(RBOB8,12)(RBOB4,18)(RBOB9,20)(RBOB8,12)(RBOB9,30)
  581. /* 2 is nomad
  582. DLG: 2;9;21;-26;A 0,(RBOB4,24)(RBOB3,18)(RBOB4,30)(RBOB3,24)(RBOB5,6)
  583. /* 3 is captain
  584. DLG: 3;15;13;-20;A 0,(RBOB4,12)(RBOB22,24)(RBOB4,48)(RBOB22,36)(RBOB4,18)(RBOB23,12)
  585. /* 4 is Ali Harrod
  586. DLG: 4;7;19;-30;A 0,(RBOB3,24)(RBOB2,24)(RBOB3,12)(RBOB2,18)(RBOB4,24)
  587. /* 5 is pawn shop keeper
  588. DLG: 5;2;8;-20;A 0,(RBOB30,18)(RBOB31,12)(RBOB30,18)(RBOB31,16)(RBOB32,12)
  589. /* 6 is guard in mountain pass
  590. DLG: 6;3;21;-40;A 0,(RBOB1,36)(RBOB2,28)(RBOB1,22)(RBOB2,18)(RBOB1,48)(RBOB2,24)(RBOB3,64)
  591.  
  592. /* ===================================================================== */
  593. /*                                                                       */
  594. /*               Here come the global actions, working everywhere        */
  595. /*                                                                       */
  596. /* ===================================================================== */
  597.  
  598.  
  599. /* ACTION: verbno;condition;...;command;...
  600.  
  601.  
  602. /*
  603. /* ACTION -2 - Things to do after a "load game"
  604. /* --------------------------------------------
  605. /*
  606. /* Action to put back the command area after a visit to save/load room.
  607. /* All roms that do not use the command area must set room flag 40,2=1, 
  608. /* and all rooms that use it should set it =0 - this stops the command
  609. /* area from being shown temporarily when returning to marked positions
  610. /* in rooms that do not have the command area.
  611. /*
  612. ACTION: -2;IFRF 40,1=1;IFRF 40,2=0;COMAREA ON
  613. ACTION: -2;IFRF 40,1=1;SETRF 40,1=0;EXIT
  614.  
  615. /*
  616. /* Trapping all attempts to use Olaf as an object
  617. /*
  618. ACTION: ?;IFOBJ 18;EXIT
  619.  
  620. /*
  621. /* Action 1 - Give
  622. /* ---------------
  623. /*
  624. ACTION: 1;IFPICK;SAY I don't see the point.;EXIT
  625. ACTION: 1;SAY I can't do that.;EXIT
  626.  
  627. /*
  628. /* Action 2- Pick up
  629. /* -----------------
  630. /*
  631. ACTION: 2;IFCARR;SAY I already have it!;EXIT
  632. ACTION: 2;IFPICK;MOBJ;HANDLE;W 12;PICK;SOUND 1;HANDLE -1;EXIT
  633. ACTION: 2;IFTYPE F|M;SAY You can't really mean that!;EXIT
  634. ACTION: 2;IFTYPE -;SAY That was rather far-fetched, wasn't it?;EXIT
  635. ACTION: 2;SAY I can't pick that up.|Sorry, that is not possible.;EXIT
  636.  
  637. /*
  638. /* Action 3 - Use
  639. /* --------------
  640. /*
  641. ACTION: 3;IFOBJ 24; ;IFOBJ2 14;SAY Why destroy a good net?;EXIT
  642. ACTION: =;IFTYPE2 W;SAY I can't very well go around carving my initials in everything!;EXIT
  643. ACTION: =;IFTYPE2 T;SAY I think that would hurt the knife more than the #OBJ2!;EXIT
  644. ACTION: =;IFTYPE2 A;SAY I am not a vivisectionist!;EXIT
  645. ACTION: =;IFTYPE2 V;SAY That would be against the law - and also, very impolite.;EXIT
  646. ACTION: =;SAY I'm afraid I would only cut myself.;EXIT
  647.  
  648. ACTION: 3;IFOBJ 28;SAY No, I don't feel the need to wrap that up.;EXIT
  649.  
  650. ACTION: 3;IFOBJ 30; ;IFTYPE2 A;SAY Sorry, but animal language is not included in this volume!;EXIT
  651. ACTION: =;IFTYPE2 V;SAY I am sure we will get along without it in this case.;EXIT
  652.  
  653. ACTION: 3;IFTYPE -;SAY Get serious!;EXIT
  654.  
  655. ACTION: 3;IFTYPE M|F;SAY You can't just use people like that!;EXIT
  656.  
  657. ACTION: 3;SAY That doesn't work.|I don't know what you are getting at.|I can't use it like that.;EXIT
  658.  
  659. /*
  660. /* Action 4 - Open
  661. /* ---------------
  662. /*
  663. ACTION: 4;IFOBJ 30;SAY It's no good if I don't use it with some foreign langauge;EXIT
  664. ACTION: 4;IFTYPE M|F|A;SAY Get real!;EXIT
  665. ACTION: 4;SAY I can't open #W13.|That is impossible.;EXIT
  666.  
  667. /*
  668. /* Action 5 - Talk to
  669. /* ------------------
  670. /*
  671. ACTION: 5:IFTYPE D;IFTYPE G;SAY I could, but #OBJ1 make a lousy audience!;EXIT
  672. ACTION: 5;IFTYPE G;SAY I'd rather not disturb them.;EXIT
  673. ACTION: 5;IFTYPE A;SAY If I could talk to the animals... I'd be in a musical, and not in this stupid adventure!;EXIT
  674. ACTION: 5;IFTYPE F;SAY I have other things to do besides chatting up every woman I see!;EXIT
  675. ACTION: 5;IFTYPE M;SAY I sense some communication problems here - let's skip it!;EXIT
  676. ACTION: 5;SAY It does not seem very talkative.|I would be better off talking to a wall than a #OBJ1.;EXIT
  677.  
  678. /*
  679. /* Action 6 - Push
  680. /* ---------------
  681. /*
  682. ACTION: 6;IFTYPE -;SAY You seem slightly delirious again!;EXIT
  683. ACTION: 6;IFTYPE M|F;SAY You can't go around pushing people like that!;EXIT
  684. ACTION: 6;IFTYPE A;SAY It might push back - or something worse.;EXIT
  685. ACTION: 6;SAY That doesn't seem like a good idea to me.|There is no use in pushing that.|Don't push it!;EXIT
  686.  
  687. /*
  688. /* Action 7 - Close
  689. /* ----------------
  690. /*
  691. ACTION: 7;IFTYPE M;SAY You mean shut him up? I don't think so...;EXIT
  692. ACTION: 7;IFTYPE F|A;SAY I can't do that.;EXIT
  693. ACTION: 7;SAY I can't close #W13.|That can't be done.;EXIT
  694.  
  695. /*
  696. /* Action 8 - Look at
  697. /* ------------------
  698. /*
  699. ACTION: 8;MOBJ
  700.  
  701. ACTION: 8;IFOBJ 14;SAY It smells a bit, but it's a good, strong net.;EXIT
  702.  
  703. ACTION: 8;IFOBJ 21;SAY It's an ordinary seagull's feather.;EXIT
  704.  
  705. ACTION: 8;IFOBJ 24;SAY It is small, but Swedish blades bite, no matter what size!;EXIT
  706.  
  707. ACTION: 8;IFOBJ 27;IFOF 1=1;SAY It is "The Hitchhiker's Guide to the Middle and Far East";EXIT
  708.  
  709. ACTION: 8;IFOBJ 30;SAY "Anglo/Saxon/Hindi/Arabic/Nordic Dictionary and Phrase Book".;EXIT
  710.  
  711. ACTION: 8;SAY I don't see anything special.|Just #W11 #OBJ1!|Nothing special to report.;EXIT
  712.  
  713. /*
  714. /* Action 9 - Pull
  715. /* ---------------
  716. /*
  717. ACTION: 9;IFTYPE G;SAY What do you mean - pull their legs??;EXIT
  718. ACTION: 9;IFTYPE M;SAY What do you mean - pull his leg??;EXIT
  719. ACTION: 9;IFTYPE F;SAY What do you mean - pull her hair??;EXIT
  720. ACTION: 9;IFTYPE A;SAY No, it might pull back - or something worse.;EXIT
  721. ACTION: 9;SAY That doesn't seem like a good idea to me.|I really don't think I can pull that off...!|I'd rather pull myself together first.;EXIT
  722.  
  723. /*
  724. /* Action 10 - Game save/load/quit/info
  725. /* ------------------------------------
  726. /*
  727. /*   Room flag 40,1 is a reminder that the command area must be put back
  728. /*   on screen after a LOAD or RESUME.
  729. /*
  730. /*   MARK marks spot to be saved.
  731. /*
  732. /*   EDLG ends dialogue mode if we came here by pressing the save/load
  733. /*   short-cut key. The reason is, we can't use the buttons in the save/load
  734. /*   room while in dialogue mode. Because we did EDLG after MARK, we will
  735. /*   be returned to dialogue mode should we decide to RESUME where we left
  736. /*   off!
  737. /*
  738. /*   COMAREA OFF takes away the command area with the NF parameter.
  739. /*
  740. /*   GOTO 40,1 (finally) goes to the load/save/score/quit room!
  741. /*
  742. ACTION: 10;SETRF 40,1=1;MARK;EDLG;COMAREA OFF;GOTO 40,1
  743.