diff options
author | psi29a <psi29a@gmail.com> | 2022-01-04 10:22:45 +0000 |
---|---|---|
committer | psi29a <psi29a@gmail.com> | 2022-01-04 10:22:45 +0000 |
commit | e16245278e7ebd9325087cec883df78914b383d3 (patch) | |
tree | ab288c6333d0c59ee7dfbd9ed5b656f8aa05f885 | |
parent | 2e43a1278b61b74ad1bb7b74f7bbe96526a5e114 (diff) | |
parent | dc946d0a4738808f58cf63c26cfc33b7ff809829 (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.cpp | 3 | ||||
-rw-r--r-- | apps/openmw/mwmechanics/spelleffects.cpp | 4 |
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}"); } |