#ifdef __TARGET_BOARD_RENEWAL__
bool ITEM_MANAGER::CreateDropItemVector(LPCHARACTER pkChr, LPCHARACTER pkKiller, std::vector<TMobInformationDropItem>& vec_item)
{
if (pkChr->IsPC() || pkChr->IsDoor() || pkChr->IsWarp() || pkChr->IsGoto())
return false;
auto it = m_map_pkDropItemGroup.find(pkChr->GetRaceNum());
if (it != m_map_pkDropItemGroup.end())
{
typeof(it->second->GetVector()) v = it->second->GetVector();
for (DWORD i = 0; i < v.size(); ++i)
{
vec_item.push_back({v[i].dwVnum, v[i].iCount});
}
}
auto it2 = m_map_pkMobItemGroup.find(pkChr->GetRaceNum());
if (it2 != m_map_pkMobItemGroup.end())
{
CMobItemGroup* pGroup = it2->second;
if (pGroup && !pGroup->IsEmpty())
{
const CMobItemGroup::SMobItemGroupInfo& info = pGroup->GetOne();
vec_item.push_back({info.dwItemVnum, info.iCount});
}
}
auto it3 = m_map_pkLevelItemGroup.find(pkChr->GetRaceNum());
if (it3 != m_map_pkLevelItemGroup.end())
{
typeof(it3->second->GetVector()) v = it3->second->GetVector();
for (DWORD i = 0; i < v.size(); i++)
{
vec_item.push_back({v[i].dwVNum, v[i].iCount});
}
}
auto it4 = m_map_pkGloveItemGroup.find(pkChr->GetRaceNum());
if (it4 != m_map_pkGloveItemGroup.end())
{
typeof(it4->second->GetVector()) v = it4->second->GetVector();
for (DWORD i = 0; i < v.size(); ++i)
{
vec_item.push_back({v[i].dwVnum, v[i].iCount});
}
}
if (pkChr->GetMobDropItemVnum())
{
auto it5 = m_map_dwEtcItemDropProb.find(pkChr->GetMobDropItemVnum());
if (it5 != m_map_dwEtcItemDropProb.end())
{
vec_item.push_back({pkChr->GetMobDropItemVnum(), 1});
}
}
return true;
}
#endif