public bool CheckInVisionRange()
        {
            if (incident.parms.target == null)
            {
                return(false);
            }
            Map map = incident.parms.target as Map;

            if (map == null)
            {
                return(false);
            }
            return(DetectDangerUtilities.GetVisionRangeOfMap(map.Tile) >= 1);
        }
Пример #2
0
        private static bool TryFindTile(int targetTile, out int tile)
        {
            //IntRange banditCampQuestSiteDistanceRange = SiteTuning.BanditCampQuestSiteDistanceRange;
            int detectionRange = DetectDangerUtilities.GetDetectionRangeOfMap(targetTile);

            detectionRange = Math.Max(detectionRange, DetectDangerUtilities.GetVisionRangeOfMap(targetTile));
            detectionRange = Math.Max(detectionRange, 6);
            IntRange banditCampQuestSiteDistanceRange = new IntRange(detectionRange, detectionRange + 5);

            if (!TileFinder.TryFindNewSiteTile(out tile, banditCampQuestSiteDistanceRange.min, banditCampQuestSiteDistanceRange.max, false, true, -1))
            {
                return(ForceFindTile_Dfs(targetTile, targetTile, detectionRange + 1, out tile));
            }
            return(true);
        }