ImbusBinds/ImbusBinds.lua

156 lines
4.6 KiB
Lua
Raw Normal View History

2023-10-29 14:32:28 +01:00
local _, u = ...
2023-10-28 14:52:57 +02:00
-- https://wowpedia.fandom.com/wiki/BindingID
local myBinds = {
2023-10-28 16:46:49 +02:00
-- Movement
["A"] = "STRAFELEFT",
["D"] = "STRAFERIGHT",
-- Character and bag toggles, since c and b are used for strafing
["F1"] = "OPENALLBAGS",
2023-10-28 16:46:49 +02:00
["F2"] = "TOGGLECHARACTER0",
-- Action Bar 1
2023-10-28 14:52:57 +02:00
["1"] = "ACTIONBUTTON1",
["2"] = "ACTIONBUTTON2",
["3"] = "ACTIONBUTTON3",
2023-10-28 16:46:49 +02:00
["4"] = "ACTIONBUTTON4",
["5"] = "ACTIONBUTTON5",
["6"] = "ACTIONBUTTON6",
["SHIFT-1"] = "ACTIONBUTTON7",
["SHIFT-2"] = "ACTIONBUTTON8",
["SHIFT-3"] = "ACTIONBUTTON9",
["SHIFT-4"] = "ACTIONBUTTON10",
["SHIFT-5"] = "ACTIONBUTTON11",
["SHIFT-6"] = "ACTIONBUTTON12",
-- Action Bar 2
["BUTTON5"] = "MULTIACTIONBAR1BUTTON1",
["BUTTON4"] = "MULTIACTIONBAR1BUTTON2",
["SHIFT-BUTTON5"] = "MULTIACTIONBAR1BUTTON3",
["SHIFT-BUTTON4"] = "MULTIACTIONBAR1BUTTON4",
["CTRL-BUTTON5"] = "MULTIACTIONBAR1BUTTON5",
["CTRL-BUTTON4"] = "MULTIACTIONBAR1BUTTON6",
["BUTTON3"] = "MULTIACTIONBAR1BUTTON7",
["SHIFT-BUTTON3"] = "MULTIACTIONBAR1BUTTON8",
["CTRL-BUTTON3"] = "MULTIACTIONBAR1BUTTON9",
["§"] = "MULTIACTIONBAR1BUTTON10",
["SHIFT-§"] = "MULTIACTIONBAR1BUTTON11",
["CTRL-§"] = "MULTIACTIONBAR1BUTTON12",
-- Action Bar 3
["Q"] = "MULTIACTIONBAR2BUTTON1",
["E"] = "MULTIACTIONBAR2BUTTON2",
["R"] = "MULTIACTIONBAR2BUTTON3",
["T"] = "MULTIACTIONBAR2BUTTON4",
["F"] = "MULTIACTIONBAR2BUTTON5",
["G"] = "MULTIACTIONBAR2BUTTON6",
["SHIFT-Q"] = "MULTIACTIONBAR2BUTTON7",
["SHIFT-E"] = "MULTIACTIONBAR2BUTTON8",
["SHIFT-R"] = "MULTIACTIONBAR2BUTTON9",
["SHIFT-T"] = "MULTIACTIONBAR2BUTTON10",
["SHIFT-F"] = "MULTIACTIONBAR2BUTTON11",
["SHIFT-G"] = "MULTIACTIONBAR2BUTTON12",
-- Action Bar 4
["S"] = "MULTIACTIONBAR3BUTTON1",
["Z"] = "MULTIACTIONBAR3BUTTON2",
["X"] = "MULTIACTIONBAR3BUTTON3",
["C"] = "MULTIACTIONBAR3BUTTON4",
["V"] = "MULTIACTIONBAR3BUTTON5",
["B"] = "MULTIACTIONBAR3BUTTON6",
["SHIFT-S"] = "MULTIACTIONBAR3BUTTON7",
["SHIFT-Z"] = "MULTIACTIONBAR3BUTTON8",
["SHIFT-X"] = "MULTIACTIONBAR3BUTTON9",
["SHIFT-C"] = "MULTIACTIONBAR3BUTTON10",
["SHIFT-V"] = "MULTIACTIONBAR3BUTTON11",
["SHIFT-B"] = "MULTIACTIONBAR3BUTTON12",
-- Action Bar 5
["CTRL-Q"] = "MULTIACTIONBAR4BUTTON1",
["CTRL-E"] = "MULTIACTIONBAR4BUTTON2",
["CTRL-R"] = "MULTIACTIONBAR4BUTTON3",
["CTRL-T"] = "MULTIACTIONBAR4BUTTON4",
["CTRL-F"] = "MULTIACTIONBAR4BUTTON5",
["CTRL-G"] = "MULTIACTIONBAR4BUTTON6",
["CTRL-1"] = "MULTIACTIONBAR4BUTTON7",
["CTRL-2"] = "MULTIACTIONBAR4BUTTON8",
["CTRL-3"] = "MULTIACTIONBAR4BUTTON9",
["CTRL-4"] = "MULTIACTIONBAR4BUTTON10",
["CTRL-5"] = "MULTIACTIONBAR4BUTTON11",
["CTRL-6"] = "MULTIACTIONBAR4BUTTON12",
2023-10-28 14:52:57 +02:00
}
local cameraBinds = {
-- Remove zoom from mousewheel
["-"] = "CAMERAZOOMOUT",
["+"] = "CAMERAZOOMIN",
2023-11-04 17:37:04 +01:00
["MOUSEWHEELUP"] = "STARTAUTORUN",
["MOUSEWHEELDOWN"] = "FOLLOWTARGET",
}
-- Unsets a binding, if it exists
2023-10-29 11:15:45 +01:00
local function unsetBinding(action)
local key1, key2 = GetBindingKey(action);
if key1 then
SetBinding(key1, nil);
end
if key2 then
SetBinding(key2, nil);
end
end
-- Same as SetBinding, but removes the old binding first
2023-10-29 11:15:45 +01:00
local function setBindingRM(key, action)
unsetBinding(action);
if SetBinding(key, action) then
2023-10-29 14:32:28 +01:00
u.success(key .. " -> " .. action);
2023-10-29 11:15:45 +01:00
else
2023-10-29 14:32:28 +01:00
u.error("Failed to set binding " .. key .. " to " .. action);
2023-10-29 11:15:45 +01:00
end
end
local function applyBindingSet(set)
for key, action in pairs(set) do
2023-10-28 16:46:49 +02:00
setBindingRM(key, action)
end
2023-10-29 14:32:28 +01:00
u.info("Bindings set!")
u.warn("Dont forget to reload your UI.")
2023-10-28 14:52:57 +02:00
end
2023-10-28 19:43:10 +02:00
local function enableBars()
2023-10-28 20:18:13 +02:00
SetActionBarToggles(1, 1, 1, 1);
SHOW_MULTI_ACTIONBAR_1 = 1 --Bottom Left Bar
SHOW_MULTI_ACTIONBAR_2 = 1 --Bottom Right Bar
SHOW_MULTI_ACTIONBAR_3 = 1 --Right Bar
SHOW_MULTI_ACTIONBAR_4 = 1 --Right Bar 2
MultiActionBar_Update();
SetCVar("alwaysShowActionBars", 1);
SetCVar("lockActionBars", 1);
SetCVar("countdownForCooldowns", 1);
2023-10-29 11:15:45 +01:00
SetCVar("cameraDistanceMaxZoomFactor", 2);
SetCVar("instantQuestText", 1);
2023-10-29 15:25:41 +01:00
SetCVar("nameplateShowAll", 1);
SetCVar("nameplateShowEnemies", 1);
SetCVar("nameplateMaxDistance", 35);
SetCVar("enableFloatingCombatText", 1);
2023-10-28 19:43:10 +02:00
end
2023-10-28 16:46:49 +02:00
local function BindsHandler(msg, editbox)
2023-10-29 14:32:28 +01:00
u.guards()
2023-10-28 16:46:49 +02:00
if msg == "" then
applyBindingSet(myBinds)
2023-10-28 19:43:10 +02:00
enableBars()
2023-10-28 16:46:49 +02:00
end
if msg == "camera" then
applyBindingSet(cameraBinds)
end
SaveBindings(1)
2023-10-29 14:32:28 +01:00
u.guards()
2023-10-28 14:52:57 +02:00
end
-- Register the /hello command
SLASH_BINDS1 = "/binds"
2023-10-28 19:43:10 +02:00
SlashCmdList["BINDS"] = BindsHandler