• Dear Guest,

    You're browsing our forum as a Guest meaning you can only see a portion of the forum in read-only mode.
    To view all forum nodes and be able to create threads/posts please register or log-in with your existing account.

    TwinStar team

[AddOn] enemyFrames

kuurtz

New Member
Joined
Feb 15, 2016
I've made this addon while playing for another server but since I now play here I thought on sharing it here aswell.

enemyFrames is an addon, or rather a series of addons into one, that displays enemy players frames, be it inside Battlegrounds or outside.


Current features:
- highlights nearby players and shows their respective health values
- tracks and displays spellcasting
- 1 buff / debuff slot shown in order of buff priority ie: blind over hammer of justice
- mouseover casting on enemy frames
- castbars on nameplates
- incoming spells warning
- customizable settings menu. type /efs to bring up the settings menu


download link: https://github.com/zetone/enemyFrames
To install just remove "- master" from the folder's name and place it in your addon's directory


enemyframes.jpgsettings.jpg
 
ey
really nice addon, but
isnt it possible to make incoming spells frame OUTSIDE bg?
cheers
 
hey, in theory it is possible but the way it works it will fuck up your targets if you're fighting mobs since they don't have an unique name, also, I forgot to mention but rogues/feral druids shouldn't use the incoming spells feature as it will drop your combo points
 
Kuurtz, I have been searching for days on how to make Portraits have that black border instead of the standard grey, could you tell me how you fixed it?
 
bump. Anyone gave this a go? Want to know if anyone ran into bugs or any such problem
 
possible to make dots appear on nameplate?




havent noticed any


it's possible but it's difficult to have an accurate timer on them as there's no event for when a debuff gets refreshed. the exceptions are spells that apply a direct damage followed by a dot such as Immolate, Flame Shock etc. Personally, I don't think its a very good idea as it would be extra clutter on nameplates. regardless if you really want you can add it yourself:
Code:
file: globals\spellInfo.lua


line 415: SPELLINFO_BUFFS_TO_TRACK {
....
--add your buff/debuff here
}


it should be straitforward enough. start by copying one of the other spells and change the attributes accordingly. you can find the Icon texture directory in vanilla db website
 
Added an option to display one debuff on the target's portrait(thanks AG007 for the idea)


1ZNyE7.jpg


link: https://github.com/zetone/enemyFrames/
 

Attachments

  • cc portrait.jpg
    cc portrait.jpg
    92.2 KB · Views: 56
Things I can think of after my short time using the addon:

- A slider to decrease the vertical spacing between the frames.
- Piercing howl doesn't show up in the nameplates-debuffs as far as I can tell.
- I play with custom nameplates, and having the ability to maybe scale the debuffs could be nice. Low prio tho.
 
noted.

regarding piercing howl and other such debuffs, they're tricky to track because they're spammable and don't afflict damage so it's not possible to know when it gets refreshed

vertical spacing between frames is there to accommodate casting bars, not sure how to decrease it without removing them
 
Hey mate, I figured how to add spells and change priorities, so I took the time to do so. Check it out.

