Re: "at the table" not "in"


Sun, 11 Jun 1995 11:53:07 GMT

In article <60.5696.4154.0N1E6298@canrem.com>,
Tim Middleton <tim.middleton@canrem.com> wrote:
>Here is my next puzzling Inform programming quandary.
>
>If one declares an enterable object to be a container then when the player
>is in it the message "(in the object)" is given beside the location's short
>name. If it's a supporter then you get "(on the object)"... but how can you
>make Inform give you an "(at the object)" message.
>
>If you are wondering what on earth one might want "at the object" for
>consider the example of being "at the table" while eating dinner.
>Technically it's basically a container object like a chair. You want to be
>able to leave the table, exit the table, get up, stand up, etc etc...
>however the description of being "in" the table is no good <G>.
>
>I thought, at first, the way to do this would be to manually create a
>Short_Name routine the room which checks if the player is "in" the object,
>and then print out the appropriate short name message with parenthesis...
>but this is not the solution. Inform still tacks on it's own parenthesis at
>the end so I get something like:
>
>Dining Room (at the table) (in the table)
>
>Also it would be good to avoid the "Dining Room Table (which is empty)"
>message that might occur (not sure).
>
>The only thing I can find (so far) in the designer manual that seems
>remotely relavant to this problem is the "invent" routine showing how to
>change the short_name of a match to "lit match" or "unlit" match depending
>on it's state. This is not an inventory however.... is it?
>
>Maybe it is in some way? Maybe I'll give that a try just in case... gee,
>nice talking to you people... (-:
>
The particular print you want to change is generated by the
looksub in verblib.h. I would probably just add it. Make a new attribute
called sittable (or whatever) and make looksub check this along with 'in'
and 'on' (container,supporter).
Two days ago while looking through the manual I came across
a routine to change the library default prints, I just again tried to find
it, but could not. Maybe a more experienced informer could help you find
a way without changing the verblib.h file.
-MRR