if InvenSimulatorUI.class ~= "흑마법사" then return end

function InvenSimulatorUI:InitStance()
	self:RegisterSideTab(1, nil, 3, "갑옷", 47889, 47893)
	self:RegisterSideTab(2, nil, 6, "소환수", 688, 697, 691, 712, self.db.talents["악마;지옥수호병 소환"] and 30146 or nil)
	self:RegisterSideTab(3, nil, 3, "주문석/화염석", 47888, 60220)
end

function InvenSimulatorUI:InitClassBuff()
	return 4, {
		"마나 깃든 예복(4 피스 효과)", 37620, "주문력 110만큼 증가", function() return InvenSimulatorUI:GetSetItemPiece("마나 깃든 예복") >= 4 end,
		"역병심장 예복(4 피스 효과)", 61082, "정신력 300만큼 증가", function() return InvenSimulatorUI:GetSetItemPiece("역병심장 예복") >= 4 end,
		"탈태", 47241, "악마 형상\n장비 착용으로 인한 방어도 600%만큼 증가\n치명타에 적중 당할 확률 6%만큼 감소\n공격력 20%만큼 증가\n전투력 100%만큼 증가\n기절과 감속 효과의 지속시간 50%만큼 감소", function() return self.db.talents["악마;탈태"] end,
		"생명력 전환의 문양", 63320, "정신력의 20%만큼 주문력 증가", function() return InvenSimulatorUI:HasGlyphs("생명력 전환의 문양") end,
	}
end

function InvenSimulatorUI:ApplyTalent()
	-- 악마의 은총(3) 체력 +4,7,10%
	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
	-- 악마의 술책(5) 치명타율, 극대화율 +2,4,6,8,10%
	self:AddSpec("치명타율", "악마의 술책", 2)
	self:AddSpec("극대화율", "악마의 술책", 2)
	-- 반발력(3) 극대화울 +1,2,3%
	self:AddSpec("극대화율", "반발력", 1)
	-- 주문석 / 화염석
	if self:HasStance("주문석 창조") then
		-- 주문 가속도 +60
		self:AddSpec("주문 가속도", 60)
		-- 창조의 대가(2) 주문석의 전투척도가 150,300% 만큼 증가
		self:AddSpec("주문 가속도", "창조의 대가", 1.5 * 60)
	elseif self:HasStance("화염석 창조") then
		-- 주문 극대화 적중도 +49
		self:AddSpec("주문 극대화 적중도", 49)
		-- 창조의 대가(2) 화염석의 전투척도가 150,300% 만큼 증가
		self:AddSpec("주문 극대화 적중도", "창조의 대가", 1.5 * 49)
	end
	if self:HasStance("악마의 갑옷") then
		-- 방어도 +2100
		self:AddSpec("방어도", 2100)
		-- 악마의 보호(3) 악마의 갑옷의 효과가 10,20,30% 만큼 증가
		self:AddSpec("방어도", "악마의 보호", 0.1 * 2100)
	end
	if self:HasStance("지옥수호병 소환") then
		self:MultiSpec("물리 공격력 배율", "악령술의 대가", 0.01)
	end
	if self:HasStance("임프 소환") then
		local aura = self.db.talents["악마;임프 연마"] or 0
		if self.db.buffs["피의 서약"] == nil or (self.db.buffs["피의 서약"] and self.db.buffs["피의 서약"] < aura) then
			self:SetEnableBuff("피의 서약", aura)
		end
	elseif self.db.buffs["피의 서약"] == (self.db.talents["악마;임프 연마"] or 0) then
		self:SetEnableBuff("피의 서약", nil)
	end
	if self:HasStance("지옥사냥개 소환") then
		local aura = self.db.talents["고통;지옥사냥개 연마"] or 0
		if self.db.buffs["지옥의 지능"] == nil or (self.db.buffs["지옥의 지능"] and self.db.buffs["지옥의 지능"] < aura) then
			self:SetEnableBuff("지옥의 지능", aura)
		end
	elseif self.db.buffs["지옥의 지능"] == (self.db.talents["고통;지옥사냥개 연마"] or 0) then
		self:SetEnableBuff("지옥의 지능", nil)
	end
end

function InvenSimulatorUI:ApplyLastTalent()
	-- 마의 활력(3) 생명력, 마나 +1,2,3%
	self:MultiSpec("생명력", "마의 활력", 0.01)
	self:MultiSpec("마나", "마의 활력", 0.01)
	-- 악마의 지식 적용
	if self.db.talents["악마;악마의 지식"] then
		local petSta, petInt = 0, 0
		if self:HasStance("임프 소환") then
			petSta, petInt = 836, 626
		elseif self:HasStance("보이드워커 소환") then
			petSta, petInt = 1046, 407
			-- 보이드워커의 문양: 보이드워커의 전체 체력이 20%만큼 증가
			if self:HasGlyphs("보이드워커의 문양") then
				self.buff_multi["체력"] = self.buff_multi["체력"] * 1.2
			end
		elseif self:HasStance("서큐버스 소환") then
			petSta, petInt = 1046, 407
		elseif self:HasStance("지옥사냥개 소환") then
			petSta, petInt = 1046, 407
		elseif self:HasStance("지옥수호병 소환") then
			petSta, petInt = 1046, 407
		end
		if self:GetSetItemPiece("타락한심장의 의복") >= 5 then
			petSta = petSta + 15
		end
		if self:GetSetItemPiece("천벌의 의복") >= 5 then
			petSta = petSta + 20
		end
		if self.db.talents["악마;마의 활력"] then
			-- 마의 활력(3) 소환수의 체력과 지능 +5,10,15%
			self.buff_multi["체력"] = self.buff_multi["체력"] * (1 + self.db.talents["악마;마의 활력"] * 0.05)
			self.buff_multi["지능"] = self.buff_multi["지능"] * (1 + self.db.talents["악마;마의 활력"] * 0.05)
		end
		petSta = floor((petSta + self.buff_add["체력"]) * self.buff_multi["체력"])
		petInt = floor((petInt + self.buff_add["지능"]) * self.buff_multi["지능"])
		-- 악마의 지식(3) 소환수의 (체력+지능) 4,8,12%만큼 주문 공격력 증가
		self:AddSpec("주문 공격력", "악마의 지식", (petSta + petInt) * 0.04)
	end
	if self:GetSetItemPiece("백마법의 지혜") >= 2 then
		self:AddSpec("주문 공격력", floor(self.specTable["지능"] * 0.1))
		self:AddSpec("주문 치유량", floor(self.specTable["지능"] * 0.1))
	end
	if self:GetSetItemPiece("마법불꽃의 격노") >= 3 then
		self:AddSpec("주문 공격력", floor(self.specTable["지능"] * 0.07))
		self:AddSpec("주문 치유량", floor(self.specTable["지능"] * 0.07))
	end
	if self:GetSetItemPiece("태초의 달빛매듭 의복") >= 3 then
		self:AddSpec("시전 중 마나 회복량", self:GetManaRegenFromSpi() * 0.05)
	end
	if self:HasStance("마의 갑옷") then
		-- 주문력 = 180 + 정신력의 +30%
		self:AddSpec("주문 공격력", 180 + self.specTable["정신력"] * 0.3)
		-- 악마의 보호(3) 마의 갑옷의 효과가 10,20,30% 만큼 증가
		self:AddSpec("주문 공격력", "악마의 보호", (180 + self.specTable["정신력"] * 0.3) * 0.1)
	end
end