Minion Beta! - Help us test our new AddOn updater. Get it now!
Download
(169 Kb)
Download
Updated: 09-24-13 10:09 PM
Pictures
File Info
Compatibility:
Siege of Orgrimmar (5.4)
Updated:09-24-13 10:09 PM
Created:08-20-11 02:14 PM
Downloads:3,835
Favorites:49
MD5:
ShieldBars
Version: 1.1.1
by: Voyager [More]
ShieldBars 1.1.1

ShieldBars is an addon that displays your currently active shields.
Most of the commonly used shields are supported. It will only display something while there's an active shield on the player.
Use the options menu to show an example shield to help with customisation.

Features
  • Supports all classes
  • Change colors, fonts and bar textures
  • Change size of bars and icon
  • Bar text flashing when shield is about to expire or on low percentage
  • Bar sorting by shield priority, time left or index
1.1.1
- Updated for 5.4.0
1.1.0
- Updated for 5.3.0
- Added some new shields from TTK
1.0.8-50200
- Updated for 5.2.0
1.0.8
- Updated for 5.1.0
1.0.7
- Added Brewmaster Monk's Guard shield
1.0.6
- Updated for 5.0.4
- Added many new shields
- Fix for Blood Shield
1.0.5
- Updated for 4.3
1.0.4
- Fixed shield names overlapping
- Improved shield value detection
1.0.2
- Fixed Stoneclaw Shield, Blood Shield
- Added Savage Defence, Anti-Magic Shell
1.0.1
- Fixed bar height/width setting options
Archived Files (8)
File Name
Version
Size
Author
Date
1.1.0
169kB
Voyager
05-23-13 07:38 AM
1.0.8
169kB
Voyager
12-07-12 07:15 PM
1.0.7
168kB
Voyager
09-28-12 12:45 PM
1.0.6
168kB
Voyager
09-22-12 09:56 AM
1.0.5
168kB
Voyager
11-30-11 07:52 PM
1.0.4
147kB
Voyager
09-25-11 12:55 PM
1.0.2
147kB
Voyager
08-22-11 12:45 PM
1.0.1
147kB
Voyager
08-20-11 02:14 PM


Post A Reply Comment Options
Unread 10-19-14, 03:59 PM  
GeneralWurst
A Defias Bandit

Forum posts: 2
File comments: 94
Uploads: 0
error with newest patch:

Date: 2014-10-19 14:47:53
ID: -1
Error occured in: Global
Count: 53
Message: ..\AddOns\ShieldBars\ShieldBars.lua line 1036:
attempt to compare number with nil
Debug:
ShieldBars\ShieldBars.lua:1036: ShieldDamage()
ShieldBars\ShieldBars.lua:1068: ?()
...vUI\libs\CallbackHandler-1.0\CallbackHandler-1.0.lua:147:
...vUI\libs\CallbackHandler-1.0\CallbackHandler-1.0.lua:147
[string "safecall Dispatcher[19]"]:4:
[string "safecall Dispatcher[19]"]:4
[C]: ?
[string "safecall Dispatcher[19]"]:13: ?()
...vUI\libs\CallbackHandler-1.0\CallbackHandler-1.0.lua:92: Fire()
...face\AddOns\ElvUI\libs\AceEvent-3.0\AceEvent-3.0.lua:120:
...face\AddOns\ElvUI\libs\AceEvent-3.0\AceEvent-3.0.lua:119
GeneralWurst is offline Report comment to moderator  
Reply With Quote
Unread 10-16-13, 08:10 AM  
glonglon
A Kobold Labourer

Forum posts: 0
File comments: 44
Uploads: 0
Great addon, thanks man, can't play without it !
glonglon is offline Report comment to moderator  
Reply With Quote
Unread 09-10-13, 03:18 PM  
tiker
A Deviate Faerie Dragon
 
tiker's Avatar
AddOn Author - Click to view AddOns

Forum posts: 13
File comments: 102
Uploads: 1
Well, the Pali stuff I posted previously is gone so you can ignore that.

I did add a shield though from a trinket on an alt...

http://www.wowhead.com/spell=31771
__________________
Want to chat? You'll find me here if I'm online:
tiker @ conference.funkymonkey.org
(XMPP / Jabber Group Chat)
tiker is offline Report comment to moderator  
Reply With Quote
Unread 06-21-13, 09:09 AM  
tiker
A Deviate Faerie Dragon
 
