[Turn off line numbering]1: arg @parents; 2: var parent, cur; 3: 4: if (!(| .perms(sender(), 'manager) |)) 5: (> .perms(caller(), $root, $sys) <); 6: (> $sys.touch() <); 7: if (!parents) 8: throw(~noparents, "There must be at least 1 parent for each object."); 9: 10: // Notify new parents of impending change. 11: cur = parents(); 12: for parent in (parents) { 13: if (!(parent in cur)) 14: (> parent.will_inherit(sender()) <); 15: } 16: 17: // Everything's okay, go ahead and try it. 18: .change_parents(parents);
// Created as a part of ColdCore, see: @help Credit