diff --git a/src/npc_manager.py b/src/npc_manager.py index 4aa208d..4954d85 100644 --- a/src/npc_manager.py +++ b/src/npc_manager.py @@ -72,9 +72,15 @@ class NpcManager: start = time.time() while (time.time() - start) < 35: img = self._screen.grab() - result = self._template_finder.search(self._npcs[npc_key]["template_group"], img, threshold=0.35, roi=roi, normalize_monitor=True, best_match=True) - if result.valid: - mouse.move(*result.position, randomize=3, delay_factor=[0.9, 1.5]) + results = [] + for key in self._npcs[npc_key]["template_group"]: + res = self._template_finder.search(key, img, threshold=0.35, roi=roi, normalize_monitor=True) + if res.valid: + results.append({"pos": res.position, "score": res.score}) + results = sorted(results, key=lambda r: r["score"], reverse=True) + + for result in results: + mouse.move(*result["pos"], randomize=3, delay_factor=[0.9, 1.5]) wait(0.2, 0.3) _, filtered_inp_w = color_filter(self._screen.grab(), self._config.colors["white"]) _, filtered_inp_g = color_filter(self._screen.grab(), self._config.colors["gold"])