Download
(14Kb)
Download
Updated: 11-24-14 03:23 AM
Pictures
File Info
Compatibility:
Warlords of Draenor (6.0.3)
Warlords of Draenor Pre-Patch (6.0.2)
Updated:11-24-14 03:23 AM
Created:08-14-09 10:53 AM
Downloads:38,609
Favorites:43
MD5:

Fiend Damage Meters  Popular! (More than 5000 hits)

Version: 4.0.0-beta2
by: zariel [More]

Fiend - Damage Meters

I started raiding and wanted to see how my damage compared to the rest of the raid, my old damage meter Violation is great, does everything I want it to but it still uses Ace2. Which is the only addon which uses it so its pulling in huge dependencies which I dont want.

So I figured i'd write my own and keep it as simple as I can and not go crazy with features. Enjoy!

I recomend using LDB with some sort of display so you can access the menu to hide and show windows.


News

Latest version (3.3.3-7) Adds initial support for DPS! Please go test it and tell me how accurate it is. It tracks it while your in combat, ie hit something in the past 5 seconds. It resets AFTER you enter combat again, so you can view the meters. THeres a switch in core.lua to turn it off and have simple damage tracking back, as DPS is a bit of a hack around.


Features

Is able to track:

  • Damage
  • Healing
  • Overhealing
  • DPS
  • Simple Design
  • No External Libaries
  • Low Memory usage
  • Flexible design
  • No in-game config
  • LDB Feed

Also the config is all in core.lua


Config
Here is an example of how to use it, all in core.lua:73.

Code:
	-- Displays are the windows
	local win = self:NewDisplay("main")
	-- View syntax:
	-- Display:NewView(String name, String[] events, int barSize, int[]
	-- headerColor, int[] barColor)
	-- Only name, events and size are required.
	local damage = win:NewView(L["Damage"], {
		"SWING_DAMAGE",
		"RANGE_DAMAGE",
		"SPELL_DAMAGE",
		"SPELL_PERIODIC_DAMAGE",
	}, 16, { 0.6, 0.2, 0.2 })

	local heal = win:NewView(L["Healing"], { "SPELL_HEAL", "SPELL_PERIDOIC_HEAL" }, 16, { 0.2, 0.6, 0.2 })

	local overHeal = win:NewView(L["OverHealing"], { "SPELL_HEAL", "SPELL_PERIDOIC_HEAL" }, 16, { 0.2, 0.6, 0.5 })
	overHeal.overHeal = true

Dev


Dev is done at GitHub which the master branch should be stable, submit patches or just fork it, try to keep my coding style please. I accept patches and feature requests!


Translations
  • Korean (Thanks Bruteforce!)
  • Russian (Thanks Allez!)


Please report bugs + feature requests!


Click here to lend your support!

Optional Files (0)


Post A Reply Comment Options
Unread 05-24-10, 10:35 PM  
Flak
A Murloc Raider

Forum posts: 4
File comments: 84
Uploads: 0
Finally tracked down this chat message, it seems to be caused by Fiend:
Interface action failed because of an AddOn.

Doesn't say what action, but with Fiend enabled this scrolls in chat a lot.
Report comment to moderator  
Reply With Quote
Unread 04-27-10, 01:36 PM  
Sec
A Cyclonian
 
Sec's Avatar

Forum posts: 48
File comments: 177
Uploads: 0
Originally posted by zariel
Feature requests? DPS is coming
Yay for DPS! <3

The other feature requests I made were via feature request form. I'd still love to see them if you can integrate them, but accurate DPS/damage was the big thing for me.

Still tweaking UI, screenshot still underway. ^^"
Report comment to moderator  
Reply With Quote
Unread 04-24-10, 01:25 PM  
zariel
A Murloc Raider
AddOn Author - Click to view AddOns

Forum posts: 7
File comments: 95
Uploads: 14
Feature requests? DPS is coming
Report comment to moderator  
Reply With Quote
Unread 04-21-10, 02:25 PM  
zariel
A Murloc Raider
AddOn Author - Click to view AddOns

Forum posts: 7
File comments: 95
Uploads: 14
Originally posted by Sec
Right now, if I mouse over my Damage bar, DPS continually reads out as "lal". "lal" is present in display.lua, roughly on line 20. So, I cannot provide Fiend's DPS estimates.

