Loading...
Forum Rules:
Before creating a support thread here then please read [Read Before Posting] Ask For Technical Support: The Right Way.

Heal Prediction (Other Casts) Not Following Assigned Color

1
Hello! I've been using Elvui for healing since end of Classic up to present-day TBC Classic (2.18). Recently, for some reason, the color I assign for other people's healing casts has stopped working, and is only following whatever color I assign for my own healing.
  • I have tried /luaerror on as per suggestion on Discord
  • I have submitted the same question on Discord, no response from anyone
  • I have tried searching for similar complaints on Discord, no info
  • I have tried disabling all other addons, issue persists
  • No lua error to note on my end
  • I have tried changing color settings for my casts and for other people's casts. The latter never works, instead it just follows the current color I assign for myself
  • Incoming heals from other players work on Luna unitframes, but not Elvui
  • This applies to all Elvui unitframes
  • I have tried updating via Wowup, and then downloading a fresh new version via Tukui site (here) in case Wowup messed up
I have a feeling I'm forgetting a detail somewhere, but this issue just popped up last month, after the last brief healcomm issue (where it wouldn't work on unitframes).

Thank you very much for your time!

Heal Prediction (Other Casts) Not Following Assigned Color

2
Yeah, it's because ElvUI itself changed code like that, while applying Blizzard's heal prediction API,
After that, other people's healing color is disappeared and other caster's heal is included in my own healing color.
And It does not calculate heal modifier. (Mortal Strike, Fel Armor)

I also asked that issue, but no response.
LINK: viewtopic.php?f=40&t=17139


If you want to solve personally, you can edit this file. (by notepad or something)
ElvUI\Libraries\oUF\elements\healthprediction.lua

Here's simple example. Not including others HoT's
from

Code: Select all

local DirectHeals = UnitGetIncomingHeals(unit) or 0
...
local otherIncomingHeal = 0
to

Code: Select all

local allDirectHeals = (UnitGetIncomingHeals(unit) or 0) * (HealComm:GetHealModifier(GUID) or 1)
local DirectHeals = (UnitGetIncomingHeals(unit, 'player') or 0) * (HealComm:GetHealModifier(GUID) or 1)
...
local otherIncomingHeal = allDirectHeals - DirectHeals 

Heal Prediction (Other Casts) Not Following Assigned Color

5
gwtwind wrote: Sat Oct 16, 2021 8:41 am Yeah, it's because ElvUI itself changed code like that, while applying Blizzard's heal prediction API,
After that, other people's healing color is disappeared and other caster's heal is included in my own healing color.
And It does not calculate heal modifier. (Mortal Strike, Fel Armor)

I also asked that issue, but no response.
LINK: viewtopic.php?f=40&t=17139


If you want to solve personally, you can edit this file. (by notepad or something)
ElvUI\Libraries\oUF\elements\healthprediction.lua

Here's simple example. Not including others HoT's
from

Code: Select all

local DirectHeals = UnitGetIncomingHeals(unit) or 0
...
local otherIncomingHeal = 0
to

Code: Select all

local allDirectHeals = (UnitGetIncomingHeals(unit) or 0) * (HealComm:GetHealModifier(GUID) or 1)
local DirectHeals = (UnitGetIncomingHeals(unit, 'player') or 0) * (HealComm:GetHealModifier(GUID) or 1)
...
local otherIncomingHeal = allDirectHeals - DirectHeals 
Could you please post the code for HoTs also? Your solution for direct ones works amazing.

Heal Prediction (Other Casts) Not Following Assigned Color

6
First of all, thank you so much, your fix is working perfectly.
I would like to add one small thing for all the noobs (like me) who wants to remove the Hots from prediction : Just edit the 'myIncomingHeal' line and remove the 2 '+ OverTimeHeals'.

So the entire fix - different color + no Hots- looks like this :

Code: Select all

local allDirectHeals = (UnitGetIncomingHeals(unit) or 0) * (HealComm:GetHealModifier(GUID) or 1)
local DirectHeals = (UnitGetIncomingHeals(unit, 'player') or 0) * (HealComm:GetHealModifier(GUID) or 1)
local myIncomingHeal = DirectHeals >= DirectHeals and DirectHeals or DirectHeals
local health, maxHealth = UnitHealth(unit), UnitHealthMax(unit)
local otherIncomingHeal = allDirectHeals - DirectHeals