Quantcast

2.2.1

Alar of Daggerspine [01-26-15 - 22:55]
2.2.1

Signed-off-by: Alar of Daggerspine <alar@aspide.it>
Filename
CHANGELOG.txt
GarrisonCommander.lua
GarrisonCommander.toc
diff --git a/CHANGELOG.txt b/CHANGELOG.txt
index 9bcb053..118ddac 100644
--- a/CHANGELOG.txt
+++ b/CHANGELOG.txt
@@ -1,4 +1,10 @@
 ==GarrisonCommander helps you when choosing the right follower for the right mission==
+* 2.2.1
+** Feature: weapon/armor iLevel on followers' button can now be disabled
+** Feature: when building proposed partis, maxed follower are used when not using them was leaving ght party not fully filled
+** Fix: empty follower button no longer has tooltip
+** Fix: Lua error comparing nil in line 988
+** Fix: Available/Working/On Missions/Inactive follower count was not being updated when completing last mission
 * 2.2.0
 ** Feature: Fast Mission Control: you can have GC set up parties for your follower and send them out with just two mouse click.Party building can be customized setting varios criteria.This feature is invoked via the right side tab with Hammer and clock. Take some time to check it. Feedbacl appreciated
 ** Feature: Little screen mode now have almost all the informations present in big screen
diff --git a/GarrisonCommander.lua b/GarrisonCommander.lua
index 8198ba3..a3eccf3 100644
--- a/GarrisonCommander.lua
+++ b/GarrisonCommander.lua
@@ -563,7 +563,7 @@ function addon:OnInitialized()
 	self:CreatePrivateDb()
 	db=self.db.global
 	self:SafeRegisterEvent("GARRISON_MISSION_STARTED")
-	self:SafeRegisterEvent("GARRISON_MISSION_BONUS_ROLL_COMPLETE")
+	self:SafeRegisterEvent("GARRISON_MISSION_BONUS_ROLL_LOOT")
 	self:SafeRegisterEvent("GARRISON_MISSION_NPC_CLOSED",function(...) GCF:Hide() end)
 	self:SafeHookScript("GarrisonMissionFrame","OnShow","SetUp",true)
 	self:AddLabel("Appearance")
@@ -587,6 +587,7 @@ function addon:OnInitialized()
 	self:AddLabel("Followers Panel")
 	self:AddSlider("MAXMISSIONS",5,1,8,L["Mission shown for follower"],nil,1)
 	self:AddSlider("MINPERC",50,0,100,L["Minimun chance success under which ignore missions"],nil,5)
+	self:AddToggle("ILV",true,L["Show weapon/armor level"],L["When checked, show on each follower button weapon and armor level for maxed followers"])
 	self:AddPrivateAction("ShowMissionControl",L["Mission control"],L["You can choose some criteria and have GC autosumbit missions for you"])
 --@debug@
 	self:AddLabel("Developers options")
@@ -981,9 +982,10 @@ function addon:CompleteParty(missionID,mission,skipBusy,skipMaxed)
 				local rank=data.rank
 				local quality=data.quality
 				repeat
+					perc=tonumber(perc) or 0
 					if ((perc or 0) <100) then
 						pushFollower(followerID)
-						local newperc=select(4,G.GetPartyMissionInfo(missionID))
+						local newperc=select(4,G.GetPartyMissionInfo(missionID)) or 0
 						removeFollower(followerID)
 						if (newperc > candidatePerc) then
 							candidatePerc=newperc
@@ -1034,7 +1036,7 @@ function addon:CompleteParty(missionID,mission,skipBusy,skipMaxed)
 		end
 	end
 end
-function addon:MatchMaker(missionID,mission,party)
+function addon:MatchMaker(missionID,mission,party,fromGMC)
 	if (GMFRewardSplash:IsShown()) then return end
 	if (not mission) then mission=self:GetMissionData(missionID) end
 	if (not party) then party=parties[missionID] end
@@ -1095,6 +1097,7 @@ function addon:MatchMaker(missionID,mission,party)
 		if roomInParty() > 0 then self:AddTraitsToParty(missionID,mission) end
 	end
 	if roomInParty() > 0 then self:CompleteParty(missionID,mission,skipBusy,skipMaxed) end
+	if skipMaxed and not fromGMC and roomInParty() > 0  then self:CompleteParty(missionID,mission,skipBusy,skipMaxed) end
 	storeFollowers(party.members)
 	party.full= roomInParty()==0
 	party.perc=closeParty()
@@ -1630,7 +1633,7 @@ function addon:EventGARRISON_FOLLOWER_REMOVED(event)
 	wipe(followersCacheIndex)
 end

