RemoveSensitiveObject() ======================= FUNKTION -------- :: void RemoveSensitiveObject(object ob) DEFINIERT IN ------------ :: /std/container/inventory.c generalizes /std/living/inventory.c ARGUMENTE --------- :: ob - zu entfernendes Objekt BESCHREIBUNG ------------ :: Entfernt ob aus den Benachrichtigungslisten des Containers. Wird von thing/moving.c im alten Environment gerufen, wenn P_SENSITIVE gesetzt ist. Ruft dazu RemoveSensitiveObjectFromList(). BEMERKUNGEN ----------- :: Setzt man P_SENSITIVE nicht als Default sondern situationsabhaengig, dann muss man auch RemoveSensitiveObject im Environment auch selbst rufen! BEISPIEL -------- :: // Fackel (inheriting lightsource) void create() { ... SetProp(P_SENSITIVE, ({({SENSITIVE_INVENTORY_TRIGGER,DT_FIRE,120})})); ... } // wenn die Fackel geloescht wird, verliert sie ihre aktive // Eigenschaft und muss das dem environment() mitteilen static int extinguish(string str) { int i; i=::extinguish(str); if(i && QueryProp(P_LIGHT)<=0) { SetProp(P_SENSITIVE,0); if(environment()) environment()->RemoveSensitiveObject(this_object()); } return i; } - empfindliche Objekte wie Eiszapfen koennen jetzt wieder gefahrlos in das selbe environment() bewegt werden SIEHE AUCH ---------- :: P_SENSITIVE InsertSensitiveObject insert_sensitive_inv_trigger, insert_sensitive_inv P_SENSITIVE_ATTACK, P_SENSITIVE_INVENTORY, P_SENSITIVE_INVENTORY_TRIGGER CheckSensitiveAttack 25.Apr.2001, Gloinson@MG