blob: 1018e719d0b5fe603e12a4760eccedbe440cda07 [file] [log] [blame]
Zesstra953f9972017-02-18 15:37:36 +01001
MG Mud User88f12472016-06-24 23:31:02 +02002is_class_member()
Zesstra953f9972017-02-18 15:37:36 +01003*****************
MG Mud User88f12472016-06-24 23:31:02 +02004
MG Mud User88f12472016-06-24 23:31:02 +02005
Zesstra953f9972017-02-18 15:37:36 +01006FUNKTION
7========
MG Mud User88f12472016-06-24 23:31:02 +02008
Zesstra953f9972017-02-18 15:37:36 +01009 int is_class_member(string|string* class);
MG Mud User88f12472016-06-24 23:31:02 +020010
MG Mud User88f12472016-06-24 23:31:02 +020011
Zesstra953f9972017-02-18 15:37:36 +010012DEFINIERT IN
13============
MG Mud User88f12472016-06-24 23:31:02 +020014
Zesstra953f9972017-02-18 15:37:36 +010015 /std/thing/description.c
MG Mud User88f12472016-06-24 23:31:02 +020016
MG Mud User88f12472016-06-24 23:31:02 +020017
Zesstra953f9972017-02-18 15:37:36 +010018ARGUMENTE
19=========
MG Mud User88f12472016-06-24 23:31:02 +020020
Zesstra953f9972017-02-18 15:37:36 +010021 string/string* class - String oder Stringarray der Klasse(n)
MG Mud User88f12472016-06-24 23:31:02 +020022
Zesstra953f9972017-02-18 15:37:36 +010023
24BESCHREIBUNG
25============
26
27 Es wird getestet, ob das Objekt in eine der in class angegebenen
28 Klassen faellt. In diesen Test werden die folgenden Eigenschaften des
29 Objektes einbezogen:
30
31 1. Die Rasse des Objektes (bei Lebewesen),
32 2. die IDs des Objektes und
33 3. die explizit angegebenen Klassen des Objektes.
34 4. einigen impliziten Klassen, die sich aus den Klassen in 3 ergeben.
35
36 Die moeglichen Klassen sind in /sys/class.h definiert. Momentan stehen
37 folgende Klassen zur Verfuegung:
38
39 CL_AMMUNITION
40 Das Objekt eignet sich als Munition.
41 CL_ANIMAL
42 Das Objekt ist ein Tier.
43 CL_ARACHNID
44 Das Objekt in ein Spinnenwesen.
45 CL_BIGBANG
46 Dieses Objekt kann mehreren Lebewesen auf einmal Schaden zufuegen.
47 CL_BIRD
48 Ein Vogel.
49 CL_CRAWLING
50 Dieses Wesen bewegt sich kriechend.
51 CL_CURSE
52 Das Objekt ist ein Fluch (zB. ein Sprachfluch).
53 CL_DEMON
54 Bei dem Objekt handelt es sich um einen Daemon.
55 CL_DISEASE
56 Eine Krankheit.
57 CL_DRAGON
58 Ein Drache.
59 CL_DWARF
60 Fuer unsere kleinen Gaeste...
61 CL_ELF
62 Elfen aller Art.
63 CL_ELEMENTAL
64 Ein Elementar irgendeiner Art. Material setzen waere angebracht.
65 CL_EXPLOSIVE
66 Bei dem Objekt handelt es sich um einen Sprengstoff.
67 CL_FELINE
68 Felinen und andere katzenartigen Lebewesen.
69 CL_FISH
70 Fische - keine Meeressaeuger!
71 CL_FLYING
72 Dieses Wesen bewegt sich fliegend.
73 CL_FROG
74 Froesche - auch gefroschte Spieler.
75 CL_GHOST
76 Geister und geisterhafte Wesen.
77 CL_GHOUL
78 Ein Ghoul. Er faellt automatisch in die Klasse CL_UNDEAD.
79 CL_GIANT
80 Ein riesiges Lebewesen.
81 CL_GNOME
82 Ein Gnom.
83 CL_GOBLIN
84 Ein Goblin.
85 CL_HOBBIT
86 Ein Hobbit.
87 CL_HOBGOBLIN
88 Ein Hobgoblin. Er faellt automatisch auch in die Klasse CL_GOBLIN.
89 CL_HUMAN
90 Ein Mensch.
91 CL_INORGANIC
92 Anorganische Lebewesen wie Metallmonster
93 CL_INSECT
94 Insekten (Nicht mit Spinnen verwechseln)
95 CL_LIVING
96 Lebewesen im allgemeinen.
97 CL_MAMMAL
98 Saeugetiere.
99 CL_MAMMAL_LAND
100 Landsaeugetiere
101 CL_MAMMAL_WATER
102 Meeressaeuger.
103 CL_ORC
104 Ein Ork.
105 CL_PLANT
106 Pflanzen und pflanzenartige Monster.
107 CL_POISON
108 Das Objekt ist selbst ein Gift
109 CL_POISONOUS
110 Das Objekt kann einen Spieler/NPC vergiften.
111 CL_REPTILE
112 Reptilien.
113 CL_SHADOW
114 Schattenwesen.
115 CL_SKELETON
116 Ein Skelett. Es faellt automatisch in die Klasse CL_UNDEAD.
117 CL_SLIME
118 Fuer Einzeller und aehnliches Schleimgetier
119 CL_SNAKE
120 Schlangen.
121 CL_SWIMMING
122 Dieses Wesen bewegt sich schwimmend.
123 CL_TROLL
124 Ein Troll.
125 CL_UNDEAD
126 Ein untotes Lebewesen.
127 CL_WALKING
128 Dieses Wesen bewegt sich gehend.
129 CL_VAMPIRE
130 Ein Vampir. Er faellt automatisch in die Klasse CL_UNDEAD.
131 CL_ZOMBIE
132 Ein Zombie. Er faellt automatisch in die Klasse CL_UNDEAD.
133
134 Implizite Klassen:
135 Bei einigen Klassen wird im AddClass() automatisch eine oder mehrere
136 weiterer Klassen hinzugefuegt und im RemoveClass() die entsprechenden
137 impliziten Klassen auch automatisch entfernt.
138 Wuenscht man diese impliziten Klassen nicht, muss man nach dem AddClass()
139 diese mittels eines entsprechenden RemoveClass() entfernen.
140 Die impliziten Klassen einer Klasse lassen sich mit Hilfe der Funktion
141 QueryImplicitClasses() in CLASSDB herausfinden:
142 CLASSDB->QueryImplicitClasses(...)
143 Momentan sind dies:
144 CL_ZOMBIE: CL_UNDEAD
145 CL_SKELETON: CL_UNDEAD
146 CL_GHOUL: CL_UNDEAD
147 CL_VAMPIRE: CL_UNDEAD
148 CL_HOBGOBLIN: CL_GOBLIN
149 CL_MAMMAL_LAND: CL_MAMMAL, CL_ANIMAL
150 CL_MAMMAL_WATER: CL_MAMMAL, CL_ANIMAL
151 CL_SNAKE: CL_REPTILE
152 CL_ARACHNID: CL_ANIMAL
153 CL_BIRD: CL_ANIMAL
154 CL_FISH: CL_ANIMAL
155 CL_FROG: CL_ANIMAL
156 CL_INSECT: CL_ANIMAL
157 CL_MAMMAL: CL_ANIMAL
158 CL_REPTILE: CL_ANIMAL
159 CL_SNAKE: CL_ANIMAL
160
161
162RUeCKGABEWERT
163=============
164
165 1, wenn das Objekt in eine der angegebenen Klassen faellt, ansonsten 0.
166
167
168SIEHE AUCH
169==========
170
171 AddClass(), RemoveClass(), /std/thing/description.c
172 P_CLASS
173
MG Mud User88f12472016-06-24 23:31:02 +020017420.01.2015, Zesstra