Files
wow/docs/history.md
2026-03-25 15:41:48 +08:00

62 lines
3.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 更新记录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`,减少航点/转向后的抖动。