Merlin bewegt sich nun wieder

Change-Id: I8f9360d7c79f61bc7742d1dfbf17ed915544cb8b
diff --git a/secure/merlin.c b/secure/merlin.c
index b1a4824..20d5818 100644
--- a/secure/merlin.c
+++ b/secure/merlin.c
@@ -1054,25 +1054,26 @@
   mapping ex=({mapping})environment()->QueryProp(P_EXITS);
   if (!mappingp(ex))
     return;
-  mapping rooms = m_allocate(sizeof(ex));
+  mapping rooms = ([]);
   foreach(string cmd, string|closure dest, string msg : ex)
   {
     // nur normale Ausgaenge benutzen
-    if (!stringp(dest)
-        || dest = object_name(environment()))
+    if (!stringp(dest) || dest == object_name(environment()))
       continue;
-    rooms += ([dest]);
+    m_add(rooms, dest);
   }
-  if (!sizeof(rooms))
+  if (!sizeof(rooms)) {
+    move("/gilden/abenteurer",0);
     return;
+  }
 
   // Und nicht zuruecklatschen, wenn moeglich.
   if (prev_room && sizeof(m_indices(rooms))>1)
-    rooms-=([prev_room]);
+    m_delete(rooms, prev_room);
   prev_room=object_name(environment());
 
   string *raeume=m_indices(rooms);
-  move(raeume[sizeof(raeume)],0);
+  move(raeume[random(sizeof(raeume))],0);
 }
 
 string int_short()
@@ -1080,6 +1081,10 @@
   return "Du bist im allseits beliebten Wizclub \"Zum lustigen Merlin\".\n";
 }
 
+string _query_int_short() {
+  return "Der Wizclub \"Zum lustigen Merlin\"";
+}
+
 string int_long(object who,mixed where)
 {
   string descr;