Quantcast

classDisplayName, class, classID = UnitClass("player");
PlayerClass = classID;

-- Class ID Listing

-- Warrior 		1
-- Paladin 		2
-- Hunter 		3
-- Rogue 		4
-- Priest 		5
-- Death Knight 6
-- Shaman 		7
-- Mage 		8
-- Warlock 		9
-- Monk 		10
-- Druid 		11


function HealthPercentage()

	-- health value to display. whole numbers only.
	TargetPercentHealth = math.ceil((UnitHealth("target") / UnitHealthMax("target") * 100));

	-- Class detection

	if PlayerClass == 1 and TargetPercentHealth < 20 then 			-- Warrior
		PortraitHealth_Health:SetTextColor(1,0,0);

		elseif PlayerClass == 2 and TargetPercentHealth <= 20 then 	-- Paladin
				PortraitHealth_Health:SetTextColor(1,0,0);

		elseif PlayerClass == 3 and TargetPercentHealth <= 20 then 	-- Hunter
				PortraitHealth_Health:SetTextColor(1,0,0);

		elseif PlayerClass == 4 and TargetPercentHealth < 35 then 	-- Rogue
				PortraitHealth_Health:SetTextColor(1,0,0);

		elseif PlayerClass == 5 and TargetPercentHealth <= 25 then 	-- Priest
				PortraitHealth_Health:SetTextColor(1,0,0);

		elseif PlayerClass == 6 and TargetPercentHealth < 35 then 	-- Death Knight
				PortraitHealth_Health:SetTextColor(1,0,0);

		elseif PlayerClass == 9 and TargetPercentHealth <= 25 then 	-- Warlock
				PortraitHealth_Health:SetTextColor(1,0,0);

		elseif PlayerClass == 10 and TargetPercentHealth <= 10 then -- Monk
				PortraitHealth_Health:SetTextColor(1,0,0);

		elseif PlayerClass == 11 and TargetPercentHealth <= 25 then -- Priest
				PortraitHealth_Health:SetTextColor(1,0,0);

		elseif TargetPercentHealth <= 10 then						-- Other classes
				PortraitHealth_Health:SetTextColor(1,0,0);

	else
		PortraitHealth_Health:SetTextColor(1,1,0);
	end


	-- change the portrait to show current health
	if UnitIsDead("target") then
		PortraitHealth_Health:SetText('Dead');
	else
		PortraitHealth_Health:SetText(TargetPercentHealth .. '%');
	end

end