Category: oUF: Plugins
Addon Information
Works with 3.3
Download Latest Version.
To add favorites please register for a free account. If you already have one you need to login. How do I install this? (FAQ)
Author:
Version:
v2.0.6
Date:
02-21-2010 12:38 AM
Size:
44.17 Kb
Downloads:
4,880
Favorites:
63
MD5:
Pictures
Click to enlarge
green bar shows incoming heal
incoming heals displayed as a bar and as text
oUF HealComm4
This is an update of oUF_HealComm to use the new LibHealComm-4.0 library and includes LibWrapperHealComm-1.0 for backwards compatability with LibHealComm-3.0 used by lots of healing and unit frame addons.

The main advantages of the new library is support for Heals over Time and Channelled Heals, and for using the unique GUID for identifying the healing targets.

Horizontal and Vertical oUF layouts are also supported.

-----------

To display a bar for incoming heals your oUF layout needs to define a statusbar self.HealCommBar
Code:
	self.HealCommBar = CreateFrame('StatusBar', nil, self.Health)
	self.HealCommBar:SetHeight(0)
	self.HealCommBar:SetWidth(0)
	self.HealCommBar:SetStatusBarTexture(self.Health:GetStatusBarTexture():GetTexture())
	self.HealCommBar:SetStatusBarColor(0, 1, 0, 0.25)
	self.HealCommBar:SetPoint('LEFT', self.Health, 'LEFT')

	-- optional flag to show overhealing
	self.allowHealCommOverflow = true

To display text for incoming heals your oUF layout needs to define a fontstring self.HealCommText
Code:
	self.HealCommText = self.Health:CreateFontString(nil, 'OVERLAY', 'GameFontHighlightSmallRight')
	self.HealCommText:SetTextColor(0, 1, 0)
	self.HealCommText:SetPoint('RIGHT', health, 'LEFT', -5, 0)

	-- optional routine override to format the text display
	self.HealCommTextFormat = shortVal

If you do not want to see the heals you cast, then you can define the flag self.HealCommOthersOnly
Code:
	self.HealCommOthersOnly = true
If you want to limit the incoming heals to those that land x seconds from now you can define the option self.HealCommTimeframe
Code:
	-- limit to the next 3 seconds incoming heals
	self.HealCommTimeframe = 3
  Change Log - oUF HealComm4
v2.0.6
- update to v1.6.2 of LibHealComm-4.0
- addition of self.HealCommTimeframe option

v2.0.5
- update to v1.6.1 of LibHealComm-4.0

v2.0.4
- update to v1.6 of LibHealComm-4.0

v2.0.3
- update to v1.5.7 of LibHealComm-4.0

v2.0.2
- tidy namespace code
- update to v1.5.6 of LibHealComm-4.0
- update to v5.2 of LibWrapperHealComm-1.0

v2.0.1
- fix namespace issue

v2.0.0
- update to v1.5.5-release of LibHealComm-4.0
- major rewrite of code to be not hooky
  Archived Versions - oUF HealComm4
File Name
Version
Size
Author
Date
v2.0.5
44kB
yj589794
02-17-2010 06:27 PM
v2.0.4
44kB
yj589794
01-30-2010 08:21 PM
v2.0.3
44kB
yj589794
01-30-2010 09:30 AM
v2.0.2
44kB
yj589794
01-01-2010 11:31 AM
v2.0.1
44kB
yj589794
12-09-2009 02:05 AM
v2.0.0
44kB
yj589794
12-08-2009 01:17 PM
v1.4
40kB
yj589794
10-29-2009 04:50 PM
  Comments - oUF HealComm4
Post A Reply Comment Options
Old 03-06-2010, 02:32 PM  
yj589794
An Aku'mai Servant
Interface Author - Click to view interfaces

Forum posts: 31
File comments: 33
Uploads: 1
It's going to have to be something for the next major update (maybe with cataclysm launch) due to the added complexity of the options required and having to break the existing options.
yj589794 is offline Report comment to moderator   Edit/Delete Message Reply With Quote
Old 03-06-2010, 01:42 PM  
mrruben5
PvP Clicking Holydin :P
Premium Member
Interface Author - Click to view interfaces

Forum posts: 562
File comments: 173
Uploads: 2
Quote:
Originally posted by yj589794
[...]

I admit that for cosmetic reasons your suggestion could be used to stop the incoming heal bar overlapping onto adjacent unit frames, but is that your only concern?
Exactly.

Thinking about your opinion, it be even better if a maximum in pixels was allowed I guess.

You could also color the overheal bar/text to indicate the % of overhealing done on the unit, but that would need a PostUpdateHealComm I think. This way you can avoid overlapping on other frames.
__________________

