6fe @verb #3152:"@sw*eep" none none none rdo #3152 @program #3152:"@sw*eep" none none none "An improved version of @sweep created by $goth." "The output is nicer too." found_listener = 0 here = this.location listening = listeners = {} for x in (here.contents) listening = {@listening, x} for y in (x.contents) if (`y.listen_in_location2 ! E_PROPNF => 0') listening = {@listening, y} endif endfor endfor for thing in ($list_utils:Reverse($list_utils:sort(listening))) for x in ({"notify", "tell"}) notifywhere = thing:has_verb(x) if (!!notifywhere && `!!!(verb_info(notifywhere[1], x)[1] in {$slacker, $hacker}) ! E_PERM => 1' || is_player(thing) || thing:connected(1)) listeners = {@listeners, {$html_utils:detag(thing:title()), tostr(thing), tostr($code_utils:classify_object(thing)), $html_utils:detag(thing.owner:title()), tostr(thing.owner), $goth:on(thing, notifywhere, x)}} break endif endfor $cmd_utils:suspend_if_needed() endfor buggers = {} for v in ({"announce", "announce_all", "announce_all_but", "say", "emote", "huh", "here_huh", "huh2", "whisper", "msg_oexclaim", "msg_exclaim", "msg_oquestion", "msg_question", "msg_osay", "msg_say", "match"}) vwhere = here:has_verb(v) if (vwhere && ((owner = verb_info(vwhere[1], v)[1]) != this && (owner != $slacker && owner != $hacker))) buggers = setadd(buggers, owner) endif endfor "listeners = {@listeners, buggers};" "if (!found_listener)" " this:tell(\"Communications look secure.\");" "endif" player:tellcolumns("lrrlrr", {1, 1, 1, 1, 1, 1}, {"Object", "", "", "Owner", "", "Listening"}, @$list_utils:reverse($list_utils:sort_alist(listeners, 6))) player:tell("Total number of listeners: ", length(listeners), " ", player:ctime()) . 0