Code:
SPELLINFO_BUFFS_TO_TRACK = {    
            -- MISC
            ['Free Action']             = {['icon'] = [[Interface\Icons\Inv_potion_04]],                     ['duration'] = 30,     ['type'] = 'magic',    ['prio'] = 4},
        ['Living Free Action']             = {['icon'] = [[Interface\Icons\Inv_potion_07]],                     ['duration'] = 5,     ['type'] = 'magic',    ['prio'] = 4},
        ['Invulnerability']            = {['icon'] = [[Interface\Icons\Spell_holy_divineintervention]],             ['duration'] = 6,     ['type'] = 'magic',    ['prio'] = 5},
        ['Net-o-Matic']                = {['icon'] = [[Interface\Icons\Inv_misc_net_01]],                     ['duration'] = 10,     ['type'] = 'physical',    ['prio'] = 2},
        ["Reckless Charge"]         = {['icon'] = [[Interface\Icons\Spell_nature_astralrecal]],                 ['duration'] = 12,     ['type'] = 'magic',     ['prio'] = 5},
        ["Sleep"]             = {['icon'] = [[Interface\Icons\Spell_nature_sleep]],                     ['duration'] = 12,     ['type'] = 'magic',     ['prio'] = 5},
            ['Will of the Forsaken']       = {['icon'] = [[Interface\Icons\Spell_shadow_raisedead]],                 ['duration'] = 5,    ['type'] = 'physical',    ['prio'] = 2},
        ["Tidal Charm"]         = {['icon'] = [[Interface\Icons\Spell_frost_summonwaterelemental]],             ['duration'] = 3,     ['type'] = 'magic',     ['prio'] = 3},
        
            -- ENGINEERING
        ["Flash Bomb"]             = {['icon'] = [[Interface\Icons\Spell_Shadow_Darksummoning]],                 ['duration'] = 10,                 ['prio'] = 4},
        ['Fire Reflector']             = {['icon'] = [[Interface\Icons\Spell_fire_sealoffire]],                 ['duration'] = 5},
               ['Frost Reflector']            = {['icon'] = [[Interface\Icons\Spell_frost_frostward]],                 ['duration'] = 5},        
            ['Shadow Reflector']           = {['icon'] = [[Interface\Icons\Spell_shadow_antishadow]],                 ['duration'] = 5},
        ["Thorium Grenade"]         = {['icon'] = [[Interface\Icons\Spell_fire_selfdestruct]],                 ['duration'] = 3,     ['type'] = 'magic',     ['prio'] = 4},
        ["Iron Grenade"]         = {['icon'] = [[Interface\Icons\Spell_fire_selfdestruct]],                 ['duration'] = 3,     ['type'] = 'magic',     ['prio'] = 4},
        
            -- DRUID
            ['Abolish Poison']             = {['icon'] = [[Interface\Icons\Spell_nature_nullifypoison_02]],            ['duration'] = 8,    ['type'] = 'magic'},
        ['Barkskin']            = {['icon'] = [[Interface\Icons\Spell_nature_stoneclawtotem]],                ['duration'] = 15,    ['type'] = 'magic'},
        ["Entangling Roots"]         = {['icon'] = [[Interface\Icons\Spell_nature_stranglevines]],                 ['duration'] = 12,     ['type'] = 'magic',     ['prio'] = 2,     ['dr'] = 'Controlled Root'},
        ['Feral Charge Effect']        = {['icon'] = [[Interface\Icons\Ability_hunter_pet_bear]],                ['duration'] = 4,    ['type'] = 'physical',     ['prio'] = 2},
        ['Bash']            = {['icon'] = [[Interface\Icons\Ability_druid_bash]],                    ['duration'] = 5,    ['type'] = 'physical',     ['prio'] = 3},
        ['Pounce']            = {['icon'] = [[Interface\Icons\Ability_druid_supriseattack]],                ['duration'] = 3,    ['type'] = 'physical',     ['prio'] = 3},
        ["Hibernate"]             = {['icon'] = [[Interface\Icons\Spell_nature_sleep]],                     ['duration'] = 40,     ['type'] = 'magic',     ['prio'] = 5},
        ['Innervate']             = {['icon'] = [[Interface\Icons\Spell_nature_lightning]],                 ['duration'] = 20,     ['type'] = 'magic'},
            ['Nature\'s Grasp']            = {['icon'] = [[Interface\Icons\Spell_nature_natureswrath]],                 ['duration'] = 45,    ['type'] = 'magic'},
        ["Starfire Stun"]         = {['icon'] = [[Interface\Icons\Spell_arcane_starfire]],                 ['duration'] = 3,     ['type'] = 'magic',     ['prio'] = 3},
        
        --[[    HUNTER     ]]--
        ['Concussive Shot']        = {['icon'] = [[Interface\Icons\Spell_frost_stun]],                    ['duration'] = 4,     ['type'] = 'magic',    ['prio'] = 1},
        ['Improved Concussive Shot']    = {['icon'] = [[Interface\Icons\Spell_frost_stun]],                    ['duration'] = 3,     ['type'] = 'magic',    ['prio'] = 3},
        ['Scatter Shot']        = {['icon'] = [[Interface\Icons\Ability_golemstormbolt]],                ['duration'] = 4,     ['type'] = 'physical',    ['prio'] = 5},
        ["Scare Beast"]         = {['icon'] = [[Interface\Icons\Ability_druid_cower]],                     ['duration'] = 10,     ['type'] = 'magic',     ['prio'] = 5,     ['dr'] = 'Fear'},
        ["Freezing Trap Effect"]     = {['icon'] = [[Interface\Icons\Spell_frost_chainsofice]],                 ['duration'] = 10,     ['type'] = 'magic',    ['prio'] = 5},
        ['Viper Sting']            = {['icon'] = [[Interface\Icons\Ability_hunter_aimedshot]],                 ['duration'] = 8,     ['type'] = 'poison'},
        ['Wing Clip']            = {['icon'] = [[Interface\Icons\Ability_rogue_trip]],                    ['duration'] = 10,    ['type'] = 'physical',    ['prio'] = 1},
        ['Frost Trap Aura']        = {['icon'] = [[Interface\Icons\Spell_frost_frostnova]],                ['duration'] = 30,    ['type'] = 'magic',    ['prio'] = 1},
        ['Improved Wing Clip']        = {['icon'] = [[Interface\Icons\Ability_rogue_trip]],                    ['duration'] = 5,    ['type'] = 'physical',    ['prio'] = 2},
        ['Counterattack']        = {['icon'] = [[Interface\Icons\Ability_warrior_challange]],                ['duration'] = 5,    ['type'] = 'physical',    ['prio'] = 2},
        ['Entrapment']            = {['icon'] = [[Interface\Icons\Spell_nature_stranglevines]],                ['duration'] = 5,    ['type'] = 'magic',    ['prio'] = 2},
        ["Intimidation"]         = {['icon'] = [[Interface\Icons\Ability_devour]],                     ['duration'] = 3,     ['type'] = 'physical',     ['prio'] = 3},
        ["Wyvern Sting"]         = {['icon'] = [[Interface\Icons\Inv_spear_02]],                     ['duration'] = 12,     ['type'] = 'poison',     ['prio'] = 5},
        
            -- MAGE
        ['Clearcasting']        = {['icon'] = [[Interface\Icons\Spell_frost_manaburn]],                 ['duration'] = 15,      ['type'] = 'magic'},
        ["Impact"]             = {['icon'] = [[Interface\Icons\Spell_fire_meteorstorm]],                 ['duration'] = 2,     ['type'] = 'magic',     ['prio'] = 3},
        ['Counterspell - Silenced']     = {['icon'] = [[Interface\Icons\Spell_frost_iceshock]],                 ['duration'] = 4,      ['type'] = 'magic',     ['prio'] = 5},
        ["Cone of Cold"]         = {['icon'] = [[Interface\Icons\Spell_frost_glacier]],                     ['duration'] = 10,     ['type'] = 'magic',    ['display'] = false,},
        --["Chilled"]             = {['icon'] = [[Interface\Icons\Spell_frost_frostarmor02]],                 ['duration'] = 7,     ['type'] = 'magic',     ['prio'] = 1},
        ["Frostbite"]             = {['icon'] = [[Interface\Icons\Spell_frost_frostarmor]],                 ['duration'] = 5,     ['type'] = 'magic',     ['prio'] = 2},
        ["Frost Nova"]             = {['icon'] = [[Interface\Icons\Spell_frost_frostnova]],                 ['duration'] = 8,     ['type'] = 'magic',     ['prio'] = 2,     ['dr'] = 'Controlled Root'},
            ['Frost Ward']                 = {['icon'] = [[Interface\Icons\Spell_frost_frostward]],                 ['duration'] = 30,     ['type'] = 'magic'},
        ['Frostbolt']            = {['icon'] = [[Interface\Icons\Spell_frost_frostbolt02]],                 ['duration'] = 10,     ['type'] = 'magic',    ['display'] = false,},
            ['Fire Ward']                  = {['icon'] = [[Interface\Icons\Spell_fire_firearmor]],                 ['duration'] = 30,     ['type'] = 'magic'},
        --['Ice Barrier']        = {['icon'] = [[Interface\Icons\Spell_ice_lament]],                     ['duration'] = 60,     ['type'] = 'magic'},
            ['Ice Block']                  = {['icon'] = [[Interface\Icons\Spell_frost_frost]],                     ['duration'] = 10,                 ['prio'] = 5},
        ["Polymorph"]             = {['icon'] = [[Interface\Icons\Spell_nature_polymorph]],                 ['duration'] = 11,     ['type'] = 'magic',     ['prio'] = 5,     ['dr'] = 'Polymorph'},
        ['Polymorph: Pig']           = {['icon'] = [[Interface\Icons\Spell_magic_polymorphpig]],                 ['duration'] = 11,     ['type'] = 'magic',     ['prio'] = 5,     ['dr'] = 'Polymorph'},
        ['Polymorph: Turtle']         = {['icon'] = [[Interface\Icons\Ability_hunter_pet_turtle]],                ['duration'] = 11,     ['type'] = 'magic',     ['prio'] = 5,     ['dr'] = 'Polymorph'},
        ['Winter\'s Chill']        = {['icon'] = [[Interface\Icons\Spell_frost_chillingblast]],                 ['duration'] = 15,     ['type'] = 'magic',     ['display'] = false,},
        ["Blast Wave"]             = {['icon'] = [[Interface\Icons\Spell_holy_excorcism_02]],                 ['duration'] = 6,     ['type'] = 'magic',     ['prio'] = 1},
        
            -- PALADIN
            ['Blessing of Protection']     = {['icon'] = [[Interface\Icons\Spell_holy_sealofprotection]],                 ['duration'] = 8,     ['type'] = 'magic',     ['prio'] = 5},
            ['Blessing of Freedom']        = {['icon'] = [[Interface\Icons\Spell_holy_sealofvalor]],                 ['duration'] = 16,     ['type'] = 'magic',    ['prio'] = 2},
            ['Divine Protection']          = {['icon'] = [[Interface\Icons\Spell_holy_restoration]],                 ['duration'] = 8,                 ['prio'] = 5},
        ['Divine Shield']        = {['icon'] = [[Interface\Icons\Spell_holy_divineintervention]],             ['duration'] = 10,                 ['prio'] = 5},
        ["Hammer of Justice"]         = {['icon'] = [[Interface\Icons\Spell_holy_sealofmight]],                 ['duration'] = 5,     ['type'] = 'magic',    ['prio'] = 3,    ['dr'] = 'Controlled Stun'},
        ['Judgement of the Crusader']     = {['icon'] = [[Interface\Icons\Spell_holy_holysmite]],                 ['duration'] = 10,     ['type'] = 'magic',    ['display'] = false,},
        ["Repentance"]             = {['icon'] = [[Interface\Icons\Spell_holy_prayerofhealing]],                 ['duration'] = 6,     ['type'] = 'magic',    ['prio'] = 5},
        
            -- PRIEST
            ['Power Word: Shield']        = {['icon'] = [[Interface\Icons\Spell_holy_powerwordshield]],                 ['duration'] = 30,     ['type'] = 'magic'},
        ["Psychic Scream"]         = {['icon'] = [[Interface\Icons\Spell_shadow_psychicscream]],                 ['duration'] = 8,     ['type'] = 'magic',     ['prio'] = 5,     ['dr'] = 'Fear'},
        ['Silence']            = {['icon'] = [[Interface\Icons\Spell_shadow_impphaseshift]],                 ['duration'] = 5,     ['type'] = 'magic',     ['prio'] = 5},
        ["Mind Flay"]             = {['icon'] = [[Interface\Icons\Spell_shadow_siphonmana]],                 ['duration'] = 3,     ['type'] = 'magic',     ['prio'] = 1},
        ["Blackout"]             = {['icon'] = [[Interface\Icons\Spell_shadow_gathershadows]],                 ['duration'] = 3,     ['type'] = 'magic',     ['prio'] = 3},
        
        --[[    ROGUE     ]]--
        ['Blind']            = {['icon'] = [[Interface\Icons\Spell_shadow_mindsteal]],                ['duration'] = 10,    ['type'] = 'poison',    ['prio'] = 5},
        ["Cheap Shot"]             = {['icon'] = [[Interface\Icons\Ability_cheapshot]],                     ['duration'] = 4,     ['type'] = 'physical',     ['prio'] = 3},
        ["Kidney Shot"]         = {['icon'] = [[Interface\Icons\Ability_rogue_kidneyshot]],                 ['duration'] = 6,     ['type'] = 'physical',     ['prio'] = 3},        -- Assuming 5CP stun
        ["Gouge"]             = {['icon'] = [[Interface\Icons\Ability_gouge]],                     ['duration'] = 5,     ['type'] = 'physical',     ['prio'] = 5,     ['dr'] = 'Disorient'},
        ['Kick - Silenced']         = {['icon'] = [[Interface\Icons\Ability_kick]],                     ['duration'] = 2,     ['type'] = 'physical',     ['prio'] = 5},
        ["Sap"]             = {['icon'] = [[Interface\Icons\Ability_sap]],                         ['duration'] = 11,     ['type'] = 'physical',     ['prio'] = 5,     ['dr'] = 'Disorient'},
        ['Sprint']            = {['icon'] = [[Interface\Icons\Ability_rogue_sprint]],                    ['duration'] = 15,                ['prio'] = 1},
        ['Crippling Poison']        = {['icon'] = [[Interface\Icons\Ability_poisonsting]],                    ['duration'] = 12,    ['type'] = 'physical',    ['prio'] = 2},
        
            -- SHAMAN
        ['Frost Shock']            = {['icon'] = [[Interface\Icons\Spell_frost_frostshock]],                ['duration'] = 8,    ['type'] = 'magic',    ['prio'] = 1,     ['dr'] = 'Frost Shock'},
        ['Grounding Totem Effect']    = {['icon'] = [[Interface\Icons\Spell_nature_groundingtotem]],                ['duration'] = 10,    ['type'] = 'magic'},
        
             -- WARLOCK
        ['Death Coil']            = {['icon'] = [[Interface\Icons\Spell_shadow_deathcoil]],                ['duration'] = 3,    ['type'] = 'magic',    ['prio'] = 5},
        ["Fear"]             = {['icon'] = [[Interface\Icons\Spell_shadow_possession]],                 ['duration'] = 10,     ['type'] = 'magic',     ['prio'] = 5,     ['dr'] = 'Fear'},
        ['Immolate']            = {['icon'] = [[Interface\Icons\Spell_fire_immolation]],                ['duration'] = 15,     ['type'] = 'magic',    ['display'] = false,},
        ["Pyroclasm"]             = {['icon'] = [[Interface\Icons\Spell_fire_volcano]],                     ['duration'] = 3,     ['type'] = 'magic',     ['prio'] = 3},
        ['Seduction']            = {['icon'] = [[Interface\Icons\Spell_shadow_mindsteal]],                ['duration'] = 10,     ['type'] = 'magic',     ['prio'] = 5,     ['dr'] = 'Fear'},
            ['Shadow Trance']         = {['icon'] = [[Interface\Icons\Spell_shadow_twilight]],                 ['duration'] = 10,     ['type'] = 'magic'},
        ["Aftermath"]             = {['icon'] = [[Interface\Icons\Spell_fire_fire]],                     ['duration'] = 5,     ['type'] = 'magic',     ['prio'] = 1},
        
        --[[    WARRRIOR     ]]--
        ['Berserker Rage']        = {['icon'] = [[Interface\Icons\Spell_nature_ancestralguardian]],            ['duration'] = 10,                ['prio'] = 2},
        ["Mace Stun Effect"]         = {['icon'] = [[Interface\Icons\Spell_frost_stun]],                     ['duration'] = 3,     ['type'] = 'physical',     ['prio'] = 3},
        ["Concussion Blow"]         = {['icon'] = [[Interface\Icons\Ability_thunderbolt]],                     ['duration'] = 5,     ['type'] = 'physical',     ['prio'] = 3},
        ["Charge"]             = {['icon'] = [[Interface\Icons\Spell_frost_stun]],                     ['duration'] = 1,     ['type'] = 'physical',     ['prio'] = 3},
        ["Intercept"]             = {['icon'] = [[Interface\Icons\Spell_frost_stun]],                     ['duration'] = 3,     ['type'] = 'physical',     ['prio'] = 3},        
        ["Disarm"]             = {['icon'] = [[Interface\Icons\Ability_warrior_disarm]],                 ['duration'] = 10,     ['type'] = 'physical'},
        ["Hamstring"]             = {['icon'] = [[Interface\Icons\Ability_shockwave]],                     ['duration'] = 15,     ['type'] = 'physical',     ['prio'] = 1},
        ['Improved Hamstring']        = {['icon'] = [[Interface\Icons\Ability_shockwave]],                    ['duration'] = 5,    ['type'] = 'physical',    ['prio'] = 2},
        ["Piercing Howl"]         = {['icon'] = [[Interface\Icons\Spell_shadow_deathscream]],                 ['duration'] = 6,     ['type'] = 'physical',     ['prio'] = 1},        
        ['Intimidating Shout']        = {['icon'] = [[Interface\Icons\Ability_golemthunderclap]],                 ['duration'] = 8,     ['type'] = 'physical',     ['prio'] = 5,     ['dr'] = 'Fear'},
        ['Mortal Strike']         = {['icon'] = [[Interface\Icons\Ability_warrior_savageblow]],                 ['duration'] = 10,     ['type'] = 'physical'},
        ['Shield Bash - Silenced']     = {['icon'] = [[Interface\Icons\Ability_warrior_shieldbash]],                 ['duration'] = 3,      ['type'] = 'magic',     ['prio'] = 5},


    }
 
