Files
NewWPSBot/.tasks/2025-11-12_2_alchemy_material_check.md

47 lines
1.6 KiB
Markdown
Raw Permalink 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.

# 背景
文件名2025-11-12_2_alchemy_material_check.md
创建于2025-11-12_17:24:24
创建者desktop-l305h65\admin
主分支main
任务分支:(未创建)
Yolo模式Off
# 任务描述
修复炼金系统扣除重复材料时可能只扣部分并导致异常的问题。
# 项目概览
NewWPSBot 炼金系统。
# 分析
当前物品炼金在 `_handle_item_alchemy` 中逐一扣减材料,每次调用 `set_item_quantity`。当配方包含重复材料且玩家库存恰好等于需求时,前几次扣减会成功,后续重复材料因数量不足触发 `quantity must be non-negative` 异常,导致炼金终止而之前已扣的材料不会回滚。
# 提议的解决方案
在炼金前先统计材料清单,使用合并后的唯一材料和需求总量进行库存校验;所有材料都满足后再按聚合结果一次性扣减,避免部分扣减和异常。
# 当前执行步骤:"3. 详细规划"
# 任务进度
2025-11-12_17:28:26
- 已修改:.tasks/2025-11-12_2_alchemy_material_check.md
- 更改:补充分析、解决方案并更新当前步骤
- 原因:记录炼金材料扣减问题与计划
- 阻碍因素:无
- 状态:未确认
2025-11-12_17:29:25
- 已修改Plugins/WPSAlchemyGame.py
- 更改:聚合材料数量后统一校验并扣减库存
- 原因:避免重复材料扣除时出现部分扣减和异常
- 阻碍因素:无
- 状态:成功
2025-11-12_17:46:36
- 已修改:无
- 更改:收到用户确认执行成功
- 原因:流程确认
- 阻碍因素:无
- 状态:成功
# 最终审查
(待补充)