diff --git a/CHANGELOG.txt b/CHANGELOG.txt
index 0fb70a4..8a2aef2 100644
--- a/CHANGELOG.txt
+++ b/CHANGELOG.txt
@@ -1,7 +1,11 @@
*GarrisonCommander helps you when choosing the right follower for the right mission*
+* *2.6.13*
+Fix: Message: Interface\AddOns\GarrisonCommander-Broker\ldb.lua:414: attempt to perform arithmetic on local 'r2' (a nil value) in GC-Broker
+Feature: In follower page, armor and weapon upgrades can be swapped
+
* *2.6.12*
-Fix: Colorizing in broker at last wotking as intended
+Fix: Colorizing in broker at last working as intended
Fix: Anticipating a fixe for a 6.2.1 only bug
* *2.6.11*
diff --git a/FollowerPage.lua b/FollowerPage.lua
index 71e4690..751a026 100644
--- a/FollowerPage.lua
+++ b/FollowerPage.lua
@@ -114,14 +114,23 @@ function addon:ShowUpgradeButtons(force)
addon:SetBoolean("NOCONFIRM",this:GetChecked())
end)
end
+ if (not gf.swapButtons) then
+ gf.noConfirm=self:GetFactory():Checkbox(gf.Model,self:GetToggle("SWAPBUTTONS"),self:GetVarInfo("SWAPBUTTONS"))
+ gf.noConfirm:SetPoint("TOPLEFT",0,-40)
+ gf.noConfirm:Show()
+ gf.noConfirm:SetScript("OnClick",function(this)
+ addon:SetBoolean("SWAPBUTTONS",this:GetChecked())
+ addon:ShowUpgradeButtons()
+ end)
+ end
if not gf.upgradeButtons then gf.upgradeButtons ={} end
--if not gf.upgradeFrame then gf.upgradeFrame=CreateFrame("Frame",nil,gf.model) end
local b=gf.upgradeButtons
local upgrades=self:GetUpgrades()
- local axpos=243
- local wxpos=7
- local wypos=-135
- local aypos=-135
+ local axpos=self:GetBoolean("SWAPBUTTONS") and 7 or 243
+ local wxpos=self:GetBoolean("SWAPBUTTONS") and 243 or 7
+ local wypos=-155
+ local aypos=-155
local used=1
if not gf.followerID then
return self:DelayedRefresh(0.1)
diff --git a/GarrisonCommander-Broker/GarrisonCommander-Broker.toc b/GarrisonCommander-Broker/GarrisonCommander-Broker.toc
index 20873d0..3b11a0c 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.12
+## X-Version: 2.6.13
## 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 3bfdf28..1e11369 100644
--- a/GarrisonCommander-Broker/ldb.lua
+++ b/GarrisonCommander-Broker/ldb.lua
@@ -47,7 +47,6 @@ local NONE=C(NONE,"Red")
local DONE=C(DONE,"Green")
local NEED=C(NEED,"Red")
local IsQuestFlaggedCompleted=IsQuestFlaggedCompleted
-
local CAPACITANCE_SHIPMENT_COUNT=CAPACITANCE_SHIPMENT_COUNT -- "%d of %d Work Orders Available";
local CAPACITANCE_SHIPMENT_READY=CAPACITANCE_SHIPMENT_READY -- "Work Order ready for pickup!";
local CAPACITANCE_START_WORK_ORDER=CAPACITANCE_START_WORK_ORDER -- "Start Work Order";
@@ -70,7 +69,24 @@ local LE_FOLLOWER_TYPE_SHIPYARD_6_2=_G.LE_FOLLOWER_TYPE_SHIPYARD_6_2
local dbversion=1
local frequency=5
local ldbtimer=nil
-
+local ColorStrings={
+'00FF00', -- 0
+'33FF00', -- 1
+'66FF00', -- 2
+'99FF00', -- 3
+'CCFF00', -- 4
+'FFFF00', -- 5
+'FFCC00', -- 6
+'FF9900', -- 7
+'FF6500', -- 8
+'FF3200', -- 9
+'FF0000' -- 10
+}
+local ColorValues={}
+for i=1,#ColorStrings do
+ local c=ColorStrings[i]
+ ColorValues[i]={tonumber(c:sub(1,2),16)/255,tonumber(c:sub(3,4),16)/255,tonumber(c:sub(5,6),16)/255}
+end
local spellids={
[158754]='herb',
[158745]='mine',
@@ -334,6 +350,7 @@ function addon:OnInitialized()
self:RegisterEvent("GARRISON_MISSION_STARTED")
self:RegisterEvent("GARRISON_MISSION_NPC_OPENED","ldbCleanup")
self:RegisterEvent("ZONE_CHANGED_NEW_AREA")
+ self:RegisterEvent("SHIPMENT_CRAFTER_CLOSED")
self:RegisterEvent("SHIPMENT_CRAFTER_INFO")
self:RegisterEvent("SHOW_LOOT_TOAST")
--self:RegisterEvent("QUEST_AUTOCOMPLETE",print)
@@ -357,7 +374,10 @@ function addon:ApplyFREQUENCY(value)
end
function addon:SHIPMENT_CRAFTER_INFO(...)
self:WorkUpdate(...)
-
+end
+function addon:SHIPMENT_CRAFTER_CLOSED(...)
+ self:CountEmpty()
+ workobj:Update()
end
function addon:SHOW_LOOT_TOAST(event,typeIdentifier, itemLink, quantity, specID, sex, isPersonal, lootSource)
if (isPersonal and lootSource==10) then -- GARRISON_CACHE
@@ -401,7 +421,12 @@ function addon:OnEnabled()
self:ScheduleTimer("DelayedInit",5)
end
function addon:Gradient(perc)
- return self:ColorGradient(perc,1,0,0,1,1,0,0,1,0)
+ local rc,r,g,b=pcall(self.ColorGradient,self,perc,1,0,0,1,1,0,0,1,0)
+ if (rc) then
+ return r,g,b
+ else
+ return 0,1,0
+ end
end
function addon:ColorGradient(perc, ...)
@@ -495,10 +520,9 @@ end
function cacheobj:OnTooltipShow()
self:AddLine(GARRISON_CACHE)
for k,v in kpairs(addon.db.realm.caches) do
- 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))
+ local t=addon.db.realm.cachesize[k] or 500
+ local n=math.min(t,math.floor((time()-v)*(1/600)))
+ self:AddDoubleLine(k==ns.me and C(k,"green") or C(k,"Orange"),format("%d/%d",n,t),nil,nil,nil,addon:moreIsGood(n,t,true)) -- uses more because n is not the "missing" part
end
self:AddLine(me,C.Silver())
end
@@ -676,14 +700,24 @@ function dataobj:OldUpdate()
end
self.text=format("%s: %s (Tot: |cff00ff00%d|r) %s: %s",READY,ready,completed,NEXT,prox)
end-- Resources rate: 144 a day
-function addon:moreIsGood(n,t)
+local function convert(perc,numeric)
+ perc=max(0,min(10,perc))
+ if numeric then
+ return unpack(ColorValues[perc+1])
+ else
+ return ColorStrings[perc+1]
+ end
+end
+function addon:lessIsGood(n,t,numeric)
-- t = total
-- n = counted
- local perc= math.floor(1/t*(t-n)*10)/10
- --return 1/t*w
- return addon:ColorToString(addon:ColorGradient(perc,1,0,0,1,1,0,0,1,0)),perc
+ return convert(math.floor(10/t*(t-n)),numeric)
+end
+function addon:moreIsGood(n,t,numeric)
+ -- t = total
+ -- n = counted
+ return convert(math.floor(10/t*n),numeric)
end
-
--@debug@
local function highdebug(tb)
for k,v in pairs(tb) do
diff --git a/GarrisonCommander.lua b/GarrisonCommander.lua
index 1d72741..57659f5 100644
--- a/GarrisonCommander.lua
+++ b/GarrisonCommander.lua
@@ -432,6 +432,7 @@ print("Initialize")
self:AddToggle("IXP",true,L["Show xp to next level"],L["When checked, show on each follower button missing xp to next level"])
self:AddToggle("UPG",true,L["Show upgrade options"],L["Only meaningful upgrades are shown"])
self:AddToggle("NOCONFIRM",true,L["Don't ask for confirmation"],L["If checked, clicking an upgrade icon will consume the item and upgrade the follower\n|cFFFF0000NO QUESTION ASKED|r"])
+ self:AddToggle("SWAPBUTTONS",false,L["Swap upgrades position"],L["IF checked, shows armors on the left and weapons on the right "])
self:AddLabel("Buildings Panel")
self:AddToggle("HF",false,L["Hide followers"],L["Do not show follower icon on plots"])
--@debug@
diff --git a/GarrisonCommander.toc b/GarrisonCommander.toc
index 1225d9d..8b862d3 100644
--- a/GarrisonCommander.toc
+++ b/GarrisonCommander.toc
@@ -13,7 +13,7 @@
## Notes-zhCN: 發送所有的追隨者與點擊多任務
## Author: Alar of Daggerspine
## Version: @project-version@ 6.2.0
-## X-Version: 2.6.12
+## X-Version: 2.6.13
## X-Revision: @project-abbreviated-hash@
## eMail: alar@aspide.it
## URL: http://wow.aspide.it