Added public files

Roughly added all public files. Probably missed some, though.
diff --git a/std/shells/baum.c b/std/shells/baum.c
new file mode 100644
index 0000000..522f3fe
--- /dev/null
+++ b/std/shells/baum.c
@@ -0,0 +1,113 @@
+// Autor: Rumata@gmx.de
+// ... sozusagen meine private rasse ...
+//
+// MorgenGrauen MUDlib
+//
+// shells/magier.c -- magier shell
+//
+// $Id: baum.c 8675 2014-02-18 20:39:54Z Zesstra $
+
+#pragma strong_types,save_types
+
+inherit "/std/shells/magier";
+
+//#define NEED_PROTOTYPES
+
+#include <thing/properties.h>
+#include <properties.h>
+#include <wizlevels.h>
+#include <language.h>
+#include <moving.h>
+#include <attributes.h>
+#include <combat.h>
+#include <defines.h>
+#include <ansi.h>
+#include <udp.h>
+#include <new_skills.h>
+
+static int _wurzel;
+
+void create()
+{
+  if (!clonep() || object_name(this_object()) == __FILE__[0..<3]) {
+      set_next_reset(-1);    
+      return;
+  }
+
+  ::create();
+	_wurzel = -1;
+}
+
+static int wurzel_an( string arg ) {
+	string num;
+	int count;
+
+	if( this_object() != this_interactive() ) return 0;
+	notify_fail( "WAS willst Du schlagen?\n" );
+	if( !arg || sscanf( arg, "wurzel%s", num ) == 0 ) return 0;
+
+	if( sscanf( num, " %d", count ) == 0 ) {
+		notify_fail( "schage wurzel <zahl>\n" );
+		return 0;
+	}
+
+	_wurzel = count;
+	say( Name(WER) + " schlaegt hier Wurzeln.\n" );
+	write( "Du schlaegst nun Wurzeln.\n" );
+	return 1;
+}
+
+static int wurzel_aus( string arg ) {
+	
+	if( this_object() != this_interactive() ) return 0;
+	notify_fail( "WAS willst du loesen?\n" );
+	if( !arg ) return 0;
+	if( member( ({"wurzel","wurzeln"}),	arg ) == -1 ) return 0;
+	
+	_wurzel = -1;
+	say( Name(WER) + " loest " + QueryPronoun(FEMALE,WEN,PLURAL)
+			 + " Wurzeln aus dem Boden.\n" );
+	write( "Du loest Deine Wurzeln aus dem Boden.\n" );
+	return 1;
+}
+
+int wurzel_info( string arg ) {
+	if( this_object() != this_interactive() ) return 0;
+	switch( _wurzel ) {
+	case -1:
+		write( "Deine Wurzeln sind lose.\n" );
+		break;
+	case 0:
+		write( "Deine Wurzeln sitzen fest.\n" );
+		break;
+	case 1:
+		write( "Noch eine Bewegung und Du sitzt fest.\n" );
+		break;
+	default:
+		printf( "Noch %d Bewegungen, und Du sitzt fest.\n", _wurzel );
+	}
+	return 1;
+}
+
+static mixed _query_localcmds() {
+	return ::_query_localcmds() + ({
+		({ "schlag"    , "wurzel_an"  ,1,ARCH_LVL }),
+		({ "loes"      , "wurzel_aus" ,1,ARCH_LVL }),
+		({ "wurzelinfo", "wurzel_info",0,ARCH_LVL })
+	});
+}
+
+varargs int move( mixed dest, int method, string dir,
+									string textout, string textin )
+{
+	if( _wurzel == 0 ) {
+		return ME_TOO_HEAVY;
+	}
+	if( _wurzel > 0 ) { _wurzel--; }
+	return ::move( dest, method, dir, textout, textin );
+}
+
+static int new_quit() {
+	_wurzel = -1;
+	return ::new_quit();
+}