public static void MoveCams(PlayerMobile target, PlayerMobile[] cams) { if (target == null || cams == null || cams.Length == 0) { return; } foreach ( PlayerMobile cam in cams.Not(cam => cam == null || cam.Deleted || (cam.Map == target.Map && cam.InRange(target, 0))) ) { bool refreshUI = cam.Map != target.Map || cam.Region != target.Region; cam.Map = target.Map; cam.SetLocation(target.Location, true); if (refreshUI) { RefreshUI(cam); } } }