diff options
Diffstat (limited to 'src/game-server/gamehandler.cpp')
-rw-r--r-- | src/game-server/gamehandler.cpp | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/src/game-server/gamehandler.cpp b/src/game-server/gamehandler.cpp index bd5248bd..3540ac51 100644 --- a/src/game-server/gamehandler.cpp +++ b/src/game-server/gamehandler.cpp @@ -34,6 +34,7 @@ #include "game-server/map.hpp" #include "game-server/mapcomposite.hpp" #include "game-server/npc.hpp" +#include "game-server/postman.hpp" #include "game-server/state.hpp" #include "game-server/trade.hpp" #include "net/messagein.hpp" @@ -449,6 +450,16 @@ void GameHandler::processMessage(NetComputer *comp, MessageIn &message) computer.character->respawn(); // plausibility check is done by character class } break; + case PGMSG_SEND_POST: + { + handleSendPost(&computer, message); + } break; + + case PGMSG_GET_POST: + { + handleGetPost(&computer, message); + } break; + default: LOG_WARN("Invalid message type"); result.writeShort(XXMSG_INVALID); @@ -585,3 +596,17 @@ void GameHandler::handleWalk(GameClient *client, MessageIn &message) client->character->setDestination(dst); } + +void GameHandler::handleSendPost(GameClient *client, MessageIn &message) +{ + // add the character so that the post man knows them + postMan->addCharacter(client->character); + accountHandler->sendPost(client->character, message); +} + +void GameHandler::handleGetPost(GameClient *client, MessageIn &message) +{ + // add the character so that the post man knows them + postMan->addCharacter(client->character); + accountHandler->getPost(client->character); +} |