Download
(40Kb)
Download
Updated: 06-29-10 10:30 AM
Pictures
File Info
Updated:06-29-10 10:30 AM
Created:09-28-09 12:33 PM
Downloads:13,624
Favorites:52
MD5:

oUF HealComm4  Popular! (More than 5000 hits)

Version: v2.2.2
by: yj589794 [More]

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

v2.2.2
- update to v1.6.6 of LibHealComm-4.0

v2.2.1
- update to v1.6.5 of LibHealComm-4.0
- minor code style changes that have no effect on functionality

v2.2.0
- update to v1.6.4 of LibHealComm-4.0
- ensure we make a local copy of string.format (unnoticeable speed boost)
- remove LibWrapperHealComm-1.0 library as I see next to no traffic on it now

v2.1.0
- update to v1.6.3 of LibHealComm-4.0
- fix minor bug with some incoming heal bars showing on units with full health and overflow disabled

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
Post A Reply Comment Options
Unread 09-28-09, 05:33 PM  
yj589794
A Rage Talon Dragon Guard
AddOn Author - Click to view AddOns

Forum posts: 314
File comments: 43
Uploads: 1
Originally posted by KnThrak
Is there a way to "cap" the +healing bar so that at most it runs to where the health-bar it displays on would be at 100%?
There is, but I'm not going to add it as I like to see how much overheal is incoming.

Just replace the updateHealCommBar function in oUF_HealComm4.lua with the following code: http://pastey.net/125845



edit for making the code actually work, bah
Last edited by yj589794 : 09-28-09 at 05:47 PM.
Report comment to moderator  
Reply With Quote
Unread 09-28-09, 05:23 PM  
yj589794
A Rage Talon Dragon Guard
AddOn Author - Click to view AddOns

Forum posts: 314
File comments: 43
Uploads: 1
I just hacked your health code into my unit frames, and even though it looks borked it does give vertical health bars and vertical incoming heal bars.



I'll send you a PM and see if we can figure out the issue.
Report comment to moderator  
Reply With Quote
Unread 09-28-09, 04:33 PM  
Carighan
A Defias Bandit
 
Carighan's Avatar
AddOn Author - Click to view AddOns

Forum posts: 2
File comments: 96
Uploads: 1
Is there a way to "cap" the +healing bar so that at most it runs to where the health-bar it displays on would be at 100%?
__________________
SQUEAK.
--(The Death of Rats, Terry Pratchett, Soul Music)
Report comment to moderator  
Reply With Quote
Unread 09-28-09, 03:50 PM  
Unkn
Premium Member
 
Unkn's Avatar
AddOn Author - Click to view AddOns

Forum posts: 258
File comments: 165
Uploads: 2
could you post your health bar code and I'll try and see what is different.

thanks
Here ya go.
Only player and target are vertical if you cant tell. And yes its probably sloppy, but its working well so till it stop working no need to clean it up.
Code:
   local hp = CreateFrame("StatusBar", nil, self)
   hp:SetStatusBarTexture(statusbartexture)
   hp:SetHeight(hp_height)
   if unit == "player" then
        hp:SetOrientation("VERTICAL")
        hp:SetWidth(((width)/3)-(2*border_size))
        hp:SetPoint("TOPLEFT", oUF.units.player, "TOPLEFT", 2*border_size, -2*border_size)
        hp:SetPoint("BOTTOMLEFT", oUF.units.player, "BOTTOMLEFT", 2*border_size, 2*border_size)
        hp:SetPoint("RIGHT", oUF.units.player, "RIGHT", -7*width/9, 0)
        hp:SetPoint("LEFT", self, "LEFT", 2*border_size, 0)
    elseif unit == "target" then
        hp:SetOrientation("VERTICAL")
        hp:SetWidth(((width)/3)-(2*border_size))
        hp:SetPoint("TOPRIGHT", oUF.units.target, "TOPRIGHT", -2*border_size, -2*border_size)
        hp:SetPoint("BOTTOMRIGHT", oUF.units.target, "BOTTOMRIGHT", -2*border_size, 2*border_size)
        hp:SetPoint("LEFT", oUF.units.target, "LEFT", 7*width/9, 0)
        hp:SetPoint("RIGHT", self, "RIGHT", -2*border_size, 0)
    else
        hp:SetWidth(width-border_size)
        hp:SetPoint("TOPLEFT", self, "TOPLEFT", border_size, -border_size)
        hp:SetPoint("TOPRIGHT", self, "TOPRIGHT", -border_size, 0)
    end
   hp.colorDisconnected = true
   hp.frequentUpdates = true
   if unit and string.match(unit,"target") then 
      hp.colorTapping = true
      hp.colorReaction = true
   end
   self.Health = hp
Report comment to moderator  
Reply With Quote
Unread 09-28-09, 03:13 PM  
yj589794
A Rage Talon Dragon Guard
AddOn Author - Click to view AddOns

Forum posts: 314
File comments: 43
Uploads: 1
If you have set your health bar orientation to be 'VERTICAL' then it should all work fine.

I've tested on my unit frames using the following and it looks OK

Code:
	self.Health = CreateFrame('StatusBar', self:GetName() .. '_health', self)
	self.Health:SetPoint('TOPRIGHT', self)
	self.Health:SetPoint('TOPLEFT', self)
	self.Health:SetStatusBarTexture(texture)
	self.Health:SetStatusBarColor(0.25, 0.25, 0.35)
	self.Health:SetHeight(22)
	self.Health.frequentUpdates = true
	self.Health:SetOrientation('VERTICAL')
could you post your health bar code and I'll try and see what is different.

thanks
Report comment to moderator  
Reply With Quote
Unread 09-28-09, 02:51 PM  
Unkn
Premium Member
 
Unkn's Avatar
AddOn Author - Click to view AddOns

Forum posts: 258
File comments: 165
Uploads: 2
Do we need to tweak or comment anything to get the bars to fill vertically? Yes it is showing at the top of my bars but its still showing a horizontal line.

Showing you on my tank and she casts a heal on herself....



Its is showing the correct amount healed. And its showing on the ToT bars and all other horizontal bars correctly.

Thanks for the update btw
Report comment to moderator  
Reply With Quote
Post A Reply



Category Jump: