blob: e26456df91de6f7cebde7ef006cf1405ba2905b3 [file] [log] [blame]
MG Mud User88f12472016-06-24 23:31:02 +02001RemoveSensitiveObject()
Zesstra953f9972017-02-18 15:37:36 +01002***********************
MG Mud User88f12472016-06-24 23:31:02 +02003
MG Mud User88f12472016-06-24 23:31:02 +02004
Zesstra953f9972017-02-18 15:37:36 +01005FUNKTION
6========
MG Mud User88f12472016-06-24 23:31:02 +02007
Zesstra953f9972017-02-18 15:37:36 +01008 void RemoveSensitiveObject(object ob)
MG Mud User88f12472016-06-24 23:31:02 +02009
MG Mud User88f12472016-06-24 23:31:02 +020010
Zesstra953f9972017-02-18 15:37:36 +010011DEFINIERT IN
12============
MG Mud User88f12472016-06-24 23:31:02 +020013
Zesstra953f9972017-02-18 15:37:36 +010014 /std/container/inventory.c
15 generalizes /std/living/inventory.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=========
20
21 ob - zu entfernendes Objekt
22
23
24BESCHREIBUNG
25============
26
27 Entfernt ob aus den Benachrichtigungslisten des Containers.
28 Wird von thing/moving.c im alten Environment gerufen, wenn
29 P_SENSITIVE gesetzt ist.
30 Ruft dazu RemoveSensitiveObjectFromList().
31
32
33BEMERKUNGEN
34===========
35
36 Setzt man P_SENSITIVE nicht als Default sondern situationsabhaengig,
37 dann muss man auch RemoveSensitiveObject im Environment
38 auch selbst rufen!
39
40
41BEISPIEL
42========
43
44 // Fackel (inheriting lightsource)
45 void create() {
46 ...
47 SetProp(P_SENSITIVE,
48 ({({SENSITIVE_INVENTORY_TRIGGER,DT_FIRE,120})}));
49 ...
50 }
51
52 // wenn die Fackel geloescht wird, verliert sie ihre aktive
53 // Eigenschaft und muss das dem environment() mitteilen
54 static int extinguish(string str) {
55 int i;
56 i=::extinguish(str);
57 if(i && QueryProp(P_LIGHT)<=0) {
58 SetProp(P_SENSITIVE,0);
59 if(environment())
60 environment()->RemoveSensitiveObject(this_object());
61 }
62 return i;
63 }
64
65 - empfindliche Objekte wie Eiszapfen koennen jetzt wieder gefahrlos
66 in das selbe environment() bewegt werden
67
68
69SIEHE AUCH
70==========
71
72 P_SENSITIVE
73 InsertSensitiveObject
74 insert_sensitive_inv_trigger, insert_sensitive_inv
75 P_SENSITIVE_ATTACK, P_SENSITIVE_INVENTORY, P_SENSITIVE_INVENTORY_TRIGGER
76 CheckSensitiveAttack
MG Mud User88f12472016-06-24 23:31:02 +020077
7825.Apr.2001, Gloinson@MG