SilverDragon - Rare Scanner
SilverDragon
SilverDragon tracks rares in World of Warcraft. It will try everything possible to notice them and tell you about them.
How does it search?
Vignettes
Those little skull icons you see on the minimap. If one of them is a rare SilverDragon knows about, it'll yell at you.
Targets
If you mouse over or target a rare mob, SilverDragon will notice it.
Nameplates
If you have enemy nameplates turned on, SilverDragon will keep an eye on them to look for the names of known rares.
Macro
SilverDragon can also create a macro to target any rares that are known in the current zone. You can stick this on your actionbars as a button to spam while chasing after a rare, or bind it to a key. This is sort of a last resort.
Chat
Some rares yell in zone chat. If SilverDragon notices those yells, it'll alert you.
Dark Magic
This abuses detection of when Blizzard blocks attempts to call a protected function (TargetUnit
) to work out when you're in targetting range of a unit with a given name
This inherently causes in-game errors, so it is disabled by default. Enable in the addon config under Scanning / Dark Magic
.
By default it's less-aggressive, scanning through rares in the zone without known vignettes at a rate of 1/second. However, you can turn that rate way up if you'd like. You can also turn on an option to automatically hide the error messages it causes, but beware that this will potentially cause taint issues that'll leave you needing to /reload
eventually.
How will I know when a rare is seen?
Frame
When a rare appears, SilverDragon will pop up a frame that you can click on to target it.
Warning: If you're in combat, secure action restrictions mean that it won't show up until combat finishes.
Sounds
You can choose from assorted sounds to play when a rare is seen. The sound can loop for a while, to make sure you don't miss it.
There's special settings for rares that drop mounts and world boss rares which you might want to call up a group for. If you're sitting mostly-AFK on a Time-Lost Proto Drake spawn, you probably want the sound that plays to be utterly ridiculous and go on for a good long while, to make sure you don't miss that sucker.
Messages
A notice can be sent to a number of places:
- your scrolling combat text
- your chat frame
- a channel in your chat frame (announcing it to your party, for instance)
- a popup window
- etc
History
A log of seen rares will be shown in a window, so you can easily glance over spawn times.
Other useful things?
Custom mobs
In SilverDragon's options you'll find a "Mobs" section. In the "Always" section, you can add any mob you want to be scanned for. All you need to know is the mob id.
So, let's say you wanted to keep an eye out for Lil Timmy in Stormwind, to buy the kitten he sells. You would...
- Go to his wowhead page.
- Grab his id from the URL. It's
8666
. - Enter
8666
into the "add" field, and click "okay". - Play with your new kitten.
Yes, this example dates me.
Ignoring mobs
If there's some mob you don't want to hear about for whatever reason, just go to the "Ignore" section of the options. Again, enter the mob's id into the "add" box, then click okay. Bam! You will never again be told that Vern is up.
(Actually, Vern is ignored by default. But you get the idea.)
Alternately, right-click the close button for the popup and that'll ignore it as well.
Syncs
SilverDragon will talk to itself. It can communicate with other copies of itself run by people in your party / guild, and tell you when they see a rare mob. (If there's a group of you camping all the Time-Lost Proto Drake spawns, say...)
You can turn this off completely, if you want to be private about it.
Tooltips
Some rares are part of an achievement. When you mouse over a rare mob, SilverDragon will add to the tooltip whether you've already killed it, so you know whether you need to rush for it.
Broker
SilverDragon includes a Broker plugin. It'll attach itself to the addon compartment and also your minimap, or a Broker container you have installed, and show you a list of the mobs it knows about in the current zone.
Other addons you may find useful
- AppearanceTooltip: integrates with the SilverDragon loot popups and shows transmog-known status.
- ServerRestartSound: plays a sound when the server's about to restart. If you're AFK-camping for a rare spawn, you probably want to know about this.
- ObjectScanner: A few rares are hidden away behind interacting with world-objects like the Edge of Reality. These have to be localized individually, so you need to work out what they're called in your language and set up a watch for tooltips mentioning them. This addon does that bit.
- ButtonBin: a broker display. SilverDragon's minimap icon will show up on it (or any other addon like it) instead of cluttering up your minimap, if you have it installed.
Hi I think the rare spawn Warlord Kolkanis doesn't exist anymore in southern Durotar, seems to be showing up in the addon
I tried adding Disturbed Dirt and Tuskarr Tacklebox to the custom and ignore tabs under mobs in hopes that it would stop them from popping up. I searched high and low to no luck in achieving this other than completely turning off all treasures, which I'd like to avoid if possible.
Is this possible currently or would it have to be a feature added?
Thanks!
In reply to Chromos_Def:
Options -> SilverDragon -> Scanning -> Vignettes -> Ignore -> Tick "Tuskarr Tracklebox" and more if you want. You added it as if it was a mob. That doesnt work.
In reply to psytec_:
Bah!!!! I did not see the + expand icon next to Vignettes before.
Thank you!
Forbidden Reach: Not announcing or Vignetting "small Treasures" is there something i have to do it?
Hi there,
Thanks for this addon! I have noticed that in Forbidden Reach, all of the new rares do not seem to announce unless or until they are moused over.
Is that intended behavior?
Many thanks.
Missing the "Notfar" rare that drops a toy: https://www.wowhead.com/npc=193225/notfar-the-unbearable
2x SilverDragon/targets/queue.lua:123: Action[SetPoint] failed because[Cannot anchor to itself]: attempted from: SilverDragonPopupButton:SetPoint.
[string "=[C]"]: in function `SetPoint'
[string "@SilverDragon/targets/queue.lua"]:123: in function `Reflow'
[string "@SilverDragon/targets/queue.lua"]:87: in function `?'
[string "@Ace3/CallbackHandler-1.0-8/CallbackHandler-1.0.lua"]:114: in function <...Ons/Ace3/CallbackHandler-1.0/CallbackHandler-1.0.lua:114>
[string "=[C]"]: ?
[string "@Ace3/CallbackHandler-1.0-8/CallbackHandler-1.0.lua"]:24: in function <...Ons/Ace3/CallbackHandler-1.0/CallbackHandler-1.0.lua:20>
[string "@Ace3/CallbackHandler-1.0-8/CallbackHandler-1.0.lua"]:59: in function `Fire'
[string "@Ace3/AceEvent-3.0-4/AceEvent-3.0.lua"]:120: in function <Ace3/AceEvent-3.0/AceEvent-3.0.lua:119>
1x SilverDragon/targets/popup.lua:55: attempt to index local 'data' (a nil value)
[string "@SilverDragon/targets/popup.lua"]:55: in function `RefreshData'
[string "@SilverDragon/targets/popup.lua"]:45: in function `ShowFrame'
[string "@SilverDragon/targets/queue.lua"]:74: in function `ProcessQueue'
[string "@SilverDragon/targets/queue.lua"]:65: in function `Enqueue'
[string "@SilverDragon/targets/module.lua"]:96: in function `?'
[string "@AllTheThings/lib/CallbackHandler-1.0-8/CallbackHandler-1.0.lua"]:109: in function <...ings/lib/CallbackHandler-1.0/CallbackHandler-1.0.lua:109>
[string "=[C]"]: ?
[string "@AllTheThings/lib/CallbackHandler-1.0-8/CallbackHandler-1.0.lua"]:19: in function <...ings/lib/CallbackHandler-1.0/CallbackHandler-1.0.lua:15>
[string "@AllTheThings/lib/CallbackHandler-1.0-8/CallbackHandler-1.0.lua"]:54: in function `Fire'
[string "@SilverDragon/outputs/announce.lua"]:438: in function `?'
[string "@AllTheThings/lib/CallbackHandler-1.0-8/CallbackHandler-1.0.lua"]:109: in function <...ings/lib/CallbackHandler-1.0/CallbackHandler-1.0.lua:109>
[string "=[C]"]: ?
[string "@AllTheThings/lib/CallbackHandler-1.0-8/CallbackHandler-1.0.lua"]:19: in function <...ings/lib/CallbackHandler-1.0/CallbackHandler-1.0.lua:15>
[string "@AllTheThings/lib/CallbackHandler-1.0-8/CallbackHandler-1.0.lua"]:54: in function `Fire'
[string "@SilverDragon/core.lua"]:454: in function `NotifyForMob'
[string "@SilverDragon/scan/vignettes.lua"]:301: in function <SilverDragon/scan/vignettes.lua:281>
[string "=(tail call)"]: ?
[string "@SilverDragon/scan/vignettes.lua"]:277: in function `?'
[string "@Ace3/CallbackHandler-1.0-8/CallbackHandler-1.0.lua"]:114: in function <...Ons/Ace3/CallbackHandler-1.0/CallbackHandler-1.0.lua:114>
[string "=[C]"]: ?
[string "@Ace3/CallbackHandler-1.0-8/CallbackHandler-1.0.lua"]:24: in function <...Ons/Ace3/CallbackHandler-1.0/CallbackHandler-1.0.lua:20>
[string "@Ace3/CallbackHandler-1.0-8/CallbackHandler-1.0.lua"]:59: in function `Fire'
[string "@Ace3/AceEvent-3.0-4/AceEvent-3.0.lua"]:120: in function <Ace3/AceEvent-3.0/AceEvent-3.0.lua:119>
Locals:
self = <table> {
defaults = <table> {
}
Point = <function> defined @SilverDragon/targets/module.lua:145
Marked = <function> defined @SilverDragon/targets/module.lua:153
SeenLoot = <function> defined @SilverDragon/targets/module.lua:128
CreateAnchor = <function> defined @SilverDragon/targets/module.lua:254
RefreshLootData = <function> defined @SilverDragon/targets/popup.lua:98
IterateEmbeds = <function> defined @Ace3/AceAddon-3.0/AceAddon-3.0.lua:438
EnumerateActive = <function> defined @SilverDragon/targets/queue.lua:39
SendLinkToMob = <function> defined @SilverDragon/targets/module.lua:213
GetGeneralID = <function> defined @SilverDragon/targets/module.lua:161
SetDefaultModulePrototype = <function> defined @Ace3/AceAddon-3.0/AceAddon-3.0.lua:405
queue = <table> {
}
defaultModuleState = true
IsEnabled = <function> defined @Ace3/AceAddon-3.0/AceAddon-3.0.lua:447
stack = <table> {
}
DisableModule = <function> defined @Ace3/AceAddon-3.0/AceAddon-3.0.lua:346
RegisterLookConfig = <function> defined @SilverDragon/targets/config.lua:184
RegisterMessage = <function> defined @Ace3/CallbackHandler-1.0/CallbackHandler-1.0.lua:85
UnregisterMessage = <function> defined @Ace3/CallbackHandler-1.0/CallbackHandler-1.0.lua:148
AnnounceLoot = <function> defined @SilverDragon/targets/module.lua:100
db = <table> {
}
CanPoint = <function> defined @SilverDragon/targets/module.lua:141
SetEnabledState = <function> defined @Ace3/AceAddon-3.0/AceAddon-3.0.lua:420
ShowFrame = <function> defined @SilverDragon/targets/popup.lua:23
enabledState = true
Looks = <table> {
}
LookConfig = <table> {
}
SetModel = <function> defined @SilverDragon/targets/popup.lua:134
IterateModules = <function> defined @Ace3/AceAddon-3.0/AceAddon-3.0.lua:433
overflow = <table> {
}
Acquire = <function> defined @SilverDragon/targets/queue.lua:23
ResetLook = <function> defined @SilverDragon/targets/popup.lua:18
GetPopupLookPool = <function> defined @SilverDragon/targets/queue.lua:8
IsModelBlacklisted = <function> defined @SilverDragon/targets/popup.lua:166
OnInitialize = <function> defined @SilverDragon/targets/module.lua:49
NewModule = <function> defined @Ace3/AceAddon-3.0/AceAddon-3.0.lua:231
RefreshMobData = <function> defined @SilverDragon/targets/popup.lua:86
UpdateWithData = <function> defined @SilverDragon/targets/queue.lua:98
anchor = Frame {
}
defaultModuleLibraries = <table> {
}
Reflow = <function> defined @SilverDragon/targets/queue.lua:113
GetName = <function> defined @Ace3/AceAddon-3.0/AceAddon-3.0.lua:275
Redraw = <function> defined @SilverDragon/targets/queue.lua:131
name = "SilverDragon_ClickTarget"
Release = <function> defined @SilverDragon/targets/queue.lua:27
orderedModules = <table> {
}
Announce = <function> defined @SilverDragon/targets/module.lua:65
Disable = <function> defined @Ace3/AceAddon-3.0/AceAddon-3.0.lua:310
GetPositionFromData = <function> defined @SilverDragon/targets/module.lua:236
ApplyLook = <function> defined @SilverDragon/targets/popup.lua:13
ProcessQueue = <function> defined @SilverDragon/targets/queue.lua:69
baseName = "SilverDragon"
pools = <table> {
}
RegisterConfig = <function> defined @SilverDragon/targets/config.lua:11
CreatePopup = <function> defined @SilverDragon/targets/popup.lua:188
IsModule = <function> defined @Ace3/AceAddon-3.0/AceAddon-3.0.lua:213
SizeModel = <function> defin
I am trying to get this to work consistently for Storm Rares (like Pipspark) and I'm having zero luck.
I first added them all using the wowhead page and ID on the Custom tab of Mobs in Silver Dragon. The first time I added them one showed up, a dialog popped up for them and it all worked great. But it hasn't worked right since.
I no longer have any dialog pop up and I'm lucky if I see them on the edge of the mini-map. I do occasionally see an announcement saying they've appeared, but still no dialog.
Any ideas? These storm rares are important enough I thought I'd see them already added somehow.
It's entirely possible that I'm skipping over this option within the settings, but is there a way to filter rares based on eligible drops available rather than by achieved/non-achieve/quest-complete? For example, I have collected all drake manuscripts/mail transmog from Brundin the Dragonbane, but I don't want to manually filter it because it has a drop that I need on a plate wearer and manually filtering it removes it across the board from all toons unless I create a profile for each character. So I'd like it to be filtered while I'm on my hunter, but not while I'm on my paladin unless that toon gathers everything.
Can you please remove or add option to remove tooltip hover delay? And just leave it at blizzard default?
Reason being it gets a bit annoying to have that small delay when trying to hover over map where there are many elites clumped up.
Good example is brackehide hollow where there are 5 different elites or more. Its annoying not being able to get rid of tooltip instantly.
It also causes weird issues with minimap bag addons on minimap like MBB. You can test it by quickly hovering over different addon icons - Silver dragon is the only one acting all buggy overlaying on other things.
Minor issue but very annoying - i hope you will consider this :)
Thx for wonderful addon
Hello, I put a mod on "ignore" list by mistake, clicking the hide function on the map. How can I remove it from the "ignore" list? Thanks
Starting few days ago for those "Expedition Scout Packs" i get Illidan's sound "you are not prepared". that is set for mount not trivial loot. I dont know how to stop it!
In reply to axxislex:
The scout packs have a chance to drop a mount once you hit a certain renown with Dragon Expedition. Don't remember the exact name, but it's another one of those dragonfly mounts similar to the ones you can buy from the expedition faction. That's probably why it's using that sound option.
Can we have the icons on maps for Classic again please? That was the main reason I installed this way back when.
I love this addon but clicking on the popup thing has NEVER done a darn thing. Is it not supposed to highlight / select the rare on the minimap? I never did for me. Also, I get alerts for treasures all the time. But where are they? There is nothing on my minimap so why alert me? If possible, can you "flash" the treasure, flash the rare, select both on the minimap or at the very least flash a direction arrow on the minimap so I know the alert came from something thattaway. Thx. Don't get me wrong it's an awesome addon but there's always room for improvement, in anything, like for overachiever, I wish they'd u pdate that one. :) And QuestPlates. So handy.
In reply to Glaciermane:
Everything you mentioned works just fine for me. I've been using this addon for years. Check that it's not another addon bugging things out.
Rare might be too far to target. If you're close, then it will.
In all honesty, chest alert is usually pointless anyway. Its almost easier to refer to minimap for chests. You cant target them anyway. I dont see how an addon can do the same without it being way too complex.
Is there a way to disable Treasure announcements only in certain zones?
Expedition Scout's Pack is suddenly making the sound for a mount instead of a treasure. Anyone have any ideas?