From 7fcb9e5e18f466da4096039acf447948e75153fb Mon Sep 17 00:00:00 2001 From: Alar of Daggerspine Date: Fri, 3 Jul 2015 02:04:48 +0200 Subject: [PATCH] Improved Garrison cache aware Signed-off-by: Alar of Daggerspine --- CHANGELOG.txt | 3 ++ .../GarrisonCommander-Broker.toc | 2 +- GarrisonCommander-Broker/ldb.lua | 35 +++++++++++++++++--- GarrisonCommander.toc | 2 +- 4 files changed, 35 insertions(+), 7 deletions(-) diff --git a/CHANGELOG.txt b/CHANGELOG.txt index 9c66af5..2cb3af3 100644 --- a/CHANGELOG.txt +++ b/CHANGELOG.txt @@ -1,5 +1,8 @@ *GarrisonCommander helps you when choosing the right follower for the right mission* +* *2.6.5* +Garrison Broker is now aware of enhanced Garrison Cache sizes (750 and 1000) + * *2.6.4* Completed traits list in follower page for both Horde and Alliance Added Seal of Tempered Fate as a unique category in mission control diff --git a/GarrisonCommander-Broker/GarrisonCommander-Broker.toc b/GarrisonCommander-Broker/GarrisonCommander-Broker.toc index 7f97a5e..83d1ec3 100644 --- a/GarrisonCommander-Broker/GarrisonCommander-Broker.toc +++ b/GarrisonCommander-Broker/GarrisonCommander-Broker.toc @@ -5,7 +5,7 @@ ## Notes-frFR: Data-Broker pour GarrisonCommander ## Author: Alar of Daggerspine ## Version: @project-version@ 6.2 -## X-Version: 2.6.0 +## X-Version: 2.6.5 ## X-Revision: @project-abbreviated-hash@ ## eMail: alar@aspide.it ## URL: http://wow.aspide.it diff --git a/GarrisonCommander-Broker/ldb.lua b/GarrisonCommander-Broker/ldb.lua index 94c266c..a7edf98 100644 --- a/GarrisonCommander-Broker/ldb.lua +++ b/GarrisonCommander-Broker/ldb.lua @@ -8,10 +8,12 @@ end local pp=print --@debug@ LoadAddOn("Blizzard_DebugTools") +LoadAddOn("LibDebug") if LibDebug then LibDebug() end --@end-debug@ +local print=print --[===[@non-debug@ -setfenv(1,setmetatable({print=function(...) end},{__index=_G})) +print=function() end --@end-non-debug@]===] print("Garrison-Broker") local L=LibStub("AceLocale-3.0"):GetLocale(me,true) @@ -123,6 +125,15 @@ function addon:ZONE_CHANGED_NEW_AREA() self:ScheduleTimer("DiscoverFarms",1) end +function addon:QUEST_TURNED_IN(event,quest,item,gold) + if quest==37485 then + self.db.realm.cachesize[ns.me] = 1000 + self:Print("Your garrison cache sise was increased to 1000") + elseif quest==38445 then + self.db.realm.cachesize[ns.me] = 750 + self:Print("Your garrison cache sise was increased to 750") + end +end function addon:UNIT_SPELLCAST_START(event,unit,name,rank,lineID,spellID) if (unit=='player') then if spellids[spellID] then @@ -271,8 +282,12 @@ function addon:SetDbDefaults(default) ["*"]=false }}, caches={["*"]=0}, + cachesize={["*"]=false}, dbversion=1 } + default.profile={ + allowedWorkOrders={["*"]=true} + } end function addon:OnInitialized() if dbversion>self.db.realm.dbversion then @@ -294,19 +309,24 @@ function addon:OnInitialized() v[s]=tonumber(v[s]) or 0 end end - ns.me=GetUnitName("player",false) self:RegisterEvent("GARRISON_MISSION_STARTED") self:RegisterEvent("GARRISON_MISSION_NPC_OPENED","ldbCleanup") self:RegisterEvent("ZONE_CHANGED_NEW_AREA") self:RegisterEvent("SHIPMENT_CRAFTER_INFO") self:RegisterEvent("SHOW_LOOT_TOAST") + self:RegisterEvent("QUEST_AUTOCOMPLETE",print) + self:RegisterEvent("QUEST_COMPLETE",print) + self:RegisterEvent("QUEST_FINISH",print) + self:RegisterEvent("QUEST_TURNED_IN",print) --self:RegisterEvent("SHIPMENT_CRAFTER_REAGENT_UPDATE",print) self:AddLabel(GARRISON_NUM_COMPLETED_MISSIONS) self:AddToggle("OLDINT",false,L["Use old interface"],L["Uses the old, more intrusive interface"]) self:AddToggle("SHOWNEXT",false,L["Show next toon"],L["Show the next toon whicg will complete a mission"]) self:AddSlider("FREQUENCY",5,1,60,L["Update frequency"]) frequency=self:GetNumber("FREQUENCY",5) + print("OnInitialized") + self:ScheduleTimer("DelayedInit",5) end function addon:ApplyFREQUENCY(value) frequency=value @@ -322,6 +342,8 @@ end function addon:SHOW_LOOT_TOAST(event,typeIdentifier, itemLink, quantity, specID, sex, isPersonal, lootSource) if (isPersonal and lootSource==10) then -- GARRISON_CACHE self.db.realm.caches[ns.me]=time() + self.db.realm.caches[ns.me]=time() + cacheobj:Update() end end @@ -333,8 +355,10 @@ function addon:DelayedInit() farmobj:Update() workobj:Update() dataobj:Update() + self.db.realm.cachesize[ns.me] = IsQuestFlaggedCompleted(37485) and 1000 or IsQuestFlaggedCompleted(38445) and 750 or self.db.realm.cachesize[ns.me] end function addon:OnEnabled() + print("OnEnabled") self:ScheduleTimer("DelayedInit",5) end function addon:Gradient(perc) @@ -425,9 +449,10 @@ end function cacheobj:OnTooltipShow() self:AddLine(GARRISON_CACHE) for k,v in kpairs(addon.db.realm.caches) do - local resources=math.min(500,math.floor((time()-v)*(1/600))) - self:AddDoubleLine(k==ns.me and C(k,"green") or C(k,"Orange"),resources,nil,nil,nil, - addon:ColorGradient(resources/500,0,1,0,1,1,0,1,0,0)) + local m=addon.db.realm.cachesize[k] or 500 + local resources=math.min(m,math.floor((time()-v)*(1/600))) + self:AddDoubleLine(k==ns.me and C(k,"green") or C(k,"Orange"),format("%d/%d",resources,m),nil,nil,nil, + addon:ColorGradient(resources/m,0,1,0,1,1,0,1,0,0)) end self:AddLine(me,C.Silver()) end diff --git a/GarrisonCommander.toc b/GarrisonCommander.toc index 76a0ac5..cadb0cd 100644 --- a/GarrisonCommander.toc +++ b/GarrisonCommander.toc @@ -5,7 +5,7 @@ ## Notes-frFR: Vous aide au moment de choisir le droit utilisateur pour la bonne mission ## Author: Alar of Daggerspine ## Version: @project-version@ 6.2.0 -## X-Version: 2.6.4 +## X-Version: 2.6.5 ## X-Revision: @project-abbreviated-hash@ ## eMail: alar@aspide.it ## URL: http://wow.aspide.it -- 1.7.9.5