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