summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2017-06-28 01:34:20 +0300
committerAndrei Karas <akaras@inbox.ru>2017-06-28 02:33:43 +0300
commitb013c695838bb3c26687f230b6d33d68fc844448 (patch)
treeacb593afe03223a34af5182973b9e9df12533bd6 /src
parent6c8aa7542d4b133eaeb32855c6ab4a3006d95f8d (diff)
downloadmv-b013c695838bb3c26687f230b6d33d68fc844448.tar.gz
mv-b013c695838bb3c26687f230b6d33d68fc844448.tar.bz2
mv-b013c695838bb3c26687f230b6d33d68fc844448.tar.xz
mv-b013c695838bb3c26687f230b6d33d68fc844448.zip
Add packet SMSG_GUILD_BASIC_INFO 0x0a84.
Diffstat (limited to 'src')
-rw-r--r--src/net/eathena/guildrecv.cpp29
-rw-r--r--src/net/eathena/packetsin.inc6
2 files changed, 28 insertions, 7 deletions
diff --git a/src/net/eathena/guildrecv.cpp b/src/net/eathena/guildrecv.cpp
index cb31788b6..2b3c2b9e2 100644
--- a/src/net/eathena/guildrecv.cpp
+++ b/src/net/eathena/guildrecv.cpp
@@ -105,19 +105,34 @@ void GuildRecv::processGuildBasicInfo(Net::MessageIn &msg)
msg.skip(12, "unused");
const int emblem = msg.readInt32("emblem id");
std::string name = msg.readString(24, "guild name");
- std::string master = msg.readString(24, "master name");
- std::string castle = msg.readString(16, "castles");
- msg.readInt32("unused");
+ std::string castle;
+ std::string master;
+ if (msg.getVersion() >= 20160622)
+ {
+ castle = msg.readString(16, "castles");
+ msg.readInt32("money, unused");
+ msg.readBeingId("leader char id");
+ }
+ else
+ {
+ master = msg.readString(24, "master name");
+ castle = msg.readString(16, "castles");
+ msg.readInt32("money, unused");
+ }
- if ((guildTab != nullptr) && showBasicInfo)
+ if (guildTab != nullptr &&
+ showBasicInfo)
{
showBasicInfo = false;
// TRANSLATORS: guild info message
guildTab->chatLog(strprintf(_("Guild name: %s"),
name.c_str()), ChatMsgType::BY_SERVER);
- // TRANSLATORS: guild info message
- guildTab->chatLog(strprintf(_("Guild master: %s"),
- master.c_str()), ChatMsgType::BY_SERVER);
+ if (!master.empty())
+ {
+ // TRANSLATORS: guild info message
+ guildTab->chatLog(strprintf(_("Guild master: %s"),
+ master.c_str()), ChatMsgType::BY_SERVER);
+ }
// TRANSLATORS: guild info message
guildTab->chatLog(strprintf(_("Guild level: %d"), level),
ChatMsgType::BY_SERVER);
diff --git a/src/net/eathena/packetsin.inc b/src/net/eathena/packetsin.inc
index 3ceb26a70..0a10c21a5 100644
--- a/src/net/eathena/packetsin.inc
+++ b/src/net/eathena/packetsin.inc
@@ -887,6 +887,12 @@ if (packetVersion >= 20160330)
packet(SMSG_MAP_LOGIN_SUCCESS, 0x02eb, 13, &GameRecv::processMapLogin, 20080102);
}
+// 20160622
+if (packetVersion >= 20160622)
+{
+ packet(SMSG_GUILD_BASIC_INFO, 0x0a84, 94, &GuildRecv::processGuildBasicInfo, 20160622);
+}
+
// 20160921
if (packetVersion >= 20160921)
{