@verb #13:"@grant @grants* @transfer*e" any at/to any rdo #55 @program #13:"@grant @grants* @transfer*e" any at/to any "Copied from Generic Wizard (#58):@grant by Slacker (#2) Aug 19 03:36:35 1996" "@grant to " "@grants to --- same as @grant but may suspend." "@transfer to -- like 'grant', but evalutes a possible list of objects to transfer, and modifies quota." "Ownership of the object changes as in @chown and :set_owner (i.e., .owner and all c properties change). In addition all verbs and !c properties owned by the original owner change ownership as well. Finally, for !c properties, instances on descendant objects change ownership (as in :set_property_owner)." if (!iobjstr || !dobjstr) return player:notify(tostr("Usage: ", verb, " <object> to <player>")) endif if ($command_utils:player_match_failed(newowner = $string_utils:match_player(iobjstr), iobjstr)) "...newowner is bogus..." return endif if ($command_utils:player_match_failed(dobj = player:my_match_object(dobjstr), dobjstr)) return endif iobj = newowner if (player != this || (!$perm_utils:controls(player, iobj) && !$perm_utils:controls(player, iobj.owner)) || (!$perm_utils:controls(player, dobj) && !$perm_utils:controls(player, dobj.owner))) player:notify("Sorry.") return endif if (verb == "@transfer") objlist = $no_one:eval_cmd_string(dobjstr, 0) if (!objlist[1]) player:notify(tostr("Had trouble reading `", dobjstr, "': ")) player:notify(@objlist[2]) return elseif (typeof(objlist[2]) == $OBJ) objlist = objlist[2..2] elseif (typeof(objlist[2]) != $LIST) player:notify(tostr("Value of `", dobjstr, "' is not an object or list: ", toliteral(objlist[2]))) return else objlist = objlist[2] endif elseif ($command_utils:object_match_failed(object = this:my_match_object(dobjstr), dobjstr)) "...object is bogus..." return else objlist = {object} endif if (newowner:free_objects() < length(objlist)) player:tell("Sorry, ", $string_utils:nn(newowner), " doesn't have enough quota.") return endif suspendok = verb != "@grant" player:tell("Transfering ", toliteral(objlist), " to ", $string_utils:nn(newowner)) set_task_perms(player) for object in (objlist) errcode = $wiz_utils:grant(object, newowner, suspendok) if (errcode == E_QUOTA) return player:sub_tell("%1 ran out of %2 quota at object %3.", newowner:title(), newowner:_get_max_obj() ? "byte" | "object", $string_utils:nn(object)) elseif (errcode == E_NONE) player:sub_tell("%1 already owned everything %2 was entitled to on %3.", newowner:title(), $cecil_utils:pronoun(newowner, "he"), object:title()) else player:sub_tell("%1 transferred to %2 successfully.", object, newowner) endif endfor "Last modified by Dax (#789) on Wed May 4 06:46:00 2005 MDT." .