function() local GetUnitAuraValue = function(aura, valueType, unit, sourceUnit)

if not aura then return end valueType, unit = valueType or 'name', unit or 'player' if not UnitExists(unit) then return end local v, value = {}

local GetAuraValues = function(unit, aura, filter)

local v, filter = {}, filter or 'HELPFUL'

v.name, v.rank, v.icon, v.count, v.auraType, v.duration, v.expirationTime, v.unitCaster, v.isStealable, v.shouldConsolidate, v.spellId, v.canApplyAura, v.isBossDebuff, v.value1, v.value2, v.value3 = UnitAura(unit, aura, type(aura)=='number' and filter or nil, filter)

return v

end

local GetAuraValue = function(v, t, s) if v[t] then if s then if v.unitCaster and UnitExists(s) and v.unitCaster == s then return v[t] end else return v[t] end end end

if type(aura) == 'string' then

v = GetAuraValues(unit, aura)

if GetAuraValue(v,valueType,sourceUnit) then return GetAuraValue(v,valueType,sourceUnit) end

v = GetAuraValues(unit, aura, 'HARMFUL')

if GetAuraValue(v,valueType,sourceUnit) then return GetAuraValue(v,valueType,sourceUnit) end

elseif type(aura) == 'number' then

for i=1,40 do v = GetAuraValues(unit, i)

if v.spellId and v.spellId == aura then if GetAuraValue(v,valueType,sourceUnit) then return GetAuraValue(v,valueType,sourceUnit) end end

v = GetAuraValues(unit, i, 'HARMFUL')

if v.spellId and v.spellId == aura then if GetAuraValue(v,valueType,sourceUnit) then return GetAuraValue(v,valueType,sourceUnit) end end

end

end

end

local ShortenNumber = function(value, decimal, format)

if not value then return end

format = format or '%s%s'

function round(val, decimal)

if (decimal) then

return math.floor( (val * 10^decimal) + 0.5) / (10^decimal)

else

return math.floor(val+0.5)

end

end

if(value > 999999999) then return (format):format(round(value/1000000000, decimal), 'b') end

if(value > 999999) then return (format):format(round(value/1000000, decimal), 'm') end

if(value > 999) then return (format):format(round(value/1000, decimal), 'k') end

end

-- BEGIN EDIT

local shield = ShortenNumber(GetUnitAuraValue(235450, 'value2'))

return shield or ''

-- END EDIT

end