Zusaetzliche Syntax zum Fuellen

Es ist hiermit moeglich, die anderen Syntaxen als
'fuelle flasche' zu nutzen, ohne dass der Raum
ein reales Objekt enthaelt. Allerdings muss P_WATER
im Raum < W_OTHER sein und die Flasche mit
DEFAULT_LIQ (ueblicherweise "Wasser") gefuellt
werden.

Change-Id: Iac0679ba7261241a9d2932f5fdd97cfb382c6d55
diff --git a/std/items/flasche.c b/std/items/flasche.c
index a37da86..ee52cb2 100644
--- a/std/items/flasche.c
+++ b/std/items/flasche.c
@@ -291,17 +291,23 @@
     object obj;
     // Flasche befuellen?
     if (id(strbottle)
-        && ( obj=present(strobj, environment(this_player())) 
-                 || present(strobj, this_player()) )
+        && ( ( obj=present(strobj, environment(this_player()))
+                   || present(strobj, this_player()) )
+             || (strobj == lower_case(DEFAULT_LIQ)
+                 && environment(this_player())->QueryProp(P_WATER)<W_OTHER)
+           )
+
        )
     {
-      if (fill_bottle(obj))
+      if (fill_bottle(obj || environment(this_player())))
       {
         write(break_string(
-              "Du fuellst etwas "+liquid_name+" aus " + obj->name(WEM,1) 
+              "Du fuellst etwas "+liquid_name
+              + (obj ? " aus " + obj->name(WEM,1) : "")
               + " in "+name(WEN,1)+".",78));
-        say(break_string(TP->Name(WER)+" fuellt etwas "+liquid_name+ " aus " 
-              + obj->name(WEM,1) + " in "+name(WEN)+".",78), TP);
+        say(break_string(TP->Name(WER)+" fuellt etwas "+liquid_name
+              + (obj ? " aus " + obj->name(WEM,1) : "")
+              + " in "+name(WEN)+".",78), TP);
       }
       return 1;
     }