Target dummy. Pet on passive. Auto shots used.

1 auto shot:
Skada: 783 Damage - 3 seconds combat, 261 DPS.
Fiend: 783 Damage - Output to /guild does not state DPS/combat times.

5 auto shots:
Skada: 3233 Damage.
Fiend: 3233 Damage.

Target dummy. Pet on defensive (does fight). Auto shots used.

5 auto shots:
Skada: 8850 Damage - 20 seconds combat, 442.5 DPS.
Fiend: 8850 damage. Output to /guild does not state DPS/combat times.

If "lal" was instead stating DPS values, there is a chance DPS is not as varied from what it used to be, depending on what (if anything) was changed to damage and DPS formulations.

When testing in actual combat, the damage recorded by Fiend is different from what Skada records. This may be because Skada stays in recording mode a bit longer than Fiend - more of a guess, since I cannot see combat times for Fiend when using the Output option.
I will have to provide a screenshot when I am done with my UI.
Yeah ive got rid of DPS tracking till i get it accurate enough, Lal is just a place holder ^^
Report comment to moderator  
Reply With Quote
Unread 04-21-10, 10:49 AM  
Sec
A Cyclonian
 
Sec's Avatar

Forum posts: 48
File comments: 177
Uploads: 0
Originally posted by zariel
For one Fiend doesnt track overdamage (its useless ?) ie, hitting the dummy will net you 1 dps. The latest version if you output (just print to screen) it will tell you how long they have been in combat for. Id be interested in screenshots, do like to see how other people like to have stuff setup
Right now, if I mouse over my Damage bar, DPS continually reads out as "lal". "lal" is present in display.lua, roughly on line 20. So, I cannot provide Fiend's DPS estimates.

Target dummy. Pet on passive. Auto shots used.

1 auto shot:
Skada: 783 Damage - 3 seconds combat, 261 DPS.
Fiend: 783 Damage - Output to /guild does not state DPS/combat times.

5 auto shots:
Skada: 3233 Damage.
Fiend: 3233 Damage.

Target dummy. Pet on defensive (does fight). Auto shots used.

5 auto shots:
Skada: 8850 Damage - 20 seconds combat, 442.5 DPS.
Fiend: 8850 damage. Output to /guild does not state DPS/combat times.

If "lal" was instead stating DPS values, there is a chance DPS is not as varied from what it used to be, depending on what (if anything) was changed to damage and DPS formulations.

When testing in actual combat, the damage recorded by Fiend is different from what Skada records. This may be because Skada stays in recording mode a bit longer than Fiend - more of a guess, since I cannot see combat times for Fiend when using the Output option.
I will have to provide a screenshot when I am done with my UI.
Last edited by Sec : 04-21-10 at 11:51 AM.
Report comment to moderator  
Reply With Quote
Unread 04-21-10, 10:36 AM  
zariel
A Murloc Raider
AddOn Author - Click to view AddOns

Forum posts: 7
File comments: 95
Uploads: 14
Originally posted by ac3r
perfect addon for minimalistic interfaces

hope the tracked data arent such much different from recount or skada.
someone has test this already?

edit: ah found a test some posts before. looks like fiend forget some things!?
Fiend doesnt track over hits and resists.

So if you hit for 10k, resists 2500, overkill 500 fiend will say you did 7k damage. Because you did.
Report comment to moderator  
Reply With Quote
Unread 04-21-10, 08:28 AM  
ac3r
A Murloc Raider
AddOn Author - Click to view AddOns

Forum posts: 4
File comments: 27
Uploads: 1
perfect addon for minimalistic interfaces

hope the tracked data arent such much different from recount or skada.
someone has test this already?

edit: ah found a test some posts before. looks like fiend forget some things!?
Last edited by ac3r : 04-21-10 at 08:30 AM.
Report comment to moderator  
Reply With Quote
Unread 04-21-10, 07:36 AM  
zariel
A Murloc Raider
AddOn Author - Click to view AddOns

Forum posts: 7
File comments: 95
Uploads: 14
Originally posted by mightily
Nope, not loaded !

edit: added it and that made main window update correctly too, might want to embed LibStub then keep up the good work
Change line 71 to this,
Code:
ldb = LibStub and LibStub("LibDataBroker-1.1", true)
Report comment to moderator  
Reply With Quote
Unread 04-21-10, 07:18 AM  
mightily
A Kobold Labourer
AddOn Author - Click to view AddOns

