#define LIV "/obj/handlers/livings"
private nosave string _nf;
varargs void log_file(string name, string fmt, mixed *args ...);
void enable_commands(){
efun::set_this_player(previous_object());
LIV->enable_commands(previous_object());
}
void set_living_name(string name){
LIV->set_living_name(name, previous_object());
}
int living(object ob){
if(!ob)
return 0;
return ob->_living(); //LIV->living(ob);
}
int _notify_fail(string mes){
_nf = mes;
return 0;
}
string query_notify_fail(){
return _nf;
}
mixed command(string cmd){
int time = eval_cost();
if(evaluate(bind((:call_other:), previous_object()),previous_object(),
"_process_input", cmd))
return eval_cost() - time + 1; // on v22.2 eval_cost runs up, reverse for v22.1
return 0;
}
/** @ignore yes */
mixed actions_defined(mixed, mixed, mixed){ return ({}); }
void set_this_player(object ob){
error("Illegal use of set_this_player.");
}