diff options
author | Bertram <bertram@cegetel.net> | 2009-10-15 00:46:27 +0200 |
---|---|---|
committer | Bertram <bertram@cegetel.net> | 2009-10-15 00:46:27 +0200 |
commit | 6bdbbe247566728390ad7fee19ea233405433651 (patch) | |
tree | 5ecb1d81221299dbf2ec4375cb769b7d783b9859 /src/game-server/being.cpp | |
parent | 257b9e19f26ecd29cd86177dd70765517bbc9863 (diff) | |
download | manaserv-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.cpp | 12 |
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) |