diff --git a/Lang/de.lua b/Lang/de.lua index 97eec83..23b8ffd 100644 --- a/Lang/de.lua +++ b/Lang/de.lua @@ -1,14 +1,7 @@ -ZO_CreateStringId("LEOALT_D", "T") -- Tag -ZO_CreateStringId("LEOALT_H", "S") -- Stunde -ZO_CreateStringId("LEOALT_M", "M") -- Minute -ZO_CreateStringId("LEOALT_S", "s") -- Sekunde ZO_CreateStringId("LEOALT_FINISHED", "abgeschlossen") ZO_CreateStringId("LEOALT_UNLOCKED", "freigeschaltet") ZO_CreateStringId("LEOALT_REMOVED_FROM", "<<1>> wurde von <<2>> entfernt.") -ZO_CreateStringId("LEOALT_MINUTES_AGO", "<<1[%d Minute her/%d Minuten her]>>") -ZO_CreateStringId("LEOALT_HOURS_AGO", "<<1[%d Stunde her/%d Stunden her]>>") -ZO_CreateStringId("LEOALT_DAYS_AGO", "<<1[Gestern/%d Tage her]>>") ZO_CreateStringId("LEOALT_NOT_DONE_TODAY", "heute nicht erledigt") ZO_CreateStringId("LEOALT_MOUNT_FINISHED", "<<C:1>> hat das Reittraining beendet.") ZO_CreateStringId("LEOALT_RESEARCH_FINISHED", "<<C:1>> hat eine Analyse beendet.") diff --git a/Lang/en.lua b/Lang/en.lua index 920bd7e..21bde02 100644 --- a/Lang/en.lua +++ b/Lang/en.lua @@ -1,14 +1,7 @@ -ZO_CreateStringId("LEOALT_D", "d") -- day -ZO_CreateStringId("LEOALT_H", "h") -- hour -ZO_CreateStringId("LEOALT_M", "m") -- minute -ZO_CreateStringId("LEOALT_S", "s") -- second ZO_CreateStringId("LEOALT_FINISHED", "finished") ZO_CreateStringId("LEOALT_UNLOCKED", "unlocked") ZO_CreateStringId("LEOALT_REMOVED_FROM", "Removed <<1>> from <<2>>.") -ZO_CreateStringId("LEOALT_MINUTES_AGO", "<<1[%d minute ago/%d minutes ago]>>") -ZO_CreateStringId("LEOALT_HOURS_AGO", "<<1[%d hour ago/%d hours ago]>>") -ZO_CreateStringId("LEOALT_DAYS_AGO", "<<1[Yesterday/%d days ago]>>") ZO_CreateStringId("LEOALT_NOT_DONE_TODAY", "not done today") ZO_CreateStringId("LEOALT_MOUNT_FINISHED", "<<C:1>> has finished a mount training.") ZO_CreateStringId("LEOALT_RESEARCH_FINISHED", "<<C:1>> has finished a research") diff --git a/Lang/fr.lua b/Lang/fr.lua index 8f3e881..c5691ce 100644 --- a/Lang/fr.lua +++ b/Lang/fr.lua @@ -1,14 +1,7 @@ -ZO_CreateStringId("LEOALT_D", "d") -- day -ZO_CreateStringId("LEOALT_H", "h") -- hour -ZO_CreateStringId("LEOALT_M", "m") -- minute -ZO_CreateStringId("LEOALT_S", "s") -- second ZO_CreateStringId("LEOALT_FINISHED", "finished") ZO_CreateStringId("LEOALT_UNLOCKED", "unlocked") ZO_CreateStringId("LEOALT_REMOVED_FROM", "Removed <<1>> from <<2>>.") -ZO_CreateStringId("LEOALT_MINUTES_AGO", "<<1[%d minute ago/%d minutes ago]>>") -ZO_CreateStringId("LEOALT_HOURS_AGO", "<<1[%d hour ago/%d hours ago]>>") -ZO_CreateStringId("LEOALT_DAYS_AGO", "<<1[Yesterday/%d days ago]>>") ZO_CreateStringId("LEOALT_NOT_DONE_TODAY", "not done today") ZO_CreateStringId("LEOALT_MOUNT_FINISHED", "<<C:1>> has finished a mount training.") ZO_CreateStringId("LEOALT_RESEARCH_FINISHED", "<<C:1>> has finished a research") diff --git a/Lang/jp.lua b/Lang/jp.lua index 51e3602..df0be8d 100644 --- a/Lang/jp.lua +++ b/Lang/jp.lua @@ -1,14 +1,7 @@ -ZO_CreateStringId("LEOALT_D", "日") -- 日 -ZO_CreateStringId("LEOALT_H", "時間") -- 時間 -ZO_CreateStringId("LEOALT_M", "分") -- 分 -ZO_CreateStringId("LEOALT_S", "秒") -- 秒 ZO_CreateStringId("LEOALT_FINISHED", "完了") ZO_CreateStringId("LEOALT_UNLOCKED", "ロックを外す") ZO_CreateStringId("LEOALT_REMOVED_FROM", "削除 <<1>> から <<2>>.") -ZO_CreateStringId("LEOALT_MINUTES_AGO", "<<1[%d 分 前/%d 分 前]>>") -ZO_CreateStringId("LEOALT_HOURS_AGO", "<<1[%d 時間 前/%d 時間 前]>>") -ZO_CreateStringId("LEOALT_DAYS_AGO", "<<1[昨日/%d 日 前]>>") ZO_CreateStringId("LEOALT_NOT_DONE_TODAY", "今日は行ってない") ZO_CreateStringId("LEOALT_MOUNT_FINISHED", "<<C:1>> マウントトレーニングを終了しました") ZO_CreateStringId("LEOALT_RESEARCH_FINISHED", "<<C:1>> 研究を終了しました") diff --git a/Lang/ru.lua b/Lang/ru.lua index 920bd7e..21bde02 100644 --- a/Lang/ru.lua +++ b/Lang/ru.lua @@ -1,14 +1,7 @@ -ZO_CreateStringId("LEOALT_D", "d") -- day -ZO_CreateStringId("LEOALT_H", "h") -- hour -ZO_CreateStringId("LEOALT_M", "m") -- minute -ZO_CreateStringId("LEOALT_S", "s") -- second ZO_CreateStringId("LEOALT_FINISHED", "finished") ZO_CreateStringId("LEOALT_UNLOCKED", "unlocked") ZO_CreateStringId("LEOALT_REMOVED_FROM", "Removed <<1>> from <<2>>.") -ZO_CreateStringId("LEOALT_MINUTES_AGO", "<<1[%d minute ago/%d minutes ago]>>") -ZO_CreateStringId("LEOALT_HOURS_AGO", "<<1[%d hour ago/%d hours ago]>>") -ZO_CreateStringId("LEOALT_DAYS_AGO", "<<1[Yesterday/%d days ago]>>") ZO_CreateStringId("LEOALT_NOT_DONE_TODAY", "not done today") ZO_CreateStringId("LEOALT_MOUNT_FINISHED", "<<C:1>> has finished a mount training.") ZO_CreateStringId("LEOALT_RESEARCH_FINISHED", "<<C:1>> has finished a research") diff --git a/LeoAltholic.lua b/LeoAltholic.lua index 7c491f3..eef72bc 100644 --- a/LeoAltholic.lua +++ b/LeoAltholic.lua @@ -5,6 +5,7 @@ LeoAltholic.lastUpdatedCharList = nil LeoAltholic.myself = nil LeoAltholic.myselfIndex = 0 LeoAltholic.initialized = false +LeoAltholic.numUpdates = 0 LeoAltholic.maxTraits = select(3,GetSmithingResearchLineInfo(1,1)) LeoAltholic.jewelryMaxTraits = select(3,GetSmithingResearchLineInfo(7,1)) @@ -716,23 +717,34 @@ end local function onUpdate() processQueue() + LeoAltholic.numUpdates = LeoAltholic.numUpdates + 1 - if LeoAltholic.isHidden() then return end - - LeoAltholicUI.bioList:RefreshData() - LeoAltholicUI.writsList:RefreshData() - LeoAltholicUI.invList:RefreshData() - LeoAltholicUI.researchList:RefreshData() -end - -local function onUpdate1M() + if LeoAltholic.numUpdates >= 1800 then -- 3600 seconds = 1h, forces update every hour + LeoAltholic.numUpdates = 1 + LeoAltholicUI.researchList:RefreshData() + end if LeoAltholic.isHidden() then return end - LeoAltholicUI.statsList:RefreshData() - LeoAltholicUI.championList:RefreshData() - LeoAltholicUI.skillsList:RefreshData() - LeoAltholicUI.skills2List:RefreshData() + LeoAltholicUI:updateBio() + + if LeoAltholic.numUpdates >= 30 then -- 60 seconds + LeoAltholic.numUpdates = 1 + LeoAltholicUI.researchList:RefreshData() + --[[ + For reference only!! + LeoAltholicUI.bioList:RefreshData() + LeoAltholicUI.statsList:RefreshData() + LeoAltholicUI.championList:RefreshData() + LeoAltholicUI.invList:RefreshData() + LeoAltholicUI.skillsList:RefreshData() + LeoAltholicUI.skills2List:RefreshData() + LeoAltholicUI.researchList:RefreshData() + LeoAltholicUI.writsList:RefreshData() + ]] + else + LeoAltholicUI:updateResearch() + end end local function trackQuest(questId, automatically) @@ -785,7 +797,7 @@ local function onQuestComplete(eventCode, questName, level, previousExperience, end for i,trackedQuest in pairs(LeoAltholic.savedVariables.CharList[LeoAltholic.CharName].quests.tracked) do if (trackedQuest.name == questName) then - LeoAltholic.savedVariables.CharList[LeoAltholic.CharName].quests.trackedw[i].lastDone = GetTimeStamp() + LeoAltholic.savedVariables.CharList[LeoAltholic.CharName].quests.tracked[i].lastDone = GetTimeStamp() LeoAltholic.log(zo_strformat(GetString(LEOALT_QUEST_DONE_TODAY), questName)) return end @@ -929,7 +941,6 @@ local function onAddOnLoaded(event, addonName) EVENT_MANAGER:RegisterForEvent(LeoAltholic.name, EVENT_QUEST_COMPLETE, onQuestComplete) EVENT_MANAGER:RegisterForEvent(LeoAltholic.name, EVENT_QUEST_ADDED, onQuestAdded) EVENT_MANAGER:RegisterForUpdate(LeoAltholic.name, 2000, onUpdate) - EVENT_MANAGER:RegisterForUpdate(LeoAltholic.name, 60000, onUpdate1M) EVENT_MANAGER:RegisterForEvent(LeoAltholic.name, EVENT_NEW_MOVEMENT_IN_UI_MODE, onNewMovementInUIMode) CHAMPION_PERKS_SCENE:RegisterCallback('StateChange', onChampionPerksSceneStateChange) diff --git a/LeoAltholic.txt b/LeoAltholic.txt index c6f6ca1..17aef43 100644 --- a/LeoAltholic.txt +++ b/LeoAltholic.txt @@ -1,6 +1,6 @@ ## Title: Leo's Altholic ## APIVersion: 100024 100025 -## Version: 1.3.2 +## Version: 1.3.3 ## Author: |c39B027@LeandroSilva|r ## SavedVariables: LeoAltholicSavedVariables ## OptionalDependsOn: LibStub LibFeedback LibAddonMenu-2.0 diff --git a/LeoAltholic.xml b/LeoAltholic.xml index 1dff50c..47ac34f 100644 --- a/LeoAltholic.xml +++ b/LeoAltholic.xml @@ -10,6 +10,8 @@ <Anchor point="TOP" relativeTo="GuiRoot" relativePoint="CENTER" offsetY="100" /> <OnMoveStop> LeoAltholic:OnWindowMoveStop() </OnMoveStop> + <OnHide> LeoAltholicUI:OnHide(self, hidden) </OnHide> + <OnShow> LeoAltholicUI:OnShow(self, hidden) </OnShow> <Controls> <Backdrop name="$(parent)BG" centerColor="000000" edgeColor="222222"> @@ -24,7 +26,7 @@ <Button name="$(parent)Close" clickSound="Click"> <Anchor point="TOPRIGHT" relativePoint="TOPRIGHT" relativeTo="$(parent)" offsetX="-5" offsetY="4"/> <Dimensions x="40" y="40"/> - <OnClicked>LeoAltholic:HideUI()</OnClicked> + <OnClicked>LeoAltholic:CloseUI()</OnClicked> <Controls> <Backdrop name="$(parent)BG" centerColor="101010" edgeColor="202020"> <AnchorFill/> @@ -711,7 +713,7 @@ <Texture name="$(parent)BagIcon" textureFile="esoui/art/mainmenu/menubar_inventory_up.dds" mouseEnabled="true"> <Dimensions y="30" x="30"/> <Anchor point="TOPLEFT" relativeTo="$(parent)Name" relativePoint="TOPRIGHT" offsetX="14" offsetY="-4"/> - <OnMouseEnter> ZO_Tooltips_ShowTextTooltip(self, TOP, GetString(SI_GAMEPAD_INVENTORY_AVAILABLE_FUNDS)) </OnMouseEnter> + <OnMouseEnter> ZO_Tooltips_ShowTextTooltip(self, TOP, GetString(SI_GAMEPAD_PLAYER_INVENTORY_CAPACITY_FOOTER_LABEL)) </OnMouseEnter> <OnMouseExit> ZO_Tooltips_HideTextTooltip() </OnMouseExit> </Texture> <Texture name="$(parent)GoldIcon" textureFile="esoui/art/currency/currency_gold.dds" mouseEnabled="true"> @@ -831,51 +833,65 @@ <Anchor point="TOPLEFT" relativeTo="$(parent)" relativePoint="TOPLEFT" /> <Dimensions x="180" y="20" /> <OnInitialized> - ZO_SortHeader_Initialize(self, GetString(SI_ADDON_MANAGER_NAME), "name", ZO_SORT_ORDER_DOWN, TEXT_ALIGN_LEFT, "ZoFontGameLargeBold") + ZO_SortHeader_Initialize(self, GetString(SI_ADDON_MANAGER_NAME), "name", ZO_SORT_ORDER_DOWN, TEXT_ALIGN_LEFT, "LeoAltholicSmallFont") </OnInitialized> </Control> - <Texture name="$(parent)1Label" mouseEnabled="true" textureFile="/esoui/art/inventory/inventory_tabicon_craftbag_blacksmithing_up.dds"> - <Dimensions x="38" y="38"/> - <Anchor point="TOPLEFT" relativeTo="$(parent)Name" relativePoint="TOPRIGHT" offsetX="10" offsetY="-8"/> - <OnMouseEnter> ZO_Tooltips_ShowTextTooltip(self, TOP, GetString(SI_ITEMFILTERTYPE13)) </OnMouseEnter> - <OnMouseExit> ZO_Tooltips_HideTextTooltip() </OnMouseExit> - </Texture> - <Texture name="$(parent)2Label" mouseEnabled="true" textureFile="/esoui/art/inventory/inventory_tabicon_craftbag_clothing_up.dds"> - <Dimensions x="38" y="38"/> - <Anchor point="TOPLEFT" relativeTo="$(parent)1Label" relativePoint="TOPLEFT" offsetX="40"/> - <OnMouseEnter> ZO_Tooltips_ShowTextTooltip(self, TOP, GetString(SI_ITEMFILTERTYPE14)) </OnMouseEnter> - <OnMouseExit> ZO_Tooltips_HideTextTooltip() </OnMouseExit> - </Texture> - <Texture name="$(parent)6Label" mouseEnabled="true" textureFile="/esoui/art/inventory/inventory_tabicon_craftbag_woodworking_up.dds"> - <Dimensions x="38" y="38"/> - <Anchor point="TOPLEFT" relativeTo="$(parent)2Label" relativePoint="TOPLEFT" offsetX="40"/> - <OnMouseEnter> ZO_Tooltips_ShowTextTooltip(self, TOP, GetString(SI_ITEMFILTERTYPE15)) </OnMouseEnter> - <OnMouseExit> ZO_Tooltips_HideTextTooltip() </OnMouseExit> - </Texture> - <Texture name="$(parent)7Label" mouseEnabled="true" textureFile="/esoui/art/inventory/inventory_tabicon_craftbag_jewelrycrafting_up.dds"> - <Dimensions x="38" y="38"/> - <Anchor point="TOPLEFT" relativeTo="$(parent)6Label" relativePoint="TOPLEFT" offsetX="40"/> - <OnMouseEnter> ZO_Tooltips_ShowTextTooltip(self, TOP, GetString(SI_ITEMFILTERTYPE24)) </OnMouseEnter> - <OnMouseExit> ZO_Tooltips_HideTextTooltip() </OnMouseExit> - </Texture> - <Texture name="$(parent)3Label" mouseEnabled="true" textureFile="/esoui/art/inventory/inventory_tabicon_craftbag_enchanting_up.dds"> - <Dimensions x="38" y="38"/> - <Anchor point="TOPLEFT" relativeTo="$(parent)7Label" relativePoint="TOPLEFT" offsetX="40"/> - <OnMouseEnter> ZO_Tooltips_ShowTextTooltip(self, TOP, GetString(SI_ITEMFILTERTYPE17)) </OnMouseEnter> - <OnMouseExit> ZO_Tooltips_HideTextTooltip() </OnMouseExit> - </Texture> - <Texture name="$(parent)4Label" mouseEnabled="true" textureFile="/esoui/art/inventory/inventory_tabicon_craftbag_alchemy_up.dds"> - <Dimensions x="38" y="38"/> - <Anchor point="TOPLEFT" relativeTo="$(parent)3Label" relativePoint="TOPLEFT" offsetX="40"/> - <OnMouseEnter> ZO_Tooltips_ShowTextTooltip(self, TOP, GetString(SI_ITEMFILTERTYPE16)) </OnMouseEnter> - <OnMouseExit> ZO_Tooltips_HideTextTooltip() </OnMouseExit> - </Texture> - <Texture name="$(parent)5Label" mouseEnabled="true" textureFile="/esoui/art/inventory/inventory_tabicon_craftbag_provisioning_up.dds"> - <Dimensions x="38" y="38"/> - <Anchor point="TOPLEFT" relativeTo="$(parent)4Label" relativePoint="TOPLEFT" offsetX="40"/> - <OnMouseEnter> ZO_Tooltips_ShowTextTooltip(self, TOP, GetString(SI_ITEMFILTERTYPE18)) </OnMouseEnter> - <OnMouseExit> ZO_Tooltips_HideTextTooltip() </OnMouseExit> - </Texture> + <Label name="$(parent)Craft1" font="LeoAltholicSmallFont" color="C4C4A0" horizontalAlignment="CENTER"> + <Anchor point="TOPLEFT" relativeTo="$(parent)Name" relativePoint="TOPRIGHT" offsetX="10" /> + <Dimensions x="100" y="20" /> + <OnInitialized> + self:SetText(GetCraftingSkillName(1)) + self:SetModifyTextType(MODIFY_TEXT_TYPE_UPPERCASE) + </OnInitialized> + </Label> + <Label name="$(parent)Craft2" font="LeoAltholicSmallFont" color="C4C4A0" horizontalAlignment="CENTER"> + <Anchor point="TOPLEFT" relativeTo="$(parent)Craft1" relativePoint="TOPRIGHT" offsetX="10" /> + <Dimensions x="100" y="20" /> + <OnInitialized> + self:SetText(GetCraftingSkillName(2)) + self:SetModifyTextType(MODIFY_TEXT_TYPE_UPPERCASE) + </OnInitialized> + </Label> + <Label name="$(parent)Craft6" font="LeoAltholicSmallFont" color="C4C4A0" horizontalAlignment="CENTER"> + <Anchor point="TOPLEFT" relativeTo="$(parent)Craft2" relativePoint="TOPRIGHT" offsetX="10" /> + <Dimensions x="100" y="20" /> + <OnInitialized> + self:SetText(GetCraftingSkillName(6)) + self:SetModifyTextType(MODIFY_TEXT_TYPE_UPPERCASE) + </OnInitialized> + </Label> + <Label name="$(parent)Craft7" font="LeoAltholicSmallFont" color="C4C4A0" horizontalAlignment="CENTER"> + <Anchor point="TOPLEFT" relativeTo="$(parent)Craft6" relativePoint="TOPRIGHT" offsetX="10" /> + <Dimensions x="100" y="20" /> + <OnInitialized> + self:SetText(GetString(SI_ITEMFILTERTYPE25)) + self:SetModifyTextType(MODIFY_TEXT_TYPE_UPPERCASE) + </OnInitialized> + </Label> + <Label name="$(parent)Craft3" font="LeoAltholicSmallFont" color="C4C4A0" horizontalAlignment="CENTER"> + <Anchor point="TOPLEFT" relativeTo="$(parent)Craft7" relativePoint="TOPRIGHT" offsetX="10" /> + <Dimensions x="100" y="20" /> + <OnInitialized> + self:SetText(GetCraftingSkillName(3)) + self:SetModifyTextType(MODIFY_TEXT_TYPE_UPPERCASE) + </OnInitialized> + </Label> + <Label name="$(parent)Craft4" font="LeoAltholicSmallFont" color="C4C4A0" horizontalAlignment="CENTER"> + <Anchor point="TOPLEFT" relativeTo="$(parent)Craft3" relativePoint="TOPRIGHT" offsetX="10" /> + <Dimensions x="100" y="20" /> + <OnInitialized> + self:SetText(GetCraftingSkillName(4)) + self:SetModifyTextType(MODIFY_TEXT_TYPE_UPPERCASE) + </OnInitialized> + </Label> + <Label name="$(parent)Craft5" font="LeoAltholicSmallFont" color="C4C4A0" horizontalAlignment="CENTER"> + <Anchor point="TOPLEFT" relativeTo="$(parent)Craft4" relativePoint="TOPRIGHT" offsetX="10" /> + <Dimensions x="100" y="20" /> + <OnInitialized> + self:SetText(GetCraftingSkillName(5)) + self:SetModifyTextType(MODIFY_TEXT_TYPE_UPPERCASE) + </OnInitialized> + </Label> </Controls> </Control> <Control name="$(parent)List" inherits="ZO_ScrollList"> @@ -1084,48 +1100,34 @@ <Dimensions x="180" y="30"/> </Label> - <Texture name="$(parent)Craft1Status" mouseEnabled="true"> - <Dimensions x="28" y="28"/> + <Label name="$(parent)Craft1Status" mouseEnabled="true" font="LeoAltholicLargeFont" verticalAlignment="CENTER" horizontalAlignment="LEFT" resizeToFitDescendents="false"> + <Dimensions x="100" y="28"/> <Anchor point="TOPLEFT" relativeTo="$(parent)Name" relativePoint="TOPRIGHT" offsetX="10" offsetY="0"/> - <OnMouseEnter> ZO_Tooltips_ShowTextTooltip(self, RIGHT, self.data) </OnMouseEnter> - <OnMouseExit> ZO_Tooltips_HideTextTooltip() </OnMouseExit> - </Texture> - <Texture name="$(parent)Craft2Status" mouseEnabled="true"> - <Dimensions x="28" y="28"/> + </Label> + <Label name="$(parent)Craft2Status" mouseEnabled="true" font="LeoAltholicLargeFont" verticalAlignment="CENTER" horizontalAlignment="LEFT" resizeToFitDescendents="false"> + <Dimensions x="100" y="28"/> <Anchor point="TOPLEFT" relativeTo="$(parent)Craft1Status" relativePoint="TOPRIGHT" offsetX="12"/> - <OnMouseEnter> ZO_Tooltips_ShowTextTooltip(self, RIGHT, self.data) </OnMouseEnter> - <OnMouseExit> ZO_Tooltips_HideTextTooltip() </OnMouseExit> - </Texture> - <Texture name="$(parent)Craft6Status" mouseEnabled="true"> - <Dimensions x="28" y="28"/> + </Label> + <Label name="$(parent)Craft6Status" mouseEnabled="true" font="LeoAltholicLargeFont" verticalAlignment="CENTER" horizontalAlignment="LEFT" resizeToFitDescendents="false"> + <Dimensions x="100" y="28"/> <Anchor point="TOPLEFT" relativeTo="$(parent)Craft2Status" relativePoint="TOPRIGHT" offsetX="12"/> - <OnMouseEnter> ZO_Tooltips_ShowTextTooltip(self, RIGHT, self.data) </OnMouseEnter> - <OnMouseExit> ZO_Tooltips_HideTextTooltip() </OnMouseExit> - </Texture> - <Texture name="$(parent)Craft7Status" mouseEnabled="true"> - <Dimensions x="28" y="28"/> + </Label> + <Label name="$(parent)Craft7Status" mouseEnabled="true" font="LeoAltholicLargeFont" verticalAlignment="CENTER" horizontalAlignment="LEFT" resizeToFitDescendents="false"> + <Dimensions x="100" y="28"/> <Anchor point="TOPLEFT" relativeTo="$(parent)Craft6Status" relativePoint="TOPRIGHT" offsetX="12"/> - <OnMouseEnter> ZO_Tooltips_ShowTextTooltip(self, RIGHT, self.data) </OnMouseEnter> - <OnMouseExit> ZO_Tooltips_HideTextTooltip() </OnMouseExit> - </Texture> - <Texture name="$(parent)Craft3Status" mouseEnabled="true"> - <Dimensions x="28" y="28"/> + </Label> + <Label name="$(parent)Craft3Status" mouseEnabled="true" font="LeoAltholicLargeFont" verticalAlignment="CENTER" horizontalAlignment="LEFT" resizeToFitDescendents="false"> + <Dimensions x="100" y="28"/> <Anchor point="TOPLEFT" relativeTo="$(parent)Craft7Status" relativePoint="TOPRIGHT" offsetX="12"/> - <OnMouseEnter> ZO_Tooltips_ShowTextTooltip(self, RIGHT, self.data) </OnMouseEnter> - <OnMouseExit> ZO_Tooltips_HideTextTooltip() </OnMouseExit> - </Texture> - <Texture name="$(parent)Craft4Status" mouseEnabled="true"> - <Dimensions x="28" y="28"/> + </Label> + <Label name="$(parent)Craft4Status" mouseEnabled="true" font="LeoAltholicLargeFont" verticalAlignment="CENTER" horizontalAlignment="LEFT" resizeToFitDescendents="false"> + <Dimensions x="100" y="28"/> <Anchor point="TOPLEFT" relativeTo="$(parent)Craft3Status" relativePoint="TOPRIGHT" offsetX="12"/> - <OnMouseEnter> ZO_Tooltips_ShowTextTooltip(self, RIGHT, self.data) </OnMouseEnter> - <OnMouseExit> ZO_Tooltips_HideTextTooltip() </OnMouseExit> - </Texture> - <Texture name="$(parent)Craft5Status" mouseEnabled="true"> - <Dimensions x="28" y="28"/> + </Label> + <Label name="$(parent)Craft5Status" mouseEnabled="true" font="LeoAltholicLargeFont" verticalAlignment="CENTER" horizontalAlignment="LEFT" resizeToFitDescendents="false"> + <Dimensions x="100" y="28"/> <Anchor point="TOPLEFT" relativeTo="$(parent)Craft4Status" relativePoint="TOPRIGHT" offsetX="12"/> - <OnMouseEnter> ZO_Tooltips_ShowTextTooltip(self, RIGHT, self.data) </OnMouseEnter> - <OnMouseExit> ZO_Tooltips_HideTextTooltip() </OnMouseExit> - </Texture> + </Label> </Controls> </Control> diff --git a/LeoAltholicInit.lua b/LeoAltholicInit.lua index ebb938a..c84d26d 100644 --- a/LeoAltholicInit.lua +++ b/LeoAltholicInit.lua @@ -4,5 +4,5 @@ LeoAltholicUI = LeoAltholicUI or {} LeoAltholic.name = "LeoAltholic" LeoAltholic.displayName = "Leo's Altholic" -LeoAltholic.version = "1.3.2" +LeoAltholic.version = "1.3.3" LeoAltholic.chatPrefix = "|c39B027" .. LeoAltholic.name .. "|r: " diff --git a/LeoAltholicUI.lua b/LeoAltholicUI.lua index 89e227e..3f8e7c3 100644 --- a/LeoAltholicUI.lua +++ b/LeoAltholicUI.lua @@ -9,6 +9,14 @@ function LeoAltholic:OnWindowMoveStop() } end +function LeoAltholicUI:OnHide(control, hidden) + if hidden then LeoAltholic.HideUI() end +end + +function LeoAltholicUI:OnShow(control, hidden) + if not hidden then LeoAltholic.ShowUI() end +end + function LeoAltholic:isHidden() return LeoAltholic.hidden end @@ -29,7 +37,6 @@ end function LeoAltholic.ShowInventoryUI(charName, bagId) LeoAltholic.listingInventoryFor = charName SCENE_MANAGER:ShowTopLevel(LeoAltholicInventoryWindow) - LeoAltholicInventoryWindow:SetHidden(false) local char = LeoAltholic.GetCharByName(charName) local sc = WINDOW_MANAGER:GetControlByName("LeoAltholicInventoryWindowListScrollChild") sc:SetHidden(false) @@ -70,30 +77,24 @@ end function LeoAltholic.HideInventoryUI() SCENE_MANAGER:HideTopLevel(LeoAltholicInventoryWindow) - LeoAltholicInventoryWindow:SetHidden(true) +end + +function LeoAltholic.CloseUI() + SCENE_MANAGER:HideTopLevel(LeoAltholicWindow) end function LeoAltholic.ShowUI() - SCENE_MANAGER:ShowTopLevel(LeoAltholicWindow) - LeoAltholicWindow:SetHidden(false) LeoAltholic.hidden = false; LeoAltholic.ShowTab(LeoAltholic.savedVariables.activeTab or "Bio") end function LeoAltholic.HideUI() - SCENE_MANAGER:HideTopLevel(LeoAltholicWindow) - LeoAltholicWindow:SetHidden(true) - LeoAltholic.HideInventoryUI() LeoAltholic.hidden = true; + LeoAltholic.HideInventoryUI() end function LeoAltholic.ToggleUI() SCENE_MANAGER:ToggleTopLevel(LeoAltholicWindow) - if LeoAltholic:isHidden() then - LeoAltholic.ShowUI() - else - LeoAltholic.HideUI() - end end function LeoAltholic.ShowTab(tab) @@ -108,7 +109,20 @@ function LeoAltholic.ShowTab(tab) control:SetHidden(false) end -function LeoAltholic.GetTime(seconds) +function LeoAltholic.GetTime(seconds, short) + if short == nil then short = false end + local formats = { + day = SI_TIME_FORMAT_DDHHMM_DESC_SHORT, + hour = SI_TIME_FORMAT_HHMMSS_DESC_SHORT, + minute = SI_TIME_FORMAT_MMSS_DESC_SHORT, + } + if short then + formats = { + day = SI_TIME_FORMAT_DDHH_DESC_SHORT, + hour = SI_TIME_FORMAT_HHMM_DESC_SHORT, + minute = SI_TIME_FORMAT_MMSS_DESC_SHORT, + } + end if seconds and seconds > 0 then local ss = seconds % 60 local mm = math.floor(seconds / 60) @@ -116,22 +130,14 @@ function LeoAltholic.GetTime(seconds) mm = mm % 60 local dn = math.floor(hh / 24) local result = '' - if dn > 0 then result = tostring(dn) .. GetString(LEOALT_D) .." " .. tostring (hh - (dn*24)) .. GetString(LEOALT_H) - elseif hh > 0 then result = tostring (hh) .. GetString(LEOALT_H) .." " .. tostring (mm) .. GetString(LEOALT_M) - elseif mm > 0 then result = mm .. GetString(LEOALT_M) .." " .. ss .. GetString(LEOALT_S) + if dn > 0 then result = zo_strformat(GetString(formats.day), dn, hh - (dn*24), mm) + elseif hh > 0 then result = zo_strformat(GetString(formats.hour), hh, mm, ss) + elseif mm > 0 then result = zo_strformat(GetString(formats.minute), mm, ss) end return result else return '|cFF4020'..GetString(LEOALT_FINISHED)..'|r' end end -local function formatNumber(amount) - if amount == nil then return nil; end - if type(amount) == "string" then amount = tonumber( amount ) end - if type(amount) ~= "number" then return amount; end - if amount < 1000 then return amount; end - return FormatIntegerWithDigitGrouping( amount, GetString( SI_DIGIT_GROUP_SEPARATOR ) ) -end - function LeoAltholicUI.InitPanels() LeoAltholicUI.bioList = LeoAltholicBioList:New(LeoAltholicWindowBioPanelListScroll) LeoAltholicUI.bioList:RefreshData() @@ -159,167 +165,3 @@ function LeoAltholicUI.InitPanels() LeoAltholicUI.InitTrackedPanel() end - -function LeoAltholic.DisplayCharacterFrames() - local control - for _,panel in ipairs(LeoAltholic.panelList) do - if panel ~= "Writs" then - control = WINDOW_MANAGER:GetControlByName('LeoAltholicWindow' .. panel .. 'PanelScrollChild') - control:SetHeight(#LeoAltholic.GetCharacters() * 109) - end - end - control = WINDOW_MANAGER:GetControlByName('LeoAltholicWindowTrackedPanelScrollChild') - control:SetHeight(#LeoAltholic.GetCharacters() * 169) - control = WINDOW_MANAGER:GetControlByName('LeoAltholicWindowResearchPanelScrollChild') - control:SetHeight(#LeoAltholic.GetCharacters() * 262) - control = WINDOW_MANAGER:GetControlByName('LeoAltholicWindowSkillsPanelScrollChild') - control:SetHeight(#LeoAltholic.GetCharacters() * 522) - - for x,char in pairs(LeoAltholic.GetCharacters()) do - - for _,panel in ipairs(LeoAltholic.panelList) do - local row = WINDOW_MANAGER:GetControlByName('LeoAltholic' .. panel .. 'Row'..x) - - control = row:GetNamedChild("Name") - control:SetText(char.bio.name) - - if panel ~= "Writs" then - control = row:GetNamedChild("Alliance") - local icon = ZO_GetAllianceIcon(char.bio.alliance.id) - control:SetText("|cF1FF77|t50:90:" .. icon .. "|t|r ") - control.data = char.bio.alliance.name - - control = row:GetNamedChild("RaceClass") - control:SetText(char.bio.race .. " " .. char.bio.class) - end - end - - if char.quests ~= nil and char.quests.tracked ~= nil then - row = WINDOW_MANAGER:GetControlByName('LeoAltholicTrackedRow'..x) - for i = 1, 10 do - if char.quests.tracked[i] ~= nil then - local label = row:GetNamedChild("Quest" .. i .. "Label") - local done = row:GetNamedChild("Quest" .. i .. "Done") - label:SetText(char.quests.tracked[i].name) - label:SetHandler('OnMouseUp', function(control, button, upInside) - if upInside == true and button == MOUSE_BUTTON_INDEX_RIGHT then - LeoAltholic.log(zo_strformat(GetString(LEOALT_REMOVED_FROM), label:GetText(), char.bio.name)) - table.remove(LeoAltholic.savedVariables.CharList[char.bio.name].quests.tracked, i) - control:SetHidden(true) - control:GetParent():GetNamedChild("Quest" .. i .. "Done"):SetHidden(true) - end - end) - if char.quests.tracked[i].lastDone ~= nil then - if char.quests.tracked[i].lastDone <= LeoAltholic.TodayReset() then - done:SetText("|cCB110Enot done today|r") - else - local diff = GetTimeStamp() - char.quests.tracked[i].lastDone - if diff < 3600 then - done:SetText(zo_strformat(GetString(LEOALT_MINUTES_AGO), math.floor(diff / 60))) - elseif diff < 86400 then - done:SetText(zo_strformat(GetString(LEOALT_HOURS_AGO), math.floor(diff / 3600))) - else - done:SetText(zo_strformat(GetString(LEOALT_DAYS_AGO), math.floor(diff / 86400))) - end - end - else - done:SetText("|cCB110E"..GetString(LEOALT_NOT_DONE_TODAY).."|r") - end - end - end - end - - row = WINDOW_MANAGER:GetControlByName('LeoAltholicInventoryRow'..x) - local color = '|c21A121' - if char.inventory.free <= 25 then color = '|c596cfd' end - if char.inventory.free <= 10 then color = '|cCB110E' end - control = row:GetNamedChild("Bag") - control:SetText(color .. char.inventory.used .. "|r / " .. char.inventory.size) - control = row:GetNamedChild("SoulGems") - control:SetText("|c21A121" .. char.inventory.soulGemFilled .. '|r / ' .. char.inventory.soulGemEmpty) - control = row:GetNamedChild("Gold") - control:SetText(formatNumber(char.inventory.gold)) - control = row:GetNamedChild("AP") - control:SetText(formatNumber(char.inventory.ap)) - control = row:GetNamedChild("TelVar") - control:SetText(formatNumber(char.inventory.telvar)) - control = row:GetNamedChild("Writ") - control:SetText(formatNumber(char.inventory.writVoucher)) - - row = WINDOW_MANAGER:GetControlByName('LeoAltholicResearchRow'..x) - for _,craft in pairs(LeoAltholic.craftResearch) do - local i = 1 - local researching = 0 - for line = 1, GetNumSmithingResearchLines(craft) do - local lineName, lineIcon = GetSmithingResearchLineInfo(craft, line) - for trait = 1, LeoAltholic.maxTraits do - local traitType = GetSmithingResearchLineTraitInfo(craft, line, trait) - local traitName = GetString('SI_ITEMTRAITTYPE',traitType) - local traitData = char.research[craft][line][trait] - if type(traitData) == 'number' then - control = row:GetNamedChild("Craft"..craft.."Label"..i) - control:SetText(' |t28:28:'..lineIcon..'|t ' .. traitName) - control:SetHandler('OnMouseEnter', function(self) ZO_Tooltips_ShowTextTooltip(self, TOP, lineName) end) - control:SetHandler("OnMouseExit", function () ZO_Tooltips_HideTextTooltip() end) - control = row:GetNamedChild("Craft"..craft.."Timer"..i) - control:SetText(LeoAltholic.GetTime(traitData - GetTimeStamp())) - if traitData - GetTimeStamp() <= 3600 then - control:SetColor(1, 1, 0, 1) - else - control:SetColor(1, 1, 1, 1) - end - i = i + 1 - if traitData - GetTimeStamp() > 0 then - researching = researching + 1 - end - end - end - end - control = row:GetNamedChild("Craft"..craft) - color = '|c21A121' - if researching < char.research[craft].max then - color = '|cCB110E' - end - control:SetText(color .. researching .. '/' .. char.research[craft].max .. '|r') - end - - end -end - -function LeoAltholic:OnUpdate() - if LeoAltholic:isHidden() then - return - end - - local control - for x,char in pairs(LeoAltholic.GetCharacters()) do - - local riding = '|t20:20:esoui/art/mounts/ridingskill_speed.dds|t ' .. char.attributes.riding.speed .. '%' .. - ' |t20:20:esoui/art/mounts/ridingskill_stamina.dds|t ' .. char.attributes.riding.stamina .. - ' |t20:20:esoui/art/mounts/ridingskill_capacity.dds|t ' .. char.attributes.riding.capacity .. - ' |t22:22:esoui/art/miscellaneous/timer_32.dds|t ' .. LeoAltholic.GetTime(char.attributes.riding.time - GetTimeStamp()) - local row = WINDOW_MANAGER:GetControlByName('LeoAltholicBioRow'..x) - control = row:GetNamedChild('Riding') - control:SetText(riding) - - row = WINDOW_MANAGER:GetControlByName('LeoAltholicResearchRow'..x) - for _,craft in pairs(LeoAltholic.craftResearch) do - local i = 1 - for line = 1, GetNumSmithingResearchLines(craft) do - for trait = 1, LeoAltholic.maxTraits do - local traitData = char.research[craft][line][trait] - if type(traitData) == 'number' then - control = row:GetNamedChild("Craft"..craft.."Timer"..i) - control:SetText(LeoAltholic.GetTime(traitData - GetTimeStamp())) - if traitData - GetTimeStamp() <= 3600 then - control:SetColor(1, 1, 0, 1) - else - control:SetColor(1, 1, 1, 1) - end - i = i + 1 - end - end - end - end - end -end diff --git a/ui/bio.lua b/ui/bio.lua index 0dd9fa4..b85e1bf 100644 --- a/ui/bio.lua +++ b/ui/bio.lua @@ -68,6 +68,7 @@ function LeoAltholicBioList:SetupEntry(control, data) ' |t20:20:esoui/art/mounts/ridingskill_capacity.dds|t ' .. data.riding.capacity .. ' |t22:22:esoui/art/miscellaneous/timer_32.dds|t ' .. LeoAltholic.GetTime(data.riding.time - GetTimeStamp()) control.riding:SetText(riding) + control.riding.riding = data.riding ZO_SortFilterList.SetupRow(self, control, data) end @@ -131,6 +132,18 @@ function LeoAltholicBioList:SortScrollList() end end +function LeoAltholicUI:updateBio() + local control = LeoAltholicWindowBioPanelListScrollListContents + for i = 1, control:GetNumChildren() do + local child = control:GetChild(i):GetChild(8) + local riding = '|t20:20:esoui/art/mounts/ridingskill_speed.dds|t ' .. child.riding.speed .. '%' .. + ' |t20:20:esoui/art/mounts/ridingskill_stamina.dds|t ' .. child.riding.stamina .. + ' |t20:20:esoui/art/mounts/ridingskill_capacity.dds|t ' .. child.riding.capacity .. + ' |t22:22:esoui/art/miscellaneous/timer_32.dds|t ' .. LeoAltholic.GetTime(child.riding.time - GetTimeStamp(), true) + child:SetText(riding) + end +end + function LeoAltholicBioList:FilterScrollList() local scrollData = ZO_ScrollList_GetDataList(self.list) ZO_ClearNumericallyIndexedTable(scrollData) diff --git a/ui/research.lua b/ui/research.lua index 3a1bb2d..5ee0517 100644 --- a/ui/research.lua +++ b/ui/research.lua @@ -35,6 +35,7 @@ function LeoAltholicResearchList:SetupEntry(control, data) local researching = 0 control.craft[craft] = GetControl(control, "Craft" .. craft) local lowest = -1 + local lowestTraitData = 0 local list = {} for line = 1, GetNumSmithingResearchLines(craft) do local lineName, lineIcon = GetSmithingResearchLineInfo(craft, line) @@ -46,6 +47,7 @@ function LeoAltholicResearchList:SetupEntry(control, data) local diff = traitData - GetTimeStamp() if lowest == -1 or diff < lowest then lowest = diff + lowestTraitData = traitData end table.insert(list, { craft = craft, @@ -54,7 +56,8 @@ function LeoAltholicResearchList:SetupEntry(control, data) lineName = lineName, lineIcon = lineIcon, traitName = traitName, - timer = LeoAltholic.GetTime(diff) + timer = LeoAltholic.GetTime(diff), + traitData = traitData }) i = i + 1 if traitData - GetTimeStamp() > 0 then @@ -78,6 +81,13 @@ function LeoAltholicResearchList:SetupEntry(control, data) end control.craft[craft]:SetText(output) control.craft[craft].list = list + control.craft[craft].timerData = { + researching = researching, + max = data.research[craft].max, + lowest = lowest, + showLowest = #list > 0, + lowestTraitData = lowestTraitData + } end ZO_SortFilterList.SetupRow(self, control, data) @@ -156,3 +166,25 @@ function LeoAltholicUI.TooltipResearch(control, visible) InformationTooltip:SetHidden(true) end end + +function LeoAltholicUI:updateResearch() + local control = LeoAltholicWindowResearchPanelListScrollListContents + for i = 1, control:GetNumChildren() do + for j = 2, 5 do + local child = control:GetChild(i):GetChild(j) + local color = '|c21A121' + if child.timerData.researching < child.timerData.max then + color = '|cCB110E' + end + local output = color .. child.timerData.researching .. '/' .. child.timerData.max .. '|r' + color = '|cFFFFFF' + if child.timerData.lowest <= 3600 then + color = '|cFFFF00' + end + if child.timerData.showLowest then + output = output .. " " .. color..LeoAltholic.GetTime(child.timerData.lowestTraitData - GetTimeStamp()) .. '|r' + end + child:SetText(output) + end + end +end diff --git a/ui/tracked.lua b/ui/tracked.lua index c00fbf1..51316b2 100644 --- a/ui/tracked.lua +++ b/ui/tracked.lua @@ -63,11 +63,11 @@ function LeoAltholicUI.InitTrackedPanel() else local diff = GetTimeStamp() - char.quests.tracked[i].lastDone if diff < 3600 then - done:SetText(zo_strformat(GetString(LEOALT_MINUTES_AGO), math.floor(diff / 60))) + child.data = zo_strformat(GetString(SI_TIME_DURATION_AGO), zo_strformat(GetString(SI_TIME_FORMAT_MINUTES_DESC), math.floor(diff / 60))) elseif diff < 86400 then - done:SetText(zo_strformat(GetString(LEOALT_HOURS_AGO), math.floor(diff / 3600))) + child.data = zo_strformat(GetString(SI_TIME_DURATION_AGO), zo_strformat(GetString(SI_TIME_FORMAT_HOURS_DESC), math.floor(diff / 3600))) else - done:SetText(zo_strformat(GetString(LEOALT_DAYS_AGO), math.floor(diff / 86400))) + child.data = zo_strformat(GetString(SI_TIME_DURATION_AGO), zo_strformat(GetString(SI_TIME_FORMAT_DAYS_DESC), math.floor(diff / 86400))) end end else diff --git a/ui/writs.lua b/ui/writs.lua index 82d814c..d93cf8a 100644 --- a/ui/writs.lua +++ b/ui/writs.lua @@ -33,11 +33,11 @@ function LeoAltholicWritsList:SetupEntry(control, data) for _, craft in pairs({CRAFTING_TYPE_ALCHEMY,CRAFTING_TYPE_BLACKSMITHING,CRAFTING_TYPE_CLOTHIER,CRAFTING_TYPE_ENCHANTING,CRAFTING_TYPE_JEWELRYCRAFTING,CRAFTING_TYPE_PROVISIONING,CRAFTING_TYPE_WOODWORKING}) do child = GetControl(control, "Craft"..craft.."Status") local shown = false - child:SetTexture("esoui/art/tutorial/menubar_help_up.dds") - child:SetColor(unpack({1,1,1,1})) - child.data = "" + local icon = "esoui/art/tutorial/menubar_help_up.dds" + local color = {1,1,1,1} + local ago = "" if data.writs[craft] ~= nil then - local color = {1,0,0,1} + color = {1,0,0,1} if (craft == CRAFTING_TYPE_ALCHEMY and string.find(zo_strformat("<<z:1>>",data.writs[craft].name), zo_strformat("<<z:1>>",GetString(LEOALT_ALCHEMIST)))) or (craft == CRAFTING_TYPE_BLACKSMITHING and string.find(zo_strformat("<<z:1>>",data.writs[craft].name), zo_strformat("<<z:1>>",GetString(LEOALT_BLACKSMITH)))) or @@ -49,28 +49,30 @@ function LeoAltholicWritsList:SetupEntry(control, data) if data.writs[craft].lastDone ~= nil and data.writs[craft].lastDone > LeoAltholic.TodayReset() then color = {0,1,0,1} end - child:SetTexture("esoui/art/buttons/accept_up.dds") - child:SetColor(unpack(color)) + icon = "esoui/art/buttons/accept_up.dds" + --child:SetColor(unpack(color)) if data.writs[craft].lastDone ~= nil then local diff = GetTimeStamp() - data.writs[craft].lastDone if diff < 3600 then - child.data = zo_strformat(GetString(LEOALT_MINUTES_AGO), math.floor(diff / 60)) + ago = zo_strformat(GetString(SI_TIME_DURATION_AGO), zo_strformat(GetString(SI_TIME_FORMAT_MINUTES), math.floor(diff / 60))) elseif diff < 86400 then - child.data = zo_strformat(GetString(LEOALT_HOURS_AGO), math.floor(diff / 3600)) + ago = zo_strformat(GetString(SI_TIME_DURATION_AGO), zo_strformat(GetString(SI_TIME_FORMAT_HOURS), math.floor(diff / 3600))) else - child.data = zo_strformat(GetString(LEOALT_DAYS_AGO), math.floor(diff / 86400)) + ago = zo_strformat(GetString(SI_TIME_DURATION_AGO), zo_strformat(GetString(SI_TIME_FORMAT_DAYS), math.floor(diff / 86400))) end else - child.data = "|cCB110E"..GetString(LEOALT_NOT_DONE_TODAY).."|r" + ago = "|cCB110E"..GetString(SI_STR_TIME_UNKNOWN).."|r" end shown = true end end if shown == false then - child:SetTexture("esoui/art/tutorial/menubar_help_up.dds") - child:SetColor(unpack({1,1,1,1})) - child.data = "" + icon = "esoui/art/tutorial/menubar_help_up.dds" + color = {1,1,1,1} + ago = "" end + child:SetText("|t24:24:"..icon.."|t ".. ago) + child:SetColor(unpack(color)) end ZO_SortFilterList.SetupRow(self, control, data) @@ -116,56 +118,3 @@ function LeoAltholicWritsList:FilterScrollList() table.insert(scrollData, ZO_ScrollList_CreateDataEntry(1, data)) end end - - - -function LeoAltholicUI.InitWritsPanel() - local charList = LeoAltholic.ExportCharacters() - local control - local anchorY = 40; - for x,char in pairs(charList) do - - for _, craft in pairs({CRAFTING_TYPE_ALCHEMY,CRAFTING_TYPE_BLACKSMITHING,CRAFTING_TYPE_CLOTHIER,CRAFTING_TYPE_ENCHANTING,CRAFTING_TYPE_JEWELRYCRAFTING,CRAFTING_TYPE_PROVISIONING,CRAFTING_TYPE_WOODWORKING}) do - control = row:GetNamedChild("Craft"..craft.."Status") - local shown = false - control:SetTexture("esoui/art/tutorial/menubar_help_up.dds") - control:SetColor(unpack({1,1,1,1})) - control.data = "" - if char.quests ~= nil and char.quests.writs ~= nil and char.quests.writs[craft] ~= nil then - local color = {1,0,0,1} - if - (craft == CRAFTING_TYPE_ALCHEMY and string.find(zo_strformat("<<z:1>>",char.quests.writs[craft].name), zo_strformat("<<z:1>>",GetString(LEOALT_ALCHEMIST)))) or - (craft == CRAFTING_TYPE_BLACKSMITHING and string.find(zo_strformat("<<z:1>>",char.quests.writs[craft].name), zo_strformat("<<z:1>>",GetString(LEOALT_BLACKSMITH)))) or - (craft == CRAFTING_TYPE_CLOTHIER and string.find(zo_strformat("<<z:1>>",char.quests.writs[craft].name), zo_strformat("<<z:1>>",GetString(LEOALT_CLOTHIER)))) or - (craft == CRAFTING_TYPE_ENCHANTING and string.find(zo_strformat("<<z:1>>",char.quests.writs[craft].name), zo_strformat("<<z:1>>",GetString(LEOALT_ENCHANTER)))) or - (craft == CRAFTING_TYPE_JEWELRYCRAFTING and string.find(zo_strformat("<<z:1>>",char.quests.writs[craft].name), zo_strformat("<<z:1>>",GetString(LEOALT_JEWELRY)))) or - (craft == CRAFTING_TYPE_PROVISIONING and string.find(zo_strformat("<<z:1>>",char.quests.writs[craft].name), zo_strformat("<<z:1>>",GetString(LEOALT_PROVISIONER)))) or - (craft == CRAFTING_TYPE_WOODWORKING and string.find(zo_strformat("<<z:1>>",char.quests.writs[craft].name), zo_strformat("<<z:1>>",GetString(LEOALT_WOODWORKER)))) then - if char.quests.writs[craft].lastDone ~= nil and char.quests.writs[craft].lastDone > LeoAltholic.TodayReset() then - color = {0,1,0,1} - end - control:SetTexture("esoui/art/buttons/accept_up.dds") - control:SetColor(unpack(color)) - if char.quests.writs[craft].lastDone ~= nil then - local diff = GetTimeStamp() - char.quests.writs[craft].lastDone - if diff < 3600 then - control.data = zo_strformat(GetString(LEOALT_MINUTES_AGO), math.floor(diff / 60)) - elseif diff < 86400 then - control.data = zo_strformat(GetString(LEOALT_HOURS_AGO), math.floor(diff / 3600)) - else - control.data = zo_strformat(GetString(LEOALT_DAYS_AGO), math.floor(diff / 86400)) - end - else - control.data = "|cCB110E"..GetString(LEOALT_NOT_DONE_TODAY).."|r" - end - shown = true - end - end - if shown == false then - control:SetTexture("esoui/art/tutorial/menubar_help_up.dds") - control:SetColor(unpack({1,1,1,1})) - control.data = "" - end - end - end -end