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
This commit is contained in:
Lemongrass3110 2023-12-29 10:40:55 +01:00 committed by GitHub
parent 782299112b
commit e4ec88c666
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 16 additions and 0 deletions

View File

@ -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
*------------------------------------------*/

View File

@ -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 */

View File

@ -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 ) );