diff options
-rw-r--r-- | src/net/eathena/clanrecv.cpp | 11 | ||||
-rw-r--r-- | src/net/eathena/clanrecv.h | 1 | ||||
-rw-r--r-- | src/net/eathena/packetsin.inc | 1 |
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 |