Root Class #1
38 verbs · 5 properties · 22 children
Verbs
| Verb | Spec | Flags | Definer | Lines |
|---|---|---|---|---|
initialize | this none this | rxd | #1 | 12 |
recycle | this none this | rxd | #1 | 13 |
set_name | this none this | rxd | #1 | 7 |
title | this none this | rxd | #1 | 1 |
titlec | this none this | rxd | #1 | 1 |
set_aliases | this none this | rxd | #1 | 20 |
match | this none this | rxd | #1 | 2 |
match_object | this none this | rxd | #1 | 3 |
set_description | this none this | rxd | #1 | 10 |
description | this none this | rxd | #1 | 12 |
look_self | this none this | rxd | #1 | 6 |
notify | this none this | rxd | #1 | 3 |
tell | this none this | rxd | #1 | 1 |
tell_lines | this none this | rxd | #1 | 8 |
accept | this none this | rxd | #1 | 2 |
moveto | this none this | rxd | #1 | 2 |
eject eject_nice eject_basic | this none this | rxd | #1 | 23 |
is_unlocked_for | this none this | rxd | #1 | 1 |
huh | this none this | rxd | #1 | 2 |
set_message | this none this | rxd | #1 | 13 |
do_examine | this none this | rxd | #1 | 20 |
examine_key | this none this | rxd | #1 | 7 |
examine_names | this none this | rxd | #1 | 3 |
examine_desc | this none this | rxd | #1 | 12 |
examine_contents | this none this | rxd | #1 | 11 |
examine_verbs | this none this | rxd | #1 | 59 |
get_message | this none this | rxd | #1 | 14 |
room_announce*_all_but | this none this | rxd | #1 | 4 |
init_for_core | this none this | rxd | #1 | 16 |
contents | this none this | rxd | #1 | 2 |
examine_verb_ok | this none this | rxd | #1 | 10 |
is_listening | this none this | rxd | #1 | 2 |
hidden_verbs | this none this | rxd | #1 | 20 |
examine_owner | this none this | rxd | #1 | 3 |
announce*_all_but | this none this | rxd | #1 | 1 |
tell_lines_suspended | this none this | rxd | #1 | 9 |
acceptable | this none this | rxd | #1 | 3 |
help_msg | this none this | rxd | #1 | 1 |
Properties
| Property | Definer | Flags | Owner | Value |
|---|---|---|---|---|
key | #1 | c | #2 | 0 |
aliases | #1 | rc | #2 | {} |
description | #1 | rc | #2 | "" |
object_size | #1 | r | #36 | {23561, -1090650497} |
html | #1 | rc | #2 | "" |
Ancestry
#1 Root Class
- #0 The System Object
- #3 generic room
- #7 generic exit
- #10 Login Commands
- #11 Player Last_huh Verbs
- #12 Guest Log
- #15 Limbo
- #18 Verb Help DB
- #30 Generic Help Database
- #37 Generic Database
- #45 Generic Mail Recipient
- #46 Mail Distribution Center
- #68 Generic Option Package
- #69 Error Generator
- #72 Network Utilities
- #73 Generic BigList Resident
- #75 Gopher utilities
- #79 Generic Utilities Package
- #81 @paranoid database
- #83 Server Options
- #87 FTP utilities
- #102 subthing
Ancestors (nearest first): none
Children: #0 The System Object, #3 generic room, #7 generic exit, #10 Login Commands, #11 Player Last_huh Verbs, #12 Guest Log, #15 Limbo, #18 Verb Help DB, #30 Generic Help Database, #37 Generic Database, #45 Generic Mail Recipient, #46 Mail Distribution Center, #68 Generic Option Package, #69 Error Generator, #72 Network Utilities, #73 Generic BigList Resident, #75 Gopher utilities, #79 Generic Utilities Package, #81 @paranoid database, #83 Server Options, #87 FTP utilities, #102 subthing
Call graph
Source
initialize
Referenced by
- #6:initialize line 3:
pass( - #30:initialize line 1:
pass( - #45:initialize line 3:
pass( - #50:initialize line 2:
pass( - #74:initialize line 2:
pass(
Source
1if (typeof(this.owner.owned_objects) == LIST) 2this.owner.owned_objects = setadd(this.owner.owned_objects, this); 3endif 4if ((caller == this) || $perm_utils:controls(caller_perms(), this)) 5if (is_clear_property(this, "object_size")) 6"If this isn't clear, then we're being hacked."; 7this.object_size = {0, 0}; 8endif 9this.key = 0; 10else 11return E_PERM; 12endif
recycle
Referenced by
- #3:recycle line 34:
pass( - #6:recycle line 2:
pass( - #7:recycle line 7:
pass(
Source
1if ((caller == this) || $perm_utils:controls(caller_perms(), this)) 2try 3if ((typeof(this.owner.owned_objects) == LIST) && (!is_clear_property(this.owner, "owned_objects"))) 4this.owner.owned_objects = setremove(this.owner.owned_objects, this); 5$recycler.lost_souls = setadd($recycler.lost_souls, this); 6endif 7except (ANY) 8"Oy, doesn't have a .owned_objects??, or maybe .owner is $nothing"; 9"Should probably do something...like send mail somewhere."; 10endtry 11else 12return E_PERM; 13endif
set_name
Referenced by
- #6:set_name line 11:
pass( - #45:set_name line 6:
pass( - #45:set_name line 16:
pass(
Source
1"set_name(newname) attempts to change this.name to newname"; 2" => E_PERM if you don't own this or aren't its parent, or are a player trying to do an end-run around $player_db..."; 3if ((!caller_perms().wizard) && (is_player(this) || ((caller_perms() != this.owner) && (this != caller)))) 4return E_PERM; 5else 6return (typeof(e = `this.name = args[1] ! ANY') != ERR) || e; 7endif
title
Referenced by
- #1:titlec line 1:
this:title - #3:look_self line 2:
this:title - #3:examine_key line 6:
this:title - #7:examine_key line 6:
this:title
Source
1return this.name;
titlec
Referenced by
- #9:mailme line 15:
this:titlec - #107:g*et line 5:
this:titlec - #107:g*et line 6:
this:titlec - #107:capture line 6:
this:titlec - #107:capture line 7:
this:titlec - #107:release line 6:
this:titlec - #107:release line 21:
this:titlec - #107:_leash line 4:
this:titlec - #107:_leash line 6:
this:titlec - #107:_leash line 8:
this:titlec - #107:_leash line 12:
this:titlec - #107:_leash line 13:
this:titlec - #107:rot_away line 5:
this:titlec - #107:wander line 12:
this:titlec - #107:@start line 7:
this:titlec - #107:@start line 12:
this:titlec - #107:@start line 18:
this:titlec - #107:@start line 34:
this:titlec - #107:@start line 36:
this:titlec - #107:_loot line 9:
this:titlec - #107:_loot line 10:
this:titlec - #109:do_shoot line 4:
this:titlec - #117:remove line 4:
this:titlec - #120:do_heal line 6:
this:titlec - #127:turn line 4:
this:titlec - #127:turn line 11:
this:titlec - #127:_ignite line 10:
this:titlec - #127:_ignite line 12:
this:titlec - #127:light line 3:
this:titlec - #127:light line 10:
this:titlec - #136:rot_away line 7:
this:titlec - #140:@listen line 4:
this:titlec - #140:@listen line 6:
this:titlec - #140:@listen line 10:
this:titlec - #140:@listen line 12:
this:titlec - #140:@clear line 4:
this:titlec - #140:@clear line 6:
this:titlec - #140:@clear line 10:
this:titlec - #140:@clear line 12:
this:titlec
Source
1return $object_utils:has_property(this, "namec") ? this.namec | $string_utils:capitalize(this:title());
set_aliases
Referenced by
- #6:set_aliases line 14:
pass( - #45:set_aliases line 7:
pass( - #45:set_aliases line 21:
pass(
Source
1"set_aliases(alias_list) attempts to change this.aliases to alias_list"; 2" => E_PERM if you don't own this or aren't its parent"; 3" => E_TYPE if alias_list is not a list"; 4" => E_INVARG if any element of alias_list is not a string"; 5" => 1 if aliases are set exactly as expected (default)"; 6" => 0 if aliases were set differently than expected"; 7" (children with custom :set_aliases should be aware of this)"; 8if (!($perm_utils:controls(caller_perms(), this) || (this == caller))) 9return E_PERM; 10elseif (typeof(aliases = args[1]) != LIST) 11return E_TYPE; 12else 13for s in (aliases) 14if (typeof(s) != STR) 15return E_INVARG; 16endif 17endfor 18this.aliases = aliases; 19return 1; 20endif
match
Referenced by
- #58:#* line 18:
player:match - #91:dr*op line 25:
this:match - #134:sell line 20:
player:match - #135:view line 3:
player:match
Source
1c = this:contents(); 2return $string_utils:match(args[1], c, "name", c, "aliases");
match_object
Referenced by
- #3:l*ook line 11:
this:match_object - #3:l*ook line 18:
this:match_object - #3:@add-exit line 6:
this:match_object - #3:@add-entrance line 6:
this:match_object - #3:@remove-exit line 6:
this:match_object - #3:@remove-entrance line 9:
this:match_object - #8:re*move line 7:
this:match_object - #104:l*ook line 14:
this:match_object - #104:l*ook line 37:
this:match_object
Source
1":match_object(string [,who])"; 2args[2..1] = {this}; 3return $string_utils:match_object(@args);
set_description
Referenced by
- #31:do_reset line 10:
this:set_description
Source
1"set_description(newdesc) attempts to change this.description to newdesc"; 2" => E_PERM if you don't own this or aren't its parent"; 3if (!($perm_utils:controls(caller_perms(), this) || (this == caller))) 4return E_PERM; 5elseif (typeof(desc = args[1]) in {LIST, STR}) 6this.description = desc; 7return 1; 8else 9return E_TYPE; 10endif
description
Referenced by
- #1:look_self line 1:
this:description - #1:examine_desc line 4:
this:description - #45:look_self line 31:
this:description - #72:help_msg line 2:
this:description - #74:look_self line 2:
this:description - #75:help_msg line 1:
this:description - #81:help_msg line 1:
this:description - #104:look_self line 11:
this:description - #107:look_self line 1:
this:description - #119:description line 11:
pass( - #141:description line 1:
pass(
Source
1if ((!`"html" in player.ansi_options ! E_PROPNF => 0') || (!this.html)) 2return this.description; 3else 4html = $ansi_utils.html_start ? ($ansi_utils.html_start + this.html) + $ansi_utils.html_end | this.html; 5if (typeof(desc = this.description) == STR) 6return html + desc; 7elseif (length(desc) > 1) 8return {html + desc[1], @desc[2..$]}; 9else 10return html + desc[1]; 11endif 12endif
look_self
Referenced by
- #3:look_self line 4:
pass( - #6:look_self line 2:
pass( - #7:look_self line 2:
pass( - #8:look_self line 1:
pass( - #9:r*ead line 4:
this:look_self - #63:look_self line 11:
pass( - #120:look_self line 1:
pass(
Source
1desc = this:description(); 2if (desc) 3player:tell_lines(desc); 4else 5player:tell("You see nothing special."); 6endif
notify
Referenced by
- #1:tell line 1:
this:notify - #108:notify line 6:
pass(
Source
1if (is_player(this)) 2notify(this, args[1]); 3endif
tell
Referenced by
- #1:tell_lines line 4:
this:tell - #1:tell_lines line 7:
this:tell - #1:tell_lines_suspended line 4:
this:tell - #1:tell_lines_suspended line 8:
this:tell - #6:tell line 13:
pass( - #107:tell line 18:
pass( - #137:tell line 6:
pass( - #138:tell line 4:
pass( - #140:tell line 2:
pass(
Source
1this:notify(tostr(@args));
tell_lines
Referenced by
- #102:command-list line 1:
this:tell_lines
Source
1lines = args[1]; 2if (typeof(lines) == LIST) 3for line in (lines) 4this:tell(line); 5endfor 6else 7this:tell(lines); 8endif
accept
Referenced by
none
Source
1set_task_perms(caller_perms()); 2return this:acceptable(@args);
moveto
Referenced by
- #0:moveto line 2:
pass( - #3:moveto line 2:
pass( - #5:moveto line 4:
pass( - #6:moveto line 6:
pass( - #7:moveto line 2:
pass( - #45:moveto line 2:
pass( - #102:wield line 10:
this:moveto - #107:_leash line 5:
this:moveto - #107:wander line 40:
this:moveto - #107:wander line 42:
this:moveto - #107:birth line 14:
this:moveto - #107:birth line 16:
this:moveto - #162:init_for_core line 1:
this:moveto
Source
1set_task_perms(this.owner); 2return `move(this, args[1]) ! ANY';
eject eject_nice eject_basic
Referenced by
Source
1"eject(victim) --- usable by the owner of this to remove victim from this.contents. victim goes to its home if different from here, or $nothing or $player_start according as victim is a player."; 2"eject_basic(victim) --- victim goes to $nothing or $player_start according as victim is a player; victim:moveto is not called."; 3what = args[1]; 4nice = verb != "eject_basic"; 5perms = caller_perms(); 6if ((!perms.wizard) && (perms != this.owner)) 7return E_PERM; 8elseif ((!(what in this.contents)) || what.wizard) 9return 0; 10endif 11if ((((nice && $object_utils:has_property(what, "home")) && (typeof(where = what.home) == OBJ)) && (where != this)) && (is_player(what) ? `where:accept_for_abode(what) ! ANY' | `where:acceptable(what) ! ANY')) 12"where = what.home"; 13else 14where = is_player(what) ? $player_start | $nothing; 15endif 16if (nice) 17fork (0) 18"...Some objects like to know they've been moved..."; 19"... this is the best we can do. Remember :moveto() may be broken."; 20`what:moveto(where) ! ANY => 0'; 21endfork 22endif 23return `move(what, where) ! ANY => 1';
is_unlocked_for
Referenced by
- #3:acceptable line 2:
this:is_unlocked_for - #5:moveto line 3:
this:is_unlocked_for - #7:move line 3:
this:is_unlocked_for - #109:moveto line 2:
this:is_unlocked_for
Source
1return (this.key == 0) || $lock_utils:eval_key(this.key, args[1]);
huh
Referenced by
none
Source
1set_task_perms((caller_perms() != #-1) ? caller_perms() | player); 2$command_utils:do_huh(verb, args);
set_message
Referenced by
none
Source
1":set_message(msg_name,new_value)"; 2"Does the actual dirty work of @<msg_name> object is <new_value>"; 3"changing the raw value of the message msg_name to be new_value."; 4"Both msg_name and new_value should be strings, though their interpretation is up to the object itself."; 5" => error value (use E_PROPNF if msg_name isn't recognized)"; 6" => string error message if something else goes wrong."; 7" => 1 (true non-string) if the message is successfully set"; 8" => 0 (false non-error) if the message is successfully `cleared'"; 9if (!((caller == this) || $perm_utils:controls(caller_perms(), this))) 10return E_PERM; 11else 12return `this.(args[1] + "_msg") = args[2] ! ANY' && 1; 13endif
do_examine
Referenced by
none
Source
1"do_examine(examiner)"; 2"the guts of examine"; 3"call a series of verbs and report their return values to the player"; 4who = args[1]; 5"if (caller == this || caller == who)"; 6if (caller == who) 7"set_task_perms();"; 8who:notify_lines(this:examine_names(who) || {}); 9"this:examine_names(who);"; 10who:notify_lines(this:examine_owner(who) || {}); 11"this:examine_owner(who);"; 12who:notify_lines(this:examine_desc(who) || {}); 13"this:examine_desc(who);"; 14who:notify_lines(this:examine_key(who) || {}); 15"this:examine_key(who);"; 16who:notify_lines(this:examine_contents(who) || {}); 17who:notify_lines(this:examine_verbs(who) || {}); 18else 19return E_PERM; 20endif
examine_key
Referenced by
- #1:do_examine line 14:
this:examine_key
Source
1"examine_key(examiner)"; 2"return a list of strings to be told to the player, indicating what the key on this type of object means, and what this object's key is set to."; 3"the default will only tell the key to a wizard or this object's owner."; 4who = args[1]; 5if (((caller == this) && $perm_utils:controls(who, this)) && (this.key != 0)) 6return {tostr("Key: ", $lock_utils:unparse_key(this.key))}; 7endif
examine_names
Referenced by
- #1:do_examine line 8:
this:examine_names
Source
1"examine_names(examiner)"; 2"Return a list of strings to be told to the player, indicating the name and aliases (and, by default, the object number) of this."; 3return {tostr(this.name, " (aka ", $string_utils:english_list({tostr(this), @this.aliases}), ")")};
examine_desc
Referenced by
- #1:do_examine line 12:
this:examine_desc
Source
1"examine_desc(who) - return the description, probably"; 2"who is the player examining"; 3"this should probably go away"; 4desc = this:description(); 5if (desc) 6if (typeof(desc) != LIST) 7desc = {desc}; 8endif 9return desc; 10else 11return {"(No description set.)"}; 12endif
examine_contents
Referenced by
- #1:do_examine line 16:
this:examine_contents
Source
1"examine_contents(examiner)"; 2"by default, calls :tell_contents."; 3"Should probably go away."; 4who = args[1]; 5if (caller == this) 6try 7this:tell_contents(this.contents, this.ctype); 8except (ANY) 9"Just ignore it. We shouldn't care about the contents unless the object wants to tell us about them via :tell_contents ($container, $room)"; 10endtry 11endif
examine_verbs
Referenced by
- #1:do_examine line 17:
this:examine_verbs - #123:help_msg line 4:
this:examine_verbs
Source
1"Return a list of strings to be told to the player. Standard format says \"Obvious verbs:\" followed by a series of lines explaining syntax for each usable verb."; 2if (caller != this) 3return E_PERM; 4endif 5who = args[1]; 6name = dobjstr; 7vrbs = {}; 8commands_ok = `this:examine_commands_ok(who) ! ANY => 0'; 9dull_classes = {$root_class, $room, $player, $prog, $builder}; 10what = this; 11hidden_verbs = this:hidden_verbs(who); 12while (what != $nothing) 13(ticks_left() < 4000) && suspend(0); 14if (!(what in dull_classes)) 15for i in [1..length(verbs(what))] 16(ticks_left() < 4000) && suspend(0); 17info = verb_info(what, i); 18syntax = verb_args(what, i); 19if (this:examine_verb_ok(what, i, info, syntax, commands_ok, hidden_verbs)) 20{dobj, prep, iobj} = syntax; 21if (syntax == {"any", "any", "any"}) 22prep = "none"; 23endif 24if (prep != "none") 25for x in ($string_utils:explode(prep, "/")) 26if (length(x) <= length(prep)) 27prep = x; 28endif 29endfor 30endif 31"This is the correct way to handle verbs ending in *"; 32vname = info[3]; 33while (j = index(vname, "* ")) 34vname = tostr(vname[1..j - 1], "<anything>", vname[j + 1..$]); 35endwhile 36if (vname[$] == "*") 37vname = vname[1..$ - 1] + "<anything>"; 38endif 39vname = strsub(vname, " ", "/"); 40rest = ""; 41if (prep != "none") 42rest = " " + ((prep == "any") ? "<anything>" | prep); 43if (iobj != "none") 44rest = tostr(rest, " ", (iobj == "this") ? name | "<anything>"); 45endif 46endif 47if (dobj != "none") 48rest = tostr(" ", (dobj == "this") ? name | "<anything>", rest); 49endif 50vrbs = setadd(vrbs, (" " + vname) + rest); 51endif 52endfor 53endif 54what = parent(what); 55endwhile 56if ($code_utils:verb_or_property(this, "help_msg")) 57vrbs = {@vrbs, tostr(" help ", dobjstr)}; 58endif 59return vrbs && {"Obvious verbs:", @vrbs};
get_message
Referenced by
none
Source
1":get_message(msg_name)"; 2"Use this to obtain a given user-customizable message's raw value, i.e., the value prior to any pronoun-substitution or incorporation of any variant elements --- the value one needs to supply to :set_message()."; 3"=> error (use E_PROPNF if msg_name isn't recognized)"; 4"=> string or list-of-strings raw value"; 5"=> {2, @(list of {msg_name_n,rawvalue_n} pairs to give to :set_message)}"; 6"=> {1, other kind of raw value}"; 7"=> {E_NONE, error message} "; 8if (!((caller == this) || $perm_utils:controls(caller_perms(), this))) 9return E_PERM; 10elseif (((t = typeof(msg = `this.(args[1] + "_msg") ! ANY')) in {ERR, STR}) || (((t == LIST) && msg) && (typeof(msg[1]) == STR))) 11return msg; 12else 13return {1, msg}; 14endif
room_announce*_all_but
Referenced by
none
Source
1try 2this.location:(verb)(@args); 3except (ANY) 4endtry
init_for_core
Referenced by
- #0:init_for_core line 2:
pass( - #10:init_for_core line 2:
pass( - #12:init_for_core line 2:
pass( - #16:init_for_core line 2:
pass( - #21:init_for_core line 2:
pass( - #24:init_for_core line 2:
pass( - #25:init_for_core line 2:
pass( - #28:init_for_core line 4:
pass( - #39:init_for_core line 2:
pass( - #45:init_for_core line 2:
pass( - #46:init_for_core line 5:
pass( - #50:init_for_core line 2:
pass( - #51:init_for_core line 2:
pass( - #72:init_for_core line 2:
pass( - #75:init_for_core line 3:
pass( - #78:init_for_core line 2:
pass( - #82:init_for_core line 4:
pass( - #87:init_for_core line 4:
pass( - #102:init_for_core line 6:
pass( - #103:init_for_core line 4:
pass( - #105:init_for_core line 5:
pass( - #118:init_for_core line 3:
pass(
Source
1if (caller_perms().wizard) 2vnum = 1; 3while (vnum <= length(verbs(this))) 4(ticks_left() < 4000) && suspend(0); 5info = verb_info(this, vnum)[3]; 6if (index(info, "(old)")) 7delete_verb(this, vnum); 8else 9vnum = vnum + 1; 10endif 11endwhile 12if (this == $root_class) 13`set_verb_code(this, "initialize", verb_code(this, "initialize(core)")) ! E_VERBNF => ""'; 14`delete_verb(this, "initialize(core)") ! E_VERBNF => ""'; 15endif 16endif
contents
Referenced by
- #1:match line 1:
this:contents - #3:say line 5:
this:contents - #3:announce line 1:
this:contents - #3:look_self line 6:
this:contents - #3:announce_all line 1:
this:contents - #3:announce_all_but line 3:
this:contents - #3:match line 1:
this:contents - #6:i line 1:
player:contents - #6:look_self line 11:
this:contents - #8:p*ut line 29:
this:contents - #8:re*move line 10:
this:contents - #8:tell_contents line 3:
this:contents - #90:find_verbs_on line 2:
this:contents - #90:find_properties_on line 2:
this:contents - #91:follow line 55:
player:contents - #91:capture line 2:
player:contents - #91:capture line 4:
player:contents - #91:_leash line 18:
this:contents - #91:release line 10:
this:contents - #91:look_self line 13:
this:contents - #91:armor line 2:
this:contents - #91:reached_limit line 7:
this:contents - #91:dr*op line 3:
this:contents - #91:dr*op line 10:
this:contents - #91:gi*ve line 5:
this:contents - #91:gi*ve line 12:
this:contents - #91:gi*ve line 34:
this:contents - #107:g*et line 2:
player:contents - #107:capture line 1:
player:contents - #107:capture line 3:
player:contents - #107:release line 10:
this:contents - #107:armor line 2:
this:contents - #107:reached_limit line 1:
this:contents - #116:look_self line 21:
this:contents - #117:don line 2:
player:contents - #134:tell line 12:
this:contents - #134:unstock line 5:
this:contents - #134:sell line 9:
player:contents - #134:sell_product line 50:
this:contents - #134:items line 1:
this:contents - #134:_clean_inv line 3:
this:contents - #134:_clean_inv line 13:
this:contents
Source
1"Returns a list of the objects that are apparently inside this one. Don't confuse this with .contents, which is a property kept consistent with .location by the server. This verb should be used in `VR' situations, for instance when looking in a room, and does not necessarily have anything to do with the value of .contents (although the default implementation does). `Non-VR' commands (like @contents) should look directly at .contents."; 2return this.contents;
examine_verb_ok
Referenced by
- #1:examine_verbs line 19:
this:examine_verb_ok
Source
1"examine_verb_ok(loc, index, info, syntax, commands_ok, hidden_verbs)"; 2"loc is the object that defines the verb; index is which verb on the object; info is verb_info; syntax is verb_args; commands_ok is determined by this:commands_ok, probably, but passed in so we don't have to calculate it for each verb."; 3"hidden_verbs is passed in for the same reasons. It should be a list, each of whose entries is either a string with the full verb name to be hidden (e.g., \"d*rop th*row\") or a list of the form {verb location, full verb name, args}."; 4if ((caller == this) || $perm_utils:controls(caller_perms(), this)) 5{loc, index, info, syntax, commands_ok, hidden_verbs} = args; 6vname = info[3]; 7return (((((syntax[2..3] != {"none", "this"}) && (!index(vname, "("))) && (commands_ok || ("this" in syntax))) && `verb_code(loc, index) ! ANY') && (!(vname in hidden_verbs))) && (!({loc, vname, syntax} in hidden_verbs)); 8else 9return E_PERM; 10endif
is_listening
Referenced by
none
Source
1"return 1 if the object can hear a :tell, or cares. Useful for active objects that want to stop when nothing is listening."; 2return 0;
hidden_verbs
Referenced by
- #1:examine_verbs line 11:
this:hidden_verbs - #74:hidden_verbs line 3:
pass(
Source
1"hidden_verbs(who)"; 2"returns a list of verbs on this that should be hidden from examine"; 3"the player who's examining is passed in, so objects can hide verbs from specific players"; 4"verbs are returned as {location, full_verb_name, args} or just full_verb_name. full_verb name is what shows up in verb_info(object, verb)[2], for example \"d*op th*row\"."; 5if ((caller == this) || $perm_utils:controls(caller_perms(), this)) 6hidden = {}; 7what = this; 8while (what != $nothing) 9for i in [1..length(verbs(what))] 10info = verb_info(what, i); 11if (!index(info[2], "r")) 12hidden = setadd(hidden, {what, info[3], verb_args(what, i)}); 13endif 14endfor 15what = parent(what); 16endwhile 17return hidden; 18else 19return E_PERM; 20endif
examine_owner
Referenced by
- #1:do_examine line 10:
this:examine_owner
Source
1"examine_owner(examiner)"; 2"Return a list of strings to be told to the player, indicating who owns this."; 3return {tostr("Owned by ", this.owner.name, ".")};
announce*_all_but
Referenced by
none
Source
1return;
tell_lines_suspended
Referenced by
- #4:@measure line 113:
player:tell_lines_suspended - #9:r*ead line 7:
player:tell_lines_suspended - #58:@core line 44:
player:tell_lines_suspended - #123:r*ead line 14:
player:tell_lines_suspended
Source
1lines = args[1]; 2if (typeof(lines) == LIST) 3for line in (lines) 4this:tell(line); 5(ticks_left() < 4000) && suspend(0); 6endfor 7else 8this:tell(lines); 9endif
acceptable
Referenced by
- #1:accept line 2:
this:acceptable
Source
1return 0; 2"intended as a 'quiet' way to determine if :accept will succeed. Currently, some objects have a noisy :accept verb since it is the only thing that a builtin move() call is guaranteed to call."; 3"if you want to tell, before trying, whether :accept will fail, use :acceptable instead. Normally, they'll do the same thing.";
help_msg
Referenced by
- #79:help_msg line 1:
pass(
Source
1return `this.help_msg ! E_PROPNF => 0';