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.
In reply to Kemayo:
OK, that at least explains it. Thanks for your time in trying to figure out a solution, I'll add it manually on the off chance, but I guess the macro way is the only way currently unless Blizz makes a change. Appreciate it.
How in the world do I mute that insanely loud alert???
I just need the little popup - not a fucking heart attack
But seriously... How, Currently trying to look through the files in Explorer to delete the sounds
EDIT: Okay.. From previous comments I can tell that you have removed the SilverDragon -> Outputs -> Sounds tab so it is now impossible to change... God fucking job...
No, that's still there. You might have missed the "+" by the "Outputs" tab?
Anyway, it plays at whatever your master sound volume is set to. Perhaps you have your master volume set high and all your sub-channels set low?
In case anyone else experiences this, we talked elsewhere about it, and worked out that a really old separately installed version of Ace3 was causing this issue.
Sabriel is misspelled as "Sabreil"
I fixed that back in November, funnily enough! It's just stuck in a locale cache. The alpha builds at the moment will fix that when you actually-see the mob -- I'll get a proper release out soon.
Took me hours to sort through my addons to figure out this one was causing me so much damn trouble,.
silverdragon map overlays keeps me from being able to zoom out on my map - functions greyd out.
removing it solves the issue.
is there a fix?
Doesn’t happen to me. I need more details to know what might be causing it. Does it happen when only SilverDragon is enabled?
In reply to Kemayo:
Same problem here as the guy above. Can't zoom out in my map when using Map Overlays. Any fix?
rare is spelled "Corpsecutter Moroc" now
Oh, they finally fixed that? I'm honestly a bit surprised.
Clickin on the pretty nameplate generated when a rare is detected no longer targets it, even when it's enabled. Plz fix thx.
Unhelpfully, it works for me. Could you give me more details? In/out of combat? Any specific rare it's not working on? Any lua errors that're happening?
Hi. When hovering over a skull icon on the map and seeing the rewards, when I try to hover over one of the items the tooltip disappears. Is there anyway or a hotkey to persist the tooltip so I can review the items the rare drops?
I just switched to this from NPCScan and there's already a treasure trove more control and details to contend with. It's great.
That being said, is there a way to hide achievement/quest completed rares from the "Nearby" list (i.e.: from databroker tooltip or world map), as can be done for the world map markers?
Needs patching, pretty please!
441x SilverDragon\targets\popup.lua:441: attempt to perform arithmetic on field 'elapsed' (a nil value)
[string "@SilverDragon\targets\popup.lua"]:441: in function <SilverDragon\targets\popup.lua:440>
Locals:
self = SilverDragonPopupButton {
CalculateAction = <function> defined @FrameXML\SecureTemplates.lua:584
glow = <unnamed> {
}
source = <unnamed> {
}
close = SilverDragonPopupButtonCloseButton {
}
data = <table> {
}
animFade = <unnamed> {
}
OnBackdropLoaded = <function> defined @SharedXML\Backdrop.lua:195
animIn = <unnamed> {
}
shine = <unnamed> {
}
GetBackdropColor = <function> defined @SharedXML\Backdrop.lua:433
SetupTextureCoordinates = <function> defined @SharedXML\Backdrop.lua:257
OnBackdropSizeChanged = <function> defined @SharedXML\Backdrop.lua:225
HasBackdropInfo = <function> defined @SharedXML\Backdrop.lua:321
SetBackdropBorderColor = <function> defined @SharedXML\Backdrop.lua:465
status = <unnamed> {
}
dead = <unnamed> {
}
title = <unnamed> {
}
GetEdgeSize = <function> defined @SharedXML\Backdrop.lua:231
lootIcon = <unnamed> {
}
raidIcon = <unnamed> {
}
background = <unnamed> {
}
ApplyBackdrop = <function> defined @SharedXML\Backdrop.lua:337
SetBackdrop = <function> defined @SharedXML\Backdrop.lua:372
ClearBackdrop = <function> defined @SharedXML\Backdrop.lua:325
modelbg = <unnamed> {
}
GetBackdropBorderColor = <function> defined @SharedXML\Backdrop.lua:452
GetBackdrop = <function> defined @SharedXML\Backdrop.lua:390
model = <unnamed> {
}
SetupPieceVisuals = <function> defined @SharedXML\Backdrop.lua:289
SetBackdropColor = <function> defined @SharedXML\Backdrop.lua:442
SetBorderBlendMode = <function> defined @SharedXML\Backdrop.lua:309
0 = <userdata>
}
elapsed = 2.949000
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = "attempt to perform arithmetic on field 'elapsed' (a nil value)"
Debug = <function> defined @SilverDragon\core.lua:22
module = <table> {
RegisterConfig = <function> defined @SilverDragon\targets\config.lua:11
SetDefaultModuleLibraries = <function> defined @Masque\Libs\AceAddon-3.0\AceAddon-3.0.lua:367
Point = <function> defined @SilverDragon\targets\module.lua:114
IsModelBlacklisted = <function> defined @SilverDragon\targets\popup.lua:151
Enable = <function> defined @Masque\Libs\AceAddon-3.0\AceAddon-3.0.lua:294
UnregisterAllEvents = <function> defined @Masque\Libs\CallbackHandler-1.0\CallbackHandler-1.0.lua:174
Marked = <function> defined @SilverDragon\targets\module.lua:122
EnableModule = <function> defined @Masque\Libs\AceAddon-3.0\AceAddon-3.0.lua:332
modules = <table> {
}
GetModule = <function> defined @Masque\Libs\AceAddon-3.0\AceAddon-3.0.lua:210
IterateEmbeds = <function> defined @Masque\Libs\AceAddon-3.0\AceAddon-3.0.lua:442
anchor = <unnamed> {
}
defaultModuleLibraries = <table> {
}
SendLinkToMob = <function> defined @SilverDragon\targets\module.lua:182
GetGeneralID = <function> defined @SilverDragon\targets\module.lua:136
CreatePopup = <function> defined @SilverDragon\targets\popup.lua:174
SendLinkToLoot = <function> defined @SilverDragon\targets\module.lua:191
SetDefaultModulePrototype = <function> defined @Masque\Libs\AceAddon-3.0\AceAddon-3.0.lua:409
baseName = "SilverDragon"
RefreshLootData = <function> defined @SilverDragon\targets\popup.lua:82
popup = SilverDragonPopupButton {
}
name = "SilverDragon_ClickTarget"
SizeModel = <function> defined @SilverDragon\targets\popup.lua:162
IsEnabled = <function> defined @Masque\Libs\AceAddon-3.0\AceAddon-3.0.lua:451
orderedModules = <table> {
}
Announce = <function> defined @SilverDragon\targets\module.lua:62
DisableModule = <function> defined @Masque\Libs\AceAddon-3.0\AceAddon-3.0.lua:350
LookConfig = <table> {
}
RegisterLookConfig
Put your spoiler here.
Put your spoiler here.
New release should help once it's approved.
In reply to Kemayo:
Curseforge not listing yet, but installed manually. Errors gone, but not functioning fully.
Tomb Burster not detected as vignette, but triggered when rare spawned. Pop-up not showing drop fly-out.
I can't reproduce this one in general -- though I've not tested on Tomb Burster specifically because it's really intermittent. Have you seen it pop up for any other rares?
In reply to Kemayo:
Just so you know, for some reason your commit isn't being pushed to the Curseforge/Overwolf client. It's still reading the Jan. 17th alpha as the latest release.