diff --git a/DungeonJournalEnhanced.lua b/DungeonJournalEnhanced.lua index a49b4f1..fbdfcf5 100644 --- a/DungeonJournalEnhanced.lua +++ b/DungeonJournalEnhanced.lua @@ -1,318 +1,424 @@ -local ns = select( 2, ... ) -local f = CreateFrame("Frame"); -ns.mainframe = f; -local L = ns.L; -local currentencounter,lastencounter,currentinstance=-1,0,-1; -local diffmode = false; -local EJ_GetSectionInfo_Orig=EJ_GetSectionInfo; -local DJE_DisplayEncounter_Orig = EncounterJournal_DisplayEncounter; -local vistable={}; -local usedbuttons =0; -ns.modules = {"bn"}; -DungeonJournalEnhanced_GConfig = {}; -DungeonJournalEnhanced_PConfig = {}; - - -function f:EventHandler(event,arg1,...) - if(event=="ADDON_LOADED" and arg1=="DungeonJournalEnhanced") then - ns.gconf = DungeonJournalEnhanced_GConfig; - ns.pconf = DungeonJournalEnhanced_PConfig - if(L.HEROIC_DIFFICULTY_SEARCH_WORD == "Heroic Difficulty" and GetLocale()~="enUS") then - print("Dungeon Journal Enhanced: Attention the changed spell/add feature is not working, localisation is required, please go to http://wow.curseforge.com/addons/dungeon-journal-enhanced/localization/ and translate the 'HEROIC_DIFFICULTY_SEARCH_WORD' phrase to make the feature work in your language"); - end - f:Init(); - ns.config:Init(); - ns:LoadModules(); - collectgarbage(); - - f:UnregisterEvent("ADDON_LOADED"); - end - - -end - - - - - - -function f:ToggleHeaders(collapse) - local used = EncounterJournal.encounter.usedHeaders; - local i=1; - if(collapse==true) then - i = #used; - - end - local header = used[i]; - local didchange = false; - - while(header) do - if(collapse==true) then - i=i-1; - else - i=i+1; - end - if(header.expanded == collapse) then - - _G[header:GetName().."HeaderButton"]:Click(); - - end - header = used[i]; - end - -end - - -function DJE_EJ_GetSectionInfo_Hook(sectionid) - - local fileredByDifficulty = false; - local title, description, headerType, abilityIcon, displayInfo, siblingID, nextSectionID, _, link, startsOpen, flag1, flag2, flag3, flag4 = EJ_GetSectionInfo_Orig(sectionid); - if(vistable[sectionid]) then - if(vistable[sectionid].mode) then - if(vistable[sectionid].mode == "add") then - title= "|cFF00FF00"..title; - elseif(vistable[sectionid].mode == "rem") then - title= "|cFFFF0000"..title; - else - title= "|cFFFFAA00"..title; - end - end - else - fileredByDifficulty = true; - end - - - return title, description, headerType, abilityIcon, displayInfo,siblingID, nextSectionID, fileredByDifficulty, link, startsOpen, flag1, flag2, flag3, flag4; - -end - -function f:GetCurrentEncounterID() - - return currentencounter; - -end - -function DJE_DisplayEncounter_Hook(encounterid,arg) - - - currentencounter = encounterid; - - if(diffmode==true and lastencounter>0 and currentencounter~=lastencounter) then - - f:ChangeDiffMode(); - end - - if (currentencounter ~= lastencounter) then - lastencounter=currentencounter; - end - f.diffbutton:Show(); - f.expandbutton:Show(); - f.collapsebutton:Show(); - if(ns.bn) then - ns.bn.notesbutton:Show(); - end - return DJE_DisplayEncounter_Orig(encounterid,arg); -end - -function f:BossButtonScaler() - - if (not ns.activeconfig.ScaleBossIcons) then - return - end - - f:DoBossButtonScaling(ns.activeconfig.ScaleBossIconsVal); - - -end - -function f:DoBossButtonScaling(newscale) - for i=1,10 do - local button = _G["EJMapButton"..i]; - if(button) then - if (not button.DJE_scaled or button.DJE_scaled~=newscale ) then - if (not button.DJE_scaled) then - button.origsize = {button:GetWidth(),button:GetHeight(),button.bgImage:GetWidth(),button.bgImage:GetHeight()} - end - button:SetWidth(button.origsize[1]*newscale); - button:SetHeight(button.origsize[2]*newscale); - button.bgImage:SetWidth(button.origsize[3]*newscale); - button.bgImage:SetHeight(button.origsize[4]*newscale); - button.DJE_scaled = newscale; - end - else - return; - end - end -end - -function f:ShowDiff() - f:ChangeDiffMode(); -end - -function f:GetDiff() - local _, _, _, rootSectionID = EJ_GetEncounterInfo(currentencounter); - wipe(vistable); - EncounterJournal.isHeroic = false; - EncounterJournal_Refresh() - f:GetAllSpells(rootSectionID,"add",0,0); - EncounterJournal.isHeroic = true; - EncounterJournal_Refresh() - f:GetAllSpells(rootSectionID,"rem",0,0); - EncounterJournal_Refresh() -end - -function f:ChangeDiffMode() - if(diffmode == true) then - diffmode = false; - EJ_GetSectionInfo = EJ_GetSectionInfo_Orig; - f.diffbutton.selected:Hide(); - EncounterJournal_Refresh() - else - EJ_GetSectionInfo = DJE_EJ_GetSectionInfo_Hook; - diffmode = true; - f.heroicbutton.selected:Show(); - f.diffbutton.selected:Show(); - f:GetDiff(); - end - -end - - -function f:GetAllSpells(nextSection,mode,parentid,depth) - - local title,subsection,heroic,desc; - local currentsection; - - while(nextSection) do - local heroicchange; - currentsection = nextSection; - title, desc, _, _, _, nextSection, subsection, heroic, _, _, _, _, _, _ = EJ_GetSectionInfo_Orig(nextSection); - - if(mode=="rem") then - heroicchange=string.find(desc,L.HEROIC_DIFFICULTY_SEARCH_WORD); - - end - - if(heroic or heroicchange) then - if (not vistable[currentsection] or not vistable[currentsection].mode) then - vistable[currentsection] = {}; - vistable[currentsection].changed = true; - if(heroicchange) then - - vistable[currentsection].mode = "change"; - else - vistable[currentsection].mode = mode; - end - if(depth>0) then - for i=1,depth do - if not (vistable[parentid[i]]) then - vistable[parentid[i]] = {}; - vistable[parentid[i]].changed = false; - end - end - end - end - else - - end - - if(subsection) then - if(depth == 0) then - parentid = {}; - end - parentid[depth+1] = currentsection; - f:GetAllSpells(subsection,mode,parentid,depth+1); - end - end -end - -function f:SetPosSize() - if(ns.activeconfig.position) then - EncounterJournal:ClearAllPoints(); - EncounterJournal:SetPoint(unpack(ns.activeconfig.position)); - end - -end - -function f:HideButton() - - if(type(self)=="number") then - currentinstance = self; - currentencounter = 'i'..currentinstance; - else - currentinstance =-1; - end - if(ns.bn ) then - if(currentinstance<0) then - ns.bn.notesbutton:Hide(); - ns.bn:HideBossNotes(); - else - ns.bn.notesbutton:Show(); - ns.bn:HideBossNotes(); - end - - end - f.expandbutton:Hide(); - f.collapsebutton:Hide(); - f.diffbutton:Hide(); -end - -function f:Init() - - local diffbutton = CreateFrame("Button","DungenJournalEnhancedDiffButton",EncounterJournal,"EncounterDifficultyTemplate"); - diffbutton:SetText("Diff"); - --diffbutton:SetHeight(22); - --diffbutton:SetWidth(25); - diffbutton:SetPoint("RIGHT","EncounterJournalEncounterFrameInfoHeroicButton",-80,0); - diffbutton:Hide(); - diffbutton:SetScript("OnClick",f.ChangeDiffMode) - f.diffbutton = diffbutton; - - --local button1 = CreateFrame("Button","DungenJournalEnhancedOptionButton",EncounterJournal,"MagicButtonTemplate"); - --button1:SetText("Open DJE options"); - --button1:SetWidth(_G[button1:GetName().."Text"]:GetWidth()+10); - --button1:SetPoint("BOTTOMLEFT",EncounterJournal,0,-(button1:GetHeight())); - --button1:SetScript("onclick",function () InterfaceOptionsFrame_OpenToCategory("Dungeon Journal Enhanced");end); - - - - - local button2 = CreateFrame("Button","DungenJournalEnhancedCollapseButton",EncounterJournal,"MagicButtonTemplate"); - button2:SetText(L.COLLAPSE); - button2:SetWidth(_G[button2:GetName().."Text"]:GetWidth()+10); - button2:SetPoint("BOTTOMRIGHT",EncounterJournal,0,-(button2:GetHeight())); - button2:SetScript("onclick",function () f:ToggleHeaders(true) ;end); - button2:Hide(); - f.expandbutton = button2; - - local button3 = CreateFrame("Button","DungenJournalEnhancedExpandButton",EncounterJournal,"MagicButtonTemplate"); - button3:SetText(L.EXPAND); - button3:SetWidth(_G[button3:GetName().."Text"]:GetWidth()+10); - button3:SetPoint("RIGHT",button2,"LEFT",-10,0); - button3:SetScript("onclick",function () f:ToggleHeaders(false);end); - button3:Hide(); - f.collapsebutton = button3; - - f.heroicbutton = _G["EncounterJournalEncounterFrameInfoHeroicButton"]; - hooksecurefunc("EncounterJournal_DisplayInstance",f.HideButton); - hooksecurefunc(EncounterJournalNavBarHomeButton,"myclick",f.HideButton); - EncounterJournal:HookScript("OnShow",f.SetPosSize); - EncounterJournal_DisplayEncounter = DJE_DisplayEncounter_Hook; - - - -end - -function ns:LoadModules() - for key, val in pairs(ns.modules) do - if(ns.activeconfig.modules and ns.activeconfig.modules[val]==1) then - ns["init"..val](); - end - ns["init"..val] = nil; - end -end - - - -f:SetScript("OnEvent",f.EventHandler); -f:RegisterEvent("ADDON_LOADED"); +local ns = select( 2, ... ) +local f = CreateFrame("Frame"); +ns.mainframe = f; +local L = ns.L; +local currentencounter,lastencounter,currentinstance=-1,0,-1; +local diffmode = false; +local EJ_GetSectionInfo_Orig; +local DJE_DisplayEncounter_Orig; +local vistable={}; +local usedbuttons =0; +ns.modules = {"bn"}; +DungeonJournalEnhanced_GConfig = {}; +DungeonJournalEnhanced_PConfig = {}; +local lastdisplaycall = 0; +local EJ_DIFF_5MAN = 1 +local EJ_DIFF_5MAN_HEROIC = 2 + +local EJ_DIFF_10MAN = 1 +local EJ_DIFF_25MAN = 2 +local EJ_DIFF_10MAN_HEROIC = 3 +local EJ_DIFF_25MAN_HEROIC = 4 +local EJ_DIFF_LFRAID = 5 + + + + +function f:EventHandler(event,arg1,...) + + if(event=="ADDON_LOADED" and (arg1=="DungeonJournalEnhanced" or arg1=="Blizzard_EncounterJournal")) then + --Blizzard_EncounterJournal + if (IsAddOnLoaded("Blizzard_EncounterJournal") and IsAddOnLoaded("DungeonJournalEnhanced")) then + + + ns.gconf = DungeonJournalEnhanced_GConfig; + ns.pconf = DungeonJournalEnhanced_PConfig + if(L.HEROIC_DIFFICULTY_SEARCH_WORD == "Heroic Difficulty" and GetLocale()~="enUS") then + print("Dungeon Journal Enhanced: Attention the changed spell/add feature is not working, localisation is required, please go to http://wow.curseforge.com/addons/dungeon-journal-enhanced/localization/ and translate the 'HEROIC_DIFFICULTY_SEARCH_WORD' phrase to make the feature work in your language"); + end + EJ_GetSectionInfo_Orig=EJ_GetSectionInfo; + DJE_DisplayEncounter_Orig = EncounterJournal_DisplayEncounter; + --EncounterJournal_DisplayInstance_Orig = EncounterJournal_DisplayInstance; + --EncounterJournal_DisplayInstance = DJE_EncounterJournal_DisplayInstance; + f:Init(); + ns.config:Init(); + ns:LoadModules(); + collectgarbage(); + + f:UnregisterEvent("ADDON_LOADED"); + end + end + + +end + + + + + + +function f:ToggleHeaders(collapse) + local used = EncounterJournal.encounter.usedHeaders; + local i=1; + if(collapse==true) then + i = #used; + + end + local header = used[i]; + local didchange = false; + + while(header) do + if(collapse==true) then + i=i-1; + else + i=i+1; + end + if(header.expanded == collapse) then + + _G[header:GetName().."HeaderButton"]:Click(); + + end + header = used[i]; + end + +end + + +function DJE_EJ_GetSectionInfo_Hook(sectionid) + + local fileredByDifficulty = false; + local title, description, headerType, abilityIcon, displayInfo, siblingID, nextSectionID, _, link, startsOpen, flag1, flag2, flag3, flag4 = EJ_GetSectionInfo_Orig(sectionid); + if(vistable[sectionid]) then + if(vistable[sectionid].mode) then + if(vistable[sectionid].mode == "add") then + title= "|cFF00FF00"..title; + elseif(vistable[sectionid].mode == "rem") then + title= "|cFFFF0000"..title; + else + title= "|cFFFFAA00"..title; + end + end + else + fileredByDifficulty = true; + end + + + return title, description, headerType, abilityIcon, displayInfo,siblingID, nextSectionID, fileredByDifficulty, link, startsOpen, flag1, flag2, flag3, flag4; + +end + +function f:GetCurrentEncounterID() + + return currentencounter; + +end + +function DJE_DisplayEncounter_Hook(encounterid,arg) + + lastdisplaycall = time(); + currentencounter = encounterid; + + if(diffmode==true and lastencounter>0 and currentencounter~=lastencounter) then + + f:ChangeDiffMode(); + end + + if (currentencounter ~= lastencounter) then + lastencounter=currentencounter; + end + f.diffbutton:Show(); + f.expandbutton:Show(); + f.collapsebutton:Show(); + if(ns.bn) then + ns.bn.notesbutton:Show(); + end + return DJE_DisplayEncounter_Orig(encounterid,arg); +end + +--function DJE_EncounterJournal_DisplayInstance(...) + --f:HideButton(); + --return EncounterJournal_DisplayInstance_Orig(...); +--end + +function f:BossButtonScaler() + + if (not ns.activeconfig.ScaleBossIcons) then + return + end + + f:DoBossButtonScaling(ns.activeconfig.ScaleBossIconsVal); + + +end + +function f:DoBossButtonScaling(newscale) + for i=1,10 do + local button = _G["EJMapButton"..i]; + if(button) then + if (not button.DJE_scaled or button.DJE_scaled~=newscale ) then + if (not button.DJE_scaled) then + button.origsize = {button:GetWidth(),button:GetHeight(),button.bgImage:GetWidth(),button.bgImage:GetHeight()} + end + button:SetWidth(button.origsize[1]*newscale); + button:SetHeight(button.origsize[2]*newscale); + button.bgImage:SetWidth(button.origsize[3]*newscale); + button.bgImage:SetHeight(button.origsize[4]*newscale); + button.DJE_scaled = newscale; + end + else + return; + end + end +end + +function f:ShowDiff() + f:ChangeDiffMode(); +end + +--dirty fixes for now + + + +function f:GetMode() + local cur = EJ_GetDifficulty(); + if EJ_InstanceIsRaid() then + if cur == EJ_DIFF_10MAN_HEROIC or cur == EJ_DIFF_25MAN_HEROIC then + return 'h' + elseif cur == EJ_DIFF_LFRAID then + return 'l' + else + return 'n' + end + else + if cur == EJ_DIFF_5MAN_HEROIC then + return 'h' + else + return 'n' + end + end + +end + +function f:GetSize() + local cur = EJ_GetDifficulty(); + if EJ_InstanceIsRaid() then + if cur == EJ_DIFF_10MAN_HEROIC or cur == EJ_DIFF_10MAN then + return '10' + else + return '25' + end + else + --used before 25 for 5 man so for compatibility leave it like that + return '25'; + end + +end + + +function f:ToNormal() + local cur = EJ_GetDifficulty(); + if EJ_InstanceIsRaid() then + if cur == EJ_DIFF_10MAN or cur == EJ_DIFF_10MAN_HEROIC then + EJ_SetDifficulty(EJ_DIFF_10MAN); + elseif cur == EJ_DIFF_25MAN or cur == EJ_DIFF_25MAN_HEROIC then + EJ_SetDifficulty(EJ_DIFF_25MAN); + end + else + EJ_SetDifficulty(EJ_DIFF_5MAN); + end + +end + +function f:ToHeroic() + local cur = EJ_GetDifficulty(); + if EJ_InstanceIsRaid() then + if cur == EJ_DIFF_10MAN or cur == EJ_DIFF_10MAN_HEROIC then + EJ_SetDifficulty(EJ_DIFF_10MAN_HEROIC); + elseif cur == EJ_DIFF_25MAN or cur == EJ_DIFF_25MAN_HEROIC then + EJ_SetDifficulty(EJ_DIFF_25MAN_HEROIC); + end + else + EJ_SetDifficulty(EJ_DIFF_5MAN_HEROIC); + end + + +end + + +function f:GetDiff() + + + local _, _, _, rootSectionID = EJ_GetEncounterInfo(currentencounter); + wipe(vistable); + --EncounterJournal.encounter.info.difficulty:SetFormattedText(ENCOUNTER_JOURNAL_DIFF_TEXT, entry.size, entry.prefix); + f:ToNormal() + EncounterJournal_Refresh() + f:GetAllSpells(rootSectionID,"add",0,0); + f:ToHeroic() + EncounterJournal_Refresh() + f:GetAllSpells(rootSectionID,"rem",0,0); + EncounterJournal_Refresh() +end + +function f:ChangeDiffMode() + if(diffmode == true) then + diffmode = false; + EJ_GetSectionInfo = EJ_GetSectionInfo_Orig; + f.diffbutton.selected:Hide(); + EncounterJournal_Refresh() + else + EJ_GetSectionInfo = DJE_EJ_GetSectionInfo_Hook; + diffmode = true; + --f.heroicbutton.selected:Show(); + f.diffbutton.selected:Show(); + f:GetDiff(); + end + +end + + +function f:GetAllSpells(nextSection,mode,parentid,depth) + + local title,subsection,heroic,desc; + local currentsection; + + while(nextSection) do + local heroicchange; + currentsection = nextSection; + title, desc, _, _, _, nextSection, subsection, heroic, _, _, _, _, _, _ = EJ_GetSectionInfo_Orig(nextSection); + + if(mode=="rem") then + heroicchange=string.find(desc,L.HEROIC_DIFFICULTY_SEARCH_WORD); + + end + + if(heroic or heroicchange) then + if (not vistable[currentsection] or not vistable[currentsection].mode) then + vistable[currentsection] = {}; + vistable[currentsection].changed = true; + if(heroicchange) then + + vistable[currentsection].mode = "change"; + else + vistable[currentsection].mode = mode; + end + if(depth>0) then + for i=1,depth do + if not (vistable[parentid[i]]) then + vistable[parentid[i]] = {}; + vistable[parentid[i]].changed = false; + end + end + end + end + else + + end + + if(subsection) then + if(depth == 0) then + parentid = {}; + end + parentid[depth+1] = currentsection; + f:GetAllSpells(subsection,mode,parentid,depth+1); + end + end +end + +function f:SetPosSize() + if(ns.activeconfig.position) then + EncounterJournal:ClearAllPoints(); + EncounterJournal:SetPoint(unpack(ns.activeconfig.position)); + end + +end + +function f:HideButton() + + --sometimes this is called after display encounter which produces error, so checking if since last encounter call 1s passed + if(time()-lastdisplaycall<1) then + return; + end + + + if(type(self)=="number") then + + currentinstance = self; + currentencounter = 'i'..currentinstance; + else + currentinstance =-1; + end + if(ns.bn ) then + if(currentinstance<0) then + ns.bn.notesbutton:Hide(); + ns.bn:HideBossNotes(); + else + ns.bn.notesbutton:Show(); + ns.bn:HideBossNotes(); + end + + end + f.expandbutton:Hide(); + f.collapsebutton:Hide(); + f.diffbutton:Hide(); +end + +function f:Init() + + local diffbutton = CreateFrame("Button","DungenJournalEnhancedDiffButton",EncounterJournal,"EncounterDifficultyTemplate"); + diffbutton:SetText("Diff"); + --diffbutton:SetHeight(22); + --diffbutton:SetWidth(25); + diffbutton:SetPoint("LEFT","EncounterJournalEncounterFrameInfoResetButton",-25,0); + diffbutton:Hide(); + diffbutton:SetScript("OnClick",f.ChangeDiffMode) + f.diffbutton = diffbutton; + + --local button1 = CreateFrame("Button","DungenJournalEnhancedOptionButton",EncounterJournal,"MagicButtonTemplate"); + --button1:SetText("Open DJE options"); + --button1:SetWidth(_G[button1:GetName().."Text"]:GetWidth()+10); + --button1:SetPoint("BOTTOMLEFT",EncounterJournal,0,-(button1:GetHeight())); + --button1:SetScript("onclick",function () InterfaceOptionsFrame_OpenToCategory("Dungeon Journal Enhanced");end); + + + + + local button2 = CreateFrame("Button","DungenJournalEnhancedCollapseButton",EncounterJournal,"MagicButtonTemplate"); + button2:SetText(L.COLLAPSE); + button2:SetWidth(_G[button2:GetName().."Text"]:GetWidth()+10); + button2:SetPoint("BOTTOMRIGHT",EncounterJournal,0,-(button2:GetHeight())); + button2:SetScript("onclick",function () f:ToggleHeaders(true) ;end); + button2:Hide(); + f.expandbutton = button2; + + local button3 = CreateFrame("Button","DungenJournalEnhancedExpandButton",EncounterJournal,"MagicButtonTemplate"); + button3:SetText(L.EXPAND); + button3:SetWidth(_G[button3:GetName().."Text"]:GetWidth()+10); + button3:SetPoint("RIGHT",button2,"LEFT",-10,0); + button3:SetScript("onclick",function () f:ToggleHeaders(false);end); + button3:Hide(); + f.collapsebutton = button3; + + --f.heroicbutton = _G["EncounterJournalEncounterFrameInfoHeroicButton"]; + hooksecurefunc("EncounterJournal_DisplayInstance",f.HideButton); + hooksecurefunc(EncounterJournalNavBarHomeButton,"myclick",f.HideButton); + EncounterJournal:HookScript("OnShow",f.SetPosSize); + EncounterJournal_DisplayEncounter = DJE_DisplayEncounter_Hook; + + + +end + +function ns:LoadModules() + for key, val in pairs(ns.modules) do + if(ns.activeconfig.modules and ns.activeconfig.modules[val]==1) then + ns["init"..val](); + end + ns["init"..val] = nil; + end +end + + + +f:SetScript("OnEvent",f.EventHandler); +f:RegisterEvent("ADDON_LOADED"); diff --git a/DungeonJournalEnhanced.toc b/DungeonJournalEnhanced.toc index 69859cf..5c030ab 100644 --- a/DungeonJournalEnhanced.toc +++ b/DungeonJournalEnhanced.toc @@ -1,11 +1,12 @@ -## Interface: 40200 +## Interface: 40300 ## Title: Dungeon Journal Enhanced ## Author: DarkStarX -## Version: 0.5 +## Version: 0.5.1 ## Notes: Enhances the Dungeon Journal ## SavedVariables: DungeonJournalEnhanced_GConfig ## SavedVariablesPerCharacter: DungeonJournalEnhanced_PConfig + localisation\locale_enUS.lua localisation\locale_deDE.lua localisation\locale_frFR.lua diff --git a/modules/BossNotes.lua b/modules/BossNotes.lua index e8d11cc..c7146f7 100644 --- a/modules/BossNotes.lua +++ b/modules/BossNotes.lua @@ -150,18 +150,12 @@ function ns:initbn() function module:GetSaveID() local mode,size; - if(EncounterJournal.isHeroic==true) then - mode = 'h'; - else - mode = 'n'; - end + mode = ns.mainframe:GetMode(); + size = ns.mainframe:GetSize(); + - if(EncounterJournal.is10Man==true) then - size = '10'; - else - size = '25'; - end lastsaveid = ns.mainframe:GetCurrentEncounterID().."|"..size..mode; + --print (lastsaveid); return lastsaveid; end @@ -286,9 +280,11 @@ function ns:initbn() module.notesbutton = notesbutton; EncounterJournalEncounterFrameInfoBossTab:HookScript("onclick",module.HideBossNotes2); EncounterJournalEncounterFrameInfoLootTab:HookScript("onclick",module.HideBossNotes2); - EncounterJournalEncounterFrameInfo10ManButton:HookScript("onclick",module.ShowBossNotes2); - EncounterJournalEncounterFrameInfo25ManButton:HookScript("onclick",module.ShowBossNotes2); - EncounterJournalEncounterFrameInfoHeroicButton:HookScript("onclick",module.ShowBossNotes2); + --EncounterJournalEncounterFrameInfoDifficulty:HookScript("onmousedown",module.ShowBossNotes2); + hooksecurefunc("EncounterJournal_SelectDifficulty",module.ShowBossNotes2) + --EncounterJournalEncounterFrameInfo10ManButton:HookScript("onclick",module.ShowBossNotes2); + --EncounterJournalEncounterFrameInfo25ManButton:HookScript("onclick",module.ShowBossNotes2); + --EncounterJournalEncounterFrameInfoHeroicButton:HookScript("onclick",module.ShowBossNotes2); module:CreateBNFrame(); if(not ns.activeconfig.bn) then ns.activeconfig.bn = {};