Last edited:
nice, I think Ill leave the prio method as is as it should work good enough. cheers for the list
 
nice, I think Ill leave the prio method as is as it should work good enough. cheers for the list
Fair enough. Made it mostly for myself anyway, but thought I would share it in case you could use it :smile:
I didnt change that much about priorities though, I just added a 5th layer.

Layer 1 - 5 where 5 is highest prio:

Layer5: Buffs - Ice block, Divine Shield, Divine Protection, etc (Invulnerabilities overwrites everything). Debuffs - Long duration CC that breaks on damage e.g. Sap, Blind, Polymorph, Hibernate, Fear etc.

Layer4: Buffs - Immune to stun e.g. Living/Free Action Potion. Debuffs - Short duration CC that breaks on damage e.g. Thorium/Iron Grenade, Flash Bombs, etc.

Layer3: Debuffs - Stuns

Layer2: Buffs - Immune to roots/snares, fears e.g. Blessing of Freedom, Will of the Forsaken, Berserker Rage, etc. Debuffs - Roots, Crippling Poison (because 70% slow)

Layer1: Debuffs - Snares

Layer0: Noteable buffs/debuffs e.g. Mortal Strike, Fire Ward, Power Word: Shield, etc.
 
new version: https://github.com/zetone/enemyFrames/


