object utilities #52
Aliases: object utilities
30 verbs · 5 properties · 0 children
Verbs
Properties
| Property | Definer | Flags | Owner | Value |
|---|---|---|---|---|
help_msg | #79 | rc | #2 | list of 45{"These routines are useful for finding out information about individual objects.", "", "Examining everything an object has defined on it:", " all_verbs (object) => like it says", " all_properties (object) => likewise", " findable_properties(object) => tests to see if caller can \"find\" them", " owned_properties (object[, owner]) => tests for ownership", "", "Investigating inheritance:", " ancestors(object[,object...]) => all ancestors", " descendants (object) => all descendants", " ordered_descendants(object) => descendants, in a different order", " leaves (object) => descendants with no children", " branches (object) => descendants with children ", " isa (object,class) => true iff object is a descendant of class (or ==)", " property_conflicts (object,newparent) => can object chparent to newparent?", " isoneof (object,list) => true if object :isa class in list of parents", "", "Considering containment:", " contains (obj1, obj2) => Does obj1 contain obj2 (nested)?", " all_contents (object) => return all the (nested) contents of object", " locations (object) => list of location hierarchy above object", "", "Verifying verbs and properties:", " has_property(object,pname) => false/true according as object.(pname) exists", " has_readable_property(object,pname) => false/true if prop exists and is +r", " defines_property(object,pname) => does object *define* this property", " has_verb (object,vname) => false/{#obj} according as object:(vname) exists", " has_callable_verb => same, but verb must be callable from a program", " defines_verb(object,vname) => does this object *define* this verb", " match_verb (object,vname) => false/{location, newvname}", " (identify location and usable name of verb)", " accessible_verbs(object) => a list of verb names (or E_PERM) regardless of ", " readability of object", "", "Player checking:", " connected (object) => true if object is a player and is connected", "", "Suspending:", " Many of the above verbs have ..._suspended versions to assist with very large object hierarchies. The following exist:", " descendants_suspended ", " branches_suspended ", " leaves_suspended ", " all_properties_suspended ", " descendants_with_property_suspended"} |
key | #1 | c | #2 | <clear> |
aliases | #1 | rc | #2 | {"object utilities"} |
description | #1 | rc | #2 | {"This is the object utilities utility package. See `help $object_utils' for more details."} |
object_size | #1 | r | #36 | {21064, 1539462952} |
Ancestry
Ancestors (nearest first): #79 Generic Utilities Package → #1 Root Class
Children: none
Call graph
Source
has_property
Referenced by
- #1:titlec line 1:
$object_utils:has_property - #1:eject line 11:
$object_utils:has_property - #4:@newmess*age line 21:
$object_utils:has_property - #4:@set*prop line 32:
$object_utils:has_property - #4:@measure line 16:
$object_utils:has_property - #4:@measure line 49:
$object_utils:has_property - #6:i line 11:
$object_utils:has_property - #6:i line 17:
$object_utils:has_property - #6:i line 23:
$object_utils:has_property - #6:set_aliases line 19:
$object_utils:has_property - #6:@addalias*# line 98:
$object_utils:has_property - #6:@addalias*# line 99:
$object_utils:has_property - #6:@version line 1:
$object_utils:has_property - #10:co*nnect line 102:
$object_utils:has_property - #16:suspicious_address line 35:
$object_utils:has_property - #16:suspicious_userid line 3:
$object_utils:has_property - #16:suspicious_userid line 3:
$object_utils:has_property - #20:literal_object line 15:
$object_utils:has_property - #20:_cap_property line 23:
$object_utils:has_property - #21:object_audit_string line 47:
$object_utils:has_property - #21:object_audit_string line 47:
$object_utils:has_property - #21:object_audit_string line 74:
$object_utils:has_property - #21:do_audit line 24:
$object_utils:has_property - #21:do_audit line 36:
$object_utils:has_property - #24:unset_player line 17:
$object_utils:has_property - #24:send_new_player_mail line 9:
$object_utils:has_property - #30:find_topics line 5:
$object_utils:has_property - #30:find_topics line 6:
$object_utils:has_property - #30:find_topics line 9:
$object_utils:has_property - #30:get_topic line 3:
$object_utils:has_property - #30:objectdoc line 4:
$object_utils:has_property - #31:do_reset line 6:
$object_utils:has_property - #32:add_code line 10:
$object_utils:has_property - #32:@ansi-setup line 16:
$object_utils:has_property - #41:add line 9:
$object_utils:has_property - #48:note_match_failed line 10:
$object_utils:has_property - #50:set_stateprops line 11:
$object_utils:has_property - #50:set_stateprops line 23:
$object_utils:has_property - #51:match_nth line 14:
$object_utils:has_property - #52:defines_property line 5:
this:has_property - #52:defines_property line 7:
this:has_property - #52:defines_property line 7:
this:has_property - #53:eval_key_new line 19:
$object_utils:has_property - #53:eval_key_new line 23:
$object_utils:has_property - #57:@quota line 16:
$object_utils:has_property - #57:@make-guest line 11:
$object_utils:has_property - #58:@prop*erty line 54:
$object_utils:has_property - #58:@d*isplay line 130:
$object_utils:has_property - #58:@check-p*roperty line 10:
$object_utils:has_property - #58:@setl*earn line 14:
$object_utils:has_property - #58:@seek*nowledge line 16:
$object_utils:has_property - #58:@monscr line 8:
$object_utils:has_property - #58:%* line 3:
$object_utils:has_property - #60:dump_topic line 1:
$object_utils:has_property - #68:set line 29:
$object_utils:has_property - #68:set line 35:
$object_utils:has_property - #68:parse line 53:
$object_utils:has_property - #68:show line 16:
$object_utils:has_property - #68:show line 21:
$object_utils:has_property - #71:replace line 49:
$object_utils:has_property - #80:creation_permitted line 7:
$object_utils:has_property - #80:all_characters line 4:
$object_utils:has_property - #80:charge_quota line 6:
$object_utils:has_property - #80:reimburse_quota line 9:
$object_utils:has_property - #80:object_bytes line 4:
$object_utils:has_property - #80:object_bytes line 8:
$object_utils:has_property - #80:object_bytes line 10:
$object_utils:has_property - #80:summarize_one_user line 27:
$object_utils:has_property - #80:measurement_task_body line 31:
$object_utils:has_property - #80:measurement_task_body line 41:
$object_utils:has_property - #82:adjust_quota_for_programmer line 6:
$object_utils:has_property - #90:teleport line 27:
$object_utils:has_property - #90:find_property line 6:
$object_utils:has_property - #90:property_inherited_from line 3:
$object_utils:has_property - #90:property_inherited_from line 9:
$object_utils:has_property - #90:player_to_refusal_origin line 3:
$object_utils:has_property - #91:dump_goodies line 21:
$object_utils:has_property - #91:tell_contents line 11:
$object_utils:has_property - #91:dr*op line 12:
$object_utils:has_property - #91:dr*op line 14:
$object_utils:has_property - #91:dr*op line 26:
$object_utils:has_property - #91:dr*op line 26:
$object_utils:has_property - #91:dr*op line 28:
$object_utils:has_property - #91:dr*op line 44:
$object_utils:has_property - #91:gi*ve line 14:
$object_utils:has_property - #91:gi*ve line 36:
$object_utils:has_property - #91:gi*ve line 36:
$object_utils:has_property - #91:transfer_ammo line 6:
$object_utils:has_property - #91:_k*ill line 19:
$object_utils:has_property - #91:_heal_spell line 14:
$object_utils:has_property - #91:_knowledge_spell line 15:
$object_utils:has_property - #91:_enchant_spell line 15:
$object_utils:has_property - #91:_enchant_spell line 21:
$object_utils:has_property - #91:_enchant_spell line 31:
$object_utils:has_property - #91:_enchant_spell line 40:
$object_utils:has_property - #91:_sleep_spell line 25:
$object_utils:has_property - #91:_sleep_spell line 31:
$object_utils:has_property - #91:_sleep_spell line 31:
$object_utils:has_property - #91:_power_spell line 14:
$object_utils:has_property - #91:_speed_spell line 14:
$object_utils:has_property - #91:_fear_spell line 23:
$object_utils:has_property - #91:_fear_spell line 29:
$object_utils:has_property - #91:_fear_spell line 29:
$object_utils:has_property - #91:_missile_spell line 25:
$object_utils:has_property - #91:_missile_spell line 31:
$object_utils:has_property - #91:_pacify_spell line 19:
$object_utils:has_property - #91:_pacify_spell line 29:
$object_utils:has_property - #91:_death_spell line 23:
$object_utils:has_property - #91:_death_spell line 29:
$object_utils:has_property - #91:_death_spell line 29:
$object_utils:has_property - #95:@ansi-title line 12:
$object_utils:has_property - #98:collect_orphans line 10:
$object_utils:has_property - #98:collect_orphans line 12:
$object_utils:has_property - #98:reset_used_spells line 2:
$object_utils:has_property - #104:@fakes line 1:
$object_utils:has_property - #104:@fakes line 6:
$object_utils:has_property - #104:do_attack line 53:
$object_utils:has_property - #104:stat_boost line 12:
$object_utils:has_property - #104:look_self line 59:
$object_utils:has_property - #104:look_self line 63:
$object_utils:has_property - #104:look_self line 67:
$object_utils:has_property - #107:tell_contents line 11:
$object_utils:has_property - #107:armor line 3:
$object_utils:has_property - #107:dump_goodies line 17:
$object_utils:has_property - #109:d*rop line 1:
$object_utils:has_property - #109:fire line 5:
$object_utils:has_property - #110:ca*st line 14:
$object_utils:has_property - #111:ca*st line 14:
$object_utils:has_property - #112:ca*st line 14:
$object_utils:has_property - #113:combine line 12:
$object_utils:has_property - #113:combine line 14:
$object_utils:has_property - #115:g*et line 1:
$object_utils:has_property - #116:wander line 8:
$object_utils:has_property - #118:add_virtual_exit line 10:
$object_utils:has_property - #118:add_virtual_exit line 12:
$object_utils:has_property - #122:ca*st line 15:
$object_utils:has_property - #134:sell_product line 24:
$object_utils:has_property - #135:reg*ister line 9:
$object_utils:has_property - #135:reg*ister line 11:
$object_utils:has_property - #136:ca*st line 15:
$object_utils:has_property - #145:ca*st line 15:
$object_utils:has_property - #147:ca*st line 15:
$object_utils:has_property - #147:ca*st line 21:
$object_utils:has_property - #147:ca*st line 34:
$object_utils:has_property - #147:ca*st line 46:
$object_utils:has_property - #148:ca*st line 15:
$object_utils:has_property - #148:ca*st line 21:
$object_utils:has_property - #148:ca*st line 37:
$object_utils:has_property - #148:ca*st line 52:
$object_utils:has_property - #149:ca*st line 15:
$object_utils:has_property - #149:ca*st line 21:
$object_utils:has_property - #149:ca*st line 30:
$object_utils:has_property - #149:ca*st line 38:
$object_utils:has_property - #150:ca*st line 25:
$object_utils:has_property - #150:ca*st line 31:
$object_utils:has_property - #150:ca*st line 31:
$object_utils:has_property - #151:ca*st line 25:
$object_utils:has_property - #151:ca*st line 31:
$object_utils:has_property - #151:ca*st line 31:
$object_utils:has_property - #152:ca*st line 25:
$object_utils:has_property - #152:ca*st line 31:
$object_utils:has_property - #152:ca*st line 31:
$object_utils:has_property - #153:ca*st line 23:
$object_utils:has_property - #153:ca*st line 29:
$object_utils:has_property - #153:ca*st line 29:
$object_utils:has_property - #154:ca*st line 23:
$object_utils:has_property - #154:ca*st line 29:
$object_utils:has_property - #154:ca*st line 29:
$object_utils:has_property - #155:ca*st line 23:
$object_utils:has_property - #155:ca*st line 29:
$object_utils:has_property - #155:ca*st line 29:
$object_utils:has_property - #156:ca*st line 25:
$object_utils:has_property - #156:ca*st line 31:
$object_utils:has_property - #157:ca*st line 25:
$object_utils:has_property - #157:ca*st line 31:
$object_utils:has_property - #158:ca*st line 25:
$object_utils:has_property - #158:ca*st line 31:
$object_utils:has_property - #162:ca*st line 23:
$object_utils:has_property - #162:ca*st line 29:
$object_utils:has_property - #162:ca*st line 29:
$object_utils:has_property - #164:ca*st line 23:
$object_utils:has_property - #164:ca*st line 29:
$object_utils:has_property - #164:ca*st line 29:
$object_utils:has_property - #165:ca*st line 23:
$object_utils:has_property - #165:ca*st line 29:
$object_utils:has_property - #165:ca*st line 29:
$object_utils:has_property - #166:ca*st line 14:
$object_utils:has_property - #167:ca*st line 14:
$object_utils:has_property - #168:ca*st line 14:
$object_utils:has_property - #169:ca*st line 14:
$object_utils:has_property - #170:ca*st line 14:
$object_utils:has_property - #171:ca*st line 14:
$object_utils:has_property - #172:ca*st line 15:
$object_utils:has_property - #172:ca*st line 25:
$object_utils:has_property - #173:ca*st line 15:
$object_utils:has_property - #173:ca*st line 25:
$object_utils:has_property - #174:ca*st line 15:
$object_utils:has_property - #174:ca*st line 25:
$object_utils:has_property
Source
1"Syntax: has_property(OBJ, STR) => INT 0|1"; 2""; 3"Does object have the specified property? Returns true if it is defined on the object or a parent."; 4{object, prop} = args; 5try 6object.(prop); 7return 1; 8except (E_PROPNF, E_INVIND) 9return 0; 10endtry
all_properties all_verbs
Referenced by
- #6:@mess*ages line 11:
$object_utils:all_properties - #24:set_owner line 12:
$object_utils:all_properties - #24:set_owner_new line 12:
$object_utils:all_properties - #30:find_topics line 36:
$object_utils:all_properties - #57:make-core-database line 60:
$object_utils:all_properties - #57:make-core-database line 108:
$object_utils:all_properties - #59:show_object line 41:
$object_utils:all_properties - #62:init_for_core line 17:
$object_utils:all_properties - #80:do_breakdown line 6:
$object_utils:all_properties
Source
1"Syntax: all_properties (OBJ what)"; 2" all_verbs (OBJ what)"; 3""; 4"Returns all properties or verbs defined on `what' and all of its ancestors. Uses wizperms to get properties or verbs if the caller of this verb owns what, otherwise, uses caller's perms."; 5what = args[1]; 6if (what.owner != caller_perms()) 7set_task_perms(caller_perms()); 8endif 9bif = (verb == "all_verbs") ? "verbs" | "properties"; 10res = `call_function(bif, what) ! E_PERM => {}'; 11while (valid(what = parent(what))) 12res = {@`call_function(bif, what) ! E_PERM => {}', @res}; 13endwhile 14return res;
has_verb
Referenced by
- #6:@sw*eep line 5:
$object_utils:has_verb - #6:@sw*eep line 6:
$object_utils:has_verb - #6:@sw*eep line 23:
$object_utils:has_verb - #6:@sw*eep line 29:
$object_utils:has_verb - #6:@set-note-string line 14:
$object_utils:has_verb - #18:get_topic line 7:
$object_utils:has_verb - #18:dump_topic line 6:
$object_utils:has_verb - #20:alt_pronoun_sub line 39:
$object_utils:has_verb - #20:a_or_an line 4:
$object_utils:has_verb - #30:verbdoc line 5:
$object_utils:has_verb - #30:objectdoc line 4:
$object_utils:has_verb - #32:add_code line 18:
$object_utils:has_verb - #32:@ansi-setup line 143:
$object_utils:has_verb - #45:expire_old_messages line 5:
$object_utils:has_verb - #46:mail_forward line 2:
$object_utils:has_verb - #50:invoke line 39:
$object_utils:has_verb - #51:match_verb line 3:
$object_utils:has_verb - #53:eval_key_new line 30:
$object_utils:has_verb - #53:eval_key_new line 34:
$object_utils:has_verb - #56:explain_syntax line 5:
$object_utils:has_verb - #58:@verb line 23:
$object_utils:has_verb - #58:@copy line 51:
$object_utils:has_verb - #58:@d*isplay line 95:
$object_utils:has_verb - #58:@d*isplay line 114:
$object_utils:has_verb - #59:show_verbdef line 3:
$object_utils:has_verb - #60:get_topic line 8:
$object_utils:has_verb - #71:replace line 48:
$object_utils:has_verb - #74:help_msg line 7:
$object_utils:has_verb - #80:measurement_task_body line 28:
$object_utils:has_verb - #90:find_verb line 6:
$object_utils:has_verb - #90:@ways line 12:
$object_utils:has_verb - #90:@refusals line 7:
$object_utils:has_verb - #91:g*et line 26:
$object_utils:has_verb - #91:dr*op line 11:
$object_utils:has_verb - #91:gi*ve line 13:
$object_utils:has_verb - #91:gi*ve line 24:
$object_utils:has_verb - #91:_heal_spell line 14:
$object_utils:has_verb - #104:huh line 13:
$object_utils:has_verb - #108:go_home line 1:
$object_utils:has_verb - #109:do_shoot line 18:
$object_utils:has_verb - #110:ca*st line 14:
$object_utils:has_verb - #111:ca*st line 14:
$object_utils:has_verb - #112:ca*st line 14:
$object_utils:has_verb - #135:reg*ister line 9:
$object_utils:has_verb
Source
1":has_verb(OBJ object, STR verbname)"; 2"Find out if an object has a verb matching the given verbname."; 3"Returns {location} if so, 0 if not, where location is the object or the ancestor on which the verb is actually defined."; 4{object, verbname} = args; 5while (valid(object)) 6try 7if (verb_info(object, verbname)) 8return {object}; 9endif 10except (E_VERBNF) 11object = parent(object); 12endtry 13endwhile 14return 0;
has_callable_verb
Referenced by
- #6:my_huh line 18:
$object_utils:has_callable_verb - #6:@sw*eep line 10:
$object_utils:has_callable_verb - #6:@sethome line 3:
$object_utils:has_callable_verb - #6:@eject line 28:
$object_utils:has_callable_verb - #6:@eject line 30:
$object_utils:has_callable_verb - #6:@eject line 32:
$object_utils:has_callable_verb - #6:set_home line 8:
$object_utils:has_callable_verb - #8:p*ut line 30:
$object_utils:has_callable_verb - #21:recreate line 25:
$object_utils:has_callable_verb - #21:recreate line 40:
$object_utils:has_callable_verb - #32:add_group line 13:
$object_utils:has_callable_verb - #32:@ansi-setup line 54:
$object_utils:has_callable_verb - #35:say_action line 19:
$object_utils:has_callable_verb - #39:available line 12:
$object_utils:has_callable_verb - #39:why_bad_name line 24:
$object_utils:has_callable_verb - #46:raw_send line 51:
$object_utils:has_callable_verb - #46:name line 4:
$object_utils:has_callable_verb - #46:rm_message_seq line 26:
$object_utils:has_callable_verb - #46:undo_rmm line 25:
$object_utils:has_callable_verb - #48:set_note_text line 9:
$object_utils:has_callable_verb - #48:note_match_failed line 15:
$object_utils:has_callable_verb - #48:note_match_failed line 15:
$object_utils:has_callable_verb - #57:mcd_2 line 82:
$object_utils:has_callable_verb - #58:@core line 28:
$object_utils:has_callable_verb - #59:set_property_value line 13:
$object_utils:has_callable_verb - #60:full_index line 3:
$object_utils:has_callable_verb - #63:request line 15:
$object_utils:has_callable_verb - #68:set line 23:
$object_utils:has_callable_verb - #68:parse line 51:
$object_utils:has_callable_verb - #68:show line 12:
$object_utils:has_callable_verb - #71:add_cleanup line 33:
$object_utils:has_callable_verb - #71:send_home line 13:
$object_utils:has_callable_verb - #90:@move line 10:
$object_utils:has_callable_verb - #91:dump_goodies line 16:
$object_utils:has_callable_verb - #91:say line 1:
$object_utils:has_callable_verb - #91:emote line 2:
$object_utils:has_callable_verb - #91:gi*ve line 48:
$object_utils:has_callable_verb - #95:say line 1:
$object_utils:has_callable_verb - #95:emote line 1:
$object_utils:has_callable_verb - #104:order line 4:
$object_utils:has_callable_verb - #104:sit line 3:
$object_utils:has_callable_verb - #104:push line 9:
$object_utils:has_callable_verb - #104:push line 11:
$object_utils:has_callable_verb - #104:hit line 10:
$object_utils:has_callable_verb - #104:look_self line 34:
$object_utils:has_callable_verb - #104:loot line 11:
$object_utils:has_callable_verb - #104:loot line 32:
$object_utils:has_callable_verb - #104:com*mand line 1:
$object_utils:has_callable_verb - #104:dig line 3:
$object_utils:has_callable_verb - #107:dump_goodies line 12:
$object_utils:has_callable_verb - #109:_unwield line 1:
$object_utils:has_callable_verb - #113:combine line 5:
$object_utils:has_callable_verb - #118:@vdig line 57:
$object_utils:has_callable_verb - #134:tell line 14:
$object_utils:has_callable_verb - #134:tell line 14:
$object_utils:has_callable_verb - #134:list line 22:
$object_utils:has_callable_verb - #134:stock line 2:
$object_utils:has_callable_verb - #134:sell line 9:
$object_utils:has_callable_verb - #134:sell line 10:
$object_utils:has_callable_verb - #134:sell line 19:
$object_utils:has_callable_verb - #134:sell_product line 12:
$object_utils:has_callable_verb - #134:sell_product line 14:
$object_utils:has_callable_verb - #134:sell_product line 23:
$object_utils:has_callable_verb - #134:sell_product line 31:
$object_utils:has_callable_verb - #134:items line 3:
$object_utils:has_callable_verb - #135:view line 3:
$object_utils:has_callable_verb - #135:view line 5:
$object_utils:has_callable_verb
Source
1"Usage: has_callable_verb(object, verb)"; 2"See if an object has a verb that can be called by another verb (i.e., that has its x permission bit set)."; 3"Return {location}, where location is the object that defines the verb, or 0 if the object doesn't have the verb."; 4{object, verbname} = args; 5while (valid(object)) 6if (`index(verb_info(object, verbname)[2], "x") ! E_VERBNF => 0' && verb_code(object, verbname)) 7"Don't need to catch E_VERBNF in verb_code(), since it will never get there with the 0 &&"; 8return {object}; 9endif 10object = parent(object); 11endwhile 12return 0;
match_verb
Referenced by
none
Source
1":match_verb(OBJ object, STR verb)"; 2"Find out if an object has a given verb, and some information about it."; 3"Returns {OBJ location, STR verb} if matched, 0 if not."; 4"Location is the object on which it is actually defined, verb is a name"; 5"for the verb which can subsequently be used in verb_info (i.e., no"; 6"asterisks)."; 7verbname = strsub(args[2], "*", ""); 8object = args[1]; 9while (E_VERBNF == (info = `verb_info(object, verbname) ! E_VERBNF, E_INVARG')) 10object = parent(object); 11endwhile 12return info ? {object, verbname} | 0;
isa
Referenced by
- #0:bf_chparent line 14:
$object_utils:isa - #0:bf_chparent line 16:
$object_utils:isa - #0:bf_chparent line 18:
$object_utils:isa - #0:bf_chparent line 18:
$object_utils:isa - #0:user_reconnected line 4:
$object_utils:isa - #0:user_reconnected line 11:
$object_utils:isa - #3:disfunc line 4:
$object_utils:isa - #4:@chparent line 6:
$object_utils:isa - #4:@chparent line 9:
$object_utils:isa - #6:edit_option line 2:
$object_utils:isa - #6:@registerme line 7:
$object_utils:isa - #10:co*nnect line 23:
$object_utils:isa - #10:co*nnect line 64:
$object_utils:isa - #10:record_connection line 14:
$object_utils:isa - #12:enter line 3:
$object_utils:isa - #14:restore_from line 17:
$object_utils:isa - #21:object_audit_string line 71:
$object_utils:isa - #24:set_programmer line 7:
$object_utils:isa - #24:set_programmer line 17:
$object_utils:isa - #24:set_player line 9:
$object_utils:isa - #24:set_player line 19:
$object_utils:isa - #24:set_owner line 21:
$object_utils:isa - #24:set_owner line 29:
$object_utils:isa - #24:initialize_owned line 8:
$object_utils:isa - #24:show_netwho_from_listing line 35:
$object_utils:isa - #24:set_owner_new line 21:
$object_utils:isa - #24:set_owner_new line 29:
$object_utils:isa - #24:boot_idlers line 26:
$object_utils:isa - #24:boot_idlers line 36:
$object_utils:isa - #24:newt_player line 25:
$object_utils:isa - #24:unset_programmer line 13:
$object_utils:isa - #25:load line 17:
$object_utils:isa - #32:update_player_codes line 5:
$object_utils:isa - #40:parse_mailread_cmd line 32:
$object_utils:isa - #40:@typo line 12:
$object_utils:isa - #40:@typo line 14:
$object_utils:isa - #40:@subscribe*-quick line 34:
$object_utils:isa - #40:@subscribe*-quick line 50:
$object_utils:isa - #40:mail_catch_up line 9:
$object_utils:isa - #40:@unsub*scribe line 28:
$object_utils:isa - #40:@unsub*scribe line 36:
$object_utils:isa - #40:@mail-all-new*-mail line 10:
$object_utils:isa - #40:@mail-all-new*-mail line 10:
$object_utils:isa - #40:@read-all-new*-mail line 15:
$object_utils:isa - #40:@read-all-new*-mail line 15:
$object_utils:isa - #45:is_usable_by line 5:
$object_utils:isa - #46:resolve_addr line 21:
$object_utils:isa - #46:acceptable line 3:
$object_utils:isa - #46:is_readable_by line 2:
$object_utils:isa - #47:not-to*: line 8:
$object_utils:isa - #47:parse_msg_headers line 13:
$object_utils:isa - #50:new_session line 3:
$object_utils:isa - #50:match_object line 4:
$object_utils:isa - #50:get_room line 8:
$object_utils:isa - #51:object_match_failed line 23:
$object_utils:isa - #53:eval_key line 11:
$object_utils:isa - #53:eval_key line 16:
$object_utils:isa - #57:@programmer line 17:
$object_utils:isa - #57:make-core-database line 36:
$object_utils:isa - #57:make-core-database line 36:
$object_utils:isa - #57:@toad line 40:
$object_utils:isa - #57:@untoad line 10:
$object_utils:isa - #57:@players line 41:
$object_utils:isa - #57:@make-guest line 11:
$object_utils:isa - #63:request line 13:
$object_utils:isa - #71:replace line 60:
$object_utils:isa - #71:add_cleanup line 8:
$object_utils:isa - #71:add_cleanup line 21:
$object_utils:isa - #71:add_cleanup line 24:
$object_utils:isa - #71:send_home line 8:
$object_utils:isa - #71:is_litter line 3:
$object_utils:isa - #71:is_litter line 3:
$object_utils:isa - #77:parse_dig_room line 18:
$object_utils:isa - #88:trivial_check line 10:
$object_utils:isa - #90:@join line 19:
$object_utils:isa - #90:internal_at line 20:
$object_utils:isa - #90:refuses_action line 12:
$object_utils:isa - #90:whois line 13:
$object_utils:isa - #90:whois line 23:
$object_utils:isa - #90:whois line 32:
$object_utils:isa - #91:follow line 30:
$object_utils:isa - #91:follow line 30:
$object_utils:isa - #91:_leash line 3:
$object_utils:isa - #91:_leash line 3:
$object_utils:isa - #91:_leash line 7:
$object_utils:isa - #91:_release line 4:
$object_utils:isa - #91:dump_goodies line 7:
$object_utils:isa - #91:transfer_ammo line 37:
$object_utils:isa - #91:@kids line 2:
$object_utils:isa - #91:@send line 35:
$object_utils:isa - #91:@send line 36:
$object_utils:isa - #91:@send line 39:
$object_utils:isa - #91:map line 6:
$object_utils:isa - #95:confunc line 8:
$object_utils:isa - #100:@gather line 8:
$object_utils:isa - #100:@retire*-fully line 10:
$object_utils:isa - #104:is_unlocked_for line 2:
$object_utils:isa - #104:valid_attack line 7:
$object_utils:isa - #104:hit line 6:
$object_utils:isa - #104:hit line 85:
$object_utils:isa - #104:queue_attack line 7:
$object_utils:isa - #104:disfunc line 4:
$object_utils:isa - #104:tell_contents line 28:
$object_utils:isa - #104:_hole line 1:
$object_utils:isa - #104:dig line 14:
$object_utils:isa - #107:_leash line 3:
$object_utils:isa - #107:_leash line 3:
$object_utils:isa - #107:_leash line 7:
$object_utils:isa - #107:wander line 18:
$object_utils:isa - #107:wander line 18:
$object_utils:isa - #107:wander line 20:
$object_utils:isa - #107:wander line 45:
$object_utils:isa - #109:do_shoot line 9:
$object_utils:isa - #116:@start line 2:
$object_utils:isa - #116:watch line 1:
$object_utils:isa - #116:wander line 6:
$object_utils:isa - #116:wander line 6:
$object_utils:isa - #116:wander line 29:
$object_utils:isa - #118:move line 9:
$object_utils:isa - #123:do_burn line 10:
$object_utils:isa - #127:_ignite line 11:
$object_utils:isa - #130:move line 9:
$object_utils:isa - #134:_clean_inv line 7:
$object_utils:isa - #134:_clean_inv line 7:
$object_utils:isa - #134:check_stocks line 7:
$object_utils:isa - #135:reg*ister line 14:
$object_utils:isa - #138:acceptable line 1:
$object_utils:isa - #138:group_booguns line 5:
$object_utils:isa - #138:group_booguns line 15:
$object_utils:isa - #143:cb line 14:
$object_utils:isa
Source
1":isa(x,y) == valid(x) && (y==x || y in :ancestors(x))"; 2{what, targ} = args; 3while (valid(what)) 4if (what == targ) 5return 1; 6endif 7what = parent(what); 8endwhile 9return 0;
ancestors
Referenced by
- #3:@add-exit line 10:
$object_utils:ancestors - #3:@add-exit line 29:
$object_utils:ancestors - #3:@add-entrance line 10:
$object_utils:ancestors - #4:@dig line 37:
$object_utils:ancestors - #4:@dig line 40:
$object_utils:ancestors - #4:@par*ents line 11:
$object_utils:ancestors - #10:? line 5:
$object_utils:ancestors - #10:parse_command line 14:
$object_utils:ancestors - #45:add_forward line 10:
$object_utils:ancestors - #46:touch line 9:
$object_utils:ancestors - #46:match line 8:
$object_utils:ancestors - #46:is_recipient line 1:
$object_utils:ancestors - #47:parse_msg_headers line 29:
$object_utils:ancestors - #58:@d*isplay line 56:
$object_utils:ancestors - #58:@d*isplay line 103:
$object_utils:ancestors - #58:@dump line 94:
$object_utils:ancestors - #58:@list*# line 69:
$object_utils:ancestors - #59:help_db_list line 4:
$object_utils:ancestors - #59:help_db_list line 6:
$object_utils:ancestors - #59:dump_properties line 32:
$object_utils:ancestors - #71:move_em line 11:
$object_utils:ancestors - #80:measurement_task_body line 59:
$object_utils:ancestors - #80:measurement_task_body line 67:
$object_utils:ancestors - #90:lookup_room line 19:
$object_utils:ancestors - #90:@ways line 7:
$object_utils:ancestors - #91:die line 8:
$object_utils:ancestors - #91:die line 11:
$object_utils:ancestors - #91:title line 18:
$object_utils:ancestors - #91:reached_limit line 2:
$object_utils:ancestors - #91:reached_limit line 8:
$object_utils:ancestors - #91:reached_limit line 10:
$object_utils:ancestors - #91:g*et line 27:
$object_utils:ancestors - #91:remember line 4:
$object_utils:ancestors - #91:remember line 20:
$object_utils:ancestors - #104:tell_exits line 5:
$object_utils:ancestors - #107:wander line 9:
$object_utils:ancestors - #107:die line 5:
$object_utils:ancestors - #107:die line 8:
$object_utils:ancestors - #116:die line 5:
$object_utils:ancestors - #116:die line 8:
$object_utils:ancestors - #116:l*ook line 5:
$object_utils:ancestors - #116:l*ook line 7:
$object_utils:ancestors - #116:go line 2:
$object_utils:ancestors - #118:@vdig line 40:
$object_utils:ancestors - #118:@vdig line 43:
$object_utils:ancestors - #119:@exset line 4:
$object_utils:ancestors - #121:announce_msg line 3:
$object_utils:ancestors - #134:sell_product line 40:
$object_utils:ancestors - #144:link line 4:
$object_utils:ancestors
Source
1"Usage: ancestors(object[, object...])"; 2"Return a list of all ancestors of the object(s) in args, with no duplicates."; 3"If called with a single object, the result will be in order ascending up the inheritance hierarchy. If called with multiple objects, it probably won't."; 4ret = {}; 5for o in (args) 6what = o; 7while (valid(what = parent(what))) 8ret = setadd(ret, what); 9endwhile 10endfor 11return ret;
ordered_descendants
Referenced by
none
Source
1r = {what = args[1]}; 2for k in (children(what)) 3if (children(k)) 4r = {@r, @this:(verb)(k)}; 5else 6r = {@r, k}; 7endif 8endfor 9return r;
contains
Referenced by
- #6:@move line 32:
$object_utils:contains - #53:eval_key line 7:
$object_utils:contains - #53:eval_key_new line 7:
$object_utils:contains - #90:teleport line 24:
$object_utils:contains
Source
1"$object_utils:contains(obj1, obj2) -- does obj1 contain obj2?"; 2""; 3"Return true iff obj2 is under obj1 in the containment hierarchy; that is, if obj1 is obj2's location, or its location's location, or ..."; 4{loc, what} = args; 5while (valid(what)) 6what = what.location; 7if (what == loc) 8return valid(loc); 9endif 10endwhile 11return 0;
all_contents
Referenced by
- #52:all_contents line 4:
this:all_contents - #53:eval_key_new line 22:
$object_utils:all_contents - #53:eval_key_new line 33:
$object_utils:all_contents
Source
1"all_contents(object)"; 2"Return a list of all objects contained (at some level) by object."; 3for y in (res = args[1].contents) 4y.contents && (res = {@res, @this:all_contents(y)}); 5endfor 6return res;
findable_properties
Referenced by
none
Source
1"findable_properties(object)"; 2"Return a list of properties on those members of object's ancestor list that are readable or are owned by the caller (or all properties if the caller is a wizard)."; 3what = args[1]; 4props = {}; 5who = caller_perms(); 6while (what != $nothing) 7if ((what.r || (who == what.owner)) || who.wizard) 8props = {@properties(what), @props}; 9endif 10what = parent(what); 11endwhile 12return props;
owned_properties
Referenced by
none
Source
1"owned_properties(what[, who])"; 2"Return a list of all properties on WHAT owned by WHO."; 3"Only wizardly verbs can specify WHO; mortal verbs can only search for properties owned by their own owners. For more information, talk to Gary_Severn."; 4what = anc = args[1]; 5who = ((c = caller_perms()).wizard && (length(args) > 1)) ? args[2] | c; 6props = {}; 7while (anc != $nothing) 8for k in (properties(anc)) 9if (property_info(what, k)[1] == who) 10props = listappend(props, k); 11endif 12endfor 13anc = parent(anc); 14endwhile 15return props;
property_conflicts
Referenced by
- #4:@check-chp*arent line 13:
$object_utils:property_conflicts
Source
1":property_conflicts(object,newparent)"; 2"Looks for propertyname conflicts that would keep chparent(object,newparent)"; 3" from working."; 4"Returns a list of elements of the form {<propname>, @<objectlist>}"; 5"where <objectlist> is list of descendents of object defining <propname>."; 6if (!valid(object = args[1])) 7return E_INVARG; 8elseif (!valid(newparent = args[2])) 9return (newparent == #-1) ? {} | E_INVARG; 10elseif (!($perm_utils:controls(caller_perms(), object) && (newparent.f || $perm_utils:controls(caller_perms(), newparent)))) 11"... if you couldn't chparent anyway, you don't need to know..."; 12return E_PERM; 13endif 14"... properties existing on newparent"; 15"... cannot be present on object or any descendent..."; 16props = conflicts = {}; 17for o in ({object, @$object_utils:descendents_suspended(object)}) 18for p in (properties(o)) 19if (`property_info(newparent, p) ! E_PROPNF => 0') 20if (i = p in props) 21conflicts[i] = {@conflicts[i], o}; 22else 23props = {@props, p}; 24conflicts = {@conflicts, {p, o}}; 25endif 26endif 27$command_utils:suspend_if_needed(0); 28endfor 29$command_utils:suspend_if_needed(0); 30endfor 31return conflicts;
descendants_with_property_suspended
Referenced by
- #52:descendants_with_property_suspended line 12:
this:descendants_with_property_suspended - #58:@check-p*roperty line 12:
$object_utils:descendants_with_property_suspended
Source
1":descendants_with_property_suspended(object,property)"; 2" => list of descendants of object on which property is defined."; 3"calls suspend(0) as needed"; 4{object, prop} = args; 5if ((caller == this) || (object.w || $perm_utils:controls(caller_perms(), object))) 6(ticks_left() < 4000) && suspend(0); 7if (`property_info(object, prop) ! E_PROPNF => 0') 8return {object}; 9endif 10r = {}; 11for c in (children(object)) 12r = {@r, @this:descendants_with_property_suspended(c, prop)}; 13endfor 14return r; 15else 16return E_PERM; 17endif
locations
Referenced by
- #4:@location*s line 9:
$object_utils:locations
Source
1"Usage: locations(object)"; 2"Return a listing of the location hierarchy above object."; 3ret = {}; 4what = args[1]; 5while (valid(what = what.location)) 6ret = {@ret, what}; 7endwhile 8return ret;
all_properties_suspended all_verbs_suspended
Referenced by
- #80:property_overhead_bytes line 1:
$object_utils:all_properties_suspended
Source
1"Syntax: all_properties_suspended (OBJ what)"; 2" all_verbs_suspended (OBJ what)"; 3""; 4"Returns all properties or verbs defined on `what' and all of its ancestors. Uses wizperms to get properties or verbs if the caller of this verb owns what, otherwise, uses caller's perms. Suspends as necessary"; 5what = args[1]; 6if (what.owner != caller_perms()) 7set_task_perms(caller_perms()); 8endif 9bif = (verb == "all_verbs") ? "verbs" | "properties"; 10res = `call_function(bif, what) ! E_PERM => {}'; 11while (valid(what = parent(what))) 12res = {@`call_function(bif, what) ! E_PERM => {}', @res}; 13(ticks_left() < 4000) && suspend(0); 14endwhile 15return res;
connected
Referenced by
- #0:handle_uncaught_error line 8:
$object_utils:connected - #10:co*nnect line 100:
$object_utils:connected - #12:last line 22:
$object_utils:connected - #40:notify_mail line 4:
$object_utils:connected - #71:do_move_players_home line 12:
$object_utils:connected
Source
1":connected(object) => true if object is a connected player."; 2"equivalent to (object in connected_players()) for valid players, perhaps with less server overhead."; 3"use object:is_listening() if you want to allow for puppets and other non-player objects that still 'care' about what's said."; 4return typeof(`connected_seconds(@args) ! E_INVARG') == INT;
isoneof
Referenced by
none
Source
1":isoneof(x,y) = x isa z, for some z in list y"; 2{what, targ} = args; 3while (valid(what)) 4if (what in targ) 5return 1; 6endif 7what = parent(what); 8endwhile 9return 0;
defines_verb
Referenced by
- #32:@ansi-setup line 134:
$object_utils:defines_verb - #50:init_for_core line 7:
$object_utils:defines_verb - #57:make-core-database line 132:
$object_utils:defines_verb - #59:move_verb line 19:
$object_utils:defines_verb
Source
1"Returns 1 if the verb is actually *defined* on this object, 0 else."; 2"Use this instead of :has_verb if your aim is to manipulate that verb code or whatever."; 3return `verb_info(@args) ! ANY => 0' && 1;
defines_property
Referenced by
- #59:move_prop*erty line 14:
$object_utils:defines_property
Source
1":defines_property(OBJ object, STR property name) => Returns 1 if the property is actually *defined* on the object given"; 2if (!valid(o = args[1])) 3return 0; 4elseif (!valid(p = parent(o))) 5return this:has_property(o, args[2]); 6else 7return (!this:has_property(p, args[2])) && this:has_property(o, args[2]); 8endif
has_any_verb has_any_property
Referenced by
none
Source
1":has_any_verb(object) / :has_any_property(object)"; 2" -- does `object' have any verbs/properties?"; 3return !(!`(verb == "has_any_verb") ? verbs(args[1]) | properties(args[1]) ! E_INVARG => 0');
has_readable_prop*erty hrp
Referenced by
none
Source
1":has_readable_property(OBJ object, STR property name) => 1 if property exists and is publically readable (has the r flag set true)."; 2{object, prop} = args; 3try 4pinfo = property_info(object, prop); 5return index(pinfo[2], "r") != 0; 6except (E_PROPNF) 7return (prop in $code_utils.builtin_props) > 0; 8endtry
descendants descendents
Referenced by
- #31:do_reset line 25:
$object_utils:descendants - #47:showlists line 2:
$object_utils:descendants - #61:is_writable_by line 1:
$object_utils:descendants - #78:load line 4:
$object_utils:descendents - #84:list line 13:
$object_utils:descendants - #90:@stats line 6:
$object_utils:descendants - #116:@addlang*uage line 4:
$object_utils:descendants - #116:@rmlang*uage line 4:
$object_utils:descendants
Source
1":descendants (OBJ object) => {OBJs} all nested children of <object>"; 2r = children(args[1]); 3i = 1; 4while (i <= length(r)) 5if (kids = children(r[i])) 6r = {@r, @kids}; 7endif 8i = i + 1; 9endwhile 10return r;
leaves
Referenced by
- #24:connected_wizards line 2:
$object_utils:leaves - #24:all_wizards_advertised line 2:
$object_utils:leaves - #24:is_wizard line 7:
$object_utils:leaves - #31:defer line 15:
$object_utils:leaves - #57:@guests line 15:
$object_utils:leaves - #60:wizard_list line 2:
$object_utils:leaves
Source
1":leaves (OBJ object) => {OBJs} descendants of <object> that have no children"; 2r = {args[1]}; 3i = 1; 4while (i <= length(r)) 5if (kids = children(r[i])) 6r[i..i] = kids; 7else 8i = i + 1; 9endif 10endwhile 11return r;
branches
Referenced by
none
Source
1":branches (OBJ object) => {OBJs} descendants of <object> that have children"; 2r = args[1..1]; 3i = 1; 4while (i <= length(r)) 5if (kids = children(r[i])) 6r[i + 1..i] = kids; 7i = i + 1; 8else 9r[i..i] = {}; 10endif 11endwhile 12return r;
descendants_suspended descendents_suspended
Referenced by
- #24:_mac_moomail_fix line 7:
$object_utils:descendants_suspended - #52:property_conflicts line 17:
$object_utils:descendents_suspended - #71:fix_all_exits line 5:
$object_utils:descendants_suspended - #71:fix_all_exits line 16:
$object_utils:descendants_suspended - #71:knock_em_homers line 5:
$object_utils:descendants_suspended - #90:@sanctuaries line 3:
$object_utils:descendants_suspended - #90:whois line 25:
$object_utils:descendants_suspended - #98:mass_advance line 7:
$object_utils:descendants_suspended - #98:mass_heal line 9:
$object_utils:descendants_suspended - #98:mass_heal line 9:
$object_utils:descendants_suspended - #98:collect_orphans line 9:
$object_utils:descendants_suspended - #98:collect_orphans line 16:
$object_utils:descendants_suspended - #98:@addskill line 12:
$object_utils:descendants_suspended - #98:weather line 5:
$object_utils:descendants_suspended - #98:welfare line 6:
$object_utils:descendants_suspended - #98:unstock_surplus line 2:
$object_utils:descendants_suspended - #98:restock_ammo line 6:
$object_utils:descendants_suspended - #98:restock_food line 6:
$object_utils:descendants_suspended - #98:knock_em_homers line 5:
$object_utils:descendants_suspended - #98:@set-sales line 6:
$object_utils:descendants_suspended - #98:@set-sales line 16:
$object_utils:descendants_suspended - #100:@gather line 3:
$object_utils:descendants_suspended
Source
1":descendants_suspended (OBJ object) => {OBJs} all nested children of <object>"; 2set_task_perms(caller_perms()); 3r = children(args[1]); 4i = 1; 5while (i <= length(r)) 6if (kids = children(r[i])) 7r = {@r, @kids}; 8endif 9i = i + 1; 10(ticks_left() < 4000) && suspend(0); 11endwhile 12return r;
leaves_suspended
Referenced by
- #24:expire_mail_lists line 5:
$object_utils:leaves_suspended - #32:update_all line 25:
$object_utils:leaves_suspended - #95:@ansi-s*tatus line 47:
$object_utils:leaves_suspended - #95:@ansi-s*tatus line 64:
$object_utils:leaves_suspended
Source
1":leaves_suspended (OBJ object) => {OBJs} descendants of <object> that have"; 2" no children"; 3set_task_perms(caller_perms()); 4r = {args[1]}; 5i = 1; 6while (i <= length(r)) 7if (kids = children(r[i])) 8r[i..i] = kids; 9else 10i = i + 1; 11endif 12(ticks_left() < 4000) && suspend(0); 13endwhile 14return r;
branches_suspended
Referenced by
none
Source
1":branches_suspended (OBJ object) => {OBJs} all descendants of <object> that"; 2" have children."; 3set_task_perms(caller_perms()); 4r = args[1..1]; 5i = 1; 6while (i <= length(r)) 7if (kids = children(r[i])) 8r[i + 1..i] = kids; 9i = i + 1; 10else 11r[i..i] = {}; 12endif 13(ticks_left() < 4000) && suspend(0); 14endwhile 15return r;
disown disinherit
Referenced by
none
Source
1":disown(object) / :disinherit(object)"; 2" => 1 (for a successful disinheritance)"; 3" raises E_PERM, E_INVARG, E_ARGS"; 4cp = caller_perms(); 5" no set_task_perms() because we need to be able to"; 6" chparent() an object we don't own"; 7{victim} = args; 8parent = parent(victim); 9if ($perm_utils:controls(cp, victim)) 10raise(E_INVARG, tostr(victim.name, " (", victim, ") is yours. Use @chparent.")); 11elseif (!valid(parent)) 12raise(E_INVARG, tostr(victim.name, " (", victim, ") is already an orphan.")); 13elseif (!$perm_utils:controls(cp, parent)) 14raise(E_PERM, tostr(parent.name, " (", parent, "), the parent of ", victim.name, " (", victim, "), is not yours.")); 15elseif (!valid(grandparent = parent(parent))) 16"... still not sure about this... do we care? --Rog..."; 17raise(E_INVARG, tostr(victim.name, " (", victim, ") has no grandparent to take custody.")); 18else 19chparent(victim, grandparent); 20return 1; 21endif
accessible_verbs
Referenced by
- #59:_find_verbs_containing line 7:
$object_utils:accessible_verbs - #59:_find_verbs_matching line 7:
$object_utils:accessible_verbs
Source
1" accessible_verbs(object) => a list of verb names (or E_PERM) regardless of readability of object"; 2set_task_perms(caller_perms()); 3thing = args[1]; 4verbs = {}; 5i = 1; 6while ((info = `verb_info(thing, i) ! ANY') != E_VERBNF) 7verbs = {@verbs, info ? info[3] | E_PERM}; 8i = i + 1; 9endwhile 10return verbs;