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,255
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 08-11-19, 12:17 AM  
SDPhantom
A Pyroguard Emberseer
 
SDPhantom's Avatar
AddOn Author - Click to view AddOns

Forum posts: 2323
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.
I'm guessing you mean UnitFramesImproved? Looking at their code, there's a few major problems ranging from incorrect events being registered to performance degradation over time due to indefinite hook-stacking.

Back to the topic at hand. I have a few ideas, but I need time to test out my options.



Originally Posted by rippywow
Alternatively is there some way I can contact you on discord or something?
I don't have a personal server nor am I part of one that's open to the public. I check this site somewhat frequently so here is the best place to contact me for the time being.
__________________
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 08-10-19, 11:19 PM  
rippywow
A Defias Bandit

Forum posts: 2
File comments: 2
Uploads: 0
nevermind i fixed it. ufi was trying hook the same thing already hooked from realmobhealth so i disabled that line and now it works flawlessly.

(line 75)
Last edited by rippywow : 08-10-19 at 11:19 PM.
Report comment to moderator  
Reply With Quote
Unread 08-10-19, 10:52 PM  
rippywow
A Defias Bandit

Forum posts: 2
File comments: 2
Uploads: 0
Compatibility with improvedunitframes

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.
Alternatively is there some way I can contact you on discord or something?
Report comment to moderator  
Reply With Quote
Unread 08-10-19, 08:37 PM  
SDPhantom
A Pyroguard Emberseer
 
SDPhantom's Avatar
AddOn Author - Click to view AddOns

Forum posts: 2323
File comments: 132
Uploads: 38
Re: Re: Data

Here's a sample OverrideData.lua file with all the preloaded values. All entries greater than level 60 are marked as raid bosses and should be picked up by the addon.

The addon doesn't support seeding data, these literally override anything the addon does and presents these as the real values.
__________________
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 : 08-10-19 at 08:39 PM.
Report comment to moderator  
Reply With Quote
Unread 08-10-19, 07:00 AM  
yshdmt
A Defias Bandit

Forum posts: 2
File comments: 8
Uploads: 0
Re: Re: Data

Originally Posted by SDPhantom
Originally Posted by yshdmt
Some private server data. Better start than 100 HP on every unknown mob
https://pastebin.com/WswqZDWj
I'm seeing a lot of level 63 entries along with a few 61 and 62. Raid bosses have their level omitted from the CreatureKey since the client never receives them and the other entries lead me to believe these are difficulty-adjusted levels instead of the base ones given by the client. This uncertainty renders the list unusable. Sorry.
Level ?? will still show 100. So bosses, even if they are in the list will not be shown. You can filter out those ones if you'd like to use the list. Source is CMaNGOS Classic DB. I did some tests in the starting zones + Duskwood and that data seems to be correct.
Report comment to moderator  
Reply With Quote
Unread 08-10-19, 06:01 AM  
SDPhantom
A Pyroguard Emberseer
 
SDPhantom's Avatar
AddOn Author - Click to view AddOns

Forum posts: 2323
File comments: 132
Uploads: 38
Re: Data

Originally Posted by yshdmt
Some private server data. Better start than 100 HP on every unknown mob
https://pastebin.com/WswqZDWj
I'm seeing a lot of level 63 entries along with a few 61 and 62. Raid bosses have their level omitted from the CreatureKey since the client never receives them and the other entries lead me to believe these are difficulty-adjusted levels instead of the base ones given by the client. This uncertainty renders the list unusable. Sorry.
__________________
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 : 08-10-19 at 06:01 AM.
Report comment to moderator  
Reply With Quote
Unread 08-09-19, 09:00 PM  
yshdmt
A Defias Bandit

Forum posts: 2
File comments: 8
Uploads: 0
Data

Some private server data. Better start than 100 HP on every unknown mob
https://pastebin.com/WswqZDWj
Last edited by yshdmt : 08-09-19 at 09:40 PM.
Report comment to moderator  
Reply With Quote
Unread 08-09-19, 11:55 AM  
SDPhantom
A Pyroguard Emberseer
 
SDPhantom's Avatar
AddOn Author - Click to view AddOns

Forum posts: 2323
File comments: 132
Uploads: 38
Originally Posted by Lillpapps
The option "Show Nameplate Health" does not seem to work correctly. It sporadically shows health anyway and it always shows health if you relog / reload.
Looks like newly created nameplates were being bad and not checking options. This is fixed in version 2.2

Edit: If you're seeing a debug message about NameplateOptionUpdate, redownload the addon.
__________________
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 : 08-09-19 at 12:03 PM.
Report comment to moderator  
Reply With Quote
Unread 08-08-19, 11:22 PM  
Lillpapps
A Kobold Labourer

Forum posts: 0
File comments: 1
Uploads: 0
The option "Show Nameplate Health" does not seem to work correctly. It sporadically shows health anyway and it always shows health if you relog / reload.
Report comment to moderator  
Reply With Quote
Unread 08-08-19, 03:43 PM  
SDPhantom
A Pyroguard Emberseer
 
