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

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

View File

@@ -86,6 +86,13 @@ class CombatService:
)
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}"
if old_equipped and old_equipped != item_id:
old_eq = EQUIPMENT_REGISTRY.get(old_equipped)
@@ -132,6 +139,10 @@ class CombatService:
)
self._db.conn.commit()
# 8. 恢复被卸下的装备
backpack: WPSBackpackSystem = Architecture.Get(WPSBackpackSystem)
backpack.add_item(user_id, old_item_id, 1)
return True, f"✅ 已卸下 {old_name}"
def get_equipped_items(self, user_id: int) -> Dict[str, Optional[EquipmentDefinition]]: