diff options
author | Philipp Sehmisch <tmw@crushnet.org> | 2007-03-02 23:30:17 +0000 |
---|---|---|
committer | Philipp Sehmisch <tmw@crushnet.org> | 2007-03-02 23:30:17 +0000 |
commit | af1ce69940a9c0b46907402e7d69e6ac9ea96912 (patch) | |
tree | 016a6a8a4734f794e56093e1611530749eb7fab0 /src/game-server/gamehandler.cpp | |
parent | 07782116ae9158c20165dd4d60bdb96017ac009f (diff) | |
download | manaserv-af1ce69940a9c0b46907402e7d69e6ac9ea96912.tar.gz manaserv-af1ce69940a9c0b46907402e7d69e6ac9ea96912.tar.bz2 manaserv-af1ce69940a9c0b46907402e7d69e6ac9ea96912.tar.xz manaserv-af1ce69940a9c0b46907402e7d69e6ac9ea96912.zip |
Implemented being death, removal of dead mobs and sitting.
Diffstat (limited to 'src/game-server/gamehandler.cpp')
-rw-r--r-- | src/game-server/gamehandler.cpp | 25 |
1 files changed, 24 insertions, 1 deletions
diff --git a/src/game-server/gamehandler.cpp b/src/game-server/gamehandler.cpp index 5801c6fe..768a2cd9 100644 --- a/src/game-server/gamehandler.cpp +++ b/src/game-server/gamehandler.cpp @@ -301,7 +301,30 @@ void GameHandler::processMessage(NetComputer *comp, MessageIn &message) LOG_DEBUG("Player " << computer.character->getPublicID() << " attacks"); computer.character->setDirection(message.readByte()); - computer.character->setAction(PLAYER_ATTACK); + computer.character->setAction(Being::ATTACK); + } break; + + case PGMSG_ACTION_CHANGE: + { + Being::Action action = (Being::Action)message.readByte(); + Being::Action current = (Being::Action)computer.character->getAction(); + + switch (action) + { + case Being::STAND: + { + if (current == Being::SIT) + computer.character->setAction(Being::STAND); + } break; + case Being::SIT: + { + if (current == Being::STAND) + computer.character->setAction(Being::SIT); + } break; + default: + break; + } + } break; case PGMSG_DISCONNECT: |