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