47 lines
1.6 KiB
Markdown
47 lines
1.6 KiB
Markdown
# 背景
|
||
文件名: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
|
||
- 已修改:无
|
||
- 更改:收到用户确认执行成功
|
||
- 原因:流程确认
|
||
- 阻碍因素:无
|
||
- 状态:成功
|
||
|
||
# 最终审查
|
||
(待补充)
|