Fix an error in restocking logic (Fixes #3131)

coverity_scan
scrawl 9 years ago
parent 4e6a60672d
commit ef1a1125e0

@ -529,10 +529,10 @@ void MWWorld::ContainerStore::restock (const ESM::InventoryList& items, const MW
{
std::map<std::string, int>::iterator listInMap = allowedForReplace.find(itemOrList);
int restockNum = it->mCount;
int restockNum = std::abs(it->mCount);
//If we know we must restock less, take it into account
if(listInMap != allowedForReplace.end())
restockNum += listInMap->second;//We add, because list items have negative count
restockNum -= std::min(restockNum, listInMap->second);
//restock
addInitialItem(itemOrList, owner, restockNum, true);
}

Loading…
Cancel
Save