The System Object #0
Aliases: The System Object
22 verbs · 213 properties · 0 children
Verbs
| Verb | Spec | Flags | Definer | Lines |
|---|---|---|---|---|
do_login_command | this none this | rxd | #0 | 21 |
server_started | this none this | rxd | #0 | 5 |
core_objects | this none this | rxd | #0 | 15 |
init_for_core | this none this | rxd | #0 | 30 |
user_created user_connected | this none this | rxd | #0 | 9 |
user_disconnected user_client_disconnected | this none this | rxd | #0 | 16 |
bf_chparent | this none this | rxd | #0 | 25 |
bf_add_verb | this none this | rxd | #0 | 26 |
bf_add_property | this none this | rxd | #0 | 24 |
bf_recycle | this none this | rxd | #0 | 20 |
user_reconnected | this none this | rxd | #0 | 21 |
bf_set_verb_info | this none this | rxd | #0 | 23 |
do_out_of_band_command doobc | this none this | rxd | #0 | 11 |
do_command | this none this | rxd | #0 | 27 |
bf_match match | this none this | rxd | #0 | 7 |
bf_rmatch rmatch | this none this | rxd | #0 | 7 |
handle_uncaught_error | this none this | rxd | #0 | 14 |
bf_force_input | this none this | rxd | #0 | 11 |
moveto | this none this | rxd | #0 | 2 |
bf_set_property_info set_property_info | this none this | rxd | #0 | 22 |
checkpoint_started | this none this | rxd | #0 | 10 |
checkpoint_finished | this none this | rxd | #0 | 14 |
Properties
| Property | Definer | Flags | Owner | Value |
|---|---|---|---|---|
builder | #0 | rc | #2 | #4 |
login | #0 | r | #2 | #10 |
last_huh | #0 | r | #2 | #11 |
guest_log | #0 | r | #2 | #12 |
last_restart_time | #0 | rc | #2 | 1541645798 |
biglist | #0 | rc | #2 | #13 |
big_mail_recipient | #0 | rc | #2 | #14 |
limbo | #0 | rc | #2 | #15 |
registration_db | #0 | rc | #2 | #16 |
new_player_log | #0 | rc | #2 | #17 |
verb_help | #0 | rc | #2 | #18 |
core_help | #0 | rc | #2 | #19 |
prog_help | #0 | rc | #2 | #22 |
wiz_help | #0 | rc | #2 | #23 |
shutdown_task | #0 | rc | #2 | E_NONE |
wiz_utils | #0 | rc | #2 | #24 |
site_db | #0 | rc | #2 | #25 |
math_utils | #0 | rc | #2 | #26 |
set_utils | #0 | rc | #2 | #27 |
builtin_function_help | #0 | rc | #2 | #28 |
new_prog_log | #0 | rc | #2 | #29 |
generic_help | #0 | rc | #2 | #30 |
guest | #0 | r | #2 | #31 |
seq_utils | #0 | rc | #2 | #33 |
quota_log | #0 | rc | #2 | #34 |
you | #0 | r | #36 | #35 |
max_seconds | #0 | rc | #2 | 5 |
max_ticks | #0 | rc | #2 | 30000 |
hacker | #0 | rc | #2 | #36 |
generic_db | #0 | rc | #2 | #37 |
shutdown_message | #0 | rc | #2 | "Bel (#2): 1 Name change" |
shutdown_time | #0 | rc | #2 | 1537082538 |
no_one | #0 | r | #2 | #38 |
player_db | #0 | r | #2 | #39 |
class_registry | #0 | rc | #2 | list of 2{{"generics", "Generic objects intended for use as the parents of new objects", {#3, #7, #5, #9, #54, #8, #1, #6, #58, #57, #50, #45, #46, #107, #108, #109, #110, #113, #114, #116, #117, #118, #119, #121, #122, #120, #123, #127, #128, #129, #130, #131, #132, #133, #134, #135, #136, #137, #138, #140}}, {"utilities", "Objects holding useful general-purpose verbs", {#20, #55, #24, #27, #41, #26, #43, #51, #52, #53, #56, #42, #21, #33, #13, #80, #82, #59, #93, #32, #103, #125}}} |
player_class | #0 | rc | #2 | #91 |
gender_utils | #0 | r | #2 | #41 |
trig_utils | #0 | rc | #2 | #26 |
time_utils | #0 | rc | #2 | #43 |
editor_help | #0 | rc | #2 | #44 |
mail_recipient | #0 | rc | #2 | #45 |
mail_agent | #0 | rc | #2 | #46 |
mail_editor | #0 | rc | #2 | #47 |
note_editor | #0 | rc | #2 | #48 |
verb_editor | #0 | rc | #2 | #49 |
generic_editor | #0 | rc | #2 | #50 |
match_utils | #0 | rc | #2 | #51 |
object_utils | #0 | rc | #2 | #52 |
lock_utils | #0 | rc | #2 | #53 |
gripe_recipients | #0 | rc | #2 | {#2} |
letter | #0 | rc | #2 | #54 |
dump_interval | #0 | rc | #2 | 3600 |
list_utils | #0 | rc | #2 | #55 |
command_utils | #0 | rc | #2 | #56 |
player | #0 | rc | #2 | #6 |
wiz | #0 | rc | #2 | #57 |
prog | #0 | rc | #2 | #58 |
code_utils | #0 | rc | #2 | #59 |
help | #0 | rc | #2 | #60 |
nothing | #0 | rc | #2 | #-1 |
failed_match | #0 | rc | #2 | #-3 |
ambiguous_match | #0 | rc | #2 | #-2 |
perm_utils | #0 | rc | #2 | #42 |
building_utils | #0 | rc | #2 | #21 |
string_utils | #0 | rc | #2 | #20 |
news | #0 | rc | #2 | #61 |
note | #0 | rc | #2 | #9 |
container | #0 | rc | #2 | #8 |
thing | #0 | rc | #2 | #5 |
exit | #0 | rc | #2 | #7 |
room | #0 | rc | #2 | #3 |
player_start | #0 | rc | #2 | #62 |
root_class | #0 | rc | #2 | #1 |
recycler | #0 | rc | #2 | #63 |
garbage | #0 | rc | #2 | #64 |
mail_options | #0 | rc | #2 | #65 |
edit_options | #0 | rc | #2 | #66 |
display_options | #0 | rc | #2 | #67 |
generic_options | #0 | rc | #2 | #68 |
maxint | #0 | rc | #2 | 2147483647 |
minint | #0 | rc | #2 | -2147483648 |
error | #0 | rc | #2 | #69 |
newt_log | #0 | rc | #2 | #70 |
toad_log | #0 | rc | #2 | #70 |
site_log | #0 | rc | #2 | #70 |
housekeeper | #0 | rc | #2 | #71 |
network | #0 | rc | #2 | #72 |
generic_biglist_home | #0 | r | #2 | #73 |
feature | #0 | rc | #2 | #74 |
local | #0 | rc | #2 | #-1 |
gopher | #0 | r | #2 | #75 |
prog_options | #0 | rc | #2 | #76 |
build_options | #0 | rc | #2 | #77 |
mail_name_db | #0 | rc | #2 | #78 |
generic_utils | #0 | rc | #2 | #79 |
quota_utils | #0 | rc | #2 | #80 |
paranoid_db | #0 | r | #2 | #81 |
no_connect_message | #0 | rc | #2 | 0 |
sysobj | #0 | r | #2 | #0 |
byte_quota_utils | #0 | rc | #2 | #80 |
object_quota_utils | #0 | rc | #2 | #82 |
server_options | #0 | rc | #2 | #83 |
warehouse | #0 | r | #2 | #84 |
builder_help | #0 | r | #2 | #85 |
mail_help | #0 | r | #2 | #86 |
ftp | #0 | rc | #2 | #87 |
password_verifier | #0 | r | #2 | #88 |
new_password_log | #0 | r | #2 | #89 |
frand_class | #0 | rc | #2 | #90 |
mail_recipient_class | #0 | rc | #2 | #40 |
pasting_feature | #0 | rc | #2 | #92 |
core_history | #0 | r | #2 | list of 4{{"rpgcore", "1.1", -1090650498}, {"rpgcore", "1.0", -1091292219}, {"nefandous", "1.8.0p6", -1119114251}, {"LambdaMOO", "1.8.0p5", 854992537}} |
matrix_utils | #0 | r | #36 | #93 |
ansi_help | #0 | r | #2 | #96 |
ansi_pc | #0 | r | #2 | #95 |
ansi_utils | #0 | r | #2 | #32 |
ansi_options | #0 | r | #2 | #97 |
scheduler | #0 | r | #2 | #99 |
rpgamer | #0 | r | #2 | #91 |
reaper_feature | #0 | r | #2 | #100 |
reaper | #0 | rc | #2 | #2 |
feature_warehouse | #0 | r | #2 | #101 |
subthing | #0 | r | #2 | #102 |
money_utils | #0 | r | #2 | #103 |
rpg_room | #0 | r | #2 | #104 |
rpg_objects_help | #0 | r | #2 | #106 |
monster | #0 | r | #2 | #107 |
homer | #0 | r | #2 | #108 |
weapon | #0 | r | #2 | #109 |
hand | #0 | r | #2 | #182 |
claw | #0 | r | #2 | #183 |
teeth | #0 | r | #2 | #184 |
collective | #0 | r | #2 | #113 |
ammo | #0 | r | #2 | #114 |
death_purse | #0 | r | #2 | #115 |
puppet | #0 | r | #2 | #116 |
clothing | #0 | r | #2 | #117 |
veroom | #0 | r | #2 | #118 |
terrain | #0 | r | #2 | #119 |
terrexit | #0 | r | #2 | #121 |
cuffs | #0 | r | #2 | #122 |
medkit | #0 | r | #2 | #120 |
rp_regulator | #0 | r | #2 | #98 |
rp_note | #0 | r | #2 | #123 |
social_feature | #0 | r | #2 | #124 |
dead_zone | #0 | rc | #2 | #146 |
default_holder | #0 | rc | #2 | #36 |
lang_utils | #0 | r | #2 | #125 |
lang | #0 | r | #2 | #126 |
light | #0 | r | #2 | #127 |
realm | #0 | r | #2 | #128 |
lobby | #0 | r | #2 | #130 |
food1 | #0 | r | #2 | #131 |
food2 | #0 | r | #2 | #132 |
temple | #0 | r | #2 | #133 |
sales_bot | #0 | r | #2 | #134 |
display_room | #0 | r | #2 | #135 |
replicating_monster | #0 | r | #2 | #136 |
breeder_relay | #0 | r | #2 | #137 |
breeder | #0 | r | #2 | #138 |
frand_help | #0 | r | #2 | #139 |
booth | #0 | r | #2 | #140 |
chargen | #0 | r | #2 | #141 |
default_lang | #0 | r | #2 | #142 |
channels | #0 | r | #2 | #143 |
puppet_strings | #0 | r | #2 | #144 |
edu_stds | #0 | r | #2 | #163 |
school | #0 | r | #2 | #129 |
special_warehouse | #0 | rc | #2 | #179 |
default_item_home | #0 | rc | #2 | #180 |
local_chargen | #0 | rc | #2 | #178 |
rpg_help | #0 | rc | #2 | #105 |
cursed_artifact | #0 | rc | #2 | #177 |
healing_orb | #0 | rc | #2 | #175 |
scroll_of_healing | #0 | rc | #2 | #110 |
magic_item_warehouse | #0 | rc | #2 | #176 |
book_of_healing | #0 | rc | #2 | #111 |
tome_of_healing | #0 | rc | #2 | #112 |
scroll_of_knowledge | #0 | rc | #2 | #122 |
book_of_knowledge | #0 | rc | #2 | #136 |
tome_of_knowledge | #0 | rc | #2 | #145 |
scroll_of_enchantment | #0 | rc | #2 | #147 |
book_of_enchantment | #0 | rc | #2 | #148 |
tome_of_enchantment | #0 | rc | #2 | #149 |
scroll_of_sleep | #0 | rc | #2 | #150 |
book_of_sleep | #0 | rc | #2 | #151 |
tome_of_sleep | #0 | rc | #2 | #152 |
scroll_of_death | #0 | rc | #2 | #153 |
book_of_death | #0 | rc | #2 | #154 |
tome_of_death | #0 | rc | #2 | #155 |
quest_social_feature | #0 | rc | #2 | #578 |
scroll_of_magic_missile | #0 | rc | #2 | #156 |
book_of_magic_missile | #0 | rc | #2 | #157 |
tome_of_magic_missile | #0 | rc | #2 | #158 |
scroll_of_escape | #0 | rc | #2 | #159 |
book_of_escape | #0 | rc | #2 | #160 |
tome_of_escape | #0 | rc | #2 | #161 |
scroll_of_fear | #0 | rc | #2 | #162 |
book_of_fear | #0 | rc | #2 | #164 |
tome_of_fear | #0 | rc | #2 | #165 |
scroll_of_power | #0 | rc | #2 | #166 |
book_of_power | #0 | rc | #2 | #167 |
tome_of_power | #0 | rc | #2 | #168 |
scroll_of_speed | #0 | rc | #2 | #169 |
book_of_speed | #0 | rc | #2 | #170 |
tome_of_speed | #0 | rc | #2 | #171 |
scroll_of_pacifism | #0 | rc | #2 | #172 |
book_of_pacifism | #0 | rc | #2 | #173 |
tome_of_pacifism | #0 | rc | #2 | #174 |
key | #1 | c | #2 | <clear> |
aliases | #1 | rc | #2 | {"The System Object"} |
description | #1 | rc | #2 | "The known universe." |
object_size | #1 | r | #36 | {30704, 1539462952} |
Ancestry
Ancestors (nearest first): #1 Root Class
Children: none
Call graph
Source
do_login_command
Referenced by
none
Source
1"...This code should only be run as a server task..."; 2if (callers()) 3return E_PERM; 4endif 5if (typeof(h = $network:incoming_connection(player)) == OBJ) 6"connected to an object"; 7return h; 8elseif (h) 9return 0; 10endif 11host = $string_utils:connection_hostname(connection_name(player)); 12if ($login:redlisted(host)) 13boot_player(player); 14server_log(tostr("REDLISTED: ", player, " from ", host)); 15return 0; 16endif 17"...checks to see if the login is spamming the server with too many commands..."; 18if (!$login:maybe_limit_commands()) 19args = $login:parse_command(@args); 20return $login:(args[1])(@listdelete(args, 1)); 21endif
server_started
Referenced by
none
Source
1if (!callers()) 2$last_restart_time = time(); 3$network:server_started(); 4$login:server_started(); 5endif
core_objects
Referenced by
none
Source
1saved = {#0}; 2for p in (properties(#0)) 3v = #0.(p); 4if ((typeof(v) == OBJ) && valid(v)) 5saved = setadd(saved, v); 6endif 7endfor 8for o in (saved) 9p = parent(o); 10while (valid(p)) 11saved = setadd(saved, p); 12p = parent(p); 13endwhile 14endfor 15return $list_utils:sort(saved);
init_for_core
Referenced by
none
Source
1if (caller_perms().wizard) 2pass(); 3if ("server_started" in verbs(this)) 4code = {"if (!callers())", "$last_restart_time = time(); $network:server_started(); $login:server_started(); endif"}; 5set_verb_code(this, "server_started", code); 6endif 7(clean = 0) || "set clean to 1 if you want to erase your custom verbs"; 8if (clean) 9`delete_verb(this, "uptime_since") ! E_VERBNF'; 10`delete_verb(this, "do_command") ! E_VERBNF'; 11`delete_verb(this, "checkpoint_started") ! E_VERBNF'; 12`delete_verb(this, "checkpoint_finished") ! E_VERBNF'; 13endif 14$core_history = {{$network.MOO_name, server_version(), time()}, @$core_history}; 15$shutdown_message = ""; 16$shutdown_time = 0; 17$dump_interval = 3600; 18$gripe_recipients = {player}; 19$dead_zone = $player_start; 20$reaper = player; 21$default_holder = $hacker; 22$class_registry = {{"generics", "Generic objects intended for use as the parents of new objects", {$room, $exit, $thing, $note, $letter, $container, $root_class, $player, $prog, $wiz, $generic_editor, $mail_recipient, $mail_agent, $monster, $homer, $weapon, $hand, $collective, $ammo, $puppet, $clothing, $veroom, $terrain, $terrexit, $cuffs, $medkit, $rp_note, $light, $realm, $school, $lobby, $food1, $food2, $temple, $sales_bot, $display_room, $replicating_monster, $breeder_relay, $breeder, $booth}}, {"utilities", "Objects holding useful general-purpose verbs", children($generic_utils)}}; 23for v in ({"do_login_command", "server_started"}) 24c = {}; 25for i in (verb_code(this, v)) 26c = {@c, strsub(i, "$local.login", "$login")}; 27endfor 28set_verb_code(#0, v, c); 29endfor 30endif
user_created user_connected
Referenced by
none
Source
1if (callers()) 2return; 3endif 4user = args[1]; 5set_task_perms(user); 6try 7user.location:confunc(user); 8except id (ANY) 9endtry
user_disconnected user_client_disconnected
Referenced by
none
Source
1if (callers()) 2return; 3endif 4if (args[1] < #0) 5"not logged in user"; 6return; 7endif 8user = args[1]; 9user.last_disconnect_time = time(); 10set_task_perms(user); 11where = user.location; 12`user:disfunc() ! ANY => 0'; 13if (user.location != where) 14`where.location:disfunc(user) ! ANY => 0'; 15endif 16`user.location:disfunc(user) ! ANY => 0';
bf_chparent
Referenced by
none
Source
1"chparent(object, new-parent) -- see help on the builtin. This verb is called by the server when $server_options.protect_chparent exists and is true and caller_perms are not wizardly."; 2who = caller_perms(); 3{what, papa} = args; 4if (typeof(what) != OBJ) 5retval = E_TYPE; 6elseif (!valid(what)) 7retval = E_INVARG; 8elseif (typeof(papa) != OBJ) 9retval = E_TYPE; 10elseif ((!valid(papa)) && (papa != #-1)) 11retval = E_INVIND; 12elseif (!$perm_utils:controls(who, what)) 13retval = E_PERM; 14elseif ((is_player(what) && (!$object_utils:isa(papa, $player_class))) && (!who.wizard)) 15retval = E_PERM; 16elseif ((is_player(what) && (!$object_utils:isa(what, $player_class))) && (!who.wizard)) 17retval = E_PERM; 18elseif ((children(what) && $object_utils:isa(what, $player_class)) && (!$object_utils:isa(papa, $player_class))) 19retval = E_PERM; 20elseif ((!valid(papa)) || ($perm_utils:controls(who, papa) || papa.f)) 21retval = `chparent(@args) ! ANY'; 22else 23retval = E_PERM; 24endif 25return ((typeof(retval) == ERR) && $code_utils:dflag_on()) ? raise(retval) | retval;
bf_add_verb
Referenced by
none
Source
1"add_verb() -- see help on the builtin for more information. This verb is called by the server when $server_options.protect_add_verb exists and is true and caller_perms() are not wizardly."; 2who = caller_perms(); 3{what, info, verbargs} = args; 4if (typeof(what) != OBJ) 5retval = E_TYPE; 6elseif (!valid(what)) 7retval = E_INVARG; 8elseif ((!$perm_utils:controls(who, what)) && (!what.w)) 9"caller_perms() is not allowed to hack on the object in question"; 10retval = E_PERM; 11elseif (!$perm_utils:controls(who, info[1])) 12"caller_perms() is not permitted to add a verb with the specified owner."; 13retval = E_PERM; 14elseif (index(info[2], "w") && (!$server_options.permit_writable_verbs)) 15retval = E_INVARG; 16elseif (!$quota_utils:verb_addition_permitted(who)) 17retval = E_QUOTA; 18elseif (((what.owner != who) && (!who.wizard)) && (!$quota_utils:verb_addition_permitted(what.owner))) 19retval = E_QUOTA; 20elseif (!who.programmer) 21retval = E_PERM; 22else 23"we now know that the caller's perms control the object or the object is writable, and we know that the caller's perms control the prospective verb owner (by more traditional means)"; 24retval = `add_verb(@args) ! ANY'; 25endif 26return ((typeof(retval) == ERR) && $code_utils:dflag_on()) ? raise(retval) | retval;
bf_add_property
Referenced by
none
Source
1"add_property() -- see help on the builtin for more information. This verb is called by the server when $server_options.protect_add_property exists and is true and caller_perms() are not wizardly."; 2who = caller_perms(); 3{what, propname, value, info} = args; 4if (typeof(what) != OBJ) 5retval = E_TYPE; 6elseif (!valid(what)) 7retval = E_INVARG; 8elseif ((!$perm_utils:controls(who, what)) && (!what.w)) 9retval = E_PERM; 10elseif (!$perm_utils:controls(who, info[1])) 11retval = E_PERM; 12elseif (!$quota_utils:property_addition_permitted(who)) 13retval = E_QUOTA; 14elseif (((what.owner != who) && (!who.wizard)) && (!$quota_utils:property_addition_permitted(what.owner))) 15retval = E_QUOTA; 16"elseif (!who.programmer)"; 17" return E_PERM; I wanted to do this, but $builder:@newmessage relies upon nonprogs being able to call add_property. --Nosredna"; 18elseif ((propname in {"object_size", "size_quota", "queued_task_limit"}) && (!who.wizard)) 19retval = E_PERM; 20else 21"we now know that the caller's perms control the object (or the object is writable), and that the caller's perms are permitted to control the new property's owner."; 22retval = `add_property(@args) ! ANY'; 23endif 24return ((typeof(retval) == ERR) && $code_utils:dflag_on()) ? raise(retval) | retval;
bf_recycle
Referenced by
none
Source
1"recycle(object) -- see help on the builtin. This verb is called by the server when $server_options.protect_recycle exists and is true and caller_perms() are not wizardly."; 2if (!valid(what = args[1])) 3retval = E_INVARG; 4elseif (!$perm_utils:controls(who = caller_perms(), what)) 5retval = E_PERM; 6elseif ((p = is_player(what)) && (!who.wizard)) 7for p in ($wiz_utils:connected_wizards_unadvertised()) 8p:tell($string_utils:pronoun_sub("%N (%#) is currently trying to recycle %t (%[#t])", who, what)); 9endfor 10retval = E_PERM; 11else 12if (p) 13$wiz_utils:unset_player(what); 14endif 15retval = `recycle(what) ! ANY'; 16if (typeof(retval) != ERR) 17$recycler:kill_all_tasks(what); 18endif 19endif 20return ((typeof(retval) == ERR) && $code_utils:dflag_on()) ? raise(retval) | retval;
user_reconnected
Referenced by
none
Source
1if (callers()) 2return; 3endif 4if ($object_utils:isa(user = args[1], $guest)) 5"from $guest:boot"; 6oldloc = user.location; 7move(user, $nothing); 8"..force enterfunc to be called so that the newbie gets a room description."; 9move(user, user.home); 10user:do_reset(); 11if ($object_utils:isa(oldloc, $room)) 12oldloc:announce("In the distance you hear someone's alarm clock going off."); 13if (oldloc != user.location) 14oldloc:announce(user.name, " wavers and vanishes into insubstantial mist."); 15else 16oldloc:announce(user.name, " undergoes a wrenching personality shift."); 17endif 18endif 19set_task_perms(user); 20`user:confunc() ! ANY'; 21endif
bf_set_verb_info
Referenced by
none
Source
1"set_verb_info() -- see help on the builtin for more information. This verb is called by the server when $server_options.protect_set_verb_info exists and is true and caller_perms() are not wizardly."; 2{o, v, i} = args; 3if (typeof(vi = `verb_info(o, v) ! ANY') == ERR) 4"probably verb doesn't exist"; 5retval = vi; 6elseif (!$perm_utils:controls(cp = caller_perms(), vi[1])) 7"perms don't control the current verb owner"; 8retval = E_PERM; 9elseif ((typeof(i) != LIST) || (typeof(no = i[1]) != OBJ)) 10"info is malformed"; 11retval = E_TYPE; 12elseif ((!valid(no)) || (!is_player(no))) 13"invalid new verb owner"; 14retval = E_INVARG; 15elseif (!$perm_utils:controls(cp, no)) 16"perms don't control prospective verb owner"; 17retval = E_PERM; 18elseif (index(i[2], "w") && (!`$server_options.permit_writable_verbs ! E_PROPNF, E_INVIND => 1')) 19retval = E_INVARG; 20else 21retval = `set_verb_info(o, v, i) ! ANY'; 22endif 23return ((typeof(retval) == ERR) && $code_utils:dflag_on()) ? raise(retval) | retval;
do_out_of_band_command doobc
Referenced by
none
Source
1"do_out_of_band_command -- a cheap and very dirty do_out_of_band verb. Forwards to verb on player with same name if it exists, otherwise forwards to $login. May only be called by the server in response to an out of band command, otherwise E_PERM is returned."; 2if (((caller == #-1) && (caller_perms() == #-1)) && (callers() == {})) 3if (valid(player) && is_player(player)) 4set_task_perms(player); 5player:do_out_of_band_command(@args); 6else 7$login:do_out_of_band_command(@args); 8endif 9else 10return E_PERM; 11endif
do_command
Referenced by
none
Source
1if (player.wizard) 2player:infobar(); 3return 0; 4endif 5if ((args[1] in {"@who", "help", "page", "@mail", "@read", "@peek", "@next", "@nn", "@subscribed", "public", "pub", "cb", "help!", "@quit", "@stats", "@score", "@points", "@status"}) || player.programmer) 6player:infobar(); 7return 0; 8endif 9if (`player.alert ! E_PROPNF => 0' && `player.mobile ! E_PROPNF => 0') 10player:infobar(); 11return 0; 12elseif (!`player.alert ! E_PROPNF => 1') 13player:tell("[bold][red]You are unconscious.[normal]"); 14player:infobar(); 15return 1; 16elseif (!`player.mobile ! E_PROPNF => 1') 17if (args[1] in {"say", "look"}) 18player:infobar(); 19return 0; 20else 21player:tell("[bold][red]You are immobilized.[normal]"); 22player:infobar(); 23return 1; 24endif 25endif 26player:infobar(); 27return 0;
bf_match match
Referenced by
none
Source
1m = `match(@args) ! ANY'; 2return ((typeof(m) == ERR) && $code_utils:dflag_on()) ? raise(m) | m; 3if ((length(args[1]) > 256) && index(args[2], "*")) 4return E_INVARG; 5else 6return match(@args); 7endif
bf_rmatch rmatch
Referenced by
none
Source
1r = `rmatch(@args) ! ANY'; 2return ((typeof(r) == ERR) && $code_utils:dflag_on()) ? raise(r) | r; 3if ((length(args[1]) > 256) && index(args[2], "*")) 4return E_INVARG; 5else 6return rmatch(@args); 7endif
handle_uncaught_error
Referenced by
none
Source
1if (!callers()) 2{code, msg, value, stack, traceback} = args; 3"change the following (1) to (0) after major debugging is done"; 4if (1) 5#2:tell($string_utils:nn(player), " invoked this traceback:"); 6#2:tell_lines(traceback); 7endif 8if (!$object_utils:connected(player)) 9"Mail the player the traceback if e isn't connected."; 10$mail_agent:send_message(#0, player, {"traceback", $gripe_recipients}, traceback); 11endif 12"now let the player do something with it if e wants..."; 13return `player:(verb)(@args) ! ANY'; 14endif
bf_force_input
Referenced by
none
Source
1"see help on the builtin for more information. This verb is called by the server when $server_options.protect_force_input exists and is true and caller_perms() are not wizardly."; 2{conn, line, ?at_front = 0} = args; 3if (caller_perms() != conn) 4retval = E_PERM; 5elseif (conn in $login.newted) 6retval = E_PERM; 7else 8retval = `force_input(@args) ! ANY'; 9this.force_input_count = this.force_input_count + 1; 10endif 11return ((typeof(retval) == ERR) && $code_utils:dflag_on()) ? raise(retval) | retval;
moveto
Referenced by
none
Source
1"keep it still."; 2return pass(#-1);
bf_set_property_info set_property_info
Referenced by
none
Source
1who = caller_perms(); 2retval = 0; 3try 4{what, propname, info} = args; 5except (E_ARGS) 6retval = E_ARGS; 7endtry 8try 9{owner, perms, ?newname = 0} = info; 10except (E_ARGS) 11retval = E_ARGS; 12except (E_TYPE) 13retval = E_TYPE; 14endtry 15if (retval != 0) 16elseif ((newname in {"object_size", "size_quota", "queued_task_limit"}) && (!who.wizard)) 17retval = E_PERM; 18else 19set_task_perms(who); 20retval = `set_property_info(@args) ! ANY'; 21endif 22return ((typeof(retval) == ERR) && $code_utils:dflag_on()) ? raise(retval) | retval;
checkpoint_started
Referenced by
none
Source
1if (callers()) 2return E_PERM; 3elseif (!$server_options.announce_checkpoint) 4return; 5endif 6`$local.dump_started = time() ! ANY => "skip it"'; 7msg = $wiz_utils:checkpoint_started_msg(); 8for p in (connected_players()) 9p:notify(msg); 10endfor
checkpoint_finished
Referenced by
none
Source
1if (callers()) 2return E_PERM; 3elseif (!args[1]) 4`$local.dump_finished = -1 ! ANY => "skip it"'; 5msg = $wiz_utils:checkpoint_failed_msg(); 6elseif (!$server_options.announce_checkpoint) 7return; 8else 9`$local.dump_finished = time() ! ANY => "skip it"'; 10msg = $wiz_utils:checkpoint_finished_msg(); 11endif 12for p in (connected_players()) 13p:notify(msg); 14endfor