LibHealComm-4.0
LibHealComm-4.0 is a library that keeps track of heals being cast by both the player and the people they are grouped with. It will estimate how much a heal will land for using talents, glyphs, auras as well as gear and provides data to other users using LibHealComm-4.0. There is a variety of ways to show data, anything from a simple bar that indicates how much healing is incoming on an unit to showing a graphical summary of what player is casting what heal, on who and how long it will take to land.
Thanks to xbeeps for his work on LibHealComm-3.0 as well as Gagorian (DrDamage) for being able to steal his data.
For tickets, http://www.wowace.com/addons/libhealcomm-4-0/tickets/
For discussion, http://forums.wowace.com/showthread.php?p=286168
Documentation
Documentation for LibHealComm-4.0 can be found here
Accuracy
Blizzard still does not specifically send the GUID that a cast is on, while LibHealComm-4.0 is 100% accurate if the user is healing through click casting or normal means and it's 99.99% when using others there is still a very (very) small chance that it will not find the GUID. If it does manage to not find the GUID it will make the best guess it can off of the name.
Addons supported
Injector, Shadowed Unit Frames, Pitbull4, Vuhdo, VisualHeal, PerfectRaid, X-Perl, Grid2, BobsToolbox, Stuf Unit Frames, oUF (with oUF_HealComm4 plugin + support), HealAssign, Grid, IceHUD
Spells supported
Druids: Nourish, Healing Touch, Regrowth (And the HoT), Rejuvenation, Tranquility, Lifebloom (And the final heal), Wild Growth
Paladins: Holy Light, Flash of Light and heals casted by Beacon of Light
Shamans: Lesser Healing Wave, Healing Wave (Including glyph), Chain Heal (first bounce only), Riptide, Earthliving Weapon
Priests: Penance, Renew, Flash Heal, Greater Heal, Prayer of Healing, Lesser Heal, Heal
What's different from 3.0?
3.0 is based on using names to identify who casted a heal as well as the heals targets, while names give you decently accurate information it is not 100% and most addons use GUIDs rather then names to identify people. 4.0 also has a more up to date spell database and supports the more unique healing mechanics that were added in Wrath of the Lich King such as Glyph of Healing Wave, Beacon of Light and hots in general.
But what about users who are using 3.0?
To make moving to 4.0 easier for users (and so they don't complain to authors about missing data!) there is a small wrapper library you can embed along with 4.0 that will catch data sent for LibHealComm-3.0 and update the players local healing data in 4.0, it will also handle sending healing data but this can be disabled with a function call.
More information on the wrapper library can be found at http://www.wowace.com/addons/libwrapperhealcomm-1-0/ while this library is optional, it is suggested that you embed it so that users are not using exclusively 4.0 data.
-
View User Profile
-
Send Message
Posted Nov 20, 2024Consider trying out https://www.curseforge.com/wow/addons/healbarsclassic-hotfix -- which includes an update LibHealCom library for Classic Era (mainly Era and Hardcore, but some limited SoD support too)
-
View User Profile
-
Send Message
Posted Oct 16, 2024Date: 2024-10-17 01:12:17
ID: 5
Error occured in: Global
Count: 1
Message: Interface/AddOns/LibHealComm-4.0/LibHealComm-4.0.lua line 818:
attempt to perform arithmetic on local 'requiresLevel' (a nil value)
Debug:
[string "=[C]"]: ?
[string "@Interface/AddOns/LibHealComm-4.0/LibHealComm-4.0.lua"]:818:
Interface/AddOns/LibHealComm-4.0/LibHealComm-4.0.lua:807
[string "@Interface/AddOns/LibHealComm-4.0/LibHealComm-4.0.lua"]:1731:
Interface/AddOns/LibHealComm-4.0/LibHealComm-4.0.lua:1729
[string "@Interface/AddOns/LibHealComm-4.0/LibHealComm-4.0.lua"]:2706: ?()
[string "@Interface/AddOns/LibHealComm-4.0/LibHealComm-4.0.lua"]:3348:
Interface/AddOns/LibHealComm-4.0/LibHealComm-4.0.lua:3346
Healcomm not working for me.
-
View User Profile
-
Send Message
Posted Feb 19, 2024Can you add the new rune heals from Season of Discovery? They're not showing up.
-
View User Profile
-
Send Message
Posted Feb 13, 2024482x LibHealComm-4.0-108/LibHealComm-4.0.lua:818: attempt to perform arithmetic on local 'requiresLevel' (a nil value)
[string "@LibHealComm-4.0-108/LibHealComm-4.0.lua"]:818: in function <LibHealComm-4.0/LibHealComm-4.0.lua:807>
[string "@LibHealComm-4.0-108/LibHealComm-4.0.lua"]:967: in function <LibHealComm-4.0/LibHealComm-4.0.lua:965>
[string "@LibHealComm-4.0-108/LibHealComm-4.0.lua"]:2706: in function `?'
[string "@LibHealComm-4.0-108/LibHealComm-4.0.lua"]:3348: in function <LibHealComm-4.0/LibHealComm-4.0.lua:3346>
Locals:
spellData = <table> {
levels = <table> {
}
bomb = <table> {
}
coeff = 0.520000
interval = 1
ticks = 7
averages = <table> {
}
dhCoeff = 0.343350
}
spellName = "Lifebloom"
spellID = 408124
spellRank = nil
average = nil
requiresLevel = nil
(*temporary) = <function> defined =[C]:-1
(*temporary) = 33
(*temporary) = nil
(*temporary) = "attempt to perform arithmetic on local 'requiresLevel' (a nil value)"
type = <function> defined =[C]:-1
min = <function> defined =[C]:-1
playerLevel = 33
-
View User Profile
-
Send Message
Posted Feb 10, 2024Seems to have stopped working with Rejuvenation and Regrowth after getting the "Enhanced Restoration" Skill book from SM in SoD
-
View User Profile
-
Send Message
Posted Dec 26, 2023When in a DFG dungeon it spams an alert that you're not in a group each time you cast a spell.
Happens for all addons using LibHealComm-4.0 (Wotlk version).
-
View User Profile
-
Send Message
Posted Nov 9, 2023Lately people have been saying this library is causing a massive performance hit in WotLK 25-man raids during combat, which is only resolved after removing addons using this library or deleting the LibHealComm folder within the addons.
Personally, when I use LibHealComm I have about 5-20 FPS during 25-man raid combat, and when LibHealComm is removed get 80+ FPS during 25-man raid combat.
Could you please look into this and possibly fix it? It's causing a lot of people to stop using LibHealComm as the low FPS makes the game unplayable.
-
View User Profile
-
Send Message
Posted Sep 4, 2022It appears Wild Growth is just absolutely disagreeing with this addon
<br /><br />28x ...UI\Libraries\TBC\LibHealComm-4.0\LibHealComm-4.0-105.lua:2398: attempt to perform arithmetic on local 'tickInterval' (a nil value) [string "@ElvUI\Libraries\TBC\LibHealComm-4.0\LibHealComm-4.0-105.lua"]:2398: in function <...UI\Libraries\TBC\LibHealComm-4.0\LibHealComm-4.0.lua:2384> [string "@ElvUI\Libraries\TBC\LibHealComm-4.0\LibHealComm-4.0-105.lua"]:2571: in function `?' [string "@ElvUI\Libraries\TBC\LibHealComm-4.0\LibHealComm-4.0-105.lua"]:3349: in function <...UI\Libraries\TBC\LibHealComm-4.0\LibHealComm-4.0.lua:3345> Locals: casterGUID = "Player-4647-00263232" wasUpdated = false spellID = 53248 tickAmount = "354@334@313@293@273@253@233" totalTicks = 7 tickInterval = nil spellName = "Wild Growth" inc = 1 stack = nil duration = nil endTime = nil (*temporary) = "4647-00263232" (*temporary) = "Player-4647-00263232" (*temporary) = 53248 (*temporary) = 1 (*temporary) = 1 (*temporary) = 1 (*temporary) = 1 (*temporary) = "Player-4647-00263232" (*temporary) = "raid23" (*temporary) = false (*temporary) = "raid23" (*temporary) = "attempt to perform arithmetic on local 'tickInterval' (a nil value)" GetSpellInfo = <function> defined =[C]:-1 select = <function> defined =[C]:-1 type = <function> defined =[C]:-1 findAura = <function> defined @ElvUI\Libraries\TBC\LibHealComm-4.0\LibHealComm-4.0.lua:2364 GetTime = <function> defined =[C]:-1 pendingHots = <table> { Player-4387-03425935 = <table> { } Player-4647-00263232 = <table> { } } HOT_HEALS = 4 ceil = <function> defined =[C]:-1 loadHealList = <function> defined @ElvUI\Libraries\TBC\LibHealComm-4.0\LibHealComm-4.0.lua:2262 HealComm = <table> { TargetLastTarget = <function> defined @ElvUI\Libraries\TBC\LibHealComm-4.0\LibHealComm-4.0.lua:3027 GetHealModifier = <function> defined @ElvUI\Libraries\TBC\LibHealComm-4.0\LibHealComm-4.0.lua:388 OVERTIME_HEALS = 6 TargetLastFriend = <function> defined @ElvUI\Libraries\TBC\LibHealComm-4.0\LibHealComm-4.0.lua:3023 compressGUID = <table> { } UNIT_SPELLCAST_CHANNEL_START = <function> defined @ElvUI\Libraries\TBC\LibHealComm-4.0\LibHealComm-4.0.lua:2838 GetNextHealAmount = <function> defined @ElvUI\Libraries\TBC\LibHealComm-4.0\LibHealComm-4.0.lua:411 ALL_HEALS = 23 GLYPH_ADDED = <function> defined @ElvUI\Libraries\TBC\LibHealComm-4.0\LibHealComm-4.0.lua:2193 UseAction = <function> defined @ElvUI\Libraries\TBC\LibHealComm-4.0\LibHealComm-4.0.lua:3032 itemSetsData = <table> { } currentModifiers = <table> { } aurasUpdated = true GLYPH_REMOVED = <function> defined @ElvUI\Libraries\TBC\LibHealComm-4.0\LibHealComm-4.0.lua:2193 GetCasterHealAmount = <function> defined @ElvUI\Libraries\TBC\LibHealComm-4.0\LibHealComm-4.0.lua:552 CASTED_HEALS = 3 UNIT_SPELLCAST_CHANNEL_UPDATE = <function> defined @ElvUI\Libraries\TBC\LibHealComm-4.0\LibHealComm-4.0.lua:2935 BOMB_HEALS = 16 GetNumHeals = <function> defined @ElvUI\Libraries\TBC\LibHealComm-4.0\LibHealComm-4.0.lua:684 callbacks = <table> { } GLYPH_UPDATED = <function> defined @ElvUI\Libraries\TBC\LibHealComm-4.0\LibHealComm-4.0.lua:2193 removeRecordList = <function> defined @ElvUI\Libraries\TBC\LibHealComm-4.0\LibHealComm-4.0.lua:282 getRecord = <function> defined @ElvUI\Libraries\TBC\LibHealComm-4.0\LibHealComm-4.0.lua:245 GlyphsUpdated = <function> defined @ElvUI\Libraries\TBC\LibHealComm-4.0\LibHealComm-4.0.lua:2193 Target = <function> defined @ElvUI\Libraries\TBC\LibHealComm-4.0\LibHealComm-4.0.lua:2986 GetOthersHealAmount = <function> defined @ElvUI\Libraries\TBC\LibHealComm-4.0\LibHealComm-4.0.lua:539 UNIT_AURA = <function> defined @ElvUI\Libraries\TBC\LibHealComm-4.0\LibHealComm-4.0.lua:2097 tempPlayerList = <table> { } GetPlayerHealingMod = <function> defined @ElvUI\Libraries\TBC\LibHealComm-4.0\LibHealComm-4.0.lua:383 UPDATE_MOUSEOVER_UNIT = <function> defined @ElvUI\Libraries\TBC\LibHealComm-4.0\LibHealComm-4.0.lua:2964 ZONE_CHANGED_NEW_AREA = <function> defined @ElvUI\Libraries\TBC\LibHealComm-4.0\LibHealComm-4.0.lua:2076 healingModifiers = <table> { } hotMonitor = <unnamed> { } spellData = <table> { } guidToUnit = <table> { } CHARACTER_POINTS_CHANGED = <function> defined @ElvUI\Libraries\TBC\LibHealComm-4.0\LibHealComm-4.0.lua:2219 CastSpell = <function> defined @Inte-
View User Profile
-
Send Message
Posted Sep 7, 2022In reply to Intervencion:
yeah its unplayable
-
View User Profile
-
Send Message
Posted Sep 9, 2022In reply to Intervencion:
I have tried making this change, which should hopefully handle a nill value of tickInterval. Change line 2387 in LibHealComm-4.0.lua from:
if( not tickAmount or not spellName or select("#", ...) == 0 ) then return end
to
if(not tickInterval or not tickAmount or not spellName or select("#", ...) == 0 ) then return end
I'll have to wait until my next raid to see if it prevents all the error spam.
-
View User Profile
-
Send Message
Posted Sep 9, 2022In reply to AlmXzdk:
yeah that seems to work, cheers
-
View User Profile
-
Send Message
Posted Aug 15, 2022@Shadowed103, Big appreciation for quick update for Wrath! one question is that it looks like penance and absorb do not work correctly.
Shiled absorb might not be calculated but penace does not work either even it looks like registred spell information correctly.Could you guide why it is not returned by ALL_HEALS or CHANNEL_HEALS or others?Confirmed penance works well. thank you!
-
View User Profile
-
Send Message
Posted Jul 5, 2022Are there any plan for wotlk classic? as bllizard api does not provide HoTprediction, many addons are heavily dependsd on this library.
-
View User Profile
-
Send Message
Posted Feb 1, 2022Getting this from Shadowed Unit Frames in TBC Classic
-
View User Profile
-
Send Message
Posted Jul 4, 2022In reply to midinette:
I have the same issue and traking issue spell. Are your experiencing in KJ? suspicous for petskill(dragon) - 45860
-
View User Profile
-
Send Message
Posted Sep 17, 2021Tranquility target is only a caster now
LibHealComm-4.0.lua
#850: targets are out of the Mark of the Wild range? It seems invalid.
#2231: target is simply aura destination unit. There should be something like GetHealTargets() for Tranquility spell.
-
View User Profile
-
Send Message
Posted Sep 12, 2021using Mend Pet causes lua error:
8x ...ddOns\VuhDo\Libs\LibHealComm-4.0\LibHealComm-4.0-95.lua:770: attempt to perform arithmetic on local 'requiresLevel' (a nil value)
-
View User Profile
-
Send Message
Posted Aug 28, 2021getting mass lua errors
15x ...dUnitFrames\libs\LibHealComm-4.0\LibHealComm-4.0-92.lua:1848: table index is nil
[string "@ShadowedUnitFrames\libs\LibHealComm-4.0\LibHealComm-4.0-92.lua"]:1848: in function `?'
[string "@ShadowedUnitFrames\libs\LibHealComm-4.0\LibHealComm-4.0-92.lua"]:2444: in function <...dUnitFrames\libs\LibHealComm-4.0\LibHealComm-4.0.lua:2442>
Locals:
self = <table> {
TargetLastTarget = <function> defined @ShadowedUnitFrames\libs\LibHealComm-4.0\LibHealComm-4.0.lua:2145
GetHealModifier = <function> defined @ShadowedUnitFrames\libs\LibHealComm-4.0\LibHealComm-4.0.lua:373
bucketFrame = <unnamed> {
}
TargetLastFriend = <function> defined @ShadowedUnitFrames\libs\LibHealComm-4.0\LibHealComm-4.0.lua:2141
compressGUID = <table> {
}
UNIT_SPELLCAST_CHANNEL_START = <function> defined @ShadowedUnitFrames\libs\LibHealComm-4.0\LibHealComm-4.0.lua:1979
-
View User Profile
-
Send Message
Posted Sep 16, 2021In reply to GregoryWW:
Please see Tranquility target Issue
-
View User Profile
-
Send Message
Posted Aug 2, 2021There's an updated codebase that is TBC Classic compatible that includes newer rank of spells on https://github.com/Azilroka/LibHealComm-4.0
Manually downloading it and replacing in all my addons that had a subfolder for libhealcomm resolved my incoming heal issues.