Last active
May 18, 2020 00:30
-
-
Save Ivaar/497ff4c74b1a85dbbba6de22e7b0bf85 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
return { | |
[0] = '+Procure: Ceizak Battlegrounds', -- 0 | |
[1] = '+Procure: Foret de Hennetiel', | |
[2] = '+Procure: Morimar Basalt Fields', | |
[3] = '+Procure: Yorcia Weald', | |
[4] = '+Procure: Marjami Ravine', | |
[5] = '+Procure: Kamihr Drifts', | |
[6] = '+Procure: Cirdas Caverns', | |
[7] = "+Procure: Outer Ra'Kaznar", | |
[8] = '+Clear: Ceizak Battlegrounds', | |
[9] = '+Clear: Foret de Hennetiel', | |
[10] = '+Clear: Morimar Basalt Fields', | |
[11] = '+Clear: Yorcia Weald', | |
[12] = '+Clear: Marjami Ravine', | |
[13] = '+Clear: Kamihr Drifts', | |
[14] = '+Clear: Cirdas Caverns', | |
[15] = "+Clear: Outer Ra'Kaznar", | |
[16] = '+Preserve: Ceizak Battlegrounds', -- 64 | |
[17] = '+Preserve: Yahse Hunting Grounds', | |
[18] = '+Preserve: Foret de Hennetiel', | |
[19] = '+Preserve: Morimar Basalt Fields', | |
[20] = '+Preserve: Yorcia Weald', | |
[21] = '+Preserve: Marjami Ravine', | |
[22] = '+Preserve: Kamihr Drifts', | |
[23] = '+Preserve: Cirdas Caverns', | |
[24] = "+Preserve: Outer Ra'Kaznar", | |
[25] = '+Patrol: Rala Waterways', | |
[26] = '+Patrol: Sih Gates', | |
[27] = '+Patrol: Moh Gates', | |
[28] = '+Patrol: Cirdas Caverns', | |
[29] = '+Patrol: Dho Gates', | |
[30] = '+Patrol: Woh Gates', | |
[31] = "+Patrol: Outer Ra'Kaznar", | |
[32] = '+Provide: Foret de Hennetiel', -- 16 | |
[33] = '+Provide: Morimar Basalt Fields', | |
[34] = '+Provide: Yorcia Weald', | |
[35] = '+Provide: Marjami Ravine', | |
[36] = '+Provide: Kamihr Drifts', | |
[37] = '+Deliver: Foret de Hennetiel', | |
[38] = '+Deliver: Morimar Basalt Fields', | |
[39] = '+Deliver: Yorcia Weald', | |
[40] = '+Deliver: Marjami Ravine', | |
[41] = '+Deliver: Kamihr Drifts', | |
[42] = '+Support: Ceizak Battlegrounds', | |
[43] = '+Support: Foret de Hennetiel', | |
[44] = '+Support: Morimar Basalt Fields', | |
[45] = '+Support: Yorcia Weald', | |
[46] = '+Support: Marjami Ravine', | |
[47] = '+Support: Kamihr Drifts', | |
[48] = '+Survey: Ceizak Battlegrounds', -- 48 | |
[49] = '+Survey: Foret de Hennetiel', | |
[50] = '+Survey: Morimar Basalt Fields', | |
[51] = '+Survey: Yorcia Weald', | |
[52] = '+Survey: Marjami Ravine', | |
[53] = '+Survey: Kamihr Drifts', | |
[54] = '+Survey: Sih Gates', | |
[55] = '+Survey: Cirdas Caverns', | |
[56] = '+Survey: Dho Gates', | |
[57] = '+Analyze: Foret de Hennetiel', | |
[58] = '+Analyze: Morimar Basalt Fields', | |
[59] = '+Analyze: Yorcia Weald', | |
[60] = '+Analyze: Marjami Ravine', | |
[61] = '+Analyze: Kamihr Drifts', | |
[62] = '+Analyze: Cirdas Caverns', | |
[63] = "+Analyze: Outer Ra'Kaznar", | |
[64] = '+Gather: Rala Waterways', -- 32 | |
[65] = '+Gather: Ceizak Battlegrounds', | |
[66] = '+Gather: Yahse Hunting Grounds', | |
[67] = '+Gather: Foret de Hennetiel', | |
[68] = '+Gather: Morimar Basalt Fields', | |
[69] = '+Gather: Yorcia Weald', | |
[70] = '+Gather: Marjami Ravine', | |
[71] = '+Gather: Kamihr Drifts', | |
[72] = '+Gather: Sih Gates', | |
[73] = '+Gather: Moh Gates', | |
[74] = '+Gather: Cirdas Caverns', | |
[75] = '+Gather: Dho Gates', | |
[76] = '+Gather: Woh Gates', | |
[77] = "+Gather: Outer Ra'Kaznar", | |
[78] = "+Gather: Ra'Kaznar Inner Court", | |
[79] = '+Gather:', | |
[80] = '+Recover: Ceizak Battlegrounds', -- 80 | |
[81] = '+Recover: Foret de Hennetiel', | |
[82] = '+Recover: Morimar Basalt Fields', | |
[83] = '+Recover: Yorcia Weald', | |
[84] = '+Recover: Marjami Ravine', | |
[85] = '+Recover: Kamihr Drifts', | |
[86] = '+Research: Rala Waterways', | |
[87] = '+Research: Ceizak Battlegrounds', | |
[88] = '+Research: Foret de Hennetiel', | |
[89] = '+Research: Morimar Basalt Fields', | |
[90] = '+Research: Yorcia Weald', | |
[91] = '+Research: Marjami Ravine', | |
[92] = '+Research: Kamihr Drifts', | |
[93] = '+Boost: Foret de Hennetiel', | |
[94] = '+Boost: Marjami Ravine', | |
[95] = '+Boost: Kamihr Drifts', | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
_addon.name = 'QuestLog' | |
_addon.commands = {'quest','ql'} | |
require('luau') | |
bit = require('bit') | |
packets = require('packets') | |
local cmds = { | |
abyssea = S{'abyssea','aby'}, | |
adoulin = S{'adoulin','soa'}, | |
coalition = S{'coalition','ca'}, | |
} | |
local maps = { | |
quests = { | |
abyssea = require('quests-abyssea'), | |
coalition = require('coalition-assignments'), | |
adoulin = require('quests-adoulin'), | |
other = require('quests-other'), | |
} | |
} | |
local quests = {completed={},current={}} | |
function to_set(data) | |
return {data:unpack('q64':rep(#data/4))} | |
end | |
function to_list(data) | |
local t = {} | |
for x = 0, 8*#data-1 do | |
if data:unpack('q', math.floor(x/8)+1, x%8+1) then | |
t[#t+1] = x | |
end | |
end | |
return t | |
end | |
function shift_assignments(data) | |
return data:sub(1,2) .. data:sub(9,10) .. | |
data:sub(3,4) .. data:sub(7,8) .. | |
data:sub(5,6) .. data:sub(11) | |
end | |
windower.register_event('incoming chunk', function(id, data, modified, injected, blocked) | |
if id == 0x056 then | |
local p = packets.parse('incoming', data) | |
local Type = bit.band(p.Type, 0xFFFF) | |
if Type == 0x0070 then | |
quests.current.other = p['Quest Flags'] | |
elseif Type == 0x00B0 then | |
quests.completed.other = p['Quest Flags'] | |
elseif Type == 0x00E0 then | |
quests.current.abyssea = p['Quest Flags'] | |
elseif Type == 0x00E8 then | |
quests.completed.abyssea = p['Quest Flags'] | |
elseif Type == 0x00F0 then | |
quests.current.adoulin = p['Quest Flags'] | |
elseif Type == 0x00F8 then | |
quests.completed.adoulin = p['Quest Flags'] | |
elseif Type == 0x0100 then | |
quests.current.coalition = p['Quest Flags'] | |
elseif Type == 0x0108 then | |
quests.completed.coalition = p['Quest Flags'] | |
end | |
end | |
end) | |
function addon_error(str) | |
windower.add_to_chat(167, 'You must change areas or complete %s quests before using this command.':format(str)) | |
end | |
function log_quests(quest_type,start,finish) | |
if not quests.completed[quest_type] then | |
addon_error(quest_type) | |
return true | |
end | |
local completed = to_set(quests.completed[quest_type]) | |
local current = to_set(quests.current[quest_type]) | |
for x = start, finish do | |
if not completed[x+1] and maps.quests[quest_type][x] then | |
windower.add_to_chat(current[x+1] and 167 or 207, maps.quests[quest_type][x]) | |
end | |
end | |
end | |
windower.register_event('addon command', function(...) | |
if arg[1] == 'eval' then | |
assert(loadstring(table.concat(arg, ' ',2)))() | |
elseif cmds.abyssea:contains(arg[1]) then | |
log_quests('abyssea',0,86) | |
elseif cmds.adoulin:contains(arg[1]) then | |
log_quests('adoulin',0,143) | |
log_quests('other',200,209) | |
elseif cmds.coalition:contains(arg[1]) then | |
if not quests.completed.coalition then | |
addon_error('coalition assignment') | |
return | |
end | |
local red = 167 | |
local green = 204 | |
local blue = 207 | |
local yellow = 159 | |
local complete_count,current_count = 0,0 | |
local current_coalition = to_set(shift_assignments(quests.current.coalition)) | |
local completed_coalition = to_set(shift_assignments(quests.completed.coalition)) | |
windower.add_to_chat(blue, 'Inactive\31\204 Completed\31\167 Current\31\159 Completed + Current') | |
for id = 0, #maps.quests.coalition do | |
if #maps.quests.coalition[id] > 8 then | |
local complete = completed_coalition[id+1] | |
local current = current_coalition[id+1] | |
if complete then | |
complete_count = complete_count + 1 | |
end | |
if current then | |
current_count = current_count + 1 | |
end | |
local color = complete and current and yellow or complete and green or current and red or blue | |
windower.add_to_chat(color, maps.quests.coalition[id]:sub(2)) | |
end | |
end | |
windower.add_to_chat(blue,'%d/95 Complete and %d Current assignments':format(complete_count, current_count)) | |
end | |
end) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
return { | |
[0] = 'Catering Capers', | |
[1] = 'Gift of Light', | |
[2] = 'Fear of the Dark III', | |
[3] = 'An Eye for Revenge', | |
[4] = 'Unbreak His Heart', | |
[5] = 'Explosive Endeavors', | |
[6] = 'The Angling Armorer', | |
[7] = 'Water of Life', | |
[8] = 'Out of Touch', | |
[9] = 'Lost Memories', | |
[10] = 'Hope Blooms on the Battlefield', | |
[11] = 'Of Malnourished Martellos', | |
[12] = 'Rose on the Heath', | |
[13] = 'Full-of-Himself Alchemist', | |
[14] = 'The Walking Wounded', | |
[15] = 'Shady Business Redux', | |
[16] = 'Addled Mind, Undying Dreams', | |
[17] = 'The Soul of the Matter', | |
[18] = 'Secret Agent Man', | |
[19] = 'Playing Paparazzi', | |
[20] = 'His Box, His Beloved', | |
[21] = 'Weapons, Not Worries', | |
[22] = 'Cleansing the Canyon', | |
[23] = 'Savory Salvation', | |
[24] = 'Bringing Down the Mountain', | |
[25] = 'A Sterling Specimen', | |
[26] = 'For Love of a Daughter', | |
[27] = 'Sisters in Crime', | |
[28] = 'When Good Cardians Go Bad', | |
[29] = 'Tangling with Tongue-twisters', | |
[30] = 'A Ward to End All Wards', | |
[31] = "The Boxwatcher's Behest", | |
[32] = 'His Bridge, His Beloved', | |
[33] = 'Bad Communication', | |
[34] = 'Family Ties', | |
[35] = 'Aqua Pura', | |
[36] = 'Aqua Puraga', | |
[37] = 'Whither the Whisker', | |
[38] = 'Scattered Shells, Scattered Mind', | |
[39] = 'Wayward Wares', | |
[40] = 'Looking for Lookouts', | |
[41] = 'Flown the Coop', | |
[42] = 'Threadbare Tribulations', | |
[43] = "An Offer You Can't Refuse", | |
[44] = 'Something in the Air', | |
[45] = 'An Acrididaen Anodyne', | |
[46] = 'Hazy Prospects', | |
[47] = 'For Want of a Pot', | |
[48] = 'Missing in Action', | |
[49] = 'I Dream of Flowers', | |
[50] = 'Destiny Odyssey', | |
[51] = 'Unidentified Research Object', | |
[52] = 'Cookbook of Hope Restoring', | |
[53] = 'Smoke over the Coast', | |
[54] = 'Soil and Green', | |
[55] = 'Dropping the Bomb', | |
[56] = 'Wanted: Medical Supplies', | |
[57] = 'Voices from Beyond', | |
[58] = 'Benevolence Lost', | |
[59] = "Brugaire's Ambition", | |
[60] = 'Chocobo Panic', | |
[61] = 'The Egg Enthusiast', | |
[62] = 'Getting Lucky', | |
[63] = "Her Father's Legacy", | |
[64] = 'The Mysterious Head Patrol', | |
[65] = 'Master Missing, Master Missed', | |
[66] = 'The Perils of Kororo', | |
[67] = 'Let There Be Light', | |
[68] = 'Look Out Below', | |
[69] = 'Home, Home on the Range', | |
[70] = 'Imperial Espionage', | |
[71] = 'Imperial Espionage II', | |
[72] = 'Boreal Blossoms', | |
[73] = 'Brothers in Arms', | |
[74] = 'Scouts Astray', | |
[75] = 'Frozen Flame Redux', | |
[76] = "Slip Slidin' Away", | |
[77] = 'Classrooms Without Borders', | |
[78] = 'The Secret Ingredient', | |
[79] = 'Help Not Wanted', | |
[80] = 'The Titus Touch', | |
[81] = 'Slacking Subordinates', | |
[82] = 'Motherly Love', | |
[83] = 'Look to the Sky', | |
[84] = 'The Unmarked Tomb', | |
[85] = 'Proof of the Lion', | |
[86] = 'Brygid the Stylist Strikes Back', | |
[87] = 'Dominion Op #01 (Altepa)', | |
[88] = 'Dominion Op #02 (Altepa)', | |
[89] = 'Dominion Op #03 (Altepa)', | |
[90] = 'Dominion Op #04 (Altepa)', | |
[91] = 'Dominion Op #05 (Altepa)', | |
[92] = 'Dominion Op #06 (Altepa)', | |
[93] = 'Dominion Op #07 (Altepa)', | |
[94] = 'Dominion Op #08 (Altepa)', | |
[95] = 'Dominion Op #09 (Altepa)', | |
[96] = 'Dominion Op #10 (Altepa)', | |
[97] = 'Dominion Op #11 (Altepa)', | |
[98] = 'Dominion Op #12 (Altepa)', | |
[99] = 'Dominion Op #13 (Altepa)', | |
[100] = 'Dominion Op #14 (Altepa)', | |
[101] = 'Dominion Op #01 (Uleguerand)', | |
[102] = 'Dominion Op #02 (Uleguerand)', | |
[103] = 'Dominion Op #03 (Uleguerand)', | |
[104] = 'Dominion Op #04 (Uleguerand)', | |
[105] = 'Dominion Op #05 (Uleguerand)', | |
[106] = 'Dominion Op #06 (Uleguerand)', | |
[107] = 'Dominion Op #07 (Uleguerand)', | |
[108] = 'Dominion Op #08 (Uleguerand)', | |
[109] = 'Dominion Op #09 (Uleguerand)', | |
[110] = 'Dominion Op #10 (Uleguerand)', | |
[111] = 'Dominion Op #11 (Uleguerand)', | |
[112] = 'Dominion Op #12 (Uleguerand)', | |
[113] = 'Dominion Op #13 (Uleguerand)', | |
[114] = 'Dominion Op #14 (Uleguerand)', | |
[115] = 'Dominion Op #01 (Grauberg)', | |
[116] = 'Dominion Op #02 (Grauberg)', | |
[117] = 'Dominion Op #03 (Grauberg)', | |
[118] = 'Dominion Op #04 (Grauberg)', | |
[119] = 'Dominion Op #05 (Grauberg)', | |
[120] = 'Dominion Op #06 (Grauberg)', | |
[121] = 'Dominion Op #07 (Grauberg)', | |
[122] = 'Dominion Op #08 (Grauberg)', | |
[123] = 'Dominion Op #09 (Grauberg)', | |
[124] = 'Ward Warden I (Attohwa)', | |
[125] = 'Ward Warden I (Misareaux)', | |
[126] = 'Ward Warden I (Vunkerl)', | |
[127] = 'Ward Warden II (Attohwa)', | |
[128] = 'Ward Warden II (Misareaux)', | |
[129] = 'Ward Warden II (Vunkerl)', | |
[130] = 'Desert Rain I (Attohwa)', | |
[131] = 'Desert Rain I (Misareaux)', | |
[132] = 'Desert Rain I (Vunkerl)', | |
[133] = 'Desert Rain II (Attohwa)', | |
[134] = 'Desert Rain II (Misareaux)', | |
[135] = 'Desert Rain II (Vunkerl)', | |
[136] = 'Crimson Carpet I (Attohwa)', | |
[137] = 'Crimson Carpet I (Misareaux)', | |
[138] = 'Crimson Carpet I (Vunkerl)', | |
[139] = 'Crimson Carpet II (Attohwa)', | |
[140] = 'Crimson Carpet II (Misareaux)', | |
[141] = 'Crimson Carpet II (Vunkerl)', | |
[142] = 'Refuel and Replenish (La Theine)', | |
[143] = 'Refuel and Replenish (Konschtat)', | |
[144] = 'Refuel and Replenish (Tahrongi)', | |
[145] = 'Refuel and Replenish (Attohwa)', | |
[146] = 'Refuel and Replenish (Misareaux)', | |
[147] = 'Refuel and Replenish (Vunkerl)', | |
[148] = 'Refuel and Replenish (Altepa)', | |
[149] = 'Refuel and Replenish (Uleguerand)', | |
[150] = 'Refuel and Replenish (Grauberg)', | |
[151] = 'A Mightier Martello (La Theine)', | |
[152] = 'A Mightier Martello (Konschtat)', | |
[153] = 'A Mightier Martello (Tahrongi)', | |
[154] = 'A Mightier Martello (Attohwa)', | |
[155] = 'A Mightier Martello (Misareaux)', | |
[156] = 'A Mightier Martello (Vunkerl)', | |
[157] = 'A Mightier Martello (Altepa)', | |
[158] = 'A Mightier Martello (Uleguerand)', | |
[159] = 'A Mightier Martello (Grauberg)', | |
[160] = 'A Journey Begins', | |
[161] = 'The Truth Beckons', | |
[162] = 'Dawn of Death', | |
[163] = 'A Goldstruck Gigas', | |
[164] = 'To Paste a Peiste', | |
[165] = 'Megadrile Menace', | |
[166] = 'The Forbidden Frontier', | |
[167] = 'First Contact', | |
[168] = 'An Officer and a Pirate', | |
[169] = 'Heart of Madness', | |
[170] = 'Tenuous Existence', | |
[171] = 'Champions of Abyssea', | |
[172] = 'The Beast of Bastore', | |
[173] = 'A Delectable Demon', | |
[174] = 'A Fluttery Fiend', | |
[175] = 'Scars of Abyssea', | |
[176] = 'A Beaked Blusterer', | |
[177] = 'A Man-eating Mite', | |
[178] = 'An Ulcerous Uragnite', | |
[179] = 'Heroes of Abyssea', | |
[180] = "A Sea Dog's Summons", | |
[181] = 'Death and Rebirth', | |
[182] = 'Emissaries of God', | |
[183] = 'Beneath a Blood-red Sky', | |
[184] = 'The Wyrm God', | |
[185] = 'Meanwhile, Back on Abyssea', | |
[186] = 'A Moonlight Requite', | |
[187] = 'Dominion Op #10 (Grauberg)', | |
[188] = 'Dominion Op #11 (Grauberg)', | |
[189] = 'Dominion Op #12 (Grauberg)', | |
[190] = 'Dominion Op #13 (Grauberg)', | |
[191] = 'Dominion Op #14 (Grauberg)', | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
return { | |
[0] = 'Twitherym Dust', | |
[1] = 'To Catch a Predator', | |
[2] = 'Empty Nest', | |
[5] = "Don't Clam Up on Me Now", | |
[6] = 'Hop to It', | |
[9] = 'Boiling Over', | |
[10] = 'Poisoning the Well', | |
[12] = 'Unsullied Lands', | |
[16] = 'No Rime Like the Present', | |
[18] = 'A Geothermal Expedition', | |
[22] = 'Endeavoring to Awaken', | |
[23] = 'Forging New Bonds', | |
[24] = 'Legacies Lost and Found', | |
[25] = "Destiny's Device", | |
[26] = 'Granddaddy Dearest', | |
[27] = 'Wayward Waypoints', | |
[28] = 'One Good Turn...', | |
[29] = 'F.A.I.L.ure Is Not an Option', | |
[30] = 'Order Up', | |
[31] = 'It Never Goes Out of Style', | |
[32] = 'Water, Water, Everywhere', | |
[33] = 'Dirt Cheap', | |
[34] = 'Flower Power', | |
[35] = 'Elementary, My Dear Sylvie', | |
[36] = 'For Whom the Bell Tolls', | |
[37] = 'The Bloodline of Zacariah', | |
[38] = 'The Communion', | |
[39] = 'Full Fields', | |
[40] = 'Green Groves', | |
[41] = 'Mining Missive', | |
[42] = 'Pond Probing', | |
[43] = 'Coastal Chaos', | |
[44] = 'Seed Sowing', | |
[45] = 'Flotsam Finding', | |
[46] = 'Flavors of Our Lives', | |
[47] = 'Courtesy Crustacean', | |
[48] = 'Trinket for the Tyrant', | |
[49] = 'Hypnotic Hospitality', | |
[50] = 'Western Waypoints, Ho!', | |
[51] = 'Wes...Eastern Waypoints, Ho!', | |
[53] = 'Grind to Sawdust', | |
[54] = 'Breaking the Ice', | |
[55] = "I'm on a Boat", | |
[56] = "A Stone's Throw Away", | |
[57] = 'Hide and Go Peak', | |
[58] = 'The Whole Place Is Abuzz', | |
[59] = 'Orobon Appetit', | |
[60] = 'Talk About Wrinkly Skin', | |
[61] = 'No Love Lost', | |
[62] = 'Did You Feel That?', | |
[70] = "Don't Ever Leaf Me", | |
[71] = 'Keep Your Bloomers On, Erisa', | |
[72] = 'Scaredy-Cats', | |
[73] = 'Raptor Rapture', | |
[74] = 'Exotic Delicacies', | |
[75] = "A Pioneer's Best (Imaginary) Friend", | |
[76] = 'Hunger Strikes', | |
[77] = 'The Old Man and the Harpoon', | |
[78] = 'A Certain Substitute Patrolman', | |
[79] = 'It Sets My Heart Aflutter', | |
[82] = 'Transporting', | |
[84] = 'The Starving', | |
[85] = 'Fertile Ground', | |
[88] = '"Always more," Quoth the Ravenous', | |
[89] = 'Meg-alomaniac', | |
[91] = 'The Longest Way Round...', | |
[93] = 'A Good Pair of Crocs', | |
[94] = 'Cafe...teria', | |
[96] = 'A Shot in the Dark', | |
[100] = 'Open the Floodgates', | |
[102] = 'No Laughing Matter', | |
[103] = 'All the Way to the Bank', | |
[104] = 'To Laugh Is to Love', | |
[105] = 'A Barrel of Laughs', | |
[108] = 'Vegetable Vegetable Revolution', | |
[109] = 'Vegetable Vegetable Evolution', | |
[110] = 'Vegetable Vegetable Crisis', | |
[111] = 'Vegetable Frustration', | |
[114] = 'A Thirst for the Ages', | |
[115] = 'A Thirst for the Eons', | |
[116] = 'A Thirst for Eternity', | |
[117] = 'A Thirst Before Time', | |
[118] = 'Dances with Luopans', | |
[119] = 'Children of the Rune', | |
[120] = 'Flowers for Svenja', | |
[121] = 'Thorn in the Side', | |
[122] = 'Do Not Go Into the Light', | |
[123] = 'Velkkovert Operations', | |
[124] = 'Hypocritical Oath', | |
[125] = 'The Good, the Bad, the Clement', | |
[126] = "Lerene's Lament", | |
[127] = 'The Secret to Success', | |
[128] = 'No Mercy for the Wicked', | |
[129] = 'Mistress of Ceremonies', | |
[131] = 'Saved by the Bell', | |
[132] = 'Quiescence', | |
[133] = 'Sick and Tired', | |
[134] = 'Geomancerrific', | |
[135] = 'Rune Fencing the Night Away', | |
[136] = 'The Weatherspoon Inquisition', | |
[137] = 'Eye of the Beholder', | |
[138] = 'The Curious Case of Melvien', | |
[139] = 'Not-So-Clean Bill', | |
[140] = 'In the Land of the Blind', | |
[141] = 'The Weatherspoon War', | |
[142] = 'Treasures of the Earth', | |
[143] = 'Epiphany', | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
return { | |
[0] = 'Rycharde the Chef', | |
[1] = 'Way of the Cook', | |
[2] = 'Unending Chase', | |
[3] = 'His Name Is Valgeir', | |
[4] = 'Expertise', | |
[5] = 'The Clue', | |
[6] = 'The Basics', | |
[7] = "Orlando's Antiques", | |
[8] = 'The Sand Charm', | |
[9] = "A Potter's Preference", | |
[10] = 'The Old Lady', | |
[11] = "Fisherman's Heart", | |
[16] = 'Donate to Recycling', | |
[17] = 'Under the Sea', | |
[18] = 'Only the Best', | |
[19] = "An Explorer's Footsteps", | |
[20] = 'Cargo', | |
[21] = 'The Gift', | |
[22] = 'The Real Gift', | |
[23] = 'The Rescue', | |
[24] = 'Elder Memories', | |
[25] = 'Test My Mettle', | |
[26] = 'Inside the Belly', | |
[27] = 'Trial by Lightning', | |
[28] = 'Trial-Size Trial by Lightning', | |
[29] = "It's Raining Mannequins", | |
[30] = 'Recycling Rods', | |
[31] = 'Picture Perfect', | |
[32] = 'Waking the Beast', | |
[33] = 'Survival of the Wisest', | |
[34] = 'Monstrosity', | |
[35] = "Kupofried's H2H Moogle Magic", | |
[36] = "Kupofried's Dagger Moogle Magic", | |
[37] = "Kupofried's Sword Moogle Magic", | |
[38] = "Kupofried's Great Sword Moogle Magic", | |
[39] = "Kupofried's Axe Moogle Magic", | |
[40] = "Kupofried's Great Axe Moogle Magic", | |
[41] = "Kupofried's Scythe Moogle Magic", | |
[42] = "Kupofried's Polearm Moogle Magic", | |
[43] = "Kupofried's Katana Moogle Magic", | |
[44] = "Kupofried's Great Katana Moogle Magic", | |
[45] = "Kupofried's Club Moogle Magic", | |
[46] = "Kupofried's Staff Moogle Magic", | |
[47] = "Kupofried's Archery Moogle Magic", | |
[48] = "Kupofried's Marksmanship Moogle Magic", | |
[64] = "A Hard Day's Knight", | |
[65] = 'X Marks the Spot', | |
[66] = 'A Bitter Past', | |
[67] = 'The Call of the Sea', | |
[68] = 'Paradise, Salvation, and Maps', | |
[69] = 'Go! Go! Gobmuffin!', | |
[70] = 'The Big One', | |
[71] = 'Fly High', | |
[72] = 'Unforgiven', | |
[73] = 'Secrets of Ovens Lost', | |
[74] = 'Petals for Parelbriaux', | |
[75] = 'Elderly Pursuits', | |
[76] = 'In the Name of Science', | |
[77] = 'Behind the Smile', | |
[78] = 'Knocking on Forbidden Doors', | |
[79] = 'Confessions of a Bellmaker', | |
[80] = 'In Search of the Truth', | |
[81] = 'Uninvited Guests', | |
[82] = 'Tango with a Tracker', | |
[83] = 'Requiem of Sin', | |
[84] = 'VW Op. #026: Tavnazian Terrors', | |
[85] = 'VW Op. #004: Bibiki Bombardment', | |
[96] = 'Bombs Away!', | |
[97] = 'Mithran Delicacies', | |
[100] = 'Give a Moogle a Break', | |
[101] = "The Moogle's Picnic!", | |
[102] = 'Moogles in the Wild', | |
[103] = 'Missionary Moblin', | |
[104] = 'For the Birds', | |
[105] = 'Better the Demon You Know', | |
[106] = 'An Understanding Overlord?', | |
[107] = 'An Affable Adamantking?', | |
[108] = 'A Moral Manifest?', | |
[109] = 'A Generous General?', | |
[110] = 'Records of Eminence', | |
[111] = 'Unity Concord', | |
[200] = 'Titillating Tomes', | |
[201] = 'Release the Fleece', | |
[202] = 'Feeding Frenzy', | |
[203] = 'Cry Not, Caretaker', | |
[204] = "Chacharoon's Cheer", | |
[205] = 'Trial of the Chacharoon', | |
[206] = 'Doctor Chacharoon', | |
[207] = 'Rowing Together', | |
[208] = 'Glittering Gals', | |
[209] = 'Sally Forth!', | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Its the same packet, just a different variation. I posted mission/quest luas extracted from dat files in windowers discord https://discord.gg/v6pk6uy. I would prefer if we moved the conversation to discord as there are several members with knowledge and interest who can help you get started.