i think i may have found a way around this
Lua Code:
--Thank you for your help
--SDPhantom
--Phanx
--Fizzlemizz
local AXP_COLOR = { r = 0.6, g = 0.2, b = 0.1 }
--Lets set up the Frame
local derArtifactBar = CreateFrame("Statusbar", "derArtifactBar",artifactFrame)
derArtifactBar:SetPoint("CENTER", 0, 0)
derArtifactBar:SetHeight(18)
derArtifactBar:SetWidth(artifactFrame:GetWidth() * .968)
derArtifactBar:SetStatusBarTexture("Interface\\AddOns\\_Deranjata\\media\\cast\\Waterline")
derArtifactBar:SetStatusBarColor(AXP_COLOR.r, AXP_COLOR.g, AXP_COLOR.b, 0.5)
derArtifactBar:SetBackdrop({
bgFile = "Interface\\AddOns\\_Deranjata\\media\\cast\\Lines",
insets = { left = 1, right = 1, top = 1, bottom = 1 }
})
derArtifactBar:SetBackdropColor(0.1, 0.1, 0.1)
derArtifactBar:SetBackdropBorderColor(0.6, 0.6, 0.6)
--lets clear any text then set out centerpoint
derArtifactBar.Text=derArtifactBar:CreateFontString(nil, "OVERLAY", "GameFontNormal")
derArtifactBar.Text:SetPoint("CENTER")
--Registering out watched events
derArtifactBar:RegisterEvent("PLAYER_ENTERING_WORLD")
derArtifactBar:RegisterEvent("ARTIFACT_XP_UPDATE")
derArtifactBar:RegisterEvent("UNIT_INVENTORY_CHANGED")
-- now lets update the position and text on the bar so we can always have accurate info
derArtifactBar:SetScript("OnEvent", function(self, event, ...)
if not HasArtifactEquipped() then self:Hide() return end
self:Show()
--local itemID, altItemID, name, icon, xp, pointsSpent = C_ArtifactUI.GetEquippedArtifactInfo()
local itemID, altItemID, name, icon, xp, pointsSpent, quality, artifactAppearanceID, appearanceModID, itemAppearanceID, altItemAppearanceID, altOnTop, artifactTier = C_ArtifactUI.GetEquippedArtifactInfo()
local numPoints, artifactXP, xpForNextPoint = MainMenuBar_GetNumArtifactTraitsPurchasableFromXP(pointsSpent, xp, artifactTier) --(pointsSpent, totalXP)
self:SetMinMaxValues(0,xpForNextPoint)
self:SetValue(artifactXP)
self.Text:SetFormattedText("Artifact XP: %d / %d +%d Points",artifactXP,xpForNextPoint,numPoints)
end)