summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2019-03-04 23:01:55 +0300
committerAndrei Karas <akaras@inbox.ru>2019-03-04 23:01:55 +0300
commita10b7cb955ab974c42474726f66e8e16f659bdb6 (patch)
treebd08cffb667c91cf1ab4c4ccdc6c4c23c93fe71c /src
parent56f4420c4f5689cb84a119193fda57dab51c8428 (diff)
downloadmanaplus-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.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);