/* // Don't know who did this file. Probably Wayfarer. // (92-12-06) Pallando added 3 lines of code to do_nicknames() */ mapping nicknames; string do_nicknames(string str) { int i; string *words; string ret; if(!str) return ""; if(!nicknames) return str; if (str[0..7] == "nickname") return str; words = explode(str," "); for(i = 1; i < sizeof(words); i++) { ret = words[i]; if(ret != "\\" && ret[0] == '\\') words[i] = ret[1..strlen(ret)]; else if(nicknames[words[i]]) words[i] = nicknames[words[i]]; else if(words[i] == "##") words[i] = call_other( this_object(), "query", "cwf" ); // Previous 3 lines added by Pallando (92-12-06) for editing defaults } ret = implode(words, " "); return ret; } void remove_nickname(string nm) { if (!nicknames) return; map_delete(nicknames,nm); } void set_nicknames(string nm, string rnm) { if(!nicknames) nicknames = ([]); nicknames[nm] = rnm; } mapping query_nicknames() { if (!nicknames) { return ([]); } return nicknames; } mixed query_nickname(mixed nick) { return nicknames[nick]; } void empty_nicknames() { nicknames = ([]); }