public virtual void Deactivate()
{
if (m_Mobile.PlayerRangeSensitive)
{
m_Timer.Stop();
SpawnEntry se = m_Mobile.Spawner as SpawnEntry;
if (se != null && se.ReturnOnDeactivate && !m_Mobile.Controlled)
{
if (se.HomeLocation == Point3D.Zero)
{
if (!m_Mobile.Region.AcceptsSpawnsFrom(se.Region))
{
Timer.DelayCall(TimeSpan.Zero, new TimerCallback(ReturnToHome));
}
}
else if (!m_Mobile.InRange(se.HomeLocation, se.HomeRange))
{
Timer.DelayCall(TimeSpan.Zero, new TimerCallback(ReturnToHome));
}
}
}
}