1
0
Fork 0
mirror of https://github.com/OpenMW/openmw.git synced 2025-10-15 00:26:36 +00:00

Don't add magic effects to dead actors

This commit is contained in:
Evil Eye 2025-08-24 19:03:53 +02:00
parent 2b7f775ffe
commit 49de215112

View file

@ -294,19 +294,22 @@ namespace MWMechanics
addToSpells(ptr, spell, context);
mQueue.clear();
// Vanilla only does this on cell change I think
const auto& spells = creatureStats.getSpells();
for (const ESM::Spell* spell : spells)
if (!creatureStats.isDead())
{
if (spell->mData.mType != ESM::Spell::ST_Spell && spell->mData.mType != ESM::Spell::ST_Power
&& !isSpellActive(spell->mId))
// Vanilla only does this on cell change I think
const auto& spells = creatureStats.getSpells();
for (const ESM::Spell* spell : spells)
{
initParams(ptr, ActiveSpellParams{ spell, ptr, true }, context);
if (spell->mData.mType != ESM::Spell::ST_Spell && spell->mData.mType != ESM::Spell::ST_Power
&& !isSpellActive(spell->mId))
{
initParams(ptr, ActiveSpellParams{ spell, ptr, true }, context);
}
}
}
if (ptr.getClass().hasInventoryStore(ptr)
&& !(creatureStats.isDead() && !creatureStats.isDeathAnimationFinished()))
&& !(creatureStats.isDead() && creatureStats.isDeathAnimationFinished()))
{
auto& store = ptr.getClass().getInventoryStore(ptr);
if (store.getInvListener() != nullptr)