Finishing the rearing should be timed, rather than random. Make a new method, "Rear()", that sets the m_IsRearing flag and sets the timer for N ticks; then check the timer here.