Forum posts: 0
File comments: 4
Uploads: 3
Originally posted by zariel
Is LibStub loaded?
Nope, not loaded !

edit: added it and that made main window update correctly too, might want to embed LibStub then keep up the good work
Last edited by mightily : 04-21-10 at 07:22 AM.
Report comment to moderator  
Reply With Quote
Unread 04-21-10, 07:01 AM  
zariel
A Murloc Raider
AddOn Author - Click to view AddOns

Forum posts: 7
File comments: 95
Uploads: 14
Originally posted by mightily
First login is fine, apart from first window with damage doesn't update if you don't go to healing/overhealing and then back, however if I reload ui, this error is shown:

Code:
Message: Interface\AddOns\Fiend\core.lua:75: attempt to call global 'LibStub' (a nil value)
Time: 04/21/10 14:56:37
Count: 1
Stack: Interface\AddOns\Fiend\core.lua:75: in function <Interface\AddOns\Fiend\core.lua:40>
(tail call): ?

Locals: self = <unnamed> {
 PARTY_MEMBERS_CHANGED = <function> defined @Interface\AddOns\Fiend\roster.lua:70
 ADDON_LOADED = <function> defined @Interface\AddOns\Fiend\core.lua:40
 0 = <userdata>
 printNum = 10
 PLAYER_ENTERING_WORLD = <function> defined @Interface\AddOns\Fiend\roster.lua:78
 displays = <table> {
 }
 NewDisplay = <function> defined @Interface\AddOns\Fiend\display.lua:282
 IsPet = <function> defined @Interface\AddOns\Fiend\roster.lua:119
 IterateUnitRoster = <function> defined @Interface\AddOns\Fiend\roster.lua:132
 AddPet = <function> defined @Interface\AddOns\Fiend\roster.lua:127
 UNIT_PET = <function> defined @Interface\AddOns\Fiend\roster.lua:89
 RAID_ROSTER_UPDATE = <function> defined @Interface\AddOns\Fiend\roster.lua:62
 COMBAT_LOG_EVENT_UNFILTERED = <function> defined @Interface\AddOns\Fiend\core.lua:102
 ZONE_CHANGED_NEW_AREA = <function> defined @Interface\AddOns\Fiend\roster.lua:70
 GetUnit = <function> defined @Interface\AddOns\Fiend\roster.lua:123
}
name = "Fiend"
win = <table> {
 views = <table> {
 }
 menu = <table> {
 }
 numViews = 3
 currentView = <table> {
 }
 frame = FiendDamagemain {
 }
 dropDown = FiendDropDown {
 }
 events = <table> {
 }
}
damage = <table> {
 total = 0
 isActive = true
 dirty = true
 title = "Damage"
 guids = <table> {
 }
 display = <table> {
 }
 bars = <table> {
 }
 bg = <table> {
 }
 size = 16
}
heal = <table> {
 total = 0
 title = "Healing"
 guids = <table> {
 }
 display = <table> {
 }
 bars = <table> {
 }
 bg = <table> {
 }
 size = 16
}
overHeal = <table> {
 overHeal = true
 total = 0
 title = "OverHealing"
 guids = <table> {
 }
 display = <table> {
 }
 bars = <table> {
 }
 bg = <table> {
 }
 size = 16
}
(*temporary) = nil
(*temporary) = "LibDataBroker-1.1"
(*temporary) = true
(*temporary) = "attempt to call global 'LibStub' (a nil value)"
ldb = nil
addon = <unnamed> {
 PARTY_MEMBERS_CHANGED = <function> defined @Interface\AddOns\Fiend\roster.lua:70
 ADDON_LOADED = <function> defined @Interface\AddOns\Fiend\core.lua:40
 0 = <userdata>
 printNum = 10
 PLAYER_ENTERING_WORLD = <function> defined @Interface\AddOns\Fiend\roster.lua:78
 displays = <table> {
 }
 NewDisplay = <function> defined @Interface\AddOns\Fiend\display.lua:282
 IsPet = <function> defined @Interface\AddOns\Fiend\roster.lua:119
 IterateUnitRoster = <function> defined @Interface\AddOns\Fiend\roster.lua:132
 AddPet = <function> defined @Interface\AddOns\Fiend\roster.lua:127
 UNIT_PET = <function> defined @Interface\AddOns\Fiend\roster.lua:89
 RAID_ROSTER_UPDATE = <function> defined @Interface\AddOns\Fiend\roster.lua:62
 COMBAT_LOG_EVENT_UNFILTERED = <function> defined @Interface\AddOns\Fiend\core.lua:102
 ZONE_CHANGED_NEW_AREA = <function> defined @Interface\AddOns\Fiend\roster.lua:70
 GetUnit = <function> defined @Interface\AddOns\Fiend\roster.lua:123
}
OnUpdate = <function> defined @Interface\AddOns\Fiend\core.lua:12
Is LibStub loaded?
Report comment to moderator  
Reply With Quote
Unread 04-21-10, 07:00 AM  
mightily
A Kobold Labourer
AddOn Author - Click to view AddOns

