#include "aiface.hpp" #include "../mwbase/world.hpp" #include "steering.hpp" MWMechanics::AiFace::AiFace(float targetX, float targetY) : mTargetX(targetX), mTargetY(targetY) { } MWMechanics::AiPackage *MWMechanics::AiFace::clone() const { return new AiFace(*this); } bool MWMechanics::AiFace::execute(const MWWorld::Ptr& actor, MWMechanics::CharacterController& /*characterController*/, MWMechanics::AiState& /*state*/, float /*duration*/) { osg::Vec3f dir = osg::Vec3f(mTargetX, mTargetY, 0) - actor.getRefData().getPosition().asVec3(); return zTurn(actor, std::atan2(dir.x(), dir.y()), osg::DegreesToRadians(3.f)); } int MWMechanics::AiFace::getTypeId() const { return AiPackage::TypeIdFace; } unsigned int MWMechanics::AiFace::getPriority() const { return 2; }