Quantcast

Quick alpha to test packaging

Alar of Daggerspine [11-23-14 - 11:34]
Quick alpha to test packaging
Signed-off-by: Alar of Daggerspine <alar@aspide.it>
Filename
GarrisonCommander.lua
GarrisonCommander.toc
diff --git a/GarrisonCommander.lua b/GarrisonCommander.lua
index 01ceefb..bc210b3 100644
--- a/GarrisonCommander.lua
+++ b/GarrisonCommander.lua
@@ -43,8 +43,9 @@ local GARRISON_MISSION_PERCENT_CHANCE=GARRISON_MISSION_PERCENT_CHANCE
 local GARRISON_FOLLOWERS=GARRISON_FOLLOWERS -- "Followers"
 local AVAILABLE=AVAILABLE
 local PARTY=PARTY
-local SPELL_TARGET_TYPE4_DESC=SPELL_TARGET_TYPE4_DESC:capitalize()
-local SPELL_TARGET_TYPE1_DESC=SPELL_TARGET_TYPE1_DESC:capitalize()
+local SPELL_TARGET_TYPE4_DESC=SPELL_TARGET_TYPE4_DESC:capitalize() -- party member
+local SPELL_TARGET_TYPE1_DESC=SPELL_TARGET_TYPE1_DESC:capitalize() -- any
+local ANYONE='('..SPELL_TARGET_TYPE1_DESC..')'
 local IGNORE_UNAIVALABLE_FOLLOWERS=IGNORE.. ' ' .. UNAVAILABLE .. ' ' .. GARRISON_FOLLOWERS
 local IGNORE_UNAIVALABLE_FOLLOWERS_DETAIL=IGNORE.. ' ' .. GARRISON_FOLLOWER_INACTIVE .. ',' .. GARRISON_FOLLOWER_ON_MISSION ..',' .. GARRISON_FOLLOWER_WORKING.. ','.. GARRISON_FOLLOWER_EXHAUSTED .. ' ' .. GARRISON_FOLLOWERS
 IGNORE_UNAIVALABLE_FOLLOWERS=IGNORE_UNAIVALABLE_FOLLOWERS:capitalize()
@@ -145,6 +146,10 @@ function addon:TooltipAdder(missionID)
 			end
 		end
 	end
+	local added=self:NewTable()
+	local maxfollowers=C_Garrison.GetMissionMaxFollowers(missionID)
+	local partyshown=false
+	local perc=0
 	if (next(traits) or next(buffs) ) then
 		GameTooltip:AddLine(GARRISON_FOLLOWER_CAN_COUNTER)
 		for id,v in pairs(buffs) do
@@ -156,10 +161,9 @@ function addon:TooltipAdder(missionID)
 			self:AddLine(nil,v.name,status,C.Silver())
 		end
 		GameTooltip:AddLine(PARTY,C.Green())
-		local maxfollowers=C_Garrison.GetMissionMaxFollowers(missionID)
+		partyshown=true
 		local enemies = select(8,C_Garrison.GetMissionInfo(missionID))
-		local missionInfo=C_Garrison.GetBasicMissionInfo(missionID)
-		local added=self:NewTable()
+		--local missionInfo=C_Garrison.GetBasicMissionInfo(missionID)
 --@debug@
 		--DevTools_Dump(fellas)
 --@end-debug@
@@ -186,7 +190,7 @@ function addon:TooltipAdder(missionID)
 				end
 			end
 		end
