Everyman #38

Parent #40Owner #36Flags player, programmer, readSource RPG Core/rpgcore-patched.db

Aliases: Everyman, everyone, no_one, noone

6 verbs · 70 properties · 0 children

Verbs

VerbSpecFlagsDefinerLines
evalthis none thisrxd#3814
movetothis none thisrxd#381
eval_dthis none thisrxd#3815
call_verbthis none thisrxd#385
bad_evalthis none thisrxd#3813
set_*this none thisrxd#385

Properties

PropertyDefinerFlagsOwnerValue
_mail_task#40rc#36<clear>
messages_going#40c#36{}
mail_lists#40rc#36<clear>
mail_notify#40r#2<clear>
mail_forward#40rc#36"Everyman ($no_one) can not receive mail."
mail_options#40rc#36{}
message_keep_date#40rc#36<clear>
messages_kept#40rc#36{}
current_message#40c#36{0, -1300000000}
messages#40c#36{}
ansi_options#95r#36<clear>
replace_codes#95r#36<clear>
features#6r#36<clear>
previous_connection#6#2<clear>
email_address#6#2"$no_one"
last_disconnect_time#6r#22147483647
help#6rc#360
more_msg#6rc#36<clear>
linetask#6r#36<clear>
linesleft#6r#36<clear>
linebuffer#6#36<clear>
pagelen#6r#36<clear>
owned_objects#6r#2{}
linelen#6r#36<clear>
current_folder#6c#36<clear>
all_connect_places#6#2<clear>
last_connect_place#6#2<clear>
brief#6rc#36<clear>
lines#6c#36<clear>
page_absent_msg#6rc#36<clear>
pq#6rc#36<clear>
pqc#6rc#36<clear>
page_origin_msg#6rc#36<clear>
page_echo_msg#6rc#36"... no one out there to see it."
edit_options#6rc#36<clear>
last_connect_time#6r#22147483647
ownership_quota#6#36-10000
gender#6rc#36<clear>
prc#6rc#36<clear>
ppc#6rc#36<clear>
poc#6rc#36<clear>
psc#6rc#36<clear>
pr#6rc#36<clear>
pp#6rc#36<clear>
po#6rc#36<clear>
ps#6rc#36<clear>
home#6rc#36#-1
password#6#2<clear>
gaglist#6rc#36<clear>
paranoid#6rc#36<clear>
display_options#6rc#36<clear>
verb_subs#6rc#36<clear>
first_connect_time#6r#22147483647
size_quota#6#36{25000, 0, -1119114564, 0}
last_password_time#6#2<clear>
last_connect_attempt#6#2<clear>
page_count_start_time#6r#2<clear>
ping_task#6r#36<clear>
value_base#102r#2<clear>
damage_base#102r#2<clear>
x_loc#102r#36<clear>
y_loc#102r#36<clear>
ansi_title#102r#36<clear>
obvious#102r#36<clear>
build_help#102rc#36<clear>
key#1c#36<clear>
aliases#1r#2{"Everyman", "everyone", "no_one", "noone"}
description#1rc#36"The character used for \"safe\" evals."
object_size#1r#36{5619, -1090650497}
html#1rc#36<clear>

Ancestry

Ancestors (nearest first): #40 Generic Mail Receiving Player#95 ANSI PC#6 generic player#102 subthing#1 Root Class

Children: none

Call graph

calls n38_0 #38:eval n38_4 #38:bad_eval n38_0->n38_4 n59_35 #59:inside_quotes n38_4->n59_35 n38_2 #38:eval_d n38_2->n38_4 n59_0 #59:eval_d n38_2->n59_0

Source

eval

Spec this none thisFlags rxdOwner #2Definer #38

Referenced by

Source

1"eval(code)";
2"Evaluate code with $no_one's permissions (so you won't damage anything).";
3"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.";
4"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.";
5exp = args[1];
6if (this:bad_eval(exp))
7return E_PERM;
8endif
9set_task_perms(this);
10if (exp[1] != ";")
11return eval(tostr("this=", caller, "; return ", exp, ";"));
12else
13return eval(tostr("this=", caller, ";", exp, ";"));
14endif

moveto

Spec this none thisFlags rxdOwner #36Definer #38

Referenced by

none

Source

1return 0;

eval_d

Spec this none thisFlags rxdOwner #2Definer #38

Referenced by

Source

1":eval_d(code)";
2"exactly like :eval except that the d flag is unset";
3"Evaluate code with $no_one's permissions (so you won't damage anything).";
4"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.";
5"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.";
6exp = args[1];
7if (this:bad_eval(exp))
8return E_PERM;
9endif
10set_task_perms(this);
11if (exp[1] != ";")
12return $code_utils:eval_d(tostr("this=", caller, "; return ", exp, ";"));
13else
14return $code_utils:eval_d(tostr("this=", caller, ";", exp, ";"));
15endif

call_verb

Spec this none thisFlags rxdOwner #2Definer #38

Referenced by

none

Source

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

bad_eval

Spec this none thisFlags rxdOwner #2Definer #38

Referenced by

Source

1"Return 1 if this code will call fork, suspend, or eval.";
2"At present it's overzealous---it should check for delimited uses of the above calls, in case someone has a variable called prevalent.";
3exp = args[1];
4if ((index(exp, "eval") || index(exp, "fork")) || index(exp, "suspend"))
5"Well, they had one of the evil words in here.  See if it was in a quoted string or not -- we want to permit player:tell(\"Gentlemen use forks.\")";
6for bad in ({"eval", "fork", "suspend"})
7l = index(exp, bad);
8if (l && (!$code_utils:inside_quotes(exp[1..l])))
9return 1;
10endif
11endfor
12endif
13return 0;

set_*

Spec this none thisFlags rxdOwner #36Definer #38

Referenced by

none

Source

1if (!caller_perms().wizard)
2return E_PERM;
3else
4return pass(@args);
5endif