AddClass()
FUNKTION:
     void AddClass(string|string* class);

DEFINIERT IN:
     /std/thing/description.c

ARGUMENTE:
     string/string* class	- String oder Stringarray der Klasse(n)

BESCHREIBUNG:
     Dem Objekt werden weitere Klassifizierungen hinzugefuegt.

     Die allgemein verfuegbaren Klassen sind unter /sys/class.h definiert.

BEMERKUNGEN:
     Vor dem 7. Nov 2012 pruefte is_class_member() auch die P_IDS. Damit war
     zB ein AddId("daemon") gleichbedeutend einem AddClass(CL_DEMON).

     Bitte prueft eure Objekte (NPCs, Krankheiten, Gifte, ...) auf korrekte
     Klassifizierung.

SIEHE AUCH:
     RemoveClass(), is_class_member()
     P_CLASS

20.01.2015, Zesstra

