The frame does load for me but it only shows the dummy entries :/
Ouch, very sorry. As kinkyafro mentioned, a missing comma was the reason. Fixed that on the svn (but you could also add it manually at the end of line 35 which is the one with my email address).
As for numerical values: yeah, I'm considering adding these as option. Reason why they aren't in is that not only my goal was to keep the UI as clean and small as possible, but also I have some code which will choose the best rank for your target for you (which also preemptively heals people who have aggro). I'd just want to have the core code as clean as possible first before publishing and additional tools some people might want but others don't.
I just added WatchDog ClickCast support. Well, I hope I did. I didn't test it with WatchDog (as the last time I used it is a few months ago), but I copied the code from an older version of PerfectRaid, so it might work - and at least it didn't throw any errors without WatchDog for me.
Btw, note to myself (or someone who'd know what to do exactly, as I'm not really sure yet): convert the xml to lua. PerfectRaid made that transition from 0.1 to 0.3, but Squishy is based on 0.1 code. Getting rid of that ugly xml would probably be great.
Please let me know if you encounter any errors with WatchDog (and maybe also without WatchDog) - as in these days where everything is labelled beta I'm calling the Squishy svn code alpha. Once it's stable and the code is optimized (anyone willing to help?), I'll release the first beta on wowinterface.com - until then, nasty bugs might occur in one or the other svn version.
Creat "AceHealSquishy.lua" and paste all this in there.
AceHealSquishy = AceHeal:new({
name = AceHealLocals.Title,
description = "AceHeal Squishy extension",
version = AceHealLocals.Version,
releaseDate = "5-16-2006",
aceCompatible = "100",
author = "Kyahx"
})
function AceHealSquishy:Enable()
AceHeal:Enable(this)
if getglobal("Squishy") then
SquishyCustomClick = function(button, unit) AceHeal:OnClick(button, unit) end
self.Msg("Click-Casting Enabled for Squishy")
end
end
AceHealSquishy:RegisterForLoad()
Then edit the "AceHeal.toc" file and add "AceHealSquishy.lua" to the bottom of the list.
Bam...AceHeal support.
(The code was ripped from Delva's PerfectRaid Extension, credits to him for a majority of the code.)
I'll test the watchdog support tonight and let you know my findings. Cheers!
[edit]
Tested it alot this evening and I really had troubles getting the clickcasting to work. It worked but i had to click multiple times on the frame to get it going. Otherwise it worked like it should, no errors.
Quote from maia »
I just added WatchDog ClickCast support. Well, I hope I did. I didn't test it with WatchDog (as the last time I used it is a few months ago), but I copied the code from an older version of PerfectRaid, so it might work - and at least it didn't throw any errors without WatchDog for me.
Btw, note to myself (or someone who'd know what to do exactly, as I'm not really sure yet): convert the xml to lua. PerfectRaid made that transition from 0.1 to 0.3, but Squishy is based on 0.1 code. Getting rid of that ugly xml would probably be great.
Please let me know if you encounter any errors with WatchDog (and maybe also without WatchDog) - as in these days where everything is labelled beta I'm calling the Squishy svn code alpha. Once it's stable and the code is optimized (anyone willing to help?), I'll release the first beta on wowinterface.com - until then, nasty bugs might occur in one or the other svn version.
I've been fiddling with this a bit, and it looks good. Questions/concerns/suggestions:
Party support is badly needed. Should be easy to add, and I might hack that in at some point if nobody does it before I get around to it.
AceHeal support is important, but I see Kyahx has already written an AceHeal plugin to handle that. I'll test it but it looks like it should work well.
How would I go about grabbing the unitid of the unit at the top of the list? I thought I saw how to do it, but my attempt failed completely. :)
Tested it alot this evening and I really had troubles getting the clickcasting to work. It worked but i had to click multiple times on the frame to get it going. Otherwise it worked like it should, no errors.
AceHeal has the same problem, feels like I have to click a few times for it to read. I'm assumeing it has something to do with the SquishyCustomClick code.
1. WatchDog support: the code Squishy is using for WatchDog support is exactly 3 lines long and taken from the xml-style PerfectRaid. I guess it's related to the code 'RegisterForClicks("LeftButtonUp","RightButtonUp", "MiddleButtonUp", "Button4Up", "Button5Up")' not properly triggering all the time. I'm clueless though why, and I can only hope someone else can find a solution (the SVN is yours!).
2. party support: should be rather easy, I know. All it needs is some code for UpdateRoster() and adding/replacing certain events. Codayus, if you hack it in and it properly works, just upload it.
3. AceHeal: never used AceHeal either, and I didn't assume many people are still using it since Thirsterhall seems to have left some months ago. The posted code seems to have to be to added to AceHeal itself, so whoever is taking care of that addon might have to do that - or is there anything I can do?
4. as for the unitids: all roster info is available via the table EmergencyUnits (which should be accessible from outside of the addon via Squishy.EmergencyUnits - never tried though) - 'raidid' is the unitid, 'name' the name, 'class' is the class (everything that is defined in the function UpdateRoster is available via this table as well, just sorted by priority). You might want to take a look at the function UpdatePriorityFrames for details regarding grabbing the info.
5. Paladins are completely missing - aka Squishy thinks they can't heal at all. Someone with a Paladin might have to add the necessary data (spells to watch, modifiers,...).
6. the 'classmodifier' bug: are you using a revision past 1809? Before that Squishy had nasty errors when playing a non-healer class. If yes, then the technical explanation is: the problem is related to UpdateUnit() requesting info for a unit that doesn't have complete data stored in the Roster table. It's possible this really is related to joining/leaving a raid.
There are a couple of functions where I've added lots of security checks, and the quick'n'dirty solution is to add another check - but if we'd find the reason for corrupted roster data one could delete about 100 lines of code from Squishy, so my goal is finding a solution here. I uploaded the small fix to the SVN though.
Again - feel free to upload changes to the SVN - especially if you want to fix a bug or optimize some code. :)
Kyhax, the frame will only show once you're in a raid. If you are in a raid and the frame doesnt show, I can only guess that for some reason it was moved off screen. Set the scaling to something small (e.g. 0.4, which is the minimum), and the frame will hopefully be back. Now drag it to the top left corner of the screen and choose the scale you want. Once you found the scale of your choice, move the frame to wherever you want it to be.
Devla: any suggestions on how to deal with that problem?I know it's updating fast (0.2sec), but not faster or slower than e.g. the CTRA emergency frame. Would reducing the update ratio to 0.5sec help? Is that what we'd really want?
First of all, Squishy is looking and functioning great so far. Haven't had any problems with it or clickcasting with Watchdog.
Couple things...
I use Emergency Monitor with clickcasting extensively and the Class/Party filters are invaluable to me. Please tell me you are planning to implement them in Squishy so i can get rid of EM entirely.
Also, tho the Squishy frame is wonderfully done, I would like to get it to look more like PerfectRaid. With Discord Frame Modifier, I can get rid of the border and the background, but cant seem to get rid of the two gradiants on top and bottom. Can someone point me in the rgiht direction in trying to get rid of them - either with DFM or by editing the code?
Souja, as for filtering classes: the priority order of the classes are defined in locals.lua - so if you'd set at class to e.g. 100, they won't get listed very often (well, only if less than 10 people playing other classes aren't damaged).
If you take a look at locals.lua, you'll also noticed you'll have different modifiers depending on the class you're playing. This was a result of some weeks with about 10 healers in my raid using Squishy, and to be sure not all of them heal the same target I introduced these different modifiers (aka priests should focus more on the glass-cannon mages and tanks while druids will have locks, hunters etc at a somewhat higher priority).
These settings should probably be configurable via chat commands, e.g.:
/squishy modifier mage 20
...which would allow more personal customization, and also quick ingame changes (dont heal shamans on razorgore fight).
I just didn't have a chance to add that yet.
As for the frame: I'm very new to XML myself, but as the bars, the header etc. are all children of the main frame (which also includes the background), I guess simply hiding the main frame (SquishyFrame) will also hide everything else. Having an option to turn off borders/background would probably be nice - I just don't really know how to do it at the moment. But if you want to alter the code yourself, delete lines 154-193 in Squishy.xml (the <Layers> ... </Layers> part), as this is where the background gradients are defined.
As already noted: my time is limited, and I didn't know a single line of lua a few months ago. So what you're seeing is all I can do at the moment, and my progress in learning lua is probably rather small. Which is a reason why I decided to publish that addon, hoping that others with more programming experience will make some additions to the code. Aka if I don't add a feature soon, it's not that I'm not willing to do it, but probably I just haven't figured out how yet.
Hmm. Either the frame was dragged off screen for some reason (try "/squishy scale 0.5" to get it back visible), or the roster wasnt initialized (try "/script Squishy:UpdateRoster()" ). Or try leaving the raid and rejoining. Or /console reloadui. Please let me know your observations.
Ouch, very sorry. As kinkyafro mentioned, a missing comma was the reason. Fixed that on the svn (but you could also add it manually at the end of line 35 which is the one with my email address).
As for numerical values: yeah, I'm considering adding these as option. Reason why they aren't in is that not only my goal was to keep the UI as clean and small as possible, but also I have some code which will choose the best rank for your target for you (which also preemptively heals people who have aggro). I'd just want to have the core code as clean as possible first before publishing and additional tools some people might want but others don't.
Any change of getting Watchdog clickcasting intergrated with this nice emergency frame? :-)
Btw, note to myself (or someone who'd know what to do exactly, as I'm not really sure yet): convert the xml to lua. PerfectRaid made that transition from 0.1 to 0.3, but Squishy is based on 0.1 code. Getting rid of that ugly xml would probably be great.
Please let me know if you encounter any errors with WatchDog (and maybe also without WatchDog) - as in these days where everything is labelled beta I'm calling the Squishy svn code alpha. Once it's stable and the code is optimized (anyone willing to help?), I'll release the first beta on wowinterface.com - until then, nasty bugs might occur in one or the other svn version.
Then edit the "AceHeal.toc" file and add "AceHealSquishy.lua" to the bottom of the list.
Bam...AceHeal support.
(The code was ripped from Delva's PerfectRaid Extension, credits to him for a majority of the code.)
[edit]
Tested it alot this evening and I really had troubles getting the clickcasting to work. It worked but i had to click multiple times on the frame to get it going. Otherwise it worked like it should, no errors.
AceHeal has the same problem, feels like I have to click a few times for it to read. I'm assumeing it has something to do with the SquishyCustomClick code.
1. WatchDog support: the code Squishy is using for WatchDog support is exactly 3 lines long and taken from the xml-style PerfectRaid. I guess it's related to the code 'RegisterForClicks("LeftButtonUp","RightButtonUp", "MiddleButtonUp", "Button4Up", "Button5Up")' not properly triggering all the time. I'm clueless though why, and I can only hope someone else can find a solution (the SVN is yours!).
2. party support: should be rather easy, I know. All it needs is some code for UpdateRoster() and adding/replacing certain events. Codayus, if you hack it in and it properly works, just upload it.
3. AceHeal: never used AceHeal either, and I didn't assume many people are still using it since Thirsterhall seems to have left some months ago. The posted code seems to have to be to added to AceHeal itself, so whoever is taking care of that addon might have to do that - or is there anything I can do?
4. as for the unitids: all roster info is available via the table EmergencyUnits (which should be accessible from outside of the addon via Squishy.EmergencyUnits - never tried though) - 'raidid' is the unitid, 'name' the name, 'class' is the class (everything that is defined in the function UpdateRoster is available via this table as well, just sorted by priority). You might want to take a look at the function UpdatePriorityFrames for details regarding grabbing the info.
5. Paladins are completely missing - aka Squishy thinks they can't heal at all. Someone with a Paladin might have to add the necessary data (spells to watch, modifiers,...).
6. the 'classmodifier' bug: are you using a revision past 1809? Before that Squishy had nasty errors when playing a non-healer class. If yes, then the technical explanation is: the problem is related to UpdateUnit() requesting info for a unit that doesn't have complete data stored in the Roster table. It's possible this really is related to joining/leaving a raid.
There are a couple of functions where I've added lots of security checks, and the quick'n'dirty solution is to add another check - but if we'd find the reason for corrupted roster data one could delete about 100 lines of code from Squishy, so my goal is finding a solution here. I uploaded the small fix to the SVN though.
Again - feel free to upload changes to the SVN - especially if you want to fix a bug or optimize some code. :)
The mod seems to have loaded, I can change settings with the slash commands, but the frame itself dosen't show up.
Works great but Squishy targets are changing too quickly, making click-casting a bit rough to manage in Squishy
Devla: any suggestions on how to deal with that problem?I know it's updating fast (0.2sec), but not faster or slower than e.g. the CTRA emergency frame. Would reducing the update ratio to 0.5sec help? Is that what we'd really want?
Couple things...
I use Emergency Monitor with clickcasting extensively and the Class/Party filters are invaluable to me. Please tell me you are planning to implement them in Squishy so i can get rid of EM entirely.
Also, tho the Squishy frame is wonderfully done, I would like to get it to look more like PerfectRaid. With Discord Frame Modifier, I can get rid of the border and the background, but cant seem to get rid of the two gradiants on top and bottom. Can someone point me in the rgiht direction in trying to get rid of them - either with DFM or by editing the code?
If you take a look at locals.lua, you'll also noticed you'll have different modifiers depending on the class you're playing. This was a result of some weeks with about 10 healers in my raid using Squishy, and to be sure not all of them heal the same target I introduced these different modifiers (aka priests should focus more on the glass-cannon mages and tanks while druids will have locks, hunters etc at a somewhat higher priority).
These settings should probably be configurable via chat commands, e.g.:
/squishy modifier mage 20
...which would allow more personal customization, and also quick ingame changes (dont heal shamans on razorgore fight).
I just didn't have a chance to add that yet.
As for the frame: I'm very new to XML myself, but as the bars, the header etc. are all children of the main frame (which also includes the background), I guess simply hiding the main frame (SquishyFrame) will also hide everything else. Having an option to turn off borders/background would probably be nice - I just don't really know how to do it at the moment. But if you want to alter the code yourself, delete lines 154-193 in Squishy.xml (the <Layers> ... </Layers> part), as this is where the background gradients are defined.
As already noted: my time is limited, and I didn't know a single line of lua a few months ago. So what you're seeing is all I can do at the moment, and my progress in learning lua is probably rather small. Which is a reason why I decided to publish that addon, hoping that others with more programming experience will make some additions to the code. Aka if I don't add a feature soon, it's not that I'm not willing to do it, but probably I just haven't figured out how yet.