/* /* This is the graal.main script file for Olaf Longhair, /* the first ever GRAAL Graphic Adventure. Heavily annotated. /* /* If there's a statement or command that you wish to know more /* about, just put the cursor over the statement or command name and /* press the HELP key. (This requires the GRAAL.guide file to be /* in the same directory as the script file and the editor...) /* /* ===================================================================== */ /* */ /* General adventure and player interface set-up comes first... */ /* */ /* ===================================================================== */ /* DEBUG: /* /* Ensures the monitor and trace facilities are available even if /* the game should happen to be encrypted... Use when testing only!!! /* DEBUG: /* NAME: string /* /* The name of the adventure /* NAME: "Olaf Longhair Goes East" /* VERSION: string /* /* The version number of the adventure /* VERSION: Demo 2.2 /* START_ROOM: roomnumber;entrance /* /* This is the room where the whole adventure starts /* START_ROOM: 18;1 /* MAX_CACHE: number of files /* /* This number is the maximum number of files to be /* buffered in RAM: of machines with memory to spare. /* /* A good practice is to set to 0 during development /* and to 100 when playing (or testing without altering /* too much in the files). /* /* Normally, the true number of cached files are /* calculated according to the available memory - if /* you have put together a weird game where your /* files average more then 50K, you may want to lower /* the cache to just a few files - say 10 or 20. Normally, /* 100 should be just fine, though. /* MAX_CACHE: 100 /* NTSC_TIMING: YES|NO /* /* Makes most pauses equally long when the game runs under NTSC as /* opposed to PAL. All developers making games to run under both /* systems should set this to YES. Also, tracker modules should be /* timed with BPM timing. (Note: animations are NOT affected by this /* statement: They will still run 20% faster under NTSC. /* NTSC_TIMING: YES /* WALK_BUTTON: LEFT or RIGHT /* /* This is the button used for "walking about" /* WALK_BUTTON: LEFT /* Disable save and quit keyboard keys - always go via room 40 /* DISABLE_SAVE: /* DISABLE_QUIT: /* SYSTEM_TEXT: /* /* Alters system text in requesters etc. The text in message 0 is displayed /* when the player presses the [Help] key. /* 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." /* EXIT_COL: colour /* /* The colour of the text marking the exits /* EXIT_COL: 8 /* OBJ_COL: colour /* /* The colour of the text marking the objects /* OBJ_COL: 1 /* MAX_ROOM: rooms /* /* The highest room number used. Don't forget to alter this /* when higher numbered rooms are added to the game!! /* MAX_ROOM: 50 /* MAX_SECTION: sections /* /* The highest section number used. Don't forget to alter this /* as sections are added to the game! /* MAX_SECTION: 6 /* MAX_DACT: direct_actions /* /* The maximum number of DACT: statements used anywhere in a room or /* section file. Keep an eye on this value as your adventure /* gets more complex... /* MAX_DACT: 50 /* MAX_ACTION: actions /* /* The maximum number of ACTION: statements used anywhere in a /* room or section file. Keep an eye on this value as your adventure /* gets more complex... /* MAX_ACTION: 150 /* MAX_DLG: dialogue_number /* /* Highest dialogue number used in the game. /* MAX_DLG: 30 /* N_DIALOGUES: number;lines;actions /* /* Sets the limits for dialogues /* N_DIALOGUES: 6;30;90 /* GLOBALOBJS: number /* /* Specifies the number of global objects. These are the /* objects which can be used throughout the whole adventure, /* and also all objects with which you can talk using dialogues /* GLOBALOBJS: 50 /* SECTIONOBJS: number /* /* Specifies the number of objects that only exists when /* visiting a certain section. /* /* Note that all object flags, new /* names and states are lost when the section is exited, /* so any states must be saved and restored using /* room flags!!! /* SECTIONOBJS: 10 /* ROOMOBJS: number /* /* Specifies the number of objects that only exist within one room. /* Note that no altered flags, states or names for these objects /* remain between visits to the room: Any state changes must /* be saved and stored using room flags!!! /* ROOMOBJS: 20 /* N_GLOBALBOBS: number /* /* Specifies the number of global BOBs that can be /* used. /* N_GLOBALBOBS: 90 /* N_SECTIONBOBS: number /* /* Specifies the number of section BOB images. These are /* replaced each time the game enters a new section. /* N_SECTIONBOBS: 30 /* N_ROOMBOBS: number /* /* Specifies the number of room BOB images. These are /* always replaced when entering a new room. /* N_ROOMBOBS: 70 /* MSGFONT: fontname;fontsize /* /* This is the font used for text displayed in the scene area /* by SAY, THINK, RESP and TEXT commands. /* /* The specified font and fontsize must be installed in the /* FONT drawer of the currently used boot disk. Also, remember /* to run FIXFONTS on the FONTS: drawer, or it won't work. /* MSGFONT: xen;8 /* COMFONT: fontname;fontsize /* /* This is the font used for the text displayed in the /* command area. /* /* The specified font and fontsize must be installed in the /* FONT drawer of the currently used boot disk. Also, remember /* to run FIXFONTS on the FONTS: drawer, or it won't work. /* COMFONT: garnet;9 /* TITLEFONT1: fontname;fontsize /* /* This font can be used by TYPE and other commands. /* /* The specified font and fontsize must be installed in the /* FONT drawer of the currently used boot disk. Also, remember /* to run FIXFONTS on the FONTS: drawer, or it won't work. /* TITLEFONT1: olaf;27 /* TITLEFONT2: fontname;fontsize /* /* This font can be used by TYPE and other commands. /* /* The specified font and fontsize must be installed in the /* FONT drawer of the currently used boot disk. Also, remember /* to run FIXFONTS on the FONTS: drawer, or it won't work. /* TITLEFONT2: times;14 /* CLPART: filename /* /* This is the screen from which all subsequent BOB images /* are grabbed. Once you've grabbed the graphics /* BOBS, another CLPART and further BOBS may be specified... /* CLPART: Olaf_Original.iff /* BOBS: no;startbob;x1;y1;w;h;x-offset;hotspot /* /* This statement grabs a single BOB image or a horizontally arranged /* sequence of BOBs. /* /* Olaf BOBS: 10;11;1;1;31;47;32;0 BOBS: 10;21;1;49;31;47;32;0 BOBS: 10;31;1;97;31;47;32;0 /* ...and the new mouse pointers CLPART: Olaf_cursors.iff BOBS: 1;59;23;16;17;17;0;0 BOBS: 1;60;3;16;17;17;0;0 /* Graphics for highlighted commands CLPART: olafcommhi.iff BOBS: 1;61;17;18;54;23;84;0 BOBS: 1;62;85;19;40;19;84;0 BOBS: 1;63;144;19;30;19;84;0 BOBS: 1;64;192;19;35;19;84;0 BOBS: 1;65;241;19;32;19;84;0 BOBS: 1;66;10;41;42;22;84;0 BOBS: 1;71;68;40;50;19;84;0 BOBS: 1;72;134;40;62;19;84;0 BOBS: 1;73;211;40;65;19;84;0 BOBS: 1;83;586;29;40;23;0;0 /* Inventory and dialogue arrows CLPART: Olaf_Symbols.iff BOBS: 2;67;163;5;18;15;23;0 BOBS: 2;69;163;21;18;15;23;0 /* Cutscene indicator BOBS: 1;6;89;1;59;29;0;$11 /* 41-49 Knife, feather, guide book, dictionary, net, ticket, envelope, map, parcel BOBS: 9;41;0;43;51;21;50;0 /* 50-53 wrapping paper, lamp, empty, passport BOBS: 4;50;0;63;51;21;50;0 /* AREA_SIZES: scene_height;command_height /* /* Sets the proportions of the split-screen display /* AREA_SIZES: 120;80 /* COMMAND_AREA: file /* /* Specify the name of the picture file containing the graphics /* for the command area. /* COMMAND_AREA: Olafcomm.iff;BUFFERED /* DLG_AREA: file /* /* Specify the name of the picture file containing the graphics /* for the dialogue input area. /* DLG_AREA: Olafdlg.iff /* RESOURCE: file /* /* This file is a resource bank used for /* dialogue boxes, requesters, etc. /* /* DEFAULT means GRAAL's built-in bank will be used - this /* produces gray-scale, "neutral" requesters. /* RESOURCE: DEFAULT /* INV_LAYOUT: x1;y1;x2;y2;rows;cols;ICONS|TEXT;VERTICAL|HORIZONTAL; /* ink/image_number;bg /* /* This statement defines the layout of the inventory in the /* command area. VERTICAL|HORIZONTAL determines the scroll /* direction. image_number is the image number of the icon /* used for vacant slots in the inventory list. /* INV_LAYOUT: 320;20;569;59;2;5;ICONS;VERTICAL;52;8 /* INV_UP: x1;y1;w;h;image;image2 /* /* This defines the area and image for the inventory scroll "up" /* (or "left") arrow. /* /* "image" is the image when the function is available. /* "image2" is the image when the function is unavailable. /* INV_UP: 297;24;17;14;68;67 /* INV_DOWN: See "INV_UP:" /* INV_DOWN: 297;43;17;14;70;69 /* DLG_LAYOUT: x1;y1;x2;y2;rows;ink;bg;hi /* /* DLG_LAYOUT: 32;3;633;58;4;9;8;14 /* DLG_UP: Same as "INV_UP:", but for the dialogue alternatives. /* DLG_UP: 8;6;17;14;68;67 /* DLG_DOWN: See "DLG_UP:" /* DLG_DOWN: 8;43;17;14;70;69 /* N_VERBS: number /* /* Sets the number of verbs, or commands if you will, available /* to the player. If anything else than 9, A VERB_TEXT and a /* VERB_ZONE statement must be included for each verb. (9 was /* the old GRAAL 1 default.) /* N_VERBS: 10 /* VERB_TEXT: verb_no;text /* VERB_TEXT: 1;Give /* /* VERB_ZONE: verb_no;x1;y1;x2;y2 /* /* This is the "clickable area" in the command area corresponding /* to the verb /* VERB_ZONE: 1;85;19;123;36;62;62;7 /* VERB_TEXT: 2;Pick up VERB_ZONE: 2;17;18;69;39;61;61;7 VERB_TEXT: 3;Use VERB_ZONE: 3;144;19;172;36;63;63;9 VERB_TEXT: 4;Open VERB_ZONE: 4;10;41;50;61;66;66;6 VERB_TEXT: 5;Talk to VERB_ZONE: 5;134;40;194;57;72;72;2 VERB_TEXT: 6;Push VERB_ZONE: 6;191;19;225;36;64;64;4 VERB_TEXT: 7;Close VERB_ZONE: 7;68;40;117;57;71;71;1 VERB_TEXT: 8;Look at VERB_ZONE: 8;211;40;274;57;73;73;3 VERB_TEXT: 9;Pull VERB_ZONE: 9;241;19;271;36;65;65;5 /* /* Verb 10 is used to access the save/load screen. The $ sign makes it /* a direct command not using objects, and there is no command name /* after the $ sign because we do not want it in the sentence box. /* VERB_TEXT: 10;$ VERB_ZONE: 10;586;29;624;50;83;83;0 /* LINE_LENGTH: characters /* /* This is the maximum number of characters on one line when /* text is displayed with SAY, THINK, etc. Line breaks are /* inserted automatically. You can control line breaks manually /* by providing \ characters in the string with shorter /* intervals than this number indicates. /* LINE_LENGTH: 34 /* NORMAL_WAIT: waitlength /* /* The larger this value, the longer texts and sentences /* spoken remain on screen. Default is 100: If that is not /* enough, try other nice, round numbers like 200 or 400. /* NORMAL_WAIT: 100 /* SENTENCE_LAYOUT: x1;y1;x2;y2;ink;inkhi;bg /* /* This is the box in the command area where the sentence /* under construction is being shown. /* SENTENCE_LAYOUT: 6;2;634;14;3;11;8 /* CUTSCENE_LAYOUT: x1;y1;x2;y2;bg;ulx;uly;image /* /* Specifies the properties of the cutscene indicator. /* x1;y1;x2;y2 is the area to be blanked out /* bg is the colour to use in blanking /* ulx;uly is the place to paste the indicator /* image is the image of the indicator. /* CUTSCENE_LAYOUT: 4;17;288;61;8;119;26;6 /* ARROW_CURSOR: image;hotspotx;hotspoty /* /* An alternative image for the arrow-shaped mouse pointer. /* Image must be lowres and 4 colours. Bot the x and y hotspot /* value must be set for the "sensitive point" of the cursor. /* ARROW_CURSOR: 60;0;0 /* CROSSHAIR_CURSOR: image;hotspotx;hotspoty /* /* An alternative image for the "crosshair" mouse pointer. /* Image must be lowres and 4 colours. Bot the x and y hotspot /* value must be set for the "sensitive point" of the cursor. /* CROSSHAIR_CURSOR: 59;7;7 /* CURSOR_PALETTE: RGB;RGB;RGB /* /* These are the three colour used for the mouse pointer in /* the command and dialogue area. In the scene area, the /* colours used are always colours 16,17, and 18 of the /* backdrop picture palette /* CURSOR_PALETTE: A00;555;BBB /* MODE_SWITCH: ROLL|INSTANT /* /* Sets the way the command area and dialogue area are switched /* MODE_SWITCH: INSTANT /* ===================================================================== */ /* */ /* Here is data describing the standard attributes of the main character */ /* */ /* ===================================================================== */ /* CHAR: number;obj;stimg;eimg;floor;ink;height;text_offset;width;walk_speed /* When using multiple controllable characters OR automatic 3D scaling, /* a CHAR: statement must be present for each controllable character. /* (The initially controlled character is character number 1.) /* /* Old users take notice: Using a CHAR: statement means you can delete /* your old CHARACTER_WIDTH:, CHARACTER_HEIGHT:, CHARACTER_COL: /* and WALK_SPEED: statements (as indeed I've done in this demo). /* CHAR: 1;18;11;40;1;1;37;0;22;1.2 /* SELECT_CHAR: YES|NO /* /* NO means the currently controlled character cannot be picked up /* by the cursor. /* SELECT_CHAR: NO /* STILL_xxxxx: BOB image /* /* These are the character's standard poses when faces in /* the respective direction. /* /* (Use prefix // to flip the image left/right) /* STILL_RIGHT: 14 STILL_LEFT: //14 STILL_BACK: 12 STILL_FRONT: 11 /* PAUSE_xxxxx: BOB image /* /* These are the character's standard poses when pausing /* between moves. (More "ready-for-action" poses than the /* STILL_xxxxxx images, although they may be the same if /* you like it that way.) /* /* (Use prefix // to flip the image left/right) /* PAUSE_RIGHT: 13 PAUSE_LEFT: //13 PAUSE_BACK: 12 PAUSE_FRONT: 11 /* WALK_xxxxx: amalsequence /* /* These are the default animation sequences for moving in the /* four main directions. /* WALK_RIGHT: A 0,(16,6)(15,6)(14,6)(17,6)(18,6)(17,6)(14,6)(15,6) WALK_LEFT: A 0,(//16,6)(//15,6)(//14,6)(//17,6)(//18,6)(//17,6)(//14,6)(//15,6) WALK_AWAY: A 0,(29,8)(30,8)(31,8)(30,8) WALK_TOWARD: A 0,(26,8)(27,8)(28,8)(27,8) /* TALK_MAP: stillimage;animation /* /* The speech animation used depends upon the still image /* displayed before it begins. This keyword maps the animations /* to the still images. Max. 8 talk_maps may be specified. /* direction is one of FRONT, BACK, RIGHT or LEFT. /* /* If imagenumbers point to reverse images, /* use prefix // to flip the image left/right. /* TALK_MAP: 11;A 0,(20,18)(11,12)(20,12)(11,6)(19,12)(11,12)(20,6)(11,6) TALK_MAP: 12;A 0,(21,24)(12,16)(22,36)(12,48)(22,18)(12,32) TALK_MAP: 13;A 0,(20,18)(11,12)(20,12)(11,6)(19,12)(11,12)(20,6)(11,6) TALK_MAP: //13;A 0,(20,18)(11,12)(20,12)(11,6)(19,12)(11,12)(20,6)(11,6) 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) 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) /* HANDLE_MAP: stillimage;handlelow;handlemid;handlehigh /* /* sets the animations for character handling things much the /* same way as TALK_MAP maps the speech animations. /* HANDLE_MAP: 11;A 1,(11,12)(36,1);A 1,(11,12)(34,1);A 1,(11,12)(35,1) HANDLE_MAP: 12;A 1,(12,12)(38,1);A 1,(12,12)(39,1);A 1,(12,12)(40,1) HANDLE_MAP: 14;A 1,(14,12)(32,1);A 1,(14,12)(33,1);A 1,(14,12)(37,1) HANDLE_MAP: //14;A 1,(//14,12)(//32,1);A 1,(//14,12)(//33,1);A 1,(//14,12)(//37,1) /* ===================================================================== */ /* */ /* Objects, dialogues, etc. set up below */ /* */ /* ===================================================================== */ /* OBJECT: no;name;startloc;visible;bob;startimg/anim;xpos;ypos; /* coffsx;coffsy;cstill;prep;pickable;animch;command;icon;handlepos; /* types;w1;w2;w3 /* OBJECT: 2;pawnshop\owner;2;NVIS;37;RBOB30;396;84;14;-10;//14; ;NPICK;7;5;0;MID;MV;a;this;him OBJECT: 3;guard;6;VIS;58;RBOB3;183;102;20;0;//14; ;NPICK;7;5;0;MID;MV;a;this;him 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 OBJECT: 7;Ali;4;VIS;59;A 1,(RBOB2,6);123;117;15;0;//14; ;NPICK;8;5;0;MID;MV; ; ;him 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 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 OBJECT: 14;fishnet;3;VIS;58;RBOB2;20;81;10;3;//14;with;PICK;0;8;45;MID;D;a;this;it OBJECT: 15;captain;3;VIS;57;PTRN 1;244;58;30;10;//14; ;NPICK;9;5;0;MID;MV;a;this;him OBJECT: 16;piece of\paper;8;VIS;56;RBOB6;66;119;12;0;//14;with;PICK;0;8;47;LOW;WD;an;this;it OBJECT: 18;Olaf;1;VIS;60;11;275;138;0;0;11; ;NPICK;1; ; ;MID;-; ; ; OBJECT: 21;feather;3;VIS;53;RBOB29;148;74;15;0;//14;with;PICK;0;8;42;LOW;D;a;this;it OBJECT: 24;small knife;0;NVIS;0;99;0;0;0;0;0;on;PICK;0;8;41;MID;TD;a;this;it OBJECT: 27;parcel;0;NVIS;0;0;0;0;0;0;0; ;PICK;0;8;49;MID;WD;a;this;it 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 OBJECT: 30;dictionary;0;NVIS;0;0;0;0;0;0;0;with;PICK;0;8;44;MID;WD;a;this;it /* DLG: no;obj;ink;y_offset;anim /* /* This sets up the characters and animations used /* as the various dialogue partners in RESP statements. /* /* 1 is bartender 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) /* 2 is nomad DLG: 2;9;21;-26;A 0,(RBOB4,24)(RBOB3,18)(RBOB4,30)(RBOB3,24)(RBOB5,6) /* 3 is captain DLG: 3;15;13;-20;A 0,(RBOB4,12)(RBOB22,24)(RBOB4,48)(RBOB22,36)(RBOB4,18)(RBOB23,12) /* 4 is Ali Harrod DLG: 4;7;19;-30;A 0,(RBOB3,24)(RBOB2,24)(RBOB3,12)(RBOB2,18)(RBOB4,24) /* 5 is pawn shop keeper DLG: 5;2;8;-20;A 0,(RBOB30,18)(RBOB31,12)(RBOB30,18)(RBOB31,16)(RBOB32,12) /* 6 is guard in mountain pass DLG: 6;3;21;-40;A 0,(RBOB1,36)(RBOB2,28)(RBOB1,22)(RBOB2,18)(RBOB1,48)(RBOB2,24)(RBOB3,64) /* ===================================================================== */ /* */ /* Here come the global actions, working everywhere */ /* */ /* ===================================================================== */ /* ACTION: verbno;condition;...;command;... /* /* ACTION -2 - Things to do after a "load game" /* -------------------------------------------- /* /* Action to put back the command area after a visit to save/load room. /* All roms that do not use the command area must set room flag 40,2=1, /* and all rooms that use it should set it =0 - this stops the command /* area from being shown temporarily when returning to marked positions /* in rooms that do not have the command area. /* ACTION: -2;IFRF 40,1=1;IFRF 40,2=0;COMAREA ON ACTION: -2;IFRF 40,1=1;SETRF 40,1=0;EXIT /* /* Trapping all attempts to use Olaf as an object /* ACTION: ?;IFOBJ 18;EXIT /* /* Action 1 - Give /* --------------- /* ACTION: 1;IFPICK;SAY I don't see the point.;EXIT ACTION: 1;SAY I can't do that.;EXIT /* /* Action 2- Pick up /* ----------------- /* ACTION: 2;IFCARR;SAY I already have it!;EXIT ACTION: 2;IFPICK;MOBJ;HANDLE;W 12;PICK;SOUND 1;HANDLE -1;EXIT ACTION: 2;IFTYPE F|M;SAY You can't really mean that!;EXIT ACTION: 2;IFTYPE -;SAY That was rather far-fetched, wasn't it?;EXIT ACTION: 2;SAY I can't pick that up.|Sorry, that is not possible.;EXIT /* /* Action 3 - Use /* -------------- /* ACTION: 3;IFOBJ 24; ;IFOBJ2 14;SAY Why destroy a good net?;EXIT ACTION: =;IFTYPE2 W;SAY I can't very well go around carving my initials in everything!;EXIT ACTION: =;IFTYPE2 T;SAY I think that would hurt the knife more than the #OBJ2!;EXIT ACTION: =;IFTYPE2 A;SAY I am not a vivisectionist!;EXIT ACTION: =;IFTYPE2 V;SAY That would be against the law - and also, very impolite.;EXIT ACTION: =;SAY I'm afraid I would only cut myself.;EXIT ACTION: 3;IFOBJ 28;SAY No, I don't feel the need to wrap that up.;EXIT ACTION: 3;IFOBJ 30; ;IFTYPE2 A;SAY Sorry, but animal language is not included in this volume!;EXIT ACTION: =;IFTYPE2 V;SAY I am sure we will get along without it in this case.;EXIT ACTION: 3;IFTYPE -;SAY Get serious!;EXIT ACTION: 3;IFTYPE M|F;SAY You can't just use people like that!;EXIT ACTION: 3;SAY That doesn't work.|I don't know what you are getting at.|I can't use it like that.;EXIT /* /* Action 4 - Open /* --------------- /* ACTION: 4;IFOBJ 30;SAY It's no good if I don't use it with some foreign langauge;EXIT ACTION: 4;IFTYPE M|F|A;SAY Get real!;EXIT ACTION: 4;SAY I can't open #W13.|That is impossible.;EXIT /* /* Action 5 - Talk to /* ------------------ /* ACTION: 5:IFTYPE D;IFTYPE G;SAY I could, but #OBJ1 make a lousy audience!;EXIT ACTION: 5;IFTYPE G;SAY I'd rather not disturb them.;EXIT 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 ACTION: 5;IFTYPE F;SAY I have other things to do besides chatting up every woman I see!;EXIT ACTION: 5;IFTYPE M;SAY I sense some communication problems here - let's skip it!;EXIT ACTION: 5;SAY It does not seem very talkative.|I would be better off talking to a wall than a #OBJ1.;EXIT /* /* Action 6 - Push /* --------------- /* ACTION: 6;IFTYPE -;SAY You seem slightly delirious again!;EXIT ACTION: 6;IFTYPE M|F;SAY You can't go around pushing people like that!;EXIT ACTION: 6;IFTYPE A;SAY It might push back - or something worse.;EXIT 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 /* /* Action 7 - Close /* ---------------- /* ACTION: 7;IFTYPE M;SAY You mean shut him up? I don't think so...;EXIT ACTION: 7;IFTYPE F|A;SAY I can't do that.;EXIT ACTION: 7;SAY I can't close #W13.|That can't be done.;EXIT /* /* Action 8 - Look at /* ------------------ /* ACTION: 8;MOBJ ACTION: 8;IFOBJ 14;SAY It smells a bit, but it's a good, strong net.;EXIT ACTION: 8;IFOBJ 21;SAY It's an ordinary seagull's feather.;EXIT ACTION: 8;IFOBJ 24;SAY It is small, but Swedish blades bite, no matter what size!;EXIT ACTION: 8;IFOBJ 27;IFOF 1=1;SAY It is "The Hitchhiker's Guide to the Middle and Far East";EXIT ACTION: 8;IFOBJ 30;SAY "Anglo/Saxon/Hindi/Arabic/Nordic Dictionary and Phrase Book".;EXIT ACTION: 8;SAY I don't see anything special.|Just #W11 #OBJ1!|Nothing special to report.;EXIT /* /* Action 9 - Pull /* --------------- /* ACTION: 9;IFTYPE G;SAY What do you mean - pull their legs??;EXIT ACTION: 9;IFTYPE M;SAY What do you mean - pull his leg??;EXIT ACTION: 9;IFTYPE F;SAY What do you mean - pull her hair??;EXIT ACTION: 9;IFTYPE A;SAY No, it might pull back - or something worse.;EXIT 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 /* /* Action 10 - Game save/load/quit/info /* ------------------------------------ /* /* Room flag 40,1 is a reminder that the command area must be put back /* on screen after a LOAD or RESUME. /* /* MARK marks spot to be saved. /* /* EDLG ends dialogue mode if we came here by pressing the save/load /* short-cut key. The reason is, we can't use the buttons in the save/load /* room while in dialogue mode. Because we did EDLG after MARK, we will /* be returned to dialogue mode should we decide to RESUME where we left /* off! /* /* COMAREA OFF takes away the command area with the NF parameter. /* /* GOTO 40,1 (finally) goes to the load/save/score/quit room! /* ACTION: 10;SETRF 40,1=1;MARK;EDLG;COMAREA OFF;GOTO 40,1