-function addon:EventGARRISON_MISSION_BONUS_ROLL_COMPLETE(event,missionID,completed,success)
+function addon:EventGARRISON_MISSION_BONUS_ROLL_LOOT(event,missionID,completed,success)
 --@debug@
 	xprint(event,missionID,completed,success)
 --@end-debug@
@@ -1641,10 +1644,10 @@ end
 --@oaram #boolean success Mission was succesfull
 --Mission complete Sequence is:
 --GARRISON_MISSION_COMPLETE_RESPONSE
---GARRISON_MISSION_BONUS_ROLL_COMPLETE missionID true
+--GARRISON_MISSION_BONUS_ROLL_LOOT missionID true
 --GARRISON_FOLLOWER_XP_CHANGED (1 or more times
 --GARRISON_MISSION_NPC_OPENED ??
---GARRISON_MISSION_BONUS_ROLL_COMPLETE missionID nil
+--GARRISON_MISSION_BONUS_ROLL_ROLL itemId nil
 --
 function addon:EventGARRISON_MISSION_COMPLETE_RESPONSE(event,missionID,completed,success)
 --@debug@
@@ -2296,7 +2299,7 @@ function addon:Options()
 				end
 			end)
 		end
-		GCF.Pin.tooltip=L["Toggles Garrison Commander Menu AutoHide on/off"]
+		GCF.Pin.tooltip=L["Toggles Garrison Commander Menu Header on/off"]
 		GCF.Pin:SetScript("OnEnter",ShowTT)
 		GCF.Pin:SetScript("OnClick",function(this)
 			local value=this:GetChecked()
@@ -2457,7 +2460,7 @@ function addon:HookedGarrisonFollowerButton_UpdateCounters(frame,follower,showCo
 			frame.GCXp:Show()
 		end
 	end
-	if (follower.level >= GARRISON_FOLLOWER_MAX_LEVEL ) then
+	if (follower.level >= GARRISON_FOLLOWER_MAX_LEVEL and self:GetToggle("ILV") ) then
 		local follower=self:GetFollowerData(follower.followerID)
 		local c1=ITEM_QUALITY_COLORS[follower.weaponQuality or 1]
 		local c2=ITEM_QUALITY_COLORS[follower.armorQuality or 1]
@@ -2869,7 +2872,7 @@ end
 function addon:PermanentEvents()
 	self:SafeRegisterEvent("GARRISON_MISSION_COMPLETE_RESPONSE")
 	self:SafeRegisterEvent("GARRISON_MISSION_STARTED")
-	self:SafeRegisterEvent("GARRISON_MISSION_BONUS_ROLL_COMPLETE")
+	self:SafeRegisterEvent("GARRISON_MISSION_BONUS_ROLL_LOOT")
 	self:SafeRegisterEvent("GARRISON_MISSION_NPC_CLOSED")
 	self:SafeRegisterEvent("GARRISON_FOLLOWER_XP_CHANGED")
 	self:SafeRegisterEvent("GARRISON_FOLLOWER_ADDED")
@@ -3208,6 +3211,7 @@ function addon:RenderFollowerButton(frame,followerID,missionID)
 		GarrisonFollowerPortrait_Set(frame.PortraitFrame.Portrait)
 		frame.PortraitFrame.PortraitRingQuality:SetVertexColor(C.Silver());
 		frame.PortraitFrame.LevelBorder:SetVertexColor(C.Silver());
+		frame.info=nil
 		return
 	end
 	frame.PortraitFrame.Level:SetTextColor(1,1,1,1)
@@ -3492,6 +3496,7 @@ function addon:OnClick_GarrisonMissionFrame_MissionComplete_NextMissionButton(th
 	local frame = GMF.MissionComplete
 	if (not frame:IsShown()) then
 		self:Trigger("MSORT")
+		self:RefreshFollowerStatus()
 	end
 end
 function addon:OnClick_GarrisonMissionButton(tab,button)
@@ -3839,7 +3844,8 @@ do
 					if dbg then print ("NO data for",missionID) end
 					return
 				end
-				self:MatchMaker(missionID,mission,party) -- I need my mission data
+				--function addon:MatchMaker(missionID,mission,party,fromGMC)
+				self:MatchMaker(missionID,mission,party,true) -- I need my mission data
 				local minimumChance=0
 				if (GMC.settings.useOneChance) then
 					minimumChance=GMC.settings.minimumChance
diff --git a/GarrisonCommander.toc b/GarrisonCommander.toc
index e796f12..ae15199 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@ @project-abbreviated-hash@
-## X-Version: 2.2.0-Beta1
+## X-Version: 2.2.1
 ## X-Revision: @project-abbreviated-hash@
 ## eMail: alar@aspide.it
 ## URL: http://wow.aspide.it