주문 시전 차단이 성공했을 때 알리고 싶은 분들을 위한 겁니다.  차단 실패는 없습니다.

클래식에서는 채팅에 스킬 링크를 넣을 수 없는 것으로 보여 자세한 주문 설명을 알 수는 없지만 스킬명을 적어두는 것으로 도움이 될 듯 합니다.

내용 중 해제와 부활 알림이 있는데 해당 클래스가 없어서 확인은 못했습니다.

아래 내용을 담은 애드온을 첨부하니 쓰실 분은 쓰세요.
2020.02.19
 - 클래식 페이즈 3 toc 수정
 - 알림 채널을 감정 표현으로 수정

-- ■■  전투 이벤트 알림# 출처: 와우인벤 매크로 게시판
local function sendChatMessage(count, link, name, xlink, text, ch)
if (count == 1) then
text = link.."▶"..name..(IsInGroup()and "" or xlink)..text;
else
text = link.."▶"..name..text.."x"..count;
end
if (not IsInGroup()) then
print(GameTime_GetTime(1), text)
else
SendChatMessage(text, ch)
end
end
local SpellCount, CharName = 0, "";
local notice = CreateFrame("Frame")
notice:RegisterEvent("COMBAT_LOG_EVENT_UNFILTERED")
notice:SetScript("OnEvent", function()
local _,combatEvent,hideCaster,sourceGUID,sourceName,sourceFlags,sourceRaidFlags,destGUID,destName,destFlags,destRaidFlags,spellID,spellName,_,param1,param2,_,param4 = CombatLogGetCurrentEventInfo()
if (not combatEvent) then return end
--local channel = IsInGroup(2)and"INSTANCE_CHAT"or IsInRaid()and"RAID"or IsInGroup(1)and"PARTY"or"SAY";
local channel = "EMOTE";-- 알림 채널은 감정 표현
if (sourceGUID == UnitGUID("player") or sourceGUID == UnitGUID("pet")) then
if (combatEvent == "SPELL_INTERRUPT" or combatEvent == "SPELL_DISPEL" or combatEvent == "SPELL_RESURRECT") then
SpellCount = SpellCount + 1;
local xlink = combatEvent == "SPELL_RESURRECT" and "" or "의["..(param2 or "").."]";
local text = combatEvent == "SPELL_INTERRUPT" and "차단" or combatEvent == "SPELL_DISPEL" and "해제" or "부활";
C_Timer.After(.1, function()
if (SpellCount ~= 0) then
CharName = CharName == destName and "["..destName.."]" or "";
sendChatMessage(SpellCount, "["..spellName.."]", CharName, xlink, text, channel)
SpellCount, CharName = 0, "";
end
end)
CharName = destName;
elseif (combatEvent == "SPELL_STOLEN" and UnitClass"player" == "마법사" and param2) then -- 마법사 마법 훔치기
SendChatMessage("["..spellName.."]▶["..destName.."의"..param2, channel)
elseif (combatEvent == "SPELL_CAST_SUCCESS" and destGUID ~= UnitGUID("player")) then -- 도발
local class = {["전사"]="도발",["드루이드"]="포효"}
local provoke = class[UnitClass"player"]
if (provoke and provoke == spellName) then
SendChatMessage("["..spellName.."]▶["..destName.."]", channel)
end
if (UnitClass"player" == "전사") then
local spell = {["도전의 외침"]=6, ["보복"]=15, ["방패의 벽"]=13, ["최후의 저항"]=20}
if (spell[spellName]) then
SendChatMessage("["..spellName.."] "..spell[spellName].."초", channel)
end
end
end
end
end)