Fix NPC preview in QuestFrame + add warbands and isle-of-dorn

This commit is contained in:
Roman Jaroš 2024-08-20 13:09:39 +02:00
parent cde428a4f1
commit 8e20f9a218
8 changed files with 3610 additions and 35 deletions

View file

@ -7,8 +7,7 @@
Init.lua
Quests/Data/classes/druid.lua
Quests/Data/kalimdor/teldrassil.lua
Quests/Data/war-within/isle-of-dorn.lua
Quests/Data/other.lua
Quests/Frames/TranslationFrame.lua

View file

@ -7,29 +7,29 @@
Init.lua
Data/quests/kalimdor/thunder-bluff.lua
Data/quests/kalimdor/teldrassil.lua
Data/quests/kalimdor/orgrimmar.lua
Data/quests/kalimdor/mulgore.lua
Data/quests/kalimdor/moonglade.lua
Data/quests/kalimdor/durotar.lua
Data/quests/kalimdor/darnassus.lua
Data/quests/kalimdor/darkshore.lua
Data/quests/eastern-kingdoms/undercity.lua
Data/quests/eastern-kingdoms/tirisfal-glades.lua
Data/quests/eastern-kingdoms/stormwind-city.lua
Data/quests/eastern-kingdoms/ironforge.lua
Data/quests/eastern-kingdoms/elwynn-forest.lua
Data/quests/eastern-kingdoms/dun-morogh.lua
Data/quests/classes/warrior.lua
Data/quests/classes/warlock.lua
Data/quests/classes/shaman.lua
Data/quests/classes/rogue.lua
Data/quests/classes/priest.lua
Data/quests/classes/paladin.lua
Data/quests/classes/mage.lua
Data/quests/classes/hunter.lua
Data/quests/classes/druid.lua
Quests/Data/kalimdor/thunder-bluff.lua
Quests/Data/kalimdor/teldrassil.lua
Quests/Data/kalimdor/orgrimmar.lua
Quests/Data/kalimdor/mulgore.lua
Quests/Data/kalimdor/moonglade.lua
Quests/Data/kalimdor/durotar.lua
Quests/Data/kalimdor/darnassus.lua
Quests/Data/kalimdor/darkshore.lua
Quests/Data/eastern-kingdoms/undercity.lua
Quests/Data/eastern-kingdoms/tirisfal-glades.lua
Quests/Data/eastern-kingdoms/stormwind-city.lua
Quests/Data/eastern-kingdoms/ironforge.lua
Quests/Data/eastern-kingdoms/elwynn-forest.lua
Quests/Data/eastern-kingdoms/dun-morogh.lua
Quests/Data/classes/warrior.lua
Quests/Data/classes/warlock.lua
Quests/Data/classes/shaman.lua
Quests/Data/classes/rogue.lua
Quests/Data/classes/priest.lua
Quests/Data/classes/paladin.lua
Quests/Data/classes/mage.lua
Quests/Data/classes/hunter.lua
Quests/Data/classes/druid.lua
Quests/Data/other.lua

View file

