inherit "/cmds/base"; string idle_time(object person) { int hours, mins, secs; string s, m, h; secs = query_idle(person); mins = secs / 60; secs %= 60; hours = mins / 60; mins %= 60; s = ("0"+secs)[<2..<1]; m = ("0"+mins)[<2..<1]; if ( !hours ) { return " (idle: "+m+":"+s+")"; } h = ("0"+hours)[<2..<1]; return " (idle: "+h+":"+m+":"+s+")"; } /* idle_time() */ int cmd( int show_idle ) { object *people, person; string *cre, *invis, *director, *trustee, bing, obtyp; cre = ({ }); invis = ({ }); director = ({ }); trustee = ({ }); people = filter_array( users(), (: $1->query_creator() :) ); people = people - this_player()->query_ignoring( people ); people = sort_array( people, (: strcmp( $1->query_name(), $2->query_name() ) :) ); foreach( person in people ) { bing = person->query_cap_name(); if ( show_idle && query_idle( person ) > 120 ) { bing += idle_time( person ); } if (!this_player()->query_property("nod")) { obtyp = person->query_object_type(); switch(obtyp) { case "X": break; case " ": break; case "C": bing += "(%^CYAN%^C%^RESET%^)"; if ( "/d/liaison/master"->query_member((string)person->query_name())) bing += "(%^YELLOW%^l%^RESET%^)"; break; case "S": bing += "(%^BOLD%^%^CYAN%^S%^RESET%^)"; if ( "/d/liaison/master"->query_member((string)person->query_name())) bing += "(%^YELLOW%^l%^RESET%^)"; break; case "T": bing += "(%^BOLD%^%^RED%^T%^RESET%^)"; if ( "/d/liaison/master"->query_member((string)person->query_name())) bing += "(%^YELLOW%^l%^RESET%^)"; break; case "D": bing += "(%^RED%^D%^RESET%^)"; if ( "/d/liaison/master"->query_member((string)person->query_name())) bing += "(%^YELLOW%^l%^RESET%^)"; break; default: break; } } switch( person->query_invis() ) { case 0: cre += ({ bing }); break; case 1: invis += ({ bing }); break; case 2: director += ({ bing }); break; default: trustee += ({ bing }); break; } } if(sizeof(cre)) { tell_object(this_player(), "/global/events"->convert_message("$I$2=%^GREEN%^" "Visible%^RESET%^: "+query_multiple_short(cre)+".\n")); } if(sizeof(invis)) { tell_object(this_player(), "/global/events"->convert_message("$I$2=%^CYAN%^" "Invisible%^RESET%^: "+query_multiple_short(invis)+".\n")); } if(sizeof(director)) { tell_object(this_player(), "/global/events"->convert_message("$I$2=%^YELLOW%^Director " "Invisible%^RESET%^: "+query_multiple_short(director)+".\n")); } if(sizeof(trustee)) { tell_object(this_player(), "/global/events"->convert_message("$I$2=%^RED%^Trustee " "Invisible%^RESET%^: "+query_multiple_short(trustee)+".\n")); } return 1; } /* cmd() */ mixed *query_patterns() { return ({ "", (: cmd(1) :), "noidle", (: cmd(0) :) }); } /* query_patterns() */