home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 8 / amigaformatcd08.iso / screenplay / utilities / graal / graal.main < prev    next >
Text File  |  1996-10-15  |  24KB  |  704 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. /* NAME: string
  19. /*
  20. /*   The name of the adventure
  21. /*
  22. NAME: "Olaf Longhair Goes East"
  23.  
  24. /* VERSION: string
  25. /*
  26. /*   The version number of the adventure
  27. /*
  28. VERSION: Demo 2.0
  29.  
  30. /* MAX_CACHE: number of files
  31. /*
  32. /*   This number is the maximum number of files to be
  33. /*   buffered in RAM: of machines with memory to spare.
  34. /*
  35. /*   A good practice is to set to 0 during development
  36. /*   and to 100 when playing (or testing without altering
  37. /*   too much in the files).
  38. /*
  39. /*   Normally, the true number of cached files are
  40. /*   calculated according to the available memory - if
  41. /*   you have put together a weird game where your
  42. /*   files average more then 50K, you may want to lower
  43. /*   the cache to just a few files - say 10 or 20. Normally, 
  44. /*   100 should be just fine, though.
  45. /*
  46. MAX_CACHE: 100
  47.  
  48. /* WALK_BUTTON: LEFT or RIGHT
  49. /*
  50. /*   This is the button used for "walking about"
  51. /*
  52. WALK_BUTTON: LEFT
  53.  
  54. /* EXIT_COL: colour
  55. /*
  56. /*   The colour of the text marking the exits
  57. /*
  58. EXIT_COL: 8
  59.  
  60. /* OBJ_COL: colour
  61. /*
  62. /*   The colour of the text marking the objects
  63. /*
  64. OBJ_COL: 1
  65.  
  66. /* START_ROOM: roomnumber;entrance
  67. /*
  68. /*   This is the room where the whole adventure starts
  69. /*
  70. START_ROOM: 18;1
  71.  
  72. /* MAX_ROOM: rooms
  73. /*
  74. /*   The highest room number used. Don't forget to alter this
  75. /*   when higher numbered rooms are added to the game!!
  76. /*
  77. MAX_ROOM: 50
  78.  
  79. /* MAX_SECTION: sections
  80. /*
  81. /*   The highest section number used. Don't forget to alter this
  82. /*   as sections are added to the game!
  83. /*
  84. MAX_SECTION: 15
  85.  
  86. /* MAX_DACT: direct_room_actions
  87. /*
  88. /*   The maximum number of direct room actions used anywhere in a
  89. /*   room file. Keep an eye on this value as your adventure
  90. /*   gets more complex...
  91. /*
  92. MAX_DACT: 50
  93.  
  94. /* GLOBALOBJS: number
  95. /*
  96. /*   Specifies the number of global objects. These are the
  97. /*   objects which can be used throughout the whole adventure, 
  98. /*   and also all objects with which you can talk using dialogues
  99. /*
  100. GLOBALOBJS: 50
  101.  
  102. /* SECTIONOBJS: number
  103. /*
  104. /*   Specifies the number of objects that only exists when
  105. /*   visiting a certain section.
  106. /*
  107. /*   Note that all object flags, new
  108. /*   names and states are lost when the section is exited, 
  109. /*   so any states must be saved and restored using
  110. /*   room flags!!!
  111. /*
  112. SECTIONOBJS: 10
  113.  
  114. /* ROOMOBJS: number
  115. /*
  116. /*   Specifies the number of objects that only exist within one room.
  117. /*   Note that no altered flags, states or names for these objects
  118. /*   remain between visits to the room: Any state changes must
  119. /*   be saved and stored using room flags!!!
  120. /*
  121. ROOMOBJS: 20
  122.  
  123. /* N_GLOBALBOBS: number
  124. /*
  125. /*   Specifies the number of global BOBs that can be
  126. /*   used. Actual BOB numbers for these start with 11 and
  127. /*   not 1, since BOB image bank slots 1-10 are reserved
  128. /*   for system use.
  129. /*
  130. N_GLOBALBOBS: 60
  131.  
  132. /* N_SECTIONBOBS: number
  133. /*
  134. /*   Specifies the number of section BOB images. These are
  135. /*   replaced each time the game enters a new section.
  136. /*
  137. N_SECTIONBOBS: 30
  138.  
  139. /* N_ROOMBOBS: number
  140. /*
  141. /*   Specifies the number of room BOB images. These are
  142. /*   always replaced when entering a new room.
  143. /*
  144. N_ROOMBOBS: 70
  145.  
  146. /* MSGFONT: fontname;fontsize
  147. /*
  148. /*   This is the font used for text displayed in the scene area
  149. /*   by SAY, THINK, RESP and TEXT commands.
  150. /*
  151. /*   The specified font and fontsize must be installed in the
  152. /*   FONT drawer of the currently used boot disk. Also, remember
  153. /*   to run FIXFONTS on the FONTS: drawer, or it won't work.
  154. /*
  155. MSGFONT: hires-5a;8
  156.  
  157. /* COMFONT: fontname;fontsize
  158. /*
  159. /*   This is the font used for the text displayed in the
  160. /*   command area.
  161. /*
  162. /*   The specified font and fontsize must be installed in the
  163. /*   FONT drawer of the currently used boot disk. Also, remember
  164. /*   to run FIXFONTS on the FONTS: drawer, or it won't work.
  165. /*
  166. COMFONT: garnet;9
  167.  
  168. /* TITLEFONT1: fontname;fontsize
  169. /*
  170. /*   This font can be used by TYPE and other commands.
  171. /*
  172. /*   The specified font and fontsize must be installed in the
  173. /*   FONT drawer of the currently used boot disk. Also, remember
  174. /*   to run FIXFONTS on the FONTS: drawer, or it won't work.
  175. /*
  176. TITLEFONT1: olaf;27
  177.  
  178. /* TITLEFONT2: fontname;fontsize
  179. /*
  180. /*   This font can be used by TYPE and other commands.
  181. /*
  182. /*   The specified font and fontsize must be installed in the
  183. /*   FONT drawer of the currently used boot disk. Also, remember
  184. /*   to run FIXFONTS on the FONTS: drawer, or it won't work.
  185. /*
  186. TITLEFONT2: times;14
  187.  
  188.  
  189. /* CLPART: filename
  190. /*
  191. /*   This is the screen from which all subsequent BOB images
  192. /*   are grabbed. Once you've grabbed the graphics
  193. /*   BOBS, another CLPART and further BOBS may be specified...
  194. /*
  195. CLPART: Olaf_Original.iff
  196.  
  197. /* BOBS: no;startbob;x1;y1;w;h;x-offset;hotspot
  198. /*
  199. /*   This statement grabs a single BOB image or a horizontally arranged
  200. /*   sequence of BOBs.
  201. /*
  202. /*   If the default setup of the command area is used, the following
  203. /*   images must be loaded in using BOBS: statements:
  204. /*
  205. /*          3 - Up arrow for use in the command (and dialogue) area lists
  206. /*          4 - Down arrow -"-
  207. /*          5 - Blank plate used to erase up and down arrows (1 and 2)
  208. /*          6 - Cut-scene indicator (a movie camera in Olaf).
  209. /*
  210. /*          INV_UP:, INV_DOWN:, DLG_UP:, DLG_DOWN:, and CUTSCENE_LAYOUT:
  211. /*          statements can be used to
  212. /*          specify other bob image numbers for these tasks if you so wish.
  213. /*
  214. /* Let's grab Olaf!!!
  215. /*
  216. BOBS: 10;11;1;1;31;47;32;0
  217. BOBS: 10;21;1;49;31;47;32;0
  218. BOBS: 10;31;1;97;31;47;32;0
  219. /* ...and the new mouse pointers
  220. CLPART: Olaf_cursors.iff
  221. BOBS: 1;59;23;16;17;17;0;0
  222. BOBS: 1;60;3;16;17;17;0;0
  223.  
  224. CLPART: Olaf_Symbols.iff
  225. /* Inventory and dialogue arrows
  226. BOBS: 2;67;163;5;18;15;23;0
  227. BOBS: 2;69;163;21;18;15;23;0
  228. /* Cutscene indicator
  229. BOBS: 1;6;89;1;59;29;0;$11
  230. /* 41-49 Knife, feather, guide book, dictionary, net, ticket, envelope, map, parcel
  231. BOBS: 9;41;0;43;51;21;50;0
  232. /* 50-53 wrapping paper, lamp, empty, passport
  233. BOBS: 4;50;0;63;51;21;50;0
  234.  
  235.  
  236. /* INV_LAYOUT: x1;y1;x2;y2;rows;cols;ICONS|TEXT;VERTICAL|HORIZONTAL; 
  237. /*             ink/image_number;bg
  238. /*
  239. /*   This statement defines the layout of the inventory in the
  240. /*   command area. VERTICAL|HORIZONTAL determines the scroll
  241. /*   direction. image_number is the image number of the icon
  242. /*   used for vacant slots in the inventory list.
  243. /*
  244. INV_LAYOUT: 306;20;605;59;2;6;ICONS;VERTICAL;52;8
  245.  
  246. /* INV_UP: x1;y1;w;h;image;image2
  247. /*
  248. /*   This defines the area and image for the inventory scroll "up"
  249. /*   (or "left") arrow.
  250. /*
  251. /*   "image" is the image when the function is available.
  252. /*   "image2" is the image when the function is unavailable.
  253. /*
  254. INV_UP: 283;24;17;14;68;67
  255.  
  256. /* INV_DOWN: See "INV_UP:"
  257. /*
  258. INV_DOWN: 283;43;17;14;70;69
  259.  
  260. /* DLG_UP: Same as "INV_UP:", but for the dialogue alternatives.
  261. /*
  262. DLG_UP: 8;6;17;14;68;67
  263.  
  264. /* DLG_DOWN: See "DLG_UP:"
  265. /*
  266. DLG_DOWN: 8;43;17;14;70;69
  267.  
  268. /* N_VERBS: number
  269. /*
  270. /*   Sets thenumber of verbs, or commands if you will, available
  271. /*   to the player. If anything else than 9, A VERB_TEXT and a
  272. /*   VERB_ZONE statement must be included for each verb. (9 was
  273. /*   the old GRAAL 1 default.)
  274. /*
  275. N_VERBS: 10
  276.  
  277. /* VERB_TEXT: verb_no;text
  278. /*
  279. VERB_TEXT: 1;Give
  280.  
  281. /* VERB_ZONE: verb_no;x1;y1;x2;y2
  282. /*
  283. /*   This is the "clickable area" in the command area corresponding
  284. /*   to the verb
  285. /*
  286. VERB_ZONE: 1;6;18;83;30
  287.  
  288. VERB_TEXT: 2;Pick up
  289. VERB_ZONE: 2;90;18;167;30
  290. VERB_TEXT: 3;Use
  291. VERB_ZONE: 3;174;18;251;30
  292. VERB_TEXT: 4;Open
  293. VERB_ZONE: 4;6;33;83;45
  294. VERB_TEXT: 5;Talk to
  295. VERB_ZONE: 5;90;33;167;45
  296. VERB_TEXT: 6;Push
  297. VERB_ZONE: 6;174;33;250;45
  298. VERB_TEXT: 7;Close
  299. VERB_ZONE: 7;6;48;83;60
  300. VERB_TEXT: 8;Look at
  301. VERB_ZONE: 8;90;48;167;60
  302. VERB_TEXT: 9;Pull
  303. VERB_ZONE: 9;174;48;251;60
  304. VERB_TEXT: 10;$Score
  305. VERB_ZONE: 10;616;18;634;60
  306.  
  307. /* LINE_LENGTH: characters
  308. /*
  309. /*   This is the maximum number of characters on one line when
  310. /*   text is displayed with SAY, THINK, etc. Line breaks are
  311. /*   inserted automatically. You can control line breaks manually
  312. /*   by providing \ characters in the string with shorter
  313. /*   intervals than this number indicates.
  314. /*
  315. LINE_LENGTH: 34
  316.  
  317. /* NORMAL_WAIT: waitlength
  318. /*
  319. /*   The larger this value, the longer texts and sentences
  320. /*   spoken remain on screen. Default is 100: If that is not
  321. /*   enough, try other nice, round numbers like 200 or 400
  322. /*
  323. NORMAL_WAIT: 100
  324.  
  325. /* SENTENCE_LAYOUT: x1;y1;x2;y2;ink;inkhi;bg
  326. /*
  327. /*   This is the box in the command area where the sentence
  328. /*   under construction is being shown.
  329. /*
  330. SENTENCE_LAYOUT: 6;2;634;14;3;11;8
  331.  
  332. /* CUTSCENE_LAYOUT: x1;y1;x2;y2;bg;ulx;uly;image
  333. /*
  334. /*   Specifies the properties of the cutscene indicator
  335. /*   x1;y1;x2;y2 is the area to be blanked out
  336. /*   bg is the colour to use in blanking
  337. /*   ulx;uly is the place to paste the indicator
  338. /*   image is the image of the indicator.
  339. /*
  340. CUTSCENE_LAYOUT: 4;17;253;61;8;101;26;6
  341.  
  342. /* ARROW_CURSOR: image;hotspotx;hotspoty
  343. /*
  344. /*   An alternative image for the arrow-shaped mouse pointer.
  345. /*   Image must be lowres and 4 colours. Bot the x and y hotspot
  346. /*   value must be set for the "sensitive point" of the cursor.
  347. /*
  348. ARROW_CURSOR: 60;0;0
  349.  
  350. /* CROSSHAIR_CURSOR: image;hotspotx;hotspoty
  351. /*
  352. /*   An alternative image for the "crosshair" mouse pointer.
  353. /*   Image must be lowres and 4 colours. Bot the x and y hotspot
  354. /*   value must be set for the "sensitive point" of the cursor.
  355. /*
  356. CROSSHAIR_CURSOR: 59;7;7
  357.  
  358. /* CURSOR_PALETTE: RGB;RGB;RGB
  359. /*
  360. /*   These are the three colour used for the mouse pointer in
  361. /*   the command and dialogue area. In the scene area, the
  362. /*   colours used are always colours 16,17, and 18 of the
  363. /*   backdrop picture palette
  364. /*
  365. CURSOR_PALETTE: 811;999;DDD
  366.  
  367. /* MODE_SWITCH: ROLL|INSTANT
  368. /*
  369. /*   Sets the way the command area and dialogue area are switched
  370. /*
  371. MODE_SWITCH: ROLL
  372.  
  373. /* AREA_SIZES: scene_height;command_height
  374. /*
  375. /*   Sets the proportions of the split-screen display
  376. /*
  377. AREA_SIZES: 120;80
  378.  
  379. /* COMMAND_AREA: file
  380. /*
  381. /*   Specify the name of the picture file containing the graphics
  382. /*   for the command area.
  383. /*
  384. COMMAND_AREA: Olafcomm.iff
  385.  
  386. /* DLG_AREA: file
  387. /*
  388. /*   Specify the name of the picture file containing the graphics
  389. /*   for the dialogue input area.
  390. /*
  391. DLG_AREA: Olafdlg.iff
  392.  
  393. /* RESOURCE: file
  394. /*
  395. /*   This file is a resource bank used for
  396. /*   dialogue boxes, requesters, etc.
  397. /*
  398. /*   DEFAULT means GRAAL's built-in bank will be used - this
  399. /*   produces gray-scale, "neutral" requesters.
  400. /*
  401. /* RESOURCE: DEFAULT
  402. RESOURCE: Wood.Rsb
  403.  
  404.  
  405. /* ===================================================================== */
  406. /*                                                                       */
  407. /* Here is data describing the standard attributes of the main character */
  408. /*                                                                       */
  409. /* ===================================================================== */
  410.  
  411.  
  412. /* CHARACTER_HEIGHT: pixels
  413. /*
  414. /*   approximate or "average" height
  415. /*
  416. CHARACTER_HEIGHT: 40
  417.  
  418. /* CHARACTER_WIDTH: pixels
  419. /*
  420. CHARACTER_WIDTH: 22
  421.  
  422. /* CHARACTER_COL: colorindex
  423. /*
  424. /*   Tells the colour of the dialogue text
  425. /*
  426. CHARACTER_COL: 9
  427.  
  428. /* STILL_xxxxx: BOB image
  429. /*
  430. /*   These are the character's standard poses when faces in
  431. /*   the respective direction.
  432. /*   ($8000+hex number makes the image flip horisontally.)
  433. /*
  434. STILL_RIGHT: 14
  435. STILL_LEFT: $800E
  436. STILL_BACK: 12
  437. STILL_FRONT: 11
  438.  
  439. /* PAUSE_xxxxx: BOB image
  440. /*
  441. /*   These are the character's standard poses when pausing
  442. /*   between moves. (More "ready-for-action" poses than the
  443. /*   STILL_xxxxxx images, although they may be the same if
  444. /*   you like it that way.)
  445. /*   ($8000+hex number makes the image flip horisontally.)
  446. /*
  447. PAUSE_RIGHT: 13
  448. PAUSE_LEFT: $800D
  449. PAUSE_BACK: 12
  450. PAUSE_FRONT: 11
  451.  
  452. /* WALK_xxxxx: amalsequence
  453. /*
  454. /*   These are the default animation sequences for moving in the
  455. /*   four main directions.
  456. /*
  457. WALK_RIGHT: A 0,(16,6)(15,6)(14,6)(17,6)(18,6)(17,6)(14,6)(15,6)
  458. WALK_LEFT: A 0,($8010,6)($800F,6)($800E,6)($8011,6)($8012,6)($8011,6)($800E,6)($800F,6)
  459. WALK_AWAY: A 0,(29,8)(30,8)(31,8)(30,8)
  460. WALK_TOWARD: A 0,(26,8)(27,8)(28,8)(27,8)
  461.  
  462. /* WALK_SPEED: characterspeed
  463. /*
  464. /*   Adjust this number to match the animation speed, making the
  465. /*   character actually walk around rather than "float about".
  466. /*
  467. WALK_SPEED: 1.2
  468.  
  469. /* TALK_MAP: stillimage;animation
  470. /*
  471. /*   The speech animation used depends upon the still image
  472. /*   displayed before it begins. This keyword maps the animations
  473. /*   to the still images. Max. 8 talk_maps may be specified.
  474. /*   direction is one of FRONT, BACK, RIGHT or LEFT. If imagenumbers
  475. /*   point to reverse images, the correct form is $FFFF8000+$imagenumber
  476. /*
  477. TALK_MAP: 11;A 0,(20,18)(11,12)(20,12)(11,6)(19,12)(11,12)(20,6)(11,6)
  478. TALK_MAP: 12;A 0,(21,24)(12,16)(22,36)(12,48)(22,18)(12,32)
  479. TALK_MAP: 13;A 0,(20,18)(11,12)(20,12)(11,6)(19,12)(11,12)(20,6)(11,6)
  480. TALK_MAP: $FFFF800D;A 0,(20,18)(11,12)(20,12)(11,6)(19,12)(11,12)(20,6)(11,6)
  481. 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)
  482. TALK_MAP: $FFFF800E;A 0,($8017,18)($800E,12)($8017,12)($800E,6)($8017,12)($800E,12)($8017,6)($800E,12)($8018,6)($800E,18)
  483.  
  484. /* HANDLE_MAP: stillimage;handlelow;handlemid;handlehigh
  485. /*
  486. /*   sets the animations for character handling things much the
  487. /*   same way as TALK_MAP maps the speech animations.
  488. /*
  489. HANDLE_MAP: 11;A 1,(11,12)(36,1);A 1,(11,12)(34,1);A 1,(11,12)(35,1)
  490. HANDLE_MAP: 12;A 1,(12,12)(38,1);A 1,(12,12)(39,1);A 1,(12,12)(40,1)
  491. HANDLE_MAP: 14;A 1,(14,12)(32,1);A 1,(14,12)(33,1);A 1,(14,12)(37,1)
  492. HANDLE_MAP: $FFFF800E;A 1,($800E,12)($8020,1);A 1,($800E,12)($8021,1);A 1,($800E,12)($8025,1)
  493.  
  494.  
  495. /* ===================================================================== */
  496. /*                                                                       */
  497. /*                   Objects, dialogues, etc. set up below               */
  498. /*                                                                       */
  499. /* ===================================================================== */
  500.  
  501.  
  502. /* OBJECT: no;name;startloc;visible;bob;startimg/anim;xpos;ypos; 
  503. /*         coffsx;coffsy;cstill;prep;pickable;animch;command;icon;handlepos; 
  504. /*         types;w1;w2;w3
  505. /*
  506. /*   This is the data for an object.
  507. /*   no = object number, used in coding so if you change this be sure
  508. /*        to change or erase all code that goes with it...
  509. /*   name = a string containing the (initial) inventory name for the object
  510. /*   startloc = object starts in room number ...
  511. /*   visible = is the object shown? NVIS = False, VIS = True
  512. /*   startbob = starting bob number for displaying object
  513. /*   startimg/startanim = bob image or amalsequence used for this object.
  514. /*                        LBOBs can be used, as long as these LBOB numbers
  515. /*                        are valid for each and every room where the
  516. /*                        object can appear!
  517. /*   xpos;ypos = display object in this position.
  518. /*   coffs;coffsy = offset of character relative object when handling
  519. /*   cstill = still image of character when walking to object
  520. /*   prep = object preposition. If not blank, "Use" will require 2nd object
  521. /*   pickable = Can character pick this up? NPICK = False, PICK = True
  522. /*   animch = Amal channel to use for this object
  523. /*   command = This is the verb executed if the player right-clicks the
  524. /*             object. 0 for no "quick command"
  525. /*   icon = This is the image number for the icon used in the
  526. /*          inventory display.
  527. /*   handlepos: LOW, MID or HIGH determines animation for handling object.
  528. /*   type = string of characters indicating object type.
  529. /*          Standard types: M=male character, F=female character, G=group
  530. /*          A=animal, C=container, D=Dead, V=Alive
  531. /*          -=Abstract (unreachable, consisting of air, etc.)
  532. /*          Other types: S=Stone, W=Wood, T=Metal, L=Liquid, - it's up to you.
  533. /*   w1;w2;w3 = have to look these up in the grammar book. Anyway, deals with
  534. /*              how you speak about the objects, as you can see below.
  535. /*
  536. /* OBJECT: no;name;startloc;visible;bob;startimg/anim;xpos;ypos; 
  537. /*         coffsx;coffsy;cstill;prep;pickable;animch;command;icon;handlepos; 
  538. /*         types;w1;w2;w3
  539. /*
  540. /* Object 0 is a dummy object - icon image used for "empty places" in the
  541. /* inventory display.
  542. /*
  543. OBJECT: 1;passport;0;NVIS;50;0;0;0;0;0;0;with;PICK;0 ;8;53;LOW;WD;a;this;it
  544. OBJECT: 2;pawnshop\owner;2;NVIS;37;RBOB30;396;84;14;-10;$800E; ;NPICK;7;5;0;MID;MV;a;this;him
  545. OBJECT: 3;guard;6;VIS;58;RBOB3;183;102;20;0;$800E; ;NPICK;7;5;0;MID;MV;a;this;him
  546. 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
  547. OBJECT: 7;Ali;4;VIS;59;A 1,(RBOB2,6);123;117;15;0;$800E; ;NPICK;8;5;0;MID;MV; ; ;him
  548. OBJECT: 9;nomad;2;VIS;59;A 0,(RBOB1,6)(RBOB2,12)(RBOB1,6)(RBOB2,200);55;108;20;1;$800E; ;NPICK;9;5;0;MID;MV;a;this;him
  549. OBJECT: 11;camel;2;VIS;57;A 0,(RBOB7,200)(RBOB9,100)(RBOB7,400)(RBOB10,100)(RBOB9,200);87;110;32;2;$800E; ;NPICK;8;8;0;MID;AV;a;this;it
  550. OBJECT: 14;fishnet;3;VIS;58;RBOB2;20;81;10;3;$800E;with;PICK;0;8;45;MID;D;a;this;it
  551. OBJECT: 15;captain;3;VIS;57;PTRN 1;244;58;30;10;$800E; ;NPICK;9;5;0;MID;MV;a;this;him
  552. OBJECT: 21;feather;3;VIS;53;RBOB29;147;74;15;0;$800E;with;PICK;0;8;42;LOW;D;a;this;it
  553. OBJECT: 24;small knife;0;NVIS;0;99;0;0;0;0;0;on;PICK;0;8;41;MID;TD;a;this;it
  554. OBJECT: 27;parcel;0;NVIS;0;0;0;0;0;0;0; ;PICK;0;8;49;MID;WD;a;this;it
  555. 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
  556. OBJECT: 30;dictionary;0;NVIS;0;0;0;0;0;0;0;with;PICK;0;8;44;MID;WD;a;this;it
  557.  
  558. /* DLG: no;dlgobj;dlgcol;dlgoffs;dlganim
  559. /*
  560. /*   This sets up the characters and animations used
  561. /*   by the various dialogue partners. You MUST one DLG statement
  562. /*   for each dialogue there is, but you can actually use any of them
  563. /*   in any of the RESP statements of any dialogue! (Flexible, but
  564. /*   not really that useful.)
  565. /*
  566. /*   dlgcol = the colour index of the dialogue text
  567. /*   dlgoffs = dialogue text offset from character hotspot
  568. /*
  569. /* 1 is bartender
  570. DLG: 1;5;11;-20;A 0,(RBOB4,12)(RBOB6,24)(RBOB4,18)(RBOB6,6)(RBOB8,12)(RBOB4,18)(RBOB9,20)(RBOB8,12)(RBOB9,30)
  571. /* 2 is nomad
  572. DLG: 2;9;11;-26;A 0,(RBOB4,24)(RBOB3,18)(RBOB4,30)(RBOB3,24)(RBOB5,6)
  573. /* 3 is captain
  574. DLG: 3;15;12;-20;A 0,(RBOB4,12)(RBOB22,24)(RBOB4,48)(RBOB22,36)(RBOB4,18)(RBOB23,12)
  575. /* 4 is Ali Harrod
  576. DLG: 4;7;11;-30;A 0,(RBOB3,24)(RBOB2,24)(RBOB3,12)(RBOB2,18)(RBOB4,24)
  577. /* 5 is pawn shop keeper
  578. DLG: 5;2;11;-20;A 0,(RBOB30,18)(RBOB31,12)(RBOB30,18)(RBOB31,16)(RBOB32,12)
  579. /* 6 is guard in mountain pass
  580. DLG: 6;3;11;-40;A 0,(RBOB1,36)(RBOB2,28)(RBOB1,22)(RBOB2,18)(RBOB1,48)(RBOB2,24)(RBOB3,64)
  581.  
  582.  
  583.  
  584. /* ===================================================================== */
  585. /*                                                                       */
  586. /*               Here come the global actions, working everywhere        */
  587. /*                                                                       */
  588. /* ===================================================================== */
  589.  
  590.  
  591. /* ACTION: verbno;condition;...;command;...
  592.  
  593. /*
  594. /* ACTION -2 - Things to do after a "load game"
  595. /* --------------------------------------------
  596. /* Check if Olaf is small (This code is only duplicated once, so i put it
  597. /* right in the ACTION: statement.)
  598. /*
  599. ACTION: -2;IFRF 0,1=1;CLPART Olaf_Bagdad.iff;BOBS 10,11,0,0,16,20,15,0;BOBS 10,21,0,25,16,20,15,0;BOBS 10,31,0,50,16,20,15,0;CLPART OFF;SHOW 0, , , ;EXIT
  600. /* Check if Olaf is big (This code is used in more places, and therefore
  601. /* it was put in an "unskippable" cutscene.)
  602. /*
  603. ACTION: -2;IFRF 0,1=0;CUTSCENE 17,H;EXIT
  604.  
  605. /*
  606. /* Action 1 - Give
  607. /* ---------------
  608. /*
  609. ACTION: 1;IFPICK;SAY I don't see the point.;EXIT
  610. ACTION: 1;SAY I can't do that.;EXIT
  611.  
  612. /*
  613. /* Action 2- Pick up
  614. /* -----------------
  615. /*
  616. ACTION: 2;IFCARR;SAY I already have it!;EXIT
  617. ACTION: 2;IFPICK;MOBJ;HANDLE;W 12;PICK;HANDLE -1;EXIT
  618. ACTION: 2;IFTYPE F|M;SAY You can't really mean that!;EXIT
  619. ACTION: 2;IFTYPE -;SAY That was rather far-fetched, wasn't it?;EXIT
  620. ACTION: 2;SAY I can't pick that up.|Sorry, that is not possible.;EXIT
  621.  
  622. /*
  623. /* Action 3 - Use
  624. /* --------------
  625. /*
  626. ACTION: 3;IFOBJ 24;IFOBJ2 14;SAY Why destroy a good net?;EXIT
  627. ACTION: 3;IFOBJ 24;IFTYPE2 W;SAY I can't very well go around carving my initials in everything!;EXIT
  628. ACTION: 3;IFOBJ 24;IFTYPE2 T;SAY I think that would hurt the knife more than the #OBJ2!;EXIT
  629. ACTION: 3;IFOBJ 24;IFTYPE2 A;SAY I am not a vivisectionist!;EXIT
  630. ACTION: 3;IFOBJ 24;IFTYPE2 V;SAY That would be against the law - and also, very impolite.;EXIT
  631. ACTION: 3;IFOBJ 24;SAY I'm afraid I would only cut myself.;EXIT
  632. ACTION: 3;IFOBJ 28;SAY No, I don't feel the need to wrap that up.;EXIT
  633. ACTION: 3;IFOBJ 30;IFTYPE2 A;SAY Sorry, but animal language is not included in this volume!;EXIT
  634. ACTION: 3;IFOBJ 30;IFTYPE2 V;SAY I am sure we will get along without it in this case.;EXIT
  635. ACTION: 3;IFTYPE -;SAY Get serious!;EXIT
  636. ACTION: 3;IFTYPE M|F;SAY You can't just use people like that!;EXIT
  637. ACTION: 3;SAY That doesn't work.|I don't know what you are getting at.|I can't use it like that.;EXIT
  638.  
  639. /*
  640. /* Action 4 - Open
  641. /* ---------------
  642. /*
  643. ACTION: 4;IFOBJ 30;SAY It's no good if I don't use it with some foreign langauge;EXIT
  644. ACTION: 4;IFTYPE M|F|A;SAY Get real!;EXIT
  645. ACTION: 4;SAY I can't open #W13.|That is impossible.;EXIT
  646.  
  647. /*
  648. /* Action 5 - Talk to
  649. /* ------------------
  650. /*
  651. ACTION: 5:IFTYPE D;IFTYPE G;SAY I could, but #OBJ1 make a lousy audience!;EXIT
  652. ACTION: 5;IFTYPE G;SAY I'd rather not disturb them.;EXIT
  653. 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
  654. ACTION: 5;IFTYPE F;SAY I have other things to do besides chatting up every woman I see!;EXIT
  655. ACTION: 5;IFTYPE M;SAY I sense some communication problems here - let's skip it!;EXIT
  656. ACTION: 5;SAY It does not seem very talkative.|I would be better off talking to a wall than a #OBJ1.;EXIT
  657.  
  658. /*
  659. /* Action 6 - Push
  660. /* ---------------
  661. /*
  662. ACTION: 6;IFTYPE -;SAY You seem slightly delirious again!;EXIT
  663. ACTION: 6;IFTYPE M|F;SAY You can't go around pushing people like that!;EXIT
  664. ACTION: 6;IFTYPE A;SAY It might push back - or something worse.;EXIT
  665. 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
  666.  
  667. /*
  668. /* Action 7 - Close
  669. /* ----------------
  670. /*
  671. ACTION: 7;IFTYPE M;SAY You mean shut him up? I don't think so...;EXIT
  672. ACTION: 7;IFTYPE F|A;SAY I can't do that.;EXIT
  673. ACTION: 7;SAY I can't close #W13 #OBJ1.|That can't be done.;EXIT
  674.  
  675. /*
  676. /* Action 8 - Look at
  677. /* ------------------
  678. /*
  679. ACTION: 8;MOBJ
  680. ACTION: 8;IFOBJ 14;SAY It smells a bit, but it's a good, strong net.;EXIT
  681. ACTION: 8;IFOBJ 21;SAY It's an ordinary seagull's feather.;EXIT
  682. ACTION: 8;IFOBJ 24;SAY It is small, but Swedish blades bite, no matter what size!;EXIT
  683. ACTION: 8;IFOBJ 27;IFOF 1=1;SAY It is "The Hitchhiker's Guide to the Middle and Far East";EXIT
  684. ACTION: 8;IFOBJ 30;SAY "Anglo/Saxon/Hindi/Arabic/Nordic Dictionary and Phrase Book".;EXIT
  685. ACTION: 8;SAY I don't see anything special.|Just #W11 #OBJ1!|Nothing special to report.;EXIT
  686.  
  687. /*
  688. /* Action 9 - Pull
  689. /* ---------------
  690. /*
  691. ACTION: 9;IFTYPE G;SAY What do you mean - pull their legs??;EXIT
  692. ACTION: 9;IFTYPE M;SAY What do you mean - pull his leg??;EXIT
  693. ACTION: 9;IFTYPE F;SAY What do you mean - pull her hair??;EXIT
  694. ACTION: 9;IFTYPE A;SAY No, it might pull back - or something worse.;EXIT
  695. 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
  696.  
  697. /*
  698. /* Action 10 - Score
  699. /* -----------------
  700. /*
  701. ACTION: 10;TEXT -1,0,11,You have scored #R#0#20# points so far.;EXIT
  702. /* End of boot file - There must be some comments here, otherwise the last
  703. /* command is not regarded.
  704.