-- 줄에서 -- 이후는 주석처리(실행 안됨)
-- 와우 접속한 상태에서 BfaSomeInfo.lua 변경 & 저장 하고서 채팅창에 /reload 입력하면 반영됩니다.
-- ■■  격아 습격, 착템 등의 정보  BfaSomeInfo
--―――――――――――――――――――――――――――――――――――――――――――――――――――――

local FontSize = 14		--	현재 BfaSomeInfo의 폰트 크기는 14 입니다.
local Scale = 1			--	전체 크기는 1(100%) 입니다.
local DefaultFont = QuestFont_Large:GetFont()	-- 기본 폰트

--―――――――――――――――――――――――――――――――――――――――――――――――――――――
local BfaSomeInfo = CreateFrame("Frame", "BfaSomeInfo", UIParent)
BfaSomeInfo:SetPoint("BOTTOMLEFT", UIparent, "LEFT", 39, -155)
BfaSomeInfo:SetSize(230, 80)
BfaSomeInfo:SetMovable(true)
BfaSomeInfo:SetUserPlaced(true)
BfaSomeInfo:SetClampedToScreen(false) -- 화면에서 못나가게 하는 부분. (true or false)
BfaSomeInfo:SetScale(Scale)

local BfaSomeInfoText = BfaSomeInfo:CreateFontString(nil, "OVERLAY")
BfaSomeInfoText:SetPoint("BOTTOMLEFT", BfaSomeInfo, "BOTTOMLEFT")
BfaSomeInfoText:SetFont(DefaultFont, FontSize, "THICKOUTLINE")

BfaSomeInfoText:SetJustifyH("LEFT")
BfaSomeInfoText:SetSpacing(2)
BfaSomeInfoText:SetText("")
BfaSomeInfoText:Show()
local iZone = {"드러스트바", "줄다자르", "티라가드 해협", "나즈미르", "스톰송 계곡", "볼둔"};
local function Incursion()		-- 격아 습격
	local t, m, r, q, n = time() / 60, 1140;
	r, q = m - (t - 25745940) % m, ceil((t - 25745220) / m) % 6 + 1;
	t, n = (25745940 + (ceil((t - 25745940) / m) * m)) * 60, r;
	if (r > 720) then
		r = r - 720;
		return format("\124cff00ff00습격 중!: %s %d시간 %d분", iZone[q], r / 60, r % 60)..
		format("\n\124cffcccccc다음: %s %d시간 %d분 후", iZone[q % 6 + 1], n / 60, n % 60)..
		"\n"..date("%Y.%m.%d %a %p %I:%M", t);
	else
		return format("\124cffcccccc다음: %s %d시간 %d분 후", iZone[q], n / 60, n % 60)..
		"\n"..date("%Y.%m.%d %a %p %I:%M", t);
	end
	return
end

local function ItemLevel() -- 착용 평균 아이템 레벨
	local specIndex = GetSpecialization()
	if (not specIndex) then return end;
	local _, spec = GetSpecializationInfo(specIndex)
	local _, lootSpec = GetSpecializationInfoByID(GetLootSpecialization())
	lootSpec = lootSpec and "(룻:"..lootSpec..")" or "";
	local _, equipped = GetAverageItemLevel()
	if (not spec or not equipped) then return end;
	spec = "\124c"..RAID_CLASS_COLORS[select(2,UnitClass"Player")].colorStr..spec.."\124r";
	return spec..lootSpec..format("  \124cff55dd55%d\124cff777777.%.0f", equipped, (equipped-format("%d",equipped))*10)
end

local function KeyStone()		-- 쐐기돌
	for i = 0, 4 do
		for j = 0, GetContainerNumSlots(i) do
			local link = GetContainerItemLink(i, j)
			if link and link:find("keystone:") then
				--local _, _, n = strsplit(":", link)
				--return link.." "..n.."단"
				return link
			end
		end
	end
end
--C_MythicPlus.GetWeeklyChestRewardLevel()

BfaSomeInfo:SetScript("OnMouseDown", function(self, button)
	if (IsShiftKeyDown() and button == "LeftButton") then
		BfaSomeInfo:StartMoving()
	elseif (button == "LeftButton") then
		local keystone = KeyStone()
		if (keystone) then
			SendChatMessage(keystone)
		else
			print("X 쐐기돌 없음 X")
		end
		
	end
end)
BfaSomeInfo:SetScript("OnMouseUp", BfaSomeInfo.StopMovingOrSizing)

BfaSomeInfo:SetScript("OnEnter", function(self)
	GameTooltip:SetOwner(self, "ANCHOR_NONE")
	GameTooltip:ClearAllPoints()
	GameTooltip:SetPoint("BOTTOMLEFT", self, "TOPLEFT")
	GameTooltip:SetBackdropColor(0,0,.2,1)
	GameTooltip:AddLine("BfaSomeInfo")
	GameTooltip:AddLine("┗▷ 격전의 아제로스 관련한 몇 가지 정보",.55,.55,.55)
	GameTooltip:AddLine(" ")
	GameTooltip:AddDoubleLine("Shift + 좌 클릭","창 이동")
	GameTooltip:AddDoubleLine("좌 클릭","쐐기돌 링크",1,1,1,1,1,1)
	GameTooltip:AddLine(" ")
	GameTooltip:AddLine("▒ 격아 습격 예정 ▒")
	local t = (25745940 + (ceil(((time() / 60) - 25745940) / 1140) * 1140)) * 60;
	local q = ceil(((time() / 60) - 25745220) / 1140) % 6;
	for i = 0, 7 do
		local nTime, nZone = t + i * 68400, (q + i) % 6 + 1;
		if (1140 - (time() / 60 - 25745940) % 1140 > 720) then nZone = nZone % 6 + 1 end
		GameTooltip:AddDoubleLine(date("%m/%d %H:%M \124cff0099ff", nTime)..iZone[nZone], date("%m/%d %H:%M", nTime + 25200), 0, 1, 0, 1, 1, 1)
	end
	GameTooltip:Show()
end)
BfaSomeInfo:SetScript("OnLeave", function() GameTooltip:Hide() end)

C_Timer.NewTicker(3, function()
	local Incursion = Incursion() or "";
	local itemlevel = ItemLevel() and "\n\n"..ItemLevel() or "";
	local keystone = KeyStone() and "\n"..KeyStone() or "";
	BfaSomeInfoText:SetFont(DefaultFont, FontSize, "THICKOUTLINE")
	BfaSomeInfoText:SetText(Incursion..itemlevel..keystone)
end)