
insert_sensitive_inv()
**********************


FUNKTION
========

   void insert_sensitive_inv(object ob, string key,
                             int threshold, mixed *opt)


DEFINIERT IN
============

   /std/container/inventory.c


BESCHREIBUNG
============

   Diese Funktion sucht, ob beim Hinzufuegen eines sensitiven Objekts
   schon ein Objekt da ist, dass dieses ausloest.


SIEHE AUCH
==========

   P_SENSITIVE
   InsertSensitiveObject, RemoveSensitiveObject
   insert_sensitive_inv_trigger
   P_SENSITIVE_ATTACK, P_SENSITIVE_INVENTORY,
   P_SENSITIVE_INVENTORY_TRIGGER
   CheckSensitiveAttack

28.Jan.2001, Gloinson@MG
