public void TryDecayGalleon(object obj) { BaseGalleon gal = obj as BaseGalleon; if (gal == null) { return; } List <ISpawnable> list = gal.GetObjectsOnBoard(); foreach (ISpawnable i in list) { if (i is PlayerMobile) { Timer.DelayCall(DecayRetry, new TimerStateCallback(TryDecayGalleon), gal); return; } } if (gal != null && !gal.Deleted) { gal.ForceDecay(); } }