From b67f61165d66803bd1ee58fff30df7710b01b6c9 Mon Sep 17 00:00:00 2001 From: medicinemelancholy <1807904567@qq.com> Date: Fri, 15 Nov 2024 10:36:25 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=88=98=E6=96=97=E4=B8=AD?= =?UTF-8?q?=E9=94=81=E5=AE=9A=E4=B8=A2=E5=A4=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 战斗中非r动画中检查是否为锁定状态,如果box_target_enemy中不包含已锁定状态的暗黄色则按下鼠标中键 --- src/combat/CombatCheck.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/combat/CombatCheck.py b/src/combat/CombatCheck.py index 27eb030..becbf24 100644 --- a/src/combat/CombatCheck.py +++ b/src/combat/CombatCheck.py @@ -162,6 +162,7 @@ class CombatCheck(BaseWWTask): now = time.time() if now - self.last_combat_check > self.combat_check_interval: self.last_combat_check = now + self.reaim_enemy() if self.check_team: if not self.in_team()[0]: logger.info('not in team break out of combat') @@ -240,6 +241,12 @@ class CombatCheck(BaseWWTask): elif self._in_multiplayer: return self.in_multiplayer() + def reaim_enemy(self): + aim_percent = self.calculate_color_percentage(aim_color, self.get_box_by_name('box_target_enemy')) + if aim_percent == 0: + logger.info(f'Not focus on enemies, aim percent {aim_percent} ') + self.middle_click() + def target_enemy(self, wait=True): if not wait: self.middle_click() @@ -353,3 +360,9 @@ boss_health_color = { 'g': (30, 185), # Green range 'b': (4, 75) # Blue range } + +aim_color = { + 'r': (165, 175), # Red range + 'g': (150, 160), # Green range + 'b': (38, 48) # Blue range +}