diff --git a/apps/openmw/mwgui/trainingwindow.cpp b/apps/openmw/mwgui/trainingwindow.cpp index e4e4bae5a..91e9ce3cb 100644 --- a/apps/openmw/mwgui/trainingwindow.cpp +++ b/apps/openmw/mwgui/trainingwindow.cpp @@ -14,6 +14,8 @@ #include "../mwmechanics/npcstats.hpp" #include "../mwmechanics/actorutil.hpp" +#include + #include "tooltips.hpp" namespace @@ -32,6 +34,17 @@ bool sortSkills (const std::pair& left, const std::pair& rig return left.first < right.first; } + +// Retrieve the base skill value if the setting 'training skills based on base skill' is set; +// otherwise returns the modified skill +float getSkillForTraining(const MWMechanics::NpcStats& stats, int i) +{ + static const bool trainersTrainingSkillsBasedOnBaseSkill = Settings::Manager::getBool("trainers training skills based on base skill", "Game"); + if (trainersTrainingSkillsBasedOnBaseSkill) + return stats.getSkill(i).getBase(); + return stats.getSkill(i).getModified(); +} + } namespace MWGui @@ -76,9 +89,10 @@ namespace MWGui // NPC can train you in his best 3 skills std::vector< std::pair > skills; + MWMechanics::NpcStats const& actorStats(actor.getClass().getNpcStats(actor)); for (int i=0; i