summaryrefslogtreecommitdiff
path: root/src/map/packets_struct.h
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2018-01-08 17:21:29 +0300
committerAndrei Karas <akaras@inbox.ru>2018-01-14 18:09:35 +0300
commit499745c3eb6d79573e627433bd77881bd26afb7c (patch)
treee90632239ab5eb143b1f6261a588388fe9572fe1 /src/map/packets_struct.h
parentcd9fca48ad3fcb86fe4b4f159c68595859077998 (diff)
downloadhercules-499745c3eb6d79573e627433bd77881bd26afb7c.tar.gz
hercules-499745c3eb6d79573e627433bd77881bd26afb7c.tar.bz2
hercules-499745c3eb6d79573e627433bd77881bd26afb7c.tar.xz
hercules-499745c3eb6d79573e627433bd77881bd26afb7c.zip
Update party member and party info packets.
Also remove extra parts of party info packet.
Diffstat (limited to 'src/map/packets_struct.h')
-rw-r--r--src/map/packets_struct.h55
1 files changed, 55 insertions, 0 deletions
diff --git a/src/map/packets_struct.h b/src/map/packets_struct.h
index cfeb3a67d..1105bec96 100644
--- a/src/map/packets_struct.h
+++ b/src/map/packets_struct.h
@@ -338,6 +338,17 @@ enum packet_headers {
#if PACKETVER >= 20130821
progressbarunit = 0x09D1,
#endif
+#if PACKETVER >= 20171207
+ partymemberinfo = 0x0ae4,
+ partyinfo = 0x0ae5,
+#elif PACKETVER >= 20170502
+// [4144] probably 0xa43 packet can works on older clients because in client was added in 2015-10-07
+ partymemberinfo = 0x0a43,
+ partyinfo = 0x0a44,
+#else
+ partymemberinfo = 0x01e9,
+ partyinfo = 0x00fb,
+#endif
};
#if !defined(sun) && (!defined(__NETBSD__) || __NetBSD_Version__ >= 600000000) // NetBSD 5 and Solaris don't like pragma pack but accept the packed attribute
@@ -1507,6 +1518,50 @@ struct ZC_PROGRESS_ACTOR {
uint32 time;
} __attribute__((packed));
+struct PACKET_ZC_ADD_MEMBER_TO_GROUP {
+ int16 packetType;
+ uint32 AID;
+#if PACKETVER >= 20171207
+ uint32 GID;
+#endif
+ uint32 leader;
+// [4144] probably 0xa43 packet can works on older clients because in client was added in 2015-10-07
+#if PACKETVER >= 20170502
+ int16 class;
+ int16 baseLevel;
+#endif
+ int16 x;
+ int16 y;
+ uint8 offline;
+ char partyName[NAME_LENGTH];
+ char playerName[NAME_LENGTH];
+ char mapName[MAP_NAME_LENGTH_EXT];
+ int8 sharePickup;
+ int8 shareLoot;
+} __attribute__((packed));
+
+struct PACKET_ZC_GROUP_LIST_SUB {
+ uint32 AID;
+#if PACKETVER >= 20171207
+ uint32 GID;
+#endif
+ char playerName[NAME_LENGTH];
+ char mapName[MAP_NAME_LENGTH_EXT];
+ uint8 leader;
+ uint8 offline;
+#if PACKETVER >= 20170502
+ int16 class;
+ int16 baseLevel;
+#endif
+} __attribute__((packed));
+
+struct PACKET_ZC_GROUP_LIST {
+ int16 packetType;
+ int16 packetLen;
+ char partyName[NAME_LENGTH];
+ struct PACKET_ZC_GROUP_LIST_SUB members[];
+} __attribute__((packed));
+
#if !defined(sun) && (!defined(__NETBSD__) || __NetBSD_Version__ >= 600000000) // NetBSD 5 and Solaris don't like pragma pack but accept the packed attribute
#pragma pack(pop)
#endif // not NetBSD < 6 / Solaris