Added public files

Roughly added all public files. Probably missed some, though.
diff --git a/std/shells/dwarf.c b/std/shells/dwarf.c
new file mode 100644
index 0000000..7a696dc
--- /dev/null
+++ b/std/shells/dwarf.c
@@ -0,0 +1,156 @@
+// MorgenGrauen MUDlib
+//
+// shells/dwarf.c -- Dwarven Shell
+//
+// $Id: dwarf.c,v 3.14 2004/12/13 12:54:31 Zook Exp $
+
+#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 <defuel.h>
+
+
+void create(){
+  if (!clonep() || object_name(this_object()) == __FILE__[0..<3]) {
+      set_next_reset(-1);    
+      return;
+  }
+
+  mixed res;
+
+  base::create();
+  SetDefaultHome("/d/gebirge/room/zkapelle");
+  SetDefaultPrayRoom("/d/gebirge/room/zkapelle");
+  SetProp(P_ATTRIBUTES_OFFSETS,([A_STR:2,A_DEX:1,A_CON:3]));
+  SetProp(P_SKILL_ATTRIBUTE_OFFSETS,([SA_DURATION:110]));
+  SetProp(P_AVERAGE_SIZE,120);
+  SetProp(P_AVERAGE_WEIGHT,75000);
+  SetProp(P_MATERIAL_KNOWLEDGE,([MATGROUP_STONE:30,
+                                 MATGROUP_METAL:30, 
+                                 MATGROUP_PRECIOUS_METAL: 40, 
+                                 MAT_GOLD:100]));
+  SetProp(P_RESISTANCE_STRENGTHS,
+	  ([ DT_FIRE : -0.2,
+	   DT_WATER : 0.4 ]));
+  SetProp(P_MAX_ALCOHOL,200);
+  SetProp(P_MAX_FOOD,160);
+
+  SetProp(P_SP_DELAY,HEAL_DELAY+1);
+  SetProp(P_POISON_DELAY,POISON_DELAY+1);
+  SetProp(P_FOOD_DELAY,FOOD_DELAY-1);
+  SetProp(P_ALCOHOL_DELAY,ALCOHOL_DELAY-1);
+
+  SetProp(P_MAGIC_RESISTANCE_OFFSET,
+          ([ MT_ANGRIFF : 200,
+	   MT_ILLUSION : -500,
+           MT_BEHERRSCHUNG : 1000,
+	   MT_VERWANDLUNG : 500 ]));
+
+  if(!IS_SEER(this_object())){
+    SetProp(P_MSGIN,"stapft herein");
+    SetProp(P_MSGOUT,"stapft");
+  }
+
+  if(!(res=QueryProp(P_HANDS)) || !pointerp(res) || (sizeof(res)<3))
+    res=({" mit blossen Haenden",35,({DT_BLUDGEON}) });
+  res[1]=35;
+  SetProp(P_HANDS,res);
+  SetProp(P_BODY,10);
+
+  /* Groesse wird nur einmal gesetzt */
+  if(!QueryProp(P_SIZE)){
+    SetProp(P_SIZE,110+random(21));
+    Set(P_SIZE,SAVE,F_MODE_AS);
+  }
+
+  /* Dito Gewicht */
+  if(!QueryProp(P_WEIGHT) || (QueryProp(P_WEIGHT) == 75000)){
+    SetProp(P_WEIGHT,65000+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,70);
+  SetProp(P_DEFUEL_LIMIT_DRINK,50);
+  SetProp(P_DEFUEL_TIME_FOOD,535);
+  SetProp(P_DEFUEL_TIME_DRINK,500);
+  SetProp(P_DEFUEL_AMOUNT_FOOD,0.8);
+  SetProp(P_DEFUEL_AMOUNT_DRINK,0.6);
+
+}
+
+string _query_race()
+{
+  return "Zwerg";
+}
+
+string _query_real_race()
+{
+  return "Zwerg";
+}
+
+string _query_racedescr()
+{
+  return
+  "Zwerge sind kleine aber kraeftige Gebirgsbewohner, nicht sehr gespraechig,\n"
+    +"leicht erzuernt, aber eine schlagkraeftige Unterstuetzung fuer ihre Freunde."
+    +"\n"
+    +"Ihr Mut und ihre Standfestigkeit ist weit und breit beruehmt, auch ihr\n"
+    +"Geschick im Umgang mit Zwergenwaffen verleiht ihnen zusaetzliche Kraft.\n"
+    +"Leider sind Zwerge nicht allzu schlau, sie verlassen sich lieber auf\n"
+    +"ihre Kraft als auf ihr Gehirn.\n";
+}
+
+int QueryAllowSelect() { return 1; }
+
+string *_query_racestring()
+{
+  if (QueryProp(P_GENDER)==2)
+    return ({"Zwergin","Zwergin","Zwergin","Zwergin"});
+  return ({"Zwerg","Zwerges","Zwerg","Zwerg"});
+}
+int _query_hp_delay(){
+  int re;
+  re = Query(P_HP_DELAY);
+  if (environment() && environment()->QueryProp(P_INDOORS))
+    re--;
+  else
+    re++;
+  return re;
+}
+int _query_sp_delay(){
+  int re;
+  re = Query(P_SP_DELAY);
+  if (environment() && environment()->QueryProp(P_INDOORS))
+    re--;
+  else
+    re++;
+  return re;
+}
+
+string _query_default_guild(){
+  return "abenteurer";
+}
+
+mixed RaceDefault(string arg)
+{
+  if (!arg)
+    return 0;
+  switch(arg)
+  {
+    case P_HANDS :
+      return ({" mit blossen Haenden",35,({DT_BLUDGEON}) });
+    case P_BODY :
+      return 10;
+  }
+  return 0;
+}