Exemplo n.º 1
0
 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);
 }
Exemplo n.º 2
0
    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);
        }
    }
Exemplo n.º 3
0
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);
}
Exemplo n.º 4
0
 /// 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); }