Remove unused patrol state

This commit is contained in:
王鹏
2026-05-07 15:52:18 +08:00
parent a48ed597b4
commit 0d493ee180
2 changed files with 2 additions and 10 deletions

View File

@@ -264,7 +264,6 @@ class AutoBotMove:
self._has_braked_for_target = False # 是否已经执行过刹车
self.is_running = True
self.is_moving = False
self.target_acquired_time = None # 本次获得目标的时间,用于仅在做「跑向怪」时做卡死检测
# 记录上一帧是否处于战斗/有目标,用于检测“刚刚脱战”的瞬间
self._was_in_combat_or_target = False
self.skinning_wait_sec = float(skinning_wait_sec) if skinning_wait_sec is not None else 1.5
@@ -354,7 +353,6 @@ class AutoBotMove:
self.prepare_route_completed = not bool(self.prepare_route_waypoints)
self.is_running_prepare_route = bool(self.prepare_route_waypoints)
self.prepare_route_snapped = False
self.target_acquired_time = None
self.last_turn_signal_time = 0.0
self.last_interaction_time = 0.0
self.distance_interact_brake_pending = False
@@ -832,14 +830,12 @@ class AutoBotMove:
self._on_hearthstone_stop()
return
# 3. 战斗/有目标:停止移动,执行攻击逻辑;仅在「跑向怪」短窗口内做卡死检测
# 3. 战斗/有目标:停止移动,执行攻击逻辑
# 核心修改:只要还在战斗中,就不算“完全脱战”,即使当前没目标(可能正在 Tab 找下一个)
if in_combat_or_target:
# 被动进战时立即打断进食等待,转入正常战斗流程
self._eating_started_at = None
if self.target_acquired_time is None:
self.target_acquired_time = time.time()
if self.is_moving:
self.patrol_controller.stop_all()
self.is_moving = False
@@ -930,7 +926,6 @@ class AutoBotMove:
# 扫尾动作执行完后,本 tick 强制结束,防止立即按下 Tab
self._was_in_combat_or_target = False
self.target_acquired_time = None
self.last_turn_signal_time = 0.0
self.last_interaction_time = 0.0
self.distance_interact_brake_pending = False
@@ -938,7 +933,6 @@ class AutoBotMove:
self.last_tab_time = time.time() + 1.0 # 给找怪增加 1 秒额外冷却
return
self.target_acquired_time = None
self.last_turn_signal_time = 0.0
self.last_interaction_time = 0.0
self.distance_interact_brake_pending = False

View File

@@ -7,8 +7,6 @@ class StuckHandler:
# 针对 0.xxxx 坐标系优化
DEFAULT_MIN_MOVE = 0.002 # 极其微小的位移也算移动
DEFAULT_STUCK_DURATION = 2.5 # 减少等待时间,提高效率
TURN_GRACE_SEC = 1.0 # 缩短宽限期,边走边转不需要 5 秒
def __init__(self, min_move_threshold=None, stuck_duration_sec=None):
self.last_pos = None
self.stuck_start_time = 0
@@ -88,4 +86,4 @@ class StuckHandler:
def reset(self):
self.last_pos = None
self.stuck_start_time = 0
self.stuck_start_time = 0