summaryrefslogtreecommitdiff
path: root/src/game-server/being.cpp
diff options
context:
space:
mode:
authorBertram <bertram@cegetel.net>2009-10-15 00:46:27 +0200
committerBertram <bertram@cegetel.net>2009-10-15 00:46:27 +0200
commit6bdbbe247566728390ad7fee19ea233405433651 (patch)
tree5ecb1d81221299dbf2ec4375cb769b7d783b9859 /src/game-server/being.cpp
parent257b9e19f26ecd29cd86177dd70765517bbc9863 (diff)
downloadmanaserv-6bdbbe247566728390ad7fee19ea233405433651.tar.gz
manaserv-6bdbbe247566728390ad7fee19ea233405433651.tar.bz2
manaserv-6bdbbe247566728390ad7fee19ea233405433651.tar.xz
manaserv-6bdbbe247566728390ad7fee19ea233405433651.zip
Speed code unification part 1: Made the server accept speed values in tiles per second.
Diffstat (limited to 'src/game-server/being.cpp')
-rw-r--r--src/game-server/being.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/game-server/being.cpp b/src/game-server/being.cpp
index 634d566a..de7ac69f 100644
--- a/src/game-server/being.cpp
+++ b/src/game-server/being.cpp
@@ -135,8 +135,20 @@ Path Being::findPath()
return map->findPath(startX, startY, destX, destY, getWalkMask());
}
+void Being::setSpeed(float s)
+{
+ if (s > 0)
+ mSpeed = (int)(32000 / (s * (float)DEFAULT_TILE_LENGTH));
+ else
+ mSpeed = 0;
+}
+
void Being::move()
{
+ // Don't deal with not moving beings
+ if (mSpeed <= 0 && mSpeed >= 32000)
+ return;
+
mOld = getPosition();
if (mActionTime > 100)