Skip to content

Instantly share code, notes, and snippets.

@LudiusMaximus
Last active August 31, 2020 10:38
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save LudiusMaximus/49401b1228236770933fadde1198c260 to your computer and use it in GitHub Desktop.
Save LudiusMaximus/49401b1228236770933fadde1198c260 to your computer and use it in GitHub Desktop.
local startupFrame = CreateFrame("Frame")
startupFrame:RegisterEvent("PLAYER_ENTERING_WORLD")
startupFrame:SetScript("OnEvent", function()
if not IsAddOnLoaded("Blizzard_EncounterJournal") then
EncounterJournal_LoadUI()
end
-- Open once to initialise.
EncounterJournal_OpenJournal()
-- If you just do EncounterJournal:Hide(), ESC to open the menu will not
-- work right after login.
EncounterJournalCloseButton:Click()
-- Otherwise closing EncounterJournal with ESC may not work during combat.
tinsert(UISpecialFrames, "EncounterJournal")
end)
hooksecurefunc(WorldMapFrame, "SetMapID", function(self, mapID)
if WorldMapFrame.ScrollContainer.Child then
local kids = { WorldMapFrame.ScrollContainer.Child:GetChildren() };
for _, v in ipairs(kids) do
if v.pinTemplate and (v.pinTemplate == "EncounterJournalPinTemplate" or v.pinTemplate == "DungeonEntrancePinTemplate") then
local instanceID = v.instanceID or v.journalInstanceID
local encounterID = v.encounterID
local OriginalOnClick = v.OnClick
v.OnClick = function(...)
if InCombatLockdown() then
EncounterJournal_DisplayInstance(instanceID)
if encounterID then EncounterJournal_DisplayEncounter(encounterID) end
WorldMapFrame:Hide()
EncounterJournal:Show()
else
OriginalOnClick(...)
end
end
end
end
end
end)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment