# ---[ JACL LIBRARY FILE Release 12, Copyright (C) Stuart Allen 1990-2001 ]--- filter the filter a variable INDEX variable OB1 variable OB2 variable OB3 variable OB4 variable OXYGEN_LEFT variable WAY variable DIRECTION variable DESTINATION constant TACL 1 constant JACL 2 constant NORTH 0 constant SOUTH 1 constant EAST 2 constant WEST 3 constant NORTHEAST 4 constant NORTHWEST 5 constant SOUTHEAST 6 constant SOUTHWEST 7 constant UP 8 constant DOWN 9 constant IN 10 constant OUT 11 synonym onto on synonym into in synonym inside in synonym using with synonym me myself synonym gentleman man synonym 1 one synonym 2 two synonym 3 three synonym 4 four synonym 5 five synonym 6 six synonym 7 seven synonym 8 eight synonym 9 nine synonym 10 ten synonym taek take synonym all everything synonym speak talk synonym depress press synonym w west synonym e east synonym s south synonym se southeast synonym sw southwest synonym n north synonym ne northeast synonym nw northwest synonym u up synonym d down synonym l look synonym beneath under {+push_object if player(parent) = noun4(parent) if here hasnt DARK write
noun4{The} execute +to_direction else write "
You hear the footsteps nearby.^" endif set noun4(parent) = DESTINATION if player(parent) = noun4(parent) if here hasnt DARK write
noun4{The} execute +from_direction else write "
You hear the footsteps nearby.^" endif endif } {+to_direction if DIRECTION = NORTH write " heads off to the north.
^" break endif if DIRECTION = NORTHEAST write " heads off to the northeast.^" break endif if DIRECTION = EAST write " heads off to the east.^" break endif if DIRECTION = SOUTHEAST write " heads off to the southeast.^" break endif if DIRECTION = SOUTH write " heads off to the south.^" break endif if DIRECTION = SOUTHWEST write " heads off to the southwest.^" break endif if DIRECTION = WEST write " heads off to the west.^" break endif if DIRECTION = NORTHWEST write " heads off to the northwest.^" break endif if DIRECTION = UP write " heads up from here.^" break endif if DIRECTION = DOWN write " heads down from here.^" } {+from_direction if DIRECTION = NORTH write " enters from the south.^" break endif if DIRECTION = NORTHEAST write " enters from the southwest.^" break endif if DIRECTION = EAST write " enters from the west.^" break endif if DIRECTION = SOUTHEAST write " enters from the northwest.^" break endif if DIRECTION = SOUTH write " enters from the north.^" break endif if DIRECTION = SOUTHWEST write " enters from the northeast.^" break endif if DIRECTION = WEST write " enters from the east.^" break endif if DIRECTION = NORTHWEST write " enters from the southeast.^" break endif if DIRECTION = UP write " enters from below.^" break endif if DIRECTION = DOWN write "enters from above.^" } {+exits set INDEX = false write "YOU CAN GO: " if here(north) != nowhere hyperlink NORTH "go+north" write " " set INDEX = true endif if here(south) != nowhere hyperlink SOUTH "go+south" write " " set INDEX = true endif if here(east) != nowhere hyperlink EAST "go+east" write " " set INDEX = true endif if here(west) != nowhere hyperlink WEST "go+west" write " " set INDEX = true endif if here(up) != nowhere hyperlink UP "go+up" write " " set INDEX = true endif if here(down) != nowhere hyperlink DOWN "go+down" write " " set INDEX = true endif if here(in) != nowhere hyperlink IN "go+in" write " " set INDEX = true endif if here(out) != nowhere hyperlink OUT "go+out" write " " set INDEX = true endif if here(northeast) != nowhere hyperlink NORTHEAST "go+northeast" write " " set INDEX = true endif if here(northwest) != nowhere hyperlink NORTHWEST "go+northwest" write " " set INDEX = true endif if here(southeast) != nowhere hyperlink SOUTHEAST "go+southeast" write " " set INDEX = true endif if here(southwest) != nowhere hyperlink SOUTHWEST "go+southwest" set INDEX = true endif if INDEX = false write "NOWHERE!" endif write "
^" } {+list_here write "" } {+list_held write "" } {+darkness if here has DARKNESS execute "+no_light" break endif break false } {+reach if noun4 has OUT_OF_REACH writenoun4{The} " " noun4{is} " out of reach.
^" set TIME = false break endif break false } {+worn if noun4 has WORN write "You must first remove " noun4{the} .
^ set TIME = false break endif break false } location limbo : limbo object north_wall: north north wall short the "north wall" object south_wall: south southern wall short the "south wall" object east_wall: east eastern wall short the "east wall" object west_wall: west western wall short the "west wall" object ground: ground floor has SURFACE short the "ground" grammar shake *held >shake grammar wave *held >shake {+shake write "Consider it done.
^" } grammar say xyzzy >xyzzy grammar xyzzy >xyzzy {+xyzzy write "Suddenly a magical white glove appears floating in the air before " write "you, slaps you several times across the face, then disappears.
^" } grammar verbose >verbose {+verbose if DISPLAY_MODE = 1 write "Display mode already set to verbose.
^" break endif write "Display mode set to verbose.
^" set DISPLAY_MODE = 1 look } grammar brief >brief {+brief if DISPLAY_MODE = 0 write "Display mode already set to brief.
^" break endif write "Display mode set to brief.
^" set DISPLAY_MODE = 0 } grammar help *present >help_other {+help_other write "How did you intend to help " noun1{the} ?
^ } grammar hint *present >hint {+hint write "There is no specific hint available for " noun1{the} .
^ set TIME = false } grammar hint >first_hint grammar hint one >first_hint {+first_hint write "There is no hint available specific to this location.
^" set TIME = false } grammar hint two >second_hint {+second_hint write "There is no second hint available for this location.
^" set TIME = false } grammar hint three >third_hint {+third_hint write "There is no third hint available for this location.
^" set TIME = false } grammar hint four >fourth_hint {+fourth_hint write "There is a maximum of three hints for each location.
^" set TIME = false } grammar help games >help_games {+help_games write "`GAMES' REFERS TO MODELS, SIMULATIONS AND GAMES WHICH HAVE TACTICAL " write "AND STRATEGIC APPLICATIONS.
^" } grammar hug *present >hug grammar comfort *present >hug grammar cuddle *present >hug grammar console *present >hug {+hug break +darkness break +reach noun1 override if noun1 hasnt ANIMATE write "Odd.
^" break endif write "I'm sure " noun1{the} " feel" noun1{s} " a whole lot better now.
^" } grammar kiss *present >kiss {+kiss break +darkness break +reach noun1 override write "Hmmmmmm...
^" } grammar pick *present with *held >pick_with {+pick_with break +darkness break +reach noun1 override write "You can't pick " noun1{the} " with " noun2{the} .
^ } grammar rub *present >rub grammar pat *present >rub {+rub break +darkness break +reach noun1 override write "I'm sure " noun1{the} " " noun1{is} " feeling a lot better now.
^" } grammar rub *held on *present >rub_on {+rub_on break +darkness override proxy "rub " noun2 " with " noun1 } grammar rub *present with *held >rub_with {+rub_with break +darkness break +reach noun1 override write "They both just get a little warmer.
^" } grammar lick *present >lick grammar taste *present >lick {+lick break +darkness break +reach noun1 override write "Yeuucck!
^" } grammar pull *present >pull grammar tug *present >pull {+pull break +darkness break +reach noun1 override write "You can't pull " noun1{the} .
^ } grammar cut *present >cut grammar chop *present >cut grammar stab *present >cut {+cut write "What did you want to cut " noun1{the} " with?
^" set TIME = false } grammar cut *present with *held >cut_with grammar chop *present with *held >cut_with grammar stab *present with *held >cut_with {+cut_with break +darkness break +reach noun1 override if noun1 has ANIMATE proxy "attack " noun1 " with " noun2 break endif write "Vandal!
^" set TIME = false } grammar break *present >break grammar kick *present >break grammar smash *present >break grammar crush *present >break grammar destroy *present >break grammar wreck *present >break grammar crack *present >break grammar tear *present >break grammar tear up *present >break grammar tear *present up >break {+break break +darkness break +reach noun1 override write "Don't be so destructive.
^" set TIME = false } grammar clean *present >clean grammar wash *present >clean grammar wipe *present >clean grammar scrub *present >clean grammar polish *present >clean {+clean break +darkness break +reach noun1 override if noun1 has LIQUID write "How do you clean a liquid?
^" set TIME = false break endif override write "That's very thoughtful of you.
^" } grammar clean *present with *held >clean_with grammar wipe *present with *held >clean_with grammar scrub *present with *held >clean_with grammar brush *present with *held >clean_with {+clean_with break +darkness break +reach noun1 override if noun1 has LIQUID write "How do you clean a liquid?
^" set TIME = false break endif override write "You can't clean " noun1{the} " with " noun2{the} .
^ set TIME = false } grammar yell at *present >yell_at grammar scream at *present >yell_at {+yell_at write "Oooo, scary...
^" } grammar pay *present >pay {+pay write "You can't pay " noun1{the} .
^ } grammar order *carried >order grammar buy *carried >order grammar order *anywhere >order grammar buy *anywhere >order {+order write "Your order appears to have fallen on deaf ears.
^" } grammar knock on *present >knock_on grammar tap on *present >knock_on grammar tap *present >knock_on {+knock_on break +darkness break +reach noun1 override if noun1 has LIQUID write "A wet hand is your only reward.
^" break endif write "Devastatingly productive...
^" } grammar play *present >play {+play break +darkness override write "You can't play " noun1{the} .
^ set TIME = false } grammar extract *here with *held >take_with grammar get *here with *held >take_with grammar take *here with *held >take_with grammar remove *present with *held >take_with grammar empty *present with *held >take_with {+take_with proxy "fill " noun2 " with " noun1 } grammar fill *held from *present >fill_from {+fill_from break +darkness execute +liquid noun2 if INDEX = false writenoun2{The} " " noun2{doesnt} "contain a liquid to fill " noun1{the} write " with.
^" set TIME = false break endif proxy "fill " noun1 " with " noun3 } grammar fill *held with *present >fill_with {+fill_with break +darkness break +reach noun2 if noun1 hasnt CONTAINER writenoun1{The} " " noun1{isnt} " a container and therefore can't be " write "filled.
^" break endif if noun1 has CLOSED write "You can't fill " noun1{the} " while " if noun1 has PLURAL write "they are" else write "it is" endif write " closed.
^" set TIME = false break endif if noun2 hasnt LIQUID write "You can only fill " noun1{the} " with a liquid.
^" break endif execute +liquidwrite noun1 if INDEX = true writenoun1{The} " already contains " noun3{the} ". If you were to also " write "add " noun2{the} " they would mix together.
^" set TIME = false break endif if noun1(quantity) < noun2(mass) writenoun1{The} " " noun1{isnt} " large enough to hold " write noun2{the} .
^ set TIME = false break endif override write "You fill " noun1{the} " with " noun2{the} .
^ move noun2 to noun1 } {+liquid? set INDEX = false loop if noun3(parent) = noun4 if noun3 has LIQUID set INDEX = true break endif endif endloop } grammar fill *present >fill {+fill break +darkness override write "What did you want to fill " noun1{the} " with?
^" set TIME = false } grammar stand >stand grammar stand up >stand grammar get up >stand {+stand if player has SITTING write "Using your arms to push yourself up, you stand.
^" ensure player hasnt SITTING break endif write "You are already standing.
^" } grammar sleep >sleep {+sleep write "There will be plenty of time for that later...
^" set TIME = false } grammar lie on *present >lie_on grammar lie down on *present >lie_on grammar sleep on *present >lie_on grammar sleep in *present >lie_on {+lie_on break +darkness break +reach noun1 override writenoun1{The} " " noun1{doesnt} " look like the ideal place to take a " write "nap.
^" } grammar sit >sit grammar sit down >sit {+sit set TIME = false if player has SITTING write "You are already sitting.
^" break endif if here has UNDER_WATER write "While underwater?
^" break endif if here has ON_WATER write "While in water?
^" break endif write "You plonk yourself down for a moment's rest.
^" ensure player has SITTING } grammar sit on *here >sit_on grammar sit in *here >sit_on {+sit_on break +darkness break +reach noun1 override writenoun1{The} " " noun1{doesnt} " look very comfortable.
^" } grammar drop everything >drop_all grammar put everything down >drop_all grammar put down everything >drop_all {+drop_all set TIME = false if here has MID_WATER : here has ON_WATER write "Dropping everything you own into the water probably isn't such " write "a great idea.
^" break endif set INDEX = 0 loop if noun3(parent) = player if noun3 hasnt WORN if noun3(mass) < heavy if TIME = true set TOTAL_MOVES + 1 execute +eachturn endif write "You drop " noun3{the} .
^ move noun3 to here set TIME = true set INDEX + 1 endif else write "You must first remove " noun3{the} .
^ set TIME = false set INDEX + 1 endif endif endloop if INDEX = 0 write "You are not carrying anything.
^" break } grammar drop *held >drop grammar throw *held >drop grammar put *held down >drop grammar put down *held >drop {+drop if noun1 has WEARABLE if noun1 has WORN write "You must first remove " noun1{the} .
^ set TIME = false break endif endif if noun1(mass) >= heavy : noun1 has LOCATION execute +move_scenery break endif override if here has MID_WATER : here has ON_WATER write "You drop " noun1{the} " which rapidly sink" noun1{s} " out of " write "view.
^" move noun1 to limbo break endif write "You drop " noun1{the} .^ move noun1 to here } grammar remove everything from *present >take_all_from grammar take everything from *present >take_all_from grammar get everything from *present >take_all_from grammar take everything out of *present >take_all_from grammar get everything out of *present >take_all_from grammar empty *present >take_all_from grammar take everything on *present >take_all_from grammar get everything on *present >take_all_from grammar take everything from on *present >take_all_from grammar get everything from on *present >take_all_from grammar take everything in *present >take_all_from grammar get everything in *present >take_all_from grammar take everything from in *present >take_all_from grammar get everything from in *present >take_all_from {+take_all_from set TIME = false break +darkness break +reach noun1 override if noun1 has ANIMATE write "
You will have to ask " noun1{the} " for anything that you write "want.
^" break endif if noun1 hasnt CONTAINER if noun1 hasnt SURFACE write "There isn't anything in " noun1{the} .
^ break endif endif if noun1 has CLOSED write "It's going to be a bit hard to take anything from " noun1{the} write " while " noun1{the} " " noun1{is} " closed."
^ break endif set INDEX = 0 loop if noun3(parent) = noun1 if noun3(mass) < heavy if noun3 hasnt LIQUID if noun3(mass) <= player(quantity) if TIME = true set TOTAL_MOVES + 1 execute +eachturn endif execute +take_routine set INDEX + 1 else write "You are carrying too much to take " noun3{the} .
^ set INDEX + 1 endif else write "" noun3{The} " run" noun3{s} " through your fingers.
^" set INDEX + 1 endif endif endif endloop if INDEX = 0 write "I don't see what you are referring to.
^" } grammar take everything >take_all grammar get everything >take_all {+take_all break +darkness set TIME = false set INDEX = 0 loop if noun3(parent) = here if noun3(mass) < heavy if noun3 hasnt LIQUID if TIME = true set TOTAL_MOVES + 1 execute +eachturn endif execute +take_routine set INDEX + 1 else write "" noun3{The} " run" noun3{s} " through your fingers.
^" set INDEX + 1 endif endif endif endloop if INDEX = 0 write "I don't see what you are referring to.
^" } {+take_routine break +reach noun3 if noun3(mass) > player(quantity) write "You are carrying too much to take " noun3{the} .
^ set TIME = false break endif break noun3.take override write "You take " noun3{the} .
^ set TIME = true move noun3 to player ensure noun3 has TOUCHED } grammar take *here >take grammar get *here >take {+take break +darkness break +reach noun1 if player has SITTING write "You will have to stand up first.
^" set TIME = false break endif if noun1(mass) >= heavy : noun1 has LOCATION execute +move_scenery break endif if noun1(mass) > player(quantity) write "You are carrying too much to take " noun1{the} .
^ set TIME = false break endif if noun1 has LIQUID writenoun1{The} " run" noun1{s} " through your fingers.
^" break endif override write "You take " noun1{the} .
^ move noun1 to player ensure noun1 has TOUCHED } {+move_scenery set TIME = false if noun1 has LOCATION write "That would be an impressive feat of strength.
^" break endif set noun3 = noun1(parent) set INDEX = noun3 if noun3 has LOCATION writenoun1{The} " " noun1{isnt} " something that you can pick up.
^" break endif writenoun1{The} " " noun1{is} " attached to " noun3{the} .
^ } grammar insert *held on *present >insert_on grammar put *held on *present >insert_on {+insert_on break +darkness break +reach noun2 if noun2 = noun1 write "Put " noun1{the} " on " if noun1 has PLURAL write "themselves?" else write "itself?" endif write " I don't think so.
^" set TIME = false break endif if noun2(parent) = noun1 write "I'm afraid that's just not possible.
^" set TIME = false break endif if noun1(mass) >= heavy : noun1 has LOCATION execute +move_scenery break endif break +worn noun1 if noun2 hasnt SURFACE write "There isn't a flat surface on " noun2{the} .
^ set TIME = false break endif if noun2(quantity) < noun1(mass) write "There is not enough room on " noun2{the} " for " noun1{the} .
^ set TIME = false break endif override write "You put " noun1{the} " on " noun2{the} .
^ move noun1 to noun2 } grammar insert *held in *present >insert_in grammar put *held in *present >insert_in {+insert_in break +darkness break +reach noun2 if noun1(mass) >= heavy : noun1 has LOCATION execute +move_scenery break endif if noun2 = noun1 write "Put " noun1{the} " in " if noun1 has PLURAL write "themselves?" else write "itself?" endif write "I don't think so.
^" set TIME = false break endif if noun2(parent) = noun1 write "I'm afraid that's just not possible.
^" set TIME = false break endif break +worn noun1 if noun2 = player write "I would ask how you intend to do that, but something tells me I " write "don't want to know.
^" set TIME = false break endif if noun2 hasnt CONTAINER writenoun2{The} " " noun2{isnt} " designed to receive " noun1{the} .
^ set TIME = false break endif if noun2 has CLOSED writenoun2{The} " " noun2{is} " closed.
^" set TIME = false break endif if noun2(quantity) < noun1(mass) write "There is not enough room in " noun2{the} " for " noun1{the} .
^ set TIME = false break endif override write "You put " noun1{the} " in " noun2{the} .
^ move noun1 to noun2 } grammar insert everything in *present >insert_all_in grammar put everything in *present >insert_all_in {+insert_all_in break +darkness if noun1 hasnt CONTAINER writenoun1{The} " " noun1{isnt} " designed to hold things.
^" set TIME = false break endif break +reach noun1 if noun1 has CLOSED writenoun1{The} " " noun1{is} " closed.
^" set TIME = false break endif set INDEX = 0 loop if noun3(parent) <> player : noun3(mass) >= heavy : noun3 = noun1 endloop execute +encumbered break endif if noun1 has WORN write "You must first remove " noun3{the} .
^ set INDEX + 1 endloop break endif set OB1 = noun1 set OB2 = noun3 proxy "insert" noun3 " in " noun1 set noun1 = OB1 set noun3 = OB2 set INDEX + 1 endloop } grammar insert everything on *present >insert_all_on grammar put everything on *present >insert_all_on {+insert_all_on break +darkness if noun1 hasnt SURFACE write "There is no flat surface on " noun1{the} " to put things.
^" set TIME = false break endif break +reach noun1 set INDEX = 0 loop if noun3(parent) <> player : noun3(mass) >= heavy : noun3 = noun1 endloop execute +encumbered break endif if noun1 has WORN write "You must first remove " noun3{the} .
^ set INDEX + 1 endloop break endif set OB1 = noun1 set OB2 = noun3 proxy "insert" noun3 " on " noun1 set noun1 = OB1 set noun3 = OB2 set INDEX + 1 endloop } {+encumbered if INDEX = 0 write "You are not carrying anything.
^" } grammar ask *present for *carried >ask_for grammar tell *present to give me *carried >ask_for {+ask_for if here has UNDER_WATER write "Talking under water isn't very easy.
^" set TIME = false break endif if noun1 hasnt ANIMATE writenoun1{The} " seem" noun1{s} " to be ignoring your request.
^" break endif if noun1 has DEAD writenoun1{The} " " noun1{is} " a bit too dead to respond.
^" set TIME = false break endif if noun1 = player write "I think it might be time to take a break and get a cup of tea.
^" set TIME = false break endif if noun1 !grandof noun2 writenoun1{The} " " noun1{doesnt} " seem to have " noun2{the} .
^ set TIME = false break endif if noun2(mass) > player(quantity) write "With your current load you would be unable to accept" write noun2{the} .
^ set TIME = false break endif override if noun1 has POSSESSIVE writenoun1{The} " refuses to give you " noun2{the} .
^ break endif move noun2 to player if noun2 has WORN writenoun1{The} " remove" noun1{s} " " noun2{the} " then hand" noun1{s} if noun2 has PLURAL write " them" else write " it" endif write " to you.
^" ensure noun2 hasnt WORN break endif writenoun1{The} " hands you " noun2{the} .
^ } grammar tell *present about *carried >tell_about grammar talk to *present about *carried >tell_about grammar tell *present about *anywhere >tell_about grammar talk to *present about *anywhere >tell_about {+tell_about if here has UNDER_WATER write "Talking under water isn't very easy.
^" set TIME = false break endif if noun1 hasnt ANIMATE write "I don't think talking to " noun1{the} " is going to help somehow.
^" set TIME = false break endif if noun1 has DEAD writenoun1{The} " " noun1{is} " a bit too dead to even pretend to be " write "interested.
^" set TIME = false break endif if noun1 = noun2 write "I think " noun1{the} " already know" noun1{s} " more than you do.
^" set TIME = false break endif if noun1 = player write "It's the first sign of madness you know...
^" break endif override writenoun1{The} " seem" noun1{s} " fascinated by your story about " write noun2{the} .
^ } grammar ask *present about *carried >ask_about grammar ask *present about *anywhere >ask_about {+ask_about if here has UNDER_WATER write "Talking under water isn't very easy.
^" set TIME = false break endif if noun1 hasnt ANIMATE write "I don't think talking to " noun1{the} " is going to help somehow.
^" set TIME = false break endif if noun1 has DEAD writenoun1{The} " " noun1{is} " a bit too dead to tell you anything write "useful.
^" set TIME = false break endif if noun1 = player write "It's the first sign of madness you know...
^" break endif override if noun2 = noun1 write noun1(The} if noun1 has PLURAL write " are too shy to say much.^" else write " is too shy to say much.^" endif break endif writenoun1{The} " reluctantly admit" noun1{s} " to knowing little about " write noun2{the} .
^ } grammar offer *held to *present >give_to grammar give *held to *present >give_to {+give_to if noun2 hasnt ANIMATE write "You can't give " noun1{the} " to " noun2 .
^ set TIME = false break endif if noun2 = player write "I think it might be time to take a break and get a cup of tea.
^" break endif break +reach noun2 if noun1(mass) >= heavy : noun1 has LOCATION execute +move_scenery break endif break +worn noun1 override move noun1 to noun2 write "You give " noun1{the} " to " noun2{the} .
^ } grammar move *present >move grammar push *present >move {+move break +darkness break +reach noun1 if player has SITTING write "You will have to stand up first.
^" set TIME = false break endif if noun1(mass) >= heavy : noun1 has LOCATION execute +move_scenery break endif if noun1 has LIQUID writenoun1{The} " run" noun1{s} " through your fingers.
^" break endif break +worn noun1 if noun1(parent) = player override write "You juggle " noun1{the} " in your hands.
^" break endif override write "You move " noun1{the} " a short distance to one side.
^" ensure noun1 has TOUCHED } grammar read *present >read {+read break +darkness write "There is nothing on " noun1{the} " to read.
^" } grammar look down >look_down {+look_down break +darkness if here has TIGHT_ROPE : here has MID_AIR write "You see the ground far below.
^" break endif if here has ON_WATER write "You can't see beyond the surface of the water.
^" break endif write "You take a moment to admire your investigating feet.
^" } grammar look up *anywhere in *present >look_up_in grammar look for *anywhere in *present >look_up_in {+look_up_in break +darkness write "You don't find any reference to " noun1{the} " in " noun2{the} .
^ } grammar consult *present about *anywhere >consult grammar consult *present re *anywhere >consult grammar consult *present on *anywhere >consult {+consult break +darkness proxy "look up " noun2 " in " noun1 } grammar feel *present >feel grammar touch *present >feel {+feel break +reach noun1 if noun1 has ANIMATE write "I'm not so sure that would be polite.
^" break endif write "Feels just like " noun1{list} .
^ } grammar smell >smell grammar sniff >smell {+smell write "Nothing strikes you as out of the ordinary.
^" } grammar smell *present >sniff grammar sniff *present >sniff {+sniff if noun1 has ANIMATE write "I'm not so sure that would be polite.
^" break endif write "Smells an awful lot like " noun1{list} .
^ } grammar taste *present >taste grammar lick *present >taste {+taste break +reach noun1 if noun1 has ANIMATE write "You are one sick puppy.
^" break endif write "Tastes just like you would expect " noun1{list} " to taste.
^" } grammar look in *present >look_in {+look_in break +darkness if noun1 hasnt CONTAINER write "There is nothing in " noun1{the} .
^ break endif if noun1 has CLOSED writenoun1{The} " " noun1{is} " currently closed.
^" break endif set INDEX = 0 loop if noun3(parent) = noun1 set INDEX + 1 endif endloop if INDEX = 0 write "There is nothing in " noun1{the} .
^ break endif execute +details write "^" } grammar look *present >examine grammar look at *present >examine grammar look on *present >examine grammar examine *present >examine grammar x *present >examine grammar search *present >examine grammar watch *present >examine {+examine break +darkness override if noun1 hasnt CLOSABLE if noun1 hasnt CONTAINER if noun1 hasnt SURFACE write "There is nothing special about " noun1{the} .
^ break endall if noun1 has CLOSABLE execute +details write "^" break endif set INDEX = 0 loop if noun3(parent) = noun1 set INDEX + 1 endif endloop if INDEX = 0 write "There is nothing special about " noun1{the} .
^ break endif execute +details write "^" } {+details if noun1 has CLOSABLE if noun1 hasnt CLOSED writenoun1{The} " " noun1{is} " open" else write
noun1{The} " " noun1{is} " closed.
" break endif endif if noun1 has CONTAINER : noun1 has SURFACE execute +contents break endif write . } {+contents set INDEX = 0 loop if noun3(parent) = noun1 if noun3(mass) != scenery set INDEX + 1 endif endif endloop if INDEX = 0 if noun1 has CLOSABLE if noun1 has CONTAINER write . break endall if INDEX = 0 : noun1 has CONCEALING break endif if noun1 has ANIMATE writenoun1{The} " " noun1{is} " carrying " endif if noun1 has SURFACE write "
On " noun1{the} " is " endif if noun1 has CONTAINER if noun1 has CLOSABLE write " and contains " else write
noun1{The} " contains " endif endif loop if noun3(parent) = noun1 if noun3(mass) != scenery set INDEX - 1 write noun3{list} execute +object_info execute +list_structure if INDEX = 0 write .
break endif endif endif endloop } {+first_child set INDEX = false loop if noun3(parent) = noun4 set INDEX = true break endall endloop } {+children? set INDEX = false loop if noun3(parent) = noun4 set INDEX = true break endif endloop } grammar inv >list_inventory grammar list >list_inventory {+list_inventory set INDEX = 0 loop if noun3(parent) = player if noun3(mass) != scenery set INDEX + 1 endif endif endloop if INDEX = 0 write "You are empty-handed.
^" break endif write "You are carrying:
^"
loop
if noun3(parent) = player
if noun3(mass) != scenery
write " " noun3{list}
execute +object_info
write "
^"
if noun3 has CONTAINER
if noun3 hasnt CLOSED
execute +object_children noun3
endif
endif
endif
endif
endloop
write "
You are empty handed.
^" break endif write "You are carrying " loop if noun3(parent) = player if noun3(mass) != scenery set INDEX - 1 write noun3{list} execute +object_info execute +list_structure if INDEX = 0 write .
^ break endif endif endif endloop } {+list_structure if INDEX > 1 write ", " endif if INDEX = 1 write " and " } {+object_info if noun3 has WORN write " (being worn)" endif if noun3 has LUMINOUS write " (providing light)" endif if noun3 has ON write " (on)" endif if noun3 has CLOSABLE if noun3 hasnt CLOSED write " (open)" } grammar sorry >sorry {+sorry write "That's quite all right.
^" } grammar thanks >thankyou grammar thank you >thankyou {+thankyou write "You're welcome.
^" } grammar score >score grammar points >score {+score set TIME = false if TOTAL_MOVES = 1 write "Your score is " SCORE "% in 1 move.
^" else write "Your score is " SCORE "% in " TOTAL_MOVES " moves.
^" } grammar open *present >open {+open break +darkness break +reach noun1 if noun1 has LOCKED writenoun1{The} " " noun1{is} " locked.
^" set TIME = false break endif if noun1 hasnt CLOSABLE write "You can't open " noun1{the} .
^ set TIME = false break endif if noun1 hasnt CLOSED writenoun1{The} " " noun1{is} " already open.
^" set TIME = false break endif override ensure noun1 hasnt CLOSED if noun1 has CONTAINER execute +revealing break endif write "You open " noun1{the} .
^ } {+revealing set INDEX = 0 loop if noun3(parent) = noun1 set INDEX + 1 endif endloop write "You open " noun1{the} if INDEX = 0 write ", which" noun1{is} " empty.
^" break endif write " revealing " loop if noun3(parent) = noun1 set INDEX - 1 write noun3{list} execute +object_info execute +list_structure if INDEX = 0 write .^ break endif endif endloop } grammar close *present >close grammar shut *present >close {+close break +darkness break +reach noun1 if noun1 hasnt CLOSABLE write "You can't close " noun1{the} .
^ set TIME = false break endif break +reach noun1 if noun1 has CLOSED writenoun1{The} " " noun1{is} " already closed.
^" set TIME = false break endif override write "You close " noun1{the} .
^ ensure noun1 has CLOSED } grammar lock *present >lock {+lock break +darkness break +reach noun1 if noun1 has LOCKABLE if noun1 has LOCKED writenoun1{The} " " noun1{is} " already locked.
^" break endif endif if noun1 has CLOSABLE if noun1 hasnt CLOSED write "You can't lock " noun1{the} " while " if noun1 has PLURAL write "they are" else write "it is" endif write " open.
^" set TIME = false break endif endif if noun1 hasnt LOCKABLE write "You can't lock " noun1{the} .
^ break endif override write "What did you want to lock " noun1{the} " with?
^" } grammar lock *present with *held >lock_with {+lock_with break +darkness if noun1 hasnt LOCKABLE write "You can't lock " noun1{the} .
^ set TIME = false break endif break +reach noun1 if noun1 has LOCKED writenoun1{The} " " noun1{is} " already locked.
^" break endif if noun1 has CLOSABLE if noun1 hasnt CLOSED write "You can't lock " noun1{the} " while " if noun1 has PLURAL write "they are" else write "it is" endif write " open.
^" set TIME = false break endif override write "You can't lock " noun1{the} " with " noun2{the} .
^ set TIME = false } grammar unlock *present >unlock {+unlock break +darkness if noun1 hasnt LOCKABLE write "You can't unlock " noun1{the} .
^ set TIME = false break endif break +reach noun1 if noun1 hasnt LOCKED writenoun1{The} " " noun1{is} " already unlocked.
^" set TIME = false break endif override write "What did you want to unlock " noun1{the} " with?
^" } grammar unlock *present with *held >unlock_with grammar open *present with *held >unlock_with {+unlock_with if noun1 hasnt LOCKABLE write "You can't unlock " noun1{the} .
^ set TIME = false break endif break +reach noun1 if noun1 hasnt LOCKED writenoun1{The} " " noun1{is} " already unlocked.
^" break endif override write "You can't unlock " noun1{the} " with " noun2{the} .
^ set TIME = false } grammar show *held to *present >show_to {+show_to break +darkness if noun1 = noun2 write "You can't show " noun1{the} " to " if noun1 has PLURAL write "themselves." else write "itself.
^" endif set TIME = false break endif override writenoun2{The} " " noun2{doesnt} " seem overly impressed by " noun1{the} .
^ } grammar untie *present >untie grammar free *present >untie grammar undo *present >untie {+untie break +darkness writenoun1{The} " " noun1{is} " not tied to anything.
^" set TIME = false } grammar tie *held >tie grammar attach *held >tie {+tie break +darkness write "What do you want to tie " noun1{the} " to?
^" set TIME to false } grammar tie *held to *present >tie_to grammar fix *held to *present >tie_to grammar attach *held to *present >tie_to {+tie_to break +darkness break +reach noun2 override write "You can't tie " noun1{the} " to " noun2{the} .
^ set TIME = false } grammar attack *present >attack grammar hit *present >attack grammar fight *present >attack grammar kill *present >attack grammar murder *present >attack grammar punch *present >attack {+attack break +darkness break +reach noun1 if noun1 has ANIMATE if noun1 has DEAD writenoun1{The} " " noun1{is} " already dead.
^" set TIME = false break endif endif override write "Attacking " noun1{the} " with your hands would have little effect.
^" set TIME = false } grammar attack *present with *held >attack_with grammar hit *present with *held >attack_with grammar fight *present with *held >attack_with grammar kill *present with *held >attack_with grammar murder *present with *held >attack_with grammar punch *present with *held >attack_with grammar stab *present with *held >attack_with grammar poke *present with *held >attack_with {+attack_with break +darkness break +reach noun1 if noun2 has LIQUID writenoun2{The} " run" noun2{s} " through your fingers.
^" break endif break +worn noun1 if noun1 has ANIMATE if noun1 has DEAD writenoun1{The} " " noun1{is} " already dead.
^" set TIME = false break endif endif override write "Attacking " noun1{the} " with " noun2{the} " would have little " write "effect.
^" set TIME = false } grammar wave >wave {+wave write "You wave your arms around a bit.
^" } grammar wave to *present >wave_to {+wave_to break +darkness if noun1 hasnt ANIMATE write "Not surpisingly, you get no response.
^" break endif writenoun1{The} " barely raises an eye brow.
^" } grammar jump on to *here >jump_on grammar jump on *here >jump_on grammar hop on *here >jump_on grammar stand on *here >jump_on {+jump_on break +darkness set TIME = false if noun1 hasnt SURFACE write "You can't jump on " noun1{the} .
^ break endif write "This would achieve little.
^" } grammar jump over *here >jump_over {+jump_over break +darkness write "You can't jump over " noun1{the} .
^ set TIME = false } grammar jump >jump {+jump if here has MID_AIR write "Not likely." break endif if here has TIGHT_ROPE write "
Something tells me that might be a bit too dangerous, not to " write "mention totally unnecessary.
^" break endif if here has UNDER_WATER : here has ON_WATER write "While underwater?
^" break endif if player has SITTING write "You would have to get up first.
^" break endif write "Consider it done.
^" } grammar yes >yes grammar okay >yes grammar yeah >yes {+yes write "That was a rhetorical question.
^" set TIME = false } grammar no >no {+no write "That was a rhetorical question.
^" set TIME = false } grammar why >why grammar why? >why {+why write "Because.
^" set TIME = false } grammar blow *held at *here >blow_at grammar blow *held to *here >blow_at {+blow_at break +darkness write "You can't blow " noun1{the} " at " noun2{the} .
^ set TIME = false } grammar throw *held at *here >throw_at grammar throw *held to *here >throw_at {+throw_at break +darkness if noun2 has ANIMATE write "I don't think " noun2{the} " would really appreciate you throwing " write noun1{the} " at " if noun2 has FEMALE write "her.
^" else write "him.^" endif set TIME = false break endif break +worn noun1 if noun2(parent) hasnt LOCATION write "You can't throw " noun1{the} " at " noun2{the} " while " if noun2 has PLURAL write "they are" else write "it is" write " in something else.
^" set TIME = false break endif if noun1(mass) >= heavy : noun1 has LOCATION execute +move_scenery break endif override if noun1(mass) => 20 writenoun1{The} if noun1 has PLURAL write " are " else write " is " endif write "a bit too heavy to go throwing around.
^" set TIME = false break endif if here has UNDER_WATER write "Throwing things underwater is never as easy as you might think.
^" set TIME = false break endif if here has ON_WATER write "You throw " noun1{the} " at " noun2{the} " which " if noun1 has PLURAL write "they bounce" else write "it bounces" endif write " off, landing in the water where " if noun1 has PLURAL write "they" else write "it" endif write " rapidly sink" noun1{s} ", disappearing from sight.
^" move noun1 to limbo break endif writenoun1{The} " bounce" noun1{s} " off " noun2{the} " and land" noun1{s} write " on the ground.
^" move noun1 to here } grammar remove *present from *present >remove_from grammar take *present from *present >remove_from grammar get *present from *present >remove_from grammar take *present out of *present >remove_from grammar get *present out of *present >remove_from grammar take *present on *present >remove_from grammar get *present on *present >remove_from {+remove_from break +darkness if noun1(parent) <> noun2 writenoun1{The} " " noun1{is} " not in " noun2{the} .
^ set TIME = false break endif proxy "take" noun1 } grammar remove *present >remove grammar take off *present >remove grammar doff *present >remove {+remove if noun1 hasnt WORN if noun1(parent) = player write "You are not wearing " noun1{the} .
^ set TIME = false break endif endif if noun1 hasnt WORN proxy "take" noun1 break endif if noun1(mass) > player(quantity) write "You are carrying too much to remove " noun1{the} .
^ set TIME = false break endif override set player(quantity) - noun1(mass) ensure noun1 hasnt WORN write "You remove " noun1{the} .
^ } grammar wear *held >wear grammar put on *held >wear grammar put *held on >wear grammar don *held >wear {+wear if noun1 hasnt WEARABLE write "You can't wear " noun1{the} .
^ set TIME = false break endif if noun1 has WORN write "You are already wearing " noun1{the} .
^ set TIME = false break endif override set player(quantity) + noun1(mass) ensure noun1 has WORN write "You put " noun1{the} " on.
^" } grammar talk to *present >talk_to {+talk_to if here has UNDER_WATER write "Talking under water isn't very easy.
^" set TIME = false break endif if noun1 hasnt ANIMATE write "I don't think talking to " noun1{the} " is going to help somehow.
^" set TIME = false break endif if noun1 has DEAD writenoun1{The} " " noun1{is} " a bit too dead to respond.
^" set TIME = false break endif if noun1 = player write "It's the first sign of madness you know...
^" break endif override writenoun1{The} " " noun1{doesnt} " appear very interested in a " write "conversation.
^" } grammar eat *present >eat {+eat break +darkness write "You can't eat " noun1{the} .
^ set TIME = false } grammar drink from *present >drink_from grammar sip from *present >drink_from {+drink_from break +darkness execute +liquidwrite noun1 if INDEX = true proxy "drink " noun3 set TIME = false break endif write "There is nothing to drink in " noun1{the} .
^ set TIME = false } grammar drink *present >drink grammar sip *present >drink {+drink break +darkness break +reach noun1 if noun1 hasnt LIQUID write "You can't drink " noun1{the} .
^ set TIME = false break endif override write "You drink " noun1{the} .
^ move noun1 to limbo } grammar flick *present >flick {+flick break +darkness break +reach noun1 if noun1 has LIQUID write "A wet hand is your only reward.
^" break endif override write "Flicking " noun1{the} " achieves nothing more than causing a sharp " write "pain in your index finger.
^" } grammar press *present >press grammar poke *present >press {+press break +darkness break +reach noun1 if noun1 has LIQUID write "A wet hand is your only reward.
^" break endif override write "Pressing " noun1{the} " has no discernible effect.
^" } grammar light *present with *held >light_with grammar burn *present with *held >light_with grammar ignite *present with *held >light_with grammar set fire to *present with *held >light_with {+light_with if here has UNDER_WATER write "I don't think you are going to be lighting anything under water.
^" set TIME = false break endif break +reach noun1 if noun1 hasnt FLAMMABLE writenoun1{The} " " noun1{is} " not at all flammable.
^" set TIME = false break endif if noun2 hasnt IGNITABLE write "I don't see how you can light " noun1{the} " using " noun2 .
^ set TIME = false break endif if noun1(quantity) = 0 writenoun1{The} " has run out.
^" break endif if noun1 has BURNING writenoun1{The} " " noun1{is} " already lit.
^" set TIME = false break endif override write "You light " noun1{the} " using " noun2 .
^ ensure noun1 has BURNING ensure noun1 has LUMINOUS } grammar burn *present >light grammar light *present >light grammar ignite *present >light grammar set fire to *present >light {+light if here has UNDER_WATER write "I don't think you are going to be lighting anything under water.
^" set TIME = false break endif break +reach noun1 if noun1 has IGNITABLE override write "You produce a brief flame.
^" break endif if noun1 hasnt FLAMMABLE writenoun1{The} " " noun1{is} " not at all flammable.
^" set TIME = false break endif if noun1 has BURNING writenoun1{The} " " noun1{is} " already alight.
^" set TIME = false break endif write "What did you intent to light " noun1{the} " with?
^" set TIME = false } grammar extinguish *present >extinguish grammar put out *present >extinguish grammar put *present out >extinguish {+extinguish if noun1 hasnt BURNING writenoun1{The} " " noun1{is} " not lit.
^" set TIME = false break endif break +reach noun1 override write "You put out " noun1{the} .
^ ensure noun1 hasnt BURNING ensure noun1 hasnt LUMINOUS } grammar swim west >swim_west {+swim_west if here has UNDER_WATER set WAY = WEST travel west break endif if here has ON_WATER set WAY = WEST travel west break endif write "I don't see how you can swim when you are not in water.
^" set TIME = false } grammar west >west grammar go west >west grammar walk west >west {+west set WAY = WEST travel west } grammar swim east >swim_east {+swim_east if here has UNDER_WATER set WAY = EAST travel east break endif if here has ON_WATER set WAY = EAST travel east break endif write "I don't see how you can swim when you are not in water.
^" set TIME = false } grammar east >east grammar go east >east grammar walk east >east {+east set WAY = EAST travel east } grammar swim south >swim_south {+swim_south if here has UNDER_WATER set WAY = SOUTH travel south break endif if here has ON_WATER set WAY = SOUTH travel south break endif write "I don't see how you can swim when you are not in water.
^" set TIME = false } grammar south >south grammar go south >south grammar walk south >south {+south set WAY = SOUTH travel south } grammar swim southeast >swim_southeast {+swim_southeast if here has UNDER_WATER set WAY = SOUTHEAST travel southeast break endif if here has ON_WATER set WAY = SOUTHEAST travel southeast break endif write "I don't see how you can swim when you are not in water.
^" set TIME = false } grammar southeast >southeast grammar go southeast >southeast grammar walk southeast >southeast {+southeast set WAY = SOUTHEAST travel southeast } grammar swim southwest >swim_southwest {+swim_southwest if here has UNDER_WATER set WAY = SOUTHWEST travel southwest break endif if here has ON_WATER set WAY = SOUTHWEST travel southwest break endif write "I don't see how you can swim when you are not in water.
^" set TIME = false } grammar southwest >southwest grammar go southwest >southwest grammar walk southwest >southwest {+southwest set WAY = SOUTHWEST travel southwest } grammar swim north >swim_north {+swim_north if here has UNDER_WATER set WAY = NORTH travel north break endif if here has ON_WATER set WAY = NORTH travel north break endif write "I don't see how you can swim when you are not in water.
^" set TIME = false } grammar north >north grammar go north >north grammar walk north >north {+north set WAY = NORTH travel north } grammar swim northeast >swim_northeast {+swim_northeast if here has UNDER_WATER set WAY = NORTHEAST travel northeast break endif if here has ON_WATER set WAY = NORTHEAST travel northeast break endif write "I don't see how you can swim when you are not in water.
^" set TIME = false } grammar northeast >northeast grammar go northeast >northeast grammar walk northeast >northeast {+northeast set WAY = NORTHEAST travel northeast } grammar swim northwest >swim_northwest {+swim_northwest if here has UNDER_WATER set WAY = NORTHWEST travel northwest break endif if here has ON_WATER set WAY = NORTHWEST travel northwest break endif write "I don't see how you can swim when you are not in water.
^" set TIME = false } grammar northwest >northwest grammar go northwest >northwest grammar walk northwest >northwest {+northwest set WAY = NORTHWEST travel northwest } grammar climb up *here >climb_up grammar walk up *here >climb_up grammar go up *here >climb_up {+climb_up write "You can not climb up " noun1{the} .
^ set TIME = false } grammar climb down *here >climb_down grammar walk down *here >climb_down grammar go down *here >climb_down {+climb_down write "You can not climb down " noun1{the} .
^ set TIME = false } grammar enter *here >enter grammar go *here >enter grammar go through *here >enter grammar go in *here >enter grammar climb on *here >enter grammar climb in *here >enter grammar get in *here >enter grammar get on *here >enter grammar jump in *here >enter {+enter break +reach noun1 write "You can not enter " noun1{the} .
^ set TIME = false } grammar enter *anywhere >enter_location grammar go *anywhere >enter_location grammar go through *anywhere >enter_location grammar go to *anywhere >enter_location grammar go in *anywhere >enter_location grammar climb on *anywhere >enter_location grammar climb in *anywhere >enter_location grammar get in *anywhere >enter_location grammar jump in *anywhere >enter_location grammar get on *anywhere >enter_location {+enter_location break +reach noun1 set INDEX = 0 repeat if here(INDEX) = noun1 execute "+go_direction" INDEX break endif set INDEX + 1 until INDEX = 12 write "You can not go to " noun1{the} .
^ set TIME = false } {+go_direction if noun4 = NORTH proxy "go north" break endif if noun4 = NORTHEAST proxy "go northeast" break endif if noun4 = EAST proxy "go east" break endif if noun4 = SOUTHEAST proxy "go southeast" break endif if noun4 = SOUTH proxy "go south" break endif if noun4 = SOUTHWEST proxy "go southwest" break endif if noun4 = WEST proxy "go west" break endif if noun4 = NORTHWEST proxy "go northwest" break endif if noun4 = UP proxy "go up" break endif if noun4 = DOWN proxy "go down" } grammar climb *here >climb grammar scale *here >climb {+climb write "You can not climb up " noun1{the} .
^ set TIME = false } grammar swim in >swim_in {+swim_in if here has UNDER_WATER set WAY = IN travel in break endif if here has ON_WATER set WAY = IN travel in break endif write "I don't see how you can swim when you are not in water.
^" set TIME = false } grammar get in >in grammar climb in >in grammar in >in grammar enter >in grammar walk in >in {+in set WAY = IN travel in } grammar swim out >swim_out {+swim_out if here has UNDER_WATER set WAY = OUT travel out break endif if here has ON_WATER set WAY = OUT travel out break endif write "I don't see how you can swim when you are not in water.
^" set TIME = false } grammar get out >out grammar out >out grammar exit >out grammar leave >out grammar climb out >out grammar walk out >out grammar go out >out {+out set WAY = OUT travel out } grammar surface >swim_up grammar swim up >swim_up {+swim_up if here has UNDER_WATER set WAY = UP travel up break endif if here has ON_WATER set WAY = UP travel up break endif write "I don't see how you can swim when you are not in water.
^" set TIME = false } grammar up >up grammar climb >up grammar climb up >up grammar jump up >up grammar go up >up grammar walk up >up {+up set WAY = UP travel up } grammar swim down >swim_down grammar dive down >swim_down grammar dive >swim_down {+swim_down if here has UNDER_WATER set WAY = DOWN travel down break endif if here has ON_WATER set WAY = DOWN travel down break endif write "I don't see how you can swim when you are not in water.
^" set TIME = false } grammar down >down grammar climb down >down grammar jump down >down grammar go down >down grammar walk down >down {+down set WAY = DOWN travel down } grammar look >look_around grammar watch >look_around {+look_around break +darkness look } grammar look under *present >look_under {+look_under break +darkness if noun1(mass) >= heavy : noun1 has LOCATION write "You can't see under " noun1{the} .
^ set TIME = false break endif write "There is nothing unusual under " noun1{the} .
^ } grammar look behind *present >look_behind {+look_behind break +darkness if noun1(mass) >= heavy : noun1 has LOCATION write "You can't see behind " noun1{the} .
^ set TIME = false break endif write "There is nothing unusual behind " noun1{the} .
^ } grammar look through *present >look_through grammar look out *present >look_through {+look_through break +darkness write "You can't look through " noun1{the} .
^ set TIME = false } grammar look through *held at *present >look_through_at {+look_through_at break +darkness proxy "look at " noun2 " through " noun1 } grammar look at *present through *held >look_at_through grammar look at *present with *held >look_at_through {+look_at_through break +darkness if noun1 = noun2 write "You can't look at " noun1{the} " through " if noun1 has PLURAL write "themselves.
^" else write "itself.^" set TIME = false break endif override write "You can't look at " noun1{the} " through " noun2{the} .
^ set TIME = false } grammar wait >wait grammar z >wait {+wait write "Time passes...
^" } grammar listen >listen {+listen write "You don't hear anything out of the ordinary.
^" } grammar listen to *present >listen_to grammar listen at *present >listen_to {+listen_to write "You don't hear anything out of the ordinary.
^" } grammar use *present >use grammar work *present >use grammar operate *present >use {+use break +darkness if noun1 has ANIMATE write "I acknoweledge that I probably don't want to know the answer to " write "this question, but in what way did you want to use " noun1{the} .
^ set TIME = false break endif write "I'm afraid you are going to have to be a bit more specific.
^" } grammar rotate *present >turn grammar turn *present >turn grammar twist *present >turn grammar spin *present >turn {+turn break +darkness break +reach noun1 write "You can't turn " noun1{the} .
^ set TIME = false } grammar turn on *present >turn_on grammar turn *present on >turn_on grammar switch on *present >turn_on grammar switch *present on >turn_on {+turn_on if noun1 hasnt SWITCHABLE write "You can't turn " noun1{the} " on.
^" set TIME = false break endif break +reach noun1 if noun1 has ON writenoun1{The} " " noun1{is} " already on.
^" set TIME = false break endif override write "You switch on " noun1{the} .
^ ensure noun1 has ON } grammar turn off *present >turn_off grammar turn *present off >turn_off grammar switch off *present >turn_off grammar switch *present off >turn_off {+turn_off if noun1 hasnt SWITCHABLE write "You can't turn " noun1{the} " off.
^" set TIME = false break endif break +reach noun1 if noun1 hasnt ON writenoun1{The} " " noun1{is} " already off.
^" set TIME = false break endif override write "You switch off " noun1{the} .
^ ensure noun1 hasnt ON } grammar pour *present >pour {+pour break +darkness if noun1 hasnt LIQUID write "You can't pour " noun1{the} .
^ set TIME = false break endif set noun3 = noun1(parent) if noun3 = false : noun3(parent) <> player write "You don't have " noun1{the} .
^ set TIME = false break endif if noun3 has CLOSED write "I don't see " noun1{the} " here.
^" set TIME = false break endif break +reach noun1 override write "You pour " noun1{the} " all over the ground.
^" move noun1 to limbo } grammar list objects >list_objs {+list_objs select noun3(mass) > 0 write noun3{The} noun1{The} ":
^"
write "MASS: " noun1(mass)
^
write "NUMBER: " INDEX
^
write "QUANTITY: " noun1(quantity)
^
set noun4 = noun1(parent)
write "PARENT: " noun4{The}
^
write "HAS DARK?: "
if noun1 has DARK
write YES
^
else
write NO
^
endif
write "HAS DARKNESS?: "
if noun1 has DARKNESS
write YES
^
else
write NO
^
endif
}
grammar tip *present on *present >pour_on
grammar tip *present down *present >pour_on
grammar tip *present in *present >pour_on
grammar tip *present over *present >pour_on
grammar pour *present down *present >pour_on
grammar pour *present on *present >pour_on
grammar pour *present in *present >pour_on
grammar pour *present over *present >pour_on
{+pour_on
break +darkness
if noun1 hasnt LIQUID
write "
You can't pour " noun1{the} .
^ set TIME = false break endif break +reach noun1 set noun3 = noun1(parent) if noun3 = false : noun3(parent) <> player write "You do not have " noun1{the} .
^ set TIME = false break endif if noun3 has CLOSED write "I can't see " noun1{the} " here.
^" set TIME = false break endif break +reach noun2 override execute +liquidwrite noun2 if INDEX = true writenoun2{The} " already contain" noun2{s} " " noun3{the} ". If you " write "were to also add " noun1{the} " they would mix together.
^" set TIME = false break endif if noun2 has CONTAINER if noun2 hasnt CLOSED override write "You pour " noun1{the} " into " noun2{the} .
^ move noun1 to noun2 break endif endif if noun2(parent) > max_objects set noun3 = noun2(parent) if noun3 has CONTAINER if noun3 hasnt CLOSED writenoun1{the} " run" noun1{s} " off " noun2{the} " and goes into " write noun3 .
^ move noun1 to noun3 break endif endif endif writenoun1{The} " runs off " noun2{the} " and goes all over the ground.
^" move noun1 to limbo } grammar blankjacl >blankjacl {+blankjacl write "A fiendishly clever move.
^" } grammar instructions >instructions grammar help >instructions {+instructions write "Interactive fiction involves the reader in a way that static stories " write "do not. Rather than reading sequentially from beginning to end, you " write "control the actions of the main character by typing commands in the " write "form of simple English sentences. Before setting out on your adventure " write "there are a few concepts that must be explained in order for you to " write "interact successfully with the virtual world created by the author." write "
The physical space that you will be exploring is divided up into " write "discrete units called locations. Locations may be travelled between " write "using the "You can go:" hyperlinks or the following commands...
^" write "Command | To travel | Command | To travel | write "
---|---|---|---|
N | North | S | South | " write "
E | East | W | West | " write "
NE | Northeast | NW | Northwest | " write "
SE | Southeast | SW | Southwest | " write "
U | Up | D | Down | " write "
IN | In | OUT | Out | " write "
The description of each location will tell you which way you can " write "travel from it. Be aware however that some exits may only be " write "available under certain circumstances such as while a door is open " write "or a bridge lowered.
^" write "Within these locations you will find many objects that you may " write "manipulate. These objects may be referred to by as few " write "or as many of their names as is required to uniquely identify it." write "For example, if the story informs you that ~There is a silver key " write "resting here.~ Then it may be referred to as either ~silver~, ~key~ or " write "~silver key~. If your reference is ambiguous, such as using ~key~ " write "when there is both a silver and a gold key in the current location " write "then you will be prompted to be more specific.
^" write "The next major concept of interactive fiction to understand is the " write "way in which you interact with these objects within " write "the locations. The main aspect of the command interface " write "to come to grips with is the scale, in other words, how much can be " write "achieved with a single command. As you have seen earlier, moving from " write "one location to another requires a single command. Commands such as " write "~find dave~ or ~go to the library~ are not valid. You must manually " write "move around the available world to achieve these tasks yourself. For " write "this reason, making a map as you go is highly recommended.
^" write "The basic sentence structures understood by the game are...
^" write "action | eg. scream | " write "
action object | eg. take book | " write "
action object preposition object | eg. unlock door with key | " write "
An action does not necessarily have to be a single word. For instance, " write "~examine rock through magnifying glass~, an example of the last " write "syntax, may also be expressed as ~look at rock through magnifying " write "glass~.
^" write "To further illustrate how much can be achieved in a single turn, " write "consider the following list (being just some of the valid actions)...
^" write "turn | read | pull | push | eat | cut | " write "
lock | unlock | rub | attack | taste | drink | " write "
break | smell | listen | pour | move | light | " write "
attack | blow | throw | wear | open | close | " write "
take | drop | insert | remove | " write "
The words ~it,~ ~them,~ ~him~ and ~her~ may be used to indicate the " write "last appropriate object referred to in one of your commands. " write "The words ~itself,~ ~themselves,~ ~himself~ and ~herself~ may be used " write "to refer to the subject of the current command such as, ~ask dan about " write "himself~.
^" write "The word ~all~ or ~everything~ may be used in place of an object " write "when using one of the verbs in the bottom row of the table above.
^" write "However, a task such as defusing a bomb would generally not be achieved by " write "typing ~defuse bomb~. The following is a sample transcript to give " write "you a better idea of how this task such as this might be achieved.
^" write ">examine bomb
"
write "The bomb is about a foot square and has a small panel in its upper "
write "surface. The panel is currently closed.
>listen to bomb
"
write "The bomb is making an ominous ticking sound.
>open panel
"
write "You open the panel to reveal a red wire, a green wire, a blue wire, "
write "a clock and some dynamite.
>i
"
write "You are carrying a bomb manual, an insurance policy and some wire "
write "cutters.
>read manual
"
write "Leafing through the book you come to the page on diffusing. Seems "
write "straight forward enough, just cut the blue wire then the red one.
>cut blue wire with cutters
"
write "Reaching carefully in to the bomb's casing you cut the blue wire. So "
write "far so good.
>cut red wire with cutters"
write "Holding you breath you snip the red wire."
>listen to bomb"
write "The bomb, thankfully, is now silent."
As you can see, each task you wish to achieve must be broken down " write "into its component actions.
^" write "During the course of the story you may encounter other computer " write "controlled characters. These characters may be interacted with using " write "the following commands...
^" write "TALK TO <character>"
write "GIVE <object> TO <character>"
write "SHOW <object> TO <character>"
write "ASK <character> FOR <object>"
write "ASK <character> ABOUT <object>"
write "TELL <character> ABOUT <object>"
There are also some special commands for interacting with the " write "program rather than the world it simulates...
^" write "Command | Action | " write "
---|---|
VERBOSE | always describe locations | " write "
BRIEF | only describe new locations | " write "
RESTART | start from the beginning | " write "
SCORE | display your score and rank | " write "
LOOK | describe the current location | " write "
SAVE | save the current position | " write "
RESTORE | restore a saved position | " write "
I | horizontal list of possessions | " write "
INV | vertical list of possessions | " write "
UNDO | take back last command | " write "
AGAIN | repeat the last command | " write "
INFO | display version information | " write "
ABOUT | display game information | " write "
NOTE: If you are looking for a clue relevant to a specific location, " write "type ~hint~, ~first hint~ or ~hint one~ in that location. The first " write "hint will be a subtle clue with ~hint two~ being more blatant and " write "~hint three~ being exact commands to type.
^" write "You are now ready to embark on your first adventure into the " write "world of interactive fiction." write " Remember to make a map as you go and read each " write "part carefully as vital clues may be hidden in the descriptions of the " write "locations and objects you come across. Examining every object you can " write "refer to is a good idea, as is saving your position often. Well, good " write "luck, and above all have fun!
^" set TIME = false } ; SPEAKING TO OTHER OBJECTS ; ---------------------------------------------------------------------------- ; Grammar statements beginning with an object must be defined last in the game ; to avoid confusion with verbs that may also be objects such as "drink drink" grammar *present give myself *carried >ask_for grammar *present give *carried to myself >ask_for grammar *present give *carried to me >ask_for grammar *present give myself *anywhere >ask_for grammar *present give *anywhere to myself >ask_for grammar *present give *anywhere to me >ask_for grammar *present tell myself about *carried >ask_about grammar *present tell myself all about *carried >ask_about grammar *present what do you know about *carried >ask_about grammar *present tell myself about *anywhere >ask_about grammar *present tell myself all about *anywhere >ask_about grammar *present what do you know about *anwhere >ask_about grammar *present who are you >who? grammar *present what is your name >who? grammar *present what is your name? >who? {+who? proxy "ask " noun1 " about " noun1 } grammar *present sorry >apologise grammar *present im sorry >apologise grammar *present i am sorry >apologise grammar apologise to *present >apologise {+apologise if noun1 hasnt ANIMATE write "Kooky.
^" break endall writenoun1{the} " assure" noun1{s} " you that no apology is necessary.
^" } grammar *present thanks >thank grammar *present thank you >thank grammar thank *present >thank {+thank if noun1 hasnt ANIMATE write "Kooky.
^" break endall write "~Don't mention it,~ " noun1{the} " replies.
^" } grammar greet *present >greet grammar *present hello >greet grammar *present hi there >greet grammar *present dr >greet grammar *present doctor >greet grammar *present hi >greet {+greet if here has UNDER_WATER write "Talking under water isn't very easy.
^" set TIME = false break endall if noun1 hasnt ANIMATE write "I don't think talking to " noun1{the} " is going to help somehow.
^" set TIME = false break endall if noun1 has DEAD writenoun1{The} " " noun1{is} " a bit too dead to respond.
^" set TIME = false break endall if noun1 = player write "It's the first sign of madness you know...
^" break endall override writenoun1{The} if noun1 has PLURAL write " nod.
^" else write " nods.^" } grammar *present yes >say_yes grammar *present okay >say_yes grammar *present yeah >say_yes {+say_yes writenoun1{The} " appear" noun1{s} " to pay no attention.
^" } grammar *present no >say_no {+say_no writenoun1{The} " appears to pay no attention.
^" } grammar *present *carried >say_object grammar *present *anywhere >say_object {+say_object proxy "say " noun2 " to " noun1 } grammar *anywhere >noun_only {+noun_only if noun1 isnt *present write "You don't see any such thing.
^" set TIME = false break endif write "There is no verb in that sentence.^" set TIME = false }