summaryrefslogtreecommitdiff
path: root/src/net/eathena
diff options
context:
space:
mode:
Diffstat (limited to 'src/net/eathena')
-rw-r--r--src/net/eathena/partyhandler.cpp20
-rw-r--r--src/net/eathena/partyhandler.h2
2 files changed, 22 insertions, 0 deletions
diff --git a/src/net/eathena/partyhandler.cpp b/src/net/eathena/partyhandler.cpp
index 1751140a5..452cf1408 100644
--- a/src/net/eathena/partyhandler.cpp
+++ b/src/net/eathena/partyhandler.cpp
@@ -497,4 +497,24 @@ void PartyHandler::processPartyLeader(Net::MessageIn &msg)
newMember->setLeader(true);
}
+void PartyHandler::processPartyInvited(Net::MessageIn &msg)
+{
+ const int id = msg.readInt32("account id");
+ const std::string partyName = msg.readString(24, "party name");
+ std::string nick;
+
+ if (actorManager)
+ {
+ const Being *const being = actorManager->findBeing(id);
+ if (being)
+ {
+ if (being->getType() == ActorType::Player)
+ nick = being->getName();
+ }
+ }
+
+ if (socialWindow)
+ socialWindow->showPartyInvite(partyName, nick);
+}
+
} // namespace EAthena
diff --git a/src/net/eathena/partyhandler.h b/src/net/eathena/partyhandler.h
index c4bab0f47..f389bcb42 100644
--- a/src/net/eathena/partyhandler.h
+++ b/src/net/eathena/partyhandler.h
@@ -81,6 +81,8 @@ class PartyHandler final : public MessageHandler, public Ea::PartyHandler
static void processPartyItemPickup(Net::MessageIn &msg);
static void processPartyLeader(Net::MessageIn &msg);
+
+ static void processPartyInvited(Net::MessageIn &msg);
};
} // namespace EAthena