diff options
author | Andrei Karas <akaras@inbox.ru> | 2015-04-12 00:04:11 +0300 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2015-04-12 00:04:11 +0300 |
commit | 0f83799770cf502fec89c3e13b325663162f2f93 (patch) | |
tree | b7974722d51092558c8633abc4acae0610c40cca /src/being/being.cpp | |
parent | c822a3affd3fcfc26d66b599d4450e4f10e5251d (diff) | |
download | manaverse-0f83799770cf502fec89c3e13b325663162f2f93.tar.gz manaverse-0f83799770cf502fec89c3e13b325663162f2f93.tar.bz2 manaverse-0f83799770cf502fec89c3e13b325663162f2f93.tar.xz manaverse-0f83799770cf502fec89c3e13b325663162f2f93.zip |
Fix move animation after path is empty.
This fix random stand animation while moving.
Diffstat (limited to 'src/being/being.cpp')
-rw-r--r-- | src/being/being.cpp | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/being/being.cpp b/src/being/being.cpp index 6bb17ad4b..393e45dd6 100644 --- a/src/being/being.cpp +++ b/src/being/being.cpp @@ -160,6 +160,7 @@ Being::Being(const int id, mAttackRange(1), mLastAttackX(0), mLastAttackY(0), + mPreStandTime(0), mGender(Gender::UNSPECIFIED), mAction(BeingAction::STAND), mSubType(0xFFFF), @@ -1434,7 +1435,8 @@ void Being::nextTile() { if (mPath.empty()) { - setAction(BeingAction::STAND, 0); + mAction = BeingAction::PRESTAND; + mPreStandTime = tick_time; return; } @@ -1536,6 +1538,13 @@ void Being::logic() break; } + + case BeingAction::PRESTAND: + { + if (get_elapsed_time(mPreStandTime) > 100) + setAction(BeingAction::STAND, 0); + break; + } } if (mAction == BeingAction::MOVE || mNeedPosUpdate) |