This is what I have done:
Code:
local function UpdatePvPStatsFrame()
if not IsAddOnLoaded("Blizzard_PVPUI") then
LoadAddOn("Blizzard_PVPUI")
end
C_Timer.After(2, function() -- Delay for 2 seconds to ensure the AddOn is fully loaded and ready
local conquestInfo = C_CurrencyInfo.GetCurrencyInfo(Constants.CurrencyConsts.CONQUEST_CURRENCY_ID)
local weeklyProgress = C_WeeklyRewards.GetConquestWeeklyProgress()
local honorInfo = C_CurrencyInfo.GetCurrencyInfo(HONOR_CURRENCY_ID)
local lifetimeHonorableKills, _ = GetPVPLifetimeStats()
local honorLevel = UnitHonorLevel("player")
local currentConquestPoints = conquestInfo.quantity
local conquestCap = weeklyProgress.maxProgress or 1350
if conquestCap == 1250 then
conquestCap = 1350
end
local rating = GetPersonalRatedInfo(SOLO_SHUFFLE_INDEX)
local soloShuffleRating = rating or "N/A"
pvpStatsFrame.honorableKillsValue:SetText(lifetimeHonorableKills)
pvpStatsFrame.conquestValue:SetText(currentConquestPoints)
pvpStatsFrame.conquestCapValue:SetText(currentConquestPoints .. " / " .. conquestCap)
pvpStatsFrame.honorValue:SetText(honorInfo.quantity)
pvpStatsFrame.honorLevelValue:SetText(honorLevel)
pvpStatsFrame.soloShuffleRatingValue:SetText(soloShuffleRating)
end)
end
pvpStatsFrame:RegisterEvent("CURRENCY_DISPLAY_UPDATE")
pvpStatsFrame:RegisterEvent("PLAYER_ENTERING_WORLD")
pvpStatsFrame:RegisterEvent("WEEKLY_REWARDS_UPDATE")
pvpStatsFrame:SetScript("OnEvent", UpdatePvPStatsFrame)
pvpStatsFrame:SetScript("OnShow", UpdatePvPStatsFrame)
With that it does fix the issue of showing the correct rating. BUT, if you go Group Finder/Player vs Player the "Rated" and "PreMade Group" is still grayed out and cannot be clicked. The only way to resolve that is with a /reload, and everything works just fine.