
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
