Scriptname _00E_Func_SafeMove Hidden Function SafeMoveTo(ObjectReference refToMove, ObjectReference targetRef, Bool bFadeIn = False) Global ; A safer way to move an object reference to another ref than just MoveTo. ; Mostly for actors to take their intended positions. ; It's better for the actor to be already running a package that moves them to targetRef at the moment this function is called. refToMove.Disable() refToMove.MoveTo(targetRef) refToMove.Enable(bFadeIn) EndFunction Function SafeMoveTo_NoWait(ObjectReference refToMove, ObjectReference targetRef, Bool bFadeIn = False) Global ; A safer way to move an object reference to another ref than just MoveTo (without waiting for it to be fully enabled). ; Mostly for actors to take their intended positions. ; It's better for the actor to be already running a package that moves them to targetRef at the moment this function is called. refToMove.Disable() refToMove.MoveTo(targetRef) refToMove.EnableNoWait(bFadeIn) EndFunction Bool Function DistanceFailsafeMoveTo(ObjectReference refToMove, ObjectReference targetRef, Float fTooFarDistance) Global ; Moves refToMove to targetRef if refToMove is not within fTooFarDistance from targetRef. ; Mostly for character travel failsafes in scenes. ; Debug.Trace("FailsafeMoveTo: refToMove = " + refToMove + "; d = " + refToMove.GetDistance(targetRef)) If refToMove.GetDistance(targetRef) >= fTooFarDistance refToMove.MoveTo(targetRef) ; Debug.Trace("FailsafeMoveTo: refToMove = " + refToMove + " force-moved to marker") Return True Else Return False EndIf EndFunction