summaryrefslogtreecommitdiff
path: root/src/net/eathena
diff options
context:
space:
mode:
Diffstat (limited to 'src/net/eathena')
-rw-r--r--src/net/eathena/partyhandler.cpp8
-rw-r--r--src/net/eathena/partyhandler.h2
-rw-r--r--src/net/eathena/protocol.h1
3 files changed, 11 insertions, 0 deletions
diff --git a/src/net/eathena/partyhandler.cpp b/src/net/eathena/partyhandler.cpp
index baaa1fffe..4ea0e83ea 100644
--- a/src/net/eathena/partyhandler.cpp
+++ b/src/net/eathena/partyhandler.cpp
@@ -445,4 +445,12 @@ void PartyHandler::processPartyInviteResponse(Net::MessageIn &msg) const
}
}
+void PartyHandler::changeLeader(const Being *const being) const
+{
+ if (!being)
+ return;
+ MessageOut outMsg(CMSG_PARTY_CHANGE_LEADER);
+ outMsg.writeInt32(being->getId());
+}
+
} // namespace EAthena
diff --git a/src/net/eathena/partyhandler.h b/src/net/eathena/partyhandler.h
index 100656e83..16fa690bf 100644
--- a/src/net/eathena/partyhandler.h
+++ b/src/net/eathena/partyhandler.h
@@ -61,6 +61,8 @@ class PartyHandler final : public MessageHandler, public Ea::PartyHandler
void setShareItems(const Net::PartyShare::Type share)
const override final;
+ void changeLeader(const Being *const being) const override final;
+
void processPartySettings(Net::MessageIn &msg);
protected:
diff --git a/src/net/eathena/protocol.h b/src/net/eathena/protocol.h
index df6da397d..c49550fa5 100644
--- a/src/net/eathena/protocol.h
+++ b/src/net/eathena/protocol.h
@@ -282,6 +282,7 @@
#define CMSG_PARTY_SETTINGS 0x0102
#define CMSG_PARTY_KICK 0x0103
#define CMSG_PARTY_MESSAGE 0x0108
+#define CMSG_PARTY_CHANGE_LEADER 0x07da
#define CMSG_MOVE_TO_STORAGE 0x07ec /** Move item to storage */
#define CSMG_MOVE_FROM_STORAGE 0x0364 /** Remove item from storage */