Let cancelled bound item effect remain active for the frame

This commit is contained in:
Alexei Kotov 2025-03-05 23:43:35 +03:00
parent 5b18edf938
commit 918a6352e4

View File

@ -192,10 +192,7 @@ namespace
newItem = *it; newItem = *it;
if (newItem.isEmpty() || boundPtr != newItem) if (newItem.isEmpty() || boundPtr != newItem)
{
store.remove(boundPtr, 1);
return false; return false;
}
if (actor == MWMechanics::getPlayer()) if (actor == MWMechanics::getPlayer())
{ {
@ -641,7 +638,7 @@ namespace MWMechanics
const MWWorld::Store<ESM::GameSetting>& gmst = world->getStore().get<ESM::GameSetting>(); const MWWorld::Store<ESM::GameSetting>& gmst = world->getStore().get<ESM::GameSetting>();
const ESM::RefId itemId = ESM::RefId::stringRefId(gmst.find(item)->mValue.getString()); const ESM::RefId itemId = ESM::RefId::stringRefId(gmst.find(item)->mValue.getString());
if (!addBoundItem(itemId, target)) if (!addBoundItem(itemId, target))
invalid = true; effect.mTimeLeft = 0.f;
break; break;
} }
case ESM::MagicEffect::FireDamage: case ESM::MagicEffect::FireDamage: