Minion Beta! - Help us test our new AddOn updater. Get it now!
Download
(30 Kb)
Download
Updated: 09-11-13 08:49 AM
Pictures
File Info
Compatibility:
Siege of Orgrimmar (5.4)
Escalation (5.3)
Updated:09-11-13 08:49 AM
Created:11-02-10 11:45 AM
Downloads:25,134
Favorites:129
MD5:
Categories:Data Mods, Combat Mods
alDamageMeter  Popular! (More than 5000 hits)
Version: 50400.15
by: Allez [More]
alDamageMeter is a simple and lightweight damage meter addon.

Features
  • Minimalistic design
  • LDB support
  • Low Memory usage

Tracking modes:
  • damage/dps
  • healing/hps
  • absorbs
  • dispels
  • interrupts

Hints:
  • Hold shift to move
  • Right click to display addon menu
  • /dmg - show/hide addon
https://github.com/Allez/alDamageMeter/commits/master
*50400.15
- update for patch 5.4
- fix errors

*50300.14
- update for patch 5.3

*50200.14
- Updated Boss IDs
- .toc update for patch 5.2

*50100.13
- Fixed calculations when window is hidden
- Updated Boss IDs

*50001.12
- Fixed random error

*50001.11
- MoP support
- Fixed bug with color dialog
- /dmg hides/shows addon
- Changed report string: "alDamageMeter : Damage"

*40300.10
- Ingame settings in menu
- ClassColor settings
- Truncated DPS value

*40300.9
- (test) New absorb system
- Allow the bars to be created from the maximum width of the damage meter (thx memborsky)

*40300.8
- updated boss IDs

*40300.7
- patch 4.3

*40200.7
- hotfix. now working :)

*40200.6
- fixed some lua errors

*40200.5
- Fix: Some clients has a bug with guardians and totem's pets

*40200.4
- updated for patch 4.2
- updated LibBossIDs
- added option for showing only boss fights (default - off)
- added total damage tracking

*40100.4
- Update for 4.1. No new features

*40000.4
- Spell and target details in tooltip

*40000.3
- "LoadAddon" support
- option for merging healing and absorbs. It will be displayed as healing

*40000.2
- zero values no longer included in the reports
Optional Files (0)


Archived Files (15)
File Name
Version
Size
Author
Date
50300.14
30kB
Allez
09-10-13 12:23 PM
50200.14
30kB
Allez
04-03-13 11:25 AM
40300.10
28kB
Allez
03-25-12 08:36 AM
40300.9
28kB
Allez
02-26-12 11:44 PM
40300.8
28kB
Allez
12-05-11 01:20 PM
40300.7
28kB
Allez
11-30-11 12:16 PM
40200.7
28kB
Allez
09-04-11 01:11 PM
40200.6
28kB
Allez
09-03-11 01:14 PM
40200.5
28kB
Allez
08-28-11 11:47 AM
40200.4
36kB
Allez
06-29-11 03:58 PM
40100.4
33kB
Allez
04-27-11 03:11 PM
40000.4
33kB
Allez
02-10-11 11:53 PM
40000.3
33kB
Allez
11-30-10 07:34 AM
40000.2
33kB
Allez
11-17-10 01:44 AM
40000.1
33kB
Allez
11-02-10 11:45 AM


Post A Reply Comment Options
Unread 06-29-11, 11:34 AM  
cpthook
A Kobold Labourer

Forum posts: 0
File comments: 1
Uploads: 0
Fix for 4.2

I love this meter, and have updated it for 4.2, if you swap out the function for "COMBAT_LOG_EVENT_UNFILTERED in alDamageMeters.lua with this new version it will work.

