Updated Hercules packets (#8368)
This commit is contained in:
parent
9e2b0b4a4d
commit
79935a75c9
@ -4972,9 +4972,9 @@ void clif_storageclose( map_session_data& sd ){
|
||||
/// Notifies clients in an area of a player's souls.
|
||||
/// 01d0 <id>.L <amount>.W (ZC_SPIRITS)
|
||||
/// 01e1 <id>.L <amount>.W (ZC_SPIRITS2)
|
||||
/// 0b73 <id>.L <amount>.W
|
||||
/// 0b73 <id>.L <amount>.W (ZC_SOULENERGY)
|
||||
void clif_soulball( map_session_data *sd, struct block_list* target, enum send_target send_target ){
|
||||
#if PACKETVER_MAIN_NUM >= 20200916 || PACKETVER_RE_NUM >= 20200724
|
||||
#if PACKETVER_MAIN_NUM >= 20200414 || PACKETVER_RE_NUM >= 20200723 || PACKETVER_ZERO_NUM >= 20200506
|
||||
struct PACKET_ZC_SOULENERGY p = {};
|
||||
|
||||
p.PacketType = HEADER_ZC_SOULENERGY;
|
||||
@ -19597,15 +19597,15 @@ void clif_autoshadowspell_list( map_session_data& sd ){
|
||||
|
||||
p->packetType = HEADER_ZC_SKILL_SELECT_REQUEST;
|
||||
p->packetLength = sizeof( *p );
|
||||
p->why = 1; // enum PACKET_ZC_SKILL_SELECT_REQUEST::enumWHY::WHY_SC_AUTOSHADOWSPELL = 0x1
|
||||
p->flag = 1; // enum PACKET_ZC_SKILL_SELECT_REQUEST::enumWHY::WHY_SC_AUTOSHADOWSPELL = 0x1
|
||||
|
||||
size_t count = 0;
|
||||
for( size_t i = 0; i < MAX_SKILL; i++ ){
|
||||
if( sd.status.skill[i].flag == SKILL_FLAG_PLAGIARIZED && sd.status.skill[i].id > 0 &&
|
||||
skill_get_inf2(sd.status.skill[i].id, INF2_ISAUTOSHADOWSPELL))
|
||||
{
|
||||
p->skills[count].skill_id = sd.status.skill[i].id;
|
||||
p->packetLength += sizeof( p->skills[0] );
|
||||
p->skillIds[count] = sd.status.skill[i].id;
|
||||
p->packetLength += sizeof( p->skillIds[0] );
|
||||
count++;
|
||||
}
|
||||
}
|
||||
@ -19651,19 +19651,18 @@ int clif_skill_itemlistwindow( map_session_data *sd, uint16 skill_id, uint16 ski
|
||||
/*==========================================
|
||||
* Select a skill into a given list (used by SA_AUTOSPELL/SC_AUTOSHADOWSPELL)
|
||||
* 0443 <type>.L <skill_id>.W (CZ_SKILL_SELECT_RESPONSE)
|
||||
* RFIFOL(fd,2) - type (currently not used)
|
||||
*------------------------------------------*/
|
||||
void clif_parse_SkillSelectMenu(int fd, map_session_data *sd) {
|
||||
#if PACKETVER >= 20081210
|
||||
if( sd == nullptr ){
|
||||
return;
|
||||
}
|
||||
|
||||
struct s_packet_db* info = &packet_db[RFIFOW(fd,0)];
|
||||
//int type = RFIFOL(fd,info->pos[0]); //WHY_LOWERVER_COMPATIBILITY = 0x0, WHY_SC_AUTOSHADOWSPELL = 0x1,
|
||||
PACKET_CZ_SKILL_SELECT_RESPONSE* p = reinterpret_cast<PACKET_CZ_SKILL_SELECT_RESPONSE*>( RFIFOP( fd, 0 ) );
|
||||
|
||||
if (sd->menuskill_id == SA_AUTOSPELL) {
|
||||
sd->state.workinprogress = WIP_DISABLE_NONE;
|
||||
skill_autospell(sd, RFIFOW(fd, info->pos[1]));
|
||||
skill_autospell(sd, p->selectedSkillId);
|
||||
} else if (sd->menuskill_id == SC_AUTOSHADOWSPELL) {
|
||||
if (pc_istrading(sd)) {
|
||||
clif_skill_fail( *sd, sd->ud.skill_id );
|
||||
@ -19671,11 +19670,12 @@ void clif_parse_SkillSelectMenu(int fd, map_session_data *sd) {
|
||||
return;
|
||||
}
|
||||
|
||||
skill_select_menu(*sd, RFIFOW(fd, info->pos[1]));
|
||||
skill_select_menu(*sd, p->selectedSkillId);
|
||||
} else
|
||||
return;
|
||||
|
||||
clif_menuskill_clear(sd);
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -1260,7 +1260,7 @@
|
||||
|
||||
// 2008-12-10aSakexe
|
||||
#if PACKETVER >= 20081210
|
||||
parseable_packet(0x0443,8,clif_parse_SkillSelectMenu,2,6);
|
||||
parseable_packet( HEADER_CZ_SKILL_SELECT_RESPONSE, sizeof( PACKET_CZ_SKILL_SELECT_RESPONSE ), clif_parse_SkillSelectMenu, 0 );
|
||||
#endif
|
||||
|
||||
// 2009-01-14aSakexe
|
||||
|
||||
@ -209,13 +209,6 @@ struct PACKET_ZC_BROADCAST2{
|
||||
} __attribute__((packed));
|
||||
DEFINE_PACKET_HEADER(ZC_BROADCAST2, 0x1c3)
|
||||
|
||||
struct PACKET_ZC_SOULENERGY{
|
||||
int16 PacketType;
|
||||
uint32 AID;
|
||||
uint16 num;
|
||||
} __attribute__((packed));
|
||||
DEFINE_PACKET_HEADER(ZC_SOULENERGY, 0xb73)
|
||||
|
||||
struct PACKET_ZC_ENTRY_QUEUE_INIT {
|
||||
int16 packetType;
|
||||
} __attribute__((packed));
|
||||
@ -474,17 +467,6 @@ struct PACKET_ZC_INVENTORY_TAB{
|
||||
} __attribute__((packed));
|
||||
DEFINE_PACKET_HEADER(ZC_INVENTORY_TAB, 0x908)
|
||||
|
||||
struct PACKET_ZC_SKILL_SELECT_REQUEST_sub{
|
||||
int16 skill_id;
|
||||
} __attribute__((packed));
|
||||
|
||||
struct PACKET_ZC_SKILL_SELECT_REQUEST{
|
||||
int16 packetType;
|
||||
int16 packetLength;
|
||||
int32 why;
|
||||
struct PACKET_ZC_SKILL_SELECT_REQUEST_sub skills[];
|
||||
} __attribute__((packed));
|
||||
|
||||
struct PACKET_CZ_REQ_OPEN_BANKING{
|
||||
int16 packetType;
|
||||
uint32 AID;
|
||||
@ -1076,7 +1058,7 @@ DEFINE_PACKET_HEADER(CZ_REQ_MAKINGITEM, 0x25b)
|
||||
DEFINE_PACKET_HEADER(ZC_PC_CASH_POINT_ITEMLIST, 0x287)
|
||||
DEFINE_PACKET_HEADER(ZC_CASH_TIME_COUNTER, 0x298)
|
||||
DEFINE_PACKET_HEADER(ZC_CASH_ITEM_DELETE, 0x299)
|
||||
DEFINE_PACKET_HEADER(ZC_SKILL_SELECT_REQUEST, 0x442)
|
||||
DEFINE_PACKET_HEADER(CZ_SKILL_SELECT_RESPONSE, 0x443)
|
||||
DEFINE_PACKET_HEADER(ZC_FAILED_TRADE_BUYING_STORE_TO_SELLER, 0x824)
|
||||
DEFINE_PACKET_HEADER(CZ_SSILIST_ITEM_CLICK, 0x83c)
|
||||
DEFINE_PACKET_HEADER(ZC_ACK_SCHEDULER_CASHITEM, 0x8ca)
|
||||
|
||||
@ -3297,6 +3297,20 @@ struct PACKET_ZC_MAKINGARROW_LIST {
|
||||
} __attribute__((packed));
|
||||
DEFINE_PACKET_HEADER(ZC_MAKINGARROW_LIST, 0x01ad);
|
||||
|
||||
struct PACKET_ZC_SKILL_SELECT_REQUEST {
|
||||
int16 packetType;
|
||||
int16 packetLength;
|
||||
int32 flag; //< 0 = old code compatibility; 1 = Auto Shadow Spell; same value is received in CZ_SKILL_SELECT_RESPONSE
|
||||
int16 skillIds[];
|
||||
} __attribute__((packed));
|
||||
DEFINE_PACKET_HEADER(ZC_SKILL_SELECT_REQUEST, 0x0442);
|
||||
|
||||
struct PACKET_CZ_SKILL_SELECT_RESPONSE {
|
||||
int16 packetType;
|
||||
int32 flag; //< currently unused, matches ZC_SKILL_SELECT_REQUEST.flag
|
||||
int16 selectedSkillId;
|
||||
} __attribute__((packed));
|
||||
|
||||
#if PACKETVER_MAIN_NUM >= 20200916 || PACKETVER_RE_NUM >= 20200723 || PACKETVER_ZERO_NUM >= 20221024
|
||||
#define REPAIRITEM_INFO REPAIRITEM_INFO2
|
||||
struct PACKET_ZC_REPAIRITEMLIST {
|
||||
@ -4752,7 +4766,7 @@ struct PACKET_ZC_NOTIFY_SKILL {
|
||||
int8 action;
|
||||
} __attribute__((packed));
|
||||
DEFINE_PACKET_HEADER(ZC_NOTIFY_SKILL, 0x01de);
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if PACKETVER_MAIN_NUM >= 20130731 || PACKETVER_RE_NUM >= 20130724 || defined(PACKETVER_ZERO)
|
||||
struct PACKET_ZC_USE_SKILL {
|
||||
@ -5548,6 +5562,22 @@ struct PACKET_ZC_SPIRITS {
|
||||
} __attribute__((packed));
|
||||
DEFINE_PACKET_HEADER(ZC_SPIRITS, 0x01d0)
|
||||
|
||||
struct PACKET_ZC_SPIRITS2 {
|
||||
int16 PacketType;
|
||||
uint32 AID;
|
||||
int16 num;
|
||||
} __attribute__((packed));
|
||||
DEFINE_PACKET_HEADER(ZC_SPIRITS2, 0x01e1)
|
||||
|
||||
#if PACKETVER_MAIN_NUM >= 20200414 || PACKETVER_RE_NUM >= 20200723 || PACKETVER_ZERO_NUM >= 20200506
|
||||
struct PACKET_ZC_SOULENERGY {
|
||||
int16 PacketType;
|
||||
uint32 AID;
|
||||
uint16 num;
|
||||
} __attribute__((packed));
|
||||
DEFINE_PACKET_HEADER(ZC_SOULENERGY, 0x0b73)
|
||||
#endif
|
||||
|
||||
struct PACKET_ZC_SAY_DIALOG {
|
||||
int16 PacketType;
|
||||
int16 PacketLength;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user