You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

946 lines
33 KiB

-------------------------------------------------------------------------------
---------------------------------- NAMESPACE ----------------------------------
-------------------------------------------------------------------------------
local ADDON_NAME, ns = ...
local Class = ns.Class
local L = ns.locale
local Map = ns.RiftMap
local Collectible = ns.node.Collectible
local NPC = ns.node.NPC
local Rare = ns.node.Rare
local Treasure = ns.node.Treasure
local Achievement = ns.reward.Achievement
local Item = ns.reward.Item
local Mount = ns.reward.Mount
local Pet = ns.reward.Pet
local Toy = ns.reward.Toy
local Transmog = ns.reward.Transmog
local Arrow = ns.poi.Arrow
local Line = ns.poi.Line
local Path = ns.poi.Path
local POI = ns.poi.POI
local KYRIAN = ns.covenants.KYR
local NECROLORD = ns.covenants.NEC
local NIGHTFAE = ns.covenants.FAE
local VENTHYR = ns.covenants.VEN
-------------------------------------------------------------------------------
------------------------------------- MAP -------------------------------------
-------------------------------------------------------------------------------
local map = Map({id = 1961, settings = true})
function map:CanDisplay(node, coord, minimap)
local research = select(3, GetFactionInfoByID(2472))
if node.research and research < node.research then return false end
return Map.CanDisplay(self, node, coord, minimap)
end
-- https://github.com/Nevcairiel/HereBeDragons/issues/13
-- local gho = Map({ id=2007 }) -- Grommit Hollow
-------------------------------------------------------------------------------
------------------------------------ RARES ------------------------------------
-------------------------------------------------------------------------------
map.nodes[58211773] = Rare({
id = 180246,
quest = 64258, -- 64439?
note = L['carriage_crusher_note'],
rlabel = ns.status.LightBlue(L['plus_research']),
rewards = {
Achievement({id = 15107, criteria = 52290}),
Transmog({item = 187370, slot = L['cloth']}), -- Carriage Crusher's Padded Slippers
Transmog({item = 187399, slot = L['leather']}) -- Maw Construct's Shoulderguards
}
}) -- Carriage Crusher
map.nodes[51164167] = Rare({
id = 179768,
quest = 64243,
sublabel = L['sl_limited_rare'],
note = L['consumption_note'],
rlabel = ns.status.LightBlue(L['plus_research']),
rewards = {
Achievement({id = 15107, criteria = 52285}),
Item({item = 187402, note = L['ring']}), -- All-Consuming Loop
Transmog({item = 187245, slot = L['cosmetic']}), -- Death-Enveloped Spires
Transmog({item = 187246, slot = L['cosmetic']}), -- Death-Enveloped Pauldrons
Transmog({item = 187247, slot = L['cosmetic']}) -- Death-Enveloped Shoulder Spikes
}
}) -- Consumption
map.nodes[51822081] = Rare({
id = 177903,
quest = 63830,
rlabel = ns.status.LightBlue(L['plus_research']),
rewards = {
Achievement({id = 15107, criteria = 52277}),
Transmog({item = 187390, slot = L['plate']}) -- Dominated Protector's Helm
}
}) -- Dominated Protector
map.nodes[33183938] = Rare({
id = 180014,
quest = 64320,
covenant = NIGHTFAE,
note = L['escaped_wilderling_note'],
rlabel = ns.status.LightBlue(L['plus_research']),
rewards = {
Achievement({id = 15107, criteria = 52298}),
Item({item = 187423, weekly = 64549, covenant = NIGHTFAE}), -- Legend of the Animaswell
Transmog({item = 187395, slot = L['plate']}), -- Reinforced Stygian Spaulders
Mount({item = 186492, id = 1487, covenant = NIGHTFAE}) -- Summer Wilderling
}
}) -- Escaped Wilderling
map.nodes[59934371] = Rare({
id = 180042,
quest = 64349,
covenant = NECROLORD,
note = L['fleshwing_note'],
rlabel = ns.status.LightBlue(L['plus_research']),
rewards = {
Achievement({id = 15107, criteria = 52299}),
Item({item = 187424, weekly = 64551, covenant = NECROLORD}), -- Legend of the Animaswell
Transmog({item = 187372, slot = L['cloth']}), -- Miasma Filtering Headpiece
Mount({item = 186489, id = 1449, covenant = NECROLORD}) -- Lord of the Corpseflies
}
}) -- Fleshwing <Lord of the Heap>
map.nodes[59203580] = Rare({
id = 179108,
quest = 64428,
sublabel = L['sl_limited_rare'],
rlabel = ns.status.LightBlue(L['plus_research']),
note = L['kroke_note'],
rewards = {
Achievement({id = 15107, criteria = 52304}),
Transmog({item = 187394, slot = L['plate']}), -- Tormented Giant's Legplates
Transmog({item = 187248, slot = L['cosmetic']}), -- Kroke's Gleaming Spaulders
Transmog({item = 187250, slot = L['cosmetic']}) -- Kroke's Wingspiked Pauldrons
},
pois = {
Path({
59203580, 60893687, 62273605, 61313445, 59953388, 59053603,
58253784, 57033778, 56863623, 57923572, 59203580
})
}
}) -- Kroke the Tormented
map.nodes[44222950] = Rare({
id = 179684,
quest = 64233,
note = L['malbog_note'],
rlabel = ns.status.LightBlue(L['plus_research']),
rewards = {
Achievement({id = 15107, criteria = 52283}),
Transmog({item = 187377, slot = L['leather']}), -- Malbog's Paws
Mount({item = 186645, id = 1506}) -- Crimson Shardhide
},
pois = {
POI({60662311}), -- Caretaker Kah-Kay
Path({
60662311, 60582341, 59822315, 59342274, 58732218, 58322193,
58092218, 57942305, 57942378, 57872497, 57602589, 57372692,
56732751, 56542834, 56152861, 55372872, 54652882, 54062809,
53612790, 53372861, 53362889, 53012896, 52442831, 52172800,
51662821, 51172869, 50652940, 49812881, 49372812, 48312755,
47262744, 46412755, 45332833, 44572928, 44152953
})
}
}) -- Malbog
map.nodes[22604140] = Rare({
id = 179931,
quest = 64291,
note = L['krelva_note'],
rlabel = ns.status.LightBlue(L['plus_research']),
rewards = {
Achievement({id = 15107, criteria = 52291}),
Transmog({item = 187403, slot = L['cloak']}) -- Relic Breaker's Drape
},
pois = {
Arrow({22604140, 28523843}), Arrow({28523843, 29144441}),
POI({28523843, 29144441})
}
}) -- Relic Breaker Krelva
map.nodes[56276617] = Rare({
id = 180160,
quest = 64455,
sublabel = L['sl_limited_rare'],
note = L['reliwik_note'],
rlabel = ns.status.LightBlue(L['plus_research']),
rewards = {
Achievement({id = 15107, criteria = 52318}),
Transmog({item = 187388, slot = L['mail']}), -- Barbed Scale Cinch
Mount({item = 186652, id = 1509}) -- Garnet Razorwing
}
}) -- Reliwik the Defiant
map.nodes[46507959] = Rare({
id = 179985,
quest = 64313,
covenant = VENTHYR,
note = L['stonecrusher_note'],
rlabel = ns.status.LightBlue(L['plus_research']),
rewards = {
Achievement({id = 15107, criteria = 52276}),
Item({item = 187428, weekly = 64553, covenant = VENTHYR}), -- Legend of the Animaswell
Transmog({item = 187386, slot = L['mail']}), -- Stygian Crystal Studded Legguards
Mount({item = 186479, id = 803, covenant = VENTHYR})
}
}) -- Stygian Stonecrusher
map.nodes[56873237] = Rare({
id = 180032,
quest = 64338,
covenant = KYRIAN,
note = L['worldcracker_note'],
rlabel = ns.status.LightBlue(L['plus_research']),
rewards = {
Achievement({id = 15107, criteria = 52300}),
Item({item = 187423, weekly = 64549, covenant = KYRIAN}), -- Legend of the Animaswell
Transmog({item = 187380, slot = L['leather']}), -- Devourer Hide Belt
Toy({item = 187176}), -- Vesper of Harmony
Mount({item = 186483, id = 1493, covenant = KYRIAN}) -- Foresworn Aquilon
}
}) -- Wild Worldcracker
map.nodes[44983552] = Rare({
id = 179859,
quest = 64278,
requires = ns.requirement.Item(186718),
note = L['chamber_note'],
rlabel = ns.status.LightBlue(L['plus_research']),
rewards = {
Achievement({id = 15107, criteria = 52296}),
Achievement({id = 15066, criteria = 52263}),
Item({item = 187104, quest = 63918}), -- Obelisk of Dark Tidings
Transmog({item = 187387, slot = L['mail']}), -- Pauldrons of the Unknown Beyond
Transmog({item = 187368, slot = L['staff']}) -- Xyraxz's Controlling Rod
}
}) -- Xyraxz the Unknowable (Chamber of Wisdom)
map.nodes[39405240] = Rare({
id = 179802,
quest = 64257,
requires = ns.requirement.Item(186718),
note = L['chamber_note'],
rlabel = ns.status.LightBlue(L['plus_research']),
rewards = {
Achievement({id = 15107, criteria = 52295}),
Achievement({id = 15066, criteria = 52262}),
Item({item = 187103, quest = 63917}), -- Everliving Statuette
Transmog({item = 187391, slot = L['plate']}), -- Yarxhov's Rib-Cage
Transmog({item = 187366, slot = L['polearm']}) -- Fallen Vault Guardian's Spire
}
}) -- Yarxhov the Pillager (Chamber of Knowledge)
-- GHO: 45296726
map.nodes[27755885] = Rare({
id = 177336,
quest = 64442,
sublabel = L['sl_limited_rare'],
note = L['in_cave'],
rlabel = ns.status.LightBlue(L['plus_research']),
rewards = {
Achievement({id = 15107, criteria = 52301}),
Transmog({item = 187371, slot = L['cloth']}), -- Velvet Gromit Handwraps
Pet({item = 186542, id = 3136}) -- Korthian Specimen
},
pois = {
POI({30385480}) -- Entrance
}
}) -- Zelnithop
-------------------------------------------------------------------------------
map.nodes[13007500] = Rare({
id = 179472,
quest = 64246, -- 64280?
scale = 1.5,
note = L['konthrogz_note'],
rlabel = ns.status.LightBlue(L['plus_research']),
rewards = {
Achievement({id = 15107, criteria = 52303}),
Transmog({item = 187375, slot = L['cloth']}), -- Bound Worldeater Tendrils
Transmog({item = 187378, slot = L['leather']}), -- Visage of the Obliterator
Transmog({item = 187384, slot = L['mail']}), -- Konthrogz's Scaled Handguards
Transmog({item = 187397, slot = L['plate']}), -- Vambraces of the In-Between
Mount({item = 187183, id = 1514}) -- Rampaging Mauler
}
}) -- Konthrogz the Obliterator
map.nodes[16007500] = Rare({
id = 179760,
quest = 64245,
scale = 1.5,
note = L['towering_exterminator_note'],
rlabel = ns.status.LightBlue(L['plus_research']),
rewards = {
Achievement({id = 15107, criteria = 52302}),
Transmog({item = 187373, slot = L['cloth']}), -- Soul-Enveloping Leggings
Transmog({item = 187376, slot = L['leather']}), -- Mawsworn Lieutenant's Treads
Transmog({item = 187382, slot = L['mail']}), -- Mawsworn Exterminator's Hauberk
Transmog({item = 187392, slot = L['plate']}), -- Sabatons of the Towering Construct
Transmog({item = 187035, slot = L['cosmetic']}), -- Cold Burden of the Damned
Transmog({item = 187242, slot = L['cosmetic']}), -- Exterminator's Crest of the Damned
Transmog({item = 187241, slot = L['cosmetic']}) -- Watchful Eye of the Damned
}
}) -- Towering Exterminator
map.nodes[14507900] = Rare({
id = 180162,
quest = 64457,
scale = 1.5,
note = L['pop_quiz_note'],
rlabel = ns.status.LightBlue(L['plus_research']),
rewards = {
Achievement({id = 15107, criteria = 52319}),
Item({item = 187264, quest = 64513}), -- Ve'rayn's Head
Item({item = 187404, note = L['neck']}), -- Cartel Ve Amulet
Transmog({item = 187369, slot = L['cloth']}) -- Ve'rayn's Formal Robes
},
pois = {POI({32804320, 42405980, 43386754, 49002900, 61405780})}
}) -- Ve'rayn
-------------------------------------------------------------------------------
map.nodes[59335221] = Rare({
id = 179913,
quest = 64285,
rlabel = ns.status.LightBlue(L['plus_research']) ..
ns.GetIconLink('portal_gy', 20, 4, 1),
note = L['rift_rare_exit_note'],
rift = 2,
rewards = {
Achievement({id = 15107, criteria = 52275}),
Item({item = 187401, note = L['ring']}), -- Band of the Shaded Rift
Transmog({item = 187396, slot = L['plate']}) -- Girdle of the Deadsoul
}
}) -- Deadsoul Hatcher
map.nodes[50307590] = Rare({
id = 179914,
quest = 64440,
rlabel = ns.status.LightBlue(L['plus_research']) ..
ns.GetIconLink('portal_gy', 20, 4, 1),
note = L['rift_rare_only_note'],
rift = 2,
rewards = {
Achievement({id = 15107, criteria = 52294}),
Item({item = 187405, note = L['neck']}), -- Choker of the Hidden Observer
Transmog({item = 187365, slot = L['1h_axe']}), -- Rift Splitter
Toy({item = 187420}) -- Maw-Ocular Viewfinder
}
}) -- Observer Yorik
map.nodes[44604240] = Rare({
id = 179608,
quest = 64263,
rlabel = ns.status.LightBlue(L['plus_research']) ..
ns.GetIconLink('portal_gy', 20, 4, 1),
note = L['rift_rare_exit_note'],
rift = 2,
rewards = {
Achievement({id = 15107, criteria = 52273}),
Transmog({item = 187400, slot = L['cloth']}), -- Mantle of Screaming Shadows
Transmog({item = 187362, slot = L['dagger']}) -- Stinging Shadow Screamer
}
}) -- Screaming Shade
map.nodes[57607040] = Rare({
id = 179911,
quest = 64284,
rlabel = ns.status.LightBlue(L['plus_research']) ..
ns.GetIconLink('portal_gy', 20, 4, 1),
note = L['rift_rare_exit_note'],
rift = 2,
rewards = {
Achievement({id = 15107, criteria = 52274}),
Transmog({item = 187381, slot = L['leather']}), -- Rift-Touched Bindings
Transmog({item = 187383, slot = L['mail']}) -- Silent Soulstalker Sabatons
}
}) -- Silent Soulstalker
-------------------------------------------------------------------------------
---------------------------------- TREASURES ----------------------------------
-------------------------------------------------------------------------------
map.nodes[29595342] = Treasure({
quest = 64244,
rlabel = ns.status.LightBlue(L['plus_research']),
rewards = {
Achievement({id = 15099, criteria = 52241}), Item({item = 187349}) -- Anima Laden Egg
}
}) -- Anima Laden Egg
map.nodes[47502920] = Treasure({
quest = 64241,
note = L['dislodged_nest_note'],
rlabel = ns.status.LightBlue(L['plus_research']),
rewards = {
Achievement({id = 15099, criteria = 52240}), Toy({item = 187339}) -- Silver Shardhide Whistle
}
}) -- Dislodged Nest
map.nodes[50478446] = Treasure({
quest = 64252,
rlabel = ns.status.LightBlue(L['plus_research']),
rewards = {
Achievement({id = 15099, criteria = 52242}),
Item({item = 187350, status = L['num_research']:format(300)}) -- Displaced Relic
}
}) -- Displaced Relic
map.nodes[68902990] = Treasure({
quest = 64234,
note = L['forgotten_feather_note'],
rewards = {
Achievement({id = 15099, criteria = 52237}), Toy({item = 187051}) -- Forgotten Feather
}
}) -- Forgotten Feather
map.nodes[38344296] = Treasure({
quest = 64222,
rlabel = ns.status.LightBlue(L['plus_research']),
rewards = {Achievement({id = 15099, criteria = 52236})}
}) -- Glittering Nest Material
map.nodes[40145892] = Treasure({
quest = 64264,
note = L['in_cave'],
rewards = {
Achievement({id = 15099, criteria = 52245}), Item({item = 187354}) -- Abandoned Broker Satchel
},
pois = {
POI({42515596}) -- cave entrance
}
}) -- Infested Vestige
map.nodes[52991477] = Treasure({
quest = 64238,
rewards = {Achievement({id = 15099, criteria = 52238})}
}) -- Lost Memento
map.nodes[45336714] = Treasure({
quest = 64268,
requires = ns.requirement.Item(187033),
note = L['offering_box_note'],
rewards = {
Achievement({id = 15099, criteria = 52246}), Toy({item = 187344}) -- Offering Kit Maker
},
pois = {
POI({43556770}) -- Small Offering Key
}
}) -- Offering Box
map.nodes[62065550] = Treasure({
quest = 64247,
note = L['spectral_bound_note'],
label = L['spectral_bound_chest'],
rlabel = ns.status.LightBlue(L['plus_research']),
rewards = {
Transmog({item = 187026, slot = L['cosmetic']}), -- Field Warden's Torture Kit
Transmog({item = 187240, slot = L['cosmetic']}) -- Field Warden's Watchful Eye
},
pois = {
POI({50505370, 52305320, 52604970, 54205060, quest = 64249}), -- west
POI({59205670, 60305650, 61005870, 62105770, quest = 64250}), -- south
POI({57504930, 58224871, 59284858, 61494733, 62735133, quest = 64248}) -- north
}
}) -- Spectral Bound Chest
-------------------------------------------------------------------------------
----------------------------------- RELICS ------------------------------------
-------------------------------------------------------------------------------
local Relic = Class('Relic', ns.node.Treasure, {
group = ns.groups.RELIC,
icon = 'star_chest_b',
scale = 1.6,
rlabel = ns.status.LightBlue(L['plus_research']),
IsCompleted = function(self)
if C_QuestLog.IsOnQuest(self.quest[1]) then return true end
return Treasure.IsCompleted(self)
end
})
-------------------------------------------------------------------------------
-- GHO: 40914788
map.nodes[27305670] = Relic({
quest = 63899,
questDeps = 64506,
note = L['in_cave'],
rewards = {Achievement({id = 15066, criteria = 52131})}
}) -- Book of Binding: The Mad Witch
map.nodes[45455607] = Relic({
quest = 63912,
questDeps = 64506,
rewards = {Achievement({id = 15066, criteria = 52258})}
}) -- Celestial Shadowlands Chart
map.nodes[62035681] = Relic({
quest = 63911,
questDeps = 64506,
rewards = {Achievement({id = 15066, criteria = 52257})}
}) -- Singing Steel Ingot
map.nodes[40534135] = Relic({
quest = 63860,
questDeps = 64506,
note = L['in_cave'],
rewards = {Achievement({id = 15066, criteria = 52126})},
pois = {
POI({42314094}) -- cave entrance
}
}) -- Talisman of the Eternal Scholar
-------------------------------------------------------------------------------
map.nodes[41146015] = Relic({
quest = 63924,
note = L['archivist_key_note']:format('{item:187614}'),
research = 2,
requires = ns.requirement.Item(187614),
rewards = {Achievement({id = 15066, criteria = 52268})}
}) -- Gorak Claw Fetish
map.nodes[41304330] = Relic({
quest = 63909,
note = L['archivist_key_note']:format('{item:186984}'),
research = 2,
requires = ns.requirement.Item(186984),
rewards = {
Achievement({id = 15066, criteria = 52255}), Toy({item = 187155}) -- Guise of the Changeling
}
}) -- Guise of the Changeling
map.nodes[33004190] = Relic({
quest = 63910,
note = L['archivist_key_note']:format('{item:187612}'),
research = 2,
requires = ns.requirement.Item(187612),
rewards = {Achievement({id = 15066, criteria = 52256})}
}) -- The Netherstar
map.nodes[43847698] = Relic({
quest = 63921,
note = L['archivist_key_note']:format('{item:187613}'),
research = 2,
requires = ns.requirement.Item(187613),
rewards = {
Achievement({id = 15066, criteria = 52265}), Toy({item = 187140}) -- Ring of Duplicity
}
}) -- Ring of Self-Reflection
-------------------------------------------------------------------------------
map.nodes[39405241] = Relic({
quest = 63915,
note = L['chamber_note'],
requires = ns.requirement.Item(186718),
rewards = {Achievement({id = 15066, criteria = 52269})}
}) -- Drum of Driving
map.nodes[45003550] = Relic({
quest = 63916,
note = L['chamber_note'],
requires = ns.requirement.Item(186718),
rewards = {Achievement({id = 15066, criteria = 52261})}
}) -- Sack of Strange Soil
-------------------------------------------------------------------------------
map.nodes[60803490] = Relic({
quest = 63919,
rift = 1,
rewards = {Achievement({id = 15066, criteria = 52264})}
}) -- Book of Binding: The Tormented Sorcerer
map.nodes[29005420] = Relic({
quest = 63914,
rift = 1,
rewards = {Achievement({id = 15066, criteria = 52260})}
}) -- Cipher of Understanding
map.nodes[52005260] = Relic({
quest = 63920,
rift = 1,
rewards = {Achievement({id = 15066, criteria = 52270})}
}) -- Enigmatic Decrypting Device
map.nodes[51402010] = Relic({
quest = 63913,
rift = 1,
rewards = {Achievement({id = 15066, criteria = 52259})}
}) -- Unstable Sin'dorei Explosive
-------------------------------------------------------------------------------
map.nodes[18503800] = Relic({
quest = 63908,
note = L['korthian_shrine_note'],
questDeps = 64348,
rewards = {Achievement({id = 15066, criteria = 52254})}
}) -- Bulwark of Divine Intent
map.nodes[24365660] = Relic({
quest = 63923,
note = L['korthian_shrine_note'],
questDeps = 64348,
rewards = {Achievement({id = 15066, criteria = 52267})}
}) -- Lang Family Wood-Carving
map.nodes[39404270] = Relic({
quest = 63922,
note = L['korthian_shrine_note'],
questDeps = 64348,
rewards = {
Achievement({id = 15066, criteria = 52266}), Toy({item = 187159}) -- Shadow Slicing Shortsword
}
}) -- Shadow Slicing Sword
-------------------------------------------------------------------------------
-------------------------------- RIFT PORTALS ---------------------------------
-------------------------------------------------------------------------------
local RiftPortal = Class('RiftPortal', NPC, {
id = 179595,
scale = 1.4,
group = ns.groups.RIFT_PORTAL,
icon = 'portal_gy',
note = L['rift_portal_note'],
requires = ns.requirement.Item(186731)
})
map.nodes[41104210] = RiftPortal({pois = {POI({42304090})}})
map.nodes[43484699] = RiftPortal()
map.nodes[53707200] = RiftPortal()
map.nodes[56807460] = RiftPortal()
map.nodes[59405370] = RiftPortal()
-------------------------------------------------------------------------------
------------------------------ RIFTBOUND CACHES -------------------------------
-------------------------------------------------------------------------------
local RiftCache = Class('RiftCache', Treasure, {
label = L['riftbound_cache'],
note = L['riftbound_cache_note'],
rlabel = ns.status.LightBlue(L['plus_research']),
group = ns.groups.RIFTBOUND_CACHE,
rift = 1,
rewards = {
Transmog({item = 187251, slot = L['cosmetic']}), -- Shaded Skull Shoulderguards
Transmog({item = 187243, slot = L['cosmetic']}), -- Shadehunter's Crescent
Item({item = 187276, quest = 64522}), -- Stolen Korthian Supplies
Item({item = 185050, quest = 63606, covenant = NIGHTFAE}) -- Spider Soul
}
})
local RIFT_CACHE1 = RiftCache({quest = 64470, icon = 'chest_rd'})
local RIFT_CACHE2 = RiftCache({quest = 64471, icon = 'chest_pp'})
local RIFT_CACHE3 = RiftCache({quest = 64472, icon = 'chest_yw'})
local RIFT_CACHE4 = RiftCache({quest = 64456, icon = 'chest_bl'})
map.nodes[24795625] = RIFT_CACHE1
map.nodes[25975582] = RIFT_CACHE1 -- GHO: 29433986
map.nodes[26545638] = RIFT_CACHE1 -- GHO: 34634647
map.nodes[27555933] = RIFT_CACHE1 -- GHO: 43157372
map.nodes[54105460] = RIFT_CACHE2
map.nodes[54904240] = RIFT_CACHE2
map.nodes[55506510] = RIFT_CACHE2
map.nodes[60903520] = RIFT_CACHE2
map.nodes[61775872] = RIFT_CACHE2
map.nodes[46103190] = RIFT_CACHE3
map.nodes[50763302] = RIFT_CACHE3
map.nodes[56321850] = RIFT_CACHE3
map.nodes[64303040] = RIFT_CACHE3
map.nodes[33443929] = RIFT_CACHE4
map.nodes[35943243] = RIFT_CACHE4
map.nodes[37954113] = RIFT_CACHE4
map.nodes[38003550] = RIFT_CACHE4
map.nodes[39784299] = RIFT_CACHE4
-------------------------------------------------------------------------------
------------------------------ SHARED TREASURES -------------------------------
-------------------------------------------------------------------------------
local Shared = Class('Shared', ns.node.Treasure, {
group = ns.groups.KORTHIA_SHARED,
quest = {64787, 64788, 64789, 64790, 64791},
questCount = true,
scale = 0.8,
note = L['korthia_shared_chest_note'],
rlabel = ns.status.LightBlue(L['plus_research']),
fgroup = 'shared_korthia',
rewards = {
Item({item = 185963, quest = 63892}) -- Diviner's Rune Chit
}
})
map.nodes[27204830] = Shared({label = L['pile_of_bones']})
map.nodes[28205070] = Shared({label = L['pile_of_bones']})
map.nodes[29304710] = Shared({label = L['pile_of_bones']})
map.nodes[29514952] = Shared({label = L['pile_of_bones']})
map.nodes[30904570] = Shared({label = L['pile_of_bones']})
map.nodes[32704200] = Shared({label = L['pile_of_bones']})
map.nodes[32804530] = Shared({label = L['pile_of_bones']})
map.nodes[32805510] = Shared({label = L['pile_of_bones']})
map.nodes[34104400] = Shared({label = L['pile_of_bones']})
map.nodes[34505680] = Shared({label = L['pile_of_bones']})
map.nodes[34704580] = Shared({label = L['pile_of_bones']})
map.nodes[37105370] = Shared({label = L['pile_of_bones']})
map.nodes[38205170] = Shared({label = L['pile_of_bones']})
map.nodes[39605020] = Shared({label = L['pile_of_bones']})
map.nodes[41005050] = Shared({label = L['pile_of_bones']})
map.nodes[44015608] = Shared({label = L['relic_cache']})
map.nodes[44407730] = Shared({label = L['relic_cache']})
map.nodes[45344950] = Shared({label = L['relic_cache']})
map.nodes[45608140] = Shared({label = L['relic_cache']})
map.nodes[46295672] = Shared({label = L['relic_cache']})
map.nodes[47207680] = Shared({label = L['relic_cache']})
map.nodes[50606710] = Shared({label = L['relic_cache']})
map.nodes[53907610] = Shared({label = L['relic_cache']})
map.nodes[54207200] = Shared({label = L['relic_cache']})
map.nodes[54905020] = Shared({label = L['relic_cache']})
map.nodes[55306510] = Shared({label = L['relic_cache']})
map.nodes[55803730] = Shared({label = L['relic_cache']})
map.nodes[56306760] = Shared({label = L['relic_cache']})
map.nodes[56803880] = Shared({label = L['relic_cache']})
map.nodes[57303490] = Shared({label = L['relic_cache']})
map.nodes[57344800] = Shared({label = L['relic_cache']})
map.nodes[58803360] = Shared({label = L['relic_cache']})
map.nodes[59803590] = Shared({label = L['relic_cache']})
map.nodes[60303900] = Shared({label = L['relic_cache']})
map.nodes[60803550] = Shared({label = L['relic_cache']})
map.nodes[61003290] = Shared({label = L['relic_cache']})
map.nodes[61403810] = Shared({label = L['relic_cache']})
map.nodes[62403750] = Shared({label = L['relic_cache']})
map.nodes[45803010] = Shared({label = L['shardhide_stash']})
map.nodes[46703060] = Shared({label = L['shardhide_stash']})
map.nodes[47402620] = Shared({label = L['shardhide_stash']})
map.nodes[48103320] = Shared({label = L['shardhide_stash']})
map.nodes[49103010] = Shared({label = L['shardhide_stash']})
map.nodes[49502670] = Shared({label = L['shardhide_stash']})
map.nodes[49703330] = Shared({label = L['shardhide_stash']})
map.nodes[50423124] = Shared({label = L['shardhide_stash']})
map.nodes[51302970] = Shared({label = L['shardhide_stash']})
map.nodes[52322701] = Shared({label = L['shardhide_stash']})
-------------------------------------------------------------------------------
local Mawshroom = Class('Mawshroom', Treasure, {
group = ns.groups.INVASIVE_MAWSHROOM,
label = L['invasive_mawshroom'],
note = L['invasive_mawshroom_note'],
rlabel = ns.status.LightBlue(L['plus_research']),
rewards = {
Item({item = 185963, quest = 63892}) -- Diviner's Rune Chit
}
})
local MAWSH1 = Mawshroom({quest = 64351, icon = 'chest_pp'})
local MAWSH2 = Mawshroom({quest = 64354, icon = 'chest_yw'})
local MAWSH3 = Mawshroom({quest = 64355, icon = 'chest_bl'})
local MAWSH4 = Mawshroom({quest = 64356, icon = 'chest_rd'})
local MAWSH5 = Mawshroom({quest = 64357, icon = 'chest_gn'})
map.nodes[54204120] = MAWSH1
map.nodes[56805150] = MAWSH1
map.nodes[57303940] = MAWSH1
map.nodes[58174048] = MAWSH1
map.nodes[60304160] = MAWSH1
map.nodes[60703820] = MAWSH1
map.nodes[48524115] = MAWSH2
map.nodes[49404070] = MAWSH2
map.nodes[49903250] = MAWSH2
map.nodes[51504690] = MAWSH2
map.nodes[53703790] = MAWSH2
map.nodes[42343469] = MAWSH3
map.nodes[43603660] = MAWSH3
map.nodes[45603430] = MAWSH3
map.nodes[52422496] = MAWSH3
map.nodes[55101641] = MAWSH3
map.nodes[35703110] = MAWSH4
map.nodes[37503480] = MAWSH4
map.nodes[38803370] = MAWSH4
map.nodes[39503070] = MAWSH4
map.nodes[39763505] = MAWSH4
map.nodes[42103250] = MAWSH4
-- map.nodes[39603000] = MAWSH5 (unconfirmed on live wowhead)
map.nodes[41204490] = MAWSH5
map.nodes[43475637] = MAWSH5
map.nodes[45204790] = MAWSH5
map.nodes[46524851] = MAWSH5
map.nodes[54805550] = MAWSH5
-------------------------------------------------------------------------------
local UMNest = Class('UMNest', Treasure, {
group = ns.groups.NEST_MATERIALS,
label = L['unusual_nest'],
note = L['unusual_nest_note'],
rlabel = ns.status.LightBlue(L['plus_research']),
icon = 'chest_bn',
fgroup = 'nest_materials',
rewards = {
Item({item = 185963, quest = 63892}), -- Diviner's Rune Chit
Item({item = 187442, note = L['bag']}) -- Scholar's Ancient Pack
}
})
map.nodes[41003970] = UMNest({quest = 64358})
map.nodes[42205590] = UMNest({quest = 64359})
map.nodes[51864391] = UMNest({quest = 64360})
map.nodes[63703140] = UMNest({quest = 64361})
map.nodes[52407270] = UMNest({quest = 64362})
-------------------------------------------------------------------------------
local MawswornC = Class('MawswornC', Treasure, {
group = ns.groups.MAWSWORN_CACHE,
label = L['mawsworn_cache'],
note = L['mawsworn_cache_note'],
rlabel = ns.status.LightBlue(L['plus_research']),
rewards = {
Transmog({item = 187020, slot = L['cosmetic']}), -- Necrobinder's Shoulderpads
Transmog({item = 187026, slot = L['cosmetic']}), -- Field Warden's Torture Kit
Transmog({item = 187240, slot = L['cosmetic']}) -- Field Warden's Watchful Eye
}
})
local MAWC1 = MawswornC({quest = 64021, icon = 'chest_tl'})
local MAWC2 = MawswornC({quest = 64363, icon = 'chest_pk'})
local MAWC3 = MawswornC({quest = 64364, icon = 'chest_lm'})
map.nodes[57563756] = MAWC1
map.nodes[58803360] = MAWC1
map.nodes[60103931] = MAWC1
map.nodes[62903490] = MAWC1
map.nodes[56805610] = MAWC2
map.nodes[58325283] = MAWC2
map.nodes[61105160] = MAWC2
map.nodes[61205790] = MAWC2
map.nodes[62305860] = MAWC2
map.nodes[47707430] = MAWC3
map.nodes[47956674] = MAWC3
map.nodes[51326479] = MAWC3
map.nodes[54007280] = MAWC3
map.nodes[56406950] = MAWC3
map.nodes[56507470] = MAWC3
-------------------------------------------------------------------------------
---------------------------------- TRANSPORT ----------------------------------
-------------------------------------------------------------------------------
map.nodes[60832857] = NPC({
id = 178633,
note = L['flayedwing_transporter_note'],
icon = 'flight_point_y',
scale = 1.25,
fgroup = 'flayedwing_transporter1',
pois = {Line({60832857, 49356386})}
})
map.nodes[49356386] = NPC({
id = 178637,
note = L['flayedwing_transporter_note'],
icon = 'flight_point_y',
scale = 1.25,
fgroup = 'flayedwing_transporter1'
})
-------------------------------------------------------------------------------
--------------------------------- COLLECTIBLES --------------------------------
-------------------------------------------------------------------------------
local function GetMaelieStatus()
local count = 0
for i, quest in ipairs {64293, 64294, 64295, 64296, 64297, 64299} do
if C_QuestLog.IsQuestFlaggedCompleted(quest) then
count = count + 1
end
end
return ns.status.Gray(tostring(count) .. '/6')
end
local maelie = Class('Maelie', Collectible, {
id = 179912,
icon = 3155422,
quest = {64292, 64298}, -- completed, daily
questAny = true,
note = L['maelie_wanderer'],
pois = {
POI({
30005560, 35904650, 38403140, 39703490, 41103980, 41302750,
42806040, 43003260, 43203130, 49304170, 50302290, 59801510,
61304040, 62404970, 67502930, 35806220
})
},
rewards = {Mount({item = 186643, id = 1511})}, -- Reins of the Wanderer
getters = {rlabel = GetMaelieStatus}
})()
map.nodes[60682192] = maelie
local function GetDarkmaulStatus()
local count = select(4, GetQuestObjectiveInfo(64376, 0, false))
if count ~= nil then return ns.status.Gray(tostring(count) .. '/10') end
end
local darkmaul = Class('Darkmaul', Collectible, {
id = 180063,
icon = 3931157,
quest = 64376,
note = L['darkmaul_note'],
rewards = {Mount({item = 186646, id = 1507})}, -- Darkmaul
getters = {rlabel = GetDarkmaulStatus}
})()
map.nodes[42873269] = darkmaul
local function GetDusklightStatus()
local count = select(4, GetQuestObjectiveInfo(64274, 0, false))
if count ~= nil then return ns.status.Gray(tostring(count) .. '/10') end
end
local dusklight = Class('Dusklight', Collectible, {
id = 179871,
icon = 3897746,
quest = 64274,
note = L['razorwing_note'],
rewards = {Mount({item = 186651, id = 1510})}, -- Dusklight Razorwing
getters = {rlabel = GetDusklightStatus}
})() -- Razorwing Nest
map.nodes[25725108] = dusklight
--[[
-------------------------------------------------------------------------------
---------------------------------- GRAPPLES -----------------------------------
-------------------------------------------------------------------------------
local GRAPPLES = {
34503570, 29803410, 25503730, 28003980, 29804420, 44005880, 43806290
}
for _, coord in ipairs(GRAPPLES) do
map.nodes[coord] = NPC({
group=ns.groups.GRAPPLES,
icon='peg_bk',
id=178546,
questDeps==63713,
scale=1.25,
pois={Line({44005880, 43806290})}
})
end
]]