intlong

prop
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)