summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/net/eathena/clanrecv.cpp11
-rw-r--r--src/net/eathena/clanrecv.h1
-rw-r--r--src/net/eathena/packetsin.inc1
3 files changed, 13 insertions, 0 deletions
diff --git a/src/net/eathena/clanrecv.cpp b/src/net/eathena/clanrecv.cpp
index 57c89419c..acc962c0d 100644
--- a/src/net/eathena/clanrecv.cpp
+++ b/src/net/eathena/clanrecv.cpp
@@ -61,4 +61,15 @@ void ClanRecv::processClanLeave(Net::MessageIn &msg)
UNIMPLEMENTEDPACKET;
}
+void ClanRecv::processClanChat(Net::MessageIn &msg)
+{
+ UNIMPLEMENTEDPACKET;
+ const int chatMsgLength = msg.readInt16("len") - 4 - 24;
+ if (chatMsgLength <= 0)
+ return;
+ msg.readInt16("len");
+ msg.readString(24, "player name");
+ msg.readString(chatMsgLength, "message");
+}
+
} // namespace EAthena
diff --git a/src/net/eathena/clanrecv.h b/src/net/eathena/clanrecv.h
index 95c0dd0b5..6f864bfcc 100644
--- a/src/net/eathena/clanrecv.h
+++ b/src/net/eathena/clanrecv.h
@@ -33,6 +33,7 @@ namespace EAthena
void processClanInfo(Net::MessageIn &msg);
void processClanOnlineCount(Net::MessageIn &msg);
void processClanLeave(Net::MessageIn &msg);
+ void processClanChat(Net::MessageIn &msg);
} // namespace ClanRecv
} // namespace EAthena
diff --git a/src/net/eathena/packetsin.inc b/src/net/eathena/packetsin.inc
index f2ffc2462..5f709c015 100644
--- a/src/net/eathena/packetsin.inc
+++ b/src/net/eathena/packetsin.inc
@@ -740,6 +740,7 @@ if (packetVersion >= 20120702)
if (packetVersion >= 20120716)
{
packet(SMSG_CLAN_ONLINE_COUNT, 0x0988, 6, &ClanRecv::processClanOnlineCount, 20120716);
+ packet(SMSG_CLAN_CHAT, 0x098e, -1, &ClanRecv::processClanChat, 20120716);
}
// 20120925