summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/net/eathena/beinghandler.cpp14
-rw-r--r--src/net/eathena/beinghandler.h2
-rw-r--r--src/net/eathena/protocol.h2
3 files changed, 18 insertions, 0 deletions
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 *
**********************************/