Code:
local OnEvent = function(self, event, ...)
	if event == "COMBAT_LOG_EVENT_UNFILTERED" then
		local timestamp, eventType, hideCaster, sourceGUID, sourceName, sourceFlags, sourceRaidFlags, destGUID, destName, destFlags, destRaidFlags = select(1, ...)
		if band(sourceFlags, filter) == 0 and band(destFlags, filter) == 0 then return end
		if eventType=="SWING_DAMAGE" or eventType=="RANGE_DAMAGE" or eventType=="SPELL_DAMAGE" or eventType=="SPELL_PERIODIC_DAMAGE" or eventType=="DAMAGE_SHIELD" then
			local amount, _, _, _, _, absorbed = select(eventType=="SWING_DAMAGE" and 12 or 15, ...)
			local spellName = eventType=="SWING_DAMAGE" and MELEE_ATTACK or select(13, ...)
			if IsFriendlyUnit(sourceGUID) and not IsFriendlyUnit(destGUID) and combatstarted then
				if amount and amount > 0 then
					sourceGUID = owners[sourceGUID] or sourceGUID
					Add(sourceGUID, amount, DAMAGE, spellName, destName)
					if not bossname and boss.BossIDs[tonumber(destGUID:sub(9, 12), 16)] then
						bossname = destName
					elseif not mobname then
						mobname = destName
					end
				end
			end
			if IsFriendlyUnit(destGUID) then
				local shielder, shield = FindShielder(destGUID, timestamp)
				if shielder and absorbed and absorbed > 0 then
					Add(shielder, absorbed, config["Merge healing and absorbs"] and SHOW_COMBAT_HEALING or ABSORB, shield, destName)
				end
			end
		elseif eventType=="SWING_MISSED" or eventType=="RANGE_MISSED" or eventType=="SPELL_MISSED" or eventType=="SPELL_PERIODIC_MISSED" then
			local misstype, amount = select(eventType=="SWING_MISSED" and 12 or 15, ...)
			if misstype == "ABSORB" and IsFriendlyUnit(destGUID) then
				local shielder, shield = FindShielder(destGUID, timestamp)
				if shielder and amount and amount > 0 then
					Add(shielder, amount, config["Merge healing and absorbs"] and SHOW_COMBAT_HEALING or ABSORB, shield, destName)
				end
			end
		elseif eventType=="SPELL_SUMMON" then
			if owners[sourceGUID] then 
				owners[destGUID] = owners[sourceGUID]
			else
				owners[destGUID] = sourceGUID
			end
		elseif eventType=="SPELL_HEAL" or eventType=="SPELL_PERIODIC_HEAL" then
			spellId, spellName, spellSchool, amount, over, school, resist = select(12, ...)
			if IsFriendlyUnit(sourceGUID) and IsFriendlyUnit(destGUID) and combatstarted then
				over = over or 0
				if amount and amount > 0 then
					sourceGUID = owners[sourceGUID] or sourceGUID
					Add(sourceGUID, amount - over, SHOW_COMBAT_HEALING, spellName, destName)
				end
			end
		elseif eventType=="SPELL_DISPEL" then
			if IsFriendlyUnit(sourceGUID) and combatstarted then
				sourceGUID = owners[sourceGUID] or sourceGUID
				Add(sourceGUID, 1, DISPELS, "Dispel", destName)
			end
		elseif eventType=="SPELL_INTERRUPT" then
			if IsFriendlyUnit(sourceGUID) and not IsFriendlyUnit(destGUID) and combatstarted then
				sourceGUID = owners[sourceGUID] or sourceGUID
				Add(sourceGUID, 1, INTERRUPTS, "Interrupt", destName)
			end
		elseif eventType=="SPELL_AURA_APPLIED" or eventType=="SPELL_AURA_REFRESH" then
			local spellId, spellName = select(10, ...)
			sourceGUID = owners[sourceGUID] or sourceGUID
			if AbsorbSpellDuration[spellId] and IsFriendlyUnit(sourceGUID) and IsFriendlyUnit(destGUID) then
				shields[destGUID] = shields[destGUID] or {}
				shields[destGUID][spellName] = shields[destGUID][spellName] or {}
				shields[destGUID][spellName][sourceGUID] = timestamp + AbsorbSpellDuration[spellId]
			end
		elseif eventType=="SPELL_AURA_REMOVED" then
			local spellId, spellName = select(12, ...)
			sourceGUID = owners[sourceGUID] or sourceGUID
			if AbsorbSpellDuration[spellId] and IsFriendlyUnit(destGUID) then
				if shields[destGUID] and shields[destGUID][spellName] and shields[destGUID][spellName][destGUID] then
					shields[destGUID][spellName][destGUID] = timestamp + 0.1
				end
			end
		else
			return
		end
	elseif event == "ADDON_LOADED" then
		local name = ...
		if name == addon_name then
			self:UnregisterEvent(event)
			MainFrame = CreateFrame("Frame", addon_name.."Frame", UIParent)
			MainFrame:SetPoint(anchor, x, y)
			MainFrame.bg = CreateBG(MainFrame)
			MainFrame:SetMovable(true)
			MainFrame:EnableMouse(true)
			MainFrame:EnableMouseWheel(true)
			MainFrame:SetScript("OnMouseDown", function(self, button)
				if button == "LeftButton" and IsModifiedClick("SHIFT") then
					self:StartMoving()
				end
			end)
			MainFrame:SetScript("OnMouseUp", function(self, button)
				if button == "RightButton" then
					ToggleDropDownMenu(1, nil, menuFrame, 'cursor', 0, 0)
				end
				if button == "LeftButton" then
					self:StopMovingOrSizing()
				end
			end)
			MainFrame:SetScript("OnMouseWheel", OnMouseWheel)
			MainFrame:Show()
			UIDropDownMenu_Initialize(menuFrame, CreateMenu, "MENU")
			MainFrame.title = CreateFS(MainFrame)
			MainFrame.title:SetPoint("BOTTOM", MainFrame, "TOP", 0, 1)
			MainFrame.title:SetText(sMode)
			CheckRoster()
		end
	elseif event == "VARIABLES_LOADED" then
		if config["Hide title"] then MainFrame.title:Hide() end
		MainFrame:SetSize(config["Width"], height)
	elseif event == "RAID_ROSTER_UPDATE" or event == "PARTY_MEMBERS_CHANGED" or event == "PLAYER_ENTERING_WORLD" then
		CheckRoster()
	elseif event == "PLAYER_REGEN_DISABLED" then
		if not combatstarted then
			StartCombat()
		end
	elseif event == "UNIT_PET" then
		local unit = ...
		local pet = unit .. "pet"
		CheckPet(unit, pet)
	end
