Download
(14Kb)
Download
Updated: 01-12-11 07:55 PM
Patch for:
Classic ThreatMeter.
Pictures
File Info
Updated:01-12-11 07:55 PM
Created:unknown
Downloads:3,638
Favorites:15
MD5:

Accuracy fix & Threat to gain/drop aggro

Version: 1.5.7
by: hypehuman [More]

NOTE: This addon has been modified after the original author's version. Scroll down to see details on the changes.

Allows you to see the threat bars Blizzard had originally implemented in WoW, but disabled and removed with a patch down the road.

Uses:
As DPS you can use this to see your threat on the current DPS target.
As a healer you can see how much your heals are adding to your threat.
As a Tank you can keep accurate watch on your aggro and the next 4 players.
As a pet class (hunter, warlock, frost mage, etc.), you can see how your threat compares to that of your pet.

There is a second Threat Meter that only shows when you have a Focus Target.
As a tank this is useful so you can keep tabs on multiable mobs.

Seven Modes of Threat Display:
Easy Threat
Percentage
Actual Threat (Short)
Actual Threat (Long)
Threat Per Second
Threat Per Minute
Threat to Gain or Lose Aggro


Installation is simple.
Extract into your Interface/Addons directory and load up WoW and start Dungeon Running and Raiding.



Version 1.5.6a - 3.3.5
+ToC Update

Version 1.5.6 - 3.0.3
+Updated display to handle 10 Players
+Fixed display issue if player selects target before combat is started
+Fixed Color is nil bug
+Updated internal code


The following are the changes by Coani and Hypehuman:

This patch contains three modifications from Xabora's version:

  • It's is 4.0-ready! (thanks to Coani )
  • Added a seventh display option: "Threat to Gain or Lose". For the player who has aggro, this displays the amount of threat they would need to lose in order to drop aggro. For all other players, it displays the amount of threat they would need to gain in order to get aggro. Note that the amount CAN become negative, and that is not a bug. This happens if the non-tank is far away from the mob and very close to pulling aggro, then moves in range. This will not taunt the mob, but any amount of aggro gain thereafter (or aggro loss from the tank) will cause aggro to switch.
  • I fixed the percent threat values to make them more accurate. I think that's because one of the return values from UnitDetailedThreatSituation gets floored before it is returned. I fixed the percentage by ignoring that variable, and instead dividing the player's total threat by the tank's total threat. Note that in situations where a aggro is being held by a non-group-member, this cannot be fixed, and the less accurate default values are used.

1.5.6.2: modified from version 1.5.6.2. The more accurate scaledPercent is no longer used in my calculations, but I left it in there anyway, just in case it needs to be used elsewhere.

1.0: modified from 1.5.2
Post A Reply Comment Options
Unread 12-09-13, 07:29 PM  
[Star]
A Kobold Labourer
AddOn Author - Click to view AddOns

Forum posts: 0
File comments: 2
Uploads: 1
To fix for MoP just replace both GetNumRaidMembers and GetNumPartyMembers with GetNumGroupMembers

specifically, this section

local threatTable = self.threatTable;
threatTable.n = 0;
if ( GetNumGroupMembers() > 0 ) then
for i=1, MAX_RAID_MEMBERS do
ThreatMeter_InsertTarget(threatTable, "raid"..i, unit);
ThreatMeter_InsertTarget(threatTable, "raidpet"..i, unit);
end
elseif ( GetNumGroupMembers() > 0 ) then
for i=1, MAX_PARTY_MEMBERS do
ThreatMeter_InsertTarget(threatTable, "party"..i, unit);
ThreatMeter_InsertTarget(threatTable, "partypet"..i, unit);
end
ThreatMeter_InsertTarget(threatTable, "player", unit);
ThreatMeter_InsertTarget(threatTable, "pet", unit);
else
ThreatMeter_InsertTarget(threatTable, "player", unit);
ThreatMeter_InsertTarget(threatTable, "pet", unit);
end


Seems to work, though I have a feeling these sections can be combined more neatly.
Last edited by [Star] : 12-09-13 at 07:31 PM.
Report comment to moderator  
Reply With Quote
Unread 11-24-12, 03:41 AM  
merola
A Kobold Labourer

Forum posts: 0
File comments: 12
Uploads: 0
Hi!
I LOVE this threatmeter and I'd like to know if there is any chance of an update for MoP?
Thx in advance, R
Report comment to moderator  
Reply With Quote
Unread 03-03-12, 06:58 AM  
elsinnombre
A Kobold Labourer

