public async Task <ActionResult> QueryTargets([FromBody] QueryRequest query) { if (!this.ModelState.IsValid) { return(this.BadRequest(this.ModelState)); } byte[] imageBinaries = Convert.FromBase64String(query.Image.Base64); TargetSearchResults results = await this.imageRecognition.QuerySimilarTargets(imageBinaries); QueryResponse response = this.mapper.Map <QueryResponse>(results); return(Ok(response)); }
public static void TargetClosestNonBees(NPC searcher, bool faceTarget = true, Vector2?checkPosition = null) { TargetSearchResults searchResults = SearchForTarget(searcher, TargetSearchFlag.All, null, SearchFilters.NonBeeNPCs); if (searchResults.FoundTarget) { searcher.target = searchResults.NearestTargetIndex; searcher.targetRect = searchResults.NearestTargetHitbox; if (searcher.ShouldFaceTarget(ref searchResults) && faceTarget) { searcher.FaceTarget(); } } }
public static void TargetClosestOldOnesInvasion(NPC searcher, bool faceTarget = true, Vector2?checkPosition = null) { TargetSearchResults searchResults = SearchForTarget(searcher, TargetSearchFlag.All, SearchFilters.OnlyPlayersInCertainDistance(searcher.Center, 200f), SearchFilters.OnlyCrystal); if (searchResults.FoundTarget) { searcher.target = searchResults.NearestTargetIndex; searcher.targetRect = searchResults.NearestTargetHitbox; if (searcher.ShouldFaceTarget(ref searchResults) && faceTarget) { searcher.FaceTarget(); } } }
public static void TargetClosestBetsy(NPC searcher, bool faceTarget = true, Vector2?checkPosition = null) { TargetSearchResults searchResults = SearchForTarget(searcher, TargetSearchFlag.All, null, SearchFilters.OnlyCrystal); if (searchResults.FoundTarget) { TargetType value = searchResults.NearestTargetType; if (searchResults.FoundTank && !searchResults.NearestTankOwner.dead) { value = TargetType.Player; } searcher.target = searchResults.NearestTargetIndex; searcher.targetRect = searchResults.NearestTargetHitbox; if (searcher.ShouldFaceTarget(ref searchResults, value) && faceTarget) { searcher.FaceTarget(); } } }