diff options
Diffstat (limited to 'src/net/eathena/guildhandler.cpp')
-rw-r--r-- | src/net/eathena/guildhandler.cpp | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/src/net/eathena/guildhandler.cpp b/src/net/eathena/guildhandler.cpp index 2d23eaa16..3d6fb2d19 100644 --- a/src/net/eathena/guildhandler.cpp +++ b/src/net/eathena/guildhandler.cpp @@ -28,6 +28,7 @@ #include "being/playerinfo.h" #include "gui/windows/chatwindow.h" +#include "gui/windows/socialwindow.h" #include "net/ea/gui/guildtab.h" @@ -388,4 +389,23 @@ void GuildHandler::processGuildPositionInfo(Net::MessageIn &msg) const } } +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"); + if (Ea::taGuild) + { + GuildMember *const m = Ea::taGuild->getMember(accountId, charId); + if (m) + { + m->setOnline(online); + if (Ea::guildTab) + Ea::guildTab->showOnline(m->getName(), online); + if (socialWindow) + socialWindow->updateGuildCounter(); + } + } +} + } // namespace EAthena |