Download
(30Kb)
Download
Updated: 01-11-20 06:35 AM
Compatibility:
Classic Patch (1.13.3)
Updated:01-11-20 06:35 AM
Created:05-19-19 08:09 PM
Downloads:495,291
Favorites:261
MD5:

Real Mob Health  Popular! (More than 5000 hits)

Version: 2.18
by: SDPhantom [More]

Notice:
On February 18th, 2020, Blizzard released a hotfix that enables mob health to be displayed in the Default UI.
RealMobHealth has run its course and is now obsolete. I thank everyone for their support during the lifetime of this addon.


For existing users running the Default UI, here's a list of addons that'll provide an alternative to the UITweaks module.

2.18 (2020-01-11)
-Modified death detection to hold onto data a little longer to prevent mobs with reincarnation mechanics from spamming messages
-Internal timers now use C_Timer instead of OnUpdate to try to combat "No player named <Player> is currently playing." spam after being minimized

2.17 (2019-12-13)
-Added usage of INSTANCE_CHAT as a fallback for BATTLEGROUND. (Reports are saying BATTLEGROUND is defunct)

2.16 (2019-12-12)
-Added usage of BATTLEGROUND addon channel
-RAID/PARTY addon channels now check specifically for the home group category instead of all

2.15 (2019-12-11)
-Implemented an anti-spam measure to help mitigate Blizzard's throttle bug of the YELL channel
-TextStatusBar_UpdateTextString() code moved to a secure hook to mitigate Blizzard taint bug

2.14 (2019-12-10)
-The YELL addon channel has been added to the list of broadcast channels
-Some internal functions are now metatable-aware (opens possibilities for future features?)

2.13 (2019-09-25)
-Removed lingering debug message that was hiding in the aura scanner

2.12 (2019-09-23)
-Now detects health from a Hunter's Beast Lore
-Added ruRU localization (courtesy of vAlshebnik)

2.11 (2019-09-15)
-Localization.lua now uncludes Unicode BOM for easier UTF-8 editing
-Revised deDE localization (courtesy of Dathwada)
-Added esES localization (courtesy of Lynk_One)

2.10 (2019-09-11)
-Added koKR localization (courtesy of chkid)

2.9 (2019-09-10)
-Added deDE localization (courtesy of Figlmueller)
-Fixed zhCN, zhTW, and koKR numeric abbreviations

2.8 (2019-09-09)
-Added zhCN and zhTW localizations (courtesy of EKE00372 and HopeASD)

2.7 (2019-09-08)
-Fixed Localization loader not loading the default locale for some people

2.6 (2019-09-08)
-Added frFR localization (courtesy of Pgmbru)

2.5 (2019-09-06)
-GameTooltip health text is now offloaded to the same on-use generation code that TargetFrame uses

2.4 (2019-09-05) APIVersion: 3.2
-Fixed TargetFrame text not checking options on creation
-Added health text to the GameTooltip's StatusBar
-"Show Tooltip Info" in options has been renamed "Show Tooltip Feedback" to avoid ambiguity with the new health text
-Added API version info to API
Note: APIVersion is noted in this log for continuity, however it's only available starting now
-Added RealMobHealth.OverrideOption() and RealMobHealth.UITweaksSetEnabled() to API (See APIDoc.txt)

2.3 (2019-08-11) APIVersion: 3.1
-Improved UITweaks' integration with layout addons
-Tooltip lines have been added to the localization table
-Tooltip now shows if a creature's health is overridden
-Added RealMobHealth.HasHealthOverride() to API (See APIDoc.txt)

2.2 (2019-08-09)
-Fixed newly created nameplates not checking options

2.1 (2019-08-08)
-Implemented GetNormalizedRealmName() fallback if UnitFullName("player") fails to return realm name
-Fixed stack overflow in UITweaks

2.0 (2019-07-14) APIVersion: 3.0
-Complete restructure
-Supporting code is split into different modules
-Peer system broadcasts discovered health values and makes queries through the AddOn comm channels
-Health recording can now happen when targeting a corpse after witnessing a fight
-New cache timeout system purges damage data from mobs that have not been seen in a while
-Cache timeout varies based on what data exists for the mob and if the addon is aware the mob is dead
-BlizzardUI Tweaks is reintegrated to streamline the new options system
-Lots of API additions/tweaks/changes (See APIDoc.txt)
-Callbacks are now handled by the new event system
-RealMobHealth.GetUnitHealth() speculative mode is now force-enabled. The argument to control it has been removed.

