Fix an error in restocking logic (Fixes #3131)

openmw-38 openmw-0.38.0
scrawl 8 years ago
parent fde831e2e0
commit 471ad3fb0f

@ -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