Added public files

Roughly added all public files. Probably missed some, though.
diff --git a/items/fishing/aquarium/alligator.c b/items/fishing/aquarium/alligator.c
new file mode 100644
index 0000000..9ae403c
--- /dev/null
+++ b/items/fishing/aquarium/alligator.c
@@ -0,0 +1,19 @@
+#include <language.h>
+#include <properties.h>
+#include <fishing.h>
+
+inherit STD_FISCH;
+
+
+protected void create() {
+  if (!clonep(this_object()))
+    return;
+  ::create();
+  corpseobject = 0;
+  AddId(({"alligator"}));
+  SetProp(P_NAME,"Alligator" );
+  SetProp(P_SHORT,"Ein Alligator" );
+  SetProp(P_LONG,"Ein original Kanalligator (TM).\n");
+  SetProp(P_VALUE,600);
+  SetProp(P_WEIGHT, 1000);
+}
diff --git a/items/fishing/aquarium/barsch.c b/items/fishing/aquarium/barsch.c
new file mode 100644
index 0000000..308a5be
--- /dev/null
+++ b/items/fishing/aquarium/barsch.c
@@ -0,0 +1,17 @@
+#include <language.h>
+#include <properties.h>
+#include <fishing.h>
+
+inherit STD_FISCH;
+
+protected void create() {
+   if (!clonep(this_object())) return;
+   ::create();
+  AddId(({"barsch"}));
+  SetProp(P_NAME,"Barsch" );
+  SetProp(P_GENDER,MALE);
+  SetProp(P_SHORT,"Ein Barsch" );
+  SetProp(P_LONG,"Ein dunkelgruener Barsch.\n");
+  SetProp(P_VALUE,60);
+  SetProp(P_WEIGHT, 500);
+}
diff --git a/items/fishing/aquarium/bforelle.c b/items/fishing/aquarium/bforelle.c
new file mode 100644
index 0000000..ba973b3
--- /dev/null
+++ b/items/fishing/aquarium/bforelle.c
@@ -0,0 +1,17 @@
+#include <language.h>
+#include <properties.h>
+#include <fishing.h>
+
+inherit STD_FISCH;
+
+protected void create() {
+  if (!clonep(this_object())) return;
+  ::create();
+  AddId(({"forelle","bachforelle"}));
+  SetProp(P_NAME,"Forelle" );
+  SetProp(P_GENDER,FEMALE);
+  SetProp(P_SHORT,"Eine Forelle" );
+  SetProp(P_LONG,"Eine kleine rotgefleckte Bachforelle.\n");
+  SetProp(P_VALUE,100);
+  SetProp(P_WEIGHT, 500);
+}
diff --git a/items/fishing/aquarium/bsaib.c b/items/fishing/aquarium/bsaib.c
new file mode 100644
index 0000000..6b1cf00
--- /dev/null
+++ b/items/fishing/aquarium/bsaib.c
@@ -0,0 +1,17 @@
+#include <language.h>
+#include <properties.h>
+#include <fishing.h>
+
+inherit STD_FISCH;
+
+protected void create() {
+  if (!clonep(this_object())) return;
+  ::create();
+  AddId(({"bachsaibling","saibling"}));
+  SetProp(P_NAME,"Bachsaibling" );
+  SetProp(P_GENDER,MALE);
+  SetProp(P_SHORT,"Ein Bachsaibling" );
+  SetProp(P_LONG,"Ein oliv-brauner Bachsaibling.\n");
+  SetProp(P_VALUE,80);
+  SetProp(P_WEIGHT, 400);
+}
diff --git a/items/fishing/aquarium/dorsch.c b/items/fishing/aquarium/dorsch.c
new file mode 100644
index 0000000..b97d90a
--- /dev/null
+++ b/items/fishing/aquarium/dorsch.c
@@ -0,0 +1,17 @@
+#include <language.h>
+#include <properties.h>
+#include <fishing.h>
+
+inherit STD_FISCH;
+
+protected void create() {
+  if (!clonep(this_object())) return;
+  ::create();
+  AddId(({"dorsch","kabeljau"}));
+  SetProp(P_NAME,"Dorsch" );
+  SetProp(P_GENDER,MALE);
+  SetProp(P_SHORT,"Ein Dorsch" );
+  SetProp(P_LONG,"Ein kleinerer Dorsch.\n");
+  SetProp(P_VALUE,100);
+  SetProp(P_WEIGHT, 200);
+}
diff --git a/items/fishing/aquarium/fisch.c b/items/fishing/aquarium/fisch.c
new file mode 100644
index 0000000..a4fe241
--- /dev/null
+++ b/items/fishing/aquarium/fisch.c
@@ -0,0 +1,16 @@
+#include <language.h>
+#include <properties.h>
+#include <fishing.h>
+
+inherit STD_FISCH;
+
+protected void create() {
+  if (!clonep(this_object())) return;
+  ::create();
+  SetProp(P_NAME,"FISCH" );
+  SetProp(P_GENDER,MALE);
+  SetProp(P_SHORT,"Ein Fisch" );
+  SetProp(P_LONG,"Ein ziemlich gewoehnlicher Fisch.\n");
+  SetProp(P_VALUE,10);
+  SetProp(P_WEIGHT, 100);
+}
diff --git a/items/fishing/aquarium/flunder.c b/items/fishing/aquarium/flunder.c
new file mode 100644
index 0000000..9e50598
--- /dev/null
+++ b/items/fishing/aquarium/flunder.c
@@ -0,0 +1,17 @@
+#include <language.h>
+#include <properties.h>
+#include <fishing.h>
+
+inherit STD_FISCH;
+
+protected void create() {
+   if (!clonep(this_object())) return;
+  ::create();
+  AddId(({"flunder"}));
+  SetProp(P_NAME,"Flunder" );
+  SetProp(P_GENDER,FEMALE);
+  SetProp(P_SHORT,"Eine Flunder" );
+  SetProp(P_LONG,"Ein ziemlich flache Flunder.\n");
+  SetProp(P_VALUE,60);
+  SetProp(P_WEIGHT, 300);
+}
diff --git a/items/fishing/aquarium/forelle.c b/items/fishing/aquarium/forelle.c
new file mode 100644
index 0000000..e4d1fe2
--- /dev/null
+++ b/items/fishing/aquarium/forelle.c
@@ -0,0 +1,17 @@
+#include <language.h>
+#include <properties.h>
+#include <fishing.h>
+
+inherit STD_FISCH;
+
+protected void create() {
+   if (!clonep(this_object())) return;
+  ::create();
+  AddId(({"forelle","regenbogenforelle"}));
+  SetProp(P_NAME,"Forelle" );
+  SetProp(P_GENDER,FEMALE);
+  SetProp(P_SHORT,"Eine Forelle" );
+  SetProp(P_LONG,"Eine grosse, bunte Regenbogenforelle.\n");
+  SetProp(P_VALUE,200);
+  SetProp(P_WEIGHT, 1000);
+}
diff --git a/items/fishing/aquarium/gfisch.c b/items/fishing/aquarium/gfisch.c
new file mode 100644
index 0000000..ebdd6a2
--- /dev/null
+++ b/items/fishing/aquarium/gfisch.c
@@ -0,0 +1,17 @@
+#include <language.h>
+#include <properties.h>
+#include <fishing.h>
+
+inherit STD_FISCH;
+
+protected void create() {
+   if (!clonep(this_object())) return;
+  ::create();
+  AddId(({"goldfisch"}));
+  SetProp(P_NAME,"Goldfisch" );
+  SetProp(P_GENDER,MALE);
+  SetProp(P_SHORT,"Ein Goldfisch" );
+  SetProp(P_LONG,"Ein wunderschoen roter Goldfisch.\n");
+  SetProp(P_VALUE,100);
+  SetProp(P_WEIGHT, 80);
+}
diff --git a/items/fishing/aquarium/gorfe.c b/items/fishing/aquarium/gorfe.c
new file mode 100644
index 0000000..646c001
--- /dev/null
+++ b/items/fishing/aquarium/gorfe.c
@@ -0,0 +1,19 @@
+#include <language.h>
+#include <properties.h>
+#include <fishing.h>
+
+inherit STD_FISCH;
+
+protected void create() {
+   if (!clonep(this_object())) return;
+  ::create();
+  AddId(({"goldorfe","orfe"}));
+  SetProp(P_NAME,"Goldorfe" );
+  SetProp(P_GENDER,FEMALE);
+  SetProp(P_SHORT,"Ein Goldorfe" );
+  SetProp(P_LONG,
+  "Eine rote Goldorfe. Sie hat ein wenig Aehnlichkeit mit einem Goldfisch,\n"
+  +"ist jedoch wesentlich schlanker, schneller und gefraessiger.\n");
+  SetProp(P_VALUE, 150);
+  SetProp(P_WEIGHT, 80);
+}
diff --git a/items/fishing/aquarium/hai.c b/items/fishing/aquarium/hai.c
new file mode 100644
index 0000000..b81e546
--- /dev/null
+++ b/items/fishing/aquarium/hai.c
@@ -0,0 +1,17 @@
+#include <language.h>
+#include <properties.h>
+#include <fishing.h>
+
+inherit STD_FISCH;
+
+protected void create() {
+  if (!clonep(this_object())) return;
+  ::create();
+  AddId(({"blauhai","hai"}));
+  SetProp(P_NAME,"Hai" );
+  SetProp(P_GENDER,MALE);
+  SetProp(P_SHORT,"Ein Hai" );
+  SetProp(P_LONG,"Ein grosser, bissiger Blauhai.\n");
+  SetProp(P_VALUE,800);
+  SetProp(P_WEIGHT, 1200);
+}
diff --git a/items/fishing/aquarium/hecht.c b/items/fishing/aquarium/hecht.c
new file mode 100644
index 0000000..b358ff9
--- /dev/null
+++ b/items/fishing/aquarium/hecht.c
@@ -0,0 +1,17 @@
+#include <language.h>
+#include <properties.h>
+#include <fishing.h>
+
+inherit STD_FISCH;
+
+protected void create() {
+   if (!clonep(this_object())) return;
+  ::create();
+  AddId(({"hecht"}));
+  SetProp(P_NAME,"Hecht" );
+  SetProp(P_GENDER,MALE);
+  SetProp(P_SHORT,"Ein Hecht" );
+  SetProp(P_LONG,"Ein torpedofoermiger, gruengestreifter Hecht.\n");
+  SetProp(P_VALUE,90);
+  SetProp(P_WEIGHT, 700);
+}
diff --git a/items/fishing/aquarium/hering.c b/items/fishing/aquarium/hering.c
new file mode 100644
index 0000000..bbcb30b
--- /dev/null
+++ b/items/fishing/aquarium/hering.c
@@ -0,0 +1,18 @@
+#include <language.h>
+#include <properties.h>
+#include <fishing.h>
+
+inherit STD_FISCH;
+
+protected void create() {
+   if (!clonep(this_object())) return;
+  ::create();
+  AddId(({"hering"}));
+  SetProp(P_NAME,"Hering" );
+  SetProp(P_GENDER,MALE);
+  SetProp(P_SHORT,"Ein Hering" );
+  SetProp(P_LONG,
+  "Ein kleiner Hering.\n");
+  SetProp(P_VALUE,30);
+  SetProp(P_WEIGHT, 100);
+}
diff --git a/items/fishing/aquarium/karpfen.c b/items/fishing/aquarium/karpfen.c
new file mode 100644
index 0000000..212ece7
--- /dev/null
+++ b/items/fishing/aquarium/karpfen.c
@@ -0,0 +1,17 @@
+#include <language.h>
+#include <properties.h>
+#include <fishing.h>
+
+inherit STD_FISCH;
+
+protected void create() {
+   if (!clonep(this_object())) return;
+  ::create();
+  AddId(({"karpfen"}));
+  SetProp(P_NAME,"Karpfen" );
+  SetProp(P_GENDER,MALE);
+  SetProp(P_SHORT,"Ein Karpfen" );
+  SetProp(P_LONG,"Ein grosser blaugrauer Karpfen.\n");
+  SetProp(P_VALUE,200);
+  SetProp(P_WEIGHT, 1000);
+}
diff --git a/items/fishing/aquarium/khai.c b/items/fishing/aquarium/khai.c
new file mode 100644
index 0000000..3fcfe19
--- /dev/null
+++ b/items/fishing/aquarium/khai.c
@@ -0,0 +1,19 @@
+#include <language.h>
+#include <properties.h>
+#include <fishing.h>
+
+inherit STD_FISCH;
+
+protected void create() {
+  if (!clonep(this_object())) return;
+  ::create();
+  AddId(({"katzenhai","hai","schmirgelpapier","\nkhaut"}));
+  SetProp(P_NAME,"Katzenhai" );
+  SetProp(P_GENDER,MALE);
+  SetProp(P_SHORT,"Ein Katzenhai" );
+  SetProp(P_LONG,"Ein kleiner Katzenhai, er hat eine aeusserst raue Haut.\n");
+  SetProp(P_VALUE,100);
+  SetProp(P_WEIGHT, 200);
+  SetEatMessage("Du haeutest den Katzenhai und isst ihn.");
+  SetCorpseObject(ANGELOBJ("khaut"));
+}
diff --git a/items/fishing/aquarium/kjau.c b/items/fishing/aquarium/kjau.c
new file mode 100644
index 0000000..18fb929
--- /dev/null
+++ b/items/fishing/aquarium/kjau.c
@@ -0,0 +1,17 @@
+#include <language.h>
+#include <properties.h>
+#include <fishing.h>
+
+inherit STD_FISCH;
+
+protected void create() {
+  if (!clonep(this_object())) return;
+  ::create();
+  AddId(({"dorsch","kabeljau"}));
+  SetProp(P_NAME,"Kabeljau" );
+  SetProp(P_GENDER,MALE);
+  SetProp(P_SHORT,"Ein Kabeljau" );
+  SetProp(P_LONG,"Ein praechtiger, grosser Kabeljau.\n");
+  SetProp(P_VALUE,500);
+  SetProp(P_WEIGHT, 500);
+}
diff --git a/items/fishing/aquarium/lachs.c b/items/fishing/aquarium/lachs.c
new file mode 100644
index 0000000..769fa44
--- /dev/null
+++ b/items/fishing/aquarium/lachs.c
@@ -0,0 +1,16 @@
+#include <language.h>
+#include <properties.h>
+#include <fishing.h>
+
+inherit STD_FISCH;
+
+protected void create() {
+   if (!clonep(this_object())) return;
+  ::create();
+  AddId(({"lachs"}));
+  SetProp(P_NAME,"Lachs" );
+  SetProp(P_SHORT,"Ein Lachs" );
+  SetProp(P_LONG,"Ein schoener, grosser Lachs.\n");
+  SetProp(P_VALUE,60);
+  SetProp(P_WEIGHT, 400);
+}
diff --git a/items/fishing/aquarium/neun.c b/items/fishing/aquarium/neun.c
new file mode 100644
index 0000000..914448d
--- /dev/null
+++ b/items/fishing/aquarium/neun.c
@@ -0,0 +1,19 @@
+#include <language.h>
+#include <properties.h>
+#include <fishing.h>
+
+inherit STD_FISCH;
+
+protected void create() {
+   if (!clonep(this_object())) return;
+  ::create();
+  AddId(({"neunauge","bachneunauge"}));
+  SetProp(P_NAME,"Bachneunauge" );
+  SetProp(P_GENDER,NEUTER);
+  SetProp(P_SHORT,"Ein Neunauge" );
+  SetProp(P_LONG,
+  "Ein Bachneunauge mit einer kleinen Mundscheibe. Damit kann es sich\n"
+  +"an Steinen festhalten und in der Stroemung treiben.\n");
+  SetProp(P_VALUE,60);
+  SetProp(P_WEIGHT, 300);
+}
diff --git a/items/fishing/aquarium/piranha.c b/items/fishing/aquarium/piranha.c
new file mode 100644
index 0000000..5ad1ea2
--- /dev/null
+++ b/items/fishing/aquarium/piranha.c
@@ -0,0 +1,18 @@
+#include <language.h>
+#include <properties.h>
+#include <fishing.h>
+
+inherit STD_FISCH;
+
+protected void create() {
+   if (!clonep(this_object())) return;
+  ::create();
+  AddId(({"piranha"}));
+  SetProp(P_NAME,"Piranha" );
+  SetProp(P_GENDER,MALE);
+  SetProp(P_SHORT,"Ein Piranha" );
+  SetProp(P_LONG,"Ein boesartiger kleiner Piranha mit sehr scharfen "
+    "Zaehnen.\n");
+  SetProp(P_VALUE,40);
+  SetProp(P_WEIGHT, 100);
+}
diff --git a/items/fishing/aquarium/rochen.c b/items/fishing/aquarium/rochen.c
new file mode 100644
index 0000000..b338d28
--- /dev/null
+++ b/items/fishing/aquarium/rochen.c
@@ -0,0 +1,17 @@
+#include <language.h>
+#include <properties.h>
+#include <fishing.h>
+
+inherit STD_FISCH;
+
+protected void create() {
+   if (!clonep(this_object())) return;
+  ::create();
+  AddId(({"rochen","nagelrochen"}));
+  SetProp(P_NAME,"Rochen" );
+  SetProp(P_GENDER,MALE);
+  SetProp(P_SHORT,"Ein Rochen" );
+  SetProp(P_LONG,"Ein kleiner Nagelrochen.\n");
+  SetProp(P_VALUE,60);
+  SetProp(P_WEIGHT, 300);
+}
diff --git a/items/fishing/aquarium/schlei.c b/items/fishing/aquarium/schlei.c
new file mode 100644
index 0000000..200f23b
--- /dev/null
+++ b/items/fishing/aquarium/schlei.c
@@ -0,0 +1,17 @@
+#include <language.h>
+#include <properties.h>
+#include <fishing.h>
+
+inherit STD_FISCH;
+
+protected void create() {
+   if (!clonep(this_object())) return;
+  ::create();
+  AddId(({"schleie","schlei"}));
+  SetProp(P_NAME,"Schleie" );
+  SetProp(P_GENDER,FEMALE);
+  SetProp(P_SHORT,"Eine Schlei" );
+  SetProp(P_LONG,"Eine aeusserst schleimige Schleie.\n");
+  SetProp(P_VALUE,100);
+  SetProp(P_WEIGHT, 800);
+}
diff --git a/items/fishing/aquarium/scholle.c b/items/fishing/aquarium/scholle.c
new file mode 100644
index 0000000..71b6ab4
--- /dev/null
+++ b/items/fishing/aquarium/scholle.c
@@ -0,0 +1,17 @@
+#include <language.h>
+#include <properties.h>
+#include <fishing.h>
+
+inherit STD_FISCH;
+
+protected void create() {
+   if (!clonep(this_object())) return;
+  ::create();
+  AddId(({"scholle"}));
+  SetProp(P_NAME,"Scholle" );
+  SetProp(P_GENDER,FEMALE);
+  SetProp(P_SHORT,"Eine Scholle" );
+  SetProp(P_LONG,"Ein platte, flache Scholle.\n");
+  SetProp(P_VALUE,60);
+  SetProp(P_WEIGHT, 500);
+}
diff --git a/items/fishing/aquarium/schwert.c b/items/fishing/aquarium/schwert.c
new file mode 100644
index 0000000..c3754c9
--- /dev/null
+++ b/items/fishing/aquarium/schwert.c
@@ -0,0 +1,17 @@
+#include <language.h>
+#include <properties.h>
+#include <fishing.h>
+
+inherit STD_FISCH;
+
+protected void create() {
+   if (!clonep(this_object())) return;
+  ::create();
+  AddId(({"schwertfisch"}));
+  SetProp(P_NAME,"Schwertfisch" );
+  SetProp(P_GENDER,MALE);
+  SetProp(P_SHORT,"Ein Schwertfisch" );
+  SetProp(P_LONG,"Ein Schwertfisch mit einem sehr langen Schwert.\n");
+  SetProp(P_VALUE,700);
+  SetProp(P_WEIGHT, 1000);
+}
diff --git a/items/fishing/aquarium/seehase.c b/items/fishing/aquarium/seehase.c
new file mode 100644
index 0000000..7c173d0
--- /dev/null
+++ b/items/fishing/aquarium/seehase.c
@@ -0,0 +1,17 @@
+#include <language.h>
+#include <properties.h>
+#include <fishing.h>
+
+inherit STD_FISCH;
+
+protected void create() {
+   if (!clonep(this_object())) return;
+  ::create();
+  AddId(({"seehase","hase"}));
+  SetProp(P_NAME,"Seehase" );
+  SetProp(P_GENDER,MALE);
+  SetProp(P_SHORT,"Ein Seehase" );
+  SetProp(P_LONG,"Ein klobiger, dunkelgraublauer Seehase.\n");
+  SetProp(P_VALUE,30);
+  SetProp(P_WEIGHT, 200);
+}
diff --git a/items/fishing/aquarium/seeteufel.c b/items/fishing/aquarium/seeteufel.c
new file mode 100644
index 0000000..37eb863
--- /dev/null
+++ b/items/fishing/aquarium/seeteufel.c
@@ -0,0 +1,18 @@
+#include <language.h>
+#include <properties.h>
+#include <fishing.h>
+
+inherit STD_FISCH;
+
+protected void create() {
+  if (!clonep(this_object())) return;
+  ::create();
+  AddId(({"seeteufel","teufel"}));
+  SetProp(P_NAME,"Seeteufel" );
+  SetProp(P_SHORT,"Ein Seeteufel" );
+  SetProp(P_LONG,
+  "Ein grimmiger Seeteufel mit vielen scharfen Zaehnen. Er hat eine kleine,\n"
+  +"auffaellige Angel oben an seinem Kopf, mit der er nach Beute koedert.\n");
+  SetProp(P_VALUE,200);
+  SetProp(P_WEIGHT, 800);
+}
diff --git a/items/fishing/aquarium/seewolf.c b/items/fishing/aquarium/seewolf.c
new file mode 100644
index 0000000..4c4a07c
--- /dev/null
+++ b/items/fishing/aquarium/seewolf.c
@@ -0,0 +1,18 @@
+#include <language.h>
+#include <properties.h>
+#include <fishing.h>
+
+inherit STD_FISCH;
+
+protected void create() {
+   if (!clonep(this_object())) return;
+  ::create();
+  AddId(({"seewolf","wolf"}));
+  SetProp(P_NAME,"Seewolf" );
+  SetProp(P_SHORT,"Ein Seewolf" );
+  SetProp(P_LONG,
+  "Ein haesslicher Seewolf mit scharfen, gebogenen Zaehnen. Er sieht\n"
+  +"richtig boesartig aus.\n");
+  SetProp(P_VALUE,100);
+  SetProp(P_WEIGHT, 600);
+}
diff --git a/items/fishing/aquarium/ssaib.c b/items/fishing/aquarium/ssaib.c
new file mode 100644
index 0000000..ac410ad
--- /dev/null
+++ b/items/fishing/aquarium/ssaib.c
@@ -0,0 +1,16 @@
+#include <language.h>
+#include <properties.h>
+#include <fishing.h>
+
+inherit STD_FISCH;
+
+protected void create() {
+   if (!clonep(this_object())) return;
+  ::create();
+  AddId(({"seesaibling","saibling"}));
+  SetProp(P_NAME,"Seesaibling" );
+  SetProp(P_SHORT,"Ein Seesaibling" );
+  SetProp(P_LONG,"Ein blaugrauer Seesaibling mit einem roten Bauch.\n");
+  SetProp(P_VALUE,80);
+  SetProp(P_WEIGHT, 400);
+}
diff --git a/items/fishing/aquarium/stichling.c b/items/fishing/aquarium/stichling.c
new file mode 100644
index 0000000..0301e0c
--- /dev/null
+++ b/items/fishing/aquarium/stichling.c
@@ -0,0 +1,16 @@
+#include <language.h>
+#include <properties.h>
+#include <fishing.h>
+
+inherit STD_FISCH;
+
+protected void create() {
+   if (!clonep(this_object())) return;
+  ::create();
+  AddId(({"stichling"}));
+  SetProp(P_NAME,"Stichling" );
+  SetProp(P_SHORT,"Ein Stichling" );
+  SetProp(P_LONG,"Ein suesser kleiner Stichling.\n");
+  SetProp(P_VALUE,6);
+  SetProp(P_WEIGHT, 30);
+}
diff --git a/items/fishing/aquarium/szunge.c b/items/fishing/aquarium/szunge.c
new file mode 100644
index 0000000..c135572
--- /dev/null
+++ b/items/fishing/aquarium/szunge.c
@@ -0,0 +1,17 @@
+#include <language.h>
+#include <properties.h>
+#include <fishing.h>
+
+inherit STD_FISCH;
+
+protected void create() {
+   if (!clonep(this_object())) return;
+  ::create();
+  AddId(({"seezunge"}));
+  SetProp(P_NAME,"Seezunge" );
+  SetProp(P_GENDER,FEMALE);
+  SetProp(P_SHORT,"Eine Seezunge" );
+  SetProp(P_LONG,"Eine kleine braune Seezunge.\n");
+  SetProp(P_VALUE,60);
+  SetProp(P_WEIGHT, 300);
+}
diff --git a/items/fishing/aquarium/thun.c b/items/fishing/aquarium/thun.c
new file mode 100644
index 0000000..c12c928
--- /dev/null
+++ b/items/fishing/aquarium/thun.c
@@ -0,0 +1,17 @@
+#include <language.h>
+#include <properties.h>
+#include <fishing.h>
+
+inherit STD_FISCH;
+
+protected void create() {
+   if (!clonep(this_object())) return;
+  ::create();
+  AddId(({"thunfisch"}));
+  SetProp(P_NAME,"Thunfisch" );
+  SetProp(P_GENDER,MALE);
+  SetProp(P_SHORT,"Ein Thunfisch" );
+  SetProp(P_LONG,"Ein grosser Thunfisch.\n");
+  SetProp(P_VALUE,75);
+  SetProp(P_WEIGHT, 500);
+}
diff --git a/items/fishing/bootsrute.c b/items/fishing/bootsrute.c
new file mode 100644
index 0000000..3e7520e
--- /dev/null
+++ b/items/fishing/bootsrute.c
@@ -0,0 +1,23 @@
+#pragma strong_types, save_types, rtt_checks
+#pragma no_inherit, no_shadow
+
+#include <language.h>
+#include <properties.h>
+#include <fishing.h>
+
+inherit STD_ANGEL;
+
+protected void create() {
+  if (!clonep(this_object())) 
+    return;
+  ::create();
+
+  SetProp(P_NAME, "Bootsrute");
+  SetProp(P_GENDER, FEMALE);
+  SetProp(P_SHORT, "Eine kurze, starke Angel");
+  SetProp(P_LONG,"Eine Angel speziell fuer die Hochsee-Fischerei.\n"
+    "Sie ist von Fachleuten auf Hai-Festigkeit getestet!\n");
+  SetProp(P_TRANSPARENT,1);
+  SetProp(P_MAX_WEIGHT, 10000); //Hai-fest!!!!!!
+  SetProp(P_WATER,W_SHORT);     //siehe fishing.h
+}
diff --git a/items/fishing/fischwaage.c b/items/fishing/fischwaage.c
new file mode 100644
index 0000000..00e2dd4
--- /dev/null
+++ b/items/fishing/fischwaage.c
@@ -0,0 +1,179 @@
+// Aenderungshistorie:
+// 25.07.2015, Amaryllis: QueryFish implementiert, AddFishFood an/von Fraggle adaptiert
+
+inherit "/std/container";
+
+#include <moving.h>
+#include <fishing.h>
+#include <language.h>
+#include <properties.h>
+#include <defines.h>
+#include <money.h>
+
+#define TP this_player()
+#define BS(x) break_string(x, 78)
+
+private int good_price, bad_price, FAC, FOC, DIV;
+private int waagen_preis_faktor=4; // Um wieviel teurer als in Laeden wird 
+                           // der Fisch verkauft / Im Fisch wird durch 
+                           // 4 geteilt, das wird hier wieder ausgeglichen.
+
+private int get_price();
+private void RemoveFish();
+
+// Amaryllis, 25.07.2015: QueryFish "quick and dirty" reingehackt, 
+// damits funktioniert. Kann man sicher besser machen...
+private int QueryFish(object ob); // wird hier im Objekt in PreventInsert verwendet
+
+private int QueryFish(object ob) {
+  return (objectp(ob))&&(ob->id(FISCH_ID));
+}
+
+private int SetFactors(int good_value, int bad_value) {
+  FAC=good_value;
+  FOC=bad_value;
+  DIV=100;
+  if(!(FAC && FOC && DIV))
+    SetFactors(100,50);
+  return 1;
+}
+
+protected void create() {
+  if (!clonep(this_object())) return;
+  ::create();
+  SetFactors(100,50); //100% fuer frische, 50% fuer alte Fische
+  SetProp(P_NAME, "Fischwaage");
+  AddId(({"waage","fischwaage"}));
+  SetProp(P_GENDER, FEMALE);
+  SetProp(P_SHORT, "Eine Fischwaage");
+  SetProp(P_LONG,
+    "Eine sehr genaue Fischwaage mit einem grossen Zeiger. Du kannst\n"
+    "Deine Beute drauflegen, den Zeiger ablesen und, sofern Du mit\n"
+    "dem Preis einverstanden bist, die Verkaufsglocke laeuten.\n");
+  SetProp(P_DEST_PREPOSITION, "auf");
+  SetProp(P_SOURCE_PREPOSITION, "von");
+  SetProp(P_MATERIAL, MAT_MISC_METAL);
+  SetProp(P_TRANSPARENT, 1);
+  SetProp(P_NOGET, 1);
+  SetProp(P_MAX_WEIGHT, 10000);
+  SetProp(P_WEIGHT, 5000);
+  
+  AddDetail(({"zeiger"}), BS(
+    "Der Zeiger besteht aus Metall. Du kannst ihn ablesen, wenn Du "
+    "genau wissen willst, was Dein Fang wert ist."));
+  AddDetail(({"fang","beute"}), function string (string key) {
+    return BS(sizeof(all_inventory())?"Du schaust zufrieden auf die Beute, "
+      "die auf der Waage liegt. Welcher Preis sich dafuer wohl erzielen "
+      "laesst?":"Du muesstest erst einmal etwas drauflegen.");
+  });
+  AddReadDetail(({"zeige","zeiger ab"}), function string (string key) {
+    int current_weight = query_weight_contents();
+    get_price();
+    return
+      "Du schaust auf den grossen Zeiger der Waage, der erstaunlicherweise\n"
+      "nicht nur das Gewicht, sondern auch den Preis anzeigt.\n"
+      "Der Zeiger steht auf "+
+        (current_weight?current_weight+" Gramm.\n":"Null.\n")+
+      (good_price?good_price+" Goldmuenzen fuer fangfrischen Fisch.\n":"")+
+      (bad_price?bad_price+" Goldmuenzen fuer etwas aelteren Fisch.\n":"");
+  });
+  AddDetail(({"glocke"}), BS(
+    "An der Waage befindet sich eine kleine Glocke die Du laeuten kannst, "
+    "um den Inhalt der Waage zu verkaufen. Und warte damit nicht zu lange, "
+    "je aelter der Fisch, desto niedriger der Preis!"));
+
+  AddCmd("laeute&glocke|verkaufsglocke","cmd_laeute",
+    "Was willst Du denn laeuten?");
+}
+
+static int cmd_laeute(string str, mixed *param) {
+  tell_room(ME, TP->Name()+" laeutet eine kleine Glocke an der Fischwaage.",
+    ({TP}));
+  tell_object(TP, "Du laeutest die Glocke, um Deine Ware zu verkaufen.\n");
+  foreach(object ob: all_inventory(ME)) {
+    if ( !ob->id(FISCH_ID) ) {
+      tell_object(TP, 
+        "Auf der Waage liegt nicht nur Fisch!\n"
+        "Du solltest nicht versuchen, hier zu betruegen!\n");
+      tell_room(ME, TP->Name()+" macht sich hier gerade unbeliebt.\n",({TP}));
+      return 1;
+    }
+    if ( ob->QueryQuality()<=0 ) {
+      tell_object(TP, "Auf der Waage liegt alter, gammliger Fisch.\n"
+           "Den kannst Du nicht verkaufen!\n");
+      tell_room(ME, TP->Name()+" macht sich hier gerade unbeliebt.\n",({TP}));
+      return 1;
+    }
+  }
+  
+  int price=get_price();
+  if( !price ) {
+    tell_object(TP, 
+      "Du solltest Deine Beute erstmal auf die Waage legen!\n");
+    return 1;
+  }
+  tell_object(TP, "Du erhaeltst "+price+" Goldmuenzen fuer Deinen Fisch.\n");
+  tell_room(ME, TP->Name()+" erhaelt haufenweise Geld fuer "+
+    TP->QueryPossPronoun(MALE, WEN)+" Fisch.\n",({TP}));
+  //ZZ: AddMoney() gibt die werte von move() zurueck, d.h. !=0 geht nicht.
+  if (this_player()->AddMoney(price) != MOVE_OK) { 
+    object money=clone_object(GELD);
+    tell_object(TP, BS(
+      "Du kannst das Geld nicht mehr tragen. Es faellt klimpernd zu "
+      "Boden."));
+    money->SetProp(P_AMOUNT, price);
+    money->move(environment(ME), M_MOVE_ALL|M_PUT);
+  }
+  RemoveFish();
+  return 1;
+}
+
+private int get_price() {
+  int preis, preis_von_diesem;
+  int gewicht;
+
+  good_price     = 0;
+  bad_price      = 0;
+
+  foreach(object ob : all_inventory(ME)) {
+    preis_von_diesem = ob->QueryProp(P_VALUE);
+    if(ob->QueryQuality()>2)
+      good_price += preis_von_diesem*FAC/DIV;
+    else
+      bad_price +=preis_von_diesem *FOC/DIV;
+  }
+
+  good_price *= waagen_preis_faktor;
+  bad_price  *= waagen_preis_faktor;
+  return (good_price + bad_price);
+}
+
+int PreventInsert(object obj) {
+//  if( objectp(obj) && obj->QueryFish() )
+  if( objectp(obj) && QueryFish(obj) )
+    return ::PreventInsert(obj);
+  write("Das ist eine Fischwaage! Und keine Waage fuer "+obj->name(WEN)+
+    ".\n");
+  return 1;
+}
+
+#define ETO environment(this_object())
+
+private void RemoveFish() {
+  string pubname = ETO->GetPub();
+  object pub;
+
+  if ( stringp(pubname) )
+    pub = load_object(pubname);
+  else 
+    pub = ETO;
+
+  foreach(object ob : all_inventory(ME)) {
+    // pub->AddFishFood(ob);
+    // Amaryllis, 25.07.2015: Angepasst wegen AddFishFood von Fraggle
+    pub->AddFishFood(ob->name(WER,0),ob->QueryProp(P_WEIGHT),ob->QueryQuality());
+    ob->remove();
+  }
+}
+
+#undef ETO
diff --git a/items/fishing/graeten.c b/items/fishing/graeten.c
new file mode 100644
index 0000000..b960a04
--- /dev/null
+++ b/items/fishing/graeten.c
@@ -0,0 +1,22 @@
+inherit "/std/thing";
+
+#include <properties.h>
+
+protected void create() {
+  if ( !clonep(this_object()) ) {
+    set_next_reset(-1);
+    return;
+  }
+  ::create();
+
+  SetProp(P_SHORT, "Ein paar Graeten");
+  SetProp(P_LONG, "Einige Graeten, die von einem Fisch uebriggeblieben "
+    "sind.\n");
+  SetProp(P_PLURAL, 1),
+  SetProp(P_NAME, "Graeten");
+  AddId("graeten");
+  SetProp(P_WEIGHT, 3);
+  SetProp(P_VALUE, 1);
+  SetProp(P_NOBUY, 1);
+  SetProp(P_GENDER, FEMALE);
+}
diff --git a/items/fishing/haken.c b/items/fishing/haken.c
new file mode 100644
index 0000000..3152b67
--- /dev/null
+++ b/items/fishing/haken.c
@@ -0,0 +1,17 @@
+#pragma strong_types, save_types, rtt_checks
+#pragma no_inherit, no_shadow
+
+#include <language.h>
+#include <properties.h>
+#include <fishing.h>
+#include <items/flasche.h>
+
+inherit STD_HAKEN;
+
+protected void create() {
+  ::create();
+  SetProp(P_NAME, "Haken");
+  SetProp(P_SHORT, "Ein Haken");
+  SetProp(P_LONG, "Ein Angelhaken aus Metall.\n");
+  SetProp(P_LONG_EMPTY, "Du kannst etwas damit aufspiessen!\n");
+}
diff --git a/items/fishing/khaut.c b/items/fishing/khaut.c
new file mode 100644
index 0000000..d1db082
--- /dev/null
+++ b/items/fishing/khaut.c
@@ -0,0 +1,18 @@
+inherit "/std/thing";
+
+#include <language.h>
+#include <properties.h>
+
+protected void create() {
+  if (!clonep(this_object())) return;
+  ::create();
+  AddId(({"haut","katzenhaihaut","schmirgelpapier","\nkhaut"}));
+  SetProp(P_NAME, "Haut");
+  SetProp(P_GENDER, FEMALE);
+  SetProp(P_SHORT, "Etwas Haut eines Katzenhaies" );
+  SetProp(P_LONG, "Ein Stueck der rauen Haut eines Katzenhaies.\n");
+  SetProp(P_MATERIAL,MAT_SKIN);
+  SetProp(P_VALUE,10);
+  SetProp(P_NOBUY,1);
+  SetProp(P_WEIGHT,2 );
+}
diff --git a/items/fishing/made.c b/items/fishing/made.c
new file mode 100644
index 0000000..b7dd0b3
--- /dev/null
+++ b/items/fishing/made.c
@@ -0,0 +1,19 @@
+#pragma strong_types, save_types, rtt_checks
+#pragma no_inherit, no_shadow
+
+#include <language.h>
+#include <properties.h>
+#include <fishing.h>
+
+inherit STD_KOEDER;
+
+protected void create() {
+  ::create();
+  AddId(({WURM_ID,"made"}));
+  SetProp(P_NAME, "Made");
+  SetProp(P_GENDER , FEMALE);
+  SetProp(P_WATER, W_SWEET);
+  SetProp(P_FISH, 30);
+  SetProp(P_SHORT, "Eine Made");
+  SetProp(P_LONG, "Eine kleine eklige Made.\n");
+}
diff --git a/items/fishing/mehlwurm.c b/items/fishing/mehlwurm.c
new file mode 100644
index 0000000..89bd751
--- /dev/null
+++ b/items/fishing/mehlwurm.c
@@ -0,0 +1,18 @@
+#pragma strong_types, save_types, rtt_checks
+#pragma no_inherit, no_shadow
+
+#include <language.h>
+#include <properties.h>
+#include <fishing.h>
+
+inherit STD_KOEDER;
+
+protected void create() {
+  ::create();
+  AddId(({"wurm","mehlwurm"}));
+  SetProp(P_NAME, "Mehlwurm");
+  SetProp(P_FISH, 10);
+  SetProp(P_WATER, W_SWEET);
+  SetProp(P_SHORT, "Ein Mehlwurm");
+  SetProp(P_LONG, "Ein kleiner Mehlwurm.\n");
+}
diff --git a/items/fishing/rute.c b/items/fishing/rute.c
new file mode 100644
index 0000000..496c571
--- /dev/null
+++ b/items/fishing/rute.c
@@ -0,0 +1,26 @@
+#pragma strong_types, save_types, rtt_checks
+#pragma no_inherit, no_shadow
+
+#include <language.h>
+#include <properties.h>
+#include <fishing.h>
+
+inherit STD_ANGEL;
+
+protected void create() {
+  if (!clonep(this_object())) 
+    return;
+  ::create();
+
+  SetProp(P_NAME, "Angel");
+  SetProp(P_GENDER, FEMALE);
+  SetProp(P_SHORT, "Eine Angel");
+  SetProp(P_LONG, "Eine normale Angel.\n");
+  SetProp(P_TRANSPARENT, 1);
+  // 2014-Mai-10, Arathorn. von 1000 auf 1050 erhoeht, damit Haken+Koeder
+  // aufgrund ihres Gewichts von wenigen Gramm nicht mehr verhindern, dass
+  // einer der standardmaessig 1000 g schweren Fische gefangen werden kann.
+  SetProp(P_MAX_WEIGHT, 1050);
+  SetProp(P_WATER,W_SHORT);    //siehe fishing.h
+}
+
diff --git a/items/fishing/seasnail.c b/items/fishing/seasnail.c
new file mode 100644
index 0000000..2b6ded0
--- /dev/null
+++ b/items/fishing/seasnail.c
@@ -0,0 +1,48 @@
+#pragma strong_types, save_types, rtt_checks
+#pragma no_inherit, no_shadow
+
+#include <language.h>
+#include <properties.h>
+#include <fishing.h>
+
+inherit STD_KOEDER;
+
+private int snailtype = random(8);
+
+private < <string|string*>*>* desc = ({
+//private mixed desc = ({ 
+    ({
+    "Eine purpurne Purpurschnecke.\n",
+    "Eine rosa-gestreifte Kreiselschnecke.\n",
+    "Eine suesse kleine Kaurischnecke.\n",
+    "Eine kleine rote Buckelschnecke.\n",
+    "Eine kleine gestrichelte Turbanschnecke.\n",
+    "Eine kleine gestreifte Lochnapfschnecke.\n",
+    "Ein gruenes Seeohr.\n",
+    "Eine suesse kleine Seeschnecke.\n" }),
+    ({
+    "purpurschnecke",
+    "kreiselschnecke",
+    "kaurischnecke",
+    "buckelschnecke",
+    "turbanschnecke",
+    "napfschnecke",
+    ({"ohr","seeohr"}),
+    "seeschnecke"})
+  });
+
+protected void create() {
+  ::create();
+  AddId(({WURM_ID, "schnecke", "\nfa_snails", "seeschnecke"}));
+  AddId(desc[1][snailtype]);
+  SetProp(P_NAME, "Schnecke");
+  SetProp(P_GENDER, FEMALE);
+  SetProp(P_ARTICLE, 1);
+  SetProp(P_SHORT, "Ein Seeschnecke");
+  SetProp(P_LONG, desc[0][snailtype]);
+  SetProp(P_MATERIAL, MAT_MISC_LIVING);
+  SetProp(P_FISH, snailtype*random(10));
+  SetProp(P_WATER, W_SALT);
+  SetProp(P_VALUE,1);
+  SetProp(P_WEIGHT, 5);
+}
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; 
+}
diff --git a/items/fishing/strandrute.c b/items/fishing/strandrute.c
new file mode 100644
index 0000000..b7e8593
--- /dev/null
+++ b/items/fishing/strandrute.c
@@ -0,0 +1,25 @@
+#pragma strong_types, save_types, rtt_checks
+#pragma no_inherit, no_shadow
+
+#include <language.h>
+#include <properties.h>
+#include <fishing.h>
+
+inherit STD_ANGEL;
+
+protected void create() {
+  if (!clonep(this_object()))
+    return;
+  ::create();
+
+  SetProp(P_NAME, "Strandrute");
+  SetProp(P_GENDER, FEMALE);
+  SetProp(P_SHORT, "Eine sehr lange Angel");
+  SetProp(P_LONG, "Eine Angel speziell fuer die Strand-Fischerei.\n");
+  SetProp(P_TRANSPARENT, 1);
+  // 2014-Mai-10, Arathorn. von 1000 auf 1050 erhoeht, damit Haken+Koeder
+  // aufgrund ihres Gewichts von wenigen Gramm nicht mehr verhindern, dass
+  // einer der standardmaessig 1000 g schweren Fische gefangen werden kann.
+  SetProp(P_MAX_WEIGHT, 1050);
+  SetProp(P_WATER, W_LONG);
+}
diff --git a/items/fishing/wurm.c b/items/fishing/wurm.c
new file mode 100644
index 0000000..2b1ef62
--- /dev/null
+++ b/items/fishing/wurm.c
@@ -0,0 +1,6 @@
+#pragma strong_types, save_types, rtt_checks
+#pragma no_inherit, no_shadow
+
+#include <fishing.h>
+
+inherit STD_KOEDER;