@ -0,0 +1,36 @@
CzechQuestsAddon.data.quest[79105] = {
titleMale = "Breach",
titleFemale = "",
objectiveMale = "Pošlete civilisty do bezpečí na přistání.",
objectiveFemale = "",
descriptionMale = "I když bych Xal'atatha rád ulovil, naší prioritou musí být zajištění civilistů. Zachraň, koho můžeš, a řekni jim, ať se vydají do nedalekého přístaviště. Najdu mágy, kteří všechny teleportují do bezpečí.",
descriptionFemale = "",
progressMale = "",
progressFemale = "",
completionMale = "",
completionFemale = "",
}
CzechQuestsAddon.data.quest[80321] = {
titleMale = "Odjezd",
titleFemale = "",
objectiveMale = "Najdi Khadgara zpět na povrchu.",
objectiveFemale = "",
descriptionMale = "Nejlepší bude, když se tady rozdělíme. Všechny odvedu do bezpečí a postarám se o jejich evakuaci. Mezitím bys měl hledat Khadgara. Jsem si jistý, že by se mu tvá pomoc také hodila. Dál najdeš další východ, který by měl vést zpět na povrch.",
descriptionFemale = "Nejlepší bude, když se tady rozdělíme. Všechny odvedu do bezpečí a postarám se o jejich evakuaci. Mezitím bys měla hledat Khadgara. Jsem si jistý, že by se mu tvoje pomoc také hodila. Dál najdeš další východ, který by měl vést zpět na povrch.",
progressMale = "",
progressFemale = "",
completionMale = "",
completionFemale = "",
}
CzechQuestsAddon.data.quest[79106] = {
titleMale = "Rupture",
titleFemale = "",
objectiveMale = "Zachraň Dalaran.",
objectiveFemale = "",
descriptionMale = "Následuj mě. Společně najdeme všechny ostatní, kteří potřebují zachránit.",
descriptionFemale = "",
progressMale = "",
progressFemale = "",
completionMale = "",
completionFemale = "",
}

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,36 @@
CzechQuestsAddon.data.quest[82042] = {
titleMale = "Lepší část Valorstones",
titleFemale = "",
objectiveMale = "Během dobrodružství v Khaz Algar nasbírej 50 Valorstones, poté se vrať k Cuzolthovi a vylepši si část vybavení z 1. sezóny.",
objectiveFemale = "",
descriptionMale = "Dornogal! Fascinující nové místo pro každého - nejen pro dracthyr! A fascinující nová místa mají fascinující nové činitele, které je třeba najít a prozkoumat. Třeba Valorstones! Podobné předměty jsem viděl po celém Azerothu, které se používají k vylepšování zbraní a brnění. Předpokládám, že tyto budou fungovat stejně. Pomozte mi ve výzkumu tím, že mi přinesete všechny Valorstony, které nasbíráte. Na oplátku ti vylepším kus tvé výbavy!",
descriptionFemale = "Dornogal! Fascinující nové místo pro každého - nejen pro dracthyr! A fascinující nová místa mají fascinující nové činitele, které je třeba najít a prozkoumat. Třeba Valorstones! Podobné předměty jsem viděl po celém Azerothu, které se používají k vylepšování zbraní a brnění. Předpokládám, že tyto budou fungovat stejně. Pomoz mi ve výzkumu tím, že mi přineseš všechny Valorstony, které nasbíráš. Na oplátku ti vylepším kus tvé výbavy!",
progressMale = "",
progressFemale = "",
completionMale = "Můj příteli! Jsi skutečně podpůrný vánek v letu. Přijmi, prosím, tyto projevy díků.",
completionFemale = "",
}
CzechQuestsAddon.data.quest[82050] = {
titleMale = "Předzvěst erbů",
titleFemale = "",
objectiveMale = "Získej 15 erbů Weathered Harbinger porážením jedinečných bytostí, dobýváním nájezdů, plněním světových aktivit nebo pleněním skrýší. Poté se vrať k Vaskarnu v Dornogalu.",
objectiveFemale = "",
descriptionMale = "Vaše pomoc vždy oceníme a nyní víš, že právě zde můžeš snadno vylepšovat vybavení nižší úrovně. Jak jistě víš, s kameny valorů lze dojít jen tak daleko. Potřebuješ je... Harbinger Crests, abys mohl vylepšovat mocné dobrodružné vybavení. Stejně jako Valorstones jsou tyto erby odměňovány mnoha různými aktivitami. Harbinger Crests mají čtyři úrovně a nebezpečnější úkoly tě odmění erby vyšší úrovně. Přines mi patnáct zvětralých Harbingerských erbů a my ti pomůžeme vylepšit nějaké vybavení dál.",
descriptionFemale = "Tvoje pomoc vždy oceníme a nyní víš, že právě zde můžeš snadno vylepšovat vybavení nižší úrovně. Jak jistě víš, s kameny valorů lze dojít jen tak daleko. Potřebuješ je... Harbinger Crests, abys mohla vylepšovat mocné dobrodružné vybavení. Stejně jako Valorstones jsou tyto erby odměňovány mnoha různými aktivitami. Harbinger Crests mají čtyři úrovně a nebezpečnější úkoly tě odmění erby vyšší úrovně. Přines mi patnáct zvětralých Harbingerských erbů a my ti pomůžeme vylepšit nějaké vybavení dál.",
progressMale = "",
progressFemale = "",
completionMale = "",
completionFemale = "",
}
CzechQuestsAddon.data.quest[82059] = {
titleMale = "Transmutační stanice",
titleFemale = "",
objectiveMale = "Přines 15 vyřezávaných hvězdářských erbů Vaskarnovi do Dornogalu a vyměň je za váček se zvětralými hvězdářskými erby.",
objectiveFemale = "",
descriptionMale = "Příteli, tyto erby jsou nádherné. Zdá se, že se dají přeměnit na různé úrovně erbů! Pokud zjistíš, že máš spoustu erbů nižší síly, můžeš si je vylepšit na silnější! Myslím, že. Stále na tom pracuji. Až na to přijdu, dám ti vědět. Ale už teď můžeme transmutovat na slabší erby! Přesvědč se sám. Tady je několik vyřezávaných Harbingerských erbů. Promluv se mnou a já je mohu přeměnit na Zvětralé Harbingerské erby, a to vše bez přebytečné energie nebo entropie!",
descriptionFemale = "Příteli, tyto erby jsou nádherné. Zdá se, že se dají přeměnit na různé úrovně erbů! Pokud zjistíš, že máš spoustu erbů nižší síly, můžeš si je vylepšit na silnější! Myslím, že. Stále na tom pracuji. Až na to přijdu, dám ti vědět. Ale už teď můžeme transmutovat na slabší erby! Přesvědč se sama. Tady je několik vyřezávaných Harbingerských erbů. Promluv se mnou a já je mohu přeměnit na Zvětralé Harbingerské erby, a to vše bez přebytečné energie nebo entropie!",
progressMale = "",
progressFemale = "",
completionMale = "",
completionFemale = "",
}

