Switch to edit mode.
Name(s): @chown @transfer1: "Copied from Generic Wizard (#58):@chown by Dead_Duck (#396) Aug 19 03:26:54 1996"
2: "Copied from Generic Teacher (#768):@chown by Juggler (#396) Jan 11 23:06:12 1996"
3: if ($command_utils:player_match_failed(iobj = $string_utils:match_player(iobjstr), iobjstr))
4: return
5: elseif (!$perm_utils:controls(player, iobj) && !$perm_utils:controls(player, iobj.owner))
6: return $msg:mtell("not_own", iobj)
7: elseif (`is_player(dobj) || dobj:isa($player) ! E_INVIND, E_INVARG => 0')
8: return player:tell("Uhh, no chowning of players. They should only be owned by themselves.")
9: elseif (index(dobjstr, ".") && (spec = $code_utils:parse_propref(dobjstr)))
10: if ($command_utils:object_match_failed(object = player:my_match_object(spec[1]), spec[1]))
11: return
12: elseif (!(pi = `property_info(object, prop = spec[2]) ! ANY'))
13: return player:tell(pi)
14: elseif (!player:controls_property(object, prop))
15: return $msg:mtell("not_own", dobjstr)
16: endif
17: e = $wiz_utils:set_property_owner(object, prop, iobj)
18: if (e == E_NONE)
19: player:tell("+c property owner changed -- did you really want to do that?")
20: elseif (e != 0 && e != 1)
21: player:tell(e)
22: else
23: $msg:mtell("chowned", dobjstr, pi[1], iobj)
24: endif
25: elseif (index(dobjstr, ":") && (spec = $code_utils:parse_verbref(dobjstr)))
26: if ($command_utils:object_match_failed(object = player:my_match_object(spec[1]), spec[1]))
27: return
28: elseif (!(vi = `verb_info(object, verb = spec[2]) ! ANY'))
29: return player:tell(vi)
30: endif
31: oldowner = vi[1]
32: if (!player:controls_verb(object, verb))
33: return $msg:mtell("not_own", dobjstr)
34: endif
35: vi[1] = iobj
36: if (typeof(e = set_verb_info(object, verb, vi)) == $ERR)
37: player:tell(e)
38: else
39: $msg:mtell("chowned", dobjstr, oldowner, iobj)
40: endif
41: else
42: if ($command_utils:object_match_failed(object = player:my_match_object(dobjstr), dobjstr))
43: return
44: endif
45: oldowner = object.owner
46: if (!$perm_utils:controls(player, oldowner) && !$perm_utils:controls(player, oldowner.owner))
47: $msg:mtell("not_own", object)
48: elseif (!player.wizard && player == object)
49: player:tell(E_RECMOVE)
50: elseif (!(e = $wiz_utils:set_owner(object, iobj, "suspend")))
51: player:tell(e)
52: else
53: $msg:mtell("chowned", object, oldowner, iobj)
54: endif
55: endif
56: "Last modified by Dax (#789) on Tue May 3 13:45:55 2005 MDT."