P_NAME

NAME

P_NAME "name"

DEFINIERT IN

<thing/description.h>

BESCHREIBUNG

In dieser Property wird der Name eines Objektes vermerkt. Wenn der Name
regelmaessig dekliniert wird, reicht ein einfacher String. Wird der
Name unregelmaessig dekliniert, so kann man ein Array von vier Strings
mit dem Namen im Nominativ, Genitiv, Dativ und Akkusativ (in dieser
Reihenfolge) angeben.

Die Funktion name() behandelt recht viele Sonderfaelle; man sollte den
Namen also erst einmal in der Form eines einzelnen Strings pruefen.

Eine Sonderrolle nehmen Unit-Objekte ein: Hier kann man einen Namen
fuer den Singular und einen Namen fuer den Plural vergeben.

Setzt man P_NAME eines Unit-Objekts auf einen einfachen String, so wird
dieser als Name sowohl im Singular als auch im Plural verwendet.

Uebergibt man ein Array von Strings, so wird der erste Eintrag fuer den
Singular und der zweite Eintrag fuer den Plural benutzt.

Bei Unit-Objekten ist es nicht moeglich, auch noch zwischen den
verschiedenen Faellen zu unterscheiden.

BEMERKUNGEN

Diese Property sollte nur den reinen Namen enthalten; will man dem
Namen noch Adjektive voranstellen, so sollte man dies mit P_NAME_ADJ
bewerkstelligen, also statt

SetProp(P_NAME, ({ "alter Hut", "alten Huts",
                   "alten Hut", "alten Hut" }) );

besser

SetProp(P_NAME, "Hut");
SetProp(P_NAME_ADJ, "alt");

Bei Lebewesen wird lower_case(P_NAME) (bei Arrays das erste Element
daraus) automatisch als LivingName gesetzt.

BEISPIELE

Ein regelmaessig deklinierbarer Name:

SetProp(P_NAME, "Arkshat");

Hier ein Beispiel fuer einen unregelmaessig deklinierbaren Namen:

SetProp(P_NAME, ({ "Drache", "Drachen", "Drachen", "Drachen" }));

Und schliesslich der Name eines allseits bekannten Unit-Objektes:

SetProp(P_NAME, ({ "Muenze", "Muenzen" }));

SIEHE AUCH

/std/thing/description.c, name(), P_NAME_ADJ, set_living_name(),
find_living(), find_livings()

Last modified: 19. Okt. 2015, Arathorn.