-		local perc=select(4,C_Garrison.GetPartyMissionInfo(missionID))
+		perc=select(4,C_Garrison.GetPartyMissionInfo(missionID))
 		if (perc < 100 and  #added < maxfollowers and next(traits))  then
 			for id,v in (traits) do
 				local rc,code=pcall(C_Garrison.AddFollowerToMission,missionID,id)
@@ -196,40 +200,44 @@ function addon:TooltipAdder(missionID)
 			end
 			perc=select(4,C_Garrison.GetPartyMissionInfo(missionID))
 		end
-		-- And then fill the roster
-		if (#added < maxfollowers )  then
-			for j=1,#followerList do
-				local index=followerList[j]
-				local follower=followers[index]
-				if (not follower.isCollected) then
-					break
-				end
-				local rc,code=pcall(C_Garrison.AddFollowerToMission,missionID,follower.followerID)
-				if (rc and code) then
-					tinsert(added,follower.followerID)
-					GameTooltip:AddDoubleLine(SPELL_TARGET_TYPE4_DESC,follower.name,C.Orange.r,C.Orange.g,C.Orange.b)--SPELL_TARGET_TYPE1_DESC)
-					if (#added >= maxfollowers) then break end
-				else
+	end
+	-- And then fill the roster
+	local partysize=#added
+	if (partysize < maxfollowers )  then
+		for j=1,#followerList do
+			local index=followerList[j]
+			local follower=followers[index]
+			if (not follower.isCollected) then
+				break
+			end
+			local rc,code=pcall(C_Garrison.AddFollowerToMission,missionID,follower.followerID)
+			if (rc and code) then
+				tinsert(added,follower.followerID)
+				--GameTooltip:AddDoubleLine(SPELL_TARGET_TYPE4_DESC,follower.name,C.Orange.r,C.Orange.g,C.Orange.b)--SPELL_TARGET_TYPE1_DESC)
+				if (#added >= maxfollowers) then break end
+			else
 --@debug@
-					print("Failed adding",follower.name,follower.followerID,rc,code)
+				print("Failed adding",follower.name,follower.followerID,rc,code)
 --@end-debug@
-				end
 			end
-			perc=select(4,C_Garrison.GetPartyMissionInfo(missionID))
 		end
-		local q=self:GetDifficultyColor(perc)
-		GameTooltip:AddDoubleLine(GARRISON_MISSION_SUCCESS,format(GARRISON_MISSION_PERCENT_CHANCE,perc),nil,nil,nil,q.r,q.g,q.b)
-		for _,id in pairs(added) do
-			local rc,code=pcall(C_Garrison.RemoveFollowerFromMission,missionID,id)
+		perc=select(4,C_Garrison.GetPartyMissionInfo(missionID))
+	end
+	local q=self:GetDifficultyColor(perc)
+	if (not partyshown) then
+		GameTooltip:AddDoubleLine(PARTY,ANYONE,C.Orange.r,C.Orange.g,C.Orange.b)
+	end
+	GameTooltip:AddDoubleLine(GARRISON_MISSION_SUCCESS,format(GARRISON_MISSION_PERCENT_CHANCE,perc),nil,nil,nil,q.r,q.g,q.b)
+	for _,id in pairs(added) do
+		local rc,code=pcall(C_Garrison.RemoveFollowerFromMission,missionID,id)
 --@debug@
-			if (not rc) then print("Add",rc,code) end
+		if (not rc) then print("Add",rc,code) end
 --@end-debug@
-		end
-		self:DelTable(added)
+	end
+	self:DelTable(added)
 --@debug@
-		--DevTools_Dump(fellas)
+	--DevTools_Dump(fellas)
 --@end-debug@
-	end
 	self:DelTable(buffed)
 	self:DelTable(traited)
 	self:DelTable(buffs)
diff --git a/GarrisonCommander.toc b/GarrisonCommander.toc
index 1e9aa20..4b3fbf7 100644
--- a/GarrisonCommander.toc
+++ b/GarrisonCommander.toc
@@ -1,5 +1,5 @@
 ## Interface: 60000
-## Title: Alar:GarrisonCommander
+## Title: GarrisonCommander
 ## Notes: Helps you when choosing the right follower for the right mission
 ## Notes-itIT: Ti aiuta a scegliere il giusto seguace per la giusta missione
 ## Author: Alar of Daggerspine