Added public files

Roughly added all public files. Probably missed some, though.
diff --git a/items/fishing/shaken.c b/items/fishing/shaken.c
new file mode 100644
index 0000000..4bec621
--- /dev/null
+++ b/items/fishing/shaken.c
@@ -0,0 +1,62 @@
+#pragma strong_types, save_types, rtt_checks
+#pragma no_shadow, no_inherit
+
+#include <language.h>
+#include <properties.h>
+#include <fishing.h>
+#include <items/flasche.h>
+
+inherit STD_HAKEN;
+
+protected void create() {
+  ::create();
+  AddId(({"spezialhaken"}));
+  SetProp(P_NAME, "Haken");
+  SetProp(P_ARTICLE, 1);
+  SetProp(P_WATER, W_UNIVERSAL);
+  SetProp(P_FISH, -20+random(60)); // -20 ... +39
+  SetProp(P_SHORT, "Ein Spezialhaken");
+  SetProp(P_LONG, break_string(
+    "Ein Angelhaken aus Metall. Es ist eine Spezialanfertigung aus Sam "
+    "Harkwinds Anglerladen, die einen kuenstlichen Wurm enthaelt.\n",78));
+  SetProp(P_INFO, break_string(
+    "Der kuenstliche Koeder soll in jedem Gewaesser recht gut "
+    "funktionieren, hat man Dir im Laden versprochen.",78));
+  
+  AddDetail(({"koeder","wurm"}), function string (string key) {
+    string desc = "Der Koeder ist handwerklich %s gelungen. Du glaubst, "
+      "dass er auf Fische %s wirken duerfte.";
+    string craft, effect;
+    switch(QueryProp(P_FISH)) {
+      case -20..-6:
+        craft = "ziemlich mies";
+        effect = "eher abstossend"; 
+        break;
+      case -5..9:
+        craft = "bestenfalls durchschnittlich";
+        effect = "genauso durchschnittlich";
+        break;
+      case 10..24:
+        craft = "wirklich solide";
+        effect = "recht appetitlich";
+        break;
+      case 25..39:
+        craft = "ueberragend";
+        effect = "unwiderstehlich";
+        break;
+      default: 
+        craft = "so la-la";
+        effect = "komisch";
+        break;
+    }
+    return break_string(sprintf(desc,craft,effect),78);
+  });
+
+  SetProp(P_LONG_EMPTY, "");
+  SetProp(P_VALUE, 20);
+  SetProp(P_WEIGHT, 10);
+}
+
+int QueryKoeder() { 
+  return 1; 
+}