inherit COMMAND_BASE; string *do_clean( string *people ) { return filter( people, (: ( find_player($1) || rank($1) ) && !creatorp($1) :) ); } /* do_clean() */ int cmd_list() { string *ignoring; if( !ignoring = TP->query_property("ignoring") ) ignoring = ({ }); if( !sizeof( ignoring = do_clean( ignoring ) ) ) { TP->remove_property("ignoring"); write( "You are not ignoring anyone.\n" ); } else { ignoring = sort_array( ignoring, 1 ); write( "You are currently ignoring " + query_multiple_short( map( ignoring, (: CAP($1) :) ) ) + ".\n" ); } return 1; } /* cmd_list() */ int cmd( string str ) { string *ignoring; if( !ignoring = TP->query_property("ignoring") ) ignoring = ({ }); if( !sizeof( ignoring = do_clean( ignoring ) ) ) TP->remove_property("ignoring"); if( ( str = lower_case( TP->expand_nickname(str) ) ) == TP->query_name() ) { add_failed_mess( "You cannot ignore yourself.\n" ); return 0; } if( !find_player(str) && !rank(str) ) { add_failed_mess("Ignoring someone that doesn't exist? Is this some " "kind of zen?\n"); return 0; } if( creatorp(str) ) { add_failed_mess("You cannot ignore creators, if you have an issue " "with a creator, please talk to the admin to solve it.\n"); return 0; } if( member_array( str, ignoring ) == -1 ) { ignoring += ({ str }); TP->add_property("ignoring", ignoring ); write("You are now ignoring "+CAP(str)+".\n"); return 1; } add_failed_mess( "You are already ignoring "+CAP(str)+".\n" ); return 0; } /* cmd() */ mixed *query_patterns() { return ({ "<string'person'>", (: cmd($4[0]) :), "", (: cmd_list() :) }); } /* query_patterns() */