diff --git a/dlls/subs.cpp b/dlls/subs.cpp index 2a299ce4..e24a5c08 100644 --- a/dlls/subs.cpp +++ b/dlls/subs.cpp @@ -407,6 +407,13 @@ void CBaseToggle::LinearMove( Vector vecDest, float flSpeed ) // divide vector length by speed to get time to reach dest float flTravelTime = vecDestDelta.Length() / flSpeed; + if( flTravelTime < 0.05 ) + { + UTIL_SetOrigin( pev, m_vecFinalDest ); + LinearMoveDone(); + return; + } + // set nextthink to trigger a call to LinearMoveDone when dest is reached pev->nextthink = pev->ltime + flTravelTime; SetThink( &CBaseToggle::LinearMoveDone );