Converted ZC_MYGUILD_BASIC_INFO to struct (#8628)

Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
This commit is contained in:
AoShinHo 2024-09-14 18:57:41 -03:00 committed by GitHub
parent c92a7e529b
commit f3d1541e44
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 32 additions and 26 deletions

View File

@ -8755,31 +8755,38 @@ void clif_guild_basicinfo( map_session_data& sd ){
}
/// Guild alliance and opposition list (ZC_MYGUILD_BASIC_INFO).
/// 014c <packet len>.W { <relation>.L <guild id>.L <guild name>.24B }*
void clif_guild_allianceinfo(map_session_data *sd)
{
int fd,i,c;
/// Guild alliance and opposition list
/// 014c <packet len>.W { <relation>.L <guild id>.L <guild name>.24B }* (ZC_MYGUILD_BASIC_INFO)
void clif_guild_allianceinfo(map_session_data& sd){
auto &g = sd.guild;
nullpo_retv(sd);
auto &g = sd->guild;
if (!g)
if (g == nullptr){
return;
fd = sd->fd;
WFIFOHEAD(fd, MAX_GUILDALLIANCE * 32 + 4);
WFIFOW(fd, 0)=0x14c;
for(i=c=0;i<MAX_GUILDALLIANCE;i++){
struct guild_alliance *a=&g->guild.alliance[i];
if(a->guild_id>0){
WFIFOL(fd,c*32+4)=a->opposition;
WFIFOL(fd,c*32+8)=a->guild_id;
safestrncpy(WFIFOCP(fd,c*32+12),a->name,NAME_LENGTH);
c++;
}
}
WFIFOW(fd, 2)=c*32+4;
WFIFOSET(fd,WFIFOW(fd,2));
PACKET_ZC_MYGUILD_BASIC_INFO* p = reinterpret_cast<PACKET_ZC_MYGUILD_BASIC_INFO*>( packet_buffer );
p->PacketType = HEADER_ZC_MYGUILD_BASIC_INFO;
p->PacketLength = sizeof(*p);
for(size_t i=0, c = 0;i<MAX_GUILDALLIANCE;i++){
guild_alliance &a = g->guild.alliance[i];
if(a.guild_id<=0){
continue;
}
RELATED_GUILD_INFO& info = p->rgInfo[c];
info.relation = a.opposition;
info.GDID = a.guild_id;
safestrncpy(info.guildname,a.name,sizeof(info.guildname));
p->PacketLength += static_cast<decltype(p->PacketLength)>(sizeof(info));
c++;
}
clif_send(p,p->PacketLength,&sd.bl,SELF);
}
@ -14090,7 +14097,7 @@ void clif_parse_GuildRequestInfo(int fd, map_session_data *sd)
{
case 0: // Basic Information Guild, hostile alliance information
clif_guild_basicinfo( *sd );
clif_guild_allianceinfo(sd);
clif_guild_allianceinfo(*sd);
clif_guild_castle_list(*sd);
break;
case 1: // Members list, list job title

View File

@ -1043,7 +1043,7 @@ void clif_guild_created( map_session_data& sd, int flag );
void clif_guild_belonginfo( map_session_data& sd );
void clif_guild_masterormember(map_session_data *sd);
void clif_guild_basicinfo( map_session_data& sd );
void clif_guild_allianceinfo(map_session_data *sd);
void clif_guild_allianceinfo(map_session_data& sd);
void clif_guild_memberlist( map_session_data& sd );
void clif_guild_skillinfo( map_session_data& sd );
void clif_guild_send_onlineinfo(map_session_data *sd); //[LuzZza]

View File

@ -161,7 +161,6 @@
parseable_packet(0x0149,9,clif_parse_GMReqNoChat,2,6,7);
packet(0x014a,6);
packet(0x014b,27);
packet(0x014c,-1);
parseable_packet(0x014d,2,clif_parse_GuildCheckMaster,0);
packet(0x014e,6);
parseable_packet(0x014f,6,clif_parse_GuildRequestInfo,2);

View File

@ -2091,7 +2091,7 @@ int guild_allianceack(int guild_id1,int guild_id2,uint32 account_id1,uint32 acco
for(j=0;j<g[i]->max_member;j++) {
map_session_data *sd_mem = g[i]->member[j].sd;
if( sd_mem!=nullptr){
clif_guild_allianceinfo(sd_mem);
clif_guild_allianceinfo(*sd_mem);
// join ally channel
if( channel_config.ally_tmpl.name[0] && (channel_config.ally_tmpl.opt&CHAN_OPT_AUTOJOIN) ) {