1.1 (2019-06-05) APIVersion: 2.0
-Streamlined the core code
-Fixed issue with Shaman totems getting recorded
-World/Raid bosses are now supported
-Damage reflection is now properly tallied
-More API functions (See APIDoc.txt)
-RealMobHealth.GetHealth() had been renamed RealMobHealth.GetUnitHealth()
-RealMobHealth.GetUnitHealth() now falls back to native values if not enough data present
-GameTooltip hook now only runs if the unit is attackable

1.0 (2019-05-19) APIVersion: 1.0
-Classic release
-Records damage taken of nearby mobs from the CombatLog
-Obtains mob level using mouseover/target/partytarget/raidtarget and if enabled, nameplates
-TargetFrame and Nameplates show text values for health, TargetFrame also shows mana/rage/energy
-Gametooltip shows which mobs have had their health recorded
Post A Reply Comment Options
Unread 09-06-19, 06:08 PM  
Rayvor
A Kobold Labourer

Forum posts: 0
File comments: 2
Uploads: 0
Hi. I've written simple plugin for ElvUI which show HP using RealMobHealth. Check here https://www.tukui.org/classic-addons.php?id=19
Report comment to moderator  
Reply With Quote
Unread 09-07-19, 01:31 AM  
Sabre142
A Kobold Labourer

Forum posts: 0
File comments: 1
Uploads: 0
Taint log errors

I get some taint log errors when using this mod. Log: https://pastebin.com/raw/ti96QV17
Report comment to moderator  
Reply With Quote
Unread 09-08-19, 04:38 AM  
SDPhantom
A Pyroguard Emberseer
 
SDPhantom's Avatar
AddOn Author - Click to view AddOns

Forum posts: 2326
File comments: 132
Uploads: 38
Re: Taint log errors

Originally Posted by Sabre142
I get some taint log errors when using this mod. Log: https://pastebin.com/raw/ti96QV17
Long story short, this is a long-standing Blizzard bug. Inspecting the execution paths, none of them have accessed the global it's complaining about at the time the entry is generated.

Blizzard's taint system has been hopelessly bugged ever since inception with issues between party/raid frames not updating correctly if the roster changes while in combat to many secure commands throwing protected action errors if any addon registers a slash command. The dropdown menu system and even the options panels have serious issues with the taint system as well.
__________________
WoWInterface AddOns
"All I want is a pretty girl, a decent meal, and the right to shoot lightning at fools."
-Anders (Dragon Age: Origins - Awakening)
Report comment to moderator  
Reply With Quote
Unread 09-08-19, 10:02 AM  
bmy
A Kobold Labourer

Forum posts: 0
File comments: 4
Uploads: 0
For Elder and Giant Ashenvale Bears, the health added by https://classic.wowhead.com/spell=41...l-of-fortitude counts toward their recorded health. It can proc more than once a fight too, so you quickly get some very inflated base health values
Report comment to moderator  
Reply With Quote
Unread 09-08-19, 02:31 PM  
SDPhantom
A Pyroguard Emberseer
 
SDPhantom's Avatar
AddOn Author - Click to view AddOns

Forum posts: 2326
File comments: 132
Uploads: 38
Originally Posted by bmy
For Elder and Giant Ashenvale Bears, the health added by https://classic.wowhead.com/spell=41...l-of-fortitude counts toward their recorded health. It can proc more than once a fight too, so you quickly get some very inflated base health values
Not sure what I can do about that one. I've been trying to figure out how to deal with normal inflated numbers due to Blizzard bugs.
Here's a pastebin of a custom OverrideData.lua using values someone posted earlier. Some weird things may happen concerning elites and bosses. I haven't been able to test any of it yet.
__________________
WoWInterface AddOns
"All I want is a pretty girl, a decent meal, and the right to shoot lightning at fools."
-Anders (Dragon Age: Origins - Awakening)
Last edited by SDPhantom : 09-08-19 at 02:39 PM.
Report comment to moderator  
Reply With Quote
Unread 09-08-19, 03:07 PM  
SDPhantom
A Pyroguard Emberseer
 
SDPhantom's Avatar
AddOn Author - Click to view AddOns

Forum posts: 2326
File comments: 132
Uploads: 38
Re: Compatibility with improvedunitframes

Originally Posted by rippywow
Any way to make this compatible with improvedunitframes? I've been struggling for a long time trying to make the two work. It works with improvedunitframes disabled, but with it enabled it goes back to 100/100 for recorded mobs.
UnitFramesImproved is working fine on my end. Is this the addon you're referring to?



