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