[Turn on line numbering]
arg @parents;
var parent, cur;
if (!(| .perms(sender(), 'manager) |))
(> .perms(caller(), $root, $sys) <);
(> $sys.touch() <);
if (!parents)
throw(~noparents, "There must be at least 1 parent for each object.");
// Notify new parents of impending change.
cur = parents();
for parent in (parents) {
if (!(parent in cur))
(> parent.will_inherit(sender()) <);
}
// Everything's okay, go ahead and try it.
.change_parents(parents);
["// Created as a part of ColdCore, see: @help Credit"]