public virtual void OnCurrentSpeedChanged() { m_Timer.Stop(); m_Timer.Delay = TimeSpan.FromSeconds(Utility.RandomDouble()); m_Timer.Interval = TimeSpan.FromSeconds(Math.Max(0.0, m_Mobile.CurrentSpeed)); m_Timer.Start(); }