Inform: Is it possible to "show" without "take"ing?


5 Nov 95 21:14:32 GMT

I'm running into a problem in the game I'm working on. In that game, the
player object has an injured body part, which is coded in the manner of
the nose in Graham Nelson's "A Nasal Twinge" (i.e. Initialise calls a
ChangePlayer routine which moves the player into a new object, one with an
add_to_scope property that brings the body part into constant scope. The
object for that body part is coded without any parent, and given the
"scenery" attribute.)

However, anytime the player tries to show this body part to someone, the
parser generates a "take" action first, resulting in input like this:

>SHOW INJURED FOOT TO NURSE
(first taking the injured foot)
The nurse says, "I think I may have something that will take care of that."

The nurse begins digging through a box of medical supplies.

>I
You are carrying:
your injured foot

I've tried trapping the foot by having "take" return true for it, but this
stops the "show" action in its tracks. Is there any way to code the player
object or the body part (or anything, really), so that "show" doesn't
automatically take? Ideally, I'd like to see this output:

>SHOW INJURED FOOT TO NURSE
The nurse looks at your foot and says, "I think I may have something that
will take care of that."

Sadly, I'm not quite a high-caliber enough programmer to somehow hack
verblib.h or parser.h without a little help. Does anyone have any ideas?

-- 
Paul O'Brian                                     obrian@ucsu.colorado.edu
"No one knows how I feel or what I say unless you read between my lines"
                                                      -Stevie Nicks