Merge pull request #1067 from Allofich/intervention

Use correct vfx for teleport spells
pull/61/head
scrawl 8 years ago committed by GitHub
commit acd0a5ea01

@ -646,14 +646,28 @@ namespace MWMechanics
if (target != getPlayer())
return false;
MWRender::Animation* anim = MWBase::Environment::get().getWorld()->getAnimation(mCaster);
if (effectId == ESM::MagicEffect::DivineIntervention)
{
MWBase::Environment::get().getWorld()->teleportToClosestMarker(target, "divinemarker");
anim->removeEffect(ESM::MagicEffect::DivineIntervention);
const ESM::Static* fx = MWBase::Environment::get().getWorld()->getStore().get<ESM::Static>()
.search("VFX_Summon_end");
if (fx)
MWBase::Environment::get().getWorld()->spawnEffect("meshes\\" + fx->mModel,
"", mCaster.getRefData().getPosition().asVec3());
return true;
}
else if (effectId == ESM::MagicEffect::AlmsiviIntervention)
{
MWBase::Environment::get().getWorld()->teleportToClosestMarker(target, "templemarker");
anim->removeEffect(ESM::MagicEffect::AlmsiviIntervention);
const ESM::Static* fx = MWBase::Environment::get().getWorld()->getStore().get<ESM::Static>()
.search("VFX_Summon_end");
if (fx)
MWBase::Environment::get().getWorld()->spawnEffect("meshes\\" + fx->mModel,
"", mCaster.getRefData().getPosition().asVec3());
return true;
}
@ -674,6 +688,7 @@ namespace MWMechanics
MWWorld::ActionTeleport action(markedCell->isExterior() ? "" : markedCell->getCell()->mName,
markedPosition, false);
action.execute(target);
anim->removeEffect(ESM::MagicEffect::Recall);
}
return true;
}

Loading…
Cancel
Save