Since I didn't get around to actually getting it totally working, I will go ahead and give you the few problems I did identify, though there are a few others for sure.
First, the most obvious one is that line 1395 is still using "k" to get at bars rather than "barname", I believe this should change.
@@ -1395 +1395 @@
- SquawkAndAwe.frames.Eclipse.Eclipse.spark:SetPoint("CENTER", SquawkAndAwe.frames[k][k.."CD"], "LEFT", timeLeft * sparkscale, 0)
+ SquawkAndAwe.frames.Eclipse.Eclipse.spark:SetPoint("CENTER", SquawkAndAwe.frames[barname][barname.."CD"], "LEFT", timeLeft * sparkscale, 0)
Second is with how bars are being hidden. I was running into an issue where I would proc one Eclipse, then say 20 seconds later I proc the next, the bar for the second eclipse would be hidden after 10 seconds. This was a result of the way you were hiding bars relative to the SquawkAndAwe.times[k.."CD"], because when one Eclipse would end it's 30 second CD it would hide the Eclipse bar regardless of if the other Eclipse was in effect. This fix needs to occur at line 1344, per the following patch.
@@ -1344,3 +1344,6 @@
- SquawkAndAwe.actives.procs[k] = false
- SquawkAndAwe.frames[barname]:Hide()
- SquawkAndAwe.frames[barname].text:SetText("")
+ SquawkAndAwe.actives.procs[k] = false
+ -- don't turn off eclipse bar if the other Eclipse is active
+ if (k == "Eclipse" and not SquawkAndAwe.actives.procs.Eclipsew) or (k == "Eclipsew" and not SquawkAndAwe.actives.procs.Eclipse) or (k ~= "Eclipse" and k ~= "Eclipsew") then
+ SquawkAndAwe.frames[barname]:Hide()
+ SquawkAndAwe.frames[barname].text:SetText("")
+ end
This seems to work, though there is probably a better way to go about it, I am still familiarizing myself with SAA.
Anyhow, that's all I've got for now. I will be away from my computer for a few days, so hope you can get everything resolved. If not, I am more than willing to keep working on this when I get back.
EDIT: Oh huh, looks like you've been working on something with bars, maybe you've already fixed these issues in another way.