tiker's Avatar
AddOn Author - Click to view AddOns

Forum posts: 13
File comments: 102
Uploads: 1
Looks like Palidans might be getting another shield through a talent for themselves (or give to others with Becon of Light).

This just hit the PTR - spellid 145760 (talent) grants spellid 145766 (shield).

Just something to watch for now and possibly add to ShieldBars if it goes live.
__________________
Want to chat? You'll find me here if I'm online:
tiker @ conference.funkymonkey.org
(XMPP / Jabber Group Chat)
tiker is offline Report comment to moderator  
Reply With Quote
Unread 05-08-13, 10:09 AM  
shadofall
A Murloc Raider
 
shadofall's Avatar

Forum posts: 9
File comments: 36
Uploads: 0
nice.

so i did 2 tot lfr's last night and didnt notice any issues seemed to work ok with soul leech for as much attention as i pay to it. usually just a glance to see if i have enough absorb up from it fr big damage or if i need to sacrifical pact for buffer :P

i appreciate the effort
shadofall is offline Report comment to moderator  
Reply With Quote
Unread 05-07-13, 07:11 PM  
tiker
A Deviate Faerie Dragon
 
tiker's Avatar
AddOn Author - Click to view AddOns

Forum posts: 13
File comments: 102
Uploads: 1
Seems like that short fix also fixed a 2nd problem I noticed.

Previously if the same shield was applied twice (priest healing shield) Sheild Bars would only show the bar for the first shield applied and would then show the 2nd shield once the first expired. Now both shields are shown.

Here's the other shield additions I've added. (This list will grow as I test them.) I've not set the bar colors so they'll need to be adjusted for your liking.

Code:
[138668] = { name = "Frost Bulwark", duration = 10, priority = 1, tip = 1, line = 3, icon = "spell_frost_chillingarmor", r = 0.0, g = 0.7, b = 0.4 },  -- mages spell steal from mobs in ToT
[108366] = { name = "Soul Leech", duration = 15, priority = 1, tip = 1, icon = "warlock_siphonlife", r = 0.77, g = 0.12, b = 0.23 },
Added but in the untested list.
Code:
[137552] = { name = "Crystal Shell 1", duration = 60, priority = 1, tip = 1, line = 3, icon = "spell_frost_chillingarmor", r = 0.0, g = 0.7, b = 0.4 },
[137633] = { name = "Crystal Shell 2", duration = 60, priority = 1, tip = 1, line = 3, icon = "spell_frost_chillingarmor", r = 0.0, g = 0.7, b = 0.4 },
[137648] = { name = "Crystal Shell 3", duration = 60, priority = 1, tip = 1, line = 3, icon = "spell_frost_chillingarmor", r = 0.0, g = 0.7, b = 0.4 },
[138979] = { name = "Soul Barrier", duration = 20, priority = 1, school = 1, tip = 1, line = 3, icon = "spell_warlock_demonsoul", r = 0.0, g = 0.7, b = 0.4 },
[138925] = { name = "Zandalari Warding", duration = 15, priority = 1, tip = 1, line = 3, icon = "spell_fire_twilightfireward", r = 0.0, g = 0.7, b = 0.4 },
[140380] = { name = "Shield of Hydra Sputum", duration = 15, priority = 1, tip = 1, line = 5, icon = "ability_creature_poison_06", r = 0.0, g = 0.7, b = 0.4 },
[136070] = { name = "Guard", duration = 30, priority = 2, school = 126, tip = 1, line = 5, icon = "Ability_Monk_Guard", r = 0.0, g = 0.7, b = 0.4 },
tiker is offline Report comment to moderator  
Reply With Quote
Unread 05-07-13, 02:16 PM  
tiker
A Deviate Faerie Dragon
 
tiker's Avatar
AddOn Author - Click to view AddOns

Forum posts: 13
File comments: 102
Uploads: 1
Excellent.

A quick test is all I gave it as well so if you do find something let me know. I borrowed my wife's warlock to do this so I won't be testing this under normal playing conditions.

Hopefully the author will add this fix for the next update along with the newer shield spells (3 from trinkets, 1 warlock, 1 mob shield that mages can spell steal, etc.).

