summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2014-10-07 01:07:41 +0300
committerAndrei Karas <akaras@inbox.ru>2014-10-07 01:07:41 +0300
commit74136eec9795d339421a569b774dd8486662e93e (patch)
tree7a0aa16a1dc3a9fa7d5525fa8516dba61099e685
parentb79975c115473e801fb7983bc3f5c24ae72f3db7 (diff)
downloadmanaplus-74136eec9795d339421a569b774dd8486662e93e.tar.gz
manaplus-74136eec9795d339421a569b774dd8486662e93e.tar.bz2
manaplus-74136eec9795d339421a569b774dd8486662e93e.tar.xz
manaplus-74136eec9795d339421a569b774dd8486662e93e.zip
eathena: fix packet SMSG_GUILD_MEMBER_LOGIN 0x01f2.
-rw-r--r--src/net/eathena/guildhandler.cpp6
-rw-r--r--src/net/eathena/protocol.h2
2 files changed, 7 insertions, 1 deletions
diff --git a/src/net/eathena/guildhandler.cpp b/src/net/eathena/guildhandler.cpp
index 3d6fb2d19..51ff00cce 100644
--- a/src/net/eathena/guildhandler.cpp
+++ b/src/net/eathena/guildhandler.cpp
@@ -394,12 +394,18 @@ void GuildHandler::processGuildMemberLogin(Net::MessageIn &msg) const
const int accountId = msg.readInt32("account id");
const int charId = msg.readInt32("char id");
const int online = msg.readInt32("flag");
+ const Gender::Type gender = Being::intToGender(static_cast<uint8_t>(
+ msg.readInt16("sex")));
+ msg.readInt16("hair");
+ msg.readInt16("hair color");
if (Ea::taGuild)
{
GuildMember *const m = Ea::taGuild->getMember(accountId, charId);
if (m)
{
m->setOnline(online);
+ if (online)
+ m->setGender(gender);
if (Ea::guildTab)
Ea::guildTab->showOnline(m->getName(), online);
if (socialWindow)
diff --git a/src/net/eathena/protocol.h b/src/net/eathena/protocol.h
index 77e963fdb..db6a7d1eb 100644
--- a/src/net/eathena/protocol.h
+++ b/src/net/eathena/protocol.h
@@ -190,7 +190,7 @@
#define SMSG_GUILD_CREATE_RESPONSE 0x0167
#define SMSG_GUILD_POSITION_INFO 0x016c
-#define SMSG_GUILD_MEMBER_LOGIN 0x016d
+#define SMSG_GUILD_MEMBER_LOGIN 0x01f2
#define SMSG_GUILD_MASTER_OR_MEMBER 0x014e
#define SMSG_GUILD_BASIC_INFO 0x01b6
#define SMSG_GUILD_ALIANCE_INFO 0x014c