Added public files

Roughly added all public files. Probably missed some, though.
diff --git a/std/living/std_skills.c b/std/living/std_skills.c
new file mode 100644
index 0000000..d132efc
--- /dev/null
+++ b/std/living/std_skills.c
@@ -0,0 +1,104 @@
+// MorgenGrauen MUDlib
+//
+// living/std_skills.c -- Standardfaehigkeiten
+//
+// $Id: std_skills.c 6673 2008-01-05 20:57:43Z Zesstra $
+#pragma strong_types
+#pragma save_types
+#pragma range_check
+#pragma no_clone
+#pragma pedantic
+
+#define NEED_PROTOTYPES
+#include <living/skills.h>
+#include <living/skill_attributes.h>
+#include <thing/properties.h>
+#include <attributes.h>
+#undef NEED_PROTOTYPES
+#include <properties.h>
+#include <new_skills.h>
+
+#define SIG(x) (x?(x>0?1:-1):0)
+
+protected int StdSkill_Nightvision(object me, string sname, mixed sinfo) {
+  int abil,light,llt,dt,res;
+
+  if (!sinfo || !environment()) return 0;
+  if (intp(sinfo)) sinfo=([SI_SKILLABILITY:sinfo]);
+  if (!mappingp(sinfo)) return 0;
+  if ((light=QueryProp(P_PLAYER_LIGHT))>0) {
+    ModifySkill(sname,([SI_LASTLIGHT:time()]));
+    return light;
+  }
+  abil=sinfo[SI_SKILLABILITY];
+  if (!(llt=sinfo[SI_LASTLIGHT])) {
+    ModifySkill(sname,([SI_LASTLIGHT:time()]));
+    dt=0;
+  } else {
+    dt=time()-llt;
+    if (dt<0) dt=0;
+    if (dt>86400) dt=86400;
+  }
+
+  res=(abil*dt)/(20*MAX_ABILITY)+light;
+  if (res<=0) {
+    res--; // Wert muss !=0 sein
+    if (res<-MAX_ABILITY) res=-MAX_ABILITY;
+  } else {
+    if (res>MAX_ABILITY) res=MAX_ABILITY;
+  }
+  return res;
+}
+
+protected mapping StdSkill_Bihand(object me, string sname, mapping sinfo) {
+  int abil,val;
+
+  // printf("Bihand: %O\n",sinfo);
+  if (!sinfo) return 0;
+  abil=sinfo[SI_SKILLABILITY];
+  val=(abil*(QueryAttribute(A_STR)+33))/MAX_ABILITY;
+  val=(val*QuerySkillAttribute(SA_DAMAGE))/100;
+  sinfo[SI_SKILLDAMAGE]+=val;
+  // + max. 53
+  return sinfo;
+}
+
+protected mapping StdSkill_Fight_sword(object me, string sname, mapping sinfo) {
+  int abil,asig,val;
+
+  abil=sinfo[SI_SKILLABILITY];asig=SIG(abil);
+  val=(abil*(QueryAttribute(A_STR) +
+             QueryAttribute(A_DEX)*asig +
+             33))/MAX_ABILITY;
+  val=(val*QuerySkillAttribute(SA_DAMAGE))/100;
+  sinfo[SI_SKILLDAMAGE]+=val;
+  // + max. 73
+  return sinfo;
+}
+
+protected mapping StdSkill_Fight_hands(object me, string sname, mapping sinfo) {
+  int abil,asig,val;
+
+  if (!sinfo) return 0;
+  abil=sinfo[SI_SKILLABILITY];asig=SIG(abil);
+  val=(abil*(QueryAttribute(A_STR) +
+             QueryAttribute(A_DEX)*3*asig +
+             100))/MAX_ABILITY;
+  val=(val*QuerySkillAttribute(SA_DAMAGE))/100;
+  sinfo[SI_SKILLDAMAGE]+=val;
+  // + max. 180
+  return sinfo;
+}
+
+protected int StdSkill_Booze(object me, string sname, mapping sinfo) {
+  int abil,val;
+
+  val=0;
+  if (!sinfo || (val=sinfo[SI_SKILLARG])<=0)
+    return val;
+  abil=sinfo[SI_SKILLABILITY];
+  val-=(val*abil)/(MAX_ABILITY+2500); // Bis zu 80% Abzug bei Alkoholikern.
+  if (val<=0) val=1;
+  return val;
+}
+