Switch to edit mode.
Name(s): map_rooms1: if (!caller_perms().wizard)
2: return E_PERM
3: endif
4: rooms = {args[1]}
5: exits = {}
6: owners = listdelete(args, 1)
7: region = args[1].location
8: i = 1
9: while (i <= length(rooms))
10: for e in (rooms[i]:exits())
11: if ($object_utils:isa(e, $exit) && $object_utils:isa(dest = e.dest, $room) && (owners ? dest.owner in owners | dest.location == region))
12: rooms = setadd(rooms, e.dest)
13: exits = setadd(exits, e)
14: endif
15: $command_utils:suspend_if_needed()
16: endfor
17: i = i + 1
18: endwhile
19: return {rooms, exits}
20: "Last modified by Dax (#789) on Sat May 16 14:19:26 1998 EDT."