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