Originally Posted by rippywow
Alternatively is there some way I can contact you on discord or something?
Details are at the bottom of the file description.
__________________
WoWInterface AddOns
"All I want is a pretty girl, a decent meal, and the right to shoot lightning at fools."
-Anders (Dragon Age: Origins - Awakening)
Report comment to moderator  
Reply With Quote
Unread 09-08-19, 09:51 PM  
successfullyfox
A Kobold Labourer

Forum posts: 0
File comments: 1
Uploads: 0
I dont know where to report error massage so I post it here

Here is my error massage

Date: 2019-09-09 12:46:17
ID: 1
Error occured in: Global
Count: 1
Message: ..\AddOns\RealMobHealth\Options.lua line 108:
attempt to index field 'Localization' (a nil value)
Debug:
RealMobHealth\Options.lua:108: CreateOptionsButton()
RealMobHealth\Options.lua:123: in main chunk
Locals:
parent = <unnamed> {
0 = <userdata>
cancel = <function> defined @Interface\FrameXML\InterfaceOptionsFrame.lua:625
name = "RealMobHealth"
refresh = <function> defined @Interface\FrameXML\InterfaceOptionsFrame.lua:627
okay = <function> defined @Interface\FrameXML\InterfaceOptionsFrame.lua:624
default = <function> defined @Interface\FrameXML\InterfaceOptionsFrame.lua:626
}
key = "ShowStatusBarTextAdditions"
button = <unnamed> {
0 = <userdata>
text = TopText {
}
}
(*temporary) = <function> defined =[C]:-1
(*temporary) = nil
(*temporary) = "TOPLEFT"
(*temporary) = 32
(*temporary) = -48
(*temporary) = <userdata>
(*temporary) = "text"
(*temporary) = "attempt to index field 'Localization' (a nil value)"
OptionsButtons = <table> {
}
Panel = <unnamed> {
0 = <userdata>
cancel = <function> defined @Interface\FrameXML\InterfaceOptionsFrame.lua:625
name = "RealMobHealth"
refresh = <function> defined @Interface\FrameXML\InterfaceOptionsFrame.lua:627
okay = <function> defined @Interface\FrameXML\InterfaceOptionsFrame.lua:624
default = <function> defined @Interface\FrameXML\InterfaceOptionsFrame.lua:626
}
AddOn = <table> {
WipePeerData = <function> defined @Interface\AddOns\RealMobHealth\Core.lua:382
table_ifind = <function> defined @Interface\AddOns\RealMobHealth\SharedFuncs.lua:31
GetUnitCreatureID = <function> defined @Interface\AddOns\RealMobHealth\SharedFuncs.lua:99
GetUnitCreatureKey = <function> defined @Interface\AddOns\RealMobHealth\SharedFuncs.lua:101
GetUnitHealth = <function> defined @Interface\AddOns\RealMobHealth\Core.lua:319
UnitHasHealthData = <function> defined @Interface\AddOns\RealMobHealth\Core.lua:369
API = <table> {
}
ClearTimer = <function> defined @Interface\AddOns\RealMobHealth\Events.lua:145
IsUnitMob = <function> defined @Interface\AddOns\RealMobHealth\SharedFuncs.lua:86
HealthOverrides = <table> {
}
AddHealthOverride = <function> defined @Interface\AddOns\RealMobHealth\Overrides.lua:25
BroadcastMessage = <function> defined @Interface\AddOns\RealMobHealth\Comms.lua:39
IsMobGUID = <function> defined @Interface\AddOns\RealMobHealth\SharedFuncs.lua:80
IsBlacklistedCreatureKey = <function> defined @Interface\AddOns\RealMobHealth\Blacklist.lua:40
IsBlacklistedGUID = <function> defined @Interface\AddOns\RealMobHealth\Blacklist.lua:45
FireAddOnEvent = <function> defined @Interface\AddOns\RealMobHealth\Events.lua:124
UnregisterAddOnEvent = <function> defined @Interface\AddOns\RealMobHealth\Events.lua:111
GetCreatureIDFromKey = <function> defined @Interface\AddOns\RealMobHealth\SharedFuncs.lua:94
SendMessage = <function> defined @Interface\AddOns\RealMobHealth\Comms.lua:38
table_find = <function> defined @Interface\AddOns\RealMobHealth\SharedFuncs.lua:32
DeleteUnitHealthData = <function> defined @Interface\AddOns\RealMobHealth\Core.lua:355
CreatureOverrides = <table> {
}
Options = <table> {
}
IsBlacklistedCreatureID = <function> defined @Interface\AddOns\RealMobHealth\Blacklist.lua:35
WipeHealthData = <function> defined @Interface\AddOns\RealMobHealth\Core.lua:374
GetCreatureIDFromGUID = <function> defined @Interface\AddOns\RealMobHealth\SharedFuncs.lua:88
HasHealthOverride = <function> defined @Interface\AddOns\RealMobHealth\Overrides.lua:35
RegisterGameEvent = <function> defined @Interface\AddOns\RealMobHealth\Events.lua:73
UnregisterGameEvent = <function> defined @Interface\AddOns\RealMobHealth\Events.lua:85
ArgumentCheck = <function> defined @Interface\AddOns\RealMobHealth\SharedFuncs.lua:38
IsBlacklistedUnit = <function> defined @Interface\AddOns\RealMobHealth\Blacklist.lua:51
SetTimerInterval = <function> defined @Interface\AddOns\RealMobHealth\Events.lua:138
RegisterAddOnEvent = <function> defined @Interface\AddOns\RealMobHealth\Events.lua:101
BlacklistCreatureID = <function> defined @Interface\AddOns\RealMobHealth\Blacklist.lua:27
}
OnEnter = <function> defined @Interface\AddOns\RealMobHealth\Options.lua:89
OnClick = <function> defined @Interface\AddOns\RealMobHealth\Options.lua:83

