summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorpsi29a <psi29a@gmail.com>2022-01-04 10:22:45 +0000
committerpsi29a <psi29a@gmail.com>2022-01-04 10:22:45 +0000
commite16245278e7ebd9325087cec883df78914b383d3 (patch)
treeab288c6333d0c59ee7dfbd9ed5b656f8aa05f885
parent2e43a1278b61b74ad1bb7b74f7bbe96526a5e114 (diff)
parentdc946d0a4738808f58cf63c26cfc33b7ff809829 (diff)
Merge branch 'lit_ur' into 'master'
Fix Dagoth Ur's Fire Shield not being visible See merge request OpenMW/openmw!1514
-rw-r--r--apps/openmw/mwmechanics/activespells.cpp3
-rw-r--r--apps/openmw/mwmechanics/spelleffects.cpp4
2 files changed, 3 insertions, 4 deletions
diff --git a/apps/openmw/mwmechanics/activespells.cpp b/apps/openmw/mwmechanics/activespells.cpp
index 3fbb347098..0c781e81bd 100644
--- a/apps/openmw/mwmechanics/activespells.cpp
+++ b/apps/openmw/mwmechanics/activespells.cpp
@@ -218,8 +218,7 @@ namespace MWMechanics
return params.mSlot == slotIndex && params.mType == ESM::ActiveSpells::Type_Enchantment && params.mId == slot->getCellRef().getRefId();
}) != mSpells.end())
continue;
- ActiveSpellParams params(*slot, enchantment, slotIndex, ptr);
- mSpells.emplace_back(params);
+ const ActiveSpellParams& params = mSpells.emplace_back(ActiveSpellParams{*slot, enchantment, slotIndex, ptr});
for(const auto& effect : params.mEffects)
MWMechanics::playEffects(ptr, *world->getStore().get<ESM::MagicEffect>().find(effect.mEffectId), playNonLooping);
}
diff --git a/apps/openmw/mwmechanics/spelleffects.cpp b/apps/openmw/mwmechanics/spelleffects.cpp
index 558a7ebea8..7e5f89b39b 100644
--- a/apps/openmw/mwmechanics/spelleffects.cpp
+++ b/apps/openmw/mwmechanics/spelleffects.cpp
@@ -914,8 +914,8 @@ MagicApplicationResult applyMagicEffect(const MWWorld::Ptr& target, const MWWorl
oldMagnitude = effect.mMagnitude;
else
{
- if(spellParams.getType() == ESM::ActiveSpells::Type_Consumable || spellParams.getType() == ESM::ActiveSpells::Type_Temporary)
- playEffects(target, *magicEffect);
+ if(spellParams.getType() != ESM::ActiveSpells::Type_Enchantment)
+ playEffects(target, *magicEffect, spellParams.getType() == ESM::ActiveSpells::Type_Consumable || spellParams.getType() == ESM::ActiveSpells::Type_Temporary);
if(effect.mEffectId == ESM::MagicEffect::Soultrap && !target.getClass().isNpc() && target.getType() == ESM::Creature::sRecordId && target.get<ESM::Creature>()->mBase->mData.mSoul == 0 && caster == getPlayer())
MWBase::Environment::get().getWindowManager()->messageBox("#{sMagicInvalidTarget}");
}