diff --git a/apps/openmw/mwmechanics/actors.cpp b/apps/openmw/mwmechanics/actors.cpp index e1c5f855fb..bd037df9f0 100644 --- a/apps/openmw/mwmechanics/actors.cpp +++ b/apps/openmw/mwmechanics/actors.cpp @@ -20,6 +20,10 @@ namespace MWMechanics adjustMagicEffects (ptr); calculateCreatureStatModifiers (ptr); calculateDynamicStats (ptr); + + // AI + CreatureStats& creatureStats = MWWorld::Class::get (ptr).getCreatureStats (ptr); + creatureStats.getAiSequence().execute (ptr); } void Actors::updateNpc (const MWWorld::Ptr& ptr, float duration, bool paused) diff --git a/apps/openmw/mwmechanics/creaturestats.cpp b/apps/openmw/mwmechanics/creaturestats.cpp index 38d2442fa0..09603bff26 100644 --- a/apps/openmw/mwmechanics/creaturestats.cpp +++ b/apps/openmw/mwmechanics/creaturestats.cpp @@ -45,4 +45,14 @@ namespace MWMechanics return *this; } + + const AiSequence& CreatureStats::getAiSequence() const + { + return mAiSequence; + } + + AiSequence& CreatureStats::getAiSequence() + { + return mAiSequence; + } } diff --git a/apps/openmw/mwmechanics/creaturestats.hpp b/apps/openmw/mwmechanics/creaturestats.hpp index 9d69c868fc..d19972e7b5 100644 --- a/apps/openmw/mwmechanics/creaturestats.hpp +++ b/apps/openmw/mwmechanics/creaturestats.hpp @@ -9,6 +9,7 @@ #include "magiceffects.hpp" #include "spells.hpp" #include "activespells.hpp" +#include "aisequence.hpp" namespace MWMechanics { @@ -27,6 +28,7 @@ namespace MWMechanics int mFight; int mFlee; int mAlarm; + AiSequence mAiSequence; public: CreatureStats(); @@ -100,6 +102,10 @@ namespace MWMechanics void setFlee(int value); void setAlarm(int value); + + const AiSequence& getAiSequence() const; + + AiSequence& getAiSequence(); }; // Inline const getters