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);
+}