Thanks.
tiker is offline Report comment to moderator  
Reply With Quote
Unread 05-07-13, 01:29 PM  
shadofall
A Murloc Raider
 
shadofall's Avatar

Forum posts: 9
File comments: 36
Uploads: 0
awsome. cant wait to try it out. thanks

sweet! seems to be working on a quick test. thanks alot !
Last edited by shadofall : 05-07-13 at 01:46 PM.
shadofall is offline Report comment to moderator  
Reply With Quote
Unread 05-06-13, 08:34 PM  
tiker
A Deviate Faerie Dragon
 
tiker's Avatar
AddOn Author - Click to view AddOns

Forum posts: 13
File comments: 102
Uploads: 1
My raid for the evening was cancelled so I poked around and looks like I've got it working.

File ShieldBars.lua, somewhere near line 1095 you'll see code similar to this:
Code:
			elseif (data.active and data.shieldState == 2) then
				local name, rank, icon, count, debuffType, duration, expirationTime, unitCaster, isStealable, shouldConsolidate, spellId, canApplyAura, isBossDebuff, value1, value2, value3 = UnitBuff("player", data.name, data.rank);
				if (spellId == data.spellID) then
					if (value1 and type(value1) == "number" and value1 > 0 and data.current ~= value1) then
						barUpdate = true;
						data.current = value1;
					end
					if (not spellId) then
						data.shieldState = nil;
						ShieldBars:ShieldDown(data.spellID, shieldSpells[data.spellID], data.casterGUID);
					end
				end
			end
		end
You want to change this to:
Code:
			elseif (data.active and data.shieldState == 2) then
				local name, rank, icon, count, debuffType, duration, expirationTime, unitCaster, isStealable, shouldConsolidate, spellId, canApplyAura, isBossDebuff, value1, value2, value3 = UnitBuff("player", data.name, data.rank);
				if (spellId == data.spellID) then
					if (value1 and type(value1) == "number" and value1 > 0 and data.current ~= value1) then
						barUpdate = true;
						data.current = value1;
					elseif (value2 and type(value2) == "number" and value2 > 0 and data.current ~= value2) then
						barUpdate = true;
						data.current = value2;
						data.expires = expirationTime;
						data.duration = data.expires - currentTime;
					end
					if (not spellId) then
						data.shieldState = nil;
						ShieldBars:ShieldDown(data.spellID, shieldSpells[data.spellID], data.casterGUID);
					end
				end
			end
		end
The difference is the addition of:
Code:
					elseif (value2 and type(value2) == "number" and value2 > 0 and data.current ~= value2) then
						barUpdate = true;
						data.current = value2;
						data.expires = expirationTime;
						data.duration = data.expires - currentTime;
Quick tests so far shows it updates the timer and the damage absorbed. It might help some other shield buffs as well which update without triggering the combat event update but that'll have to be tested still.
tiker is offline Report comment to moderator  
Reply With Quote
Unread 05-06-13, 06:30 PM  
tiker
A Deviate Faerie Dragon
 
tiker's Avatar
AddOn Author - Click to view AddOns

Forum posts: 13
File comments: 102
Uploads: 1
I took a quick look at Shield Tracker and it looks as if it re-scans every time something changes. Shield Bars only modifies what actually changes so it looks to be more efficient. Now, don't take my word on how difficult it will be to update Shield Bars. I'm not the author and am still learning how it works. The author might know a quick fix for it.
tiker is offline Report comment to moderator  
Reply With Quote
Unread 05-06-13, 06:15 PM  
shadofall
A Murloc Raider
 
shadofall's Avatar

Forum posts: 9
File comments: 36
Uploads: 0
Originally Posted by tiker
Ok, fix isn't going to be a quick fix.

Spells that re-apply fire an event - COMBAT_LOG_EVENT_UNFILTERED / SPELL_AURA_REFRESH which is what Shield Bars is looking for. Soul Leech does not fire this event when refreshing.

Most likely because it is not just refreshing itself, more of a applying new with new shield absorb value.

So far, none of the COMBAT_LOG_EVENT_UNFILTERED events fire other than the first time it applies as a new spell which Shield Bars does pick up.

