Added public files

Roughly added all public files. Probably missed some, though.
diff --git a/std/player/shadows/block_shadow.c b/std/player/shadows/block_shadow.c
new file mode 100644
index 0000000..f7a4333
--- /dev/null
+++ b/std/player/shadows/block_shadow.c
@@ -0,0 +1,47 @@
+#pragma strong_types,save_types
+
+#include <defines.h>
+#include <moving.h>
+#include <properties.h>
+#include <language.h>
+
+private nosave object pl;
+
+void create()
+{
+  if( IS_BLUE(ME) ) return;
+  shadow( PL, 1);
+  pl = PL;
+}
+
+int
+AddExp(int ep)
+{
+  object block;
+  int diff, lim;
+
+  block = present("\n block", pl);
+  lim = 30 + random(10);
+
+  if ( ep > lim &&				      // Mindestwert
+       previous_object() &&
+       ( previous_object() == pl ||		      // zB. GiveQuest()
+	 ( living(previous_object()) && 	      // Oder NPCs
+	  !query_once_interactive(previous_object())
+	 )
+       )
+     )
+  {
+    diff = block->Gutschreiben(ep-lim);
+    return pl->AddExp(lim+diff);
+  }
+  return pl->AddExp(ep);
+}
+
+void
+SeherHatGenug()
+{
+  unshadow();
+  destruct(this_object());
+}
+