|
|
|
@ -1605,6 +1605,8 @@ namespace MWMechanics
|
|
|
|
|
effects = &spell->mEffects.mList;
|
|
|
|
|
cast.playSpellCastingEffects(spell);
|
|
|
|
|
}
|
|
|
|
|
if (!effects->empty())
|
|
|
|
|
{
|
|
|
|
|
if (mCanCast)
|
|
|
|
|
{
|
|
|
|
|
const ESM::MagicEffect* effect = store.get<ESM::MagicEffect>().find(
|
|
|
|
@ -1613,10 +1615,9 @@ namespace MWMechanics
|
|
|
|
|
const ESM::Static* castStatic
|
|
|
|
|
= world->getStore().get<ESM::Static>().find(ESM::RefId::stringRefId("VFX_Hands"));
|
|
|
|
|
|
|
|
|
|
const VFS::Manager* const vfs = MWBase::Environment::get().getResourceSystem()->getVFS();
|
|
|
|
|
const VFS::Manager* const vfs
|
|
|
|
|
= MWBase::Environment::get().getResourceSystem()->getVFS();
|
|
|
|
|
|
|
|
|
|
if (!effects->empty())
|
|
|
|
|
{
|
|
|
|
|
if (mAnimation->getNode("Bip01 L Hand"))
|
|
|
|
|
mAnimation->addEffect(
|
|
|
|
|
Misc::ResourceHelpers::correctMeshPath(castStatic->mModel, vfs), -1, false,
|
|
|
|
@ -1627,9 +1628,8 @@ namespace MWMechanics
|
|
|
|
|
Misc::ResourceHelpers::correctMeshPath(castStatic->mModel, vfs), -1, false,
|
|
|
|
|
"Bip01 R Hand", effect->mParticle);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
const ESM::ENAMstruct& firstEffect = effects->at(0); // first effect used for casting animation
|
|
|
|
|
// first effect used for casting animation
|
|
|
|
|
const ESM::ENAMstruct& firstEffect = effects->front();
|
|
|
|
|
|
|
|
|
|
std::string startKey;
|
|
|
|
|
std::string stopKey;
|
|
|
|
@ -1662,10 +1662,11 @@ namespace MWMechanics
|
|
|
|
|
stopKey = mAttackType + " stop";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
mAnimation->play(mCurrentWeapon, priorityWeapon, MWRender::Animation::BlendMask_All, false, 1,
|
|
|
|
|
startKey, stopKey, 0.0f, 0);
|
|
|
|
|
mAnimation->play(mCurrentWeapon, priorityWeapon, MWRender::Animation::BlendMask_All, false,
|
|
|
|
|
1, startKey, stopKey, 0.0f, 0);
|
|
|
|
|
mUpperBodyState = UpperBodyState::Casting;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
resetIdle = false;
|
|
|
|
|