Everyman (#40)

(an instance of generic player made by Hacker)

     ... He never even got to go to Disneyland.


Everyman owns


VERB SOURCE CODE:

eval:
"eval(code)";
"Evaluate code with $no_one's permissions (so you won't damage anything).";
"If code does not begin with a semicolon, set this = caller (in the code to be evaluated) 
and return the value of the first `line' of code.  This means that subsequent lines 
will not be evaluated at all.";
"If code begins with a semicolon, set this = caller and let the code decide for itself 
when to return a value.  This is how to do multi-line evals.";
set_task_perms(this);
exp = args[1];
if (exp[1] != ";")
    return eval(tostr("this=", caller, "; return ", exp, ";"));
else
    return eval(tostr("this=", caller, ";", exp, ";"));
endif
.


moveto:
return 0;
.


eval_d:
":eval_d(code)";
"exactly like :eval except that the d flag is unset";
"Evaluate code with $no_one's permissions (so you won't damage anything).";
"If code does not begin with a semicolon, set this = caller (in the code to be evaluated) 
and return the value of the first `line' of code.  This means that subsequent lines 
will not be evaluated at all.";
"If code begins with a semicolon, set this = caller and let the code decide for itself 
when to return a value.  This is how to do multi-line evals.";
set_task_perms(this);
exp = args[1];
if (exp[1] != ";")
    return $code_utils:eval_d(tostr("this=", caller, "; return ", exp, ";"));
else
    return $code_utils:eval_d(tostr("this=", caller, ";", exp, ";"));
endif
.


call_verb:
"call_verb(object, verb name, args)";
"Call verb with $no_one's permissions (so you won't damage anything).";
"One could do this with $no_one:eval, but ick.";
set_task_perms(this);
return args[1]:(args[2])(@args[3]);
.



PROPERTY DATA: