summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/localplayer.cpp8
-rw-r--r--src/localplayer.h5
2 files changed, 9 insertions, 4 deletions
diff --git a/src/localplayer.cpp b/src/localplayer.cpp
index ff3267ad..cb7515dc 100644
--- a/src/localplayer.cpp
+++ b/src/localplayer.cpp
@@ -749,7 +749,9 @@ void LocalPlayer::raiseAttribute(size_t attr)
{
// we assume that the server allows the change. When not we will undo it later.
mCharacterPoints--;
- mAttributeBase.at(attr)++;
+ IntMap::iterator it = mAttributeBase.find(attr);
+ if (it != mAttributeBase.end())
+ (*it).second++;
Net::getPlayerHandler()->increaseAttribute(attr);
}
@@ -758,7 +760,9 @@ void LocalPlayer::lowerAttribute(size_t attr)
// we assume that the server allows the change. When not we will undo it later.
mCorrectionPoints--;
mCharacterPoints++;
- mAttributeBase.at(attr)--;
+ IntMap::iterator it = mAttributeBase.find(attr);
+ if (it != mAttributeBase.end())
+ (*it).second--;
Net::getPlayerHandler()->decreaseAttribute(attr);
}
diff --git a/src/localplayer.h b/src/localplayer.h
index a3ed5f29..fa0b8984 100644
--- a/src/localplayer.h
+++ b/src/localplayer.h
@@ -373,8 +373,9 @@ class LocalPlayer : public Player
int mLastTarget; /** Time stamp of last targeting action, -1 if none. */
// Character status:
- std::map<int, int> mAttributeBase;
- std::map<int, int> mAttributeEffective;
+ typedef std::map<int, int> IntMap;
+ IntMap mAttributeBase;
+ IntMap mAttributeEffective;
std::map<int, std::pair<int, int> > mSkillExp;
int mCharacterPoints;
int mCorrectionPoints;