diff options
author | Andrei Karas <akaras@inbox.ru> | 2019-03-04 23:01:55 +0300 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2019-03-04 23:01:55 +0300 |
commit | a10b7cb955ab974c42474726f66e8e16f659bdb6 (patch) | |
tree | bd08cffb667c91cf1ab4c4ccdc6c4c23c93fe71c /src | |
parent | 56f4420c4f5689cb84a119193fda57dab51c8428 (diff) | |
download | manaplus-a10b7cb955ab974c42474726f66e8e16f659bdb6.tar.gz manaplus-a10b7cb955ab974c42474726f66e8e16f659bdb6.tar.bz2 manaplus-a10b7cb955ab974c42474726f66e8e16f659bdb6.tar.xz manaplus-a10b7cb955ab974c42474726f66e8e16f659bdb6.zip |
Fix player names in guild in new packets.
Diffstat (limited to 'src')
-rw-r--r-- | src/actormanager.cpp | 10 | ||||
-rw-r--r-- | src/net/eathena/guildrecv.cpp | 8 |
2 files changed, 16 insertions, 2 deletions
diff --git a/src/actormanager.cpp b/src/actormanager.cpp index c550fc75c..0e627fb2f 100644 --- a/src/actormanager.cpp +++ b/src/actormanager.cpp @@ -23,6 +23,7 @@ #include "actormanager.h" #include "game.h" +#include "guild.h" #include "configuration.h" #include "settings.h" @@ -2281,5 +2282,14 @@ void ActorManager::addChar(const int32_t id, if (guiInput == nullptr) return; + if (localPlayer != nullptr) + { + Guild *const guild = localPlayer->getGuild(); + if (guild != nullptr) + { + GuildMember *const member = guild->getMemberByCharId(id); + member->setName(name); + } + } guiInput->simulateMouseMove(); } diff --git a/src/net/eathena/guildrecv.cpp b/src/net/eathena/guildrecv.cpp index b82fd25c6..62577e7b8 100644 --- a/src/net/eathena/guildrecv.cpp +++ b/src/net/eathena/guildrecv.cpp @@ -36,6 +36,7 @@ #include "gui/widgets/tabs/chat/guildtab.h" +#include "net/beinghandler.h" #include "net/messagein.h" #include "net/eathena/guildhandler.h" @@ -208,7 +209,6 @@ void GuildRecv::processGuildMemberList(Net::MessageIn &msg) if (msg.getVersion() >= 20161026) { guildSize = 34; - reportAlways("missing guild member names") } else { @@ -247,7 +247,11 @@ void GuildRecv::processGuildMemberList(Net::MessageIn &msg) else { msg.readInt32("last login"); // for now unused - continue; + name = actorManager->findCharById(charId); + if (name.empty()) + { + beingHandler->requestNameByCharId(charId); + } } GuildMember *const m = taGuild->addMember(id, charId, name); |