1
0
Fork 1
mirror of https://github.com/TES3MP/openmw-tes3mp.git synced 2025-01-19 23:53:52 +00:00

Merge pull request #61 from OpenMW/master

Add OpenMW commits up to 19 Sep
This commit is contained in:
David Cernat 2016-09-19 23:38:20 +03:00 committed by GitHub
commit 1534f835a6
2 changed files with 14 additions and 1 deletions

View file

@ -2167,7 +2167,7 @@ void CharacterController::updateMagicEffects()
if (!mPtr.getClass().isActor()) if (!mPtr.getClass().isActor())
return; return;
float alpha = 1.f; float alpha = 1.f;
if (mPtr.getClass().getCreatureStats(mPtr).getMagicEffects().get(ESM::MagicEffect::Invisibility).getMagnitude()) if (mPtr.getClass().getCreatureStats(mPtr).getMagicEffects().get(ESM::MagicEffect::Invisibility).getModifier()) // Ignore base magnitude (see bug #3555).
{ {
if (mPtr == getPlayer()) if (mPtr == getPlayer())
alpha = 0.4f; alpha = 0.4f;

View file

@ -648,14 +648,26 @@ namespace MWMechanics
if (target != getPlayer()) if (target != getPlayer())
return false; return false;
MWRender::Animation* anim = MWBase::Environment::get().getWorld()->getAnimation(mCaster);
if (effectId == ESM::MagicEffect::DivineIntervention) if (effectId == ESM::MagicEffect::DivineIntervention)
{ {
MWBase::Environment::get().getWorld()->teleportToClosestMarker(target, "divinemarker"); 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)
anim->addEffect("meshes\\" + fx->mModel, -1);
return true; return true;
} }
else if (effectId == ESM::MagicEffect::AlmsiviIntervention) else if (effectId == ESM::MagicEffect::AlmsiviIntervention)
{ {
MWBase::Environment::get().getWorld()->teleportToClosestMarker(target, "templemarker"); 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)
anim->addEffect("meshes\\" + fx->mModel, -1);
return true; return true;
} }
@ -676,6 +688,7 @@ namespace MWMechanics
MWWorld::ActionTeleport action(markedCell->isExterior() ? "" : markedCell->getCell()->mName, MWWorld::ActionTeleport action(markedCell->isExterior() ? "" : markedCell->getCell()->mName,
markedPosition, false); markedPosition, false);
action.execute(target); action.execute(target);
anim->removeEffect(ESM::MagicEffect::Recall);
} }
return true; return true;
} }