P_SHORT
=======

NAME
----
::

     P_SHORT				"short"

DEFINIERT IN
------------
::

     /sys/thing/description.h

BESCHREIBUNG
------------
::

     Diese Property enthaelt die Kurzbeschreibung des Objektes als String 
     oder Closure (diese muss einen String zurueckgeben).

     ACHTUNG: Die Kurzbeschreibung sollte dabei nicht mit einem "\n" 
     abgeschlossen sein (dies wird von den zustaendigen Funktionen
     erledigt).
     Aus historischen Gruenden wird ein Punkt ergaenzt, wenn das letzte
     Zeichen kein Punkt, Ausrufezeichen oder Fragezeichen ist.

     Setzt man diese Property auf 0, so ist das Objekt unsichtbar, allerdings
     ansprechbar, wenn der Spieler eine ID des Objektes kennt. D.h. Objekte
     koennen mitgenommen, weggeworfen oder ggf. auch angegriffen werden. Will
     man dies nicht, sollte man das Objekt mit P_INVIS unsichtbar machen.

     Diese Property bestimmt die Ansicht des Objektes von aussen. Fuer die
     Innen(kurz)ansicht von Raeumen muss man P_INT_SHORT benutzen.

BEMERKUNGEN
-----------
::

     Die Funktion, die die Kurzbeschreibung ausgibt (short()), filtert P_SHORT
     durch process_string(). Von der Nutzung dieses Features wird in neuem
     Code abgeraten.
     Soll eine dyn. Kurzbeschreibung geschaffen werden, bitte eine
     F_QUERY_METHOD einsetzen oder short() passend ueberschreiben.

BEISPIELE
---------
::

     // eine Axt sieht natuerlich so aus:
     SetProp(P_SHORT, "Eine Axt");

SIEHE AUCH
----------
::

     Aehnliches:	P_LONG, short()
     Sonstiges:		P_INT_SHORT, process_string()


27.05.2015, Zesstra

