diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/localplayer.cpp | 6 | ||||
-rw-r--r-- | src/localplayer.h | 2 |
2 files changed, 7 insertions, 1 deletions
diff --git a/src/localplayer.cpp b/src/localplayer.cpp index 78dac6f8..6f03a46d 100644 --- a/src/localplayer.cpp +++ b/src/localplayer.cpp @@ -45,6 +45,8 @@ #include "utils/tostring.h" #include "utils/gettext.h" +const short walkingKeyboardDelay = 100; + LocalPlayer *player_node = NULL; LocalPlayer::LocalPlayer(): @@ -66,6 +68,7 @@ LocalPlayer::LocalPlayer(): mTrading(false), mLastAction(-1), mWalkingDir(0), mDestX(0), mDestY(0), + mLocalWalkTime(-1), mExpMessageTime(0) { } @@ -304,7 +307,8 @@ void LocalPlayer::setWalkingDir(int dir) } // If we're not already walking, start walking. - if (mAction != WALK && dir) + if (mAction != WALK && dir + && get_elapsed_time(mLocalWalkTime) >= walkingKeyboardDelay) { walk(dir); } diff --git a/src/localplayer.h b/src/localplayer.h index 75a1af7d..832b7eb4 100644 --- a/src/localplayer.h +++ b/src/localplayer.h @@ -367,6 +367,8 @@ class LocalPlayer : public Player int mWalkingDir; /**< The direction the player is walking in. */ int mDestX; /**< X coordinate of destination. */ int mDestY; /**< Y coordinate of destination. */ + int mLocalWalkTime; /**< Timestamp used to control keyboard walk + messages flooding */ std::list<std::string> mExpMessages; /**< Queued exp messages*/ int mExpMessageTime; |