Converted ZC_DESTROY_ROOM to struct (#8591)
Co-authored-by: Aleos <aleos89@users.noreply.github.com> Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
This commit is contained in:
parent
82a0c503ce
commit
d382b3f55a
@ -218,7 +218,7 @@ int chat_leavechat(map_session_data* sd, bool kicked)
|
||||
cd->usersd[i] = cd->usersd[i+1];
|
||||
|
||||
if( cd->users == 0 && cd->owner->type == BL_PC ) { // Delete empty chatroom
|
||||
clif_clearchat(cd, 0);
|
||||
clif_clearchat(*cd);
|
||||
db_destroy(cd->kick_list);
|
||||
map_deliddb(&cd->bl);
|
||||
map_delblock(&cd->bl);
|
||||
@ -235,7 +235,7 @@ int chat_leavechat(map_session_data* sd, bool kicked)
|
||||
if( leavechar == 0 && cd->owner->type == BL_PC ) { // Set and announce new owner
|
||||
cd->owner = (struct block_list*) cd->usersd[0];
|
||||
clif_changechatowner(cd, cd->usersd[0]);
|
||||
clif_clearchat(cd, 0);
|
||||
clif_clearchat(*cd);
|
||||
|
||||
//Adjust Chat location after owner has been changed.
|
||||
map_delblock( &cd->bl );
|
||||
@ -276,7 +276,7 @@ int chat_changechatowner(map_session_data* sd, const char* nextownername)
|
||||
return -1; // name not found
|
||||
|
||||
// erase temporarily
|
||||
clif_clearchat(cd,0);
|
||||
clif_clearchat(*cd);
|
||||
|
||||
// set new owner
|
||||
cd->owner = (struct block_list*) cd->usersd[i];
|
||||
@ -437,7 +437,7 @@ int chat_deletenpcchat(struct npc_data* nd)
|
||||
return 0;
|
||||
|
||||
chat_npckickall(cd);
|
||||
clif_clearchat(cd, 0);
|
||||
clif_clearchat(*cd);
|
||||
map_deliddb(&cd->bl);
|
||||
map_delblock(&cd->bl);
|
||||
map_freeblock(&cd->bl);
|
||||
|
@ -4514,23 +4514,16 @@ void clif_changechatstatus(chat_data& cd) {
|
||||
}
|
||||
|
||||
|
||||
/// Removes the chatroom (ZC_DESTROY_ROOM).
|
||||
/// 00d8 <chat id>.L
|
||||
void clif_clearchat(struct chat_data *cd,int fd)
|
||||
{
|
||||
unsigned char buf[32];
|
||||
/// Removes the chatroom
|
||||
/// 00d8 <chat id>.L (ZC_DESTROY_ROOM)
|
||||
void clif_clearchat(chat_data &cd){
|
||||
|
||||
nullpo_retv(cd);
|
||||
PACKET_ZC_DESTROY_ROOM p{};
|
||||
|
||||
WBUFW(buf,0) = 0xd8;
|
||||
WBUFL(buf,2) = cd->bl.id;
|
||||
if( session_isActive(fd) ) {
|
||||
WFIFOHEAD(fd,packet_len(0xd8));
|
||||
memcpy(WFIFOP(fd,0),buf,packet_len(0xd8));
|
||||
WFIFOSET(fd,packet_len(0xd8));
|
||||
} else {
|
||||
clif_send(buf,packet_len(0xd8),cd->owner,AREA_WOSC);
|
||||
}
|
||||
p.packetType = HEADER_ZC_DESTROY_ROOM;
|
||||
p.chatId = cd.bl.id;
|
||||
|
||||
clif_send(&p,sizeof(p),cd.owner,AREA_WOSC);
|
||||
}
|
||||
|
||||
|
||||
|
@ -888,7 +888,7 @@ void clif_joinchatfail( map_session_data& sd, e_refuse_enter_room result );
|
||||
void clif_joinchatok(map_session_data& sd,chat_data& cd);
|
||||
void clif_addchat(struct chat_data* cd,map_session_data *sd); // chat
|
||||
void clif_changechatowner(struct chat_data* cd, map_session_data* sd); // chat
|
||||
void clif_clearchat(struct chat_data *cd,int fd); // area or fd
|
||||
void clif_clearchat(chat_data &cd);
|
||||
void clif_leavechat(struct chat_data* cd, map_session_data* sd, bool flag); // chat
|
||||
void clif_changechatstatus(chat_data& cd);
|
||||
void clif_refresh_storagewindow(map_session_data *sd);
|
||||
|
@ -86,7 +86,6 @@
|
||||
packet(0x00d4,-1);
|
||||
parseable_packet(0x00d5,-1,clif_parse_CreateChatRoom,2,4,6,7,15);
|
||||
packet(0x00d7,-1);
|
||||
packet(0x00d8,6);
|
||||
parseable_packet(0x00d9,14,clif_parse_ChatAddMember,2,6);
|
||||
packet(0x00dc,28);
|
||||
packet(0x00dd,29);
|
||||
|
@ -1015,6 +1015,12 @@ struct PACKET_ZC_REFUSE_ENTER_ROOM {
|
||||
} __attribute__((packed));
|
||||
DEFINE_PACKET_HEADER(ZC_REFUSE_ENTER_ROOM, 0xda);
|
||||
|
||||
struct PACKET_ZC_DESTROY_ROOM {
|
||||
int16 packetType;
|
||||
uint32 chatId;
|
||||
} __attribute__((packed));
|
||||
DEFINE_PACKET_HEADER(ZC_DESTROY_ROOM, 0xd8);
|
||||
|
||||
struct PACKET_ZC_ENTER_ROOM_sub{
|
||||
uint32 flag;
|
||||
char name[NAME_LENGTH];
|
||||
|
Loading…
x
Reference in New Issue
Block a user