Update downloader to get speeches from tolgee

This commit is contained in:
Roman Jaroš 2025-03-02 13:25:40 +01:00
parent 5f21775771
commit e37886072f
6 changed files with 139 additions and 31 deletions

View file

@ -23,7 +23,7 @@ local function GetQuestLogQuestIndex(questID)
return nil
end
local function ReplacePlaceholders(text)
local function ApplyQuestPlaceholders(text)
if text == nil then
return text
end
@ -75,16 +75,16 @@ local function ReplacePlaceholders(text)
return formatted
end
local function TransformText(text)
return ReplacePlaceholders(text)
local function TransformQuestText(text)
return ApplyQuestPlaceholders(text)
end
local function ResolveGender(maleVersion, femaleVersion)
local gender = UnitSex("player")
if gender == 2 then
return TransformText(maleVersion)
return TransformQuestText(maleVersion)
else
return femaleVersion == nil and TransformText(maleVersion) or TransformText(femaleVersion)
return femaleVersion == nil and TransformQuestText(maleVersion) or TransformQuestText(femaleVersion)
end
end
@ -114,10 +114,33 @@ local function GetQuest(id)
end
end
local function ApplySpeechPlaceholders(text)
if text == nil then
return text
end
local playerName = UnitName("player")
local formatted = text;
formatted = string.gsub(formatted, '<name>', playerName);
formatted = string.gsub(formatted, 'Champions', playerName);
return formatted
end
local function GetSpeech(message)
local speech = CzechQuestsAddon.data.speech[message];
local text = speech and speech.text or nil
return ApplySpeechPlaceholders(text)
end
function CzechQuestsAddon:GetData(key, id)
if CzechQuestsAddon.data[key] then
if key == "quest" then
return GetQuest(id)
elseif key == "speech" then
return GetSpeech(id)
elseif CzechQuestsAddon.data[key][id] then
return CzechQuestsAddon.data[key][id]
end