/
CDC-1.1/
parent $interfaces
object $bad_commands

var $root child_index 0
var $root owners [$bad_commands]
var $root owned [$bad_commands]
var $root fertile 0
var $has_commands commands [["quit", 'old_command_cmd], ["WHO", 'old_command_cmd], ["@create *", 'old_command_cmd], ["@dig *", 'old_command_cmd]]
var $has_commands shortcuts []
var $root inited 1
var $bad_commands non_supported_cmds #[["quit", "@quit"], ["WHO", "@who"], ["@create", "@spawn"], ["@dig", "@build"]]
var $root manager $bad_commands
var $root writable [$bad_commands]
var $root readable ['parameters, 'methods, 'code]
var $root dbref 'bad_commands

method mangled_command
    arg str;
    
.

method add_old_cmd_reference
    arg oldcmd, [newcmd];
    
    .perms(sender(), 'admin);
    if (this() != $bad_commands)
        throw(~perm, "Only define bad commands on $bad_commands");
    if (newcmd)
        non_supported_cmds = dict_add(non_supported_cmds, oldcmd, newcmd[1]);
    .add_command(oldcmd, 'old_command_cmd);
.

method del_old_cmd_reference
.

method old_command_cmd
    arg com, [args];
    var line, equiv;
    
    equiv = (| ($bad_commands.non_supported_cmds())[com] |);
    line = ("Oops, `" + com) + "` is not supported here.  Use `help commands` for";
    sender().tell("!  " + line);
    line = "an explanation on the differences in commands.";
    sender().tell(("!  " + line) + (equiv ? ("  Try: `" + equiv) + "`" | ""));
.

method non_supported_cmds
    return non_supported_cmds;
.