I used this addon for a couple of hours and I couldn't find any out of 8 rares I was chasing, could not believe they are not there. Unfortunately, the nameplate detection has very limited range and requires you to fly very low and slow, your field of vision is so small you miss everything.
As a solution to this, I wrote a tiny addon that spams a bunch of TargetUnit() commands a few times per second and believe it or not I found all 8 rares over the same areas where I failed before.
The idea is that you can not programmably target units, so when the unit is actually present the execution of TargetUnit() will produce an error on your screen and that's how your detect it. The range in this case is huge comparing to the nameplates so it works much much better.
The way it works, you can call TargetUnit("Rare") in your script anytime you want.
If "Rare" doesn't exist in your vicinity - nothing will happen.
However, if "Rare" does exist then this call will fail because you are not allowed to target units w/o hardware event and you will get a standard error frame popping up telling you that.
And that's how you detect a rare - by causing you script to fail.
To make it more practical you might want to add a reload UI button and add a check if your target is alive so not to trigger that fail again over the corpse but strictly it terms of detection it's the fastest and highest range way to do it.
By corrupted I was referring to the comments I've read about Curse corrupting the file. I was wondering if other sources, such as wowmatrix was not doing the same. However, I tried downloading it with the same results.
Been using NPCScan Overlay as a stand-alone for ages, just to have the rare paths on my map or minimap. Unfortunately, it's throwing a Lua error in 8.0, and I cannot find any discussion pages for the Overlay anymore, otherwise I would have posted this concern there. Thanks in advance for your help.
Date: 2018-07-19 21:52:36 ID: 1 Error occured in: Global Count: 1 Message: ..\AddOns\_NPCScan.Overlay\Overlay.lua line 701: attempt to call field 'SetMapByID' (a nil value) Debug: _NPCScan.Overlay\Overlay.lua:701: ?() ...Ons\Ace3\CallbackHandler-1.0\CallbackHandler-1.0.lua:145: ...Ons\Ace3\CallbackHandler-1.0\CallbackHandler-1.0.lua:145 [string "safecall Dispatcher"]:4: [string "safecall Dispatcher"]:4 [C]: ? [string "safecall Dispatcher"]:13: ?() ...Ons\Ace3\CallbackHandler-1.0\CallbackHandler-1.0.lua:90: Fire() Ace3\AceEvent-3.0\AceEvent-3.0.lua:120: Ace3\AceEvent-3.0\AceEvent-3.0.lua:119 Locals: None AddOns: NPCScanOverlay, v126.96.36.199
Overlay needs a complete rewrite. Not only due to the binary encoding issues with CurseForge, but with WoW 8.0 Blizzard has completely replaced the map system. I have no ETA right now, since I have several other projects that require my attention. At the moment, I'm in the process of rewriting Archy for the same reason.
From my short usage of this mod, it seems to go for an all-in / opt-out selection method for mobs to be notified about, but I'd love it if I could reverse this so it's an opt-in selection method. Have a button to untick everything, then I could select the particular mobs from various zones I'd like to be alerted about.
Closest I can find is disabling continents/zones, but if there's one mob or a small number of mobs I want from a continent I'm specifically after I then have to disable all zones that don't apply, then go in to the zones that do have that one or multiple mobs and disable each and every mob that isn't what I'm after.
My reasoning for wanting this is that most of the time here's half a dozen rare pets I'm interested in taming across all continents at any one time, and half a dozen rare spawns I'm interested in fighting at any one time. I'd like to be alerted for those and only those, not every other. Unless I've missed something when setting up the mod to alert me properly, it's quite a frustrating job to get it applicable to my desires. That said, I still love it. Definitely worth the effort. :)
I added some lines to CanAddToScanList in Scanner.lua so that rares keep getting spotted if they drop toys or mounts that the character doesn't have yet, or pets (even if they have 3), even if their related achievements are completed.
if detection.rares and not isQuestCompleted then
if npc.mounts then
for i = 1, #npc.mounts do
local _, _, _, _, _, _, _, _, _, hideOnChar, isCollected = _G.C_MountJournal.GetMountInfoByID(_G.C_MountJournal.GetMountFromSpell(npc.mounts[i].spellID))
if not hideOnChar and not isCollected then
if npc.pets then
if npc.toys then
for i = 1, #npc.toys do
if not _G.PlayerHasToy(npc.toys[i].itemID) then
I put these lines just before the check for isTameable (to get alerts on tameble rares that drop pets even with the tameables detection disabled), so I had to move the isQuestCompleted declaration to be just before the new lines.
That was actually the plan, but I want to have a centralized point that affects both the list addition and the tooltip display, as well as a place to turn those off the preferences. I haven't had the time yet, though, since I'm currently on vacation visiting family and need to rewrite _NPCScan.Overlay and Archy - those are taking precedence.
I got NPCScan Overlay working. At least to a point. There are old bugs still there. Like the minimap display going bonkers after a while and mousing over rare names on the worldmap not flashing the correct path graphics sometimes. But it is working.
I really just winged most of it so I can't promise it's coded that great but it's doing the job for me. Honestly, I really don't know what I'm doing with a lot of this stuff. The tooltips work over the battlefield map but not the world map. But if you disable the battlefield map (shift+M), they start working on the world map, I really can't figure that one out....
I manually updated pathdata.lua to the new uiMapID's. Being able to add new rares would be great but I think it requires a maths degree to work out how to add new path data for a mob. It looks like the original author used a custom written addon to add new path data and I can't find that anywhere. Decoding the current data really goes over my head....
It doesn't display a location ring when a rare is found but I think that is due to NPCscan being rewritten?
Anyway, happy to share if anyone needs it if someone can give me an idea on where to upload it to. I don't think I can do it on here without creating a new project?