Forráskód Böngészése

Added support for CZ_RESET_SKILL (#8062)

Fixes #7961
Added a dummy implementation to prevent players from disconnecting, until we know what that command should do.

Thanks to @jamesandrewww
Lemongrass3110 1 éve
szülő
commit
e4ec88c666
3 módosított fájl, 16 hozzáadás és 0 törlés
  1. 6 0
      src/map/clif.cpp
  2. 4 0
      src/map/clif_packetdb.hpp
  3. 6 0
      src/map/packets.hpp

+ 6 - 0
src/map/clif.cpp

@@ -25193,6 +25193,12 @@ void clif_parse_partybooking_reply( int fd, map_session_data* sd ){
 #endif
 }
 
+void clif_parse_reset_skill( int fd, map_session_data* sd ){
+#if PACKETVER_MAIN_NUM >= 20220216 || PACKETVER_ZERO_NUM >= 20220203
+	PACKET_CZ_RESET_SKILL* p = (PACKET_CZ_RESET_SKILL*)RFIFOP( fd, 0 );
+#endif
+}
+
 /*==========================================
  * Main client packet processing function
  *------------------------------------------*/

+ 4 - 0
src/map/clif_packetdb.hpp

@@ -2454,4 +2454,8 @@
 	parseable_packet( HEADER_CZ_USE_PACKAGEITEM, sizeof( struct PACKET_CZ_USE_PACKAGEITEM ), clif_parse_itempackage_select, 0 );
 #endif
 
+#if PACKETVER_MAIN_NUM >= 20220216 || PACKETVER_ZERO_NUM >= 20220203
+	parseable_packet( HEADER_CZ_RESET_SKILL, sizeof( struct PACKET_CZ_RESET_SKILL ), clif_parse_reset_skill, 0 );
+#endif
+
 #endif /* CLIF_PACKETDB_HPP */

+ 6 - 0
src/map/packets.hpp

@@ -398,6 +398,11 @@ struct PACKET_CZ_REQ_MERGE_ITEM{
 	uint16 indices[];
 } __attribute__((packed));
 
+struct PACKET_CZ_RESET_SKILL{
+	int16 packetType;
+	uint8 unknown;
+} __attribute__((packed));
+
 // NetBSD 5 and Solaris don't like pragma pack but accept the packed attribute
 #if !defined( sun ) && ( !defined( __NETBSD__ ) || __NetBSD_Version__ >= 600000000 )
 	#pragma pack( pop )
@@ -469,6 +474,7 @@ DEFINE_PACKET_HEADER(ZC_SUMMON_HP_INIT, 0xb6b)
 DEFINE_PACKET_HEADER(ZC_SUMMON_HP_UPDATE, 0xb6c)
 DEFINE_PACKET_HEADER(ZC_REPUTE_INFO, 0x0b8d)
 DEFINE_PACKET_HEADER(ZC_UI_OPEN_V3, 0x0b9a)
+DEFINE_PACKET_HEADER(CZ_RESET_SKILL, 0x0bb1)
 DEFINE_PACKET_HEADER(CZ_PC_SELL_ITEMLIST, 0x00c9)
 
 const int16 MAX_INVENTORY_ITEM_PACKET_NORMAL = ( ( INT16_MAX - ( sizeof( struct packet_itemlist_normal ) - ( sizeof( struct NORMALITEM_INFO ) * MAX_ITEMLIST) ) ) / sizeof( struct NORMALITEM_INFO ) );