-
Notifications
You must be signed in to change notification settings - Fork 8
/
Copy pathminimap.lua
72 lines (71 loc) · 2.51 KB
/
minimap.lua
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
local me, ns = ...
local print=print
local gc,gb="GarrisonCommander","GarrisonCommander-Broker"
local garrison,orderhall,champion,sanctum=
MINIMAP_GARRISON_LANDING_PAGE_TOOLTIP,
MINIMAP_ORDER_HALL_LANDING_PAGE_TOOLTIP,
GARRISON_TYPE_8_0_LANDING_PAGE_TOOLTIP,
GARRISON_TYPE_9_0_LANDING_PAGE_TOOLTIP
local LE_GARRISON_TYPE_6_0=Enum.GarrisonType.Type_6_0_Garrison
local LE_GARRISON_TYPE_7_0=Enum.GarrisonType.Type_7_0_Garrison
local LE_GARRISON_TYPE_8_0=Enum.GarrisonType.Type_8_0_Garrison
local LE_GARRISON_TYPE_9_0=Enum.GarrisonType.Type_9_0_Garrison
local IsAddOnLoaded=C_AddOns.IsAddOnLoaded
local descriptions={
[LE_GARRISON_TYPE_6_0] = "Garrison",
[LE_GARRISON_TYPE_7_0]= "Order Hall",
[LE_GARRISON_TYPE_8_0] = "CHampion Missions",
[LE_GARRISON_TYPE_9_0] = "Covenant"
}
local function addTooltip(d,key,message)
if (d==message) then return end
GameTooltip:AddLine(key .. " " .. message)
end
print("GCB",me,gc,IsAddOnLoaded(gc),gb,IsAddOnLoaded(gb))
if (me == gc and not IsAddOnLoaded(gb) or
me == gb and not IsAddOnLoaded(gc)
) then
print("Hooking tooltip")
ExpansionLandingPageMinimapButton:HookScript("OnEnter",
function(this)
local d=this.description
addTooltip(d,CTRL_KEY_TEXT,garrison)
addTooltip(d,SHIFT_KEY_TEXT,orderhall)
addTooltip(d,CTRL_KEY_TEXT .. '-' .. SHIFT_KEY_TEXT,champion)
if C_PlayerInfo.IsExpansionLandingPageUnlockedForPlayer(LE_EXPANSION_DRAGONFLIGHT) then addTooltip(d,CTRL_KEY_TEXT .. '-' .. ALT_KEY_TEXT,sanctum) end
GameTooltip:Show()
end
)
ExpansionLandingPageMinimapButton:HookScript("OnClick",
function (this,button)
local shift,ctrl,alt=IsShiftKeyDown(),IsControlKeyDown(),IsAltKeyDown()
local requested=0
print (shift,ctrl,alt)
if ctrl then
if alt then
requested=LE_GARRISON_TYPE_9_0
elseif shift then
requested=LE_GARRISON_TYPE_8_0
else
requested=LE_GARRISON_TYPE_6_0
end
elseif shift then
requested=LE_GARRISON_TYPE_7_0
else
return
end
if not GarrisonLandingPage then
Garrison_LoadUI()
end
if InCombatLockdown() then return end
local actual=GarrisonLandingPage.garrTypeID
local original=requested
if ExpansionLandingPage and ExpansionLandingPage:IsShown() then
ExpansionLandingPage:Hide()
end
if actual ~= requested then
ShowGarrisonLandingPage(requested);
end
end
)
end