Converted ZC_POSITION_INFO to struct (#8629)

Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
This commit is contained in:
AoShinHo 2024-09-14 18:06:38 -03:00 committed by GitHub
parent ca86ac12c8
commit c92a7e529b
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 25 additions and 24 deletions

View File

@ -8862,34 +8862,36 @@ void clif_guild_positionnamelist(map_session_data *sd)
}
/// Guild position information (ZC_POSITION_INFO).
/// 0160 <packet len>.W { <position id>.L <mode>.L <ranking>.L <pay rate>.L }*
/// Guild position information
/// 0160 <packet len>.W { <position id>.L <mode>.L <ranking>.L <pay rate>.L }* (ZC_POSITION_INFO)
/// mode:
/// &0x01 = allow invite
/// &0x10 = allow expel
/// See enum e_guild_permission
/// ranking:
/// TODO
void clif_guild_positioninfolist(map_session_data *sd)
{
int i,fd;
static void clif_guild_positioninfolist(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_GUILDPOSITION * 16 + 4);
WFIFOW(fd, 0)=0x160;
for(i=0;i<MAX_GUILDPOSITION;i++){
struct guild_position *p=&g->guild.position[i];
WFIFOL(fd,i*16+ 4)=i;
WFIFOL(fd,i*16+ 8)=p->mode;
WFIFOL(fd,i*16+12)=i;
WFIFOL(fd,i*16+16)=p->exp_mode;
}
WFIFOW(fd, 2)=i*16+4;
WFIFOSET(fd,WFIFOW(fd,2));
PACKET_ZC_POSITION_INFO* p = reinterpret_cast<PACKET_ZC_POSITION_INFO*>( packet_buffer );
p->PacketType = HEADER_ZC_POSITION_INFO;
p->PacketLength = sizeof(*p);
for(size_t i=0;i<MAX_GUILDPOSITION;i++){
guild_position& gp = g->guild.position[i];
p->posInfo[i].positionID = i;
p->posInfo[i].right = gp.mode;
p->posInfo[i].ranking = i;
p->posInfo[i].payRate = gp.exp_mode;
p->PacketLength += static_cast<decltype(p->PacketLength)>( sizeof( p->posInfo[0] ) );
}
clif_send(p,p->PacketLength,&sd.bl,SELF);
}
@ -14097,7 +14099,7 @@ void clif_parse_GuildRequestInfo(int fd, map_session_data *sd)
break;
case 2: // List job title, title information list
clif_guild_positionnamelist(sd);
clif_guild_positioninfolist(sd);
clif_guild_positioninfolist(*sd);
break;
case 3: // Skill list
clif_guild_skillinfo( *sd );

View File

@ -178,7 +178,6 @@
parseable_packet( HEADER_CZ_REQ_BAN_GUILD, sizeof( PACKET_CZ_REQ_BAN_GUILD ), clif_parse_GuildExpulsion, 0 );
parseable_packet( HEADER_CZ_REQ_DISORGANIZE_GUILD, sizeof( PACKET_CZ_REQ_DISORGANIZE_GUILD ), clif_parse_GuildBreak, 0 );
packet(0x015f,42);
packet(0x0160,-1);
parseable_packet(0x0161,-1,clif_parse_GuildChangePositionInfo,2,4);
packet(0x0164,-1);
parseable_packet(0x0165,30,clif_parse_CreateGuild,2,6);