summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2018-09-25 21:54:31 +0300
committerAndrei Karas <akaras@inbox.ru>2018-09-25 21:54:31 +0300
commit9793b9e60f2ca5a163fce8e284d20c36c74ea094 (patch)
tree2b7c4d9c0762a9bd022fd7c8f014986bb1aafc57
parentdf0761d02f541723a4d127ef1d252cfa66e6a852 (diff)
downloadmv-9793b9e60f2ca5a163fce8e284d20c36c74ea094.tar.gz
mv-9793b9e60f2ca5a163fce8e284d20c36c74ea094.tar.bz2
mv-9793b9e60f2ca5a163fce8e284d20c36c74ea094.tar.xz
mv-9793b9e60f2ca5a163fce8e284d20c36c74ea094.zip
Add packet SMSG_GUILD_EXPULSION2 0x0a82.
-rw-r--r--src/net/eathena/guildrecv.cpp18
-rw-r--r--src/net/eathena/guildrecv.h1
-rw-r--r--src/net/eathena/packetsin.inc3
3 files changed, 22 insertions, 0 deletions
diff --git a/src/net/eathena/guildrecv.cpp b/src/net/eathena/guildrecv.cpp
index 5fa99bb78..574090c8f 100644
--- a/src/net/eathena/guildrecv.cpp
+++ b/src/net/eathena/guildrecv.cpp
@@ -743,6 +743,24 @@ void GuildRecv::processGuildExpulsion(Net::MessageIn &msg)
GuildRecv::processGuildExpulsionContinue(nick);
}
+void GuildRecv::processGuildExpulsion2(Net::MessageIn &msg)
+{
+ msg.readString(40, "message");
+ const int charId = msg.readInt32("char id");
+
+ std::string nick;
+
+ if (taGuild != nullptr)
+ {
+ const GuildMember *const member = taGuild->getMemberByCharId(charId);
+ if (member != nullptr)
+ {
+ nick = member->getName();
+ GuildRecv::processGuildExpulsionContinue(nick);
+ }
+ }
+}
+
void GuildRecv::processGuildExpulsionList(Net::MessageIn &msg)
{
const int length = msg.readInt16("len");
diff --git a/src/net/eathena/guildrecv.h b/src/net/eathena/guildrecv.h
index 733e98633..35548048d 100644
--- a/src/net/eathena/guildrecv.h
+++ b/src/net/eathena/guildrecv.h
@@ -65,6 +65,7 @@ namespace EAthena
void processGuildPositionInfo(Net::MessageIn &msg);
void processGuildMemberLogin(Net::MessageIn &msg);
void processGuildExpulsion(Net::MessageIn &msg);
+ void processGuildExpulsion2(Net::MessageIn &msg);
void processGuildExpulsionList(Net::MessageIn &msg);
void processGuildEmblem(Net::MessageIn &msg);
void processOnlineInfo(Net::MessageIn &msg);
diff --git a/src/net/eathena/packetsin.inc b/src/net/eathena/packetsin.inc
index fbc9ee818..194798849 100644
--- a/src/net/eathena/packetsin.inc
+++ b/src/net/eathena/packetsin.inc
@@ -993,12 +993,14 @@ if (packetVersion >= 20160921)
// 20160921 re
if (packetVersionRe >= 20160921)
{
+ packet(SMSG_GUILD_EXPULSION2, 0x0a82, 46, &GuildRecv::processGuildExpulsion2, 20160921);
packet(SMSG_GUILD_LEAVE2, 0x0a83, 46, &GuildRecv::processGuildLeave2, 20160921);
}
// 20161019 main
if (packetVersionMain >= 20161019)
{
+ packet(SMSG_GUILD_EXPULSION2, 0x0a82, 46, &GuildRecv::processGuildExpulsion2, 20161019);
packet(SMSG_GUILD_LEAVE2, 0x0a83, 46, &GuildRecv::processGuildLeave2, 20161019);
}
@@ -1115,6 +1117,7 @@ if (packets_zero == true)
packet(SMSG_PARTY_INFO, 0x0a44, -1, &PartyRecv::processPartyInfo, 20171018);
packet(SMSG_PARTY_MEMBER_JOB_LEVEL, 0x0abd, 10, &PartyRecv::processPartyMemberJobLevel, 20171018);
packet(SMSG_MVP_EXP, 0x010b, 6, &ChatRecv::processMVPExp, 20171018);
+ packet(SMSG_GUILD_EXPULSION2, 0x0a82, 46, &GuildRecv::processGuildExpulsion2, 20171018);
packet(SMSG_GUILD_LEAVE2, 0x0a83, 46, &GuildRecv::processGuildLeave2, 20171018);
}