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.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/game-server/gamehandler.cpp b/src/game-server/gamehandler.cpp
index 18059d6e..3b356a5c 100644
--- a/src/game-server/gamehandler.cpp
+++ b/src/game-server/gamehandler.cpp
@@ -28,6 +28,7 @@
#include "game-server/accountconnection.h"
#include "game-server/buysell.h"
#include "game-server/commandhandler.h"
+#include "game-server/emotemanager.h"
#include "game-server/inventory.h"
#include "game-server/item.h"
#include "game-server/itemmanager.h"
@@ -302,6 +303,10 @@ void GameHandler::processMessage(NetComputer *computer, MessageIn &message)
handlePartyInvite(client, message);
break;
+ case PGMSG_BEING_EMOTE:
+ handleTriggerEmoticon(client, message);
+ break;
+
default:
LOG_WARN("Invalid message type");
client.send(MessageOut(XXMSG_INVALID));
@@ -919,6 +924,13 @@ void GameHandler::handlePartyInvite(GameClient &client, MessageIn &message)
client.send(out);
}
+void GameHandler::handleTriggerEmoticon(GameClient &client, MessageIn &message)
+{
+ const int id = message.readInt16();
+ if (emoteManager->isIdAvailable(id))
+ client.character->triggerEmote(id);
+}
+
void GameHandler::sendNpcError(GameClient &client, int id,
const std::string &errorMsg)
{