summaryrefslogtreecommitdiff
path: root/src/net/eathena
diff options
context:
space:
mode:
Diffstat (limited to 'src/net/eathena')
-rw-r--r--src/net/eathena/beinghandler.cpp29
-rw-r--r--src/net/eathena/beinghandler.h2
2 files changed, 31 insertions, 0 deletions
diff --git a/src/net/eathena/beinghandler.cpp b/src/net/eathena/beinghandler.cpp
index 69f09ed8f..100fa273b 100644
--- a/src/net/eathena/beinghandler.cpp
+++ b/src/net/eathena/beinghandler.cpp
@@ -1775,4 +1775,33 @@ void BeingHandler::processBeingResurrect(Net::MessageIn &msg) const
BLOCK_END("BeingHandler::processBeingResurrect")
}
+void BeingHandler::processPlayerGuilPartyInfo(Net::MessageIn &msg) const
+{
+ BLOCK_START("BeingHandler::processPlayerGuilPartyInfo")
+ if (!actorManager)
+ {
+ BLOCK_END("BeingHandler::processPlayerGuilPartyInfo")
+ return;
+ }
+
+ Being *const dstBeing = actorManager->findBeing(msg.readInt32("being id"));
+
+ if (dstBeing)
+ {
+ dstBeing->setPartyName(msg.readString(24, "party name"));
+ if (!guildManager || !GuildManager::getEnableGuildBot())
+ {
+ dstBeing->setGuildName(msg.readString(24, "guild name"));
+ dstBeing->setGuildPos(msg.readString(24, "guild pos"));
+ }
+ else
+ {
+ msg.skip(48);
+ }
+ dstBeing->addToCache();
+ msg.readString(24, "?");
+ }
+ BLOCK_END("BeingHandler::processPlayerGuilPartyInfo")
+}
+
} // namespace EAthena
diff --git a/src/net/eathena/beinghandler.h b/src/net/eathena/beinghandler.h
index 522032da1..c5e0b2562 100644
--- a/src/net/eathena/beinghandler.h
+++ b/src/net/eathena/beinghandler.h
@@ -107,6 +107,8 @@ class BeingHandler final : public MessageHandler, public Ea::BeingHandler
void processPlaterStatusChangeNoTick(Net::MessageIn &msg) const;
void processBeingResurrect(Net::MessageIn &msg) const;
+
+ void processPlayerGuilPartyInfo(Net::MessageIn &msg) const;
};
} // namespace EAthena