landsandboat/scripts/globals/log_ids.lua
Zach Toogood 03264f9ee2 Missions: Add empty stubs for TVR mission line
There is a lot of work still to do here:
- We need to figure out the relationship between the end ROV missions and when TVR appears in your log
- We need to figure out what the mission menu ID is for TVR and hook it up to our tables/gm commands
- We need to map out which IDs correspond to which missions
- And of course, we need to implement everything based on retail captures :)
2026-04-09 13:20:07 +01:00

376 lines
7 KiB
Lua

-----------------------------------
-- Area/Content Identifiers
-----------------------------------
-- NOTE: This should only be used to support GM commands, and is deprecated
-- by explicitly defining fame area, mission, and quest log IDs from their
-- respective tables.
local logIdHelpers = {}
local qmLogInfo =
{
SANDORIA =
{
['full_name'] = 'San d\'Oria',
['mission_log'] = 0,
['quest_log'] = 0,
['fame_area'] = 0,
},
BASTOK =
{
['full_name'] = 'Bastok',
['mission_log'] = 1,
['quest_log'] = 1,
['fame_area'] = 1,
},
WINDURST =
{
['full_name'] = 'Windurst',
['mission_log'] = 2,
['quest_log'] = 2,
['fame_area'] = 2,
},
JEUNO =
{
['full_name'] = 'Jeuno',
['quest_log'] = 3,
['fame_area'] = 3,
},
SELBINA =
{
['full_name'] = 'Selbina',
['quest_log'] = 4,
['fame_area'] = 4,
},
MHAURA =
{
['full_name'] = 'Mhaura',
['quest_log'] = 4,
['fame_area'] = 2,
},
RABAO =
{
['full_name'] = 'Rabao',
['quest_log'] = 5,
['fame_area'] = 4,
},
KAZHAM =
{
['full_name'] = 'Kazham',
['quest_log'] = 5,
['fame_area'] = 2,
},
NORG =
{
['full_name'] = 'Norg',
['quest_log'] = 5,
['fame_area'] = 5,
},
OTHER_AREAS_LOG =
{
['full_name'] = 'Other Areas',
['quest_log'] = 4,
},
TAVNAZIA =
{
['full_name'] = 'Tavnazian Safehold',
['quest_log'] = 4,
},
OUTLANDS =
{
['full_name'] = 'Outlands',
['quest_log'] = 5,
},
ZILART =
{
['full_name'] = 'Rise of the Zilart',
['mission_log'] = 3,
['quest_log'] = 5,
},
COP =
{
['full_name'] = 'Chains of Promathia',
['mission_log'] = 6,
['quest_log'] = 4,
},
TOAU =
{
['full_name'] = 'Treasures of Aht Urhgan',
['mission_log'] = 4,
['quest_log'] = 6,
},
AHT_URHGAN =
{
['full_name'] = 'Aht Urhgan',
['mission_log'] = 4,
['quest_log'] = 6,
},
ASSAULT =
{
['full_name'] = 'Assault',
['mission_log'] = 7,
},
WOTG =
{
['full_name'] = 'Wings of the Goddess',
['mission_log'] = 5,
['quest_log'] = 7,
},
CRYSTAL_WAR =
{
['full_name'] = 'Crystal War',
['mission_log'] = 5,
['quest_log'] = 7,
},
CAMPAIGN =
{
['full_name'] = 'Campaign',
['mission_log'] = 8,
},
ACP =
{
['full_name'] = 'A Crystalline Prophecy',
['mission_log'] = 9,
},
AMK =
{
['full_name'] = 'A Moogle Kupo d\'Etat',
['mission_log'] = 10,
},
ASA =
{
['full_name'] = 'A Shantotto Ascension',
['mission_log'] = 11,
},
ABYSSEA =
{
['full_name'] = 'Abyssea',
['quest_log'] = 8,
},
ABYSSEA_KONSCHTAT =
{
['full_name'] = 'Abyssea - Konschtat',
['quest_log'] = 8,
['fame_area'] = 6,
},
ABYSSEA_TAHRONGI =
{
['full_name'] = 'Abyssea - Tahrongi',
['quest_log'] = 8,
['fame_area'] = 7,
},
ABYSSEA_LATHEINE =
{
['full_name'] = 'Abyssea - La\'Theine',
['quest_log'] = 8,
['fame_area'] = 8,
},
ABYSSEA_MISAREAUX =
{
['full_name'] = 'Abyssea - Misareaux',
['quest_log'] = 8,
['fame_area'] = 9,
},
ABYSSEA_VUNKERL =
{
['full_name'] = 'Abyssea - Vunkerl',
['quest_log'] = 8,
['fame_area'] = 10,
},
ABYSSEA_ATTOHWA =
{
['full_name'] = 'Abyssea - Attohwa',
['quest_log'] = 8,
['fame_area'] = 11,
},
ABYSSEA_ALTEPA =
{
['full_name'] = 'Abyssea - Altepa',
['quest_log'] = 8,
['fame_area'] = 12,
},
ABYSSEA_GRAUBERG =
{
['full_name'] = 'Abyssea - Grauberg',
['quest_log'] = 8,
['fame_area'] = 13,
},
ABYSSEA_ULEGUERAND =
{
['full_name'] = 'Abyssea - Uleguerand',
['quest_log'] = 8,
['fame_area'] = 14,
},
SOA =
{
['full_name'] = 'Seekers of Adoulin',
['mission_log'] = 12,
['quest_log'] = 9,
['fame_area'] = 15,
},
ADOULIN =
{
['full_name'] = 'Adoulin',
['mission_log'] = 12,
['quest_log'] = 9,
['fame_area'] = 15,
},
COALITION =
{
['full_name'] = 'Coalition',
['quest_log'] = 10,
},
ROV =
{
['full_name'] = 'Rhapsodies of Vana\'diel',
['mission_log'] = 13,
},
TVR =
{
['full_name'] = 'The Voracious Resurgence',
['mission_log'] = 14, -- TODO: Find the right ID for this
},
}
local questLogs =
{
[0] = 'SANDORIA',
[1] = 'BASTOK',
[2] = 'WINDURST',
[3] = 'JEUNO',
[4] = 'OTHER_AREAS_LOG',
[5] = 'OUTLANDS',
[6] = 'TOAU',
[7] = 'WOTG',
[8] = 'ABYSSEA',
[9] = 'SOA',
[10] = 'COALITION',
}
local missionLogs =
{
[0] = 'SANDORIA',
[1] = 'BASTOK',
[2] = 'WINDURST',
[3] = 'ZILART',
[4] = 'TOAU',
[5] = 'WOTG',
[6] = 'COP',
[7] = 'ASSAULT',
[8] = 'CAMPAIGN',
[9] = 'ACP',
[10] = 'AMK',
[11] = 'ASA',
[12] = 'SOA',
[13] = 'ROV',
[14] = 'TVR', -- TODO: Find the right ID for this
}
local function getQMLogInfo(cmdParamText, logNameTable)
-- Returns the table from this file after validating
if cmdParamText == nil then
return nil
end
if type(logNameTable) ~= 'table' then
return nil
end
local logName
local logIdNum = tonumber(cmdParamText)
if logIdNum ~= nil then
logName = logNameTable[logIdNum]
else
logName = string.upper(cmdParamText)
end
if logName ~= nil then
local ret = qmLogInfo[logName]
if
type(ret) == 'table' and
type(ret.full_name) == 'string'
then
return ret
else
logName = logName .. '_LOG'
ret = qmLogInfo[logName]
if
type(ret) == 'table' and
type(ret.full_name) == 'string'
then
return ret
end
end
end
return nil
end
logIdHelpers.getQuestLogInfo = function(cmdParamText)
local ret = getQMLogInfo(cmdParamText, questLogs)
if
type(ret) == 'table' and
type(ret.quest_log) == 'number'
then
return ret
else
return nil
end
end
logIdHelpers.getMissionLogInfo = function(cmdParamText)
local ret = getQMLogInfo(cmdParamText, missionLogs)
if
type(ret) == 'table' and
type(ret.mission_log) == 'number'
then
return ret
else
return nil
end
end
return logIdHelpers