Forum posts: 0
File comments: 11
Uploads: 0
Scaling

If you are like me and simply love THIS ThreatMeter, but play with UI Scale at its minimum, here is a quick tweak so the meter isn't so small:

Roughly at line 268 find this, and add the Green line. Obviously you can change the red part to any scaling you want.

Code:
 function ThreatMeter_OnLoad(self, unit)
	--MAX_BARS = 10;
	self:SetScale(1.40);
	self:RegisterForDrag("LeftButton");
	self.UpdateTooltip = ThreatMeter_UpdateTooltip;
Last edited by elsinnombre : 03-03-12 at 06:59 AM.
Report comment to moderator  
Reply With Quote
Unread 02-11-12, 09:31 AM  
Xylan Trueheart
Premium Member
Premium Member

Forum posts: 64
File comments: 166
Uploads: 0
Taint

Saw this in my taint log

2/10 23:23:05.937 Global variable COMBAT_TEXT_X_SCALE tainted by Blizz_ThreatMeter - Interface\AddOns\Blizzard_CombatText\Blizzard_CombatText.lua:571 CombatText_UpdateDisplayedMessages()
2/10 23:23:05.937 Interface\FrameXML\InterfaceOptionsPanels.lua:1655
2/10 23:23:05.937 Execution tainted by Blizz_ThreatMeter while reading COMBAT_TEXT_X_SCALE - Interface\AddOns\Blizzard_CombatText\Blizzard_CombatText.lua:395
2/10 23:23:05.937 An action was blocked in combat because of taint from Blizz_ThreatMeter - CompactRaidFrame1:Show()
2/10 23:23:05.937 Interface\FrameXML\CompactUnitFrame.lua:264 CompactUnitFrame_UpateVisible()
2/10 23:23:05.937 Interface\FrameXML\CompactUnitFrame.lua:224 CompactUnitFrame_UpdateAll()
2/10 23:23:05.937 Interface\FrameXML\CompactUnitFrame.lua:105
2/10 23:23:05.937 An action was blocked in combat because of taint from Blizz_ThreatMeter - CompactRaidFrame1:Show()
2/10 23:23:05.937 Interface\FrameXML\CompactUnitFrame.lua:264 CompactUnitFrame_UpateVisible()
2/10 23:23:05.937 Interface\FrameXML\CompactUnitFrame.lua:224 CompactUnitFrame_UpdateAll()
2/10 23:23:05.937 Interface\FrameXML\CompactUnitFrame.lua:105
2/10 23:23:05.953 An action was blocked in combat because of taint from Blizz_ThreatMeter - CompactRaidFrame1:Show()
2/10 23:23:05.953 Interface\FrameXML\CompactUnitFrame.lua:264 CompactUnitFrame_UpateVisible()
2/10 23:23:05.953 Interface\FrameXML\CompactUnitFrame.lua:224 CompactUnitFrame_UpdateAll()
2/10 23:23:05.953 Interface\FrameXML\CompactUnitFrame.lua:105
2/10 23:51:57.203 An action was blocked in combat because of taint from Blizz_ThreatMeter - CompactRaidFrame3:SetAttribute()
2/10 23:51:57.203 Interface\FrameXML\CompactUnitFrame.lua:257 CompactUnitFrame_UpdateInVehicle()
2/10 23:51:57.203 Interface\FrameXML\CompactUnitFrame.lua:223 CompactUnitFrame_UpdateAll()
2/10 23:51:57.203 Interface\FrameXML\CompactUnitFrame.lua:105
2/10 23:51:57.203 An action was blocked in combat because of taint from Blizz_ThreatMeter - CompactRaidFrame3:Show()
2/10 23:51:57.203 Interface\FrameXML\CompactUnitFrame.lua:264 CompactUnitFrame_UpateVisible()
2/10 23:51:57.203 Interface\FrameXML\CompactUnitFrame.lua:224 CompactUnitFrame_UpdateAll()
2/10 23:51:57.203 Interface\FrameXML\CompactUnitFrame.lua:105
Report comment to moderator  
Reply With Quote
Unread 02-11-11, 06:17 PM  
[Star]
A Kobold Labourer
AddOn Author - Click to view AddOns

Forum posts: 0
File comments: 2
Uploads: 1
Thanks so much for this I've been using this threatmeter since WotLK beta. I wonder why blizzard scrapped it and didn't at least make it an interface option. (like Simple or Advanced threat display)
Report comment to moderator  
Reply With Quote
Post A Reply



Category Jump: