SYNOPSIS
string (*) P_INT_LONG "IntLong"
string (*) Set(P_INT_LONG, string(*) value)
string (*) Query(P_INT_LONG)
or
string (*) SetIntLong(string(*) value)
string (*) QueryIntLong()
Queried via:
string Long (void|string what)
string ExaLong (void|string what)
string IntLong (void|string what)
string ExaIntLong (void|string what)
string GetIntDesc (int nolong, mixed exclude, void|object player)
DESCRIPTION
The internal long description of the room, which is shown when looking
at or examining the room. It should hint at the exits in a verbose way.
When set to just a simple string, it wil be used for both "look" and
"examine" commands. In the latter case, "You see nothing special." will
be prepended.
When set to an array of two strings, the first serves the "look" command,
the second the "examine" command.
The property is never queried directly, but always through the lfuns
(Int)Long() and Exa(Int)Long() to allow for temporary changes without touching
the property itself. One way to establish such temporary changes is
through the use of the P_EXTRA_DESC property.
The <what> passed to the lfuns is 0 in case of a general command
("look"), or "<thing>" in case of a "look <thing>" command. Do not
rely too much on this, though.
IntLong() returns the (possibly modified) P_INT_LONG, resp. the first
entry of the P_INT_LONG array.
ExaIntLong() returns the (possibly modified) P_INT_LONG with "You see nothing
special." prepended, resp. the second entry of the P_INT_LONG array.
Long(), ExaLong() work as IntLong()/ExaIntLong() unless <what> is given.
In that case they return the description of detail <what>.
GetIntDesc() returns the complete, printable internal description of
the room, including the exits/doors string (if the player is in 'obvious'
mode) and the contents (via a call to Content()). At least the "" string
is returned. This function is called when the player looks at the room.
If <nolong> is non-zero, just the exits string and the contents are
returned.
<exclude> allows to define one or more objects in the inventory which are
not to be listed in the contents. If given at all, this_player() is
always ignored. It can be an object, an array of objects or a closure.
As closure, it is called with each inventory object as argument and has
to return non-zero for the objects to be excluded.
<player> denotes the living which calls GetIntDesc() and defaults to
this_player().
The function allows to insert an arbitrary string before the content
listing, see precontent(P). See also preoutside(P).
EXAMPLE
Set(P_INT_LONG, "The hall is filled with damp air. It stretches from east\n"
"to west.\n"
);
Set(P_INT_LONG, ({ "The hall is filled with damp air. It stretches from east\n"
"to west.\n"
, "Further examination reveals that the hall is build out of\n"
"granite.\n" })
);
AVAILABILITY
Include: <properties.h>
Availability: /std/room(/description) and descendants.
SEE ALSO
room(S), intshort(P), intnoise(P), intsmell(P), precontent(P),
preoutside(P), extradesc(P)