I'll continue playing around with this to find something that works but I won't be done tonight.
sokay. might look at Shield Tracker its been a while since i used it. didnt much care for it but it does soul leech. some how :P
shadofall is offline Report comment to moderator  
Reply With Quote
Unread 05-06-13, 06:08 PM  
tiker
A Deviate Faerie Dragon
 
tiker's Avatar
AddOn Author - Click to view AddOns

Forum posts: 13
File comments: 102
Uploads: 1
Ok, fix isn't going to be a quick fix.

Spells that re-apply fire an event - COMBAT_LOG_EVENT_UNFILTERED / SPELL_AURA_REFRESH which is what Shield Bars is looking for. Soul Leech does not fire this event when refreshing.

Most likely because it is not just refreshing itself, more of a applying new with new shield absorb value.

So far, none of the COMBAT_LOG_EVENT_UNFILTERED events fire other than the first time it applies as a new spell which Shield Bars does pick up.

I'll continue playing around with this to find something that works but I won't be done tonight.
tiker is offline Report comment to moderator  
Reply With Quote
Unread 05-06-13, 04:42 PM  
tiker
A Deviate Faerie Dragon
 
tiker's Avatar
AddOn Author - Click to view AddOns

Forum posts: 13
File comments: 102
Uploads: 1
I've determined where the problem is. The refresh of the shield does not trigger an event like it should so Shield Bars does not see it refresh. Working on a fix now.
tiker is offline Report comment to moderator  
Reply With Quote
Unread 05-06-13, 03:19 PM  
shadofall
A Murloc Raider
 
shadofall's Avatar

Forum posts: 9
File comments: 36
Uploads: 0
Its still not refreshing. i've tried it with out the school, or tip. tried with tip with various lines. it decreases if i get hit but doesn't increase when i do more damage.

im trying to think of any other shields that increase as you do damage and i cant think of any.. blood shield is closest i can come to it. but its 50% of your self heal amount becomes a physical damage shield

duration's meaning is confusing. since sacrificial pact has a 20 sec dur, the code has it as ten but the bar shows 20 when activated. and if i remove duration from soul leech. it still generates a 15 sec bar.

i even dismissed my pet just incase it was a pet issue since pets get the soul leech buff as well.

i actually even stripped it down to just spell id, name, icon, and the color code and got the bar to appear... with the initial value. and count down.


Originally Posted by tiker
I've added a few shield spells to the mod that don't exist but still need to test them.

For your Soul Leech spell, I've noticed a couple things.

First, "duration" is lower case, your line shows "Duration".

Second, you're missing the "tip" value which I believe should be "tip = 1".

Here's how I've added it but haven't tested yet.
[108366] = { name = "Soul Leech", duration = 15, priority = 1, school = 34, tip = 1, icon = "warlock_siphonlife", r = 0.77, g = 0.12, b = 0.23 },

A "line = .." value might be needed as well but I will test this evening if I can and will let you know.
Also the "school = 34" I think identifies a set type of magic the shield absorbs. Doesn't Soul Leech absorb all damage and not specific to a spell type? If so, the "school = 34" value should be removed.
shadofall is offline Report comment to moderator  
Reply With Quote
Unread 05-06-13, 08:54 AM  
tiker
A Deviate Faerie Dragon
 
tiker's Avatar
AddOn Author - Click to view AddOns

Forum posts: 13
File comments: 102
Uploads: 1
I've added a few shield spells to the mod that don't exist but still need to test them.

For your Soul Leech spell, I've noticed a couple things.

First, "duration" is lower case, your line shows "Duration".

Second, you're missing the "tip" value which I believe should be "tip = 1".

Here's how I've added it but haven't tested yet.
[108366] = { name = "Soul Leech", duration = 15, priority = 1, school = 34, tip = 1, icon = "warlock_siphonlife", r = 0.77, g = 0.12, b = 0.23 },

A "line = .." value might be needed as well but I will test this evening if I can and will let you know.
Also the "school = 34" I think identifies a set type of magic the shield absorbs. Doesn't Soul Leech absorb all damage and not specific to a spell type? If so, the "school = 34" value should be removed.
Last edited by tiker : 05-06-13 at 08:56 AM.
tiker is offline Report comment to moderator  
Reply With Quote
Post A Reply



Category Jump: