/* /* 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... */ /* */ /* ===================================================================== */ /* NAME: string /* /* The name of the adventure /* NAME: "Olaf Longhair Goes East" /* VERSION: string /* /* The version number of the adventure /* VERSION: Demo 2.0 /* 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 /* WALK_BUTTON: LEFT or RIGHT /* /* This is the button used for "walking about" /* WALK_BUTTON: LEFT /* 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 /* START_ROOM: roomnumber;entrance /* /* This is the room where the whole adventure starts /* START_ROOM: 18;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: 15 /* MAX_DACT: direct_room_actions /* /* The maximum number of direct room actions used anywhere in a /* room file. Keep an eye on this value as your adventure /* gets more complex... /* MAX_DACT: 50 /* 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. Actual BOB numbers for these start with 11 and /* not 1, since BOB image bank slots 1-10 are reserved /* for system use. /* N_GLOBALBOBS: 60 /* 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: hires-5a;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. /* /* If the default setup of the command area is used, the following /* images must be loaded in using BOBS: statements: /* /* 3 - Up arrow for use in the command (and dialogue) area lists /* 4 - Down arrow -"- /* 5 - Blank plate used to erase up and down arrows (1 and 2) /* 6 - Cut-scene indicator (a movie camera in Olaf). /* /* INV_UP:, INV_DOWN:, DLG_UP:, DLG_DOWN:, and CUTSCENE_LAYOUT: /* statements can be used to /* specify other bob image numbers for these tasks if you so wish. /* /* Let's grab 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 CLPART: Olaf_Symbols.iff /* Inventory and dialogue arrows 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 /* 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: 306;20;605;59;2;6;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: 283;24;17;14;68;67 /* INV_DOWN: See "INV_UP:" /* INV_DOWN: 283;43;17;14;70;69 /* 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 thenumber 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;6;18;83;30 VERB_TEXT: 2;Pick up VERB_ZONE: 2;90;18;167;30 VERB_TEXT: 3;Use VERB_ZONE: 3;174;18;251;30 VERB_TEXT: 4;Open VERB_ZONE: 4;6;33;83;45 VERB_TEXT: 5;Talk to VERB_ZONE: 5;90;33;167;45 VERB_TEXT: 6;Push VERB_ZONE: 6;174;33;250;45 VERB_TEXT: 7;Close VERB_ZONE: 7;6;48;83;60 VERB_TEXT: 8;Look at VERB_ZONE: 8;90;48;167;60 VERB_TEXT: 9;Pull VERB_ZONE: 9;174;48;251;60 VERB_TEXT: 10;$Score VERB_ZONE: 10;616;18;634;60 /* 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;253;61;8;101;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: 811;999;DDD /* MODE_SWITCH: ROLL|INSTANT /* /* Sets the way the command area and dialogue area are switched /* MODE_SWITCH: ROLL /* 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 /* 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 RESOURCE: Wood.Rsb /* ===================================================================== */ /* */ /* Here is data describing the standard attributes of the main character */ /* */ /* ===================================================================== */ /* CHARACTER_HEIGHT: pixels /* /* approximate or "average" height /* CHARACTER_HEIGHT: 40 /* CHARACTER_WIDTH: pixels /* CHARACTER_WIDTH: 22 /* CHARACTER_COL: colorindex /* /* Tells the colour of the dialogue text /* CHARACTER_COL: 9 /* STILL_xxxxx: BOB image /* /* These are the character's standard poses when faces in /* the respective direction. /* ($8000+hex number makes the image flip horisontally.) /* STILL_RIGHT: 14 STILL_LEFT: $800E 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.) /* ($8000+hex number makes the image flip horisontally.) /* PAUSE_RIGHT: 13 PAUSE_LEFT: $800D 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,($8010,6)($800F,6)($800E,6)($8011,6)($8012,6)($8011,6)($800E,6)($800F,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) /* WALK_SPEED: characterspeed /* /* Adjust this number to match the animation speed, making the /* character actually walk around rather than "float about". /* WALK_SPEED: 1.2 /* 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, the correct form is $FFFF8000+$imagenumber /* 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: $FFFF800D;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: $FFFF800E;A 0,($8017,18)($800E,12)($8017,12)($800E,6)($8017,12)($800E,12)($8017,6)($800E,12)($8018,6)($800E,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: $FFFF800E;A 1,($800E,12)($8020,1);A 1,($800E,12)($8021,1);A 1,($800E,12)($8025,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 /* /* This is the data for an object. /* no = object number, used in coding so if you change this be sure /* to change or erase all code that goes with it... /* name = a string containing the (initial) inventory name for the object /* startloc = object starts in room number ... /* visible = is the object shown? NVIS = False, VIS = True /* startbob = starting bob number for displaying object /* startimg/startanim = bob image or amalsequence used for this object. /* LBOBs can be used, as long as these LBOB numbers /* are valid for each and every room where the /* object can appear! /* xpos;ypos = display object in this position. /* coffs;coffsy = offset of character relative object when handling /* cstill = still image of character when walking to object /* prep = object preposition. If not blank, "Use" will require 2nd object /* pickable = Can character pick this up? NPICK = False, PICK = True /* animch = Amal channel to use for this object /* command = This is the verb executed if the player right-clicks the /* object. 0 for no "quick command" /* icon = This is the image number for the icon used in the /* inventory display. /* handlepos: LOW, MID or HIGH determines animation for handling object. /* type = string of characters indicating object type. /* Standard types: M=male character, F=female character, G=group /* A=animal, C=container, D=Dead, V=Alive /* -=Abstract (unreachable, consisting of air, etc.) /* Other types: S=Stone, W=Wood, T=Metal, L=Liquid, - it's up to you. /* w1;w2;w3 = have to look these up in the grammar book. Anyway, deals with /* how you speak about the objects, as you can see 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 0 is a dummy object - icon image used for "empty places" in the /* inventory display. /* OBJECT: 1;passport;0;NVIS;50;0;0;0;0;0;0;with;PICK;0 ;8;53;LOW;WD;a;this;it OBJECT: 2;pawnshop\owner;2;NVIS;37;RBOB30;396;84;14;-10;$800E; ;NPICK;7;5;0;MID;MV;a;this;him OBJECT: 3;guard;6;VIS;58;RBOB3;183;102;20;0;$800E; ;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;$800E; ;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;$800E; ;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;$800E; ;NPICK;8;8;0;MID;AV;a;this;it OBJECT: 14;fishnet;3;VIS;58;RBOB2;20;81;10;3;$800E;with;PICK;0;8;45;MID;D;a;this;it OBJECT: 15;captain;3;VIS;57;PTRN 1;244;58;30;10;$800E; ;NPICK;9;5;0;MID;MV;a;this;him OBJECT: 21;feather;3;VIS;53;RBOB29;147;74;15;0;$800E;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;dlgobj;dlgcol;dlgoffs;dlganim /* /* This sets up the characters and animations used /* by the various dialogue partners. You MUST one DLG statement /* for each dialogue there is, but you can actually use any of them /* in any of the RESP statements of any dialogue! (Flexible, but /* not really that useful.) /* /* dlgcol = the colour index of the dialogue text /* dlgoffs = dialogue text offset from character hotspot /* /* 1 is bartender 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) /* 2 is nomad DLG: 2;9;11;-26;A 0,(RBOB4,24)(RBOB3,18)(RBOB4,30)(RBOB3,24)(RBOB5,6) /* 3 is captain DLG: 3;15;12;-20;A 0,(RBOB4,12)(RBOB22,24)(RBOB4,48)(RBOB22,36)(RBOB4,18)(RBOB23,12) /* 4 is Ali Harrod DLG: 4;7;11;-30;A 0,(RBOB3,24)(RBOB2,24)(RBOB3,12)(RBOB2,18)(RBOB4,24) /* 5 is pawn shop keeper DLG: 5;2;11;-20;A 0,(RBOB30,18)(RBOB31,12)(RBOB30,18)(RBOB31,16)(RBOB32,12) /* 6 is guard in mountain pass DLG: 6;3;11;-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" /* -------------------------------------------- /* Check if Olaf is small (This code is only duplicated once, so i put it /* right in the ACTION: statement.) /* 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 /* Check if Olaf is big (This code is used in more places, and therefore /* it was put in an "unskippable" cutscene.) /* ACTION: -2;IFRF 0,1=0;CUTSCENE 17,H;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;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: 3;IFOBJ 24;IFTYPE2 W;SAY I can't very well go around carving my initials in everything!;EXIT ACTION: 3;IFOBJ 24;IFTYPE2 T;SAY I think that would hurt the knife more than the #OBJ2!;EXIT ACTION: 3;IFOBJ 24;IFTYPE2 A;SAY I am not a vivisectionist!;EXIT ACTION: 3;IFOBJ 24;IFTYPE2 V;SAY That would be against the law - and also, very impolite.;EXIT ACTION: 3;IFOBJ 24;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: 3;IFOBJ 30;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 #OBJ1.|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 - Score /* ----------------- /* ACTION: 10;TEXT -1,0,11,You have scored #R#0#20# points so far.;EXIT /* End of boot file - There must be some comments here, otherwise the last /* command is not regarded.