fix: fix toggle soulshot method
This commit is contained in:
@ -40,13 +40,15 @@ namespace Interlude
|
||||
return result;
|
||||
}
|
||||
|
||||
const Entities::BaseItem& GetItem(uint32_t objectId) const
|
||||
const std::shared_ptr<Entities::BaseItem> GetItem(uint32_t objectId) const
|
||||
{
|
||||
std::unique_lock<std::shared_timed_mutex>(m_Mutex);
|
||||
|
||||
if (m_Items.find(objectId) != m_Items.end())
|
||||
{
|
||||
return m_Items.at(objectId).get();
|
||||
return m_Items.at(objectId);
|
||||
}
|
||||
return Entities::BaseItem();
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
ItemRepository(const NetworkHandlerWrapper& networkHandler, const ItemFactory& factory, EntityFinder& finder) :
|
||||
|
@ -100,13 +100,13 @@ namespace Interlude
|
||||
void ToggleAutouseSoulshot(int objectId) const override
|
||||
{
|
||||
const auto item = m_ItemRespository.GetItem(objectId);
|
||||
if (item.GetId())
|
||||
if (item)
|
||||
{
|
||||
const auto etcItem = static_cast<const Entities::EtcItem&>(item);
|
||||
const auto etcItem = static_cast<const Entities::EtcItem*>(item.get());
|
||||
|
||||
L2ParamStack* stack = new L2ParamStack(2);
|
||||
stack->PushBack((void*)etcItem.GetItemId());
|
||||
stack->PushBack((void*)(etcItem.IsAutoused() ? 0 : 1));
|
||||
stack->PushBack((void*)etcItem->GetItemId());
|
||||
stack->PushBack((void*)(etcItem->IsAutoused() ? 0 : 1));
|
||||
|
||||
m_NetworkHandler.RequestAutoSoulShot(*stack);
|
||||
|
||||
|
Reference in New Issue
Block a user