Fixed clif_guild_positioninfolist

Fixes #8648

Thanks to @thanna, @laziem, @skstrife and @AoShinRO
This commit is contained in:
Lemongrass3110 2024-09-17 17:10:27 +02:00
parent f3f8e63448
commit 7880596b03
2 changed files with 14 additions and 11 deletions

View File

@ -8871,13 +8871,14 @@ static void clif_guild_positioninfolist(map_session_data& sd){
for(size_t i=0;i<MAX_GUILDPOSITION;i++){
guild_position& gp = g->guild.position[i];
PACKET_ZC_POSITION_INFO_sub& position = p->posInfo[i];
p->posInfo[i].positionID = i;
p->posInfo[i].right = gp.mode;
p->posInfo[i].ranking = i;
p->posInfo[i].payRate = gp.exp_mode;
position.positionID = static_cast<decltype(position.positionID)>( i );
position.right = gp.mode;
position.ranking = static_cast<decltype(position.ranking)>( i );
position.payRate = gp.exp_mode;
p->PacketLength += static_cast<decltype(p->PacketLength)>( sizeof( p->posInfo[0] ) );
p->PacketLength += static_cast<decltype(p->PacketLength)>( sizeof( position ) );
}
clif_send(p,p->PacketLength,&sd.bl,SELF);

View File

@ -4998,15 +4998,17 @@ struct PACKET_ZC_POSITION_ID_NAME_INFO {
} __attribute__((packed));
DEFINE_PACKET_HEADER(ZC_POSITION_ID_NAME_INFO, 0x0166);
struct PACKET_ZC_POSITION_INFO_sub {
int positionID;
int right;
int ranking;
int payRate;
} __attribute__((packed));
struct PACKET_ZC_POSITION_INFO {
int16 PacketType;
int16 PacketLength;
struct {
int positionID;
int right;
int ranking;
int payRate;
} posInfo[MAX_GUILDPOSITION];
struct PACKET_ZC_POSITION_INFO_sub posInfo[];
} __attribute__((packed));
DEFINE_PACKET_HEADER(ZC_POSITION_INFO, 0x0160);