Added public files

Roughly added all public files. Probably missed some, though.
diff --git a/doc/beispiele/zauberwald/obj/leichenmp.c b/doc/beispiele/zauberwald/obj/leichenmp.c
new file mode 100644
index 0000000..aea7c10
--- /dev/null
+++ b/doc/beispiele/zauberwald/obj/leichenmp.c
@@ -0,0 +1,81 @@
+// (c) by Padreic (Padreic@mg.mud.de)
+/* Changelog:
+   * 09.11.06 Zesstra
+     object_info()[11] durch query_next_reset() ersetzt.
+     */
+#include "../files.h"
+
+inherit "/std/thing";
+
+static int leichen;
+
+void create()
+{
+    leichen=0;
+    if (!clonep(ME))
+       set_next_reset(-1);
+    else {
+       ::create();
+       SetProp(P_INVIS, 1);
+       SetProp(P_NODROP, 1);
+       SetProp(P_NEVERDROP, 1);
+       AddId(WALDID("leichenmp"));
+       set_next_reset(3600*3); // erster reset nach 3h
+    }
+}
+
+int remove()
+{
+    closure clo;
+    if (environment()) {
+      clo=environment()->Query(P_MAX_SP, F_QUERY_METHOD);
+      if (clo && to_object(clo)==ME)
+          environment()->Set(P_MAX_SP, 0, F_QUERY_METHOD);
+    }
+    destruct(ME);
+    return 1;
+}
+
+int calculate_mp()
+{
+    int mp;
+    switch(leichen) {
+       case 1:  mp = 5;  break;
+       case 2:  mp = 9;  break;
+       case 3:  mp = 12; break;
+       case 4:  mp = 14; break;
+       case 5:  mp = 15; break;
+       default: mp = 0;
+    }
+    SetProp(P_X_HEALTH_MOD, ([P_SP:mp]) );
+}
+
+void new_corpse()
+{
+    closure clo;
+    clo=PL->Query(P_MAX_SP, F_QUERY_METHOD);
+    if (clo && to_object(clo)!=ME) {
+       call_out("remove", 0);
+       return;
+    }
+    if (leichen<5) {
+       leichen++;
+       set_next_reset(3600+3);
+    }
+    else set_next_reset( (query_next_reset(ME)-time())+3600 );
+    calculate_mp();
+}
+
+void reset()
+{
+   leichen--;
+   if (environment()) {
+      tell_object(environment(), "Du spuerst wie Deine mentalen Kraefte schwaecher werden...\n");
+      if (environment()->QueryProp(P_SP) > environment()->QueryProp(P_MAX_SP))
+          environment()->SetProp(P_SP, environment()->QueryProp(P_MAX_SP));
+   }
+   calculate_mp();
+   if (leichen<=0)
+      remove();
+   else set_next_reset(3600);
+}