// Petrarch
// Merentha Lib 1.0
// <call>
varargs int command(string input) {
mixed ret;
object ob;
string *args=0;
string obj, fun;
int i;
    if(sscanf(input, "%s;%s", obj, fun)!=2) return notify_fail("Syntax: call object;function;args\n");
    i=sizeof(args=explode(fun,";"));
    if(obj=="me") ob=this_player();
    if (!ob) ob=present(obj, environment(this_player()));
    if (!ob) ob=find_player(player_name(obj));
    if (!ob) ob=find_living(obj);
    if (!ob) ob=find_object(obj);
    if (!ob) return notify_fail("Could not find "+obj+"\n");
    ret=call_other(ob, args);
    message("command", input+" = %^BOLD%^"+identify(ret), this_player());
    return 1;
}
string help() {
    return "Syntax: call <object>;<function>;<args;args;args;...>\n\nCalls the function in the object with any number of arguments.\n\nExample: call me;query_race";
}