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