diff --git a/apps/openmw/mwmechanics/actors.cpp b/apps/openmw/mwmechanics/actors.cpp index e1d738078..c0f9e803d 100644 --- a/apps/openmw/mwmechanics/actors.cpp +++ b/apps/openmw/mwmechanics/actors.cpp @@ -481,9 +481,9 @@ namespace MWMechanics Spells & spells = creatureStats.getSpells(); for (Spells::TIterator it = spells.begin(); it != spells.end(); ++it) { - if (spells.mCorprusSpells.find(it->first) != spells.mCorprusSpells.end()) + if (spells.getCorprusSpells().find(it->first) != spells.getCorprusSpells().end()) { - if (MWBase::Environment::get().getWorld()->getTimeStamp() >= spells.mCorprusSpells[it->first].mNextWorsening) + if (MWBase::Environment::get().getWorld()->getTimeStamp() >= spells.getCorprusSpells().at(it->first).mNextWorsening) { spells.worsenCorprus(it->first); diff --git a/apps/openmw/mwmechanics/spells.cpp b/apps/openmw/mwmechanics/spells.cpp index 3d8a78bcc..1d2ef827f 100644 --- a/apps/openmw/mwmechanics/spells.cpp +++ b/apps/openmw/mwmechanics/spells.cpp @@ -255,6 +255,11 @@ namespace MWMechanics return false; } + const std::map &Spells::getCorprusSpells() const + { + return mCorprusSpells; + } + bool Spells::canUsePower(const std::string &power) const { std::map::const_iterator it = mUsedPowers.find(power); diff --git a/apps/openmw/mwmechanics/spells.hpp b/apps/openmw/mwmechanics/spells.hpp index 576aca9af..c1dd3e159 100644 --- a/apps/openmw/mwmechanics/spells.hpp +++ b/apps/openmw/mwmechanics/spells.hpp @@ -31,10 +31,17 @@ namespace MWMechanics { public: - typedef std::map > TContainer; // ID, typedef TContainer::const_iterator TIterator; + struct CorprusStats + { + static const int sWorseningPeriod = 24; + + int mWorsenings; + MWWorld::TimeStamp mNextWorsening; + }; + private: TContainer mSpells; @@ -44,22 +51,14 @@ namespace MWMechanics std::map mUsedPowers; - public: - struct CorprusStats - { - static const int sWorseningPeriod = 24; - - int mWorsenings; - MWWorld::TimeStamp mNextWorsening; - }; - std::map mCorprusSpells; - void worsenCorprus(const std::string &corpSpellId); - - static bool hasCorprusEffect(const ESM::Spell *spell); public: + void worsenCorprus(const std::string &corpSpellId); + static bool hasCorprusEffect(const ESM::Spell *spell); + const std::map & getCorprusSpells() const; + bool canUsePower (const std::string& power) const; void usePower (const std::string& power);