Last edited by mrruben5 : 03-06-2010 at 01:49 PM.
mrruben5 is offline Report comment to moderator   Edit/Delete Message Reply With Quote
Old 03-03-2010, 07:35 AM  
yj589794
An Aku'mai Servant
Interface Author - Click to view interfaces

Forum posts: 31
File comments: 33
Uploads: 1
I've been thinking about why you would want to see incoming overhealing up to a certain percentage, and I just can't see it.

If you don't want to see over healing, you can turn it off.

If you do want to see overhealing you can limit the amount, in a round about way, by limiting the timeframe of the incoming heals you see.


What benefit would your suggestion give to actually playing a healer? as I'm struggling to see any.

I admit that for cosmetic reasons your suggestion could be used to stop the incoming heal bar overlapping onto adjacent unit frames, but is that your only concern?
yj589794 is offline Report comment to moderator   Edit/Delete Message Reply With Quote
Old 03-02-2010, 01:35 PM  
mrruben5
PvP Clicking Holydin :P
Premium Member
Interface Author - Click to view interfaces

Forum posts: 562
File comments: 173
Uploads: 2
Can I ask if you change the sizing of the commbar to use SetMinMaxValues and SetValue, instead of changing the height or width? That way you could implement overflow (like set allowHealCommOverflow to 1.3 for 30% overflow).

The trick is that SetValue will never set the statusbar bigger then SetMinMaxValues allows.

Credits to Shadowed for this idea, he implemented it in his own unit frames.
__________________
mrruben5 is offline Report comment to moderator   Edit/Delete Message Reply With Quote
Old 02-21-2010, 06:58 AM  
Taroven
A Deviate Faerie Dragon
Interface Author - Click to view interfaces

Forum posts: 17
File comments: 434
Uploads: 10
Thanks for the update!
__________________
Author of EventHorizon Continued and its modules. Enjoy my work? Buy me a cookie!
Follow me on Twitter, and check out the instructional EH Blogs at Casters R Us.
Taroven is offline Report comment to moderator   Edit/Delete Message Reply With Quote
Old 02-18-2010, 09:38 AM  
yj589794
An Aku'mai Servant
Interface Author - Click to view interfaces

Forum posts: 31
File comments: 33
Uploads: 1
Np, I know the stupidity of changing stuff and then not reloading my UI well.
yj589794 is offline Report comment to moderator   Edit/Delete Message Reply With Quote
Old 02-18-2010, 09:13 AM  
Taroven
A Deviate Faerie Dragon
Interface Author - Click to view interfaces

Forum posts: 17
File comments: 434
Uploads: 10
Quote:
Originally posted by yj589794
You are embedding oUF_HealComm4, so the .toc will not be read anyway...

For those people who do not embed oUF_HealComm4, then oUF is not optional.
/facepalm. Must've been something really stupid that was stopping it from loading - Just threw in the toc from the zip here and it's playing nice again. I'll just assume that my xml file was hosting an early April Fools. Sorry to bug you about it.

Edit for clarity: Yes, I know tocfiles aren't used for embedded modules. In my defense the only thing that seemingly got it working earlier was the off-the-wall toc edit. I probably had it fixed in a previous change and not thought to reload, causing the impression that the toc change fixed it.
__________________
Author of EventHorizon Continued and its modules. Enjoy my work? Buy me a cookie!
Follow me on Twitter, and check out the instructional EH Blogs at Casters R Us.

Last edited by Taroven : 02-18-2010 at 09:18 AM.
Taroven is offline Report comment to moderator   Edit/Delete Message Reply With Quote
Old 02-18-2010, 08:09 AM  
yj589794
An Aku'mai Servant
Interface Author - Click to view interfaces

Forum posts: 31
File comments: 33
Uploads: 1
Quote:
Originally posted by Taroven
Mind setting oUF as an optionaldep rather than a dependency? Facepalmed earlier when I updated to find it not loading.
You are embedding oUF_HealComm4, so the .toc will not be read anyway...

For those people who do not embed oUF_HealComm4, then oUF is not optional.

Quote:
Originally posted by Taroven
Also, little feature request: self.HealCommTimeframe = <number>

Using healcomm.ALL_HEALS alone is an incredibly spammy way of seeing incoming heals. For example, with a Druid and Priest and all relevant hots on a unit, the incoming heal bar is atrociously long and quite useless.

Previously I'd just change healcomm.ALL_HEALS to healcomm.CASTED_HEALS and be done with it, but with this update I decided to do a little research on the API and came up with a better method. Instead of watching only certain healing types, why do something a little more intelligent?

