object manipulator #251
Aliases: object manipulator
28 verbs · 11 properties · 0 children
Verbs
Properties
| Property | Definer | Flags | Owner | Value |
|---|---|---|---|---|
help_msg | #72 | rc | #361 | <clear> |
aliases | #1 | rc | #361 | {"object manipulator"} |
description | #1 | rc | #361 | <clear> |
object_size | #1 | r | #29 | {14131, 1298434579} |
hidden_verbs | #1 | rc | #361 | <clear> |
phelp_msg | #1 | rc | #361 | <clear> |
weight | #1 | rc | #361 | <clear> |
owner_verbs | #1 | rc | #361 | <clear> |
plural_name | #1 | rc | #361 | <clear> |
client_image | #1 | rc | #361 | <clear> |
listening | #1 | rc | #361 | <clear> |
Ancestry
Ancestors (nearest first): #72 Generic Utilities Package → #1 root
Children: none
Call graph
Source
_verbname_or_invarg
Referenced by
- #251:describe line 6:
this:_verbname_or_invarg - #251:do line 6:
this:_verbname_or_invarg - #251:cannot line 6:
this:_verbname_or_invarg
Source
1":_verbname_or_invarg(name) => Return NAME if there is a verb this:name, otherwise raise E_INVARG."; 2{name} = args; 3`verb_info(this, name) ! E_VERBNF => raise(E_INVARG)'; 4return name;
describe
Referenced by
none
Source
1":describe(manipulator) => Return a textual description of the action performed by manipulator."; 2{manipulator} = args; 3if ((typeof(manipulator) != LIST) || (length(manipulator) <= 2)) 4raise(E_INVARG); 5else 6return this:(this:_verbname_or_invarg("_describe_" + manipulator[1]))(@manipulator[2..$]); 7endif
do
Referenced by
none
Source
1":do(manipulator) => Carry out the action defined by manipulator."; 2{manipulator} = args; 3if ((typeof(manipulator) != LIST) || (length(manipulator) <= 2)) 4raise(E_INVARG); 5else 6return this:("_do_" + this:_verbname_or_invarg(manipulator[1]))(@manipulator[2..$]); 7endif
cannot
Referenced by
none
Source
1":cannot_do(manipulator) => Return a textual description of why manipulator cannot be done, or the empty string if it can."; 2{manipulator} = args; 3if ((typeof(manipulator) != LIST) || (length(manipulator) <= 2)) 4raise(E_INVARG); 5else 6return this:("_cannot_" + this:_verbname_or_invarg(manipulator[1]))(@manipulator[2..$]) || ""; 7endif
set_property
Referenced by
none
Source
1":set_property(obj, propertyname, newval) => <obj>.(<propertyname>) = <newval>"; 2{OBJ, propertyname, newval} = args; 3if (valid(OBJ) && (typeof(propertyname) == STR)) 4return {verb, OBJ, propertyname, newval}; 5else 6raise(E_TYPE); 7endif
_do_set_property
Referenced by
none
Source
1{OBJ, propertyname, newval} = args; 2set_task_perms(caller_perms()); 3OBJ.(propertyname) = newval;
_cannot_set_property
Referenced by
none
Source
1{OBJ, propertyname, newval} = args; 2if (`info = property_info(OBJ, propertyname) ! E_PROPNF => {}') 3if (((!player.wizard) && (player != info[1])) && (!index(info[2], "w"))) 4return ((($su:nn(player) + " has insufficient permissions to modify the property '") + propertyname) + "' on ") + $su:nn(OBJ); 5endif 6else 7return (($su:nn(OBJ) + " has no non-builtin property '") + propertyname) + "'"; 8endif
_describe_set_property
Referenced by
none
Source
1{OBJ, propertyname, newval} = args; 2return ((($su:nn(OBJ) + ".") + propertyname) + " = ") + toliteral(newval);
add_property
Referenced by
none
Source
1":add_property(obj, propertyname, defvalue, owner, permissions) => Create a property with the given attributes."; 2{OBJ, propertyname, defvalue, owner, permissions} = args; 3if (((valid(OBJ) && (typeof(propertyname) == STR)) && valid(owner)) && (typeof(permissions) == STR)) 4return {verb, OBJ, propertyname, defvalue, owner, permissions}; 5else 6raise(E_TYPE); 7endif
_do_add_property
Referenced by
none
Source
1{object, property, value, owner, permissions} = args; 2set_task_perms(caller_perms()); 3add_property(object, property, value, {owner, permissions});
_cannot_add_property
Referenced by
none
Source
1{OBJ, property, value, owner, permissions} = args; 2if ($ou:has_property(OBJ, property)) 3return (($su:nn(OBJ) + ".") + property) + " already exists"; 4elseif ((!player.wizard) && (player != OBJ.owner)) 5return ((($su:nn(player) + " has insufficient permissions to add the property '") + property) + "' on ") + $su:nn(OBJ); 6elseif ((!player.wizard) && (player != owner)) 7return "non-wizards cannot add properties owned by anyone but themselves"; 8endif
_describe_add_property
Referenced by
none
Source
1{OBJ, property, defvalue, owner, permissions} = args; 2return (((((((("add " + $su:nn(OBJ)) + ".") + property) + " with value ") + toliteral(defvalue)) + ", owned by ") + $su:nn(owner)) + " with permissions ") + permissions;
add_verb
Referenced by
none
Source
1":add_verb(obj, names, code, args, owner, permissions) => Add a verb with the given attributes."; 2{OBJ, names, code, args, owner, permissions} = args; 3if ((((valid(OBJ) && (typeof(names) == LIST)) && valid(owner)) && (typeof(permissions) == STR)) && (typeof(args) == LIST)) 4return {verb, OBJ, names, code, args, owner, permissions}; 5else 6raise(E_TYPE); 7endif
_do_add_verb
Referenced by
none
Source
1{OBJECT, names, code, args, owner, permissions} = args; 2set_task_perms(caller_perms()); 3add_verb(OBJECT, {owner, permissions, $su:from_list(names, " ")}, args); 4$wiz_utils:set_verb_code(OBJECT, names[1], code);
_cannot_add_verb
Referenced by
none
Source
1{object, names, code, args, owner, permissions} = args; 2for name in (names) 3if ($ou:has_verb(object, name) == {object}) 4return (($su:nn(object) + ":") + name) + " already exists"; 5endif 6endfor 7if ((!player.wizard) && (player != object.owner)) 8return ((($su:nn(player) + " has insufficient permissions to add the verb '") + names[1]) + "' on ") + $su:nn(object); 9elseif ((!player.wizard) && (player != owner)) 10return "non-wizards cannot add verbs owned by anyone but themselves"; 11endif
_describe_add_verb
Referenced by
none
Source
1{object, names, code, args, owner, permissions} = args; 2return ((((((((((("add " + $su:nn(object)) + ":\"") + $su:from_list(names, " ")) + "\" ") + $su:from_list(args, " ")) + ", owned by ") + $su:nn(owner)) + " with permissions ") + permissions) + " and ") + tostr(length(code))) + " lines of code";
set_verb
Referenced by
none
Source
1":set_verb(obj, name, code) => Set the code for a the given verb."; 2{OBJ, name, code} = args; 3if ((valid(OBJ) && (typeof(name) == STR)) && (typeof(code) == LIST)) 4return {verb, OBJ, name, code}; 5else 6raise(E_TYPE); 7endif
_do_set_verb
Referenced by
none
Source
1{object, name, code} = args; 2set_task_perms(caller_perms()); 3$wiz_utils:set_verb_code(object, name, code);
_cannot_set_verb
Referenced by
none
Source
1{object, name, code} = args; 2if (`info = verb_info(object, name) ! E_VERBNF => {}') 3if ((!player.wizard) && (player != info[1])) 4return ((($su:nn(player) + " has insufficient permissions to modify the verb '") + name) + "' on ") + $su:nn(object); 5endif 6else 7return (($su:nn(object) + ":") + name) + " doesn't exist"; 8endif
_describe_set_verb
Referenced by
none
Source
1{object, name, code} = args; 2return ((((("set " + $su:nn(object)) + ":") + name) + " to ") + tostr(length(code))) + " lines of code";
delete_verb
Referenced by
none
Source
1":delete_verb(obj, name [, shallow]) => Delete the given verb from the object."; 2{OBJ, name} = args; 3if (valid(OBJ) && (typeof(name) == STR)) 4return {verb, OBJ, name}; 5else 6raise(E_TYPE); 7endif
_do_delete_verb
Referenced by
none
Source
1{object, name} = args; 2set_task_perms(player); 3delete_verb(object, name);
_cannot_delete_verb
Referenced by
none
Source
1{object, name} = args; 2if (`info = verb_info(object, name) ! E_VERBNF => {}') 3if ((!player.wizard) && (player != object.owner)) 4return ((($su:nn(player) + " has insufficient permissions to delete the verb '") + name) + "' on ") + $su:nn(object); 5endif 6else 7return (($su:nn(object) + ":") + name) + " doesn't exist"; 8endif
_describe_delete_verb
Referenced by
none
Source
1{object, name} = args; 2return (("delete " + $su:nn(object)) + ":") + name;
delete_property
Referenced by
none
Source
1":delete_property(obj, name) => Delete the given property from the object."; 2{OBJ, name} = args; 3if (valid(OBJ) && (typeof(name) == STR)) 4return {verb, OBJ, name}; 5else 6raise(E_TYPE); 7endif
_do_delete_property
Referenced by
none
Source
1{object, name} = args; 2set_task_perms(caller_perms()); 3delete_property(object, name);
_cannot_delete_property
Referenced by
none
Source
1{object, name} = args; 2if (`info = property_info(object, name) ! E_PROPNF => {}') 3if ((!player.wizard) && (player != info[1])) 4return ((($su:nn(player) + " has insufficient permissions to delete the property '") + name) + "' on ") + $su:nn(object); 5endif 6else 7return (($su:nn(object) + ".") + name) + " doesn't exist"; 8endif
_describe_delete_property
Referenced by
none
Source
1{object, name} = args; 2return (("delete " + $su:nn(object)) + ".") + name;