<desc>Assigns a new definition to an object.</desc>
<remark>ChangeDef does not affect object local variables. The values of named local variables are transferred to local variables of the same name in the target definition.</remark>
<remark>Warning: if an object applies ChangeDef to itself, the executed object script will no longer match the object definition after the call. Because of this, following a ChangeDef call you should neither call any local function (use <funclink>this</funclink>()->function(...) instead) nor access any local variables (even if a variable of the same name exists in the new definition).</remark>