Core/Packets: convert SMSG_REQUEST_PVP_REWARDS_RESPONSE to packet class

This commit is contained in:
Ovahlord
2020-01-06 10:42:40 +01:00
parent 2715301823
commit c8f4376a90
3 changed files with 34 additions and 8 deletions

View File

@@ -7149,15 +7149,15 @@ void Player::SendCurrencies() const
void Player::SendPvpRewards() const
{
WorldPacket packet(SMSG_REQUEST_PVP_REWARDS_RESPONSE, 24);
packet << GetCurrencyWeekCap(CURRENCY_TYPE_CONQUEST_POINTS, true);
packet << GetCurrencyOnWeek(CURRENCY_TYPE_CONQUEST_POINTS, true);
packet << GetCurrencyWeekCap(CURRENCY_TYPE_CONQUEST_META_ARENA, true);
packet << GetCurrencyOnWeek(CURRENCY_TYPE_CONQUEST_META_RBG, true);
packet << GetCurrencyOnWeek(CURRENCY_TYPE_CONQUEST_META_ARENA, true);
packet << GetCurrencyWeekCap(CURRENCY_TYPE_CONQUEST_POINTS, true);
WorldPackets::Misc::RequestPVPRewardsResponse packet;
packet.ArenaMaxRewardPointsThisWeek = GetCurrencyWeekCap(CURRENCY_TYPE_CONQUEST_META_ARENA, true);
packet.ArenaRewardPointsThisWeek = GetCurrencyOnWeek(CURRENCY_TYPE_CONQUEST_META_ARENA, true);
packet.MaxRewardPointsThisWeek = GetCurrencyWeekCap(CURRENCY_TYPE_CONQUEST_POINTS, true);
packet.RewardPointsThisWeek = GetCurrencyOnWeek(CURRENCY_TYPE_CONQUEST_POINTS, true);
packet.RatedMaxRewardPointsThisWeek = GetCurrencyWeekCap(CURRENCY_TYPE_CONQUEST_POINTS, true);
packet.RatedRewardPointsThisWeek = GetCurrencyOnWeek(CURRENCY_TYPE_CONQUEST_META_RBG, true);
SendDirectMessage(&packet);
SendDirectMessage(packet.Write());
}
uint32 Player::GetCurrency(uint32 id, bool usePrecision) const

View File

@@ -47,6 +47,17 @@ WorldPacket const* WorldPackets::Misc::SetupCurrency::Write()
_worldPacket << uint32(*data.WeeklyQuantity);
}
return &_worldPacket;
}
WorldPacket const* WorldPackets::Misc::RequestPVPRewardsResponse::Write()
{
_worldPacket << uint32(MaxRewardPointsThisWeek);
_worldPacket << uint32(RewardPointsThisWeek);
_worldPacket << uint32(ArenaMaxRewardPointsThisWeek);
_worldPacket << uint32(RatedRewardPointsThisWeek);
_worldPacket << uint32(ArenaRewardPointsThisWeek);
_worldPacket << uint32(RatedMaxRewardPointsThisWeek);
return &_worldPacket;
}

View File

@@ -46,6 +46,21 @@ namespace WorldPackets
std::vector<Record> Data;
};
class RequestPVPRewardsResponse final : public ServerPacket
{
public:
RequestPVPRewardsResponse() : ServerPacket(SMSG_REQUEST_PVP_REWARDS_RESPONSE, 24) { }
WorldPacket const* Write() override;
int32 RatedRewardPointsThisWeek = 0;
int32 ArenaRewardPointsThisWeek = 0;
int32 RewardPointsThisWeek = 0;
int32 RatedMaxRewardPointsThisWeek = 0;
int32 ArenaMaxRewardPointsThisWeek = 0;
int32 MaxRewardPointsThisWeek = 0;
};
}
}