diff --git a/src/map/clif.cpp b/src/map/clif.cpp index 2bfc58edbb..506ffbe0c0 100644 --- a/src/map/clif.cpp +++ b/src/map/clif.cpp @@ -9217,24 +9217,21 @@ void clif_guild_delalliance(map_session_data *sd,int guild_id,int flag) } -/// Notifies the client about the result of a opposition request (ZC_ACK_REQ_HOSTILE_GUILD). -/// 0181 .B +/// Notifies the client about the result of a opposition request. +/// 0181 .B (ZC_ACK_REQ_HOSTILE_GUILD) /// result: /// 0 = Antagonist has been set. /// 1 = Guild has too many Antagonists. /// 2 = Already set as an Antagonist. /// 3 = Antagonists are disabled. -void clif_guild_oppositionack(map_session_data *sd,int flag) -{ - int fd; +void clif_guild_oppositionack(map_session_data& sd,uint8 flag){ - nullpo_retv(sd); + PACKET_ZC_ACK_REQ_HOSTILE_GUILD p{}; - fd=sd->fd; - WFIFOHEAD(fd,packet_len(0x181)); - WFIFOW(fd,0)=0x181; - WFIFOB(fd,2)=flag; - WFIFOSET(fd,packet_len(0x181)); + p.packetType = HEADER_ZC_ACK_REQ_HOSTILE_GUILD; + p.flag = flag; + + clif_send(&p,sizeof(p),&sd.bl,SELF); } diff --git a/src/map/clif.hpp b/src/map/clif.hpp index 1dfddd9a24..2939bb9bbb 100644 --- a/src/map/clif.hpp +++ b/src/map/clif.hpp @@ -1061,7 +1061,7 @@ void clif_guild_message( const struct mmo_guild& g, uint32 account_id, const cha void clif_guild_reqalliance(map_session_data& sd,uint32 account_id,const char *name); void clif_guild_allianceack(map_session_data *sd,int flag); void clif_guild_delalliance(map_session_data *sd,int guild_id,int flag); -void clif_guild_oppositionack(map_session_data *sd,int flag); +void clif_guild_oppositionack(map_session_data& sd,uint8 flag); void clif_guild_broken( map_session_data& sd, int flag ); void clif_guild_xy( map_session_data& sd ); void clif_guild_xy_single( map_session_data& sd, map_session_data& tsd ); diff --git a/src/map/clif_packetdb.hpp b/src/map/clif_packetdb.hpp index af9465fdcf..2f9e5d902c 100644 --- a/src/map/clif_packetdb.hpp +++ b/src/map/clif_packetdb.hpp @@ -204,7 +204,6 @@ parseable_packet(0x017e,-1,clif_parse_GuildMessage,2,4); packet(0x017f,-1); parseable_packet(0x0180,6,clif_parse_GuildOpposition,2); - packet(0x0181,3); packet(0x0182,106); parseable_packet(0x0183,10,clif_parse_GuildDelAlliance,2,6); packet(0x0184,10); diff --git a/src/map/guild.cpp b/src/map/guild.cpp index 660ad64f6f..ecbd64b749 100644 --- a/src/map/guild.cpp +++ b/src/map/guild.cpp @@ -1996,14 +1996,14 @@ int guild_opposition(map_session_data *sd,map_session_data *tsd) { return 0; if( guild_get_alliance_count(g->guild,1) >= battle_config.max_guild_alliance ) { - clif_guild_oppositionack(sd,1); + clif_guild_oppositionack(*sd,1); return 0; } for (i = 0; i < MAX_GUILDALLIANCE; i++) { // checking relations if(g->guild.alliance[i].guild_id==tsd->status.guild_id){ if (g->guild.alliance[i].opposition == 1) { // check if not already hostile - clif_guild_oppositionack(sd,2); + clif_guild_oppositionack(*sd,2); return 0; } if(is_agit_start()) // Prevent the changing of alliances to oppositions during WoE. @@ -2082,7 +2082,7 @@ int guild_allianceack(int guild_id1,int guild_id2,uint32 account_id1,uint32 acco clif_guild_allianceack(sd[1],2); } else if ((flag & 0x0f) == 1) { // enemy notification if( sd[0]!=nullptr ) - clif_guild_oppositionack(sd[0],0); + clif_guild_oppositionack(*sd[0],0); } diff --git a/src/map/packets.hpp b/src/map/packets.hpp index 224cb01bab..c38328a23f 100644 --- a/src/map/packets.hpp +++ b/src/map/packets.hpp @@ -767,6 +767,12 @@ struct PACKET_ZC_REQ_ALLY_GUILD { } __attribute__((packed)); DEFINE_PACKET_HEADER(ZC_REQ_ALLY_GUILD, 0x171) +struct PACKET_ZC_ACK_REQ_HOSTILE_GUILD { + int16 packetType; + uint8 flag; +} __attribute__((packed)); +DEFINE_PACKET_HEADER(ZC_ACK_REQ_HOSTILE_GUILD, 0x181) + struct PACKET_ZC_COMPASS { int16 packetType; uint32 npcId;