Forum posts: 0
File comments: 4
Uploads: 3
First login is fine, apart from first window with damage doesn't update if you don't go to healing/overhealing and then back, however if I reload ui, this error is shown:

Code:
Message: Interface\AddOns\Fiend\core.lua:75: attempt to call global 'LibStub' (a nil value)
Time: 04/21/10 14:56:37
Count: 1
Stack: Interface\AddOns\Fiend\core.lua:75: in function <Interface\AddOns\Fiend\core.lua:40>
(tail call): ?

Locals: self = <unnamed> {
 PARTY_MEMBERS_CHANGED = <function> defined @Interface\AddOns\Fiend\roster.lua:70
 ADDON_LOADED = <function> defined @Interface\AddOns\Fiend\core.lua:40
 0 = <userdata>
 printNum = 10
 PLAYER_ENTERING_WORLD = <function> defined @Interface\AddOns\Fiend\roster.lua:78
 displays = <table> {
 }
 NewDisplay = <function> defined @Interface\AddOns\Fiend\display.lua:282
 IsPet = <function> defined @Interface\AddOns\Fiend\roster.lua:119
 IterateUnitRoster = <function> defined @Interface\AddOns\Fiend\roster.lua:132
 AddPet = <function> defined @Interface\AddOns\Fiend\roster.lua:127
 UNIT_PET = <function> defined @Interface\AddOns\Fiend\roster.lua:89
 RAID_ROSTER_UPDATE = <function> defined @Interface\AddOns\Fiend\roster.lua:62
 COMBAT_LOG_EVENT_UNFILTERED = <function> defined @Interface\AddOns\Fiend\core.lua:102
 ZONE_CHANGED_NEW_AREA = <function> defined @Interface\AddOns\Fiend\roster.lua:70
 GetUnit = <function> defined @Interface\AddOns\Fiend\roster.lua:123
}
name = "Fiend"
win = <table> {
 views = <table> {
 }
 menu = <table> {
 }
 numViews = 3
 currentView = <table> {
 }
 frame = FiendDamagemain {
 }
 dropDown = FiendDropDown {
 }
 events = <table> {
 }
}
damage = <table> {
 total = 0
 isActive = true
 dirty = true
 title = "Damage"
 guids = <table> {
 }
 display = <table> {
 }
 bars = <table> {
 }
 bg = <table> {
 }
 size = 16
}
heal = <table> {
 total = 0
 title = "Healing"
 guids = <table> {
 }
 display = <table> {
 }
 bars = <table> {
 }
 bg = <table> {
 }
 size = 16
}
overHeal = <table> {
 overHeal = true
 total = 0
 title = "OverHealing"
 guids = <table> {
 }
 display = <table> {
 }
 bars = <table> {
 }
 bg = <table> {
 }
 size = 16
}
(*temporary) = nil
(*temporary) = "LibDataBroker-1.1"
(*temporary) = true
(*temporary) = "attempt to call global 'LibStub' (a nil value)"
ldb = nil
addon = <unnamed> {
 PARTY_MEMBERS_CHANGED = <function> defined @Interface\AddOns\Fiend\roster.lua:70
 ADDON_LOADED = <function> defined @Interface\AddOns\Fiend\core.lua:40
 0 = <userdata>
 printNum = 10
 PLAYER_ENTERING_WORLD = <function> defined @Interface\AddOns\Fiend\roster.lua:78
 displays = <table> {
 }
 NewDisplay = <function> defined @Interface\AddOns\Fiend\display.lua:282
 IsPet = <function> defined @Interface\AddOns\Fiend\roster.lua:119
 IterateUnitRoster = <function> defined @Interface\AddOns\Fiend\roster.lua:132
 AddPet = <function> defined @Interface\AddOns\Fiend\roster.lua:127
 UNIT_PET = <function> defined @Interface\AddOns\Fiend\roster.lua:89
 RAID_ROSTER_UPDATE = <function> defined @Interface\AddOns\Fiend\roster.lua:62
 COMBAT_LOG_EVENT_UNFILTERED = <function> defined @Interface\AddOns\Fiend\core.lua:102
 ZONE_CHANGED_NEW_AREA = <function> defined @Interface\AddOns\Fiend\roster.lua:70
 GetUnit = <function> defined @Interface\AddOns\Fiend\roster.lua:123
}
OnUpdate = <function> defined @Interface\AddOns\Fiend\core.lua:12
Report comment to moderator  
Reply With Quote
Unread 04-21-10, 05:41 AM  
zariel
A Murloc Raider
AddOn Author - Click to view AddOns

