inherit COMMAND_BASE; #include <language.h> int cmd(string which) { string *langs, skill; int i; mapping skills; skills = TP->query_skills(); if (!which) { langs = LANGUAGE_HAND->query_languages(); for (i = 0; i < sizeof(langs); i++) { if (TP->query_skill( LANGUAGE_HAND->query_language_spoken_skill(langs[i])) > 1 || TP->query_skill( LANGUAGE_HAND->query_language_written_skill(langs[i])) > 1) { } else { langs = langs[0..i-1] + langs[i+1..]; i--; } } write("You are currently speaking " + TP->query_current_language() + ".\n"); write("You can speak "+query_multiple_short(map(langs, (: capitalize :)) + ({ "Grunt" }) )+".\n"); write("Please note that the language you are speaking is used for " "writing as well, so some of the languages may be just written.\n"); return 1; } which = lower_case(which); skill = LANGUAGE_HAND->query_language_spoken_skill(which); if (!skill) { return notify_fail("You cannot speak that language.\n"); } if (!TP->query_skill(skill) && which != "grunt") { return notify_fail("You don't know that language.\n"); } if(!TP->set_language(which)) { return notify_fail("Argh... something weird happened.\n"); } write("Now using " + which + " for speaking and writing.\n"); return 1; } /* cmd() */ mixed *query_patterns() { return ({ (TP->query_womens_day()?"wommon":"{" + implode(LANGUAGE_HAND->query_languages(), "|") + "}"), (: cmd(implode($4, " ")) :), "", (: cmd(0) :) }); } /* query_patterns() */