AddOns:
Swatter, v8.2.6377 (SwimmingSeadragon)
AdvancedInterfaceOptions, v1.3.2
AtlasLootClassic, vv1.1.9-beta
AucAdvanced, v8.2.6385 (SwimmingSeadragon)
AucFilterBasic, v8.2.6364 (SwimmingSeadragon)
AucStatHistogram, v8.2.6366 (SwimmingSeadragon)
AucStatiLevel, v8.2.6370 (SwimmingSeadragon)
AucStatPurchased, v8.2.6367 (SwimmingSeadragon)
AucStatSimple, v8.2.6368 (SwimmingSeadragon)
AucStatStdDev, v8.2.6369 (SwimmingSeadragon)
AucUtilFixAH, v8.2.6371 (SwimmingSeadragon)
BagBrother, v
Bagnon, v8.2.9
BeanCounter, v8.2.6381 (SwimmingSeadragon)
ClassicAuraDurations, v
ClassicCastbars, vv1.0.4
ClassicCastbarsOptions, v
ClassicCodex, v1.2.1
ClassicSpellActivations, v
ClassicThreatMeter, v1.06
DBMCore, v1.13.7
DBMDefaultSkin, v
DBMStatusBarTimers, v
Details, v
DetailsTinyThreat, v
ExtendedCharacterStats, v1.2
GTFO, v4.49.2
Immersion, v1.2.0
KuiMedia, v
KuiNameplates, v
RealMobHealth, v2.6
SlideBar, v8.2.6375 (SwimmingSeadragon)
Stubby, v8.2.6376 (SwimmingSeadragon)
BlizRuntimeLib_koKR v1.13.2.11302 <none>
(ck=432)

hope this help debugging
Report comment to moderator  
Reply With Quote
Unread 09-08-19, 10:33 PM  
SDPhantom
A Pyroguard Emberseer
 
SDPhantom's Avatar
AddOn Author - Click to view AddOns

Forum posts: 2326
File comments: 132
Uploads: 38
Re: I dont know where to report error massage so I post it here

Should be fixed now as soon as approval goes through.
__________________
WoWInterface AddOns
"All I want is a pretty girl, a decent meal, and the right to shoot lightning at fools."
-Anders (Dragon Age: Origins - Awakening)
Report comment to moderator  
Reply With Quote
Unread 09-09-19, 02:43 AM  
DogmaTX
A Kobold Labourer

Forum posts: 0
File comments: 3
Uploads: 0
Message: Couldn't open Interface\AddOns\BetterVendorPrice\locale\locale.xml
Time: Mon Sep 9 11:41:51 2019
Count: 3
Report comment to moderator  
Reply With Quote
Unread 09-09-19, 04:33 AM  
SDPhantom
A Pyroguard Emberseer
 
SDPhantom's Avatar
AddOn Author - Click to view AddOns

