Code: Select all
Item* item = indexed_items[index];
map<int16, Item*>::iterator itr;
if(item && item->IsBag() && item->details.inv_slot_id == 0 && item->details.slot_id < NUM_INV_SLOTS && items.count((sint32)item->details.bag_id) > 0){ //inventory
map<int16, Item*>* tmp_map = &(items[(sint32)item->details.bag_id]);
for(itr = tmp_map->begin(); itr != tmp_map->end(); itr++){
indexed_items[itr->second->details.index] = 0;
if(itr->second != item){
safe_delete(itr->second);
}
}
items.erase(item->details.bag_id);
}
if(items.count(item->details.inv_slot_id) > 0 && items[item->details.inv_slot_id].count(item->details.slot_id) > 0) <--- arrow here
items[item->details.inv_slot_id].erase(item->details.slot_id);EQ2World__Debug.exe!Entity::RangeAttack(Spawn * victim, float distance, Item * weapon, Item * ammo, bool multi_attack) Line 274 C++
EQ2World__Debug.exe!Player::ProcessCombat() Line 954 C++
EQ2World__Debug.exe!ZoneServer::CombatProcess() Line 982 C++
EQ2World__Debug.exe!ZoneServer::SpawnProcess() Line 1034 C++
EQ2World__Debug.exe!SpawnLoop(void * tmp) Line 5189 C++
EQ2World__Debug.exe!_callthreadstart() Line 255 C
EQ2World__Debug.exe!_threadstart(void * ptd) Line 239 C
kernel32.dll!@BaseThreadInitThunk@12() Unknown
ntdll.dll!___RtlUserThreadStart@8() Unknown
ntdll.dll!__RtlUserThreadStart@8() Unknown