diff --git a/__pycache__/auto_bot.cpython-311.pyc b/__pycache__/auto_bot.cpython-311.pyc index f319ce1..ad32c9b 100644 Binary files a/__pycache__/auto_bot.cpython-311.pyc and b/__pycache__/auto_bot.cpython-311.pyc differ diff --git a/__pycache__/auto_bot_move.cpython-311.pyc b/__pycache__/auto_bot_move.cpython-311.pyc index e17fc54..48122f1 100644 Binary files a/__pycache__/auto_bot_move.cpython-311.pyc and b/__pycache__/auto_bot_move.cpython-311.pyc differ diff --git a/__pycache__/combat_engine.cpython-311.pyc b/__pycache__/combat_engine.cpython-311.pyc index 71b3c27..4474715 100644 Binary files a/__pycache__/combat_engine.cpython-311.pyc and b/__pycache__/combat_engine.cpython-311.pyc differ diff --git a/__pycache__/coordinate_patrol.cpython-311.pyc b/__pycache__/coordinate_patrol.cpython-311.pyc index fbe0268..d8ac8ef 100644 Binary files a/__pycache__/coordinate_patrol.cpython-311.pyc and b/__pycache__/coordinate_patrol.cpython-311.pyc differ diff --git a/__pycache__/death_manager.cpython-311.pyc b/__pycache__/death_manager.cpython-311.pyc index c4ae589..8e063c0 100644 Binary files a/__pycache__/death_manager.cpython-311.pyc and b/__pycache__/death_manager.cpython-311.pyc differ diff --git a/__pycache__/flight_mode.cpython-311.pyc b/__pycache__/flight_mode.cpython-311.pyc index 5075963..4a6607a 100644 Binary files a/__pycache__/flight_mode.cpython-311.pyc and b/__pycache__/flight_mode.cpython-311.pyc differ diff --git a/__pycache__/game_state.cpython-311.pyc b/__pycache__/game_state.cpython-311.pyc index bb63097..666bf06 100644 Binary files a/__pycache__/game_state.cpython-311.pyc and b/__pycache__/game_state.cpython-311.pyc differ diff --git a/__pycache__/hardware_control.cpython-311.pyc b/__pycache__/hardware_control.cpython-311.pyc index 24287a8..4deae69 100644 Binary files a/__pycache__/hardware_control.cpython-311.pyc and b/__pycache__/hardware_control.cpython-311.pyc differ diff --git a/__pycache__/logistics_manager.cpython-311.pyc b/__pycache__/logistics_manager.cpython-311.pyc index b604c1c..97d52ac 100644 Binary files a/__pycache__/logistics_manager.cpython-311.pyc and b/__pycache__/logistics_manager.cpython-311.pyc differ diff --git a/__pycache__/player_movement.cpython-311.pyc b/__pycache__/player_movement.cpython-311.pyc index 2843aaf..e3d08fe 100644 Binary files a/__pycache__/player_movement.cpython-311.pyc and b/__pycache__/player_movement.cpython-311.pyc differ diff --git a/__pycache__/stuck_handler.cpython-311.pyc b/__pycache__/stuck_handler.cpython-311.pyc index 79cc879..acc6d63 100644 Binary files a/__pycache__/stuck_handler.cpython-311.pyc and b/__pycache__/stuck_handler.cpython-311.pyc differ diff --git a/__pycache__/wow_multikey_gui.cpython-311.pyc b/__pycache__/wow_multikey_gui.cpython-311.pyc index b8b4cc3..82b8b06 100644 Binary files a/__pycache__/wow_multikey_gui.cpython-311.pyc and b/__pycache__/wow_multikey_gui.cpython-311.pyc differ diff --git a/auto_bot_move.py b/auto_bot_move.py index ffcdbf4..8592aeb 100644 --- a/auto_bot_move.py +++ b/auto_bot_move.py @@ -262,6 +262,7 @@ class AutoBotMove: skip_prepare_route=False, patrol_route_switch_laps=0, patrol_point_offset_radius=0.15, + random_patrol_direction=False, ): self.last_tab_time = 0 self.last_interaction_time = 0 # 记录上一次按互动键的时间 @@ -293,6 +294,7 @@ class AutoBotMove: self._last_mouse_path_scale_signature = None self.logistics_resume_cooldown_until = 0.0 self.skip_prepare_route = bool(skip_prepare_route) + self.random_patrol_direction = bool(random_patrol_direction) try: self.patrol_route_switch_laps = max(0, int(patrol_route_switch_laps or 0)) except (TypeError, ValueError): @@ -414,7 +416,9 @@ class AutoBotMove: self.current_patrol_route_name = str(route.get("name") or "未命名巡逻路线") self.current_patrol_route_index = route_index self.current_patrol_route_laps = 0 - reverse_route = random.choice((False, True)) + reverse_route = ( + random.choice((False, True)) if self.random_patrol_direction else False + ) direction_name = "逆向" if reverse_route else "正向" if reverse_route: points = list(reversed(points)) diff --git a/game_state_config.json b/game_state_config.json index 119dc58..0c3550d 100644 --- a/game_state_config.json +++ b/game_state_config.json @@ -26,4 +26,4 @@ "mail_send_key": "f8", "mailbox_open_wait_sec": 2.0, "mail_send_wait_sec": 60.0 -} +} \ No newline at end of file diff --git a/recorder/vendor.json b/recorder/vendor.json deleted file mode 100644 index 96ddb0e..0000000 --- a/recorder/vendor.json +++ /dev/null @@ -1,30 +0,0 @@ -[ - [ - 85.35, - 74.90 - ], - [ - 85.36, - 74.93 - ], - [ - 85.66, - 75.35 - ], - [ - 86.1, - 75.59 - ], - [ - 86.61, - 75.59 - ], - [ - 87.08, - 75.82 - ], - [ - 87.24, - 75.88 - ] -] \ No newline at end of file diff --git a/recorder/waypoints.json b/recorder/waypoints.json deleted file mode 100644 index 58481dc..0000000 --- a/recorder/waypoints.json +++ /dev/null @@ -1,22 +0,0 @@ -[ - [ - 30.97, - 73.59 - ], - [ - 30.45, - 73.49 - ], - [ - 30.05, - 73.83 - ], - [ - 30.55, - 73.98 - ], - [ - 30.87, - 73.57 - ] -] \ No newline at end of file diff --git a/recorder/北风苔原修理.json b/recorder/北风苔原修理.json deleted file mode 100644 index 0ef2450..0000000 --- a/recorder/北风苔原修理.json +++ /dev/null @@ -1,30 +0,0 @@ -[ - [ - 49.02, - 71.16 - ], - [ - 51.50, - 66.65 - ], - [ - 54.43, - 68.34 - ], - [ - 57.17, - 69.91 - ], - [ - 57.60, - 68.08 - ], - [ - 57.43, - 67.35 - ], - [ - 57.79, - 66.08 - ] -] \ No newline at end of file diff --git a/recorder/北风苔原剥皮.json b/recorder/北风苔原剥皮.json deleted file mode 100644 index 94a2d74..0000000 --- a/recorder/北风苔原剥皮.json +++ /dev/null @@ -1,170 +0,0 @@ -[ - [ - 51.35, - 67.35 - ], - [ - 51.33, - 67.89 - ], - [ - 51.3, - 68.4 - ], - [ - 51.03, - 68.87 - ], - [ - 50.79, - 69.31 - ], - [ - 50.5, - 69.75 - ], - [ - 50.23, - 70.22 - ], - [ - 49.96, - 70.69 - ], - [ - 49.74, - 71.14 - ], - [ - 49.53, - 71.61 - ], - [ - 49.19, - 72.0 - ], - [ - 48.94, - 72.47 - ], - [ - 48.75, - 72.95 - ], - [ - 48.53, - 73.41 - ], - [ - 48.18, - 73.78 - ], - [ - 47.7, - 73.94 - ], - [ - 47.21, - 74.04 - ], - [ - 46.71, - 74.09 - ], - [ - 46.2, - 74.11 - ], - [ - 45.69, - 74.03 - ], - [ - 45.27, - 73.69 - ], - [ - 44.76, - 73.54 - ], - [ - 44.31, - 73.32 - ], - [ - 43.97, - 72.94 - ], - [ - 43.86, - 72.42 - ], - [ - 44.02, - 71.93 - ], - [ - 44.32, - 71.49 - ], - [ - 44.8, - 71.25 - ], - [ - 45.31, - 71.15 - ], - [ - 45.82, - 70.99 - ], - [ - 46.33, - 70.88 - ], - [ - 46.82, - 71.04 - ], - [ - 47.34, - 71.02 - ], - [ - 47.8, - 70.82 - ], - [ - 48.28, - 70.6 - ], - [ - 48.8, - 70.6 - ], - [ - 49.23, - 70.32 - ], - [ - 49.59, - 69.92 - ], - [ - 49.78, - 69.45 - ], - [ - 49.81, - 68.9 - ], - [ - 49.99, - 68.4 - ], - [ - 51.35, - 67.35 - ] -] \ No newline at end of file diff --git a/recorder/地狱火半岛剥皮310-375.json b/recorder/地狱火半岛剥皮310-375.json deleted file mode 100644 index 9fcc4ec..0000000 --- a/recorder/地狱火半岛剥皮310-375.json +++ /dev/null @@ -1,142 +0,0 @@ -[ - [ - 12.1, - 54.99 - ], - [ - 11.62, - 54.79 - ], - [ - 11.16, - 54.54 - ], - [ - 10.82, - 54.13 - ], - [ - 10.54, - 53.7 - ], - [ - 10.3, - 53.24 - ], - [ - 10.06, - 52.75 - ], - [ - 9.82, - 52.31 - ], - [ - 9.55, - 51.86 - ], - [ - 9.42, - 51.35 - ], - [ - 9.39, - 50.83 - ], - [ - 9.24, - 50.35 - ], - [ - 9.15, - 49.85 - ], - [ - 9.5, - 49.44 - ], - [ - 9.94, - 49.14 - ], - [ - 10.38, - 48.85 - ], - [ - 10.81, - 48.56 - ], - [ - 11.23, - 48.26 - ], - [ - 11.65, - 47.94 - ], - [ - 12.11, - 47.65 - ], - [ - 12.59, - 47.49 - ], - [ - 12.54, - 48.01 - ], - [ - 12.44, - 48.53 - ], - [ - 12.32, - 49.03 - ], - [ - 12.2, - 49.54 - ], - [ - 12.1, - 50.07 - ], - [ - 12.1, - 50.6 - ], - [ - 12.33, - 51.1 - ], - [ - 12.55, - 51.59 - ], - [ - 12.68, - 52.11 - ], - [ - 12.78, - 52.62 - ], - [ - 12.86, - 53.12 - ], - [ - 12.83, - 53.65 - ], - [ - 12.76, - 54.17 - ], - [ - 12.1, - 54.99 - ] -] \ No newline at end of file diff --git a/recorder/湿地刷布点.json b/recorder/湿地刷布点.json deleted file mode 100644 index 97850f9..0000000 --- a/recorder/湿地刷布点.json +++ /dev/null @@ -1,70 +0,0 @@ -[ - [ - 61.08, - 73.18 - ], - [ - 61.26, - 72.7 - ], - [ - 61.44, - 72.21 - ], - [ - 61.62, - 71.71 - ], - [ - 61.8, - 71.23 - ], - [ - 61.98, - 70.73 - ], - [ - 62.12, - 70.23 - ], - [ - 62.3, - 69.76 - ], - [ - 62.48, - 69.26 - ], - [ - 62.3, - 69.76 - ], - [ - 62.14, - 70.25 - ], - [ - 61.99, - 70.73 - ], - [ - 61.83, - 71.21 - ], - [ - 61.67, - 71.71 - ], - [ - 61.51, - 72.2 - ], - [ - 61.33, - 72.68 - ], - [ - 61.17, - 73.18 - ] -] \ No newline at end of file diff --git a/recorder/灰熊丘陵巡逻点.json b/recorder/灰熊丘陵巡逻点.json deleted file mode 100644 index 80b1946..0000000 --- a/recorder/灰熊丘陵巡逻点.json +++ /dev/null @@ -1,86 +0,0 @@ -[ - [ - 10.76, - 60.55 - ], - [ - 11.12, - 60.93 - ], - [ - 11.48, - 61.31 - ], - [ - 12.01, - 61.3 - ], - [ - 12.53, - 61.35 - ], - [ - 12.91, - 61.72 - ], - [ - 13.28, - 62.08 - ], - [ - 13.8, - 62.14 - ], - [ - 14.32, - 62.07 - ], - [ - 14.53, - 61.58 - ], - [ - 14.42, - 61.04 - ], - [ - 14.31, - 60.51 - ], - [ - 14.18, - 60.01 - ], - [ - 14.03, - 59.51 - ], - [ - 13.57, - 59.28 - ], - [ - 13.05, - 59.42 - ], - [ - 12.54, - 59.55 - ], - [ - 12.11, - 59.88 - ], - [ - 12.01, - 60.41 - ], - [ - 11.53, - 60.58 - ], - [ - 10.76, - 60.55 - ] -] \ No newline at end of file diff --git a/recorder/祖达克-冰冷裂口巡逻点.json b/recorder/祖达克-冰冷裂口巡逻点.json deleted file mode 100644 index 6428ddd..0000000 --- a/recorder/祖达克-冰冷裂口巡逻点.json +++ /dev/null @@ -1,46 +0,0 @@ -[ - [ - 32.54, - 41.22 - ], - [ - 32.67, - 40.7 - ], - [ - 32.85, - 40.19 - ], - [ - 32.98, - 39.67 - ], - [ - 32.84, - 39.14 - ], - [ - 32.35, - 39.26 - ], - [ - 32.17, - 39.76 - ], - [ - 31.98, - 40.25 - ], - [ - 31.77, - 40.75 - ], - [ - 31.57, - 41.23 - ], - [ - 32.54, - 41.22 - ] -] \ No newline at end of file diff --git a/recorder/祖达克-西莱图斯祭坛巡逻点.json b/recorder/祖达克-西莱图斯祭坛巡逻点.json deleted file mode 100644 index 9852aa3..0000000 --- a/recorder/祖达克-西莱图斯祭坛巡逻点.json +++ /dev/null @@ -1,246 +0,0 @@ -[ - [ - 44.37, - 34.77 - ], - [ - 44.37, - 35.32 - ], - [ - 44.39, - 35.82 - ], - [ - 44.4, - 36.32 - ], - [ - 44.41, - 36.82 - ], - [ - 44.42, - 37.32 - ], - [ - 44.44, - 37.82 - ], - [ - 44.46, - 38.38 - ], - [ - 44.47, - 38.94 - ], - [ - 44.49, - 39.44 - ], - [ - 44.5, - 39.94 - ], - [ - 44.52, - 40.5 - ], - [ - 44.53, - 41.0 - ], - [ - 44.55, - 41.55 - ], - [ - 44.56, - 42.1 - ], - [ - 44.67, - 42.62 - ], - [ - 44.71, - 43.12 - ], - [ - 44.71, - 43.67 - ], - [ - 44.68, - 44.17 - ], - [ - 44.66, - 44.67 - ], - [ - 44.63, - 45.17 - ], - [ - 44.6, - 45.71 - ], - [ - 44.58, - 46.26 - ], - [ - 44.55, - 46.76 - ], - [ - 44.52, - 47.26 - ], - [ - 44.54, - 47.82 - ], - [ - 44.43, - 48.35 - ], - [ - 44.26, - 48.85 - ], - [ - 44.02, - 49.29 - ], - [ - 43.73, - 49.75 - ], - [ - 43.35, - 50.13 - ], - [ - 42.92, - 49.87 - ], - [ - 42.81, - 49.35 - ], - [ - 42.77, - 48.81 - ], - [ - 42.71, - 48.26 - ], - [ - 42.66, - 47.71 - ], - [ - 42.6, - 47.15 - ], - [ - 42.56, - 46.6 - ], - [ - 42.56, - 46.09 - ], - [ - 42.57, - 45.55 - ], - [ - 42.58, - 45.05 - ], - [ - 42.58, - 44.54 - ], - [ - 42.59, - 44.04 - ], - [ - 42.6, - 43.52 - ], - [ - 42.6, - 42.97 - ], - [ - 42.62, - 42.47 - ], - [ - 42.64, - 41.97 - ], - [ - 42.66, - 41.42 - ], - [ - 42.68, - 40.87 - ], - [ - 42.69, - 40.32 - ], - [ - 42.7, - 39.82 - ], - [ - 42.7, - 39.32 - ], - [ - 42.7, - 38.82 - ], - [ - 42.71, - 38.27 - ], - [ - 42.71, - 37.77 - ], - [ - 42.72, - 37.25 - ], - [ - 42.73, - 36.75 - ], - [ - 42.76, - 36.2 - ], - [ - 42.89, - 35.7 - ], - [ - 43.25, - 35.3 - ], - [ - 44.37, - 34.77 - ] -] \ No newline at end of file diff --git a/recorder/祖达克-西莱图斯西面.json b/recorder/祖达克-西莱图斯西面.json deleted file mode 100644 index 65bbe9a..0000000 --- a/recorder/祖达克-西莱图斯西面.json +++ /dev/null @@ -1,178 +0,0 @@ -[ - [ - 35.81, - 47.16 - ], - [ - 35.43, - 47.54 - ], - [ - 35.07, - 47.91 - ], - [ - 34.81, - 48.4 - ], - [ - 34.81, - 48.91 - ], - [ - 34.81, - 49.43 - ], - [ - 35.05, - 49.91 - ], - [ - 35.42, - 50.27 - ], - [ - 35.79, - 50.62 - ], - [ - 36.01, - 51.07 - ], - [ - 36.11, - 51.57 - ], - [ - 36.2, - 52.09 - ], - [ - 36.2, - 52.63 - ], - [ - 36.19, - 53.15 - ], - [ - 36.18, - 53.66 - ], - [ - 36.18, - 54.17 - ], - [ - 36.17, - 54.69 - ], - [ - 36.16, - 55.21 - ], - [ - 36.15, - 55.73 - ], - [ - 36.15, - 56.26 - ], - [ - 36.14, - 56.76 - ], - [ - 36.3, - 57.25 - ], - [ - 36.83, - 57.33 - ], - [ - 37.29, - 57.12 - ], - [ - 37.39, - 56.57 - ], - [ - 37.4, - 56.05 - ], - [ - 37.38, - 55.54 - ], - [ - 37.32, - 55.01 - ], - [ - 37.27, - 54.49 - ], - [ - 37.25, - 53.96 - ], - [ - 37.23, - 53.46 - ], - [ - 37.21, - 52.94 - ], - [ - 37.19, - 52.41 - ], - [ - 37.17, - 51.9 - ], - [ - 37.1, - 51.4 - ], - [ - 36.96, - 50.86 - ], - [ - 36.79, - 50.34 - ], - [ - 36.62, - 49.82 - ], - [ - 36.49, - 49.28 - ], - [ - 36.39, - 48.77 - ], - [ - 36.3, - 48.27 - ], - [ - 36.2, - 47.77 - ], - [ - 36.09, - 47.28 - ], - [ - 35.81, - 47.16 - ] -] \ No newline at end of file diff --git a/recorder/银色前线基地-修理商.json b/recorder/银色前线基地-修理商.json deleted file mode 100644 index 29d8027..0000000 --- a/recorder/银色前线基地-修理商.json +++ /dev/null @@ -1,26 +0,0 @@ -[ - [ - 85.23, - 74.7 - ], - [ - 85.51, - 75.15 - ], - [ - 85.8, - 75.58 - ], - [ - 86.31, - 75.64 - ], - [ - 86.81, - 75.63 - ], - [ - 87.26, - 75.89 - ] -] \ No newline at end of file diff --git a/recorder/银色前线基地-巡逻点.json b/recorder/银色前线基地-巡逻点.json deleted file mode 100644 index 3889f6c..0000000 --- a/recorder/银色前线基地-巡逻点.json +++ /dev/null @@ -1,74 +0,0 @@ -[ - [ - 85.31, - 74.79 - ], - [ - 85.0, - 74.37 - ], - [ - 84.71, - 73.94 - ], - [ - 84.4, - 73.49 - ], - [ - 84.11, - 73.07 - ], - [ - 83.81, - 72.65 - ], - [ - 83.52, - 73.08 - ], - [ - 83.44, - 73.59 - ], - [ - 83.54, - 74.12 - ], - [ - 83.58, - 74.66 - ], - [ - 83.68, - 75.18 - ], - [ - 83.77, - 75.71 - ], - [ - 83.87, - 76.23 - ], - [ - 83.97, - 76.76 - ], - [ - 84.36, - 76.44 - ], - [ - 84.62, - 75.99 - ], - [ - 84.89, - 75.56 - ], - [ - 85.31, - 74.79 - ] -] \ No newline at end of file diff --git a/recorder/风暴峭壁-水晶蛛网洞穴.json b/recorder/风暴峭壁-水晶蛛网洞穴.json deleted file mode 100644 index 54bc14d..0000000 --- a/recorder/风暴峭壁-水晶蛛网洞穴.json +++ /dev/null @@ -1,34 +0,0 @@ -[ - [ - 47.69, - 70.25 - ], - [ - 47.55, - 70.74 - ], - [ - 47.4, - 71.22 - ], - [ - 47.25, - 71.7 - ], - [ - 46.79, - 71.5 - ], - [ - 46.93, - 71.02 - ], - [ - 47.39, - 70.8 - ], - [ - 47.69, - 70.25 - ] -] \ No newline at end of file diff --git a/screenshot/game_state.png b/screenshot/game_state.png index 92810de..0be5237 100644 Binary files a/screenshot/game_state.png and b/screenshot/game_state.png differ diff --git a/screenshot/game_state_combat.png b/screenshot/game_state_combat.png index de8a7d9..2da3e80 100644 Binary files a/screenshot/game_state_combat.png and b/screenshot/game_state_combat.png differ diff --git a/screenshot/game_state_flight_block.png b/screenshot/game_state_flight_block.png index ddb2d15..a3c7400 100644 Binary files a/screenshot/game_state_flight_block.png and b/screenshot/game_state_flight_block.png differ diff --git a/screenshot/game_state_follow.png b/screenshot/game_state_follow.png index 7ab94d9..289b2d7 100644 Binary files a/screenshot/game_state_follow.png and b/screenshot/game_state_follow.png differ diff --git a/screenshot/game_state_hp.png b/screenshot/game_state_hp.png index 17dc1a0..dd3a9fe 100644 Binary files a/screenshot/game_state_hp.png and b/screenshot/game_state_hp.png differ diff --git a/screenshot/game_state_logistics_death.png b/screenshot/game_state_logistics_death.png index 4743f89..b3dc859 100644 Binary files a/screenshot/game_state_logistics_death.png and b/screenshot/game_state_logistics_death.png differ diff --git a/screenshot/game_state_mp.png b/screenshot/game_state_mp.png index 5691984..2da3e80 100644 Binary files a/screenshot/game_state_mp.png and b/screenshot/game_state_mp.png differ diff --git a/screenshot/game_state_target.png b/screenshot/game_state_target.png index 509c85b..7087bd9 100644 Binary files a/screenshot/game_state_target.png and b/screenshot/game_state_target.png differ diff --git a/screenshot/game_state_x.png b/screenshot/game_state_x.png index ccce0f4..a86ee90 100644 Binary files a/screenshot/game_state_x.png and b/screenshot/game_state_x.png differ diff --git a/screenshot/game_state_y.png b/screenshot/game_state_y.png index 74cae33..a00a7e2 100644 Binary files a/screenshot/game_state_y.png and b/screenshot/game_state_y.png differ diff --git a/wow_multikey_gui.py b/wow_multikey_gui.py index bd35e54..5df0e20 100644 --- a/wow_multikey_gui.py +++ b/wow_multikey_gui.py @@ -394,6 +394,7 @@ class GameLoopWorker(QThread): skip_prepare_route=False, patrol_route_switch_laps=0, patrol_point_offset_radius=0.15, + random_patrol_direction=False, ): super().__init__() self.mode = mode # 'monitor' | 'patrol' | 'combat' | 'quest_follow' | 'flight' | 'record' @@ -409,6 +410,7 @@ class GameLoopWorker(QThread): self.vendor_path = vendor_path self.mailbox_route_path = mailbox_route_path self.skip_prepare_route = bool(skip_prepare_route) + self.random_patrol_direction = bool(random_patrol_direction) try: self.patrol_route_switch_laps = max(0, int(patrol_route_switch_laps or 0)) except (TypeError, ValueError): @@ -511,6 +513,7 @@ class GameLoopWorker(QThread): skip_prepare_route=self.skip_prepare_route, patrol_route_switch_laps=self.patrol_route_switch_laps, patrol_point_offset_radius=self.patrol_point_offset_radius, + random_patrol_direction=self.random_patrol_direction, ) self.bot_move._on_hearthstone_stop = self.stop_signal.emit except ImportError as e: @@ -822,6 +825,8 @@ class WoWMultiKeyGUI(QMainWindow): self.patrol_attack_loop_combo.setMinimumWidth(200) self.skip_prepare_route_check = QCheckBox("跳过准备路线") self.skip_prepare_route_check.setChecked(False) + self.random_patrol_direction_check = QCheckBox("随机巡逻方向") + self.random_patrol_direction_check.setChecked(False) self.patrol_route_switch_laps_spin = QSpinBox() self.patrol_route_switch_laps_spin.setRange(0, 999) self.patrol_route_switch_laps_spin.setValue(0) @@ -839,6 +844,7 @@ class WoWMultiKeyGUI(QMainWindow): refresh_btn.clicked.connect(self._refresh_recorder_combos) patrol_layout.addRow("路线方案 JSON:", self.route_profile_combo) patrol_layout.addRow("", self.skip_prepare_route_check) + patrol_layout.addRow("", self.random_patrol_direction_check) patrol_layout.addRow("巡逻路线轮换:", self.patrol_route_switch_laps_spin) patrol_layout.addRow("巡逻点偏移半径:", self.patrol_point_offset_spin) patrol_layout.addRow("攻击循环:", self.patrol_attack_loop_combo) @@ -1842,6 +1848,7 @@ class WoWMultiKeyGUI(QMainWindow): skip_prepare_route = False patrol_route_switch_laps = 0 patrol_point_offset_radius = 0.15 + random_patrol_direction = False if mode == 'patrol': profile_path = self.route_profile_combo.currentData() or "" if not profile_path: @@ -1863,6 +1870,7 @@ class WoWMultiKeyGUI(QMainWindow): return route_profile_path = profile_path skip_prepare_route = self.skip_prepare_route_check.isChecked() + random_patrol_direction = self.random_patrol_direction_check.isChecked() patrol_route_switch_laps = int(self.patrol_route_switch_laps_spin.value()) patrol_point_offset_radius = float(self.patrol_point_offset_spin.value()) attack_loop_path = None @@ -1977,6 +1985,7 @@ class WoWMultiKeyGUI(QMainWindow): skip_prepare_route=skip_prepare_route, patrol_route_switch_laps=patrol_route_switch_laps, patrol_point_offset_radius=patrol_point_offset_radius, + random_patrol_direction=random_patrol_direction, ) self.game_worker.state_signal.connect(self.state_label.setText) self.game_worker.log_signal.connect(self.log) diff --git a/wow_multikey_qt.json b/wow_multikey_qt.json index e161442..8ad249b 100644 --- a/wow_multikey_qt.json +++ b/wow_multikey_qt.json @@ -12,11 +12,11 @@ "eat_hp_threshold": 30, "eat_max_wait_sec": 30.0, "enable_mouse_loot": true, - "use_tianya_box": true, - "use_ghost_box": false, + "use_tianya_box": false, + "use_ghost_box": true, "use_hardware_input": true, "turn_error_key": "4", "turn_error_hold_sec": 0.5, "distance_interact_pause_sec": 1.0 } -} +} \ No newline at end of file