From f406fe1a4c6abf9b414fc9110cef80e217cafb62 Mon Sep 17 00:00:00 2001
From: Andrei Karas <akaras@inbox.ru>
Date: Tue, 17 Mar 2015 23:29:06 +0300
Subject: eathena: add partial support for packet SMSG_BEING_FONT 0x02ef.

---
 src/net/eathena/beinghandler.cpp | 13 +++++++++++++
 src/net/eathena/beinghandler.h   |  2 ++
 src/net/eathena/packets.h        |  2 +-
 src/net/eathena/protocol.h       |  1 +
 4 files changed, 17 insertions(+), 1 deletion(-)

diff --git a/src/net/eathena/beinghandler.cpp b/src/net/eathena/beinghandler.cpp
index 39ab454a1..7f3762e58 100644
--- a/src/net/eathena/beinghandler.cpp
+++ b/src/net/eathena/beinghandler.cpp
@@ -131,6 +131,7 @@ BeingHandler::BeingHandler(const bool enableSync) :
         SMSG_PK_RANKS_LIST,
         SMSG_GLADIATOR_FEEL_REQUEST,
         SMSG_BOSS_MAP_INFO,
+        SMSG_BEING_FONT,
         0
     };
     handledMessages = _messages;
@@ -387,6 +388,10 @@ void BeingHandler::handleMessage(Net::MessageIn &msg)
             processBossMapInfo(msg);
             break;
 
+        case SMSG_BEING_FONT:
+            processBeingFont(msg);
+            break;
+
         default:
             break;
     }
@@ -1848,4 +1853,12 @@ void BeingHandler::processBossMapInfo(Net::MessageIn &msg)
     msg.readString(24, "monster name");  // really can be used 51 byte?
 }
 
+void BeingHandler::processBeingFont(Net::MessageIn &msg)
+{
+    UNIMPLIMENTEDPACKET;
+
+    msg.readInt32("account id");
+    msg.readInt16("font");
+}
+
 }  // namespace EAthena
diff --git a/src/net/eathena/beinghandler.h b/src/net/eathena/beinghandler.h
index b11553b09..2d80577f9 100644
--- a/src/net/eathena/beinghandler.h
+++ b/src/net/eathena/beinghandler.h
@@ -152,6 +152,8 @@ class BeingHandler final : public MessageHandler, public Ea::BeingHandler
         static void processGladiatorFeelRequest(Net::MessageIn &msg);
 
         static void processBossMapInfo(Net::MessageIn &msg);
+
+        static void processBeingFont(Net::MessageIn &msg);
 };
 
 }  // namespace EAthena
diff --git a/src/net/eathena/packets.h b/src/net/eathena/packets.h
index aaf472810..17ea394e7 100644
--- a/src/net/eathena/packets.h
+++ b/src/net/eathena/packets.h
@@ -100,7 +100,7 @@ int16_t packet_lengths[] =
 // #0x02C0
   0,  -1,   0,   0,   0,  30,  30,   0,   0,   3,   0,  65,   4,  71,  10,   0,
   0,   0,   0,   0,   0,   0,   0,   0,   0,  10,   3,   0,  -1,  32,   6,  36,
-  0,  33,   0,   0,   0,   0,   0,   0,   0,   0,   0,  13,   0,   0,   0,   0,
+  0,  33,   0,   0,   0,   0,   0,   0,   0,   0,   0,  13,   0,   0,   0,   8,
  10,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
 //0    1    2    3    4    5    6    7    8    9    a    b    c    d    e    f
 //0    1    2    3    4    5    6    7    8    9   10   11   12   13   14   15
diff --git a/src/net/eathena/protocol.h b/src/net/eathena/protocol.h
index ab6d5020e..fe95dc6f9 100644
--- a/src/net/eathena/protocol.h
+++ b/src/net/eathena/protocol.h
@@ -156,6 +156,7 @@
 #define SMSG_BEING_RESURRECT         0x0148
 #define SMSG_BEING_STAT_UPDATE_1     0x01ab
 #define SMSG_BEING_ATTRS             0x0b0a
+#define SMSG_BEING_FONT              0x02ef
 #define SMSG_IGNORE_NICK_ACK         0x00d1
 #define SMSG_STARS_KILL              0x020e
 #define SMSG_GLADIATOR_FEEL_REQUEST  0x0253
-- 
cgit v1.2.3-70-g09d2