1
0
mirror of https://gitlab.com/OpenMW/openmw.git synced 2025-01-18 13:12:50 +00:00

Checks the state of the passed sneak variable

This commit is contained in:
Jeffrey Haines 2014-04-24 23:02:11 -04:00
parent 42b879a9a5
commit 4a4c08946c

View File

@ -134,17 +134,25 @@ namespace MWWorld
ptr.getClass().getCreatureStats(ptr).setMovementFlag(MWMechanics::CreatureStats::Flag_Sneak, sneak);
const MWWorld::ESMStore& esmStore = MWBase::Environment::get().getWorld()->getStore();
if (sneak == true)
{
const MWWorld::ESMStore& esmStore = MWBase::Environment::get().getWorld()->getStore();
// Find all the actors who might be able to see the player
std::vector<MWWorld::Ptr> neighbors;
MWBase::Environment::get().getMechanicsManager()->getActorsInRange( Ogre::Vector3(ptr.getRefData().getPosition().pos),
esmStore.get<ESM::GameSetting>().find("fSneakUseDist")->getInt(), neighbors);
for (std::vector<MWWorld::Ptr>::iterator it = neighbors.begin(); it != neighbors.end(); ++it)
if ( MWBase::Environment::get().getMechanicsManager()->awarenessCheck(ptr, *it) )
MWBase::Environment::get().getWindowManager()->setSneakVisibility(sneak);
if (!neighbors.size())
MWBase::Environment::get().getWindowManager()->setSneakVisibility(sneak);
// Find all the actors who might be able to see the player
std::vector<MWWorld::Ptr> neighbors;
MWBase::Environment::get().getMechanicsManager()->getActorsInRange( Ogre::Vector3(ptr.getRefData().getPosition().pos),
esmStore.get<ESM::GameSetting>().find("fSneakUseDist")->getInt(), neighbors);
for (std::vector<MWWorld::Ptr>::iterator it = neighbors.begin(); it != neighbors.end(); ++it)
{
if ( MWBase::Environment::get().getMechanicsManager()->awarenessCheck(ptr, *it) )
{
MWBase::Environment::get().getWindowManager()->setSneakVisibility(false);
break;
}
}
if (neighbors.size() == 0)
MWBase::Environment::get().getWindowManager()->setSneakVisibility(true);
}
}
void Player::yaw(float yaw)