diff --git a/apps/openmw/mwgui/recharge.cpp b/apps/openmw/mwgui/recharge.cpp index 8602c4db3..f2788eedb 100644 --- a/apps/openmw/mwgui/recharge.cpp +++ b/apps/openmw/mwgui/recharge.cpp @@ -17,6 +17,7 @@ #include "../mwmp/Main.hpp" #include "../mwmp/Networking.hpp" #include "../mwmp/LocalPlayer.hpp" +#include "../mwmp/MechanicsHelper.hpp" /* End of tes3mp addition */ @@ -182,12 +183,15 @@ void Recharge::onItemClicked(MyGUI::Widget *sender, const MWWorld::Ptr& item) Send PlayerInventory packets that replace the original item with the new one */ mwmp::LocalPlayer *localPlayer = mwmp::Main::get().getLocalPlayer(); - localPlayer->sendItemChange(item, 1, mwmp::InventoryChanges::REMOVE); + mwmp::Item removedItem = MechanicsHelper::getItem(item, 1); item.getCellRef().setEnchantmentCharge( std::min(item.getCellRef().getEnchantmentCharge() + restored, static_cast(enchantment->mData.mCharge))); - localPlayer->sendItemChange(item, 1, mwmp::InventoryChanges::ADD); + mwmp::Item addedItem = MechanicsHelper::getItem(item, 1); + + localPlayer->sendItemChange(addedItem, mwmp::InventoryChanges::ADD); + localPlayer->sendItemChange(removedItem, mwmp::InventoryChanges::REMOVE); /* End of tes3mp change (minor) */ diff --git a/apps/openmw/mwmechanics/repair.cpp b/apps/openmw/mwmechanics/repair.cpp index 43fa35d8e..5a6983886 100644 --- a/apps/openmw/mwmechanics/repair.cpp +++ b/apps/openmw/mwmechanics/repair.cpp @@ -12,6 +12,7 @@ #include "../mwmp/Main.hpp" #include "../mwmp/Networking.hpp" #include "../mwmp/LocalPlayer.hpp" +#include "../mwmp/MechanicsHelper.hpp" /* End of tes3mp addition */ @@ -76,11 +77,14 @@ void Repair::repair(const MWWorld::Ptr &itemToRepair) Send PlayerInventory packets that replace the original item with the new one */ mwmp::LocalPlayer *localPlayer = mwmp::Main::get().getLocalPlayer(); - localPlayer->sendItemChange(itemToRepair, 1, mwmp::InventoryChanges::REMOVE); + mwmp::Item removedItem = MechanicsHelper::getItem(itemToRepair, 1); itemToRepair.getCellRef().setCharge(charge); - localPlayer->sendItemChange(itemToRepair, 1, mwmp::InventoryChanges::ADD); + mwmp::Item addedItem = MechanicsHelper::getItem(itemToRepair, 1); + + localPlayer->sendItemChange(addedItem, mwmp::InventoryChanges::ADD); + localPlayer->sendItemChange(removedItem, mwmp::InventoryChanges::REMOVE); /* End of tes3mp change (minor) */