diff options
Diffstat (limited to 'src/game-server')
-rw-r--r-- | src/game-server/being.cpp | 22 | ||||
-rw-r--r-- | src/game-server/being.h | 1 | ||||
-rw-r--r-- | src/game-server/monster.cpp | 3 |
3 files changed, 12 insertions, 14 deletions
diff --git a/src/game-server/being.cpp b/src/game-server/being.cpp index c2228dcc..e0e0dcc1 100644 --- a/src/game-server/being.cpp +++ b/src/game-server/being.cpp @@ -398,25 +398,25 @@ int Being::directionToAngle(int direction) } } -int Being::performAttack(Being *target, const Damage &damage) { - return performAttack(target, damage.range, damage); -} - -int Being::performAttack(Being *target, unsigned range, const Damage &damage) +int Being::performAttack(Being *target, const Damage &damage) { // check target legality - if (!target || target == this || target->getAction() == DEAD - || !target->canFight()) - return -1; - if (getMap()->getPvP() == PVP_NONE && target->getType() == OBJECT_CHARACTER - && getType() == OBJECT_CHARACTER) + if (!target + || target == this + || target->getAction() == DEAD + || !target->canFight()) + return -1; + + if (getMap()->getPvP() == PVP_NONE + && target->getType() == OBJECT_CHARACTER + && getType() == OBJECT_CHARACTER) return -1; // check if target is in range using the pythagorean theorem int distx = this->getPosition().x - target->getPosition().x; int disty = this->getPosition().y - target->getPosition().y; int distSquare = (distx * distx + disty * disty); - int maxDist = range + target->getSize(); + int maxDist = damage.range + target->getSize(); if (maxDist * maxDist < distSquare) return -1; diff --git a/src/game-server/being.h b/src/game-server/being.h index 11c5f753..35457bcb 100644 --- a/src/game-server/being.h +++ b/src/game-server/being.h @@ -150,7 +150,6 @@ class Being : public Actor * Return Value: damage inflicted or -1 when illegal target */ int performAttack(Being *target, const Damage &damage); - int performAttack(Being *target, unsigned range, const Damage &damage); /** * Sets the current action. diff --git a/src/game-server/monster.cpp b/src/game-server/monster.cpp index d9083e80..f77cca0b 100644 --- a/src/game-server/monster.cpp +++ b/src/game-server/monster.cpp @@ -156,8 +156,7 @@ void Monster::perform() mCurrentAttack->type, mCurrentAttack->range); - int hit = performAttack(mTarget, mCurrentAttack->range, - dmg); + int hit = performAttack(mTarget, dmg); if (! mCurrentAttack->scriptFunction.empty() && mScript |