summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/actormanager.cpp10
-rw-r--r--src/net/eathena/guildrecv.cpp8
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);