Working code as follows, replace the current local incHeals with it.
Code:
local incHeals = self.HealCommOthersOnly and healcomm:GetOthersHealAmount(guid, healcomm.ALL_HEALS, self.HealCommTimeframe and self.HealCommTimeframe + GetTime() or nil) or not self.HealCommOthersOnly and healcomm:GetHealAmount(guid, healcomm.ALL_HEALS, self.HealCommTimeframe and self.HealCommTimeframe + GetTime() or nil) or 0
This gives oUF_Healcomm4 the ability to watch only a specific time window (I find 3 seconds to be just about right), limiting the effect that HoT spells have on the size of the healcomm bar/text.

No needed changes in any layout that uses it, just the added option.
I'll think about it.
yj589794 is offline Report comment to moderator   Edit/Delete Message Reply With Quote
Old 02-17-2010, 11:35 PM  
Taroven
A Deviate Faerie Dragon
Interface Author - Click to view interfaces

Forum posts: 17
File comments: 434
Uploads: 10
Mind setting oUF as an optionaldep rather than a dependency? Facepalmed earlier when I updated to find it not loading.

Also, little feature request: self.HealCommTimeframe = <number>

Using healcomm.ALL_HEALS alone is an incredibly spammy way of seeing incoming heals. For example, with a Druid and Priest and all relevant hots on a unit, the incoming heal bar is atrociously long and quite useless.

Previously I'd just change healcomm.ALL_HEALS to healcomm.CASTED_HEALS and be done with it, but with this update I decided to do a little research on the API and came up with a better method. Instead of watching only certain healing types, why do something a little more intelligent?

Working code as follows, replace the current local incHeals with it.
Code:
local incHeals = self.HealCommOthersOnly and healcomm:GetOthersHealAmount(guid, healcomm.ALL_HEALS, self.HealCommTimeframe and self.HealCommTimeframe + GetTime() or nil) or not self.HealCommOthersOnly and healcomm:GetHealAmount(guid, healcomm.ALL_HEALS, self.HealCommTimeframe and self.HealCommTimeframe + GetTime() or nil) or 0
This gives oUF_Healcomm4 the ability to watch only a specific time window (I find 3 seconds to be just about right), limiting the effect that HoT spells have on the size of the healcomm bar/text.

No needed changes in any layout that uses it, just the added option.
__________________
Author of EventHorizon Continued and its modules. Enjoy my work? Buy me a cookie!
Follow me on Twitter, and check out the instructional EH Blogs at Casters R Us.
Taroven is offline Report comment to moderator   Edit/Delete Message Reply With Quote
Old 02-16-2010, 04:01 AM  
yj589794
An Aku'mai Servant
Interface Author - Click to view interfaces

Forum posts: 31
File comments: 33
Uploads: 1
Quote:
Originally posted by bone123
I've got a problem, made it work to show me the healbars but it screws up a single panel attached to the background of recount. And I've got no idea why.

Only this panel can no longer find its Parent and places itself simply in the middle of the screen. If I turn off HealComm everything is fine:

snip

No other panel has this problem. They are all working as intended...
Hi, it looks like your trying to do something I've not seen done before. The posted code portion is too small to try and understand what is happening. Could you please PM me a link with your oUF layout, and any other relevant UI items?

Quote:
Originally posted by bone123
Edit: another problem: the +heal bar disconnects from the current health bar if you get dmg while casting
If you have .frequentUpdates enabled on your health bar then there will be occasions when there is a little lag before the incoming heal bar snaps back to the end of the health bar.
It does snap back into place after a moment, doesn't it?
yj589794 is offline Report comment to moderator   Edit/Delete Message Reply With Quote
Old 02-15-2010, 06:21 AM  
bone123
A Kobold Labourer

Forum posts: 0
File comments: 4
Uploads: 0
I've got a problem, made it work to show me the healbars but it screws up a single panel attached to the background of recount. And I've got no idea why.

Only this panel can no longer find its Parent and places itself simply in the middle of the screen. If I turn off HealComm everything is fine:
Code:
local dmgmeter = CreateFrame("Frame", dmgpanel, Recount_MainWindow)
dmgmeter:SetFrameLevel(2)
dmgmeter:SetFrameStrata("medium")
       dmgmeter:SetHeight(23) -- these 3 lines are debug
       dmgmeter:SetWidth(50)
       dmgmeter:SetPoint("center",0,45)
