From 3940228a5d6be203454f521c17f01f666564cd31 Mon Sep 17 00:00:00 2001
From: Andrei Karas <akaras@inbox.ru>
Date: Wed, 11 Mar 2015 15:00:25 +0300
Subject: eathena: add partial support for packet SMSG_CLASS_CHANGE 0x01b0.

---
 src/net/eathena/beinghandler.cpp | 14 ++++++++++++++
 src/net/eathena/beinghandler.h   |  2 ++
 src/net/eathena/protocol.h       |  2 ++
 3 files changed, 18 insertions(+)

(limited to 'src/net/eathena')

diff --git a/src/net/eathena/beinghandler.cpp b/src/net/eathena/beinghandler.cpp
index 603b7a56d..b7ea9024d 100644
--- a/src/net/eathena/beinghandler.cpp
+++ b/src/net/eathena/beinghandler.cpp
@@ -118,6 +118,7 @@ BeingHandler::BeingHandler(const bool enableSync) :
         SMSG_BEING_MOVE3,
         SMSG_BEING_ATTRS,
         SMSG_MONSTER_INFO,
+        SMSG_CLASS_CHANGE,
         0
     };
     handledMessages = _messages;
@@ -318,6 +319,10 @@ void BeingHandler::handleMessage(Net::MessageIn &msg)
             processMonsterInfo(msg);
             break;
 
+        case SMSG_CLASS_CHANGE:
+            processClassChange(msg);
+            break;
+
         default:
             break;
     }
@@ -1651,4 +1656,13 @@ void BeingHandler::processMonsterInfo(Net::MessageIn &msg)
     msg.readInt16("ele");
 }
 
+void BeingHandler::processClassChange(Net::MessageIn &msg)
+{
+    UNIMPLIMENTEDPACKET;
+
+    msg.readInt32("being id");
+    msg.readUInt8("type");
+    msg.readInt32("class");
+}
+
 }  // namespace EAthena
diff --git a/src/net/eathena/beinghandler.h b/src/net/eathena/beinghandler.h
index cbd43f492..b0743a2f7 100644
--- a/src/net/eathena/beinghandler.h
+++ b/src/net/eathena/beinghandler.h
@@ -124,6 +124,8 @@ class BeingHandler final : public MessageHandler, public Ea::BeingHandler
         static void processBeingAttrs(Net::MessageIn &msg);
 
         static void processMonsterInfo(Net::MessageIn &msg);
+
+        static void processClassChange(Net::MessageIn &msg);
 };
 
 }  // namespace EAthena
diff --git a/src/net/eathena/protocol.h b/src/net/eathena/protocol.h
index 794adc372..d547c3b4b 100644
--- a/src/net/eathena/protocol.h
+++ b/src/net/eathena/protocol.h
@@ -376,6 +376,8 @@
 #define SMSG_MANNER_MESSAGE          0x014a
 #define SMSG_CHAT_SILENCE            0x014b
 
+#define SMSG_CLASS_CHANGE            0x01b0
+
 /**********************************
  *  Packets from client to server *
  **********************************/
-- 
cgit v1.2.3-70-g09d2