blob: e8f06f009698c12ef19e082ef8df6612b017afeb [file] [log] [blame]
Zesstra18626972017-01-31 10:38:27 +01001InsertSensitiveObject()
2=======================
3
4FUNKTION
5--------
6::
7
8 void InsertSensitiveObject(object ob, mixed *arg)
9
10DEFINIERT IN
11------------
12::
13
14 /std/container/inventory.c
15 generalizes /std/living/inventory.c
16
17BESCHREIBUNG
18------------
19::
20
21 Fuegt "ob" in die Benachrichtigungslisten des Containers ein.
22 Wird von thing/moving.c im Ziel-Environment gerufen, wenn
23 P_SENSITIVE gesetzt ist.
24
25BEMERKUNGEN
26-----------
27::
28
29 Setzt man P_SENSITIVE nicht als Default sondern situationsabhaengig,
30 dann muss man auch InsertSensitiveObject() im Environment
31 auch selbst rufen!
32
33BEISPIEL
34--------
35::
36
37 // Fackel (inheriting lightsource)
38 // wenn angezuendet, aendert es die Eigenschaften und wird zum
39 // aktiven Objekt - das muss man dem environment() mitteilen
40 static int light(string str) {
41 int i;
42 i=::light(str);
43 if(i && QueryProp(P_LIGHT)>0) {
44 SetProp(P_SENSITIVE,
45 ({({SENSITIVE_INVENTORY_TRIGGER,DT_FIRE,120})}));
46 if(environment())
47 environment()->InsertSensitiveObject(this_object(),
48 QueryProp(P_SENSITIVE));
49 }
50 return i;
51 }
52
53 - falls ein empfindliches Objekt im environment() ist, dann wird
54 in diesem nun eventuell (Treshold) trigger_sensitive_inv()
55 gerufen
56
57SIEHE AUCH
58----------
59::
60
61 P_SENSITIVE
62 RemoveSensitiveObject
63 insert_sensitive_inv_trigger, insert_sensitive_inv
64 P_SENSITIVE_ATTACK, P_SENSITIVE_INVENTORY, P_SENSITIVE_INVENTORY_TRIGGER
65 CheckSensitiveAttack
66
6725.Apr.2001, Gloinson@MG
68