void Actors::updateActor (const MWWorld::Ptr& ptr, float duration) { // magic effects adjustMagicEffects (ptr); calculateCreatureStatModifiers (ptr); calculateDynamicStats (ptr); // AI CreatureStats& creatureStats = MWWorld::Class::get (ptr).getCreatureStats (ptr); creatureStats.getAiSequence().execute (ptr); }
void Actors::updateActor (const MWWorld::Ptr& ptr, float duration) { // magic effects adjustMagicEffects (ptr); calculateDynamicStats (ptr); calculateCreatureStatModifiers (ptr); // AI if(!MWBase::Environment::get().getWindowManager()->isGuiMode()) { CreatureStats& creatureStats = MWWorld::Class::get (ptr).getCreatureStats (ptr); creatureStats.getAiSequence().execute (ptr); } }
void Actors::updateActor (const MWWorld::Ptr& ptr, float duration) { // magic effects adjustMagicEffects (ptr); CreatureStats& creatureStats = MWWorld::Class::get (ptr).getCreatureStats (ptr); // calculate dynamic stats int strength = creatureStats.mAttributes[0].getBase(); int intelligence = creatureStats.mAttributes[1].getBase(); int willpower = creatureStats.mAttributes[2].getBase(); int agility = creatureStats.mAttributes[3].getBase(); int endurance = creatureStats.mAttributes[5].getBase(); double magickaFactor = creatureStats.mMagicEffects.get (EffectKey (84)).mMagnitude*0.1 + 0.5; creatureStats.mDynamic[0].setBase (static_cast<int> (0.5 * (strength + endurance))); creatureStats.mDynamic[1].setBase (static_cast<int> (intelligence + magickaFactor * intelligence)); creatureStats.mDynamic[2].setBase (strength+willpower+agility+endurance); }
/// Update magic effects for an actor. Usually done automatically once per frame, but if we're currently /// paused we may want to do it manually (after equipping permanent enchantment) void updateMagicEffects (const MWWorld::Ptr& ptr) { adjustMagicEffects(ptr); }