# 更新记录(History) ## 2026-03-17 ### 剥皮等待时间可配置(接入 GUI) - **新增 GUI 参数**:在 `wow_multikey_gui.py` 的「参数配置」页新增 **剥皮等待时间**(秒)可调项,保存后用于控制脱战后剥皮等待时长。 - **Bot 接入参数**: - `auto_bot_move.py`:`AutoBotMove` 新增 `skinning_wait_sec` 参数,`execute_disengage_loot()` 使用该值替代固定等待。 - `auto_bot.py`:`AutoBot` 新增 `skinning_wait_sec` 参数,`execute_disengage_loot()` 使用该值替代固定等待。 - **配置文件升级与兼容**: - `wow_multikey_qt.json` 结构升级为 `{ "keys": {...}, "bot": {...} }`,其中 `bot.skinning_wait_sec` 存储剥皮等待秒数。 - 兼容旧版仅包含按键配置的结构:加载时会自动包裹为 `keys`,不会丢失旧配置。 ### 使用方式 1. 打开 GUI → **参数配置** → 设置 **剥皮等待时间** → 点击 **保存配置** 2. 启动 **巡逻打怪** 或 **自动打怪**,剥皮等待时间按保存值生效。 ## 2026-03-23 ### 飞行模式接入 GUI - **GUI 更新**:在 `wow_multikey_gui.py` 的「状态/巡逻/打怪」模式按钮中新增 **飞行模式**(放在「任务跟随」后面)。 - **新建飞行类**:新增 `flight_mode.py`,实现飞行模式状态推进逻辑。 - **目的地选择**:可在飞行模式配置中选择坐标 JSON,取 JSON 中 **最后一个有效坐标点** 作为目的地。 - **运动逻辑**:飞行过程中每帧调用 `coordinate_patrol.py` 的 `simple_flight_navigate()` 完成上马、起飞、飞向坐标与降落。 ### 飞行模式降落按键默认改为 p - **GUI 更新**:在 `wow_multikey_gui.py` 的「飞行模式配置」页,「降落按键」默认值与占位提示从 `x` 改为 `p`。 - **行为更新**:`flight_mode.py` 中 `FlightModeBot` 的默认 `land_key` 从 `x` 改为 `p`,保证未手动填写/未在配置中存在时仍使用 `p`。 ## 2026-03-25 ### 脱战低血就地吃面包 - **新增逻辑**:`auto_bot_move.py` 在脱战状态下,当 `hp < 30%` 时按一次面包键开始恢复。 - **等待规则**:进入恢复后,最多等待 30 秒;若血量先到 `100%` 则提前结束。 - **行为约束**:恢复期间不巡逻、不主动按 `Tab` 寻找目标。 - **战斗中断**:若恢复过程中被动进入战斗(`combat/target` 变为真),立即中断恢复并进入正常战斗逻辑。 ### 吃面包参数接入 GUI 配置 - **参数配置页新增**:`wow_multikey_gui.py` 的「参数配置」页新增: - `吃面包按键`(`food_key`,默认 `f1`) - `吃面包血量阈值`(`eat_hp_threshold`,默认 `30`) - `吃面包最长等待`(`eat_max_wait_sec`,默认 `30.0` 秒) - **配置持久化**:上述参数保存到 `wow_multikey_qt.json` 的 `bot` 节点。 - **运行时透传**:`start_game_loop` → `GameLoopWorker` → `AutoBotMove` 全链路透传并生效。 - **兼容性**:`AutoBotMove` 保留默认值,旧配置文件可直接运行。 ### `navigate_to_point` 对齐 `navigate` 优化 - **到点处理**:`coordinate_patrol.py` 的 `navigate_to_point` 到达判定后不再调用 `stop_all()`,改为仅松开左右修正键并保持 `W` 前进,从而实现连续平滑过渡。 - **转向触发逻辑**:`navigate_to_point` 转向决策按 `navigate` 的三档策略调整(死区直行、阈值外脉冲转向、死区与阈值之间不修正),降低航点附近左右抖动。 ### `navigate_path` 对齐 `navigate` 优化 - **轮询间隔**:`coordinate_patrol.py` 的 `navigate_path` 阻塞等待轮询由固定 `time.sleep(0.05)` 调整为局部 `poll_sleep_sec = 0.02`,让阻塞模式控制频率更接近 `navigate`,减少航点/转向后的抖动。