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

function InvenSimulatorUI:InitStance()
	self:RegisterSideTab(1, nil, 5, "갑옷", 43008, 43024, 43046)
end

function InvenSimulatorUI:InitClassBuff()
	return 3, {
		"마나 깃든 예복(4 피스 효과)", 37620, "주문력 110만큼 증가", function() return InvenSimulatorUI:GetSetItemPiece("마나 깃든 예복") >= 4 end,
		"얼음불꽃 의복(2 피스 효과)", 62215, "주문력 225만큼 증가", function() return InvenSimulatorUI:GetSetItemPiece("얼음불꽃 의복") >= 2 end,
		"키린 토 제복(2 피스 효과)", 64868, "주문력 350만큼 증가", function() return InvenSimulatorUI:GetSetItemPiece("키린 토 제복") >= 2 end,
	}
end

function InvenSimulatorUI:ApplyTalent()
	-- 마법 흡수(2) 모든 저항력이 레벨당 0.5, 1만큼 증가
	if self.db.talents["비전;마법 흡수"] then
		local v = self.db.talents["비전;마법 흡수"] * 0.5 * self.level
		self:AddSpec("비전 저항력", v)
		self:AddSpec("화염 저항력", v)
		self:AddSpec("자연 저항력", v)
		self:AddSpec("냉기 저항력", v)
		self:AddSpec("암흑 저항력", v)
	end
	-- 정신의 탐구자(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) 지능 +3,6,9,12,15%
	self:MultiSpec("지능", "신비한 정신", 0.03)
	-- 신비한 불안정성(3) 극대화율 +1,2,3%
	self:AddSpec("극대화율", "신비한 불안정성", 1)
	-- 신비한 불안정성(3) 마법봉 데미지 1,2,3%업 (확인 요망)
	self:MultiSpec("원거리 장비 공격력 배율", "신비한 불안정성", 0.01)
	-- 불장난(3) 마법봉 데미지 1,2,3%업 (확인 요망)
	self:MultiSpec("원거리 장비 공격력 배율", "불장난", 0.01)
	-- 광기의 화염술사(3) 주문 극대화율 1,2,3%만큼 증가
	self:AddSpec("극대화율", "광기의 화염술사", 1)
	-- 화염 결집(3) 화염 주문 극대화율 2,4,6%
	self:AddSpec("화염 주문 극대화율", "화염 결집", 2)
end

function InvenSimulatorUI:ApplyLastTalent()
	-- 신비한 명상(3) 시전 중에도 평소의 17, 33, 50에 달하는 속도로 마나 회복
	if self.db.talents["비전;신비한 명상"] == 1 then
		self:AddSpec("시전 중 마나 회복량", self:GetManaRegenFromSpi() * 0.17)
	elseif self.db.talents["비전;신비한 명상"] == 2 then
		self:AddSpec("시전 중 마나 회복량", self:GetManaRegenFromSpi() * 0.33)
	elseif self.db.talents["비전;신비한 명상"] == 3 then
		self:AddSpec("시전 중 마나 회복량", self:GetManaRegenFromSpi() * 0.5)
	end
	-- 광기의 화염술사(3) 시전중에도 평소의 17, 33, 50%속도로 마나 회복
	if self.db.talents["화염;광기의 화염술사"] == 1 then
		self:AddSpec("시전 중 마나 회복량", self:GetManaRegenFromSpi() * 0.17)
	elseif self.db.talents["화염;광기의 화염술사"] == 2 then
		self:AddSpec("시전 중 마나 회복량", self:GetManaRegenFromSpi() * 0.33)
	elseif self.db.talents["화염;광기의 화염술사"] == 3 then
		self:AddSpec("시전 중 마나 회복량", self:GetManaRegenFromSpi() * 0.5)
	end
	-- 신비한 인내력(3) 방어도가 지능의 50, 100, 150%만큼 증가
	self:AddSpec("방어도", (self:GetTalentPoint("신비한 인내력") * 0.5) * self.specTable["지능"])
	-- 정신 단련(5) 주문력이 총 지능의 3,6,9,12,15%만큼 증가
	self:AddSpec("주문 공격력", (self:GetTalentPoint("정신 단련") * 0.03) * self.specTable["지능"])
	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
		-- 방어도 +930
		self:AddSpec("방어도", 930)
		-- 냉기 저항력 +40
		self:AddSpec("냉기 저항력", 40)
		-- 얼음 갑옷의 문양: 방어도, 저항력 +50%
		self:AddSpec("방어도", floor(930 * 0.5))
		self:AddSpec("냉기 저항력", floor(40 * 0.5))
		if self:GetSetItemPiece("선스트라이더의 의복") >= 2 or self:GetSetItemPiece("카드가의 의복") >= 2 then
			self:AddSpec("방어도", floor(930 * 0.2))
		end
	elseif self:HasStance("마법사 갑옷") then
		-- 모든 저항력 +40
		self:AddSpec("비전 저항력", 40)
		self:AddSpec("화염 저항력", 40)
		self:AddSpec("자연 저항력", 40)
		self:AddSpec("냉기 저항력", 40)
		self:AddSpec("암흑 저항력", 40)
		-- 비전 보호(2) 마법사 갑옷으로 증가하는 저항력이 25, 50%만큼 증가
		self:AddSpec("비전 저항력", "비전 보호", 40 * 0.25)
		self:AddSpec("화염 저항력", "비전 보호", 40 * 0.25)
		self:AddSpec("자연 저항력", "비전 보호", 40 * 0.25)
		self:AddSpec("냉기 저항력", "비전 보호", 40 * 0.25)
		self:AddSpec("암흑 저항력", "비전 보호", 40 * 0.25)
		-- 시전 중 50%의 속도로 마나가 회복
		self:AddSpec("시전 중 마나 회복량", floor(self:GetManaRegenFromSpi() * 0.5))
		-- 마법사 갑옷의 문양: 마나 회복력 추가로 20%증가
		if self:HasGlyphs("마법사 갑옷의 문양") then
			self:AddSpec("시전 중 마나 회복량", floor(self:GetManaRegenFromSpi() * 0.2))
		end
		if self:GetSetItemPiece("선스트라이더의 의복") >= 2 or self:GetSetItemPiece("카드가의 의복") >= 2 then
			self:AddSpec("시전 중 마나 회복량", floor(self:GetManaRegenFromSpi() * 0.1))
		end
	elseif self:HasStance("타오르는 갑옷") then
		-- 치명타 및 주문 극대화 적중도가 정신력의 35%만큼 증가
		self:AddSpec("주문 극대화 적중도", floor(self.specTable["정신력"] * 0.35))
		self:AddSpec("치명타 및 주문 극대화 적중도", floor(self.specTable["정신력"] * 0.35))
		-- 타오르는 갑옷의 문양: 치명타 및 주문 극대화 적중도가 추가로 정신력의 20%만큼 증가
		if self:HasGlyphs("타오르는 갑옷의 문양") then
			self:AddSpec("주문 극대화 적중도", floor(self.specTable["정신력"] * 0.2))
			self:AddSpec("치명타 및 주문 극대화 적중도", floor(self.specTable["정신력"] * 0.2))
		end
		if self:GetSetItemPiece("선스트라이더의 의복") >= 2 or self:GetSetItemPiece("카드가의 의복") >= 2 then
			self:AddSpec("주문 극대화 적중도", floor(self.specTable["정신력"] * 0.15))
			self:AddSpec("치명타 및 주문 극대화 적중도", floor(self.specTable["정신력"] * 0.15))
		end
	end
end