if InvenSimulatorUI.class ~= "성기사" then return end

local f = UnitFactionGroup("player")

function InvenSimulatorUI:InitStance()
	self:RegisterSideTab(1, nil, 8, "문장", 20154, 20165, 20166, 20164, f == "Horde" and 53736 or 31801, self.db.talents["징벌;지휘의 문장"] and 20375 or nil)
end

function InvenSimulatorUI:InitClassBuff()
	return 10, {
		"비호 판금 전투장비(4 피스 효과)", 64883, "방패 피해 방어량 225만큼 증가", function() return InvenSimulatorUI:GetSetItemPiece("비호 판금 전투장비") >= 4 end,
		"성령의 갑옷(4 피스 효과)", 27499, "주문력 95만큼 증가", function() return InvenSimulatorUI:GetSetItemPiece("성령의 갑옷") >= 6 end,
		"성전사 방어구(4 피스 효과)", 27499, "주문력 95만큼 증가", function() return InvenSimulatorUI:GetSetItemPiece("성전사 방어구") >= 4 end,
		"파멸의 판금 갑옷(4 피스 효과)", 37612, "전투력 160만큼 증가", function() return InvenSimulatorUI:GetSetItemPiece("파멸의 판금 갑옷") >= 4 end,
		"응징의 격노", 31884, "공격력 20%만큼 증가\n치유량 20%만큼 증가", nil,
		"복수", 20053, "공격력 3%만큼 증가", function() return self.db.talents["징벌;복수"] end,
		"신성한 방패", 48952, "방패 막기 확률 30%만큼 증가", function() return self.db.talents["보호;신성한 방패"] and self:HasShield() end,
		"보루", 20132, "방패 막기 확률 30%만큼 증가", function() return self.db.talents["보호;보루"] and self:HasShield() end,
		"순결의 심판", 54155, "주문 시전 속도 15%만큼 증가\n근접 공격 속도 15%만큼 증가", function() return self.db.talents["신성;순결의 심판"] end,
	}
end

function InvenSimulatorUI:ApplyTalent()
	if self.db.talents["징벌;복수"] then
		self:UpdateClassBuffText("복수", "공격력 "..(self.db.talents["징벌;복수"] * 3).."%만큼 증가")
	end
	if self.db.talents["보호;보루"] then
		self:UpdateClassBuffText("보루", "방패 막기 확률 "..self.db.talents["보호;보루"].."0%만큼 증가")
	end
	if self.db.talents["신성;순결의 심판"] then
		self:UpdateClassBuffText("순결의 심판", "주문 시전 속도 "..(self.db.talents["신성;순결의 심판"] * 3).."%만큼 증가\n근접 공격 속도 "..(self.db.talents["신성;순결의 심판"] * 3).."%만큼 증가")
	end
	-- 천상의 지능(5) 지능 +2, 4, 6, 8, 10%
	self:MultiSpec("지능", "천상의 지능", 0.02)
	-- 천상의 힘(5) 힘 +3, 6, 9, 12, 15%
	self:MultiSpec("힘", "천상의 힘", 0.03)
	-- 직감(5) 회피율 1,2,3,4,5%
	self:AddSpec("회피율", "직감", 1)
	-- 강인함(5) 아이템 방어도 +2, 4, 6, 8, 10%
	self:MultiSpec("아이템 방어도", "강인함", 0.02)
	-- 성스러운 임무(2) 체력 +2, 4%
	self:MultiSpec("체력", "성스러운 임무", 0.02)
	-- 전투 숙련(3) 숙련 +2, 4, 6
	self:AddSpec("숙련", "전투 숙련", 2)
	-- 전투 숙련(3) 체력 +2, 4, 6%
	self:MultiSpec("체력", "전투 숙련", 0.02)
	-- 전투 숙련(3) 치명타율 +2, 4, 6%
	self:AddSpec("치명타율", "전투 숙련", 2)
	-- 재빠른 손놀림(5) 무막 1, 2, 3, 4, 5%
	self:AddSpec("무기 막기", "재빠른 손놀림", 1)
	-- 신성한 전투(3) 치명타율, 극대화율 1~3% (신성한 전투 -> 신성한 문장: 오타인듯)
	self:AddSpec("치명타율", "신성한 문장", 1)
	self:AddSpec("극대화율", "신성한 문장", 1)
	-- 자각(5) 치명타율, 극대화율 1~5%
	self:AddSpec("치명타율", "자각", 1)
	self:AddSpec("극대화율", "자각", 1)
	-- 성전(3) 무기 공격력 배율 1~3%
	self:MultiSpec("물리 공격력 배율", "성전", 0.01)
	-- 양손 무기류 전문화(3) 양손 무기 공격력 2, 4, 6%증가
	local weapon = self.db.items[16] and select(9, GetItemInfo(self.db.items[16])) or nil
	if self.db.talents["징벌;양손 무기류 전문화"] and weapon == "INVTYPE_2HWEAPON" then
		self:MultiSpec("주장비 공격력 배율", "양손 무기류 전문화", 0.02)
	end
	-- 한손 무기류 전문화(3) 한손 무기 착용시 공격력 4, 7, 10%
	if self.db.talents["보호;한손 무기류 전문화"] and (weapon == "INVTYPE_WEAPONMAINHAND" or weapon == "INVTYPE_WEAPON") then
		if self.db.talents["보호;한손 무기류 전문화"] == 1 then
			self:MultiSpec("물리 공격력 배율", 0.04)
		elseif self.db.talents["보호;한손 무기류 전문화"] == 2 then
			self:MultiSpec("물리 공격력 배율", 0.07)
		elseif self.db.talents["보호;한손 무기류 전문화"] == 3 then
			self:MultiSpec("물리 공격력 배율", 0.1)
		end
	end
	--복수의 문장의 문양: 복수/타락의 문장이 활성화되어 있는 동안 숙련 10증가
	if self:HasGlyphs("복수의 문장의 문양") and (self:HasStance("복수의 문장") or self:HasStance("타락의 문장")) then
		self:AddSpec("숙련", 10)
	end
	-- 신성 마법 강화(5) 신성 주문 극대화율 1,2,3,4,5%증가
	self:AddSpec("신성 주문 극대화율", "신성 마법 강화", 1)
end

function InvenSimulatorUI:ApplyLastTalent()
	-- 빛의 감화(3) 힘의 20, 40, 60%만큼 주문력 증가
	self:AddSpec("주문 공격력", "빛의 감화", self.specTable["힘"] * 0.2)
	self:AddSpec("주문 치유량", "빛의 감화", self.specTable["힘"] * 0.2)
	-- 수호의 빛(3) 전투력의 10, 20, 30%만큼 주문력 증가
	self:AddSpec("주문 공격력", "수호의 빛", (self.specTable["전투력"] or 0) * 0.1)
	self:AddSpec("주문 치유량", "수호의 빛", (self.specTable["전투력"] or 0) * 0.1)
	-- 신성한 인도(5) 주문력이 지능의 4, 8, 12, 16, 20%만큼 증가
	self:AddSpec("주문 공격력", "신성한 인도", self.specTable["지능"] * 0.04)
	self:AddSpec("주문 치유량", "신성한 인도", self.specTable["지능"] * 0.04)
	-- 보루(3) 방피량 10, 20, 30%
	self:MultiSpec("방패 피해 방어량", "보루", 0.1)
end