summaryrefslogtreecommitdiff
path: root/src/game-server/gamehandler.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/game-server/gamehandler.cpp')
-rw-r--r--src/game-server/gamehandler.cpp10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/game-server/gamehandler.cpp b/src/game-server/gamehandler.cpp
index d4b13e74..68af5314 100644
--- a/src/game-server/gamehandler.cpp
+++ b/src/game-server/gamehandler.cpp
@@ -354,8 +354,14 @@ void GameHandler::processMessage(NetComputer *comp, MessageIn &message)
{
LOG_DEBUG("Character " << computer.character->getPublicID()
<< " attacks");
- computer.character->setDirection(message.readByte());
- computer.character->setAction(Being::ATTACK);
+ int id = message.readShort();
+ Actor *o = findActorNear(computer.character, id);
+ if (o && o->getType() != OBJECT_NPC)
+ {
+ Being *being = static_cast<Being*>(o);
+ computer.character->setTarget(being);
+ computer.character->setAction(Being::ATTACK);
+ }
} break;
case PGMSG_USE_SPECIAL: