Lambda-Closures durch Inline-Closures ersetzt

Change-Id: I24c99de727a174284d8cf020db6228921b5e5756
diff --git a/d/seher/haeuser/bausparvertrag.c b/d/seher/haeuser/bausparvertrag.c
index 44d9976..1985e3b 100644
--- a/d/seher/haeuser/bausparvertrag.c
+++ b/d/seher/haeuser/bausparvertrag.c
@@ -42,23 +42,23 @@
   SetProp(P_ARTICLE,1);
   SetProp(P_WEIGHT, 0);
   SetProp(P_GENDER,1);
+  
   AddId( ({"bausparvertrag", "vertrag", "sehe\rvertrag"}) );
+
   AddCmd("lies","lesen");
-  AddCmd( ({ "unterschreibe", "unterschreib" }), lambda( ({}),
-    ({#',, ({#'notify_fail, "Hier kannst Du den Vertrag nicht unterschreiben!\n" }),
-	   ({#'return, 0})
-    }) ) );
-  AddCmd( ({ "zerreiss", "zerreisse" }), lambda( ({ 'str }),
-    ({#',, ({#'notify_fail, "Was willst Du zerreissen?\n"}),
-	   ({#'?!, ({#'id, 'str}), ({#'return, 0}) }),
-	   ({#'=, 'blk, ({#'present, "\n block", ({#'this_player}) }) }),
-	   ({#'write, "Du zerreisst Deinen Vertrag.\n"}),
-	   ({#'write_file, PATH+"log/BANK.LOG", ({#'sprintf, "%s - Vertrag: %s zerriss ihn.\n",
-	       ({#'dtime, ({#'time}) }), ({#'getuid, ({#'this_player})})})}),
-	   ({#'?, 'blk, ({#'call_other, 'blk, "remove", 1}) }),
-	   ({#'remove, 1}),
-	   ({#'return, 1})
-    }) ) );
+  AddCmd("unterschreibe|unterschreib&\nimp", 0,
+      "Hier kannst Du den Vertrag nicht unterschreiben!\n");
+  AddCmd("zerreiss|zerreisse&@ID", function int (string str) {
+      object blk = present_clone(HAEUSERPFAD+"block", this_player());
+      write("Du zerreisst Deinen Vertrag.\n");
+      write_file(HAEUSERPFAD+"log/BANK.LOG", sprintf(
+          "%s - Vertrag: %s zerriss ihn.\n", 
+          dtime(time()), getuid(this_player())));
+      if (objectp(blk)) 
+        blk->remove(1);
+      remove(1);
+      return 1;
+    }, "Was willst Du zerreissen?");
 }
 
 string _query_long()
@@ -112,7 +112,7 @@
   Set(P_AUTOLOADOBJ, ({ Query(P_AUTOLOADOBJ)[0], flag }) );
 }
 
-public int move(mixed dest, int meth)
+varargs public int move(object|string dest, int meth)
 {
   object penv;
   int ret;