------------------------------------------------------------------------------- ---------------------------------- NAMESPACE ---------------------------------- ------------------------------------------------------------------------------- local ADDON_NAME, ns = ... local Class = ns.Class local L = ns.locale local Map = ns.Map local Collectible = ns.node.Collectible local Node = ns.node.Node local PetBattle = ns.node.PetBattle 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 Transmog = ns.reward.Transmog local Toy = ns.reward.Toy local Path = ns.poi.Path local POI = ns.poi.POI ------------------------------------------------------------------------------- local KYRIAN = ns.covenants.KYR local NECROLORD = ns.covenants.NEC local map = Map({id = 1533, settings = true}) ------------------------------------------------------------------------------- ------------------------------------ RARES ------------------------------------ ------------------------------------------------------------------------------- map.nodes[32592336] = Rare({ id = 171211, quest = 61083, requires = ns.requirement.Item(180613), note = L['aspirant_eolis_note'], rewards = { Achievement({id = 14307, criteria = 50613}), Transmog({item = 183607, slot = L['polearm']}) -- Uncertain Aspirant's Spear }, pois = { POI({ 31412295, 31412386, 32052123, 32122305, 32332113, 32562449, 32762035, 33062071, 33172321 }) -- Fragile Humility Scroll } }) -- Aspirant Eolis map.nodes[51344080] = Rare({ id = 160629, quest = {58648, 62192}, note = L['baedos_note'], rewards = {Achievement({id = 14307, criteria = 50592})} }) -- Baedos map.nodes[48985031] = Rare({ id = 170659, quest = {60897, 62158}, note = L['basilofos_note'], rewards = { Achievement({id = 14307, criteria = 50602}) -- Toy({item=182655}) -- Hill King's Roarbox (gone?) } }) -- Basilofos, King of the Hill map.nodes[55358024] = Rare({ id = 161527, label = L['beasts_of_bastion'], note = L['beasts_of_bastion_note'], quest = {60570, 60571, 60569, 58526}, questCount = true, rewards = { Achievement({ id = 14307, criteria = { {id = 50597, quest = 60570}, -- Sigilback {id = 50598, quest = 60571}, -- Cloudtail {id = 50599, quest = 60569}, -- Nemaeus {id = 50617, quest = 58526} -- Aethon } }), -- Toy({item=174445}), -- Glimmerfly Cocoon Transmog({item = 179485, slot = L['dagger']}), -- Fang of Nemaeus Transmog({item = 179486, slot = L['1h_mace']}), -- Sigilback's Smashshell Transmog({item = 179487, slot = L['warglaive']}), -- Aethon's Horn Transmog({item = 179488, slot = L['fist']}) -- Cloudtail's Paw } }) -- Beasts of Bastion map.nodes[55826249] = Rare({ id = 171189, quest = 59022, note = L['bookkeeper_mnemis_note'], rewards = { Achievement({id = 14307, criteria = 50612}), Item({item = 182682, note = L['trinket']}) -- Book-Borrower Identification } }) -- Bookkeeper Mnemis map.nodes[50435804] = Rare({ id = 170932, quest = {60978, 62191}, note = L['cloudfeather_patriarch_note'], rewards = { Achievement({id = 14307, criteria = 50604}), Pet({item = 180812, id = 2925}) -- Golden Cloudfeather } }) -- Cloudfeather Guardian map.nodes[66004367] = Rare({ id = 171014, quest = 61002, note = L['collector_astor_note'], rewards = { Achievement({id = 14307, criteria = 50610}), -- https://www.wowhead.com/npc=171014/collector-astorestes Transmog({item = 183604, slot = L['crossbow']}), -- Piercing Timbre Crossbow Transmog({item = 183605, slot = L['warglaive']}), -- Devourer Wrought Warglaive Transmog({item = 183606, slot = L['shield']}), -- Bulwark of Echoing Courage Transmog({item = 183607, slot = L['polearm']}), -- Uncertain Aspirant's Spear Transmog({item = 183608, slot = L['offhand']}), -- Evernote Vesper Transmog({item = 183609, slot = L['fist']}), -- Re-Powered Golliath Fists Transmog({item = 183610, slot = L['dagger']}), -- Warrior Poet's Poniard Transmog({item = 183611, slot = L['2h_sword']}), -- Humble Ophelia's Greatblade Transmog({item = 183612, slot = L['1h_mace']}), -- Loyal Champion's Hammer Transmog({item = 183613, slot = L['dagger']}), -- Glinting Daybreak Dagger Transmog({item = 183614, slot = L['1h_mace']}) -- Gavel of Harmonious Wisdom }, pois = { POI({ -- 66194411, Mercia's Legacy: Chapter One -- 65904411, Mercia's Legacy: Chapter Two -- 65734396, Mercia's Legacy: Chapter Three -- 65734345, Mercia's Legacy: Chapter Four -- 65934316, Mercia's Legacy: Chapter Five -- 66204327, Mercia's Legacy: Chapter Six 64174218, -- Mercia's Legacy: Chapter Seven 65074138, -- Mercia's Legacy: Chapter Seven 65184396, -- Mercia's Legacy: Chapter Seven 65514293, -- Mercia's Legacy: Chapter Seven 65844451, -- Mercia's Legacy: Chapter Seven 66214333, -- Mercia's Legacy: Chapter Seven 67394283, -- Mercia's Legacy: Chapter Seven 67604342 -- Mercia's Legacy: Chapter Seven }) } }) -- Collector Astorestes map.nodes[56904778] = Rare({ id = 171010, quest = 60999, requires = ns.requirement.Item(180651), note = L['corrupted_clawguard_note'], rewards = {Achievement({id = 14307, criteria = 50615})}, pois = { POI({55004125}) -- Forgefire Outpost } }) -- Corrupted Clawguard map.nodes[27823014] = Rare({ id = 170623, quest = 60883, note = L['dark_watcher_note'], rewards = { Achievement({id = 14307, criteria = 50603}), Transmog({item = 184297, slot = L['2h_sword']}) -- Death Warden's Greatblade } }) -- Dark Watcher map.nodes[37004180] = Rare({ id = 171011, quest = {61069, 61000}, note = L['demi_hoarder_note'], rewards = { Achievement({id = 14307, criteria = 50611}), -- https://www.wowhead.com/object=354649/relic-hoard Transmog({item = 183604, slot = L['crossbow']}), -- Piercing Timbre Crossbow Transmog({item = 183605, slot = L['warglaive']}), -- Devourer Wrought Warglaive Transmog({item = 183606, slot = L['shield']}), -- Bulwark of Echoing Courage Transmog({item = 183607, slot = L['polearm']}), -- Uncertain Aspirant's Spear Transmog({item = 183608, slot = L['offhand']}), -- Evernote Vesper Transmog({item = 183609, slot = L['fist']}), -- Re-Powered Golliath Fists Transmog({item = 183610, slot = L['dagger']}), -- Warrior Poet's Poniard Transmog({item = 183611, slot = L['2h_sword']}), -- Humble Ophelia's Greatblade Transmog({item = 183612, slot = L['1h_mace']}), -- Loyal Champion's Hammer Transmog({item = 183613, slot = L['dagger']}), -- Glinting Daybreak Dagger Transmog({item = 183614, slot = L['1h_mace']}) -- Gavel of Harmonious Wisdom }, pois = { Path({ 37004180, 37714171, 37944069, 38484042, 39004077, 39354145, 39854155, 40334106, 40424024, 40733931, 41233883 }) } }) -- Demi the Relic Hoarder map.nodes[41354887] = Rare({ id = 163460, quest = 62650, note = L['in_small_cave'] .. ' ' .. L['dionae_note'], rewards = { Achievement({id = 14307, criteria = 50595}), Pet({item = 180856, id = 2932}) -- Silvershell Snapper } }) -- Dionae map.nodes[45656550] = Rare({ id = 171255, quest = {61082, 61091, 62251}, rewards = { Achievement({id = 14307, criteria = 50614}), Item({item = 180062}) -- Heavenly Drum }, pois = { Path({ 45126865, 45596837, 45836792, 46266754, 46326688, 46756655, 47196619, 47366568, 47516509, 47196458, 46916413, 46516378, 46036393, 45726457, 45636517, 45686586, 45896645, 46326688 }), Path({ 45896645, 45406672, 45106624, 44756599, 44636542, 44656487, 45046456, 45436462, 45696476 }) -- Path({45546459, 44656486, 44766596, 45366670, 45866643, 45616562}) } }) -- Echo of Aella map.nodes[51151953] = Rare({ id = 171009, quest = 60998, note = L['aegeon_note'], rewards = { Achievement({id = 14307, criteria = 50605}), Toy({item = 184404}) -- Ever-Abundant Hearth }, pois = { Path({ 51151953, 50761914, 50681837, 50731769, 50931703, 51351673, 51881686, 52251724, 52451799, 52351868, 52051918, 51651962, 51151953 }) } }) -- Enforcer Aegeon map.nodes[60427305] = Rare({ id = 160721, quest = 58222, rewards = { Achievement({id = 14307, criteria = 50596}), Transmog({item = 180444, slot = L['leather']}) -- Harmonia's Chosen Belt }, pois = {Path({60137285, 60427305, 60597376})} }) -- Fallen Acolyte Erisne map.nodes[42908265] = Rare({ id = 158659, quest = {57705, 57708}, note = L['herculon_note'], requires = ns.requirement.Item(172451, 10), rewards = { Achievement({id = 14307, criteria = 50582}) -- https://www.wowhead.com/object=336428/aspirants-chest -- Item({item=182759, quest=62200}) -- Functioning Anima Core } }) -- Herculon map.nodes[51456859] = Rare({ id = 160882, quest = 58319, note = L['repair_note'], rewards = { Achievement({id = 14307, criteria = 50594}), Transmog({item = 183608, slot = L['offhand']}) -- Evernote Vesper } }) -- Nikara Blackheart map.nodes[30365517] = Rare({ id = 171327, quest = 61108, note = L['reekmonger_note'], rewards = {Achievement({id = 14307, criteria = 50616})} }) -- Reekmonger map.nodes[61295090] = Rare({ id = 160985, quest = 58320, note = L['repair_note'], rewards = { Achievement({id = 14307, criteria = 50593}), Transmog({item = 183608, slot = L['offhand']}) -- Evernote Vesper } }) -- Selena the Reborn map.nodes[22432285] = Rare({ id = 156339, label = GetAchievementCriteriaInfoByID(14307, 50618) or UNKNOWN, quest = 61634, covenant = KYRIAN, requires = ns.requirement.GarrisonTalent(1241, L['anima_channeled']), note = L['sotiros_orstus_note'], rewards = { Achievement({id = 14307, criteria = 50618}), Transmog({item = 184365, slot = L['shield']}), -- Aegis of Salvation Pet({item = 184401, id = 3063, covenant = KYRIAN}) -- Larion Pouncer } }) -- Orstus and Sotiros map.nodes[61409050] = Rare({ id = 170548, quest = 60862, note = L['sundancer_note'], rewards = { Achievement({id = 14307, criteria = 50601}), Mount({item = 180773, id = 1307}) -- Sundancer }, pois = { Path({ 58209700, 61009560, 61609340, 61409050, 61708710, 62808430, 62508060, 61107910 }), POI({60049398}) -- Buff? } }) -- Sundancer local SWELLING_TEAR = Rare({ id = 171012, quest = {61001, 61046, 61047}, questCount = true, note = L['swelling_tear_note'], focusable = true, rewards = { Achievement({ id = 14307, criteria = { {id = 50607, quest = 61001}, -- Embodied Hunger {id = 50609, quest = 61047}, -- Worldfeaster Chronn {id = 50608, quest = 61046} -- Xixin the Ravening } }), Transmog({item = 183605, slot = L['warglaive']}), -- Devourer Wrought Warglaive Pet({item = 180869, id = 2940}) -- Devoured Wader } }) -- Swelling Tear map.nodes[39604499] = SWELLING_TEAR map.nodes[47434282] = SWELLING_TEAR map.nodes[52203280] = SWELLING_TEAR map.nodes[56031463] = SWELLING_TEAR map.nodes[59825165] = SWELLING_TEAR map.nodes[63503590] = SWELLING_TEAR map.nodes[53498868] = Rare({ id = 170899, quest = 60977, -- 60933 makes Cache of the Ascended visible label = GetAchievementCriteriaInfoByID(14307, 50619), note = L['ascended_council_note'], rewards = { Achievement({id = 14307, criteria = 50619}), ns.reward.Spacer(), Achievement({id = 14734, criteria = {49818, 49815, 49816, 49819, 49817}}), Mount({item = 183741, id = 1426}) -- Ascended Skymane }, pois = { POI({ 64326980, -- Vesper of Purity 33325980, -- Vesper of Courage 71933896, -- Vesper of Humility 39132038, -- Vesper of Wisdom 32171776 -- Vesper of Loyalty }) } }) -- The Ascended Council map.nodes[43482524] = Rare({ id = 171008, quest = 60997, note = L['unstable_memory_note'], rewards = { Achievement({id = 14307, criteria = 50606}), Toy({item = 184413}) -- Mnemonic Attunement Pane } }) -- Unstable Memory map.nodes[40635306] = Rare({ id = 167078, quest = {60314, 62197}, covenant = KYRIAN, requires = ns.requirement.GarrisonTalent(1238, L['anima_channeled']), note = L['wingflayer_note'], rewards = { Achievement({id = 14307, criteria = 50600}), Item({item = 182749}) -- Regurgitated Kyrian Wings } }) -- Wingflayer the Cruel ------------------------------------------------------------------------------- ---------------------------------- TREASURES ---------------------------------- ------------------------------------------------------------------------------- -- Treasure of Courage (27051932) -- Treasure of Purity (26852473) -- Treasure of Humility (24662039) -- Treasure of Wisdom (23652548) map.nodes[46114536] = Treasure({ quest = 61006, note = L['in_cave'], rewards = {Achievement({id = 14311, criteria = 50053})}, pois = { POI({46454661}) -- Entrance } }) -- Abandoned Stockpile map.nodes[35834811] = Treasure({ quest = 61053, requires = ns.requirement.Item(180536), note = L['broken_flute'], rewards = { Achievement({id = 14311, criteria = 50055}), Item({item = 180064}) -- Ascended Flute } }) -- Broken Flute map.nodes[61061510] = Treasure({ quest = 61698, label = L['cloudwalkers_coffer'], note = L['cloudwalkers_coffer_note'], rewards = { Achievement({id = 14833, criteria = 49866, covenant = NECROLORD}), Item({item = 180783}) -- Design: Crown of the Righteous }, pois = { POI({59011639}) -- First Flower } }) -- Cloudwalker's Coffer map.nodes[51471795] = Treasure({ quest = 61052, requires = ns.requirement.Item(180534), note = L['experimental_construct_part'], rewards = { Achievement({id = 14311, criteria = 50054}), Transmog({item = 183609, slot = L['fist']}) -- Re-Powered Golliath Fists }, pois = { POI({ 49811739, 50871471, 52041999, 52471448, 52861966, 53001500, 53141903, 53541715 }) -- Unstable Anima Core } }) -- Experimental Construct Part map.nodes[35085805] = Treasure({ quest = 60893, requires = ns.requirement.Spell(333063), note = L['gift_of_agthia'], rewards = { Achievement({id = 14311, criteria = 50058}), Item({item = 180063}) -- Unearthly Chime }, pois = {Path({39085448, 38455706, 37405674, 37115684, 35165822})} }) -- Gift of Agthia map.nodes[70473645] = Treasure({ quest = 60892, requires = ns.requirement.Spell(333045), note = L['gift_of_chyrus'], rewards = { Achievement({id = 14311, criteria = 50060}), Toy({item = 183988}) -- Bondable Val'kyr Diadem }, pois = {POI({69374031})} }) -- Gift of Chyrus map.nodes[27602179] = Treasure({ quest = 60895, requires = ns.requirement.Spell(333070), note = L['gift_of_devos'], rewards = { Achievement({id = 14311, criteria = 50062}), Item({item = 179977}) -- Benevolent Gong }, pois = { Path({ 23932482, 24712512, 25232402, 25832329, 25792226, 25192140, 25732097, 26552137, 27122130, 27102031, 27452003, 27702102, 27602179 }) -- Suggested path } }) -- Gift of Devos map.nodes[40601890] = Treasure({ quest = 60894, requires = ns.requirement.Spell(333068), note = L['gift_of_thenios'], rewards = { Achievement({id = 14311, criteria = 50061}), Transmog({item = 181290, slot = L['cosmetic'], covenant = KYRIAN}) -- Harmonious Sigil of the Archon }, pois = { POI({41662331, 39551900}) -- Transport platform } }) -- Gift of Thenios map.nodes[64877114] = Treasure({ quest = 60890, requires = ns.requirement.Spell(332785), note = L['gift_of_vesiphone'], rewards = { Achievement({id = 14311, criteria = 50059}), Pet({item = 180859, id = 2935}) -- Purity } }) -- Gift of Vesiphone map.nodes[58233999] = Treasure({ quest = 61049, note = L['larion_harness'], rewards = { Achievement({id = 14311, criteria = 50051}) -- Item({item=182652}) }, pois = { POI({55694287}) -- Entrance } }) -- Larion Tamer's Harness map.nodes[59336092] = Treasure({ quest = 61048, rewards = { Achievement({id = 14311, criteria = 50050}), Item({item = 182693, quest = 62170}) -- You'll Never Walk Alone } }) -- Lost Disciple's Notes map.nodes[56481714] = Treasure({ quest = 61150, requires = ns.requirement.Item(180797), note = L['memorial_offering'], rewards = {Achievement({id = 14311, criteria = 50056})}, pois = { POI({ 56851899, -- Drink Tray 33996651, -- Kobri (Cliffs of Respite) 43573224, -- Kobri (Sagehaven) 47967389, -- Kobri (Aspirant's Rest) 51804641, -- Kobri (Hero's Rest) 52164709, -- Kobri (Hero's Rest) 53498033 -- Kobri (Aspirant's Crucible) }) } }) -- Memorial Offering map.nodes[52038607] = Treasure({ quest = 58329, rewards = { Achievement({id = 14311, criteria = 50049}), Item({item = 174007}) } }) -- Purifying Draught -- 58292 (purians), 58294 (first offer), 58293 (second offer) map.nodes[53508037] = Treasure({ quest = 58298, note = L['scroll_of_aeons'], rewards = { Achievement({id = 14311, criteria = 50047}), Toy({item = 173984}) -- Scroll of Aeons }, pois = {POI({54428387, 56168305})} }) -- Scroll of Aeons map.nodes[40504980] = Treasure({ quest = 61044, rewards = { Achievement({id = 14311, criteria = 50052}), Transmog({item = 182561, slot = L['cloak']}) -- Fallen Disciple's Cloak } }) -- Stolen Equipment map.nodes[36012652] = Treasure({ quest = 61183, -- 61229 (mallet forged) 61191 (vesper rung) requires = ns.requirement.Item(180858), label = L['vesper_of_silver_wind'], note = L['vesper_of_silver_wind_note'], rewards = { Mount({item = 180772, id = 1404}) -- Silverwind Larion } }) -- Vesper of the Silver Wind map.nodes[58667135] = Treasure({ quest = 60478, rewards = { Achievement({id = 14311, criteria = 50048}), Item({item = 179982}) -- Kyrian Bell } }) -- Vesper of Virtues ------------------------------------------------------------------------------- --------------------------------- BATTLE PETS --------------------------------- ------------------------------------------------------------------------------- map.nodes[52727429] = PetBattle({ id = 175777, rewards = {Achievement({id = 14881, criteria = 51047})} }) -- Crystalsnap map.nodes[25903078] = PetBattle({ id = 175783, rewards = {Achievement({id = 14881, criteria = 51053})} }) -- Digallo map.nodes[46524930] = PetBattle({ id = 175785, rewards = {Achievement({id = 14881, criteria = 51055})} }) -- Kostos map.nodes[34806280] = PetBattle({ id = 173131, note = L['stratios_note'], rewards = { Achievement({id = 14625, criteria = 49416}), ns.reward.Spacer(), Achievement({id = 14868, criteria = 9, oneline = true}), -- Aquatic Achievement({id = 14869, criteria = 9, oneline = true}), -- Beast Achievement({id = 14870, criteria = 9, oneline = true}), -- Critter Achievement({id = 14871, criteria = 9, oneline = true}), -- Dragon Achievement({id = 14872, criteria = 9, oneline = true}), -- Elemental Achievement({id = 14873, criteria = 9, oneline = true}), -- Flying Achievement({id = 14874, criteria = 9, oneline = true}), -- Humanoid Achievement({id = 14875, criteria = 9, oneline = true}), -- Magic Achievement({id = 14876, criteria = 9, oneline = true}), -- Mechanical Achievement({id = 14877, criteria = 9, oneline = true}) -- Undead } }) -- Stratios map.nodes[36603180] = PetBattle({ id = 173133, rewards = {Achievement({id = 14625, criteria = 49417})} }) -- Jawbone map.nodes[51393833] = PetBattle({ id = 173130, note = L['zolla_note'], rewards = { Achievement({id = 14625, criteria = 49415}), ns.reward.Spacer(), Achievement({id = 14868, criteria = 7, oneline = true}), -- Aquatic Achievement({id = 14869, criteria = 7, oneline = true}), -- Beast Achievement({id = 14870, criteria = 7, oneline = true}), -- Critter Achievement({id = 14871, criteria = 7, oneline = true}), -- Dragon Achievement({id = 14872, criteria = 7, oneline = true}), -- Elemental Achievement({id = 14873, criteria = 7, oneline = true}), -- Flying Achievement({id = 14874, criteria = 7, oneline = true}), -- Humanoid Achievement({id = 14875, criteria = 7, oneline = true}), -- Magic Achievement({id = 14876, criteria = 7, oneline = true}), -- Mechanical Achievement({id = 14877, criteria = 7, oneline = true}) -- Undead } }) -- Zolla map.nodes[54555609] = PetBattle({ id = 173129, note = L['thenia_note'], rewards = { Achievement({id = 14625, criteria = 49414}), ns.reward.Spacer(), Achievement({id = 14868, criteria = 8, oneline = true}), -- Aquatic Achievement({id = 14869, criteria = 8, oneline = true}), -- Beast Achievement({id = 14870, criteria = 8, oneline = true}), -- Critter Achievement({id = 14871, criteria = 8, oneline = true}), -- Dragon Achievement({id = 14872, criteria = 8, oneline = true}), -- Elemental Achievement({id = 14873, criteria = 8, oneline = true}), -- Flying Achievement({id = 14874, criteria = 8, oneline = true}), -- Humanoid Achievement({id = 14875, criteria = 8, oneline = true}), -- Magic Achievement({id = 14876, criteria = 8, oneline = true}), -- Mechanical Achievement({id = 14877, criteria = 8, oneline = true}) -- Undead } }) -- Thenia ------------------------------------------------------------------------------- ----------------------------- COUNT YOUR BLESSINGS ---------------------------- ------------------------------------------------------------------------------- map.nodes[34753001] = Collectible({ icon = 1022951, group = ns.groups.BLESSINGS, label = '{spell:327976}', note = L['count_your_blessings_note'], rewards = {Achievement({id = 14767, criteria = 49946})} }) -- Purified Blessing of Fortitude map.nodes[53832886] = Collectible({ icon = 1022951, group = ns.groups.BLESSINGS, label = '{spell:327974}', note = L['count_your_blessings_note'], rewards = {Achievement({id = 14767, criteria = 49944})} }) -- Purified Blessing of Grace map.nodes[45285979] = Collectible({ icon = 1022951, group = ns.groups.BLESSINGS, label = '{spell:327975}', note = L['count_your_blessings_note'], rewards = {Achievement({id = 14767, criteria = 49945})} }) -- Purified Blessing of Power ------------------------------------------------------------------------------- ------------------------- RALLYING CRY OF THE ASCENDED ------------------------ ------------------------------------------------------------------------------- map.nodes[32171776] = Collectible({ icon = 3536181, group = ns.groups.VESPERS, label = L['vesper_of_loyalty'], note = L['vespers_ascended_note'], rewards = {Achievement({id = 14734, criteria = 49817})} }) -- Vesper of Loyalty map.nodes[33325980] = Collectible({ icon = 3536181, group = ns.groups.VESPERS, label = L['vesper_of_courage'], note = L['vespers_ascended_note'], rewards = {Achievement({id = 14734, criteria = 49815})} }) -- Vesper of Courage map.nodes[39132038] = Collectible({ icon = 3536181, group = ns.groups.VESPERS, label = L['vesper_of_wisdom'], note = L['vespers_ascended_note'], rewards = {Achievement({id = 14734, criteria = 49819})} }) -- Vesper of Wisdom map.nodes[64326980] = Collectible({ icon = 3536181, group = ns.groups.VESPERS, label = L['vesper_of_purity'], note = L['vespers_ascended_note'], rewards = {Achievement({id = 14734, criteria = 49818})} }) -- Vesper of Purity map.nodes[71933896] = Collectible({ icon = 3536181, group = ns.groups.VESPERS, label = L['vesper_of_humility'], note = L['vespers_ascended_note'], rewards = {Achievement({id = 14734, criteria = 49816})} }) -- Vesper of Humility ------------------------------------------------------------------------------- --------------------------------- SHARD LABOR --------------------------------- ------------------------------------------------------------------------------- local AnimaShard = Class('AnimaShard', Node, { label = L['anima_shard'], icon = 'crystal_b', scale = 1.5, group = ns.groups.ANIMA_SHARD, rewards = { Achievement({ id = 14339, criteria = {{id = 0, qty = true, suffix = L['anima_shard']}} }) } }) map.nodes[39057704] = AnimaShard({quest = 61225, note = L['anima_shard_61225']}) map.nodes[43637622] = AnimaShard({quest = 61235, note = L['anima_shard_61235']}) map.nodes[48427273] = AnimaShard({quest = 61236, note = L['anima_shard_61236']}) map.nodes[52677555] = AnimaShard({quest = 61237, note = L['anima_shard_61237']}) map.nodes[53317362] = AnimaShard({quest = 61238, note = L['anima_shard_61238']}) map.nodes[53498060] = AnimaShard({quest = 61239, note = L['anima_shard_61239']}) map.nodes[55968666] = AnimaShard({quest = 61241, note = L['anima_shard_61241']}) map.nodes[61048566] = AnimaShard({quest = 61244, note = L['anima_shard_61244']}) map.nodes[58108008] = AnimaShard({quest = 61245, note = L['anima_shard_61245']}) map.nodes[56877498] = AnimaShard({quest = 61247, note = L['anima_shard_61247']}) map.nodes[65527192] = AnimaShard({ quest = 61249, note = L['anima_shard_61249'], pois = { POI({63467240}) -- Transport platform } }) map.nodes[58156391] = AnimaShard({quest = 61250, note = L['anima_shard_61250']}) map.nodes[54005970] = AnimaShard({quest = 61251, note = L['anima_shard_61251']}) map.nodes[46706595] = AnimaShard({quest = 61253, note = L['anima_shard_61253']}) map.nodes[50685614] = AnimaShard({quest = 61254, note = L['anima_shard_61254']}) map.nodes[34846578] = AnimaShard({quest = 61257, note = L['anima_shard_61257']}) map.nodes[51674802] = AnimaShard({quest = 61258, note = L['anima_shard_61258']}) map.nodes[47084923] = AnimaShard({quest = 61260, note = L['anima_shard_61260']}) map.nodes[41394663] = AnimaShard({quest = 61261, note = L['anima_shard_61261']}) map.nodes[40045912] = AnimaShard({quest = 61263, note = L['anima_shard_61263']}) map.nodes[38525326] = AnimaShard({quest = 61264, note = L['anima_shard_61264']}) map.nodes[57645567] = AnimaShard({quest = 61270, note = L['anima_shard_61270']}) map.nodes[65254288] = AnimaShard({quest = 61271, note = L['anima_shard_61271']}) map.nodes[72384029] = AnimaShard({quest = 61273, note = L['anima_shard_61273']}) map.nodes[66892692] = AnimaShard({quest = 61274, note = L['anima_shard_61274']}) map.nodes[57553827] = AnimaShard({ quest = 61275, note = L['anima_shard_61275'], pois = { POI({55694287}) -- Entrance } }) map.nodes[52163939] = AnimaShard({quest = 61277, note = L['anima_shard_61277']}) map.nodes[49993826] = AnimaShard({quest = 61278, note = L['anima_shard_61278']}) map.nodes[48483491] = AnimaShard({quest = 61279, note = L['anima_shard_61279']}) map.nodes[56722884] = AnimaShard({quest = 61280, note = L['anima_shard_61280']}) map.nodes[56201731] = AnimaShard({quest = 61281, note = L['anima_shard_61281']}) map.nodes[59881391] = AnimaShard({quest = 61282, note = L['anima_shard_61282']}) map.nodes[52440942] = AnimaShard({ quest = 61283, note = L['anima_shard_61283'], pois = { POI({53650953}) -- Entrance } }) map.nodes[46691804] = AnimaShard({quest = 61284, note = L['anima_shard_61284']}) map.nodes[44942845] = AnimaShard({quest = 61285, note = L['anima_shard_61285']}) map.nodes[42302402] = AnimaShard({quest = 61286, note = L['anima_shard_61286']}) map.nodes[37102468] = AnimaShard({quest = 61287, note = L['anima_shard_61287']}) map.nodes[42813321] = AnimaShard({quest = 61288, note = L['anima_shard_61288']}) map.nodes[42713940] = AnimaShard({quest = 61289, note = L['anima_shard_61289']}) map.nodes[33033762] = AnimaShard({quest = 61290, note = L['anima_shard_61290']}) map.nodes[31002747] = AnimaShard({quest = 61291, note = L['anima_shard_61291']}) map.nodes[30612373] = AnimaShard({quest = 61292, note = L['anima_shard_61292']}) map.nodes[24642298] = AnimaShard({quest = 61293, note = L['anima_shard_61293']}) map.nodes[26152262] = AnimaShard({quest = 61294, note = L['anima_shard_61294']}) map.nodes[24371821] = AnimaShard({quest = 61295, note = L['anima_shard_61295']}) ------------------------------------------------------------------------------- local gardens = Map({id = 1693}) local font = Map({id = 1694}) local wake = Map({id = 1666}) wake.nodes[52508860] = AnimaShard({ quest = 61296, note = L['anima_shard_61296'], parent = map.id }) wake.nodes[36202280] = AnimaShard({ quest = 61297, note = L['anima_shard_61297'], parent = map.id }) gardens.nodes[46605310] = AnimaShard({ quest = 61298, note = L['anima_shard_61298'] }) gardens.nodes[69403870] = AnimaShard({ quest = 61299, note = L['anima_shard_61299'] }) font.nodes[49804690] = AnimaShard({quest = 61300, note = L['anima_shard_61300']}) map.nodes[60552554] = AnimaShard({ quest = {61298, 61299, 61300}, questCount = true, note = L['anima_shard_spires'] }) ------------------------------------------------------------------------------- ---------------------------- WHAT IS THAT MELODY? ----------------------------- ------------------------------------------------------------------------------- local Hymn = Class('Hymn', Collectible, { icon = 'scroll', note = L['hymn_note'], group = ns.groups.HYMNS }) local COURAGE = Hymn({ label = '{spell:338912}', rewards = {Achievement({id = 14768, criteria = 49948})} }) local HUMILITY = Hymn({ label = '{spell:338910}', rewards = {Achievement({id = 14768, criteria = 49949})} }) local PURITY = Hymn({ label = '{spell:338911}', rewards = {Achievement({id = 14768, criteria = 49947})} }) local WISDOM = Hymn({ label = '{spell:338909}', rewards = {Achievement({id = 14768, criteria = 49950})} }) map.nodes[31905460] = COURAGE map.nodes[32505770] = COURAGE map.nodes[34105850] = COURAGE map.nodes[35405560] = COURAGE map.nodes[39216038] = COURAGE -- available after phase map.nodes[40365882] = COURAGE -- available after phase map.nodes[63004290] = HUMILITY map.nodes[64504640] = HUMILITY map.nodes[66104080] = HUMILITY map.nodes[68704340] = HUMILITY map.nodes[69304110] = HUMILITY map.nodes[57927896] = PURITY map.nodes[60127258] = PURITY map.nodes[61107610] = PURITY map.nodes[63607370] = PURITY map.nodes[63717413] = PURITY map.nodes[63907350] = PURITY map.nodes[41702420] = WISDOM map.nodes[41832781] = WISDOM map.nodes[42202370] = WISDOM map.nodes[42502560] = WISDOM map.nodes[42902730] = WISDOM map.nodes[43182813] = WISDOM