1 #include "actorutil.hpp" 2 3 #include "../mwbase/world.hpp" 4 #include "../mwbase/environment.hpp" 5 6 #include "../mwworld/class.hpp" 7 #include "../mwworld/player.hpp" 8 9 namespace MWMechanics 10 { getPlayer()11 MWWorld::Ptr getPlayer() 12 { 13 return MWBase::Environment::get().getWorld()->getPlayerPtr(); 14 } 15 isPlayerInCombat()16 bool isPlayerInCombat() 17 { 18 return MWBase::Environment::get().getWorld()->getPlayer().isInCombat(); 19 } 20 canActorMoveByZAxis(const MWWorld::Ptr & actor)21 bool canActorMoveByZAxis(const MWWorld::Ptr& actor) 22 { 23 MWBase::World* world = MWBase::Environment::get().getWorld(); 24 return (actor.getClass().canSwim(actor) && world->isSwimming(actor)) || world->isFlying(actor); 25 } 26 hasWaterWalking(const MWWorld::Ptr & actor)27 bool hasWaterWalking(const MWWorld::Ptr& actor) 28 { 29 const MWMechanics::MagicEffects& effects = actor.getClass().getCreatureStats(actor).getMagicEffects(); 30 return effects.get(ESM::MagicEffect::WaterWalking).getMagnitude() > 0; 31 } 32 } 33