diff --git a/apps/openmw/mwmechanics/stat.cpp b/apps/openmw/mwmechanics/stat.cpp index eacfca98ae..585808645a 100644 --- a/apps/openmw/mwmechanics/stat.cpp +++ b/apps/openmw/mwmechanics/stat.cpp @@ -21,13 +21,13 @@ namespace MWMechanics void Stat::writeState (ESM::StatState& state) const { state.mBase = mBase; - state.mMod = mModifier; + state.mMod = mModifier + mBase; } template void Stat::readState (const ESM::StatState& state) { mBase = state.mBase; - mModifier = state.mMod; + mModifier = state.mMod - mBase; } diff --git a/apps/openmw/mwworld/magiceffects.cpp b/apps/openmw/mwworld/magiceffects.cpp index 1138a55238..f52a61af52 100644 --- a/apps/openmw/mwworld/magiceffects.cpp +++ b/apps/openmw/mwworld/magiceffects.cpp @@ -201,10 +201,10 @@ namespace MWWorld { auto& dynamic = creatureStats.mDynamic[i]; dynamic.mCurrent -= dynamic.mMod - dynamic.mBase; - dynamic.mMod = 0.f; + dynamic.mMod = dynamic.mBase; } for(std::size_t i = 0; i < 4; ++i) - creatureStats.mAiSettings[i].mMod = 0.f; + creatureStats.mAiSettings[i].mMod = creatureStats.mAiSettings[i].mBase; if(npcStats) { for(std::size_t i = 0; i < ESM::Skill::Length; ++i)