Converted ZC_POSITION_INFO to struct (#8629)
Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
This commit is contained in:
parent
ca86ac12c8
commit
c92a7e529b
@ -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 );
|
||||
|
@ -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);
|
||||
|
Loading…
x
Reference in New Issue
Block a user