/* Do not remove the headers from this file! see /USAGE for more info. */ inherit "/obj/admtool/internal/base.c"; inherit CLASS_ALIAS; nomask string module_name() { return "alias"; } nomask string module_key() { return "a"; } nomask string module_user() { return "[Mudlib:daemons]"; } nomask string module_priv() { return "Mudlib:daemons"; } private nomask void add_alias(string name, string expansion, int dev, string xinfo) { int xverb; switch ( xinfo ) { case "y": xverb = 1; break; case "": case 0: case "n": break; default: write("**Invalid selection.\n"); return; } do_modal_func(); ALIAS_D->add_default_alias(name, expansion, xverb, dev); write("Done.\n"); } private nomask void handle_l(string cmd) { string a; mixed alias_info; string* xaliases; class alias val; string output; int i; mapping aliases; alias_info = ALIAS_D->query_default_aliases(); if(cmd == "L") { aliases = alias_info[2]; xaliases = alias_info[3]; } else { aliases = alias_info[0]; xaliases=alias_info[1]; } output = sprintf("Alias:%9sExpansion:%29sDefaults:\n","",""); output += repeat_string("-", 77) + "\n"; // foreach (a, val in aliases) foreach(a in sort_array(keys(aliases),1)) { val=aliases[a]; output += sprintf("%-14s %-38s ", a, val->template); if(sizeof(val->defaults) == 1 && val->defaults[0] == "") output += "\n"; else { output += "$*: " + val->defaults[0] + "\n"; for(i=1;i<sizeof(val->defaults);i++) output += sprintf("%54s$%d: %s\n","",i,val->defaults[i]); } } more(output); } private nomask void handle_a(string cmd, string name,string expansion) { int type; if(cmd == "a") type=0; else type=1; modal_func((: add_alias, name, expansion, type :), "Xalias? [yn (default n)] "); } private nomask void handle_r(string cmd, string input) { mixed alias_info; if(cmd == "r") alias_info = ALIAS_D->query_default_aliases()[0]; else alias_info = ALIAS_D->query_default_aliases()[2]; if(undefinedp(alias_info[input])) { if(cmd == "r") printf("%s wasn't a player alias.\n", input); else printf("%s wasn't a wizard alias.\n", input); return; } if(cmd == "r") ALIAS_D->remove_default_alias(input); else ALIAS_D->remove_default_alias(input,1); write("Done.\n"); } nomask class command_info array module_commands() { return ({ new(class command_info, key : "l", action : (: handle_l, "l" :), desc : "list global player aliases"), new(class command_info, key : "L", action : (: handle_l, "L" :), desc : "list global wizard aliases"), new(class command_info, key : "a", proto : "[alias [expansion]]", args : ({ "Alias: ", "Expansion: "}), action : (: handle_a, "a" :), desc : "add a global player alias"), new(class command_info, key : "A", action : (: handle_a, "A" :), args : ({"Alias: ","Expansion: "}), proto : "[alias [expansion]]", desc : "add a global wizard alias"), new(class command_info, key : "r", proto : "[alias]", args: ({"Alias: "}), action : (: handle_r, "r" :), desc : "remove a global player alias"), new(class command_info, key : "R", action : (: handle_r, "R" :), proto : "[alias]", args: ({"Alias: "}), desc : "remove a global wizard alias") }); }