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;