diff --git a/src/map/clif.cpp b/src/map/clif.cpp index bdbf1063fa..2bfc58edbb 100644 --- a/src/map/clif.cpp +++ b/src/map/clif.cpp @@ -9158,20 +9158,17 @@ void clif_guild_message( const struct mmo_guild& g, uint32 account_id, const cha clif_send(buf, WBUFW(buf,2), &sd->bl, GUILD_NOBG); } -/// Request for guild alliance (ZC_REQ_ALLY_GUILD). -/// 0171 .L .24B -void clif_guild_reqalliance(map_session_data *sd,uint32 account_id,const char *name) +/// Request for guild alliance +/// 0171 .L .24B (ZC_REQ_ALLY_GUILD). +void clif_guild_reqalliance(map_session_data& sd,uint32 account_id,const char *name) { - int fd; + PACKET_ZC_REQ_ALLY_GUILD p{}; - nullpo_retv(sd); + p.packetType = HEADER_ZC_REQ_ALLY_GUILD; + p.inviterId = account_id; + safestrncpy(p.inviterGuildName,name,sizeof(p.inviterGuildName)); - fd=sd->fd; - WFIFOHEAD(fd,packet_len(0x171)); - WFIFOW(fd,0)=0x171; - WFIFOL(fd,2)=account_id; - safestrncpy(WFIFOCP(fd,6),name,NAME_LENGTH); - WFIFOSET(fd,packet_len(0x171)); + clif_send(&p,sizeof(p),&sd.bl,SELF); } diff --git a/src/map/clif.hpp b/src/map/clif.hpp index 565c79a1c7..1dfddd9a24 100644 --- a/src/map/clif.hpp +++ b/src/map/clif.hpp @@ -1058,7 +1058,7 @@ void clif_guild_emblem(const map_session_data &sd, const struct mmo_guild &g); void clif_guild_emblem_area(struct block_list* bl); void clif_guild_notice( map_session_data& sd ); void clif_guild_message( const struct mmo_guild& g, uint32 account_id, const char* mes, size_t len ); -void clif_guild_reqalliance(map_session_data *sd,uint32 account_id,const char *name); +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); diff --git a/src/map/clif_packetdb.hpp b/src/map/clif_packetdb.hpp index b2e982276c..af9465fdcf 100644 --- a/src/map/clif_packetdb.hpp +++ b/src/map/clif_packetdb.hpp @@ -191,7 +191,6 @@ packet(0x016d,14); parseable_packet(0x016e,186,clif_parse_GuildChangeNotice,2,6,66); parseable_packet(0x0170,14,clif_parse_GuildRequestAlliance,2,6,10); - packet(0x0171,30); parseable_packet(0x0172,10,clif_parse_GuildReplyAlliance,2,6); packet(0x0173,3); packet(0x0174,-1); diff --git a/src/map/guild.cpp b/src/map/guild.cpp index 8023786359..660ad64f6f 100644 --- a/src/map/guild.cpp +++ b/src/map/guild.cpp @@ -1901,7 +1901,7 @@ int guild_reqalliance(map_session_data *sd,map_session_data *tsd) { tsd->guild_alliance=sd->status.guild_id; tsd->guild_alliance_account=sd->status.account_id; - clif_guild_reqalliance(tsd,sd->status.account_id,g->guild.name); + clif_guild_reqalliance(*tsd,sd->status.account_id,g->guild.name); return 0; } diff --git a/src/map/packets.hpp b/src/map/packets.hpp index 7bf442f123..224cb01bab 100644 --- a/src/map/packets.hpp +++ b/src/map/packets.hpp @@ -760,6 +760,13 @@ struct PACKET_ZC_OPEN_EDITDLGSTR { } __attribute__((packed)); DEFINE_PACKET_HEADER(ZC_OPEN_EDITDLGSTR, 0x1d4) +struct PACKET_ZC_REQ_ALLY_GUILD { + int16 packetType; + uint32 inviterId; + char inviterGuildName[NAME_LENGTH]; +} __attribute__((packed)); +DEFINE_PACKET_HEADER(ZC_REQ_ALLY_GUILD, 0x171) + struct PACKET_ZC_COMPASS { int16 packetType; uint32 npcId;