summaryrefslogtreecommitdiffstats
path: root/src/game-server/gamehandler.cpp
diff options
context:
space:
mode:
authorDavid Athay <ko2fan@gmail.com>2008-09-19 14:39:49 +0000
committerDavid Athay <ko2fan@gmail.com>2008-09-19 14:39:49 +0000
commit712b197ea0fb305905b4762422fdae1c49008710 (patch)
treea063bac5542f1408283d8150bde5346c2e24640d /src/game-server/gamehandler.cpp
parent410f448669a2ed843ff0b412924c04c8fbe87458 (diff)
Added post communication between chat and game servers.
Diffstat (limited to 'src/game-server/gamehandler.cpp')
-rw-r--r--src/game-server/gamehandler.cpp25
1 files changed, 25 insertions, 0 deletions
diff --git a/src/game-server/gamehandler.cpp b/src/game-server/gamehandler.cpp
index bd5248b..3540ac5 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);
+}