end
cpthook is offline Report comment to moderator  
Reply With Quote
Unread 06-29-11, 04:03 PM  
Allez
A Kobold Labourer
AddOn Author - Click to view AddOns

Forum posts: 0
File comments: 141
Uploads: 4
Updated/ thx
Allez is offline Report comment to moderator  
Reply With Quote
Unread 07-01-11, 10:39 AM  
Haleth
This Space For Rent
 
Haleth's Avatar
WoWInterface Super Moderator
AddOn Author - Click to view AddOns

Forum posts: 1171
File comments: 1130
Uploads: 30
Hey, not sure if you're aware but LoadAddOn() isn't supported again.

If you just move this:

Code:
MainFrame:SetSize(width, height)
into the ADDON_LOADED part, it'll work again.

Thanks for the update btw.
Haleth is offline Report comment to moderator  
Reply With Quote
Unread 07-03-11, 08:06 AM  
Syngian
A Kobold Labourer

Forum posts: 0
File comments: 72
Uploads: 0
Title

Hiding the title seems to cause this error:

Code:
2x alDamageMeter\alDamageMeter-40200.4.lua:466: attempt to index field "title" (a nil value)
Syngian is offline Report comment to moderator  
Reply With Quote
Unread 08-28-11, 12:50 PM  
p3lim
A Pyroguard Emberseer
 
p3lim's Avatar
AddOn Author - Click to view AddOns

Forum posts: 1295
File comments: 1181
Uploads: 25
Message: Interface\AddOns\alDamageMeter\alDamageMeter.lua:379: attempt to index local 'unit' (a nil value)
Time: 08/28/11 20:51:01
Count: 2
Stack: Interface\AddOns\alDamageMeter\alDamageMeter.lua:379: in function <Interface\AddOns\alDamageMeter\alDamageMeter.lua:376>
Interface\AddOns\alDamageMeter\alDamageMeter.lua:395: in function <Interface\AddOns\alDamageMeter\alDamageMeter.lua:393>
Interface\AddOns\alDamageMeter\alDamageMeter.lua:702: in function <Interface\AddOns\alDamageMeter\alDamageMeter.lua:676>

Locals: uGUID = "0xF530CBF700213E6F"
unit = nil
(*temporary) = <table> {
}
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = "attempt to index local 'unit' (a nil value)"
units = <table> {
-2147483648 = <table> {
}
}
displayMode = <table> {
1 = "Damage"
2 = "Healing"
3 = "Absorb"
4 = "Dispels"
5 = "Interrupts"
}
p3lim is offline Report comment to moderator  
Reply With Quote
Unread 08-29-11, 08:40 AM  
Maxen
A Deviate Faerie Dragon

Forum posts: 17
File comments: 221
Uploads: 0
I am also experiencing both issues reported below. I can leave the title on, but the other one (attempt to index local 'unit' (a nil value)) concerns me more...

I would like also to change the status bar texture, but it seems this does not like *.tga files...

Thanks !
Maxen is offline Report comment to moderator  
Reply With Quote
Unread 09-04-11, 03:06 AM  
CO_summer
A Kobold Labourer

Forum posts: 0
File comments: 5
Uploads: 0
I found a error

Code:
Message: Interface\AddOns\alDamageMeter\alDamageMeter.lua:381: attempt to index local 'unit' (a nil value)
Time: 09/04/11 16:30:56
Count: 1
Stack: Interface\AddOns\alDamageMeter\alDamageMeter.lua:381: in function <Interface\AddOns\alDamageMeter\alDamageMeter.lua:378>
Interface\AddOns\alDamageMeter\alDamageMeter.lua:397: in function <Interface\AddOns\alDamageMeter\alDamageMeter.lua:395>
Interface\AddOns\alDamageMeter\alDamageMeter.lua:704: in function <Interface\AddOns\alDamageMeter\alDamageMeter.lua:678>