SDPhantom's Avatar
AddOn Author - Click to view AddOns

Forum posts: 2323
File comments: 132
Uploads: 38
Version 2.1 adds a fallback for UnitFullName() in case it doesn't return the server name. It still is functioning correctly in my testing, but it's a safety precaution and as implemented, shouldn't affect performance in any meaningful way.

I also fixed a looping issue (stack overflow) caused by a lingering comment tag I forgot to remove when checking for global leaks.
__________________
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 08-05-19, 12:22 AM  
SDPhantom
A Pyroguard Emberseer
 
SDPhantom's Avatar
AddOn Author - Click to view AddOns

Forum posts: 2323
File comments: 132
Uploads: 38
Re: ElvUI

Originally Posted by Sammis
Is this working with ElvUI?
I didn't include specific support for other UIs, so it's up to how they work with the TargetFrame. This is made as a library with minimal code to hook into the default UI if anyone (like me) runs with just that.
__________________
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 08-03-19, 11:26 PM  
Sammis
A Kobold Labourer

Forum posts: 1
File comments: 3
Uploads: 0
ElvUI

Is this working with ElvUI?
Report comment to moderator  
Reply With Quote
Unread 07-20-19, 09:40 PM  
drsnuggles
A Kobold Labourer

Forum posts: 0
File comments: 8
Uploads: 0
Re: Re: Lua error in 2.0

Originally Posted by SDPhantom
Originally Posted by drsnuggles
2x RealMobHealth\Core.lua:205: bad argument #3 to 'string_format' (string expected, got nil)
RealMobHealth\Core.lua:205: in function <RealMobHealth\Core.lua:203>
(tail call): ?
[C]: ?
RealMobHealth\Events.lua:49: in function <RealMobHealth\Events.lua:47>
RealMobHealth\Events.lua:62: in function <RealMobHealth\Events.lua:53>
RealMobHealth\Events.lua:165: in function <RealMobHealth\Events.lua:162>

This is in the classic client
I'll have to wait for the stress test to figure out what Blizzard changed in the latest build since beta ended a week ago. The addon should otherwise run normally, the only difference being the comm system may start responding to server echos. There are other checks that may negate this entirely due to how the whole thing is designed.

On the more technical side of things, it's from UnitFullName() not sending the server name for "player" when it used to. Otherwise, it's no different from UnitName(). There is another way of getting the normalized server name (formatted as seen in player names) using GetNormalizedRealmName(). Either way, I had hoped in saving a little CPU time in getting all I need in one function call instead of two.
Ah alright, then I don't expect that error to pop up on the stress test, might just be a bug with running it on a sandbox server (and hence not really useful).
Report comment to moderator  
Reply With Quote
Unread 07-19-19, 04:20 PM  
SDPhantom
A Pyroguard Emberseer
 
SDPhantom's Avatar
AddOn Author - Click to view AddOns

Forum posts: 2323
File comments: 132
Uploads: 38
Re: Lua error in 2.0

Originally Posted by drsnuggles
2x RealMobHealth\Core.lua:205: bad argument #3 to 'string_format' (string expected, got nil)
RealMobHealth\Core.lua:205: in function <RealMobHealth\Core.lua:203>
(tail call): ?
[C]: ?
RealMobHealth\Events.lua:49: in function <RealMobHealth\Events.lua:47>
RealMobHealth\Events.lua:62: in function <RealMobHealth\Events.lua:53>
RealMobHealth\Events.lua:165: in function <RealMobHealth\Events.lua:162>

This is in the classic client
I'll have to wait for the stress test to figure out what Blizzard changed in the latest build since beta ended a week ago. The addon should otherwise run normally, the only difference being the comm system may start responding to server echos. There are other checks that may negate this entirely due to how the whole thing is designed.

On the more technical side of things, it's from UnitFullName() not sending the server name for "player" when it used to. Otherwise, it's no different from UnitName(). There is another way of getting the normalized server name (formatted as seen in player names) using GetNormalizedRealmName(). Either way, I had hoped in saving a little CPU time in getting all I need in one function call instead of two.
__________________
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 : 07-19-19 at 04:30 PM.
Report comment to moderator  
Reply With Quote
Unread 07-18-19, 10:56 PM  
drsnuggles
A Kobold Labourer

Forum posts: 0
File comments: 8
Uploads: 0
Lua error in 2.0

2x RealMobHealth\Core.lua:205: bad argument #3 to 'string_format' (string expected, got nil)
RealMobHealth\Core.lua:205: in function <RealMobHealth\Core.lua:203>
(tail call): ?
[C]: ?
RealMobHealth\Events.lua:49: in function <RealMobHealth\Events.lua:47>
RealMobHealth\Events.lua:62: in function <RealMobHealth\Events.lua:53>
RealMobHealth\Events.lua:165: in function <RealMobHealth\Events.lua:162>

This is in the classic client
Report comment to moderator  
Reply With Quote
Post A Reply



Category Jump: