Go to Page... |
Updated: | 01-25-10 11:34 AM |
Created: | unknown |
Downloads: | 117,158 |
Favorites: | 376 |
MD5: |
Purpose : Scans your equipment by reading item tooltips for cumulative bonuses like additional spell damage and sums them up. It can run as a standalone tooltip scanning mod, but the original intention behind its creation was to be a library for other mods, requesting item bonus data.
LDB Plugin : As of version 4.6, BonusScanner provides a Load-On-Demand LDB feed, called Broker_BonusScanner. The plugin is enabled by default but can be disabled via a simple slash command (/bscan broker). The LDB plugin can be configured by simply right-clicking on it. An interface options menu should open, allowing you to manipulate aspects of the button/block ('watched' bonuses, combat ratings, labels) and the tooltip (select bonuses shown at any time via the bonus category tabs, configure average item level, gem summary etc). In addition, the plugin will register and automatically enable a minimap icon the first time its loaded, for users lacking a proper LDB display addon (as a side effect, button functionality is obsoleted). The minimap icon can be optionally turned off. Support for other types of plugins (eg Titan, FuBar exclusive) is being discontinued.
Basic Usage (as a function library):
BonusScanner.active = 1, when BonusScanner is active
BonusScanner.bonuses always contains a table of bonuses for the current equipment (player). In addition, BonusScanner.GemsRed, BonusScanner.GemsYellow, BonusScanner.GemsBlue, BonusScanner.GemsPrismatic contain the total number of gems per color for the player. BonusScanner.AverageiLvl will hold the average item level value of the player's gear.
Example: BonusScanner.bonuses['HEAL'] contains the current healing bonus.
The addon also provides the following API:
BonusScanner:GetBonus(bonus)
- returns total of a certain bonus type or 0 if that bonus type is not present.
- example: BonusScanner:GetBonus('CRIT') returns crit chance bonus of your current equipment.
BonusScanner:GetSlotBonuses(slotname)
- returns table of bonuses on a certain item slot or an empty table if nothing present.
- example: BonusScanner:GetSlotBonuses('Trinket0') returns bonuses on your first trinket slot. Valid slot names are : 'Head', 'Neck', 'Shoulder', 'Shirt', 'Chest', 'Waist', 'Legs', 'Feet', 'Wrist', 'Hands', 'Finger0', 'Finger1', 'Trinket0', 'Trinket1', 'Back', 'MainHand', 'SecondaryHand', 'Ranged', 'Tabard'. They are pretty much self-explanatory.
BonusScanner:GetBonusDetails(bonus)
- returns slot distribution of a certain bonus type.
BonusScanner:GetSlotBonus(bonus, slotname)
- returns the bonus amount of a certain bonus type on a certain item slot.
- example: BonusScanner:GetSlotBonus('DMG', 'Head') returns the spell damage bonus on your helmet.
BonusScanner:GetRatingBonus(bonustype, value, level, class)
- returns the percentage or raw number of skillpoints of a bonus rating value.
bonustype: represents the bonus type.
Valid types are : "EXPERTISE", "DEFENSE", "DODGE", "PARRY", "BLOCK", "TOHIT", "CRIT", "RANGEDHIT", "RANGEDCRIT", "HASTE", "SPELLTOHIT", "SPELLCRIT", "HOLYCRIT", "SPELLH" (aka Spell Haste), "RESILIENCE", "ARMORPEN".
value: decimal number of the rating value.
level: The level of the character.
class: The character class e.g "DRUID" or "DEATHKNIGHT" (uppercase is preferred). If the variable is not specified, the character class of the current player is used.
- example: GetRatingBonus('CRIT',200,70, "SHAMAN") will return the percentage number corresponding to 200 critical strike rating for a level 70 Shaman character.
BonusScanner:GetGemSum(itemlink)
- returns 4 integer values representing the number of Red, Yellow, Blue and Prismatic gems (in this order) that exist on the specific itemlink (link is the itemlink in this case).
BonusScanner:ItemHasEnchant(itemlink)
- returns true, enchantID if an enchant exists on the specific itemlink or false if an enchant is absent.
BonusScanner:GetEmptySockets(itemlink)
- returns 4 integer values : emptyMetaSockets, emptyRedSockets, emptyYellowSockets, emptyBlueSockets. The description of the values returned should be self explanatory.
Available bonus types are:
--Base Stats
STR = 'Strength',
AGI = 'Agility',
STA = 'Stamina',
INT = 'Intellect',
SPI = 'Spirit',
ARMOR = 'Armor' (total),
--Resistances
ARCANERES = 'Arcane Resistance',
FIRERES = 'Fire Resistance',
NATURERES = 'Nature Resistance',
FROSTRES = 'Frost Resistance',
SHADOWRES = 'Shadow Resistance',
--Skills
FISHING = 'Fishing',
MINING = 'Mining',
HERBALISM = 'Herbalism',
SKINNING = 'Skinning',
DEFENSE = 'Defense Rating',
EXPERTISE = 'Expertise Rating',
--Abilities
BLOCK = 'Block Rating',
BLOCKVALUE = 'Block Value',
DODGE = 'Dodge Rating',
PARRY = 'Parry Rating',
RESILIENCE = 'Resilience Rating',
DMGWPN = 'Increased Melee Damage',
RANGEDDMG = 'Ranged Weapon Damage',
ARMORPEN = 'Armor Penetration',
-- DPS
DPSMAIN = 'Main Weapon(s) DPS',
DPSRANGED = 'Ranged Weapon DPS',
DPSTHROWN = 'Thrown Weapon DPS',
--Attack Power
ATTACKPOWER = 'Attack Power',
ATTACKPOWERUNDEAD = 'Attack Power against Undead',
ATTACKPOWERFERAL = 'Attack Power in feral form',
RANGEDATTACKPOWER = 'Ranged Attack Power',
--Critical
CRIT = 'Critical Strike Rating',
RANGEDCRIT = 'Ranged Critical Strike',
--Hit
TOHIT = 'Hit Rating',
RANGEDHIT = 'Ranged Hit Rating',
--Haste
HASTE = 'Haste Rating',
--Spell Damage/healing
DMGUNDEAD = 'Spell Damage against Undead',
ARCANEDMG = 'Arcane Damage',
FIREDMG = 'Fire Damage',
FROSTDMG = 'Frost Damage',
HOLYDMG = 'Holy Damage',
NATUREDMG = 'Nature Damage',
SHADOWDMG = 'Shadow Damage',
SPELLPEN = 'Spell Penetration',
SPELLPOW = 'Spell Power',
--Regen
HEALTHREG = 'Life Regeneration',
MANAREG = 'Mana Regeneration',
--Health/mana
HEALTH = 'Life Points',
MANA = 'Mana Points'
--Extra bonuses
THREATREDUCTION = '% Reduced Threat',
THREATINCREASE = '% Increased Threat',
INCRCRITDMG = '% Increased Critical Damage',
SPELLREFLECT = '% Spell Reflect',
STUNRESIST = '% Stun Resistance',
PERCINT = '% Intellect',
PERCBLOCKVALUE = '% Shield Block Value',
-- WOTLK Metagems
PERCARMOR = '% Increased Armor Value',
PERCMANA ='% Mana',
PERCREDSPELLDMG = '% Reduced Spell Damage Taken',
PERCSNARE = '% Reduced Snare/Root Duration',
PERCSILENCE = '% Reduced Silence Duration',
PERCFEAR = '% Reduced Fear Duration',
PERCSTUN = '% Reduced Stun Duration',
PERCCRITHEALING = '% Increased Critical Healing',
More bonus types available for detection can and will be added as I see fit.
Slash Commands : BonusScanner provides a few slash commands, for configuration purposes. Usage is /bonusscanner or /bscan. The options are:
/bscan show - Shows all bonuses of your current equipment.
/bscan details - Shows bonuses with slot distribution.
/bscan tooltip - Attaches bonus summary on item/itemlink tooltips.
/bscan tooltip gems - Attaches gem color count on tooltips (requires tooltips enabled - holding Ctrl down while hovering over an itemlink will achieve the same result).
/bscan itembasic - Attaches item level and item ID properties on tooltips.
/bscan itemextend - Attaches enchant and gem ID properties on tooltips.
/bscan broker - Enables/Disables the LDB feed. If the plugin is already loaded, changes will take effect after reloading the UI.
/bscan clearcache - Clears the item cache and forces a garbage collection (mostly used for debugging purposes).
/bscan target - Shows bonuses for your target's equipped gear (must be in inspect range and non-NPC. As of WoW 2.4 this will work on opposite faction players, if located inside a neutral town).
/bscan target 'player' - Whispers bonuses for your target's equipped gear (must be in inspect range) to the player specified.
/bscan 'itemlink' - Shows bonuses of linked item (insert link with Shift-Click).
/bscan 'itemlink' 'player' - Whispers bonuses of linked item to the player specified.
/bscan 'slotname' - Shows bonuses of given equipment slot.
Installation : Unzip the BonusScanner archive to your ../Interface/Addons folder, overwriting any previous versions.
Additional Considerations :
- Set bonuses will not be taken into consideration in the item bonus summary, on an item tooltip, as they aren’t really part of the item but rather conditional. They will still be counted as usual in the overall summary for a specific target or the player himself. This is intended behavior.
- Detection of temporary bonuses derived by oils, poisons or stones has been disabled as again they do not represent static bonuses but have a limited duration.
- Gem colors will only be counted properly if the gems in question exist in the player's local cache (aka if the player has 'seen' the gems even once). Note that the local cache normally gets wiped on every major patch, so the gems will need to be 'seen' again for their colors to be counter properly. This is sadly, a limitation with Blizzard's system of itemlinks and the API.
- Metagem bonuses when shown as part of an item's summary, will only be counted if the user fulfills the requirements. They should still be counted properly for their owners.
Credits: BonusScanner was not originally created by myself, although a good part of its code has been written from scratch. I’ve been using the addon as part of Titan Panel back in the day and just picked it up where others left it, having very little to do personally with programming and lua. This addon was originally developed by CrowleyAJ and thus all credit goes to him for his hard work. Special thanks also goes to Archarodim, jmsteele, Xinhuan (for the gem table idea) and all the people that have contributed one way or another into keeping the addon alive.
Known Issues in v5.1
- Only English localization is fully supported at the moment. Other locales may be missing a number of bonus patterns and gem color support. Any help to correct misinterpretations, non-localized strings or add missing patterns will be greatly appreciated.
![]() |
Comment Options |
Prindarla |
View Public Profile |
Send a private message to Prindarla |
Find More Posts by Prindarla |
Add Prindarla to Your Buddy List |
![]() |
|
A Cyclonian
Forum posts: 43
File comments: 32
Uploads: 0
|
Looks like both the original and this have both been abandoned. Any ideas for a replacement?
|
![]() |
![]() |
erogroth |
View Public Profile |
Send a private message to erogroth |
Find More Posts by erogroth |
Add erogroth to Your Buddy List |
WoWGeek |
View Public Profile |
Send a private message to WoWGeek |
Find More Posts by WoWGeek |
Add WoWGeek to Your Buddy List |
![]() |
||
|
Re: Will this be updated?
|
|
![]() |
![]() |
Mirrikat45 |
View Public Profile |
Send a private message to Mirrikat45 |
Find More Posts by Mirrikat45 |
Add Mirrikat45 to Your Buddy List |
![]() |
|
A Murloc Raider
Forum posts: 5
File comments: 3
Uploads: 0
|
Will this be updated?
Will this be updated for the latest patch please?
|
![]() |
![]() |
Xye |
View Public Profile |
Send a private message to Xye |
Find More Posts by Xye |
Add Xye to Your Buddy List |
dranged |
View Public Profile |
Send a private message to dranged |
Find More Posts by dranged |
Add dranged to Your Buddy List |
![]() |
|
A Kobold Labourer
Forum posts: 0
File comments: 13
Uploads: 0
|
I can't get the LDB display to show up either, nor will it hook into titan panel. Titan panel is not even detecting anything in the plugins tab from the interface options menu, so something might be missing.
|
![]() |
![]() |
thekitchensink |
View Public Profile |
Send a private message to thekitchensink |
Find More Posts by thekitchensink |
Add thekitchensink to Your Buddy List |
![]() |
|
A Kobold Labourer
Forum posts: 0
File comments: 1
Uploads: 0
|
LDB Configuration Panel
I can't seem to find a way to open the config panel, am I missing something?
Thank you |
![]() |
![]() |
mearlin |
View Public Profile |
Send a private message to mearlin |
Find More Posts by mearlin |
Add mearlin to Your Buddy List |
![]() |
|
|
cant get the LDB to show up.
|
![]() |
![]() |
zoktar |
View Public Profile |
Send a private message to zoktar |
Find More Posts by zoktar |
Add zoktar to Your Buddy List |
![]() |
|
A Murloc Raider
Forum posts: 5
File comments: 12
Uploads: 0
|
Conflict with Grid ?
Am I the only one that has a conflict with Grid and this addon ?
When BS is enabled, My Grid can not display correctly. Can anyone else confirm this or is it just me and I have another addon in conjunction with BS that is causing the conflict ? *FIXED: I turned off BS and grid would work but break when i turned it back on. But then it worked on another char. I then turned off Honor_Fu and ReccomendedZone_Fu and the conflict between BS and Grid was gone.
Last edited by vodanh : 04-05-10 at 02:19 AM.
|
![]() |
![]() |
vodanh |
View Public Profile |
Send a private message to vodanh |
Find More Posts by vodanh |
Add vodanh to Your Buddy List |
![]() |
|
A Kobold Labourer
Forum posts: 0
File comments: 1
Uploads: 0
|
LDB
Oddly, it is not showing up for Titan Panel with me either.
I had it working for a while, with a version of BonusScanner that had a separate folder too: Broker_BonusScanner. This folder is missing from the current install; fine. The "/bscan broker" command "enables" and "disables" the module according to chat, but it is not listed in Titan anymore. Not sure how to debug LDB problems, could it be hooked into another addon? No problems with other LDB things and Titan so far.
Last edited by Grenaid : 03-31-10 at 04:29 PM.
|
![]() |
![]() |
Grenaid |
View Public Profile |
Send a private message to Grenaid |
Find More Posts by Grenaid |
Add Grenaid to Your Buddy List |
![]() |
|
|
From Titan panel:
Ability to utilize Data Broker plug-ins. |
![]() |
![]() |
Star_Hobbit |
View Public Profile |
Send a private message to Star_Hobbit |
Find More Posts by Star_Hobbit |
Add Star_Hobbit to Your Buddy List |
![]() |
|
|
![]() is there a way to incorperate this into titan panel?
|
![]() |
![]() |
yami |
View Public Profile |
Send a private message to yami |
Find More Posts by yami |
Add yami to Your Buddy List |
![]() |
||
|
Re: here are your new errors
|
|
![]() |
![]() |
Tristanian |
View Public Profile |
Send a private message to Tristanian |
Find More Posts by Tristanian |
Add Tristanian to Your Buddy List |
![]() |
|
A Kobold Labourer
Forum posts: 0
File comments: 153
Uploads: 0
|
here are your new errors
Date: 2009-08-12 08:56:30
ID: -1 Error occured in: Global Count: 3 Message: ..\FrameXML\GameTooltip.lua line 126: StatLogicTooltipMoneyFrame1:SetPoint(): Couldn't find region named 'StatLogicTooltipTextLeft10' Debug: [C]: ? [C]: SetPoint() ..\FrameXML\GameTooltip.lua:126: SetTooltipMoney() ..\FrameXML\GameTooltip.lua:88: GameTooltip_OnTooltipAddMoney() [string "*:OnTooltipAddMoney"]:1: [string "*:OnTooltipAddMoney"]:1 [C]: SetHyperlink() ...ankPoints\libs\LibStatLogic-1.1\LibStatLogic-1.1.lua:12257: GetSum() ...ankPoints\libs\LibStatLogic-1.1\LibStatLogic-1.1.lua:12938: GetDiff() TankPoints\TankPointsTooltips.lua:271: handler() ...usScanner\libs\LibTipHooker-1.1\LibTipHooker-1.1.lua:169: ...usScanner\libs\LibTipHooker-1.1\LibTipHooker-1.1.lua:164 [C]: SetAuctionItem() ...ace\AddOns\Blizzard_AuctionUI\Blizzard_AuctionUI.lua:1405: AuctionFrameItem_OnEnter() [string "*:OnEnter"]:2: [string "*:OnEnter"]:1 AddOns: Swatter, v5.6.4389 (KangaII) Corpse, v3.2.0.1 Ace2, v |
![]() |
![]() |
lewal |
View Public Profile |
Send a private message to lewal |
Find More Posts by lewal |
Add lewal to Your Buddy List |
![]() |