Added public files

Roughly added all public files. Probably missed some, though.
diff --git a/std/living/inventory.c b/std/living/inventory.c
new file mode 100644
index 0000000..e3027e4
--- /dev/null
+++ b/std/living/inventory.c
@@ -0,0 +1,66 @@
+// MorgenGrauen MUDlib
+//
+// container/inventory.c -- Umgang mit besonderen Objekten im Inventory
+//
+// $Id: inventory.c 6554 2007-10-17 22:45:53Z Zesstra $
+#pragma strong_types
+#pragma save_types
+#pragma range_check
+#pragma no_clone
+#pragma pedantic
+
+inherit "/std/container/inventory";
+
+#define NEED_PROTOTYPES
+
+#include <properties.h>
+#include <sensitive.h>
+#include <attributes.h>
+
+#define ME this_object()
+
+public void RemoveSensitiveObject(object ob) {
+  ::RemoveSensitiveObject(ob);
+  RemoveSensitiveObjectFromList(ob,SENSITIVE_ATTACK);
+  if (objectp(ob) && (ob->QueryProp(P_X_ATTR_MOD)   ||
+                      ob->QueryProp(P_X_HEALTH_MOD) ))
+  {
+    deregister_modifier(ob);
+    // Erst wenn das Objekt den Spieler verlassen konnte, die Attribute
+    // neu berechnen.
+    if (find_call_out("UpdateAttributes")==-1)
+      call_out("UpdateAttributes",0); 
+  }
+}
+
+public void InsertSensitiveObject(object ob, mixed arg) {
+  ::InsertSensitiveObject(ob,arg);
+  if (objectp(ob) && (ob->QueryProp(P_X_ATTR_MOD)   ||
+                      ob->QueryProp(P_X_HEALTH_MOD) ))
+  {
+    register_modifier(ob);
+    UpdateAttributes();
+  }
+}
+
+public void CheckSensitiveAttack(int dam, mixed dam_type, mixed spell, 
+                                 object enemy) {
+  mixed a,x;
+  int i;
+  
+  if (!pointerp(a=QueryProp(P_SENSITIVE_ATTACK)))
+    return;
+  if (!pointerp(dam_type))
+    dam_type=({dam_type});
+  for (i=sizeof(a)-1;i>=0;i--)
+    if (pointerp(x=a[i]) &&
+	dam>x[SENS_THRESHOLD] &&
+	member(dam_type,x[SENS_KEY])>=0 &&
+	objectp(x[SENS_OBJECT]) &&
+	environment(x[SENS_OBJECT])==ME &&
+	closurep(x[SENS_CLOSURE]))
+      funcall(x[SENS_CLOSURE],
+	      enemy,x[SENS_KEY],dam,
+	      spell,x[SENS_OPT]);
+}
+