public virtual TimeSpan GetDisturbRecovery() { double delay = 1.0 - Math.Sqrt( (DateTime.Now - m_StartCastTime).TotalSeconds / GetCastDelay().TotalSeconds ); if ( delay < 0.2 ) delay = 0.2; return TimeSpan.FromSeconds( delay ); }