Fix "removeitem gold_100" behavior

This commit is contained in:
Koncord 2015-07-20 09:53:08 +09:00
parent aefcd1ad07
commit 9485aa5e44

View file

@ -362,8 +362,18 @@ int MWWorld::ContainerStore::remove(const std::string& itemId, int count, const
{
int toRemove = count;
std::string id = itemId;
if(Misc::StringUtils::ciEqual(itemId, "gold_005")
|| Misc::StringUtils::ciEqual(itemId, "gold_010")
|| Misc::StringUtils::ciEqual(itemId, "gold_025")
|| Misc::StringUtils::ciEqual(itemId, "gold_100"))
{
id = MWWorld::ContainerStore::sGoldId;
}
for (ContainerStoreIterator iter(begin()); iter != end() && toRemove > 0; ++iter)
if (Misc::StringUtils::ciEqual(iter->getCellRef().getRefId(), itemId))
if (Misc::StringUtils::ciEqual(iter->getCellRef().getRefId(), id))
toRemove -= remove(*iter, toRemove, actor);
flagAsModified();