Wasser spaeter von Umgebung abziehen

Wenn die "Bewegung" in die Flasche schief ging, war
die Flasche noch leer und die Umgebung auch.
Daher den Verbrauch von Wasser in der Umgebung erst
machen, wenn die Flasche erfolgreich gefuellt wurde.

Change-Id: Id248a41090e72b8e39df7fb9ee50ce04e4b22d09
diff --git a/std/items/flasche.c b/std/items/flasche.c
index 43735fe..a37da86 100644
--- a/std/items/flasche.c
+++ b/std/items/flasche.c
@@ -164,13 +164,9 @@
       write(Name(WER,1)+" ist bereits voll!\n");
       return 1;
     }
-    // Wasser von Umgebung abziehen!
-    // Man kann als Magier die Funktion AddWater(int n) dazu benuetzten,
-    // beispielsweise eine Pfuetze zu leeren, ...
-    src->AddWater(-QueryProp(P_LIQUID));
-    object cont_obj;
     if(liquidtype&W_OTHER)
     {
+      object cont_obj;
       // Mittels GetLiquid() kann die Flasche mit was anderem als Wasser
       // gefuellt werden.
       co_filename=src->GetLiquid();
@@ -181,7 +177,6 @@
         {
           // Hier passiert eigentlich das gleiche wie nach dem ifblock, aber
           // auch noch Funktion beenden.
-          // TODO: Rueckgaenig machen von AddWater()?
           // TODO: Die Meldung aus dem PreventInsert() muesste eigentlich
           // _vorher_ noch mit einer Befuellmeldung begleitet werden.
           cont_obj->remove(1);
@@ -198,6 +193,10 @@
         if ( cont_obj ) cont_obj->move("/room/muellraum",M_PUT);
       }
     }
+    // Wasser von Umgebung abziehen!
+    // Man kann als Magier die Funktion AddWater(int n) dazu benuetzten,
+    // beispielsweise eine Pfuetze zu leeren, ...
+    src->AddWater(-QueryProp(P_LIQUID));
     SetProp(P_WATER,liquidtype);
     AddId(lower_case(liquid_name));
     //wie praktisch, 1 ml == 1 g :) // Aber nur fuer Wasser, du VOGEL! :-|