Skip to content

Commit 7c393cf

Browse files
committed
Update Rares.lua
* Added clickable waypoints for all 59 rares in the Rare Tracker using TomTom or Blizzard’s in-game waypoint system. * Added hover hints for rare waypoint clicks and fixed Voidstorm submap tracking for Rakshur.
1 parent 9703974 commit 7c393cf

1 file changed

Lines changed: 81 additions & 59 deletions

File tree

Modules/Rares.lua

Lines changed: 81 additions & 59 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@ local MAP_TO_ZONE_KEY = {
5353
[2413] = "harandar",
5454
[2576] = "harandar",
5555
[2405] = "voidstorm",
56+
[2444] = "voidstorm",
5657
}
5758

5859
local function GetCurrentZoneKey()
@@ -67,21 +68,21 @@ local ZONES = {
6768
achievId = 61507,
6869
color = { 0.85, 0.72, 0.18 },
6970
rares = {
70-
{ L["Rare_WardenOfWeeds"], 91280 },
71-
{ L["Rare_OverfesterHydra"], 92392 },
72-
{ L["Rare_Crevan"], 92391 },
73-
{ L["Rare_LadyLiminus"], 92393 },
74-
{ L["Rare_BadZed"], 92404 },
75-
{ L["Rare_Banuran"], 92403 },
76-
{ L["Rare_Duskburn"], 93550 },
77-
{ L["Rare_DameBloodshed"], 93561 },
78-
{ L["Rare_HarriedHawkstrider"], 91315 },
79-
{ L["Rare_BloatedSnapdragon"], 92366 },
80-
{ L["Rare_Coralfang"], 92389 },
81-
{ L["Rare_Terrinor"], 92409 },
82-
{ L["Rare_Waverly"], 92395 },
83-
{ L["Rare_LostGuardian"], 92399 },
84-
{ L["Rare_MalfunctioningConstruct"], 93555 },
71+
{ L["Rare_WardenOfWeeds"], 91280, 2395, 51.60, 74.63 },
72+
{ L["Rare_OverfesterHydra"], 92392, 2395, 54.80, 60.23 },
73+
{ L["Rare_Crevan"], 92391, 2395, 62.58, 49.48 },
74+
{ L["Rare_LadyLiminus"], 92393, 2395, 36.66, 77.16 },
75+
{ L["Rare_BadZed"], 92404, 2395, 48.94, 87.93 },
76+
{ L["Rare_Banuran"], 92403, 2395, 56.77, 77.07 },
77+
{ L["Rare_Duskburn"], 93550, 2395, 42.55, 69.09 },
78+
{ L["Rare_DameBloodshed"], 93561, 2395, 44.99, 38.55 },
79+
{ L["Rare_HarriedHawkstrider"], 91315, 2395, 45.05, 78.25 },
80+
{ L["Rare_BloatedSnapdragon"], 92366, 2395, 37.69, 64.25 },
81+
{ L["Rare_Coralfang"], 92389, 2395, 36.38, 36.37 },
82+
{ L["Rare_Terrinor"], 92409, 2395, 40.35, 85.20 },
83+
{ L["Rare_Waverly"], 92395, 2395, 34.81, 20.98 },
84+
{ L["Rare_LostGuardian"], 92399, 2395, 59.36, 79.25 },
85+
{ L["Rare_MalfunctioningConstruct"], 93555, 2395, 51.54, 45.85 },
8586
},
8687
},
8788
{
@@ -90,21 +91,21 @@ local ZONES = {
9091
achievId = 62122,
9192
color = { 0.82, 0.36, 0.14 },
9293
rares = {
93-
{ L["Rare_NecrohexxerRazka"], 89569 },
94-
{ L["Rare_SkullcrusherHarak"], 89571 },
95-
{ L["Rare_Mrrlokk"], 91174 },
96-
{ L["Rare_Spinefrill"], 89578 },
97-
{ L["Rare_TinyVermin"], 89580 },
98-
{ L["Rare_DevouringInvader"], 89583 },
99-
{ L["Rare_DepthbornEelamental"], 89573 },
100-
{ L["Rare_AshanEmpowered"], 91073 },
101-
{ L["Rare_SnappingScourge"], 89570 },
102-
{ L["Rare_LightwoodBorer"], 89575 },
103-
{ L["Rare_PoacherRavik"], 91634 },
104-
{ L["Rare_Oophaga"], 89579 },
105-
{ L["Rare_VoidtouchedCrustacean"], 89581 },
106-
{ L["Rare_ElderOaktalon"], 89572 },
107-
{ L["Rare_DecayingDiamondback"], 91072 },
94+
{ L["Rare_NecrohexxerRazka"], 89569, 2437, 34.27, 32.91 },
95+
{ L["Rare_SkullcrusherHarak"], 89571, 2437, 51.75, 72.76 },
96+
{ L["Rare_Mrrlokk"], 91174, 2437, 50.90, 65.41 },
97+
{ L["Rare_Spinefrill"], 89578, 2437, 30.80, 45.12 },
98+
{ L["Rare_TinyVermin"], 89580, 2437, 47.44, 34.35 },
99+
{ L["Rare_DevouringInvader"], 89583, 2437, 39.49, 20.32 },
100+
{ L["Rare_DepthbornEelamental"], 89573, 2437, 47.73, 20.73 },
101+
{ L["Rare_AshanEmpowered"], 91073, 2437, 45.34, 41.79 },
102+
{ L["Rare_SnappingScourge"], 89570, 2437, 51.61, 18.63 },
103+
{ L["Rare_LightwoodBorer"], 89575, 2437, 28.73, 24.03 },
104+
{ L["Rare_PoacherRavik"], 91634, 2437, 38.99, 50.01 },
105+
{ L["Rare_Oophaga"], 89579, 2437, 46.45, 51.93 },
106+
{ L["Rare_VoidtouchedCrustacean"], 89581, 2437, 21.48, 70.69 },
107+
{ L["Rare_ElderOaktalon"], 89572, 2437, 33.47, 88.64 },
108+
{ L["Rare_DecayingDiamondback"], 91072, 2437, 46.77, 43.85 },
108109
},
109110
},
110111
{
@@ -113,21 +114,21 @@ local ZONES = {
113114
achievId = 61264,
114115
color = { 0.16, 0.78, 0.55 },
115116
rares = {
116-
{ L["Rare_Rhazul"], 91832 },
117-
{ L["Rare_Hakalawe"], 92142 },
118-
{ L["Rare_QueenLastongue"], 92154 },
119-
{ L["Rare_Stumpy"], 92168 },
120-
{ L["Rare_Mindrot"], 92172 },
121-
{ L["Rare_Treetop"], 92183 },
122-
{ L["Rare_Pterrock"], 92191 },
123-
{ L["Rare_AnnulusWorldshaker"], 92194 },
124-
{ L["Rare_Chironex"], 92137 },
125-
{ L["Rare_TallcapTruthspreader"], 92148 },
126-
{ L["Rare_Chlorokyll"], 92161 },
127-
{ L["Rare_Serrasa"], 92170 },
128-
{ L["Rare_Dracaena"], 92176 },
129-
{ L["Rare_Oroohna"], 92190 },
130-
{ L["Rare_Ahluahuhi"], 92193 },
117+
{ L["Rare_Rhazul"], 91832, 2413, 51.15, 45.33 },
118+
{ L["Rare_Hakalawe"], 92142, 2413, 70.17, 60.87 },
119+
{ L["Rare_QueenLastongue"], 92154, 2413, 60.16, 47.11 },
120+
{ L["Rare_Stumpy"], 92168, 2413, 65.34, 32.95 },
121+
{ L["Rare_Mindrot"], 92172, 2413, 46.11, 32.17 },
122+
{ L["Rare_Treetop"], 92183, 2413, 36.34, 75.35 },
123+
{ L["Rare_Pterrock"], 92191, 2413, 27.39, 71.39 },
124+
{ L["Rare_AnnulusWorldshaker"], 92194, 2413, 43.76, 16.78 },
125+
{ L["Rare_Chironex"], 92137, 2413, 68.70, 40.61 },
126+
{ L["Rare_TallcapTruthspreader"], 92148, 2413, 72.62, 69.35 },
127+
{ L["Rare_Chlorokyll"], 92161, 2413, 64.47, 47.68 },
128+
{ L["Rare_Serrasa"], 92170, 2413, 55.94, 31.63 },
129+
{ L["Rare_Dracaena"], 92176, 2413, 40.53, 43.27 },
130+
{ L["Rare_Oroohna"], 92190, 2413, 28.19, 81.81 },
131+
{ L["Rare_Ahluahuhi"], 92193, 2413, 39.75, 60.21 },
131132
},
132133
},
133134
{
@@ -136,20 +137,20 @@ local ZONES = {
136137
achievId = 62130,
137138
color = { 0.55, 0.28, 0.95 },
138139
rares = {
139-
{ L["Rare_SunderethCaller"], 90805 },
140-
{ L["Rare_Tremora"], 91048 },
141-
{ L["Rare_BaneVilebloods"], 93946 },
142-
{ L["Rare_LotusDarkblossom"], 93947 },
143-
{ L["Rare_Ravengerus"], 93895 },
144-
{ L["Rare_BilemawGluttonous"], 93884 },
145-
{ L["Rare_Nightbrood"], 91051 },
146-
{ L["Rare_TerritorialVoidscythe"], 91050 },
147-
{ L["Rare_ScreammaxaMatriarch"], 93966 },
148-
{ L["Rare_AeonelleBlackstar"], 93944 },
149-
{ L["Rare_QueenOWar"], 93934 },
150-
{ L["Rare_RakshurBonegrinder"], 93953 },
151-
{ L["Rare_Eruundi"], 91047 },
152-
{ L["Rare_FarthanaMad"], 93896 },
140+
{ L["Rare_SunderethCaller"], 90805, 2405, 29.50, 50.05 },
141+
{ L["Rare_Tremora"], 91048, 2405, 35.67, 81.11 },
142+
{ L["Rare_BaneVilebloods"], 93946, 2405, 47.17, 79.82 },
143+
{ L["Rare_LotusDarkblossom"], 93947, 2405, 37.99, 71.64 },
144+
{ L["Rare_Ravengerus"], 93895, 2405, 48.62, 53.63 },
145+
{ L["Rare_BilemawGluttonous"], 93884, 2405, 35.59, 49.36 },
146+
{ L["Rare_Nightbrood"], 91051, 2405, 40.09, 41.36 },
147+
{ L["Rare_TerritorialVoidscythe"], 91050, 2405, 34.12, 82.02 },
148+
{ L["Rare_ScreammaxaMatriarch"], 93966, 2405, 43.92, 51.52 },
149+
{ L["Rare_AeonelleBlackstar"], 93944, 2405, 39.51, 64.62 },
150+
{ L["Rare_QueenOWar"], 93934, 2405, 55.72, 79.45 },
151+
{ L["Rare_RakshurBonegrinder"], 93953, 2444, 46.46, 41.03 },
152+
{ L["Rare_Eruundi"], 91047, 2405, 39.18, 92.46 },
153+
{ L["Rare_FarthanaMad"], 93896, 2405, 53.89, 62.79 },
153154
},
154155
},
155156
}
@@ -745,6 +746,7 @@ BuildRaresFrame = function()
745746
hit:SetPoint("TOPLEFT", body, "TOPLEFT", xPos, yPos)
746747
hit:SetWidth(colW - 4)
747748
hit:SetHeight(ROW_H)
749+
hit:EnableMouse(true)
748750
hit:SetScript("OnEnter", function()
749751
local questId = rare[2]
750752
local flagged = questId and C_QuestLog.IsQuestFlaggedCompleted(questId) or false
@@ -764,9 +766,29 @@ BuildRaresFrame = function()
764766
else
765767
GameTooltip:AddLine(L["Rares_Tooltip_NotKilled"], 0.50, 0.50, 0.50)
766768
end
769+
if rare[3] and rare[4] and rare[5] then
770+
GameTooltip:AddLine(" ")
771+
GameTooltip:AddLine(L["Gathering_ClickWaypoint"], 0.45, 0.85, 1)
772+
end
767773
GameTooltip:Show()
768774
end)
769775
hit:SetScript("OnLeave", function() GameTooltip:Hide() end)
776+
hit:SetScript("OnMouseUp", function(_, button)
777+
if button ~= "LeftButton" or not (rare[3] and rare[4] and rare[5]) then return end
778+
779+
local ok, source = MR:SetWaypoint({
780+
label = rare[1],
781+
waypointTitle = rare[1],
782+
zone = rare[3],
783+
x = rare[4],
784+
y = rare[5],
785+
})
786+
if ok then
787+
print(string.format(L["Waypoint_Set"], source, rare[1], rare[4], rare[5]))
788+
else
789+
print(L["Waypoint_Unavailable"])
790+
end
791+
end)
770792

771793
body.dotList[i] = dot
772794
body.nameLbls[i] = lbl

0 commit comments

Comments
 (0)