Added public files

Roughly added all public files. Probably missed some, though.
diff --git a/std/shells/hobbit.c b/std/shells/hobbit.c
new file mode 100644
index 0000000..b626b06
--- /dev/null
+++ b/std/shells/hobbit.c
@@ -0,0 +1,139 @@
+// MorgenGrauen MUDlib
+//
+// shells/hobbit.c -- Hobbit Shell
+//
+//   9.April 1995  V1.0 Gundur
+//
+//   15.Juni prayroom und defHome auf Hobbitdorf gesetzt von Gundur
+//
+// $Id: hobbit.c 8920 2014-09-02 20:18:38Z Zesstra $
+
+#pragma strong_types,save_types
+
+inherit "std/player/base";
+
+#include <properties.h>
+#include <attributes.h>
+#include <wizlevels.h>
+#include <health.h>
+#include <new_skills.h>
+#include <language.h>
+#include <combat.h>
+#include <moving.h>
+#include <defuel.h>
+
+
+
+void create(){
+  if (!clonep() || object_name(this_object()) == __FILE__[0..<3]) {
+      set_next_reset(-1);    
+      return;
+  }
+
+  mixed res;
+
+  base::create();
+  SetDefaultHome("/d/wald/gundur/hobbitdorf/schrein");
+  SetDefaultPrayRoom("/d/wald/gundur/hobbitdorf/schrein");
+  SetProp(P_ATTRIBUTES_OFFSETS,([A_DEX:4,A_CON:2]));
+  SetProp(P_AVERAGE_SIZE, 105);
+  SetProp(P_AVERAGE_WEIGHT, 60000);
+  SetProp(P_MATERIAL_KNOWLEDGE,([MATGROUP_EATABLE:30, 
+                                 MATGROUP_DRUG:30, 
+                                 MATGROUP_POISONOUS:10]));
+  SetProp(P_RESISTANCE_STRENGTHS,
+	  ([ DT_TERROR : -0.1,
+	   DT_MAGIC : -0.1,
+	   DT_SOUND : 0.2,
+	   DT_LIGHTNING : 0.1,
+	   DT_POISON : 0.1 ]));
+  SetProp(P_MAX_FOOD,250);
+  SetProp(P_MAX_DRINK,100);
+  SetProp(P_MAX_ALCOHOL,150);
+
+  SetProp(P_SP_DELAY,HEAL_DELAY+1);
+  SetProp(P_POISON_DELAY,POISON_DELAY-1);
+  SetProp(P_FOOD_DELAY,FOOD_DELAY-2);
+  SetProp(P_ALCOHOL_DELAY,ALCOHOL_DELAY+1);
+
+  SetProp(P_MAGIC_RESISTANCE_OFFSET,
+          ([ MT_ANGRIFF : 500,
+	   MT_HELLSICHT : -500,
+	   MT_PSYCHO : -500 ]));
+
+  if(!(res=QueryProp(P_HANDS)) || !pointerp(res) || (sizeof(res)<3))
+    res=({" mit pelzigen Haenden",25,({DT_BLUDGEON})});
+  res[1]=25;
+  SetProp(P_HANDS,res);
+  SetProp(P_BODY,15);
+
+  /* Groesse wird nur einmal gesetzt */
+  if(!QueryProp(P_SIZE)){
+    SetProp(P_SIZE,95+random(21));
+    Set(P_SIZE,SAVE,F_MODE_AS);
+  }
+
+  /* Dito Gewicht */
+  if(!QueryProp(P_WEIGHT) || (QueryProp(P_WEIGHT) == 75000)){
+    SetProp(P_WEIGHT,50000+random(20001));
+    if(QueryProp(P_GENDER)==FEMALE)
+      SetProp(P_WEIGHT,QueryProp(P_WEIGHT)-5000);
+    Set(P_WEIGHT,SAVE,F_MODE_AS);
+  }
+  SetProp(P_DEFUEL_LIMIT_FOOD,140);
+  SetProp(P_DEFUEL_LIMIT_DRINK,50);
+  SetProp(P_DEFUEL_TIME_FOOD,850);
+  SetProp(P_DEFUEL_TIME_DRINK,450);
+  SetProp(P_DEFUEL_AMOUNT_FOOD,0.8);
+  SetProp(P_DEFUEL_AMOUNT_DRINK,0.6);
+
+}
+
+string _query_race()
+{
+  return "Hobbit";
+}
+
+string _query_real_race()
+{
+  return "Hobbit";
+}
+
+string _query_racedescr()
+{
+  return "Hobbits sind kleine Wesen, die am ehesten den Menschen aehneln.\n"+
+    "Sie zeichnen sich trotz Ihrer Groesse durch ihren Mut und Standfestigkeit "+
+	"aus.\nObwohl sie viel lieber zuhause vorm warmen Kamin sitzen, sind sie "+
+	"immer\nfuer ein Abenteuer zu haben.\n";
+}
+
+int QueryAllowSelect() { return 1; }
+
+string *_query_racestring(){
+  if (QueryProp(P_GENDER) == FEMALE)
+    return ({"Hobbitfrau","Hobbitfrau","Hobbitfrau","Hobbitfrau"});
+  return ({"Hobbit","Hobbits","Hobbit","Hobbit"});
+}
+
+string _query_default_guild(){
+  return "abenteurer";
+}
+
+void FinalSetup() {
+  if(!present("pfeifchen",this_object()))
+    clone_object("/items/pfeifchen")->move(this_object(),M_NOCHECK);
+}
+
+mixed RaceDefault(string arg)
+{
+  if (!arg)
+    return 0;
+  switch(arg)
+  {
+    case P_HANDS :
+      return ({" mit pelzigen Haenden",25,({DT_BLUDGEON}) });
+    case P_BODY :
+      return 15;
+  }
+  return base::RaceDefault(arg);
+}