| |
| InsertSensitiveObject() |
| *********************** |
| |
| |
| FUNKTION |
| ======== |
| |
| void InsertSensitiveObject(object ob, mixed *arg) |
| |
| |
| DEFINIERT IN |
| ============ |
| |
| /std/container/inventory.c |
| generalizes /std/living/inventory.c |
| |
| |
| BESCHREIBUNG |
| ============ |
| |
| Fuegt "ob" in die Benachrichtigungslisten des Containers ein. |
| Wird von thing/moving.c im Ziel-Environment gerufen, wenn |
| P_SENSITIVE gesetzt ist. |
| |
| |
| BEMERKUNGEN |
| =========== |
| |
| Setzt man P_SENSITIVE nicht als Default sondern situationsabhaengig, |
| dann muss man auch InsertSensitiveObject() im Environment |
| auch selbst rufen! |
| |
| |
| BEISPIEL |
| ======== |
| |
| // Fackel (inheriting lightsource) |
| // wenn angezuendet, aendert es die Eigenschaften und wird zum |
| // aktiven Objekt - das muss man dem environment() mitteilen |
| static int light(string str) { |
| int i; |
| i=::light(str); |
| if(i && QueryProp(P_LIGHT)>0) { |
| SetProp(P_SENSITIVE, |
| ({({SENSITIVE_INVENTORY_TRIGGER,DT_FIRE,120})})); |
| if(environment()) |
| environment()->InsertSensitiveObject(this_object(), |
| QueryProp(P_SENSITIVE)); |
| } |
| return i; |
| } |
| |
| - falls ein empfindliches Objekt im environment() ist, dann wird |
| in diesem nun eventuell (Treshold) trigger_sensitive_inv() |
| gerufen |
| |
| |
| SIEHE AUCH |
| ========== |
| |
| P_SENSITIVE |
| RemoveSensitiveObject |
| insert_sensitive_inv_trigger, insert_sensitive_inv |
| P_SENSITIVE_ATTACK, P_SENSITIVE_INVENTORY, P_SENSITIVE_INVENTORY_TRIGGER |
| CheckSensitiveAttack |
| |
| 25.Apr.2001, Gloinson@MG |