diff --git a/apps/openmw/mwmp/MechanicsHelper.cpp b/apps/openmw/mwmp/MechanicsHelper.cpp index a86f9c2b3..532f28676 100644 --- a/apps/openmw/mwmp/MechanicsHelper.cpp +++ b/apps/openmw/mwmp/MechanicsHelper.cpp @@ -125,6 +125,23 @@ MWWorld::Ptr MechanicsHelper::getPlayerPtr(const Target& target) return nullptr; } +mwmp::Item MechanicsHelper::getItem(const MWWorld::Ptr& itemPtr, int count) +{ + mwmp::Item item; + + if (itemPtr.getClass().isGold(itemPtr)) + item.refId = MWWorld::ContainerStore::sGoldId; + else + item.refId = itemPtr.getCellRef().getRefId(); + + item.count = count; + item.charge = itemPtr.getCellRef().getCharge(); + item.enchantmentCharge = itemPtr.getCellRef().getEnchantmentCharge(); + item.soul = itemPtr.getCellRef().getSoul(); + + return item; +} + mwmp::Target MechanicsHelper::getTarget(const MWWorld::Ptr& ptr) { mwmp::Target target; diff --git a/apps/openmw/mwmp/MechanicsHelper.hpp b/apps/openmw/mwmp/MechanicsHelper.hpp index 6fa490384..d29ba58cb 100644 --- a/apps/openmw/mwmp/MechanicsHelper.hpp +++ b/apps/openmw/mwmp/MechanicsHelper.hpp @@ -22,6 +22,7 @@ namespace MechanicsHelper MWWorld::Ptr getPlayerPtr(const mwmp::Target& target); + mwmp::Item getItem(const MWWorld::Ptr& itemPtr, int count); mwmp::Target getTarget(const MWWorld::Ptr& ptr); void clearTarget(mwmp::Target& target); bool isEmptyTarget(const mwmp::Target& target);