View file

@ -0,0 +1,60 @@
CzechQuestsAddon.data.quest[83492] = {
titleMale = "Warbands: Warbanding Together",
titleFemale = "",
objectiveMale = "Setkej se s Blue a její válečnou skupinou v Gadgetzanu.",
objectiveFemale = "",
descriptionMale = "Ahoj <name>, s několika přáteli jsme se spojily a založily Warband a pracujeme na něčem, co by mělo velmi usnadnit spolupráci, i když jsme od sebe! Potřebujeme jen trochu pomoci s tímto posledním krokem. Až budeš mít chvilku, najdi nás v Gadgetzanu!",
descriptionFemale = "",
progressMale = "",
progressFemale = "",
completionMale = "Díky, že jsi přišel, <name>!",
completionFemale = "Díky, že jsi přišla, <name>!",
}
CzechQuestsAddon.data.quest[83496] = {
titleMale = "Warbands: Časoprostor jsou peníze",
titleFemale = "",
objectiveMale = "Umístěte matrici De-Recombobulatron do banky Gadgetzan.",
objectiveFemale = "",
descriptionMale = "Teď, když máme všechna transpoziční data, v jaká jsme kdy mohly doufat, stačí už jen nastavit červí díru ve vhodném bankovním zařízení a za chvíli si budeme z pole navzájem sypat vybavení do kapes! A náhodou je banka přímo tady v Gadgetzanu! Dokonce si zároveň můžeš naladit vlastní portál, abys měl přístup do vlastní banky Warbandu odkudkoli. Bude to tak pohodlné!",
descriptionFemale = "Teď, když máme všechna transpoziční data, v jaká jsme kdy mohly doufat, stačí už jen nastavit červí díru ve vhodném bankovním zařízení a za chvíli si budeme z pole navzájem sypat vybavení do kapes! A náhodou je banka přímo tady v Gadgetzanu! Dokonce si zároveň můžeš naladit vlastní portál, abys měla přístup do vlastní banky Warbandu odkudkoli. Bude to tak pohodlné!",
progressMale = "Našel jsi banku?",
progressFemale = "Našla jsi banku?",
completionMale = "Pár zádrhelů, ale nic, co by nezvládla stará dobrá týmová práce! Do toho!",
completionFemale = "",
}
CzechQuestsAddon.data.quest[83493] = {
titleMale = "Warbands: Rift Reader",
titleFemale = "",
objectiveMale = "Prohledejte transpoziční anomálie poblíž Gadgetzanu.",
objectiveFemale = "",
descriptionMale = "Vsadím se, že tě zajímá, na čem pracujeme, co? Chystáme se zpřístupnit naši banku Warbandu odkudkoli! Rivet tomu říká Warband Bank Distance Inhibitor, dokud mě nenapadne něco zábavnějšího, ale potřebujeme trochu pomoci, abychom to dostali přes cílovou pásku. Pokud chceme zajistit, abychom měli přístup k naší společné skrýši z více míst, budeme potřebovat portály! A tady jsme vystopovali pár bláznů. Kdybys nám mohl sehnat nějaké skeny místních anomálií, moc by nám to pomohlo!",
descriptionFemale = "Vsadím se, že tě zajímá, na čem pracujeme, co? Chystáme se zpřístupnit naši banku Warbandu odkudkoli! Rivet tomu říká Warband Bank Distance Inhibitor, dokud mě nenapadne něco zábavnějšího, ale potřebujeme trochu pomoci, abychom to dostali přes cílovou pásku. Pokud chceme zajistit, abychom měli přístup k naší společné skrýši z více míst, budeme potřebovat portály! A tady jsme vystopovali pár bláznů. Kdybys nám mohla sehnat nějaké skeny místních anomálií, moc by nám to pomohlo!",
progressMale = "Našla jsi je?",
progressFemale = "",
completionMale = "Tak tohle jsou jiskřivé údaje!",
completionFemale = "",
}
CzechQuestsAddon.data.quest[83495] = {
titleMale = "Warbands: : Twinsposition",
titleFemale = "",
objectiveMale = "Aktivuj transpoziční signální rekombobulátor před Gadgetzanem a vypořádej se s následky.",
objectiveFemale = "",
descriptionMale = "Jsme na tahu! Zatímco jsi byl pryč, zachytila jsem ještě anomálnější anomálii a vystopovali jsme ji na východ od města. Tam už máme připravený zbrusu nový transpoziční signálový rekombobulátor, ale nechtěla jsem začít bez tebe. Koneckonců jsi mi hodně pomohl. Stačí, když to vytočíš a zapneš! Snadné jako facka, což je prý velmi snadné. Rivet říká, že pravděpodobnost, že se stane něco katastrofického, je docela dobrá, takže vím, že se nemůže stát nic špatného!",
descriptionFemale = "Jsme na tahu! Zatímco jsi byla pryč, zachytila jsem ještě anomálnější anomálii a vystopovali jsme ji na východ od města. Tam už máme připravený zbrusu nový transpoziční signálový rekombobulátor, ale nechtěla jsem začít bez tebe. Koneckonců jsi mi hodně pomohla. Stačí, když to vytočíš a zapneš! Snadné jako facka, což je prý velmi snadné. Rivet říká, že pravděpodobnost, že se stane něco katastrofického, je docela dobrá, takže vím, že se nemůže stát nic špatného!",
progressMale = "Hoďte spínač!",
progressFemale = "",
completionMale = "Pěkná práce!\n\nNe to, co jsem čekala, ale musím říct, že zlý já ten knír rozjela!",
completionFemale = "",
}
CzechQuestsAddon.data.quest[83494] = {
titleMale = "Warbands: Hráčské heslo: Vesmírní duchové u pobřeží",
titleFemale = "",
objectiveMale = "Posbírej prostorové zbytky z částečně teleportovaných tvorů poblíž Gadgetzanu.",
objectiveFemale = "",
descriptionMale = "Nedaleko odtud se po poušti potuluje strašná spousta napůl teleportovaných věcí. Opravdu, vůbec nějaká by byla překvapivým množstvím, ale z nějakého důvodu je jich tu hromada! Nevypadají nijak zvlášť mile, ale vsadím se, že bychom se z jejich potíží mohli poučit, abychom zajistili, že inhibitor vzdálenosti válečné banky nebude naši sladkou kořist teleportovat na strom! Zkus najít něco, co by nám pomohlo zjistit, co se pokazilo. Není to tak, že by se lidé náhodně teleportovali, ne?",
descriptionFemale = "",
progressMale = "Nějaká vodítka?",
progressFemale = "",
completionMale = "Skvělá práce, <name>! Nejsem si jistá, co to je, ale vsadím se, že to pomůže!",
completionFemale = "",
}

