diff options
-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); |