// /bin/dev/_banish.c // from the Dead Souls Mudlib // prevents a name being used by a new player // created by Descartes of Borg ??? #include <lib.h> #include <daemons.h> inherit LIB_DAEMON; int cmd(string str) { int substr = 0; if(!str || str == ""){ write("Syntax: banish <string>"); return 1; } if(grepp(str,"-s ")){ str = replace_string(str,"-s ",""); substr = 1; } if(!user_exists(str = lower_case(str))) { if(!substr){ BANISH_D->banish_name(str); write(capitalize(str)+" is now banished.\n"); } else { BANISH_D->set_illegal_substring(str); write("The substring \""+str+"\" is now illegal in a name."); } } else { write("A player by that name already exists.\n"); this_player()->eventPrint((string)FINGER_D->GetFinger(str)); } return 1; } void help() { write("Syntax: <banish [name]>\n\n" "Protects a name from being used by a new player.\n" "For example, if you have created a monster named Cassandra, in order\n" "to avoid problems with player complaining \"I typed 'kill\n" "cassandra' meaning to kill the evil enchantress, but Cassandra\n" "walked in and I accidentally killed her.\" It is also to be\n" "used to keep people from using offensive names.\n" "The -s option makes the argument a substring to be made illegal, " "so that:\n" "banish -s top\n" "would make it impossible to create a character named Carrottop." ); }