/* Do not remove the headers from this file! see /USAGE for more info. */ inherit "/obj/admtool/internal/base.c"; nomask string module_name() { return "colour"; } nomask string module_key() { return "C"; } nomask string module_user() { return "[Mudlib:daemons]"; } nomask mixed module_priv() { return "Mudlib:daemons"; } private void receive_remove_colour(string key) { ANSI_D->remove_default_colour(key); write("Done.\n"); } private void receive_add_colour(string key, string value, int restricted) { ANSI_D->add_default_colour(key, value, restricted); write("Done.\n"); } //Returns lower_cased if unrestricted string restrict_modify(string val) { if(member_array(val, ANSI_D->query_restrictions())<0) return lower_case(val); return val; } private void list_colours() { string * restrict = ANSI_D->query_restrictions(); mixed tmp; tmp = ANSI_D->defaults(); tmp = sort_array(keys(tmp), 1); tmp = map(tmp, (: restrict_modify :)); tmp = implode(tmp, ", "); write("Default colours (wiz-only in CAPs)\n" + tmp + "\n\n"); } private void restrict(string key) { ANSI_D->add_restriction(key); } private void unrestrict(string key) { ANSI_D->remove_restriction(key); } nomask class command_info array module_commands() { return ({ new(class command_info, key : "l", desc : "list default colours", action : (: list_colours :)), new(class command_info, key : "a", proto : "[colour] [value] [restricted]", desc : "add default colour", args : ({ "Colour code? ", "Value? ", "1 for wiz-only? " }), action : (: receive_add_colour :)), new(class command_info, key : "r", proto : "[colour]", desc : "remove default colour", args : ({ "Remove which colour? " }), action : (: receive_remove_colour :)), new(class command_info, key : "w", proto : "[colour]", desc : "make colour wiz-only", args : ({ "Make which colour wiz-only? " }), action : (: restrict :)), new(class command_info, key : "p", proto : "[colour]", desc : "make colour player-usable", args : ({ "Make which colour player-usable? " }), action : (: unrestrict :)) }); }