- option to completely hide the frames but still retain all the other features
- option to toggle raid members mapblips on worldmap or minimap
- option to toggle player portrait debuff
- slider to change nameplate debuffs size
- new settings menu layout
- several spell adjustments
 
It seems one of the functions in the addon is causing my main chat window to display every time a hunter applies Viper Sting.

X's Viper Sting drains 277 Mana from Y.
X's Viper Sting drains 277 Mana from Y.
X's Viper Sting drains 277 Mana from Y.

Seems to dissapear when disabling the addon, resetting WTF folders and the saved chat settings seems to do nothing.
 
It seems one of the functions in the addon is causing my main chat window to display every time a hunter applies Viper Sting.

X's Viper Sting drains 277 Mana from Y.
X's Viper Sting drains 277 Mana from Y.
X's Viper Sting drains 277 Mana from Y.

Seems to dissapear when disabling the addon

Hmm thats weird. I was pretty sure it was DPSmate causing this, as it started happening to me right after installing the lastest version of DPSmate.
 
My bad, I left a print uncommented that I was using to test something.

On the file globals/spellcastingcore.lua

Code:
572:    -- drain mana 
573:    if fMDrain then
574:        local m = MDrain
575:        local c = gsub(arg1, m, '%1')
576:        local s = gsub(arg1, m, '%2')
577:        
[U][B]578:        print(arg1)[/B][/U]
579:        if SPELLINFO_CHANNELED_SPELLCASTS_TO_TRACK[s] then
580:            newCast(c, s, true)
581:        end    
582:    end


Delete line 578. In any case I've uploaded a new version with this fixed
 
As a fan of rated battlegrounds back in Cataclysm,

I am real excited to give this addon an attempt. Being a warlock with tremendous responsibility for CC in Warsong Gulch and Arathi Basin, this addon will work perfectly instead of tabbing! Thank you!

THIS ADDON IS AMAZING !!!
 
Last edited by a moderator:
Top Bottom