修复装备系统不扣除物品的bug

This commit is contained in:
2025-11-13 21:03:00 +08:00
parent a121a2478f
commit 9a7edc2b41

View File

@@ -85,6 +85,13 @@ class CombatService:
(item_id, user_id) (item_id, user_id)
) )
self._db.conn.commit() self._db.conn.commit()
# 6. 扣除装备物品
backpack.set_item_quantity(user_id, item_id, backpack.add_item(user_id, item_id, 0) - 1)
# 7. 恢复被卸下的装备
if old_equipped:
backpack.add_item(user_id, old_equipped, 1)
result_msg = f"✅ 已装备 {equipment.name}" result_msg = f"✅ 已装备 {equipment.name}"
if old_equipped and old_equipped != item_id: if old_equipped and old_equipped != item_id:
@@ -131,6 +138,10 @@ class CombatService:
(user_id,) (user_id,)
) )
self._db.conn.commit() self._db.conn.commit()
# 8. 恢复被卸下的装备
backpack: WPSBackpackSystem = Architecture.Get(WPSBackpackSystem)
backpack.add_item(user_id, old_item_id, 1)
return True, f"✅ 已卸下 {old_name}" return True, f"✅ 已卸下 {old_name}"