
P_EXTRA_LOOK
************


NAME
====

   P_EXTRA_LOOK:
      "extralook"


DEFINIERT IN
============

   /sys/living/description.h


BESCHREIBUNG
============

   Diese Property enthaelt einen String. Sie wird entweder in
   Lebewesen direkt oder in Objekten gesetzt, die im Besitz von
   Lebewesen sein koennen. Diese Strings erscheinen dann zusaetzlich
   in der Langbeschreibung des Lebewesens bzw. des Besitzers (wenn das
   Objekt sich direkt im Lebewesen befindet, jedoch nicht in einem
   Behaelter im Lebewesen).

   P_EXTRA_LOOK nutzt replace_personal() um @WER1 etc. zu ersetzen.

   Ist das letzte Zeichen im String kein Zeilenumbruch, wird auf 78
   Zeichen umgebrochen. Wenn die Platzhalter von replace_personal()
   verwendet werden, sollte man das Umbrechen der Mudlib ueberlassen.

   **Nur** dann benutzen, wenn ihr auch unabhaengig vom Extralook ein
   Objekt im Spieler benoetigt, ansonsten **immer** *AddExtraLook()*
   verwenden.

   Bemerkung: Der Extralook taucht an einem Lebewesen nur auf, wenn
     dieser schon existiert, wenn das Objekt in das Lebewesen bewegt
     wird (oder im Fall von F_QUERY_METHOD-Methoden: diese bereits
     gesetzt ist.)


BEISPIEL
========

   Ein Spieler hat eine gefaehrliche Krankheit. In dem
   Krankheitsobjekt setzt man z.B. folgendes:

      SetProp(P_EXTRA_LOOK,break_string(this_player()->Name(WER)
              +" sieht leichenblass aus.",78);


SIEHE AUCH
==========

   * *long()*

   * *AddExtraLook()*, *RemoveExtraLook()*

   * /std/living/description.c, /std/player/base.c

   * *replace_personal()*
