home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 8 / amigaformatcd08.iso / screenplay / utilities / graal / graal2b.lha / 1.room < prev    next >
Text File  |  1996-10-15  |  12KB  |  312 lines

  1. /*                     This is a room file for GRAAL
  2. /*
  3. /*                                 1.room
  4. /* RF 1=0 first visit
  5. /* RF 9=0 Unbroken bottle =1 broken bottle
  6.  
  7.  
  8. /* UPDATE: scroll_frames;normal_frames
  9. /*
  10. /*   Determines how often the screen is updated, both for when the background
  11. /*   is scrolling and when it is stable. High values increases overall
  12. /*   jerkiness, but is sometimes required to prevent certain objects from
  13. /*   looking VERY ugly when animated.
  14. /*
  15. UPDATE: 3;1
  16.  
  17. /* SECTION: section number
  18. /*
  19. /*   The room belongs to section 1, described in the file 1.section.
  20. /*
  21. SECTION: 1
  22.  
  23. /* BG_IFF: filename
  24. /*
  25. /*   This is the backdrop file for the room
  26. /*
  27. BG_IFF: 1BG.IFF
  28.  
  29. /* START_POS: sposno;bobimage;x;y;camera;floor
  30. /*
  31. /*   This tells the starting point for the main character when
  32. /*   entering the room. (The previous GOTO command, and the
  33. /*   START_ROOM: statement in the graal.main file, point to
  34. /*   "sposno".
  35. /*
  36. /*   camera is R=right, L=LEFT or M=mid panned to start with.
  37. /*
  38. /*   (This statement must follow after the BG_IFF: statement.)
  39. /*
  40. START_POS: 1;13;20;115;L;1
  41.  
  42. /* FLOOR: floorno;x1;y1;x2;y2;floormap/.../floormap
  43. /*
  44. /*   This limits the area which the character can walk freely upon.
  45. /*   The floor can consist of a "mosaic" of floor parts, and the system
  46. /*   needs to know how the floors are connected. This is done using
  47. /*   the floormaps in the format s-f, each map answering the question
  48. /*   "if I am currently on floor floorno and would like to get to floor
  49. /*   (s), which floor (f) should I go to now?"
  50. /*
  51. /*   Note: First parameter (floorno) MUST be sequential and go from
  52. /*   1 upwards - it's in the statement to make it more legible, that's
  53. /*   its only function! Also refer to the FLOOR action command.
  54. /*
  55. FLOOR: 1;16;114;304;119;1-1/2-2/3-3/4-4
  56. FLOOR: 2;0;116;310;119;1-1/2-2/3-3/4-4
  57. FLOOR: 3;30;111;95;119;1-1/2-2/3-3/4-1
  58. FLOOR: 4;207;111;295;119;1-1/2-2/3-1/4-4
  59.  
  60. /* EXIT: no;x1;y1;x2;y2;epointx;epointy;description
  61. /*
  62. /*   This command defines an exit
  63. /*   x1;y1;x2;y2 = exit area
  64. /*   epointx;epointy = point to move character to when exiting
  65. /*   description = cursor description of exit
  66. /*
  67. /*
  68. EXIT: 1;7;66;12;112;10;113;street\outside
  69.  
  70. /* CLPART: filename
  71. /*
  72. CLPART: 1FG.IFF
  73.  
  74. /* ROOMBOBS: no_of_imgs;startrbob;grabx;graby;width;height;xoffset;hotsp
  75. /*
  76. /*   See the BOBS: statement in the graal.main file. The difference is
  77. /*   that ROOMBOBS: define "room" images instead of "global" images - that
  78. /*   is, the image numbers given here must be prefixed with "RBOB" when
  79. /*   referred to in other statements and commands.
  80. /*
  81. /* 1 is the right-hand-side barrel
  82. ROOMBOBS: 1;1;125;100;32;54;0;0
  83. /* 2-3 is the torch
  84. ROOMBOBS: 2;2;48;0;27;35;28;0
  85. /* 4-9 is bartender animation
  86. ROOMBOBS: 6;4;103;0;17;22;18;0
  87. /* 10 is a hand
  88. ROOMBOBS: 1;10;0;24;4;4;0;200
  89. /* 11 is spam
  90. ROOMBOBS: 1;11;0;31;10;5;0;0
  91. /* 12 is another hand
  92. ROOMBOBS: 1;12;16;24;4;4;0;200
  93. /* 13 is text "MIKLAGÅRD"
  94. ROOMBOBS: 1;13;12;53;124;24;0;120
  95. /* 14 is text "950 A.D."
  96. ROOMBOBS: 1;14;153;53;109;24;0;120
  97. /* 15 is text "CONSTANTINTOPLE"
  98. ROOMBOBS: 1;15;23;77;96;16;0;120
  99. /* 16 is text "(LUNCHTIME)"
  100. ROOMBOBS: 1;16;175;77;58;15;0;120
  101. /* 17 is dice
  102. ROOMBOBS: 1;17;0;100;16;9;0;124
  103. /* 18 is cup
  104. ROOMBOBS: 1;18;30;100;16;13;0;130
  105. /* 19 is pillar
  106. ROOMBOBS: 1;19;276;0;11;119;0;0
  107. /* 20 is beer shelf
  108. ROOMBOBS: 1;20;4;130;45;17;0;-100
  109. /* 21 is beer bottle
  110. ROOMBOBS: 1;21;52;130;7;11;0;0
  111. /* 22 is beer bottle (broken)
  112. ROOMBOBS: 1;22;60;131;13;8;0;0
  113. /* 23 is pile of mugs
  114. ROOMBOBS: 1;23;222;6;23;17;0;0
  115.  
  116. /* STATIC: bobno;LBOBimage;putx;puty
  117. /*
  118. /*   This puts the bob specified into the scene as a static object.
  119. /*   All entries in the same room file must have different numbers.
  120. /*   Room specific BOBs to be used must have been grabbed with
  121. /*   the BOBS, ROOMBOBS or SECTIONBOBS statements prior to using
  122. /*   them here!
  123. /*
  124. STATIC: 51;RBOB1;273;153
  125. STATIC: 50;RBOB19;233;120
  126.  
  127. /* ANIM: bobno;bobimg;amalchannel;amalsequence;putx;puty
  128. /*
  129. /*   Does much the same thing as STATIC, only here we start an
  130. /*   animation instead. The amalchannels must be between 10 and 15
  131. /*   giving you 6 different room animations to play with.
  132. /*
  133. /* Below is an example commented out.
  134. /* ANIM: 12;RBOB1;12;Anim 0,(RBOB2,6)(RBOB3,3)(RBOB2,10)(RBOB3,12);250;70
  135.  
  136. /* ROOMOBJ: roomobjno,object_definition.... (see graal.main documentation)
  137. /*
  138. /*   The object number specified here must later be prefixed by "ROBJ" when
  139. /*   referred to in other statements and commands.
  140. /*
  141. ROOMOBJ: 1;plate;1;VIS;54;RBOB11;120;94;-10;20;12; ;NPICK;0;8;0;MID;TD;a;this;it
  142. ROOMOBJ: 2;torch;1;VIS;57;A 0,(RBOB2,17)(RBOB3,37);252;63;0;40;12; ;NPICK;9;8;0;HIGH;WD;a;this;it
  143. ROOMOBJ: 3;barrel;1;VIS;56;RBOB1;71;155;0;-8;11; ;NPICK;0;8;0;MID;WD;a;this;it
  144. ROOMOBJ: 4;bottle;1;VIS;21;RBOB21;186;85;-10;20;12; ;NPICK; ;8;0;HIGH;WD;a;this;it
  145. ROOMOBJ: 5;shelf;1;VIS;20;RBOB20;204;-25;-14;20;12; ;NPICK; ;8;0;HIGH;WD;a;this;it
  146. ROOMOBJ: 6;mugs;1;VIS;22;RBOB23;169;95;-8;20;12; ;NPICK; ;8;0;HIGH;TD;some;these;them
  147.  
  148.  
  149. /* DACT: condition;...;action;...
  150. /*
  151. /*   These lines contain room actions performed directly as you enter the
  152. /*   room.
  153. /*
  154. /* If we've been outside, we KNOW this is a bar...
  155. DACT: IFRF 1=1;OBJ1 5;NAME bartender;OBJ1 0
  156. /*
  157. /* Introductory cutscene - welcome to Constantinople!
  158. DACT: IFRF 1=0;CUTSCENE 1,N
  159. /*
  160. /* Put some items in the inventory from the very start:
  161. DACT: IFRF 1=0;GET SOBJ2,N;GET 24,U
  162. /*
  163. /* Make sure none of the above happens more than once...
  164. DACT: IFRF 1=0;SETRF 1=1
  165. /*
  166. /* Broken bottle on the floor? (Because it's a room object, we must
  167. /* use a room flag to check its status - all its own object flags
  168. /* are reset as soon as Olaf leaves the bar!
  169. DACT: IFRF 9=1;SHOW ROBJ4,190,113,RBOB22
  170. /*
  171. /* Light up scene
  172. DACT: TRACK OFF;LIGHTS ON;EXIT
  173.  
  174. /* LINE: dlgno;lineno;line;reuseline;conditions
  175. /*
  176. /*   Specifies a line of dialogue
  177. /*
  178. /* LACT: dlgno;lineno;action;...;action
  179. /*
  180. /*   Specifies a line executed when the corresponding LINE
  181. /*   has been selected by the player. LACT:s belonging to a
  182. /*   certain LINE: must ALWAYS be placed directly below the
  183. /*   corresponding LINE: statement as shown here.
  184. /*
  185. /* 1 is bartender dialogue
  186. /*
  187. LINE: 1;1;Thank you very much.;Never mind.; 
  188. LACT: 1;1;IFOF 1=0;RESP R,1,Don't mention it.;SETOF 1=1;EDLG;EXIT
  189. LACT: 1;1;IFOF 1=1;RESP R,1,As if I ever did.;EDLG;EXIT
  190. /*
  191. LINE: 1;2;A pint of anything but mead, please.; ; 
  192. LACT: 1;2;RESP R,1,Sorry, the bar is closed.;RESP R,1,It's been closed for quite a while, actually.;RESP R,1,Perhaps you are not aware that it is eleven o'clock...;RESP R,1,...the morning after!;DSET 1,+1,+6,N2
  193. /*
  194. LINE: 1;3;What is this place?;Where did you say I was?; 
  195. LACT: 1;3;RESP R,1,You are in the bar, of course.;NAME bartender;RESP R,1,Every good adventure game has one, you know...;RESP R,1,Monkey Island...;RESP R,1,...Cruise for a Corpse...;RESP R,1,...Simon the Sorcerer...
  196. LACT: 1;3;RESP R,1,This particular bar is called "The Last Bar in Constantinople".;DSET 1,+1,+2,+5
  197. /*
  198. LINE: 1;5;I'm just curious: Why "The Last Bar in Constantinople"?; ; 
  199. LACT: 1;5;RESP R,1,Well...;RESP R,1,...most guys that drink our mead the way you did last night just don't survive to try another one.;DSET 1,N5;EXIT
  200. /*
  201. LINE: 1;6;I don't suppose you could tell me what happened last night?;Uh - could you please repeat that thing about last night?; 
  202. LACT: 1;6;RESP R,1,Oh, nothing much happened.;RESP R,1,You drank a lot of mead...;RESP R,1,...you took part in a nice, friendly game of dice...
  203. LACT: 1;6;RESP R,1,...and if my memory serves me right, you lost your ship and crew to some salt merchant from Medina.
  204. LACT: 1;6;CBOB 11;W 12;SAY Oh, dear.;W 24;CBOB 14;IFOF 9,2=0;ADDRF 0,20,1
  205. LACT: 1;6;SETOF 9,2=1;DSET 1,+1
  206. /*
  207. LINE: 1;7;Do you know anything about the ship in the harbour?; ;IFOF 2=1
  208. LACT: 1;7;RESP R,1,Oh, you mean Rajah Singhs ship.;RESP R,1,Yes, everyone knows Rajah Singh.;RESP R,1,A wealthy man...
  209. LACT: 1;7;RESP R,1,...but rather a lousy captain, I'm afraid.;RESP R,1,He's better known for his turbans than his seamanship, that's for sure!;DSET 1,N7,+8,+10
  210. /*
  211. LINE: 1;8;What about Rajah Singh's turbans?; ; 
  212. LACT: 1;8;RESP R,1,Well, he spends a fortune on them, because he keeps loosing them all the time.;RESP R,1,Haven't you noticed? Go have a look, it's really fascinating.;DSET 1
  213. /*
  214. LINE: 1;9;What can you tell me about Ali Harrod?; ;IFOF 3=1
  215. LACT: 1;9;RESP R,1,Oh, he's quite nice, but a clever businessman.;RESP R,1,Mind you, he cares about his customers.
  216. LACT: 1;9;RESP R,1,He has special sales and campaigns quite often.;DSET 1,+10
  217. /*
  218. LINE: 1;10;Thanks for the information.; ; 
  219. LACT: 1;10;RESP R,1,Well, I wouldn't call it information. It's more gossip, really...;EDLG;EXIT
  220. /*
  221. LINE: 1;11;My head hurts.; ; 
  222. LACT: 1;11;RESP R,1,That's probably because you've been sleeping with your helmet on all night.;DSET 1,N11
  223. /*
  224. LINE: 1;12;Could you help me, please...; ; 
  225. LACT: 1;12;SAY ...I was supposed to be home about half a year ago or so.;RESP R,1,Well, I've heard about people being late for supper...;RESP R,1,...but that's plain ridiculous!;DSET 1,N12
  226.  
  227.  
  228.  
  229. /* Room actions follow below ***
  230. /*
  231. /* ACTION: verbno;condition;...;command;...
  232.  
  233. /*
  234. /* Action 0 - Exit
  235. /* ===============
  236. /*
  237. ACTION: 0;IFOBJ 1;MEXIT;GOTO 2,1
  238. /*
  239. /* Action 1 - Give
  240. /* ===============
  241. /*
  242. ACTION: 1;IFOBJ SOBJ3;IFOBJ2 5;IFNOTCARR;IFPICK;MOBJ;HANDLE;PICK;HANDLE -1
  243. ACTION: 1;IFOBJ SOBJ3;IFOBJ2 5;IFCARR;HOTSP RBOB18,0;MOBJ 5;SAY Here, have some nice mead.;HANDLE;W 50;RESP R,1,What? Do you really think I'm crazy enough to drink that stuff myself?;RESP R,1,Hah hah.;HANDLE -1;EXIT
  244. ACTION: 1;IFOBJ2 5;IFCARR;MOBJ 5;HANDLE;RESP R,1,Keep it, I don't want it!;HANDLE -1;EXIT
  245. /*
  246. /* Action 2- Pick up
  247. /* =================
  248. /*
  249. ACTION: 2;IFOBJ SOBJ3;ADDRF 0,20,1
  250. ACTION: 2;IFOBJ ROBJ6;SAY I have no need for a lot of dirty mugs.;EXIT
  251. ACTION: 2;IFOBJ ROBJ4;IFRF 9=0;MOBJ;HANDLE;SHOW ROBJ4,190,113,RBOB22;W 50;HANDLE -1;MOBJ;SAY Ooops!;SETRF 9=1;EXIT
  252. ACTION: 2;IFOBJ ROBJ4;IFRF 9=1;SAY I would only cut myself.;EXIT
  253. ACTION: 2;IFOBJ 1;MOBJ;SAY It seems a little pointless, but OK!
  254. ACTION: 2;IFOBJ ROBJ1;IFOF 1=0;VERB 8;REDO
  255. ACTION: 2;IFOBJ ROBJ1;SAY Not on your life, mate! Didn't you see what's on it?;EXIT
  256. /*
  257. /* Action 3 - Use
  258. /* ==============
  259. /*
  260. ACTION: 3;IFOBJ ROBJ1;IFOF 1=0;VERB 8;REDO
  261. ACTION: 3;IFOBJ ROBJ1;SAY I can't think of ANY use for spam!;EXIT
  262. ACTION: 3;IFOBJ ROBJ2;SAY It seems to me like it's in full use already.;EXIT
  263. ACTION: 3;IFOBJ SOBJ2;SAY I have a feeling I've spent enough money in here already...;EXIT
  264. ACTION: 3;IFOBJ 1;IFOF 1=0|1;SAY I really don't see how that could work...;EXIT
  265. ACTION: 3;IFOBJ 24;IFOBJ2 1;IFNOTCARR 1;OBJ1 1;MOBJ;HANDLE;PICK;W 25;HANDLE -1;OBJ1
  266. /*
  267. /* Action 4 - Open
  268. /* ===============
  269. /*
  270. /* Action 5 - Talk to
  271. /* ==================
  272. /*
  273. ACTION: 5;IFOBJ 5;IFOF 1=0;MOBJ;SAY Hello.;RESP R,1,Hello, yourself.;DSET 1,+3,+7,+9,+11,+12;EXIT
  274. ACTION: 5;IFOBJ 5;IFOF 1=1;MOBJ;SAY Hello again.;RESP R,1,Well, hello there. Feeling better?;DSET 1;EXIT
  275. /*
  276. /* Action 6 - Push
  277. /* ===============
  278. /*
  279. ACTION: 6;IFOBJ ROBJ3;MOBJ;HANDLE;W 50;HANDLE -1;SAY It doesn't move.;EXIT
  280. /*
  281. /* Action 7 - Close
  282. /* ================
  283. /* Test of quit command!!!
  284. ACTION: 7;IFOBJ ROBJ1;SAY OK, I'm quitting now!!;QUIT;EXIT
  285. /*
  286. /* Action 8 - Look at
  287. /* ==================
  288. /*
  289. ACTION: 8;MOBJ
  290. ACTION: 8;IFOBJ ROBJ5;IFRF 9=0;SAY 99 bottles of beer on the shelf.;EXIT
  291. ACTION: 8;IFOBJ ROBJ5;IFRF 9=1;SAY 98 bottles of beer on the shelf.;EXIT
  292. ACTION: 8;IFOBJ ROBJ4;IFRF 9=0;SAY One easily accessible bottle of beer.;EXIT
  293. ACTION: 8;IFOBJ ROBJ4;IFRF 9=1;SAY One broken beer bottle.;EXIT
  294. ACTION: 8;IFOBJ ROBJ6;SAY This guy has some washing up to do.;EXIT
  295. ACTION: 8;IFOBJ ROBJ2;SAY It doesn't give me any bright ideas, unfortunately.;EXIT
  296. ACTION: 8;IFOBJ ROBJ3;SAY It's just an empty barrel used as a table.;EXIT
  297. ACTION: 8;IFOBJ 5;SAY I doesn't matter how much he polishes that mug...;SAY ...he'll never get it clean using a rug that dirty!;EXIT
  298. ACTION: 8;IFOBJ ROBJ1;SAY There is spam on this plate.;W 50;SAY I hate spam!;SETOF 1=1;EXIT
  299. /*
  300. /* Action 9 - Pull
  301. /* ===============
  302. /*
  303. ACTION: 9;MOBJ
  304. ACTION: 9;IFOBJ ROBJ2;SAY It's stuck to the wall - and I don't want it anyway.;EXIT
  305. ACTION: 9;IFOBJ ROBJ3;SAY It would only tip over and probably crush me!;EXIT
  306.  
  307.  
  308. ACTION: 10;TEXT -1,0,9,You have scored #R#0#20# points so far.;EXIT
  309. /*
  310. /* End of room file. Some comments must be here, otherwise  the last command
  311. /* line is missed out!
  312.