The one big thing that keeps me from using this mod, as it stands:
The health bars are just too small. And resizing them means making the window massive, which I also don't prefer.
Something like squeaky wheel (which I honestly don't like from a code perspective) is preferable to me as I can resize the health bars to be thick / long enough to suit my UI/play style (one of my squeaky bars is 3-4 of a squishy bar). The squeaky window is small, but the bars occupy 98% of the space (no heal reporting, no window title, etc). Making the bars larger and moving the unit names inside them would allow you to have more space for the bar itself.
In spite of all this it's a very nice addon. I know several healers in my guild who use it.
I wrote a function to look at the top 3 priorities and heal the highest priority that has more the 850 health missing. It's not working, but I can't figure out why... What am I doing wrong?
--
function RaidHealPriority()
local RaidUnitPriority1 = Squishy:TargetSquishyUnitByPriority(1, true)
local RaidUnitPriority2 = Squishy:TargetSquishyUnitByPriority(2, true)
local RaidUnitPriority3 = Squishy:TargetSquishyUnitByPriority(3, true)
local RaidUnitToHeal = nil
if RaidUnitPriority3 then
if ((UnitHealthMax(RaidUnitPriority3) - UnitHealth(RaidUnitPriority3)) > 850) then
RaidUnitToHeal = RaidUnitPriority3
end
end
if RaidUnitPriority2 then
if ((UnitHealthMax(RaidUnitPriority2) - UnitHealth(RaidUnitPriority2)) > 850) then
RaidUnitToHeal = RaidUnitPriority2
end
end
if RaidUnitPriority1 then
if ((UnitHealthMax(RaidUnitPriority1) - UnitHealth(RaidUnitPriority1)) > 850) then
RaidUnitToHeal = RaidUnitPriority1
end
end
if RaidUnitToHeal then
PriestHeal(RaidUnitToHeal)
end
end
--
Make believe PriestHeal() is something like Clique:EfficientHeal() with a few other conditions. I know PriestHeal() works because I use it in my click-casting.
Making the bars larger and moving the unit names inside them would allow you to have more space for the bar itself.
As I'm using a 1024x786 12" display, my goal certainly was to keep Squishy small. I also had the names inside the bars, but class colored names on bars that change their color from green to red were very unreadable. I can't think of a possibility to reduce the size even more, other than adding an option to hide the indicators to the left and right (but I consider these to be very important).
I wrote a function to look at the top 3 priorities and heal the highest priority that has more the 850 health missing. It's not working, but I can't figure out why... What am I doing wrong?
Hmm, why would you want to do that? The only reason someone on priority is being displayed with less than 850 damage is if he is damaged for >15% of his health, or if he has aggro. And as healing is better if it's done in advance, I wouldnt suggest to wait until the target has lost that much life (as it could be dead when your spell lands). But to answer your question, after quickly reading through your code, I can't tell you why. I suggest to add debug statements in the loop with e.g.
if ((UnitHealthMax(RaidUnitPriority3) - UnitHealth(RaidUnitPriority3)) > 850) then
RaidUnitToHeal = RaidUnitPriority3
Squishy:Debug("RaidUnitPriority3:", RaidUnitPriority3, "has more than 850 damage")
else
Squishy:Debug("no RaidUnitPriority3 or less than 850 damage")
end
1) The latest version of CastParty (4.2beta) has renamed the function CastParty_OnClickByUnit() to CastParty.Event.OnClickByUnit(). You will have to check for both in Squishy:OnEnable(). Also, you should add CastParty to the optional dependencies in the TOC.
2) And a suggestion: I would like to specify the alpha value of the window title separately from the background. Currently I just comment out line 140 (Squishy.frames.header:SetAlpha(v)) in core.lua, but it's a bit irritating to have to do that after each update. The reason for this is that I want the background completely transparent, so that there is nothing when no one needs healing, but I still want to see the window title...
Saur, I'm planning to add multiple alpha settings for border, background and header in the next weeks. As for CastParty, it seems we'd need support for the old version and the new alpha, right? Someone will have to update the code in OnEnable as I'm not using CastParty myself, and I also don't know how to check if its a version with the new or old syntax. I suggest to quote the code in the CastParty forum and let a developer tell you what to change to make it work for both old and new.
Making the bars larger and moving the unit names inside them would allow you to have more space for the bar itself.
As I'm using a 1024x786 12" display, my goal certainly was to keep Squishy small. I also had the names inside the bars, but class colored names on bars that change their color from green to red were very unreadable. I can't think of a possibility to reduce the size even more, other than adding an option to hide the indicators to the left and right (but I consider these to be very important).
I to would like some sizing options. Maybe just have an option for an outline (shaded text backdrop, not sure what you call it in english) on the text, if you click in the (proposed) option for having the name on the bar? Not sure how pretty it would look, but it would create more space and will be readable, add width/height options for the bars and size of the font and it would be great. An inset/padding option for the background frame would be nice as well.
I to would like some sizing options. Maybe just have an option for an outline (shaded text backdrop, not sure what you call it in english) on the text, if you click in the (proposed) option for having the name on the bar? Not sure how pretty it would look, but it would create more space and will be readable, add width/height options for the bars and size of the font and it would be great. An inset/padding option for the background frame would be nice as well.
The more options an addon has, the more work it is to maintain it. Also any additional option will clutter the menu. I therefor prefer to only have the options available that are really important. Besides that, due to the time I spend coding I barely have any time to play. Which is why my current plan is to make sure I have a working version of Squishy and Detox released on wowinterface.com, maybe add some small features, and then spend more time playing again. Once BC is released I'll have to update them anyway.
I to would like some sizing options. Maybe just have an option for an outline (shaded text backdrop, not sure what you call it in english) on the text, if you click in the (proposed) option for having the name on the bar? Not sure how pretty it would look, but it would create more space and will be readable, add width/height options for the bars and size of the font and it would be great. An inset/padding option for the background frame would be nice as well.
The more options an addon has, the more work it is to maintain it. Also any additional option will clutter the menu. I therefor prefer to only have the options available that are really important. Besides that, due to the time I spend coding I barely have any time to play. Which is why my current plan is to make sure I have a working version of Squishy and Detox released on wowinterface.com, maybe add some small features, and then spend more time playing again. Once BC is released I'll have to update them anyway.
I run at 1920x1200. I have plenty of room on my screen. However, squeaky wheel for me is smaller and is actually more helpful to me than squishy is, because on my screen squishy takes up more room but gives me LESS of the information I need (hp status in the form of a graphical bar) because the bars are so small. With squeaky, there is no superfulous information, just what I need to see; is the person in range, is their health low, and if so, by how much.
nexus, please do me a favour and make a screenshot of SqueakyWheel with 10 units and Squishy with 10 units next to each other, scaled so they take up the same screen size. I'd really like to compare them.
As for CastParty, it seems we'd need support for the old version and the new alpha, right? Someone will have to update the code in OnEnable as I'm not using CastParty myself, and I also don't know how to check if its a version with the new or old syntax. I suggest to quote the code in the CastParty forum and let a developer tell you what to change to make it work for both old and new.
The following code should do the trick:
if CastParty_OnClickByUnit then
SquishyCustomClick = CastParty_OnClickByUnit
else
SquishyCustomClick = CastParty.Event.OnClickByUnit
end
I apologize if this has been reported, I only scrolled back two pages to check.
Anyway, using the 12272 build, I keep getting the following error:
Squishy/libs/Banzai-1.0/Banzai-1.0.lua:40: A table in the compost heap has been modified!
The error kept popping up repeatedly, even after putting Squishy in standby mode. (Oh speaking of which, it's really agravating that Squishy in standby completely removes itself from FuBar)
2006/09/30 17:25:31-142]: Banzai-1.0\Banzai-1.0.lua:40: A table in the compost heap has been modified!
<in C code>: in function `assert'
Banzai-1.0\Banzai-1.0.lua:40: in function <...erface\AddOns\Squishy\libs\Banzai-1.0\Banzai-1.0.lua:36>
Banzai-1.0\Banzai-1.0.lua:99: in function `event'
AceEvent-2.0\AceEvent-2.0.lua:422: in function <...face\AddOns\FuBar\libs\AceEvent-2.0\AceEvent-2.0.lua:402>
---
[2006/09/30 19:02:47-482]: Banzai-1.0\Banzai-1.0.lua:40: A table in the compost heap has been modified!
<in C code>: in function `assert'
Banzai-1.0\Banzai-1.0.lua:40: in function <...erface\AddOns\Squishy\libs\Banzai-1.0\Banzai-1.0.lua:36>
Banzai-1.0\Banzai-1.0.lua:99: in function `event'
AceEvent-2.0\AceEvent-2.0.lua:422: in function <...face\AddOns\Fubar\libs\AceEvent-2.0\AceEvent-2.0.lua:402>
and
[2006/09/30 19:10:37-482]: Squishy\core.lua:680: attempt to compare nil with number
Squishy\core.lua:680: in function <Interface\AddOns\Squishy\core.lua:679>
<in C code>: in function `sort'
Squishy\core.lua:715: in function `UpdatePriority'
Squishy\core.lua:569: in function `event'
AceEvent-2.0\AceEvent-2.0.lua:422: in function <...face\AddOns\Fubar\libs\AceEvent-2.0\AceEvent-2.0.lua:402>
and
[2006/09/30 19:54:04-482]: FrameXML\FloatingChatFrame.lua:476: attempt to index local `color' (a nil value)
FrameXML\FloatingChatFrame.lua:476: in function <Interface\FrameXML\FloatingChatFrame.lua:445>
<unknown>:
<unknown>:
FrameXML\FloatingChatFrame.lua:129: in function `initFunction'
FrameXML\UIDropDownMenu.lua:50: in function `UIDropDownMenu_Initialize'
FrameXML\UIDropDownMenu.lua:617: in function `ToggleDropDownMenu'
<string>:"DropDownList1Button8:OnEnter":3: in main chunk
The health bars are just too small. And resizing them means making the window massive, which I also don't prefer.
Something like squeaky wheel (which I honestly don't like from a code perspective) is preferable to me as I can resize the health bars to be thick / long enough to suit my UI/play style (one of my squeaky bars is 3-4 of a squishy bar). The squeaky window is small, but the bars occupy 98% of the space (no heal reporting, no window title, etc). Making the bars larger and moving the unit names inside them would allow you to have more space for the bar itself.
In spite of all this it's a very nice addon. I know several healers in my guild who use it.
--
function RaidHealPriority()
local RaidUnitPriority1 = Squishy:TargetSquishyUnitByPriority(1, true)
local RaidUnitPriority2 = Squishy:TargetSquishyUnitByPriority(2, true)
local RaidUnitPriority3 = Squishy:TargetSquishyUnitByPriority(3, true)
local RaidUnitToHeal = nil
if RaidUnitPriority3 then
if ((UnitHealthMax(RaidUnitPriority3) - UnitHealth(RaidUnitPriority3)) > 850) then
RaidUnitToHeal = RaidUnitPriority3
end
end
if RaidUnitPriority2 then
if ((UnitHealthMax(RaidUnitPriority2) - UnitHealth(RaidUnitPriority2)) > 850) then
RaidUnitToHeal = RaidUnitPriority2
end
end
if RaidUnitPriority1 then
if ((UnitHealthMax(RaidUnitPriority1) - UnitHealth(RaidUnitPriority1)) > 850) then
RaidUnitToHeal = RaidUnitPriority1
end
end
if RaidUnitToHeal then
PriestHeal(RaidUnitToHeal)
end
end
--
Make believe PriestHeal() is something like Clique:EfficientHeal() with a few other conditions. I know PriestHeal() works because I use it in my click-casting.
As I'm using a 1024x786 12" display, my goal certainly was to keep Squishy small. I also had the names inside the bars, but class colored names on bars that change their color from green to red were very unreadable. I can't think of a possibility to reduce the size even more, other than adding an option to hide the indicators to the left and right (but I consider these to be very important).
Hmm, why would you want to do that? The only reason someone on priority is being displayed with less than 850 damage is if he is damaged for >15% of his health, or if he has aggro. And as healing is better if it's done in advance, I wouldnt suggest to wait until the target has lost that much life (as it could be dead when your spell lands). But to answer your question, after quickly reading through your code, I can't tell you why. I suggest to add debug statements in the loop with e.g.
and check whats happening.
1) The latest version of CastParty (4.2beta) has renamed the function CastParty_OnClickByUnit() to CastParty.Event.OnClickByUnit(). You will have to check for both in Squishy:OnEnable(). Also, you should add CastParty to the optional dependencies in the TOC.
2) And a suggestion: I would like to specify the alpha value of the window title separately from the background. Currently I just comment out line 140 (Squishy.frames.header:SetAlpha(v)) in core.lua, but it's a bit irritating to have to do that after each update. The reason for this is that I want the background completely transparent, so that there is nothing when no one needs healing, but I still want to see the window title...
I to would like some sizing options. Maybe just have an option for an outline (shaded text backdrop, not sure what you call it in english) on the text, if you click in the (proposed) option for having the name on the bar? Not sure how pretty it would look, but it would create more space and will be readable, add width/height options for the bars and size of the font and it would be great. An inset/padding option for the background frame would be nice as well.
The more options an addon has, the more work it is to maintain it. Also any additional option will clutter the menu. I therefor prefer to only have the options available that are really important. Besides that, due to the time I spend coding I barely have any time to play. Which is why my current plan is to make sure I have a working version of Squishy and Detox released on wowinterface.com, maybe add some small features, and then spend more time playing again. Once BC is released I'll have to update them anyway.
Fair enough, it's not hugely important
I run at 1920x1200. I have plenty of room on my screen. However, squeaky wheel for me is smaller and is actually more helpful to me than squishy is, because on my screen squishy takes up more room but gives me LESS of the information I need (hp status in the form of a graphical bar) because the bars are so small. With squeaky, there is no superfulous information, just what I need to see; is the person in range, is their health low, and if so, by how much.
For example, this is a section of my ui in AV:
http://www.node3.net/squeaky.jpg
The technical merits of squishy are there, it's just the aesthetics that prevent me from making a full switch at this time.
The following code should do the trick:
if CastParty_OnClickByUnit then
SquishyCustomClick = CastParty_OnClickByUnit
else
SquishyCustomClick = CastParty.Event.OnClickByUnit
end
Anyway, using the 12272 build, I keep getting the following error:
The error kept popping up repeatedly, even after putting Squishy in standby mode. (Oh speaking of which, it's really agravating that Squishy in standby completely removes itself from FuBar)
this is the one with the new bonzai code
i get this error randomly popup
sorry talyn, took me too long editing the image that you got in before me ^^
alt - tabbing ftl >.>
Mine only seems to display my heals, and/or if someone is healing me.
Do i have to enable certain options in my combatlog or so?(SimpleCombatLog)
Thanks
poping up randomly....
[2006/09/30 19:02:47-482]: Banzai-1.0\Banzai-1.0.lua:40: A table in the compost heap has been modified!
<in C code>: in function `assert'
Banzai-1.0\Banzai-1.0.lua:40: in function <...erface\AddOns\Squishy\libs\Banzai-1.0\Banzai-1.0.lua:36>
Banzai-1.0\Banzai-1.0.lua:99: in function `event'
AceEvent-2.0\AceEvent-2.0.lua:422: in function <...face\AddOns\Fubar\libs\AceEvent-2.0\AceEvent-2.0.lua:402>
and
[2006/09/30 19:10:37-482]: Squishy\core.lua:680: attempt to compare nil with number
Squishy\core.lua:680: in function <Interface\AddOns\Squishy\core.lua:679>
<in C code>: in function `sort'
Squishy\core.lua:715: in function `UpdatePriority'
Squishy\core.lua:569: in function `event'
AceEvent-2.0\AceEvent-2.0.lua:422: in function <...face\AddOns\Fubar\libs\AceEvent-2.0\AceEvent-2.0.lua:402>
and
[2006/09/30 19:54:04-482]: FrameXML\FloatingChatFrame.lua:476: attempt to index local `color' (a nil value)
FrameXML\FloatingChatFrame.lua:476: in function <Interface\FrameXML\FloatingChatFrame.lua:445>
<unknown>:
<unknown>:
FrameXML\FloatingChatFrame.lua:129: in function `initFunction'
FrameXML\UIDropDownMenu.lua:50: in function `UIDropDownMenu_Initialize'
FrameXML\UIDropDownMenu.lua:617: in function `ToggleDropDownMenu'
<string>:"DropDownList1Button8:OnEnter":3: in main chunk
I fixed the error in BanzaiLib. Squishy is not yet re-zip'ed with the latest version, though, you'll need SVN to get it.