--the following lines are the ones normally working 
--dmgmeter:SetPoint("TOPRIGHT", Recount_MainWindow, "TOPRIGHT", 0, -30)
--dmgmeter:SetPoint("BOTTOMLEFT", Recount_MainWindow, "BOTTOMLEFT", -0, 1)
dmgmeter:SetScale(1)
dmgmeter:SetBackdrop( {
    bgFile = BLANK_TEXTURE,
    edgeFile = BLANK_TEXTURE,
    tile = false, tileSize = 0, edgeSize = 1,
    insets = { left = -1, right = -1, top = -1, bottom = -1 }
})
dmgmeter:SetBackdropColor(.1,.1,.1,1)
No other panel has this problem. They are all working as intended...


Edit: another problem: the +heal bar disconnects from the current health bar if you get dmg while casting

Last edited by bone123 : 02-15-2010 at 07:13 AM.
bone123 is offline Report comment to moderator   Edit/Delete Message Reply With Quote
Old 01-23-2010, 11:50 PM  
yj589794
An Aku'mai Servant
Interface Author - Click to view interfaces

Forum posts: 31
File comments: 33
Uploads: 1
Quote:
Originally posted by Toran
How can I make this only appear on the player frame if I'm not on my Priest or Druid? That is, I don't need to see the healcomm bars for every other unitframe on my warlock or other non-healing class.
use the UnitClass() routine to get the player class and then add some logic to your layout to do specific actions based on the class.

like....

Code:
local _, playerClass = UnitClass('player')

if(playerClass == "DRUID" or playerClass == "PRIEST") then
    -- always add healcomm bars to all frames
else
    if(unit == "player") then
        -- only add healcom bars to the player frame
    end
end

tidy up the logic as you see fit, but that should do the job.

Last edited by yj589794 : 01-23-2010 at 11:52 PM.
yj589794 is offline Report comment to moderator   Edit/Delete Message Reply With Quote
Old 01-23-2010, 10:16 PM  
Toran
A Cliff Giant
 
Toran's Avatar

Forum posts: 75
File comments: 250
Uploads: 0
How can I make this only appear on the player frame if I'm not on my Priest or Druid? That is, I don't need to see the healcomm bars for every other unitframe on my warlock or other non-healing class.
Toran is offline Report comment to moderator   Edit/Delete Message Reply With Quote
Old 01-16-2010, 02:26 PM  
yj589794
An Aku'mai Servant
Interface Author - Click to view interfaces

Forum posts: 31
File comments: 33
Uploads: 1
Quote:
Originally posted by treelet
I am experiencing a similar issue when trying to use HealComm with Neav's raid frames. Similar to Tukz, SetFrameLevel is being used in the original code. I removed that line of code to no effect. Here is the original code with HealComm added.

pastey

I cannot figure out what I am missing here. Any help is appreciated.
I just tried the code you linked and, apart from having to move the raid frames to fit my screen, it all worked fine. The raid frames showed the incoming heal bar when I tested them in a battleground.

Can you check again and make sure oUF_HealComm4 is being loaded, as I cannot think of any other reason why you will not see the incoming heal bars?
yj589794 is offline Report comment to moderator   Edit/Delete Message Reply With Quote
Old 01-14-2010, 09:25 PM  
treelet
A Kobold Labourer
 
treelet's Avatar

Forum posts: 1
File comments: 78
Uploads: 1
Quote:
Originally posted by yj589794
It's a problem with the layout in oUF_Tukz.

The layout author is using SetFrameLevel() to specifically assign the health bar a level within the drawing stack.
There is an easy fix to make the heal bars display correctly, although I've not tested to see if the fix breaks anything else in the layout.

To apply the fix, search for the following text in ouf_tukz.lua and delete it:
Code:
	if unit then
		self.Health:SetFrameLevel(5)
	elseif self:GetAttribute("unitsuffix") then
		self.Health:SetFrameLevel(5)
	elseif not unit then
		self.Health:SetFrameLevel(2)
	end
I am experiencing a similar issue when trying to use HealComm with Neav's raid frames. Similar to Tukz, SetFrameLevel is being used in the original code. I removed that line of code to no effect. Here is the original code with HealComm added.

pastey

I cannot figure out what I am missing here. Any help is appreciated.

Last edited by treelet : 01-14-2010 at 11:00 PM.
treelet is offline Report comment to moderator   Edit/Delete Message Reply With Quote
Post A Reply



Category Jump:




The Network:
EQInterface | EQ2Interface | LoTROInterface | MMOInterface | War.MMOUI | WoWInterface | VGInterface | Allakhazam | Thottbot | Wowhead | Zam


©2009 MMOUI / ZAM Network
vBulletin - Copyright ©2000 - 2010, Jelsoft Enterprises Ltd.