is_class_member() ================= FUNKTION -------- :: int is_class_member(string|string* class); DEFINIERT IN ------------ :: /std/thing/description.c ARGUMENTE --------- :: string/string* class - String oder Stringarray der Klasse(n) BESCHREIBUNG ------------ :: Es wird getestet, ob das Objekt in eine der in class angegebenen Klassen faellt. In diesen Test werden die folgenden Eigenschaften des Objektes einbezogen: 1. Die Rasse des Objektes (bei Lebewesen), 2. die IDs des Objektes und 3. die explizit angegebenen Klassen des Objektes. 4. einigen impliziten Klassen, die sich aus den Klassen in 3 ergeben. Die moeglichen Klassen sind in /sys/class.h definiert. Momentan stehen folgende Klassen zur Verfuegung: CL_AMMUNITION Das Objekt eignet sich als Munition. CL_ANIMAL Das Objekt ist ein Tier. CL_ARACHNID Das Objekt in ein Spinnenwesen. CL_BIGBANG Dieses Objekt kann mehreren Lebewesen auf einmal Schaden zufuegen. CL_BIRD Ein Vogel. CL_CRAWLING Dieses Wesen bewegt sich kriechend. CL_CURSE Das Objekt ist ein Fluch (zB. ein Sprachfluch). CL_DEMON Bei dem Objekt handelt es sich um einen Daemon. CL_DISEASE Eine Krankheit. CL_DRAGON Ein Drache. CL_DWARF Fuer unsere kleinen Gaeste... CL_ELF Elfen aller Art. CL_ELEMENTAL Ein Elementar irgendeiner Art. Material setzen waere angebracht. CL_EXPLOSIVE Bei dem Objekt handelt es sich um einen Sprengstoff. CL_FELINE Felinen und andere katzenartigen Lebewesen. CL_FISH Fische - keine Meeressaeuger! CL_FLYING Dieses Wesen bewegt sich fliegend. CL_FROG Froesche - auch gefroschte Spieler. CL_GHOST Geister und geisterhafte Wesen. CL_GHOUL Ein Ghoul. Er faellt automatisch in die Klasse CL_UNDEAD. CL_GIANT Ein riesiges Lebewesen. CL_GNOME Ein Gnom. CL_GOBLIN Ein Goblin. CL_HOBBIT Ein Hobbit. CL_HOBGOBLIN Ein Hobgoblin. Er faellt automatisch auch in die Klasse CL_GOBLIN. CL_HUMAN Ein Mensch. CL_INORGANIC Anorganische Lebewesen wie Metallmonster CL_INSECT Insekten (Nicht mit Spinnen verwechseln) CL_LIVING Lebewesen im allgemeinen. CL_MAMMAL Saeugetiere. CL_MAMMAL_LAND Landsaeugetiere CL_MAMMAL_WATER Meeressaeuger. CL_ORC Ein Ork. CL_PLANT Pflanzen und pflanzenartige Monster. CL_POISON Das Objekt ist selbst ein Gift CL_POISONOUS Das Objekt kann einen Spieler/NPC vergiften. CL_REPTILE Reptilien. CL_SHADOW Schattenwesen. CL_SKELETON Ein Skelett. Es faellt automatisch in die Klasse CL_UNDEAD. CL_SLIME Fuer Einzeller und aehnliches Schleimgetier CL_SNAKE Schlangen. CL_SWIMMING Dieses Wesen bewegt sich schwimmend. CL_TROLL Ein Troll. CL_UNDEAD Ein untotes Lebewesen. CL_WALKING Dieses Wesen bewegt sich gehend. CL_VAMPIRE Ein Vampir. Er faellt automatisch in die Klasse CL_UNDEAD. CL_ZOMBIE Ein Zombie. Er faellt automatisch in die Klasse CL_UNDEAD. Implizite Klassen: Bei einigen Klassen wird im AddClass() automatisch eine oder mehrere weiterer Klassen hinzugefuegt und im RemoveClass() die entsprechenden impliziten Klassen auch automatisch entfernt. Wuenscht man diese impliziten Klassen nicht, muss man nach dem AddClass() diese mittels eines entsprechenden RemoveClass() entfernen. Die impliziten Klassen einer Klasse lassen sich mit Hilfe der Funktion QueryImplicitClasses() in CLASSDB herausfinden: CLASSDB->QueryImplicitClasses(...) Momentan sind dies: CL_ZOMBIE: CL_UNDEAD CL_SKELETON: CL_UNDEAD CL_GHOUL: CL_UNDEAD CL_VAMPIRE: CL_UNDEAD CL_HOBGOBLIN: CL_GOBLIN CL_MAMMAL_LAND: CL_MAMMAL, CL_ANIMAL CL_MAMMAL_WATER: CL_MAMMAL, CL_ANIMAL CL_SNAKE: CL_REPTILE CL_ARACHNID: CL_ANIMAL CL_BIRD: CL_ANIMAL CL_FISH: CL_ANIMAL CL_FROG: CL_ANIMAL CL_INSECT: CL_ANIMAL CL_MAMMAL: CL_ANIMAL CL_REPTILE: CL_ANIMAL CL_SNAKE: CL_ANIMAL RUeCKGABEWERT ------------- :: 1, wenn das Objekt in eine der angegebenen Klassen faellt, ansonsten 0. SIEHE AUCH ---------- :: AddClass(), RemoveClass(), /std/thing/description.c P_CLASS 20.01.2015, Zesstra