ZC_PET_ACT

This commit is contained in:
Atemo 2024-05-26 04:54:50 +02:00
parent c0c8f2527c
commit 75f0634658
4 changed files with 18 additions and 17 deletions

View File

@ -8291,23 +8291,18 @@ void clif_send_petstatus( map_session_data& sd, pet_data& pd ){
} }
/// Notification about a pet's emotion/talk (ZC_PET_ACT). /// Notification about a pet's emotion/talk.
/// 01aa <id>.L <data>.L /// 01aa <id>.L <data>.L (ZC_PET_ACT)
/// data: /// data:
/// @see CZ_PET_ACT. /// @see CZ_PET_ACT.
void clif_pet_emotion(struct pet_data *pd,int param) void clif_pet_emotion( pet_data& pd, int32 param ){
{ PACKET_ZC_PET_ACT packet{};
unsigned char buf[16];
nullpo_retv(pd); packet.packetType = HEADER_ZC_PET_ACT;
packet.GID = pd.bl.id;
packet.data = param;
memset(buf,0,packet_len(0x1aa)); clif_send( &packet, sizeof( packet ), &pd.bl, AREA );
WBUFW(buf,0)=0x1aa;
WBUFL(buf,2)=pd->bl.id;
WBUFL(buf,6)=param;
clif_send(buf,packet_len(0x1aa),&pd->bl,AREA);
} }
@ -10876,7 +10871,7 @@ void clif_parse_LoadEndAck(int fd,map_session_data *sd)
} }
if(sd->pd && sd->pd->pet.intimate > 900) if(sd->pd && sd->pd->pet.intimate > 900)
clif_pet_emotion(sd->pd,(sd->pd->pet.class_ - 100)*100 + 50 + pet_hungry_val(sd->pd)); clif_pet_emotion( *sd->pd, (sd->pd->pet.class_ - 100)*100 + 50 + pet_hungry_val(sd->pd) );
if(hom_is_active(sd->hd)) if(hom_is_active(sd->hd))
hom_init_timers(sd->hd); hom_init_timers(sd->hd);
@ -14590,7 +14585,7 @@ void clif_parse_SelectEgg(int fd, map_session_data *sd){
void clif_parse_SendEmotion(int fd, map_session_data *sd) void clif_parse_SendEmotion(int fd, map_session_data *sd)
{ {
if(sd->pd) if(sd->pd)
clif_pet_emotion(sd->pd,RFIFOL(fd,packet_db[RFIFOW(fd,0)].pos[0])); clif_pet_emotion( *sd->pd, RFIFOL(fd,packet_db[RFIFOW(fd,0)].pos[0]) );
} }

View File

@ -1104,7 +1104,7 @@ void clif_send_petstatus( map_session_data& sd, pet_data& pd );
void clif_send_petdata( map_session_data* sd, pet_data& pd, e_changestate_pet data_type, int32 value ); void clif_send_petdata( map_session_data* sd, pet_data& pd, e_changestate_pet data_type, int32 value );
#define clif_pet_equip(sd, pd) clif_send_petdata(sd, pd, CHANGESTATEPET_ACCESSORY, (pd).vd.head_bottom) #define clif_pet_equip(sd, pd) clif_send_petdata(sd, pd, CHANGESTATEPET_ACCESSORY, (pd).vd.head_bottom)
#define clif_pet_equip_area(pd) clif_send_petdata(nullptr, pd, CHANGESTATEPET_ACCESSORY, (pd).vd.head_bottom) #define clif_pet_equip_area(pd) clif_send_petdata(nullptr, pd, CHANGESTATEPET_ACCESSORY, (pd).vd.head_bottom)
void clif_pet_emotion(struct pet_data *pd,int param); void clif_pet_emotion( pet_data& pd, int32 param );
void clif_pet_food( map_session_data& sd, int32 foodid, bool success ); void clif_pet_food( map_session_data& sd, int32 foodid, bool success );
void clif_pet_autofeed_status(map_session_data* sd, bool force); void clif_pet_autofeed_status(map_session_data* sd, bool force);

View File

@ -254,7 +254,6 @@
parseable_packet(0x01a7,4,clif_parse_SelectEgg,2); parseable_packet(0x01a7,4,clif_parse_SelectEgg,2);
packet(0x01a8,4); packet(0x01a8,4);
parseable_packet(0x01a9,6,clif_parse_SendEmotion,2); parseable_packet(0x01a9,6,clif_parse_SendEmotion,2);
packet(0x01aa,10);
packet(0x01ac,6); packet(0x01ac,6);
packet(0x01ad,-1); packet(0x01ad,-1);
parseable_packet( HEADER_CZ_REQ_MAKINGARROW, sizeof( PACKET_CZ_REQ_MAKINGARROW ), clif_parse_SelectArrow, 0 ); parseable_packet( HEADER_CZ_REQ_MAKINGARROW, sizeof( PACKET_CZ_REQ_MAKINGARROW ), clif_parse_SelectArrow, 0 );

View File

@ -1075,6 +1075,13 @@ struct PACKET_ZC_ACK_REQNAME_BYGID {
DEFINE_PACKET_HEADER(ZC_ACK_REQNAME_BYGID, 0x194); DEFINE_PACKET_HEADER(ZC_ACK_REQNAME_BYGID, 0x194);
#endif #endif
struct PACKET_ZC_PET_ACT {
int16 packetType;
uint32 GID;
int32 data;
} __attribute__((packed));
DEFINE_PACKET_HEADER(ZC_PET_ACT, 0x1aa);
// NetBSD 5 and Solaris don't like pragma pack but accept the packed attribute // NetBSD 5 and Solaris don't like pragma pack but accept the packed attribute
#if !defined( sun ) && ( !defined( __NETBSD__ ) || __NetBSD_Version__ >= 600000000 ) #if !defined( sun ) && ( !defined( __NETBSD__ ) || __NetBSD_Version__ >= 600000000 )
#pragma pack( pop ) #pragma pack( pop )