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;
diff --git a/d/seher/haeuser/queue.c b/d/seher/haeuser/queue.c
index bf2ca56..2c003b5 100644
--- a/d/seher/haeuser/queue.c
+++ b/d/seher/haeuser/queue.c
@@ -27,7 +27,6 @@
static void enqueue(object ob);
private void leaveQueue(object ob, int silent);
-private object *queuedPeople();
private int queueScan();
private object adjust(int thresh);
@@ -35,7 +34,7 @@
void BecomesNetDead(object player);
void PlayerQuit(object player);
-create()
+protected void create()
{
if (IS_BLUE(this_object())) return;
@@ -78,8 +77,8 @@
int clean_up(int i) { return 0; }
-int
-remove()
+public varargs int
+remove(int silent)
{
string *wer;
mixed raus;
@@ -100,30 +99,19 @@
peopleInQueue[wer[i],1]->move(raus, M_GO | M_SILENT | M_NO_SHOW);
}
}
- return ::remove();
+ return ::remove(silent);
}
string
_query_long()
{
- string ret, add;
- mixed *people, ob;
- closure n;
-
- people = filter(all_inventory(this_object()), #'interactive/*'*/);
-
- ret = Query(P_LONG);
- add = "In der Schlange stehen " + QueryProp(Q_LENGTH) + " Leute.";
+ <string|object>* people = filter(all_inventory(ME), #'interactive);
+ string ret = Query(P_LONG);
+ string add = "In der Schlange stehen " + QueryProp(Q_LENGTH) + " Leute.";
if (sizeof(people)) {
- n = lambda( ({ 'ob }), ({#'call_other, 'ob, "Name", WER}) );
- people = map(people, n);
- add += " Unter anderem steh";
- if (sizeof(people) == 1)
- add += ( "t dort " + people[0] + "." );
- else {
- add += ( "en dort " + implode(people[0..<2], ", ") +
- " und " + people[<1] + "." );
- }
+ people = people->Name(WER);
+ add += sprintf(" Unter anderem steh? dort %s.",
+ sizeof(people)==1?"t":"en", CountUp(people));
}
return ret + break_string(add, 76);
}
@@ -333,7 +321,7 @@
return ret;
}
-rotate()
+void rotate()
{
object ich;
string oth, *msgs;
@@ -381,7 +369,7 @@
call_out("rotate", QueryProp(Q_CYCLE_TIME));
}
-funny()
+void funny()
{
string m;
diff --git a/d/seher/haeuser/seherbank.c b/d/seher/haeuser/seherbank.c
index 4e47265..cb4fb63 100644
--- a/d/seher/haeuser/seherbank.c
+++ b/d/seher/haeuser/seherbank.c
@@ -7,7 +7,7 @@
inherit "/std/room";
-create()
+protected void create()
{
object q;