View file

@ -1,4 +1,4 @@
function CzechQuestsAddon:ShowTranslationFrame(primaryHeader, primaryText, secondaryHeader, secondaryText, parentFrame, yOffset)
function CzechQuestsAddon:ShowTranslationFrame(primaryHeader, primaryText, secondaryHeader, secondaryText, parentFrame, yOffset, xOffset)
-- replace placeholders with current values
primaryText = CzechQuestsAddon:replacePlaceholders(primaryText);
secondaryText = CzechQuestsAddon:replacePlaceholders(secondaryText);
@ -40,9 +40,9 @@ function CzechQuestsAddon:ShowTranslationFrame(primaryHeader, primaryText, secon
-- apply changes per wow
if (WOW_PROJECT_ID == WOW_PROJECT_CLASSIC) then
CzechQuestsAddon.translationFrame:SetPoint("TOPLEFT", parentFrame, "TOPRIGHT", -8, yOffset)
CzechQuestsAddon.translationFrame:SetPoint("TOPLEFT", parentFrame, "TOPRIGHT", -8 + xOffset, yOffset)
else
CzechQuestsAddon.translationFrame:SetPoint("TOPLEFT", parentFrame, "TOPRIGHT", 8, yOffset)
CzechQuestsAddon.translationFrame:SetPoint("TOPLEFT", parentFrame, "TOPRIGHT", 8 + xOffset, yOffset)
end
-- calculate height
@ -83,7 +83,8 @@ function CzechQuestsAddon:ShowQuestTranslation(event)
"Popis",
questData.description,
QuestLogFrame,
-14
-14,
0
)
CzechQuestsAddon.translationFrame:Show()
end
@ -94,18 +95,34 @@ function CzechQuestsAddon:ShowQuestTranslation(event)
-- Retail has QuestMapDetailsScrollFrame
if QuestMapDetailsScrollFrame then
if QuestMapDetailsScrollFrame:IsShown() then
-- get quest ID
local questId = C_QuestLog.GetSelectedQuest()
-- detect if quest frame does not include npc preview
local hasObjective = false;
if C_QuestLog.GetQuestObjectives then
local objectives = C_QuestLog.GetQuestObjectives(questId)
if objectives then
for _, __ in ipairs(objectives) do
hasObjective = true;
end
end
end
-- show translation frame
local questData = CzechQuestsAddon:GetData("quest", questId)
if questData then
local suffix = CzechQuestsAddon.options.DEBUG_MODE and " (" .. questId .. ")" or ""
local questTitle = questData.title .. suffix
local xOffset = hasObjective and 210 or 0
CzechQuestsAddon:ShowTranslationFrame(
questTitle,
questData.objective,
"Popis",
questData.description,
QuestMapFrame,
0
0,
xOffset
)
CzechQuestsAddon.translationFrame:Show()
else
@ -116,13 +133,28 @@ function CzechQuestsAddon:ShowQuestTranslation(event)
-- If quest is right from NPC, this work for both wow version
if QuestFrame:IsShown() then
-- get quest ID
local questId = GetQuestID()
-- detect if quest frame does not include npc preview
local hasObjective = false;
if C_QuestLog.GetQuestObjectives then
local objectives = C_QuestLog.GetQuestObjectives(questId)
if objectives then
for _, __ in ipairs(objectives) do
hasObjective = true;
end
end
end
-- show translation frame
if questId then
local questData = CzechQuestsAddon:GetData("quest", questId)
if questData then
CzechQuestsAddon.translationFrame:Show()
local suffix = CzechQuestsAddon.options.DEBUG_MODE and " (" .. questId .. ")" or ""
local questTitle = questData.title .. suffix
local xOffset = hasObjective and 210 or 0
if event == "QUEST_PROGRESS" then
CzechQuestsAddon:ShowTranslationFrame(
questTitle,
@ -130,7 +162,8 @@ function CzechQuestsAddon:ShowQuestTranslation(event)
"",
"",
QuestFrame,
-20
-20,
xOffset
)
elseif event == "QUEST_COMPLETE" then
CzechQuestsAddon:ShowTranslationFrame(
@ -139,7 +172,8 @@ function CzechQuestsAddon:ShowQuestTranslation(event)
"",
"",
QuestFrame,
-20
-20,
xOffset
)
elseif event == "QUEST_DETAIL" then
CzechQuestsAddon:ShowTranslationFrame(
@ -148,7 +182,8 @@ function CzechQuestsAddon:ShowQuestTranslation(event)
"Cíl úkolu",
questData.objective,
QuestFrame,
-20
-20,
xOffset
)
else
CzechQuestsAddon.translationFrame:Hide()

View file

@ -3,8 +3,8 @@
src_folder="."
# RETAIL
#wow_folder="beta"
wow_folder="classic_era"
wow_folder="beta"
#wow_folder="classic_era"
# CLASSIC ERA
dest_folder="/Applications/World of Warcraft/_${wow_folder}_/Interface/AddOns/CzechQuests"
@ -14,3 +14,4 @@ fswatch -o "$src_folder" | while read -r change; do
rsync -au --delete "$src_folder/Quests/Data/$wow_folder/" "$dest_folder/Quests/Data/"
cp "$src_folder/Quests/Data/other.lua" "$dest_folder/Quests/Data/"
done