Skip to content

Commit 0af3f29

Browse files
authored
Merge pull request #18 from ChronosSF/partial-ss
implementing partial shards
2 parents 8fc83b2 + 351088c commit 0af3f29

File tree

2 files changed

+163
-77
lines changed

2 files changed

+163
-77
lines changed

Core.lua

Lines changed: 159 additions & 75 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ cPointDisplay.Types = {
2020
name = "Warlock",
2121
points = {
2222
[1] = {name = "Soul Shards", id = "ss", barcount = 5},
23+
[2] = {name = "Soul Shards Precise", id = "ssf", barcount = 5},
2324
}
2425
},
2526
["MAGE"] = {
@@ -361,73 +362,115 @@ function cPointDisplay:UpdateCombatFaderEnabled()
361362
cPointDisplay:FadeFrames()
362363
end
363364

364-
-- Update Point Bars
365-
local function SetPointBarTextures(shown, ic, it, tid, i)
366-
-- Visible Bar
367-
if shown then
368-
-- BG
369-
Frames[ic][tid].bars[i].bg:SetTexture(BG[ic][tid].bars[i].full)
365+
local function SetEmptyBarTextures(ic, it, tid, i)
366+
local cc = ClassColorBarTable[ic]
367+
local dbc = db[ic].types[tid].bars[i]
368+
Frames[ic][tid].bars[i].bg:SetTexture(BG[ic][tid].bars[i].empty)
369+
Frames[ic][tid].bars[i].border:SetBackdrop({bgFile = "", edgeFile = Borders[ic][tid].bars[i].empty, edgeSize = dbc.border.empty.edgesize, tile = false, tileSize = 0, insets = {left = 0, right = 0, top = 0, bottom = 0}})
370+
Frames[ic][tid].bars[i].border:SetHeight(dbc.size.height - dbc.border.empty.inset)
371+
Frames[ic][tid].bars[i].border:SetWidth(dbc.size.width - dbc.border.empty.inset)
372+
373+
if db.classcolor.enabled then
374+
Frames[ic][tid].bars[i].bg:SetVertexColor(cc.bg.empty.r, cc.bg.empty.g, cc.bg.empty.b, dbc.bg.empty.color.a)
375+
Frames[ic][tid].bars[i].border:SetBackdropBorderColor(cc.border.empty.r, cc.border.empty.g, cc.border.empty.b, dbc.border.empty.color.a)
376+
else
377+
Frames[ic][tid].bars[i].bg:SetVertexColor(dbc.bg.empty.color.r, dbc.bg.empty.color.g, dbc.bg.empty.color.b, dbc.bg.empty.color.a)
378+
Frames[ic][tid].bars[i].border:SetBackdropBorderColor(dbc.border.empty.color.r, dbc.border.empty.color.g, dbc.border.empty.color.b, dbc.border.empty.color.a)
379+
end
380+
end
381+
382+
local function SetPartialBarTextures(ic, it, tid, i, partial)
383+
local cc = ClassColorBarTable[ic]
384+
local dbc = db[ic].types[tid].bars[i]
385+
local toColorize = partial
386+
387+
for j = 0, 8 do
388+
Frames[ic][tid].bars[i].subbars[j].frame:Show()
370389

371-
-- Border
372-
Frames[ic][tid].bars[i].border:SetBackdrop({bgFile = "", edgeFile = Borders[ic][tid].bars[i].full, edgeSize = db[ic].types[tid].bars[i].border.full.edgesize, tile = false, tileSize = 0, insets = {left = 0, right = 0, top = 0, bottom = 0}})
373-
Frames[ic][tid].bars[i].border:SetHeight(db[ic].types[tid].bars[i].size.height - db[ic].types[tid].bars[i].border.full.inset)
374-
Frames[ic][tid].bars[i].border:SetWidth(db[ic].types[tid].bars[i].size.width - db[ic].types[tid].bars[i].border.full.inset)
390+
-- BG
391+
Frames[ic][tid].bars[i].subbars[j].bg:SetTexture(BG[ic][tid].bars[i].full)
375392

376393
-- Colors
377-
if Points[tid] < Types[ic].points[it].barcount then
394+
if j < toColorize then
395+
Frames[ic][tid].bars[i].subbars[j].frame:Show()
396+
if db.classcolor.enabled then Frames[ic][tid].bars[i].subbars[j].bg:SetVertexColor(cc.bg.normal.r, cc.bg.normal.g, cc.bg.normal.b, dbc.bg.full.color.a)
397+
else Frames[ic][tid].bars[i].subbars[j].bg:SetVertexColor(dbc.bg.full.color.r, dbc.bg.full.color.g, dbc.bg.full.color.b, dbc.bg.full.color.a) end
398+
else
399+
Frames[ic][tid].bars[i].subbars[j].frame:Hide()
400+
if db.classcolor.enabled then Frames[ic][tid].bars[i].subbars[j].bg:SetVertexColor(cc.bg.max.r, cc.bg.max.g, cc.bg.max.b, dbc.bg.full.maxcolor.a)
401+
else Frames[ic][tid].bars[i].subbars[j].bg:SetVertexColor(dbc.bg.full.maxcolor.r, dbc.bg.full.maxcolor.g, dbc.bg.full.maxcolor.b, dbc.bg.full.maxcolor.a) end
402+
end
403+
end
404+
end
405+
406+
local function SetPointBarTextures(ic, it, tid, i, points)
407+
local cc = ClassColorBarTable[ic]
408+
local dbc = db[ic].types[tid].bars[i]
409+
-- BG
410+
Frames[ic][tid].bars[i].bg:SetTexture(BG[ic][tid].bars[i].full)
411+
412+
-- Border
413+
Frames[ic][tid].bars[i].border:SetBackdrop({bgFile = "", edgeFile = Borders[ic][tid].bars[i].full, edgeSize = dbc.border.full.edgesize, tile = false, tileSize = 0, insets = {left = 0, right = 0, top = 0, bottom = 0}})
414+
Frames[ic][tid].bars[i].border:SetHeight(dbc.size.height - dbc.border.full.inset)
415+
Frames[ic][tid].bars[i].border:SetWidth(dbc.size.width - dbc.border.full.inset)
416+
417+
-- Colors
418+
if points < Types[ic].points[it].barcount then
419+
if db.classcolor.enabled then
420+
Frames[ic][tid].bars[i].bg:SetVertexColor(cc.bg.normal.r, cc.bg.normal.g, cc.bg.normal.b, dbc.bg.full.color.a)
421+
Frames[ic][tid].bars[i].border:SetBackdropBorderColor(cc.border.normal.r, cc.border.normal.g, cc.border.normal.b, dbc.border.full.color.a)
422+
else
423+
Frames[ic][tid].bars[i].bg:SetVertexColor(dbc.bg.full.color.r, dbc.bg.full.color.g, dbc.bg.full.color.b, dbc.bg.full.color.a)
424+
Frames[ic][tid].bars[i].border:SetBackdropBorderColor(dbc.border.full.color.r, dbc.border.full.color.g, dbc.border.full.color.b, dbc.border.full.color.a)
425+
end
426+
else
427+
if db.classcolor.enabled then
428+
Frames[ic][tid].bars[i].bg:SetVertexColor(cc.bg.max.r, cc.bg.max.g, cc.bg.max.b, dbc.bg.full.maxcolor.a)
429+
Frames[ic][tid].bars[i].border:SetBackdropBorderColor(cc.border.max.r, cc.border.max.g, cc.border.max.b, dbc.bg.full.maxcolor.a)
430+
else
431+
Frames[ic][tid].bars[i].bg:SetVertexColor(dbc.bg.full.maxcolor.r, dbc.bg.full.maxcolor.g, dbc.bg.full.maxcolor.b, dbc.bg.full.maxcolor.a)
432+
Frames[ic][tid].bars[i].border:SetBackdropBorderColor(dbc.border.full.maxcolor.r, dbc.border.full.maxcolor.g, dbc.border.full.maxcolor.b, dbc.border.full.maxcolor.a)
433+
end
434+
end
435+
436+
-- Spark
437+
if dbc.spark.enabled then
438+
Frames[ic][tid].bars[i].spark.frame:Show()
439+
Frames[ic][tid].bars[i].spark.bg:SetTexture(BG[ic][tid].bars[i].spark)
440+
if points < Types[ic].points[it].barcount then
441+
-- Normal color
378442
if db.classcolor.enabled then
379-
Frames[ic][tid].bars[i].bg:SetVertexColor(ClassColorBarTable[ic].bg.normal.r, ClassColorBarTable[ic].bg.normal.g, ClassColorBarTable[ic].bg.normal.b, db[ic].types[tid].bars[i].bg.full.color.a)
380-
Frames[ic][tid].bars[i].border:SetBackdropBorderColor(ClassColorBarTable[ic].border.normal.r, ClassColorBarTable[ic].border.normal.g, ClassColorBarTable[ic].border.normal.b, db[ic].types[tid].bars[i].border.full.color.a)
443+
Frames[ic][tid].bars[i].spark.bg:SetVertexColor(cc.spark.normal.r, cc.spark.normal.g, cc.spark.normal.b, dbc.spark.bg.color.a)
381444
else
382-
Frames[ic][tid].bars[i].bg:SetVertexColor(db[ic].types[tid].bars[i].bg.full.color.r, db[ic].types[tid].bars[i].bg.full.color.g, db[ic].types[tid].bars[i].bg.full.color.b, db[ic].types[tid].bars[i].bg.full.color.a)
383-
Frames[ic][tid].bars[i].border:SetBackdropBorderColor(db[ic].types[tid].bars[i].border.full.color.r, db[ic].types[tid].bars[i].border.full.color.g, db[ic].types[tid].bars[i].border.full.color.b, db[ic].types[tid].bars[i].border.full.color.a)
445+
Frames[ic][tid].bars[i].spark.bg:SetVertexColor(dbc.spark.bg.color.r, dbc.spark.bg.color.g, dbc.spark.bg.color.b, dbc.spark.bg.color.a)
384446
end
385447
else
448+
-- Max color
386449
if db.classcolor.enabled then
387-
Frames[ic][tid].bars[i].bg:SetVertexColor(ClassColorBarTable[ic].bg.max.r, ClassColorBarTable[ic].bg.max.g, ClassColorBarTable[ic].bg.max.b, db[ic].types[tid].bars[i].bg.full.maxcolor.a)
388-
Frames[ic][tid].bars[i].border:SetBackdropBorderColor(ClassColorBarTable[ic].border.max.r, ClassColorBarTable[ic].border.max.g, ClassColorBarTable[ic].border.max.b, db[ic].types[tid].bars[i].bg.full.maxcolor.a)
450+
Frames[ic][tid].bars[i].spark.bg:SetVertexColor(cc.spark.max.r, cc.spark.max.g, cc.spark.max.b, dbc.spark.bg.maxcolor.a)
389451
else
390-
Frames[ic][tid].bars[i].bg:SetVertexColor(db[ic].types[tid].bars[i].bg.full.maxcolor.r, db[ic].types[tid].bars[i].bg.full.maxcolor.g, db[ic].types[tid].bars[i].bg.full.maxcolor.b, db[ic].types[tid].bars[i].bg.full.maxcolor.a)
391-
Frames[ic][tid].bars[i].border:SetBackdropBorderColor(db[ic].types[tid].bars[i].border.full.maxcolor.r, db[ic].types[tid].bars[i].border.full.maxcolor.g, db[ic].types[tid].bars[i].border.full.maxcolor.b, db[ic].types[tid].bars[i].border.full.maxcolor.a)
452+
Frames[ic][tid].bars[i].spark.bg:SetVertexColor(dbc.spark.bg.maxcolor.r, dbc.spark.bg.maxcolor.g, dbc.spark.bg.maxcolor.b, dbc.spark.bg.maxcolor.a)
392453
end
393454
end
394-
395-
-- Spark
396-
if db[ic].types[tid].bars[i].spark.enabled then
397-
Frames[ic][tid].bars[i].spark.frame:Show()
398-
Frames[ic][tid].bars[i].spark.bg:SetTexture(BG[ic][tid].bars[i].spark)
399-
if Points[tid] < Types[ic].points[it].barcount then
400-
-- Normal color
401-
if db.classcolor.enabled then
402-
Frames[ic][tid].bars[i].spark.bg:SetVertexColor(ClassColorBarTable[ic].spark.normal.r, ClassColorBarTable[ic].spark.normal.g, ClassColorBarTable[ic].spark.normal.b, db[ic].types[tid].bars[i].spark.bg.color.a)
403-
else
404-
Frames[ic][tid].bars[i].spark.bg:SetVertexColor(db[ic].types[tid].bars[i].spark.bg.color.r, db[ic].types[tid].bars[i].spark.bg.color.g, db[ic].types[tid].bars[i].spark.bg.color.b, db[ic].types[tid].bars[i].spark.bg.color.a)
405-
end
406-
else
407-
-- Max color
408-
if db.classcolor.enabled then
409-
Frames[ic][tid].bars[i].spark.bg:SetVertexColor(ClassColorBarTable[ic].spark.max.r, ClassColorBarTable[ic].spark.max.g, ClassColorBarTable[ic].spark.max.b, db[ic].types[tid].bars[i].spark.bg.maxcolor.a)
410-
else
411-
Frames[ic][tid].bars[i].spark.bg:SetVertexColor(db[ic].types[tid].bars[i].spark.bg.maxcolor.r, db[ic].types[tid].bars[i].spark.bg.maxcolor.g, db[ic].types[tid].bars[i].spark.bg.maxcolor.b, db[ic].types[tid].bars[i].spark.bg.maxcolor.a)
412-
end
413-
end
414-
else
415-
Frames[ic][tid].bars[i].spark.frame:Hide()
416-
end
417-
-- Empty Bar
418455
else
419-
Frames[ic][tid].bars[i].bg:SetTexture(BG[ic][tid].bars[i].empty)
420-
Frames[ic][tid].bars[i].border:SetBackdrop({bgFile = "", edgeFile = Borders[ic][tid].bars[i].empty, edgeSize = db[ic].types[tid].bars[i].border.empty.edgesize, tile = false, tileSize = 0, insets = {left = 0, right = 0, top = 0, bottom = 0}})
421-
Frames[ic][tid].bars[i].border:SetHeight(db[ic].types[tid].bars[i].size.height - db[ic].types[tid].bars[i].border.empty.inset)
422-
Frames[ic][tid].bars[i].border:SetWidth(db[ic].types[tid].bars[i].size.width - db[ic].types[tid].bars[i].border.empty.inset)
456+
Frames[ic][tid].bars[i].spark.frame:Hide()
457+
end
458+
end
423459

424-
if db.classcolor.enabled then
425-
Frames[ic][tid].bars[i].bg:SetVertexColor(ClassColorBarTable[ic].bg.empty.r, ClassColorBarTable[ic].bg.empty.g, ClassColorBarTable[ic].bg.empty.b, db[ic].types[tid].bars[i].bg.empty.color.a)
426-
Frames[ic][tid].bars[i].border:SetBackdropBorderColor(ClassColorBarTable[ic].border.empty.r, ClassColorBarTable[ic].border.empty.g, ClassColorBarTable[ic].border.empty.b, db[ic].types[tid].bars[i].border.empty.color.a)
427-
else
428-
Frames[ic][tid].bars[i].bg:SetVertexColor(db[ic].types[tid].bars[i].bg.empty.color.r, db[ic].types[tid].bars[i].bg.empty.color.g, db[ic].types[tid].bars[i].bg.empty.color.b, db[ic].types[tid].bars[i].bg.empty.color.a)
429-
Frames[ic][tid].bars[i].border:SetBackdropBorderColor(db[ic].types[tid].bars[i].border.empty.color.r, db[ic].types[tid].bars[i].border.empty.color.g, db[ic].types[tid].bars[i].border.empty.color.b, db[ic].types[tid].bars[i].border.empty.color.a)
430-
end
460+
-- Update Point Bars
461+
local function HideAtIndex(ic, it, tid, i)
462+
if db[ic].types[tid].general.hideempty then
463+
-- Hide "empty" bar
464+
Frames[ic][tid].bars[i].frame:Hide()
465+
else
466+
-- Show bar and set textures to "Empty"
467+
Frames[ic][tid].bars[i].frame:Show()
468+
SetEmptyBarTextures(ic, it, tid, i)
469+
end
470+
-- Hide the "Spark"
471+
Frames[ic][tid].bars[i].spark.frame:Hide()
472+
if #Frames[ic][tid].bars[i].subbars > 0 then
473+
for j = 0, 8 do Frames[ic][tid].bars[i].subbars[j].frame:Hide() end
431474
end
432475
end
433476

@@ -461,25 +504,25 @@ function cPointDisplay:UpdatePointDisplay(...)
461504
-- Update the Display
462505
-- Update Bars if their Points have changed
463506
if PointsChanged[tid] then
507+
if Points[tid] == nil then Points[tid] = 0 end
508+
local points = Points[tid];
509+
if tid == "ssf" then points = points / 10 end
464510
for i = 1, Types[ic].points[it].barcount do
465-
if Points[tid] == nil then Points[tid] = 0 end
466-
if Points[tid] >= i then
511+
if points > i - 1 and points < i and tid == "ssf" then
512+
--- Show bar and set texture to "Partial"
513+
HideAtIndex(ic, it, tid, i)
514+
Frames[ic][tid].bars[i].frame:Show()
515+
SetPartialBarTextures(ic, it, tid, i, Points[tid] - (10 * (i - 1)))
516+
elseif points >= i then
467517
-- Show bar and set textures to "Full"
468518
Frames[ic][tid].bars[i].frame:Show()
469-
SetPointBarTextures(true, ic, it, tid, i)
470-
else
471-
if db[ic].types[tid].general.hideempty then
472-
-- Hide "empty" bar
473-
Frames[ic][tid].bars[i].frame:Hide()
474-
else
475-
-- Show bar and set textures to "Empty"
476-
Frames[ic][tid].bars[i].frame:Show()
477-
SetPointBarTextures(false, ic, it, tid, i)
519+
SetPointBarTextures(ic, it, tid, i, points)
520+
if #Frames[ic][tid].bars[i].subbars > 0 then
521+
for j = 0, 8 do Frames[ic][tid].bars[i].subbars[j].frame:Hide() end
478522
end
479-
-- Hide the "Spark"
480-
Frames[ic][tid].bars[i].spark.frame:Hide()
523+
else
524+
HideAtIndex(ic, it, tid, i)
481525
end
482-
483526
end
484527
-- Show the Display
485528
Frames[ic][tid].bgpanel.frame:Show()
@@ -543,9 +586,7 @@ function cPointDisplay:GetPoints(CurClass, CurType)
543586
-- Warlock
544587
elseif CurClass == "WARLOCK" then
545588
-- Soul Shards
546-
if CurType == "ss" then
547-
NewPoints = UnitPower("player", Enum.PowerType.SoulShards)
548-
end
589+
NewPoints = UnitPower("player", Enum.PowerType.SoulShards, CurType == "ssf")
549590
-- Mage
550591
elseif CurClass == "MAGE" then
551592
-- Arcane Charges
@@ -597,7 +638,7 @@ function cPointDisplay:UpdatePoints(...)
597638
if Types[ic] then
598639
for it,vt in ipairs(Types[ic].points) do
599640
local tid = Types[ic].points[it].id
600-
if ( db[ic].types[tid].enabled and not db[ic].types[tid].configmode.enabled ) then
641+
if (db[ic].types[tid].enabled and not db[ic].types[tid].configmode.enabled) then
601642
-- Retrieve new point count
602643
local OldPoints = Points[tid]
603644
cPointDisplay:GetPoints(ic, tid)
@@ -733,15 +774,44 @@ function cPointDisplay:UpdatePosition()
733774
Frames[ic][tid].bars[i].frame:SetHeight(db[ic].types[tid].bars[i].size.height)
734775

735776
Frames[ic][tid].bars[i].border:SetFrameStrata(db[ic].types[tid].position.framelevel.strata)
736-
Frames[ic][tid].bars[i].border:SetFrameLevel(db[ic].types[tid].position.framelevel.level + 3)
777+
Frames[ic][tid].bars[i].border:SetFrameLevel(db[ic].types[tid].position.framelevel.level + 4)
737778

738779
Frames[ic][tid].bars[i].spark.frame:SetParent(Frames[ic][tid].bars[i].frame)
739780
Frames[ic][tid].bars[i].spark.frame:ClearAllPoints()
740781
Frames[ic][tid].bars[i].spark.frame:SetPoint("CENTER", Frames[ic][tid].bars[i].frame, "CENTER", db[ic].types[tid].bars[i].spark.position.x, db[ic].types[tid].bars[i].spark.position.y)
741782
Frames[ic][tid].bars[i].spark.frame:SetFrameStrata(db[ic].types[tid].position.framelevel.strata)
742-
Frames[ic][tid].bars[i].spark.frame:SetFrameLevel(db[ic].types[tid].position.framelevel.level + 4)
783+
Frames[ic][tid].bars[i].spark.frame:SetFrameLevel(db[ic].types[tid].position.framelevel.level + 5)
743784
Frames[ic][tid].bars[i].spark.frame:SetWidth(db[ic].types[tid].bars[i].spark.size.width)
744785
Frames[ic][tid].bars[i].spark.frame:SetHeight(db[ic].types[tid].bars[i].spark.size.height)
786+
787+
if #Frames[ic][tid].bars[i].subbars > 0 then
788+
for j = 0, 8 do
789+
local XSOfs = 0
790+
local YSOfs = 0
791+
local fillStart = { "LEFT", "RIGHT", "TOP", "BOTTOM" }
792+
if IsVert then
793+
YSOfs = j * (db[ic].types[tid].bars[i].size.height / 9) * RevMult
794+
if IsRev then fillStart = "TOP" else fillStart = "BOTTOM" end
795+
else
796+
XSOfs = j * (db[ic].types[tid].bars[i].size.width / 9) * RevMult
797+
if IsRev then fillStart = "RIGHT" else fillStart = "LEFT" end
798+
end
799+
Frames[ic][tid].bars[i].subbars[j].frame:SetParent(Frames[ic][tid].bars[i].frame)
800+
Frames[ic][tid].bars[i].subbars[j].frame:ClearAllPoints()
801+
802+
Frames[ic][tid].bars[i].subbars[j].frame:SetPoint(fillStart, Frames[ic][tid].bars[i].frame, fillStart, XSOfs, YSOfs)
803+
804+
Frames[ic][tid].bars[i].subbars[j].frame:SetFrameStrata(Frames[ic][tid].bars[i].frame:GetFrameStrata())
805+
Frames[ic][tid].bars[i].subbars[j].frame:SetFrameLevel(Frames[ic][tid].bars[i].frame:GetFrameLevel() + 1)
806+
if IsVert then
807+
Frames[ic][tid].bars[i].subbars[j].frame:SetWidth(db[ic].types[tid].bars[i].size.width)
808+
Frames[ic][tid].bars[i].subbars[j].frame:SetHeight(db[ic].types[tid].bars[i].size.height / 9)
809+
else
810+
Frames[ic][tid].bars[i].subbars[j].frame:SetWidth(db[ic].types[tid].bars[i].size.width / 9)
811+
Frames[ic][tid].bars[i].subbars[j].frame:SetHeight(db[ic].types[tid].bars[i].size.height)
812+
end
813+
end
814+
end
745815
end
746816
end
747817
end
@@ -884,6 +954,7 @@ local function CreateFrames()
884954
-- Point bars
885955
for i = 1, Types[ic].points[it].barcount do
886956
local BarFrameName = "cPointDisplay_Frames_"..tid.."_bar"..tostring(i)
957+
887958
Frames[ic][tid].bars[i].frame = CreateFrame("Frame", BarFrameName, UIParent)
888959

889960
Frames[ic][tid].bars[i].bg = Frames[ic][tid].bars[i].frame:CreateTexture(nil, "ARTWORK")
@@ -895,6 +966,19 @@ local function CreateFrames()
895966
Frames[ic][tid].bars[i].border:SetPoint("CENTER", Frames[ic][tid].bars[i].frame, "CENTER", 0, 0)
896967

897968
Frames[ic][tid].bars[i].frame:Show()
969+
if tid == "ssf" then
970+
for j = 0, 8 do
971+
local SubBarSubFrameName = "cPointDisplay_Frames_"..tid.."_bar"..tostring(i).."_sub"..tostring(j)
972+
Frames[ic][tid].bars[i].subbars[j] = {frame = nil, bg = nil}
973+
974+
Frames[ic][tid].bars[i].subbars[j].frame = CreateFrame("Frame", SubBarSubFrameName, UIParent)
975+
976+
Frames[ic][tid].bars[i].subbars[j].bg = Frames[ic][tid].bars[i].subbars[j].frame:CreateTexture(nil, "ARTWORK")
977+
Frames[ic][tid].bars[i].subbars[j].bg:SetAllPoints(Frames[ic][tid].bars[i].subbars[j].frame)
978+
979+
Frames[ic][tid].bars[i].subbars[j].frame:Show()
980+
end
981+
end
898982

899983
-- Spark
900984
Frames[ic][tid].bars[i].spark.frame = CreateFrame("Frame", nil, UIParent)
@@ -945,7 +1029,7 @@ local function CreateTables()
9451029
bars = {},
9461030
}
9471031
for i = 1, Types[ic].points[it].barcount do
948-
Frames[ic][tid].bars[i] = {frame = nil, bg = nil, border = nil, spark = {frame = nil, bg = nil}}
1032+
Frames[ic][tid].bars[i] = {frame = nil, bg = nil, border = nil, spark = {frame = nil, bg = nil}, subbars = {}}
9491033
Borders[ic][tid].bars[i] = {empty = "", full = ""}
9501034
BG[ic][tid].bars[i] = {empty = "", full = "", spark = ""}
9511035
end

README.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,12 @@ Then open the renamed file and change the string `nibPointDisplayDB` to `cPointD
1111

1212
- Combo Points
1313
- Holy Power
14-
- Soul Shards
14+
- Soul Shards*
1515
- Arcane Charges
1616
- Chi
17-
- *Icicles (new)*
17+
- Icicles
18+
19+
***Note***: For Soul Shards both full and fractional values are supported. Enable only one of them. The `Soul Shards Precise` units will work properly for Demonology and Affliction.
1820

1921
### Requests
2022

0 commit comments

Comments
 (0)