Forum posts: 2326
File comments: 132
Uploads: 38
Originally Posted by DogmaTX
Message: Couldn't open Interface\AddOns\BetterVendorPrice\locale\locale.xml
Time: Mon Sep 9 11:41:51 2019
Count: 3
This isn't BetterVendorPrice.
__________________
WoWInterface AddOns
"All I want is a pretty girl, a decent meal, and the right to shoot lightning at fools."
-Anders (Dragon Age: Origins - Awakening)
Report comment to moderator  
Reply With Quote
Unread 09-09-19, 06:31 AM  
DogmaTX
A Kobold Labourer

Forum posts: 0
File comments: 3
Uploads: 0
Originally Posted by SDPhantom
Originally Posted by DogmaTX
Message: Couldn't open Interface\AddOns\BetterVendorPrice\locale\locale.xml
Time: Mon Sep 9 11:41:51 2019
Count: 3
This isn't BetterVendorPrice.
Sorry, confused in tabs.
Report comment to moderator  
Reply With Quote
Unread 09-09-19, 12:33 PM  
ObscureScience
A Deviate Faerie Dragon

Forum posts: 10
File comments: 81
Uploads: 0
Got this error when I dinged today, was in a group.

Code:
1x [ADDON_ACTION_BLOCKED] AddOn 'RealMobHealth' tried to call the protected function 'PartyMemberFrame1:Hide()'.
!BugGrabber\BugGrabber.lua:519: in function <!BugGrabber\BugGrabber.lua:519>
[C]: in function `Hide'
FrameXML\PartyMemberFrame.lua:143: in function `PartyMemberFrame_UpdateMember'
FrameXML\PartyMemberFrame.lua:337: in function `PartyMemberFrame_OnEvent'
[string "*:OnEvent"]:1: in function <[string "*:OnEvent"]:1>

Locals:
InCombatSkipped
Report comment to moderator  
Reply With Quote
Unread 09-09-19, 01:14 PM  
SDPhantom
A Pyroguard Emberseer
 
SDPhantom's Avatar
AddOn Author - Click to view AddOns

Forum posts: 2326
File comments: 132
Uploads: 38
Originally Posted by ObscureScience
Got this error when I dinged today, was in a group.

Code:
1x [ADDON_ACTION_BLOCKED] AddOn 'RealMobHealth' tried to call the protected function 'PartyMemberFrame1:Hide()'.
!BugGrabber\BugGrabber.lua:519: in function <!BugGrabber\BugGrabber.lua:519>
[C]: in function `Hide'
FrameXML\PartyMemberFrame.lua:143: in function `PartyMemberFrame_UpdateMember'
FrameXML\PartyMemberFrame.lua:337: in function `PartyMemberFrame_OnEvent'
[string "*:OnEvent"]:1: in function <[string "*:OnEvent"]:1>

Locals:
InCombatSkipped
It's a Blizzard taint system bug. They happen a lot when group members change while in combat among other places in the UI.
It's complaining about a function being tainted that it hasn't even accessed yet and should be safe to modify.
__________________
WoWInterface AddOns
"All I want is a pretty girl, a decent meal, and the right to shoot lightning at fools."
-Anders (Dragon Age: Origins - Awakening)
Last edited by SDPhantom : 09-09-19 at 01:19 PM.
Report comment to moderator  
Reply With Quote
Unread 09-10-19, 12:33 PM  
Firedancer
An Aku'mai Servant
 
Firedancer's Avatar
AddOn Author - Click to view AddOns

Forum posts: 35
File comments: 59
Uploads: 2
Would it be possible to get a sub-option in
Interface Options > AddOns > RealMobHealth > Show Tooltip Info
that only removes the green 'health recorded' info, leaving the red 'health missing' and blue 'override' texts intact? If not, that's fine - I can continue to comment it out every time I update. I completely understand not wanting to add too many options to personal projects.
__________________
(\ /)
( . .) <( if you say 'plz' because it's shorter than 'please' then I'll say 'no' because it's shorter than 'yes' )
c('')('')
Report comment to moderator  
Reply With Quote
Unread 09-11-19, 12:31 AM  
Rayvor
A Kobold Labourer

Forum posts: 0
File comments: 2
Uploads: 0
Originally Posted by Rayvor
Hi. I've written simple plugin for ElvUI which show HP using RealMobHealth. Check here https://www.tukui.org/classic-addons.php?id=19
My plugin has been removed by ElvUI dev team. New version ElvUI 1.0.8 gets support RealMobHealth by default.
Report comment to moderator  
Reply With Quote
Post A Reply



Category Jump: