From f84906fd493fe77a0f6591afb167ee62c9315506 Mon Sep 17 00:00:00 2001 From: Yohann Ferreira Date: Sat, 30 Apr 2011 23:02:27 +0200 Subject: Fix attack speed on both servers. Currently, we actually receive the local player attack speed in milliseconds for tA. Yet, we don't support receiving the attack speed for other beings, so the old behaviour will remain for them until someone adds that. As for Manaserv, we're only using the default speed atm. Most urgent part of mana-mantis: #343. Reviewed-by: Thorbjorn. --- src/localplayer.cpp | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/localplayer.cpp b/src/localplayer.cpp index 34f58988..bc041def 100644 --- a/src/localplayer.cpp +++ b/src/localplayer.cpp @@ -823,11 +823,18 @@ void LocalPlayer::attack(Being *target, bool keep) if (mAction != STAND && mAction != ATTACK) return; - mKeepAttacking = keep; - if (!target || target->getType() == ActorSprite::NPC) return; + // Can't attack more times than its attack speed + static int lastAttackTime = 0; + if (get_elapsed_time(lastAttackTime) < mAttackSpeed) + return; + + lastAttackTime = tick_time; + + mKeepAttacking = keep; + if (mTarget != target || !mTarget) { mLastTarget = -1; -- cgit v1.2.3-70-g09d2