diff ui/JewelPanel.lua @ 17:e77e01abce98

Warlords of Draenor pre-patch
author Adam tegen <adam.tegen@gmail.com>
date Mon, 13 Oct 2014 21:28:32 -0500
parents ec731d2fe6ba
children 4317e56e0a91
line wrap: on
line diff
--- a/ui/JewelPanel.lua	Thu Jul 10 15:32:11 2014 -0700
+++ b/ui/JewelPanel.lua	Mon Oct 13 21:28:32 2014 -0500
@@ -113,6 +113,12 @@
 		-- if there is a gem to add (or remove)
 		--if i <= #optimizedGems or currentGemLink then
 		if i <= #optimizedGems or currentGemLink then
+			local optimizedGemId = 0
+			if optimizedGems[i] > 0 then
+				optimizedGemId = AskMrRobot.ExtraGemData[optimizedGems[i]].id
+			end
+			--local currentGemId = AskMrRobot.ExtraGemData[showGems[i]].id
+
 			-- set the current gem icon / tooltip
 			currentIcon:SetItemLink(currentGemLink)
 
@@ -121,20 +127,28 @@
 			local optimizedGemLink = nil
 			if i <= #optimizedGems then
 				-- make a link for the optimized gem
-				optimizedGemLink = select(2, GetItemInfo(optimizedGems[i].id))
+				optimizedGemLink = select(2, GetItemInfo(optimizedGemId))
 
-				if not optimizedGemLink and optimizedGems[i].id and itemId then
-					AskMrRobot.RegisterItemInfoCallback(optimizedGems[i].id, function(name, link)
+				if not optimizedGemLink and optimizedGemId and itemId then
+					AskMrRobot.RegisterItemInfoCallback(optimizedGemId, function(name, link)
 						optimizedIcon:SetItemLink(link)
 					end)
 				end
 			end
 			
-			if showGems[i] and optimizedGems[i] and optimizedGems[i].color then
+
+			local mismatched = not AskMrRobot.AreGemsCompatible(optimizedGems[i], showGems[i])
+
+			--if showGems[i] and optimizedGems[i] and optimizedGems[i].color then
+			--if test and optimizedGems[i] and optimizedGems[i].color then
+			if mismatched and optimizedGems[i] > 0 then
 				gemCount = gemCount + 1
 				-- set the optimized gem text
 				text:SetTextColor(1,1,1)
-				text:SetText(AskMrRobot.alternateGemName[optimizedGems[i].id] or (optimizedGems[i].enchantId ~= 0 and AskMrRobot.getEnchantName(optimizedGems[i].enchantId)) or GetItemInfo(optimizedGems[i].id))
+				--text:SetText(AskMrRobot.alternateGemName[optimizedGemId] or (optimizedGems[i] ~= 0 and AskMrRobot.getEnchantName(optimizedGems[i])) or GetItemInfo(optimizedGemId))
+
+				text:SetText(AskMrRobot.ExtraGemData[optimizedGems[i]].text)
+
 				currentIcon:Show()
 
 				-- load the item image / tooltip
@@ -143,7 +157,8 @@
 				optimizedIcon:SetBackdropBorderColor(1,1,1)
 				currentIcon:SetBackdropBorderColor(1,1,1)
 			else
-				if optimizedGems[i] and optimizedGems[i].color then
+				--if optimizedGems[i] and optimizedGems[i].color then
+				if optimizedGems[i] then
 					text:SetText("no change")
 					text:SetTextColor(0.5,0.5,0.5)
 					currentIcon:Show()
@@ -156,8 +171,11 @@
 				optimizedIcon:Hide()
 			end
 
-			currentIcon:SetGemColor(optimizedGems[i] and optimizedGems[i].color)
-			optimizedIcon:SetGemColor(optimizedGems[i] and optimizedGems[i].color)
+			-- TODO highlight the socket color
+			local socketColorId = AskMrRobot.ExtraItemData[itemId].socketColors[i]
+			local socketName = AskMrRobot.socketColorIds[socketColorId];
+			currentIcon:SetGemColor(optimizedGems[i] and socketName)
+			optimizedIcon:SetGemColor(optimizedGems[i] and socketName)
 
 			-- show the gem row
 			text:Show()