Fix the projectile launch position for spells cast from objects (Fixes #3235)

move
scrawl 9 years ago
parent 910e41e3c4
commit 004f0d37d5

@ -117,7 +117,11 @@ namespace MWWorld
const ESM::EffectList &effects, const Ptr &caster, const std::string &sourceName, const ESM::EffectList &effects, const Ptr &caster, const std::string &sourceName,
const osg::Vec3f& fallbackDirection) const osg::Vec3f& fallbackDirection)
{ {
osg::Vec3f pos = mPhysics->getCollisionObjectPosition(caster) + osg::Vec3f(0,0,mPhysics->getHalfExtents(caster).z() * 0.5); // Spawn at 0.75 * ActorHeight osg::Vec3f pos;
if (caster.getClass().isActor())
pos = mPhysics->getCollisionObjectPosition(caster) + osg::Vec3f(0,0,mPhysics->getHalfExtents(caster).z() * 0.5); // Spawn at 0.75 * ActorHeight
else
pos = caster.getRefData().getPosition().asVec3();
if (MWBase::Environment::get().getWorld()->isUnderwater(caster.getCell(), pos)) // Underwater casting not possible if (MWBase::Environment::get().getWorld()->isUnderwater(caster.getCell(), pos)) // Underwater casting not possible
return; return;

Loading…
Cancel
Save