Forum posts: 7
File comments: 95
Uploads: 14
Originally posted by bluenjoy
Hi,

Great little dps addon you have here. I'm curious though as to how I can make it visible again after I hide it?
Good quest, reloading your interface will do it, ill fix that later.

In the newest version ive added support for multiple windows, with each having seperate displays.

Windows are created like this,

Code:
local win = self:NewDisplay("main")
A display on that window (which i can views) are created like so

Code:
	-- Viewsyntax:
	-- Display:NewView(String name, String[] events, int barSize, int[]
	-- headerColor, int[] barColor)
	-- Only name, events and size are required.
	local damage = win:NewView("Damage", {
		"SWING_DAMAGE",
		"RANGE_DAMAGE",
		"SPELL_DAMAGE",
		"SPELL_PERIODIC_DAMAGE",
	}, 16, { 0.6, 0.2, 0.2 })
Stick this around line 50 in core.lua
Last edited by zariel : 04-21-10 at 05:41 AM.
Report comment to moderator  
Reply With Quote
Unread 04-20-10, 04:11 PM  
bluenjoy
A Deviate Faerie Dragon
 
bluenjoy's Avatar
AddOn Compiler - Click to view compilations

Forum posts: 13
File comments: 55
Uploads: 1
Hi,

Great little dps addon you have here. I'm curious though as to how I can make it visible again after I hide it?
__________________
-Biggie
Report comment to moderator  
Reply With Quote
Unread 04-20-10, 02:07 AM  
zariel
A Murloc Raider
AddOn Author - Click to view AddOns

Forum posts: 7
File comments: 95
Uploads: 14
Originally posted by Sec
Zariel, thank you for letting me know which lines to adjust. Things are now scaled for the changes in font face and size!

I noticed something just now, when looking between Skada and Fiend.

Skada recorded 9760 damage done, in 4 seconds of combat. The segment itself was recoded 6 seconds overall.

Fiend recorded 9416 damage done (no seconds stated).

Skada gave a DPS of 2440.

Fiend gave a DPS of 2088.

Hopefully this insight may provide aid to figuring out the varying DPS values recorded.
For one Fiend doesnt track overdamage (its useless ?) ie, hitting the dummy will net you 1 dps. The latest version if you output (just print to screen) it will tell you how long they have been in combat for. Id be interested in screenshots, do like to see how other people like to have stuff setup
Report comment to moderator  
Reply With Quote
Unread 04-19-10, 02:05 PM  
Sec
A Cyclonian
 
Sec's Avatar

Forum posts: 48
File comments: 177
Uploads: 0
Zariel, thank you for letting me know which lines to adjust. Things are now scaled for the changes in font face and size!

I noticed something just now, when looking between Skada and Fiend.

Skada recorded 9760 damage done, in 4 seconds of combat. The segment itself was recoded 6 seconds overall.

Fiend recorded 9416 damage done (no seconds stated).

Skada gave a DPS of 2440.

Fiend gave a DPS of 2088.

Hopefully this insight may provide aid to figuring out the varying DPS values recorded.
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.