Locals: uGUID = "0xF1301DB70000012F"
unit = nil
(*temporary) = <table> {
}
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = "attempt to index local 'unit' (a nil value)"
units = <table> {
 -2147483648 = <table> {
 }
 -2147483648 = <table> {
 }
 -2147483648 = <table> {
 }
 -2147483648 = <table> {
 }
 -2147483648 = <table> {
 }
}
displayMode = <table> {
 1 = "傷害"
 2 = "治療"
 3 = "吸收"
 4 = "驅散"
 5 = "中斷"
}
Last edited by CO_summer : 09-04-11 at 03:06 AM.
CO_summer is offline Report comment to moderator  
Reply With Quote
Unread 09-04-11, 03:06 AM  
CO_summer
A Kobold Labourer

Forum posts: 0
File comments: 5
Uploads: 0
Re: I found a error

Code:
Message: Interface\AddOns\alDamageMeter\alDamageMeter.lua:381: attempt to index local 'unit' (a nil value)
Time: 09/04/11 16:30:56
Count: 1
Stack: Interface\AddOns\alDamageMeter\alDamageMeter.lua:381: in function <Interface\AddOns\alDamageMeter\alDamageMeter.lua:378>
Interface\AddOns\alDamageMeter\alDamageMeter.lua:397: in function <Interface\AddOns\alDamageMeter\alDamageMeter.lua:395>
Interface\AddOns\alDamageMeter\alDamageMeter.lua:704: in function <Interface\AddOns\alDamageMeter\alDamageMeter.lua:678>

Locals: uGUID = "0xF1301DB70000012F"
unit = nil
(*temporary) = <table> {
}
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = "attempt to index local 'unit' (a nil value)"
units = <table> {
 -2147483648 = <table> {
 }
 -2147483648 = <table> {
 }
 -2147483648 = <table> {
 }
 -2147483648 = <table> {
 }
 -2147483648 = <table> {
 }
}
displayMode = <table> {
 1 = "傷害"
 2 = "治療"
 3 = "吸收"
 4 = "驅散"
 5 = "中斷"
}
CO_summer is offline Report comment to moderator  
Reply With Quote
Unread 09-17-11, 02:37 AM  
deemaxm
A Deviate Faerie Dragon
AddOn Author - Click to view AddOns

Forum posts: 19
File comments: 18
Uploads: 5
I rly like this addon since its way slimmer than my old fat skada. Only think i didnt managed to configure is folowing :
I would like it to show only dps written as text when in dps mode.
Atm its like this :
Name--Damage Done-DPS

and i would like it to be like:
Name--DPS

But the order and length of bar should still reprezent damage done. So i just want to read damage per second as text.

Tryed to config this in .lua but didnt managed to make it work
Last edited by deemaxm : 09-17-11 at 02:38 AM.
deemaxm is offline Report comment to moderator  
Reply With Quote
Unread 10-17-11, 07:43 PM  
Louna
A Kobold Labourer

Forum posts: 1
File comments: 32
Uploads: 0
Hi i really like this addon and i will add it in my ui.
Thx for sharing
Last edited by Louna : 10-17-11 at 09:49 PM.
Louna is offline Report comment to moderator  
Reply With Quote
Unread 10-30-11, 06:21 PM  
Maxen
A Deviate Faerie Dragon

Forum posts: 17
File comments: 221
Uploads: 0
Is it possible to not reset it when reloading UI ?
Maxen is offline Report comment to moderator  
Reply With Quote
Unread 11-24-11, 03:40 PM  
10leej
A Scalebane Royal Guard
 
10leej's Avatar
AddOn Author - Click to view AddOns

Forum posts: 440
File comments: 336
Uploads: 20
Originally Posted by Maxen
Is it possible to not reset it when reloading UI ?
Change the position at the top of the .lua file
10leej is offline Report comment to moderator  
Reply With Quote
Unread 11-24-11, 03:54 PM  
Maxen
A Deviate Faerie Dragon

Forum posts: 17
File comments: 221
Uploads: 0
I was talking about the data reset actually... !
Maxen is offline Report comment to moderator  
Reply With Quote
Unread 11-27-11, 02:26 PM  
Siannus
A Defias Bandit
AddOn Author - Click to view AddOns

Forum posts: 3
File comments: 76
Uploads: 2
Any way to get this to hide while in combat like you can with Recount? I really only need it to show after a fight is done.
Siannus is offline Report comment to moderator  
Reply With Quote
Unread 12-15-11, 07:05 AM  
yuric56
A Kobold Labourer

Forum posts: 0
File comments: 4
Uploads: 0
подскажите,как увеличить шрифт в адоне,заранее спс
yuric56 is offline Report comment to moderator  
Reply With Quote
Post A Reply



Category Jump:

Support AddOn Development!

You have just downloaded by the author . If you like this AddOn why not consider supporting the author? This author has set up a donation account. Donations ensure that authors can continue to develop useful tools for everyone.