forked from teamnwah/openmw-tes3coop
Make targeted spells collide with water (Fixes #1500)
This commit is contained in:
parent
92f5898b32
commit
8e361bb879
1 changed files with 8 additions and 0 deletions
|
@ -67,6 +67,9 @@ namespace MWWorld
|
||||||
Ogre::Vector3 pos(caster.getRefData().getPosition().pos);
|
Ogre::Vector3 pos(caster.getRefData().getPosition().pos);
|
||||||
pos.z += height;
|
pos.z += height;
|
||||||
|
|
||||||
|
if (MWBase::Environment::get().getWorld()->isUnderwater(caster.getCell(), pos)) // Underwater casting not possible
|
||||||
|
return;
|
||||||
|
|
||||||
Ogre::Quaternion orient;
|
Ogre::Quaternion orient;
|
||||||
if (caster.getClass().isActor())
|
if (caster.getClass().isActor())
|
||||||
orient = Ogre::Quaternion(Ogre::Radian(caster.getRefData().getPosition().rot[2]), Ogre::Vector3::NEGATIVE_UNIT_Z) *
|
orient = Ogre::Quaternion(Ogre::Radian(caster.getRefData().getPosition().rot[2]), Ogre::Vector3::NEGATIVE_UNIT_Z) *
|
||||||
|
@ -188,6 +191,11 @@ namespace MWWorld
|
||||||
|
|
||||||
hit = true;
|
hit = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Explodes when hitting water
|
||||||
|
if (MWBase::Environment::get().getWorld()->isUnderwater(MWBase::Environment::get().getWorld()->getPlayerPtr().getCell(), newPos))
|
||||||
|
hit = true;
|
||||||
|
|
||||||
if (hit)
|
if (hit)
|
||||||
{
|
{
|
||||||
MWWorld::Ptr caster = MWBase::Environment::get().getWorld()->searchPtrViaActorId(it->mActorId);
|
MWWorld::Ptr caster = MWBase::Environment::get().getWorld()->searchPtrViaActorId(it->mActorId);
|
||||||
|
|
Loading…
Reference in a new issue