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;