/**
* rot13 command. Transforms input with rot13 algorithm. Numbers are
* transformed with rot5.
* @author Gruper
*/
inherit "/cmds/base";
string rot13(string str);
int cmd(string str) {
printf("You rot: \"%s\".\n", rot13(str));
return 1;
} /* cmd() */
string rot13(string str) {
int i;
for(i = 0; i < sizeof(str); i++) {
if(str[i] >= 'A' && str[i] <= 'Z') {
str[i] = ((13 + str[i] - 'A') % 26) + 'A';
} else if(str[i] >= 'a' && str[i] <= 'z') {
str[i] = ((13 + str[i] - 'a') % 26) + 'a';
} else if(str[i] >= '0' && str[i] <= '9') {
str[i] = ((5 + str[i] - '0') % 10) + '0';
}
}
return str;
} /* rot13() */
mixed *query_patterns() {
return ({ "<string>", (: cmd($4[0]) :) });
} /* query_patterns() */