Added public files

Roughly added all public files. Probably missed some, though.
diff --git a/doc/beispiele/food/banane.c b/doc/beispiele/food/banane.c
new file mode 100644
index 0000000..8882f4f
--- /dev/null
+++ b/doc/beispiele/food/banane.c
@@ -0,0 +1,114 @@
+/*
+Beispiel fuer eine Banane, die in einem Haps weg ist,
+aber eine Schale hat, die uebrig bleibt und genau wie die
+komplette Banane vergammelt und vergeht.
+*/
+
+#include <food.h>
+
+inherit "/std/food";
+
+string _query_long() {
+  string m = "Du haeltst ";
+  if (is_not_empty()) {
+    m += "eine Banane in der Hand.";
+    if (!is_bad())
+      m += " Sie ist schoen gelb und ohne braune Flecken.";
+    else
+      m += " Sie ist total braun und schon ganz matschig.";
+
+  } else {
+    m += "eine Bananenschale in der Hand.";
+    if (is_bad())
+      m += " Sie ist ganz verschimmelt.";
+  }
+  return break_string(m);
+}
+
+void create() {
+  if (!clonep(this_object())) {
+    set_next_reset(-1);
+    return;
+  }
+  ::create();
+
+  SetProp(P_SHORT,"Eine schoene reife Banane");
+  SetProp(P_NAME, "Banane");
+  SetProp(P_GENDER,FEMALE);
+  SetProp(P_VALUE,20); // ohne Schale
+  SetProp(P_WEIGHT,50); // ohne Schale
+  // SetProp(P_POTION,1); // ist eh Standard
+  SetProp(P_CONSUME_MSG,
+    "@WER2 schaelt eine Banane und isst sie genuesslich.");
+  SetProp(P_EATER_MSG,
+    "Du schaelst eine Banane und isst sie genuesslich.");
+  SetProp(P_BAD_MSG,
+    "Die Banane wird ganz matschig und schlecht.");
+  SetProp(P_REMOVE_MSG,
+    "Die Banane ist so verschimmelt, dass Du sie entsorgst.");
+  SetProp(P_EMPTY_MSG,
+    "Aber das ist doch nur eine BananenSCHALE, die willst Du nicht essen!");
+
+  SetProp(P_MATERIAL,([MAT_MISC_PLANT:100]));
+
+  SetProp(P_EMPTY_PROPS, ([
+    P_SHORT:"Eine Bananenschale",
+    P_NAME:"Bananenschale",
+    P_EMPTY_IDS:({"schale","bananenschale","banane"}),
+    P_VALUE:5, // Wert der Bananenschale
+    P_WEIGHT:5  // Gewicht der Bananenschale
+  ]));
+
+  //SetProp(P_RESET_LIFETIME,1); // ist eh Standard
+  SetProp(P_DESTROY_BAD,300); // verdorbene Bananen verschwinden nach 5 Min
+
+  SetProp(P_FOOD,50); // Fuellgrad der Banane
+  SetProp(P_HP,5);
+  SetProp(P_SP,5);
+
+  AddId(({"banane"}));
+
+}
+
+// Der Behaelter vergammelt auch
+public int make_destroy() {
+  if (!::make_destroy()) {
+    return remove(1);
+  }
+  return 1;
+}
+
+public int make_empty() {
+  SetProp(P_BAD_MSG,
+    "Die Bananenschale wird ganz schimmlig.");
+  SetProp(P_REMOVE_MSG,
+    "Die Bananenschale zersetzt sich vollstaendig.");
+  return ::make_empty();
+}
+
+// parent methode immer aufrufen und pruefen!!
+void make_bad() {
+  if (!::make_bad()) {
+    if (is_not_empty()) {
+      SetProp(P_SHORT,"Eine matschige Banane");
+      AddAdjective(({"matschige","matschigen"}));
+      SetProp(P_EATER_MSG,"Du lutschst die matschige Banane aus ihrer"
+        "Schale. Baeh, die schmeckt ueberhaupt nicht mehr.");
+      SetProp(P_CONSUME_MSG,
+        "@WER2 lutscht eine matschige Banane aus ihrer Schale.");
+      // Die Schale ist dann natuerlich auch vergammelt
+      SetProp(P_EMPTY_PROPS, ([
+        P_SHORT:"Eine verschimmelte Bananenschale",
+        P_NAME:"Bananenschale",
+        P_EMPTY_IDS:({"schale","bananenschale","banane"}),
+        P_EMPTY_ADJ:({"verschimmelte","verschimmelten"}),
+        P_VALUE:5, // Wert der Bananenschale
+        P_WEIGHT:5  // Gewicht der Bananenschale
+      ]));
+    } else {
+      message(P_BAD_MSG);
+      SetProp(P_SHORT,"Eine verschimmelte Bananenschale");
+      AddAdjective(({"verschimmelte","verschimmelten"}));
+    }
+  }
+}
diff --git a/doc/beispiele/food/wasserflasche.c b/doc/beispiele/food/wasserflasche.c
new file mode 100644
index 0000000..3c62c13
--- /dev/null
+++ b/doc/beispiele/food/wasserflasche.c
@@ -0,0 +1,92 @@
+/*
+Beispiel fuer ein tragbares Getraenk in einer Flasche.
+*/
+
+#include <food.h>
+
+inherit "/std/food";
+
+string _query_long() {
+  string m = "Du siehst eine Glasflasche,";
+  if (is_not_empty()) {
+    m += " in der sich Wasser befindet.";
+    if (!is_bad())
+      m += " Es ist glasklar und sieht irgendwie verlockend aus.";
+    else
+      m += " Es ist truebe und sieht nicht gerade verlockend aus.";
+
+    m += " Die Flasche ist ";
+    switch (to_int((QueryProp(P_PORTIONS)-1)/2.5)) {
+      case 0:
+        m += "fast leer.";
+        break;
+      case 1:
+        m += "halb voll.";
+        break;
+      case 2:
+        m += "fast voll.";
+        break;
+      case 3:
+        m += "voll.";
+        break;
+      default:
+        m += "nicht leer.";
+    }
+  } else {
+    m += " in der frueher mal Wasser war.";
+  }
+  return break_string(m);
+}
+
+void create() {
+  if (!clonep(this_object())) {
+    set_next_reset(-1);
+    return;
+  }
+  ::create();
+
+  SetProp(P_SHORT,"Eine Flasche mit Wasser");
+  SetProp(P_NAME, "Wasserflasche");
+  SetProp(P_GENDER,FEMALE);
+  SetProp(P_VALUE,5); // pro Portion (ohne Flasche)
+  SetProp(P_WEIGHT,50); // pro Portion (ohne Flasche)
+  SetProp(P_PORTIONS,10);
+  SetProp(P_DESTROY_BAD,0); // verdorbenes Wasser wird nicht zerstoert
+  SetProp(P_CONSUME_MSG,
+    "@WER2 trinkt aus einer Flasche. Wasser laeuft ueber @WENQPPNS2 Kinn.");
+  SetProp(P_EATER_MSG,
+    "Du trinkst Wasser aus der Flasche. Etwas laeuft Dir ueber das Kinn.");
+  SetProp(P_BAD_MSG,
+    "Das Wasser in der Flasche wird truebe.");
+
+  SetProp(P_MATERIAL,([MAT_GLASS:15, MAT_WATER:85]));
+
+  SetProp(P_EMPTY_PROPS, ([
+    P_SHORT:"Eine leere Flasche",
+    P_NAME:"Flasche",
+    P_EMPTY_IDS:({"flasche"}),
+    P_EMPTY_ADJ:({"leere","leeren"}),
+    P_MATERIAL:([MAT_GLASS:100]),
+    P_VALUE:5, // Wert der Flasche ohne Wasser
+    P_WEIGHT:20  // Gewicht der Flasche ohne Wasser
+  ]));
+
+  SetProp(P_RESET_LIFETIME,3); // 3 Resets, ehe das Wasser truebe wird
+  SetProp(P_DRINK,50); // Fuellgrad pro Schluck
+  SetProp(P_DISTRIBUTION,10); // Punkte Heilung pro Heartbeat
+  SetProp(P_HP,30); // pro Schluck
+  SetProp(P_SP,30); // pro Schluck
+
+  AddId(({"flasche","wasserflasche","wasser"}));
+  AddAdjective(({"volle","vollen"}));
+
+}
+
+// parent methode immer aufrufen und pruefen!!
+void make_bad() {
+  if (!::make_bad() && is_not_empty()) {
+    // die Trinkmeldung aendern wir mal
+    SetProp(P_EATER_MSG,"Du trinkst truebes Wasser aus der Flasche. "
+      "Das war wohl nicht so gut. Dir wird ganz uebel!");
+  }
+}
\ No newline at end of file