Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
61 changes: 32 additions & 29 deletions LoseControl.lua
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,8 @@ local LCUnitPendingUnitWatchFrames = {}
local LCCombatLockdownDelayFrame = CreateFrame("Frame")
local RefreshPendingUnitWatchState = function() end
local delayFunc_RefreshPendingUnitWatchState = false
local CheckboxTemplate = 'UICheckButtonTemplate'
local settingsCategory
LCCombatLockdownDelayFrame:SetScript("OnEvent", function(self,event)
if event=="PLAYER_REGEN_ENABLED" then
self:UnregisterEvent("PLAYER_REGEN_ENABLED")
Expand Down Expand Up @@ -6381,7 +6383,7 @@ end
subText:SetText(notes)

-- "Unlock" checkbox - allow the frames to be moved
local Unlock = CreateFrame("CheckButton", O.."Unlock", OptionsPanel.container, "OptionsCheckButtonTemplate")
local Unlock = CreateFrame("CheckButton", O.."Unlock", OptionsPanel.container, CheckboxTemplate)
_G[O.."UnlockText"]:SetText(L["Unlock"])
Unlock.nextUnlockLoopTime = 0
function Unlock:LoopFunction()
Expand Down Expand Up @@ -6520,7 +6522,7 @@ function Unlock:OnClick()
end
Unlock:SetScript("OnClick", Unlock.OnClick)

local DisableGetEnemiesBuffsInformation = CreateFrame("CheckButton", O.."DisableGetEnemiesBuffsInformation", OptionsPanel.container, "OptionsCheckButtonTemplate")
local DisableGetEnemiesBuffsInformation = CreateFrame("CheckButton", O.."DisableGetEnemiesBuffsInformation", OptionsPanel.container, CheckboxTemplate)
_G[O.."DisableGetEnemiesBuffsInformationText"]:SetText(L["Disable Get Enemies Buff Information"])
function DisableGetEnemiesBuffsInformation:Check(value)
LoseControlDB.noGetEnemiesBuffsInformation = self:GetChecked()
Expand All @@ -6531,7 +6533,7 @@ DisableGetEnemiesBuffsInformation:SetScript("OnClick", function(self)
DisableGetEnemiesBuffsInformation:Check(self:GetChecked())
end)

local DisableGetExtraDurationInformation = CreateFrame("CheckButton", O.."DisableGetExtraDurationInformation", OptionsPanel.container, "OptionsCheckButtonTemplate")
local DisableGetExtraDurationInformation = CreateFrame("CheckButton", O.."DisableGetExtraDurationInformation", OptionsPanel.container, CheckboxTemplate)
_G[O.."DisableGetExtraDurationInformationText"]:SetText(L["Disable Get Extra Aura Duration Information"])
DisableGetExtraDurationInformation:SetScript("OnClick", function(self)
LoseControlDB.noGetExtraAuraDurationInformation = self:GetChecked()
Expand All @@ -6547,7 +6549,7 @@ DisableGetExtraDurationInformation:SetScript("OnClick", function(self)
end
end)

local DisableBlizzardCooldownCount = CreateFrame("CheckButton", O.."DisableBlizzardCooldownCount", OptionsPanel.container, "OptionsCheckButtonTemplate")
local DisableBlizzardCooldownCount = CreateFrame("CheckButton", O.."DisableBlizzardCooldownCount", OptionsPanel.container, CheckboxTemplate)
_G[O.."DisableBlizzardCooldownCountText"]:SetText(L["Disable Blizzard Countdown"])
function DisableBlizzardCooldownCount:Check(value)
LoseControlDB.noBlizzardCooldownCount = value
Expand All @@ -6562,7 +6564,7 @@ DisableBlizzardCooldownCount:SetScript("OnClick", function(self)
DisableBlizzardCooldownCount:Check(self:GetChecked())
end)

local DisableCooldownCount = CreateFrame("CheckButton", O.."DisableCooldownCount", OptionsPanel.container, "OptionsCheckButtonTemplate")
local DisableCooldownCount = CreateFrame("CheckButton", O.."DisableCooldownCount", OptionsPanel.container, CheckboxTemplate)
_G[O.."DisableCooldownCountText"]:SetText(L["Disable OmniCC Support"])
DisableCooldownCount:SetScript("OnClick", function(self)
LoseControlDB.noCooldownCount = self:GetChecked()
Expand Down Expand Up @@ -6663,7 +6665,8 @@ OptionsPanel.refresh = function() -- This method will run when the Interface Opt
end
end

InterfaceOptions_AddCategory(OptionsPanel)
settingsCategory, _ = _G.Settings.RegisterCanvasLayoutCategory(OptionsPanel, OptionsPanel.name)
_G.Settings.RegisterAddOnCategory(settingsCategory)

-------------------------------------------------------------------------------
-- Create sub-option frames
Expand Down Expand Up @@ -7569,7 +7572,7 @@ for _, v in ipairs({ "player", "pet", "target", "targettarget", "party", "raid",

local DisableInBG
if v == "party" then
DisableInBG = CreateFrame("CheckButton", O..v.."DisableInBG", OptionsPanelFrame.container, "OptionsCheckButtonTemplate")
DisableInBG = CreateFrame("CheckButton", O..v.."DisableInBG", OptionsPanelFrame.container, CheckboxTemplate)
_G[O..v.."DisableInBGText"]:SetText(L["DisableInBG"])
DisableInBG:SetScript("OnClick", function(self)
LoseControlDB.disablePartyInBG = self:GetChecked()
Expand All @@ -7584,7 +7587,7 @@ for _, v in ipairs({ "player", "pet", "target", "targettarget", "party", "raid",
end
end)
elseif v == "raid" then
DisableInBG = CreateFrame("CheckButton", O..v.."DisableInBG", OptionsPanelFrame.container, "OptionsCheckButtonTemplate")
DisableInBG = CreateFrame("CheckButton", O..v.."DisableInBG", OptionsPanelFrame.container, CheckboxTemplate)
_G[O..v.."DisableInBGText"]:SetText(L["DisableInBG"])
DisableInBG:SetScript("OnClick", function(self)
LoseControlDB.disableRaidInBG = self:GetChecked()
Expand All @@ -7602,7 +7605,7 @@ for _, v in ipairs({ "player", "pet", "target", "targettarget", "party", "raid",

local DisableInRaid
if v == "party" then
DisableInRaid = CreateFrame("CheckButton", O..v.."DisableInRaid", OptionsPanelFrame.container, "OptionsCheckButtonTemplate")
DisableInRaid = CreateFrame("CheckButton", O..v.."DisableInRaid", OptionsPanelFrame.container, CheckboxTemplate)
_G[O..v.."DisableInRaidText"]:SetText(L["DisableInRaid"])
DisableInRaid:SetScript("OnClick", function(self)
LoseControlDB.disablePartyInRaid = self:GetChecked()
Expand All @@ -7620,7 +7623,7 @@ for _, v in ipairs({ "player", "pet", "target", "targettarget", "party", "raid",

local ShowNPCInterrupts
if v == "target" or v == "targettarget" or v == "nameplate" then
ShowNPCInterrupts = CreateFrame("CheckButton", O..v.."ShowNPCInterrupts", OptionsPanelFrame.container, "OptionsCheckButtonTemplate")
ShowNPCInterrupts = CreateFrame("CheckButton", O..v.."ShowNPCInterrupts", OptionsPanelFrame.container, CheckboxTemplate)
_G[O..v.."ShowNPCInterruptsText"]:SetText(L["ShowNPCInterrupts"])
ShowNPCInterrupts:SetScript("OnClick", function(self)
if v == "target" then
Expand All @@ -7647,7 +7650,7 @@ for _, v in ipairs({ "player", "pet", "target", "targettarget", "party", "raid",

local DisablePlayerTargetTarget
if v == "targettarget" then
DisablePlayerTargetTarget = CreateFrame("CheckButton", O..v.."DisablePlayerTargetTarget", OptionsPanelFrame.container, "OptionsCheckButtonTemplate")
DisablePlayerTargetTarget = CreateFrame("CheckButton", O..v.."DisablePlayerTargetTarget", OptionsPanelFrame.container, CheckboxTemplate)
_G[O..v.."DisablePlayerTargetTargetText"]:SetText(L["DisablePlayerTargetTarget"])
DisablePlayerTargetTarget:SetScript("OnClick", function(self)
LoseControlDB.disablePlayerTargetTarget = self:GetChecked()
Expand All @@ -7662,7 +7665,7 @@ for _, v in ipairs({ "player", "pet", "target", "targettarget", "party", "raid",

local DisableTargetTargetTarget
if v == "targettarget" then
DisableTargetTargetTarget = CreateFrame("CheckButton", O..v.."DisableTargetTargetTarget", OptionsPanelFrame.container, "OptionsCheckButtonTemplate")
DisableTargetTargetTarget = CreateFrame("CheckButton", O..v.."DisableTargetTargetTarget", OptionsPanelFrame.container, CheckboxTemplate)
_G[O..v.."DisableTargetTargetTargetText"]:SetText(L["DisableTargetTargetTarget"])
DisableTargetTargetTarget:SetScript("OnClick", function(self)
LoseControlDB.disableTargetTargetTarget = self:GetChecked()
Expand All @@ -7677,7 +7680,7 @@ for _, v in ipairs({ "player", "pet", "target", "targettarget", "party", "raid",

local DisablePlayerTargetPlayerTargetTarget
if v == "targettarget" then
DisablePlayerTargetPlayerTargetTarget = CreateFrame("CheckButton", O..v.."DisablePlayerTargetPlayerTargetTarget", OptionsPanelFrame.container, "OptionsCheckButtonTemplate")
DisablePlayerTargetPlayerTargetTarget = CreateFrame("CheckButton", O..v.."DisablePlayerTargetPlayerTargetTarget", OptionsPanelFrame.container, CheckboxTemplate)
_G[O..v.."DisablePlayerTargetPlayerTargetTargetText"]:SetText(L["DisablePlayerTargetPlayerTargetTarget"])
DisablePlayerTargetPlayerTargetTarget:SetScript("OnClick", function(self)
LoseControlDB.disablePlayerTargetPlayerTargetTarget = self:GetChecked()
Expand All @@ -7692,7 +7695,7 @@ for _, v in ipairs({ "player", "pet", "target", "targettarget", "party", "raid",

local DisableTargetDeadTargetTarget
if v == "targettarget" then
DisableTargetDeadTargetTarget = CreateFrame("CheckButton", O..v.."DisableTargetDeadTargetTarget", OptionsPanelFrame.container, "OptionsCheckButtonTemplate")
DisableTargetDeadTargetTarget = CreateFrame("CheckButton", O..v.."DisableTargetDeadTargetTarget", OptionsPanelFrame.container, CheckboxTemplate)
_G[O..v.."DisableTargetDeadTargetTargetText"]:SetText(L["DisableTargetDeadTargetTarget"])
DisableTargetDeadTargetTarget:SetScript("OnClick", function(self)
LoseControlDB.disableTargetDeadTargetTarget = self:GetChecked()
Expand Down Expand Up @@ -8082,7 +8085,7 @@ for _, v in ipairs({ "player", "pet", "target", "targettarget", "party", "raid",

local catListEnChecksButtons = { "PvE", "Immune", "ImmuneSpell", "ImmunePhysical", "CC", "Silence", "Disarm", "Root", "Snare", "Other" }
local CategoriesCheckButtons = { }
local FriendlyInterrupt = CreateFrame("CheckButton", O..v.."FriendlyInterrupt", OptionsPanelFrame.container, "OptionsCheckButtonTemplate")
local FriendlyInterrupt = CreateFrame("CheckButton", O..v.."FriendlyInterrupt", OptionsPanelFrame.container, CheckboxTemplate)
FriendlyInterrupt:SetHitRectInsets(0, -36, 0, 0)
_G[O..v.."FriendlyInterruptText"]:SetText(L["CatFriendly"])
FriendlyInterrupt:SetScript("OnClick", function(self)
Expand All @@ -8104,7 +8107,7 @@ for _, v in ipairs({ "player", "pet", "target", "targettarget", "party", "raid",
end)
tblinsert(CategoriesCheckButtons, { frame = FriendlyInterrupt, auraType = "interrupt", reaction = "friendly", categoryType = "Interrupt", anchorPos = CategoryEnabledInterruptLabel, xPos = 140, yPos = 5 })
if v == "target" or v == "targettarget" or v == "nameplate" then
local EnemyInterrupt = CreateFrame("CheckButton", O..v.."EnemyInterrupt", OptionsPanelFrame.container, "OptionsCheckButtonTemplate")
local EnemyInterrupt = CreateFrame("CheckButton", O..v.."EnemyInterrupt", OptionsPanelFrame.container, CheckboxTemplate)
EnemyInterrupt:SetHitRectInsets(0, -36, 0, 0)
_G[O..v.."EnemyInterruptText"]:SetText(L["CatEnemy"])
EnemyInterrupt:SetScript("OnClick", function(self)
Expand All @@ -8123,7 +8126,7 @@ for _, v in ipairs({ "player", "pet", "target", "targettarget", "party", "raid",
tblinsert(CategoriesCheckButtons, { frame = EnemyInterrupt, auraType = "interrupt", reaction = "enemy", categoryType = "Interrupt", anchorPos = CategoryEnabledInterruptLabel, xPos = 270, yPos = 5 })
end
for _, cat in pairs(catListEnChecksButtons) do
local FriendlyBuff = CreateFrame("CheckButton", O..v.."Friendly"..cat.."Buff", OptionsPanelFrame.container, "OptionsCheckButtonTemplate")
local FriendlyBuff = CreateFrame("CheckButton", O..v.."Friendly"..cat.."Buff", OptionsPanelFrame.container, CheckboxTemplate)
FriendlyBuff:SetHitRectInsets(0, -36, 0, 0)
_G[O..v.."Friendly"..cat.."BuffText"]:SetText(L["CatFriendlyBuff"])
FriendlyBuff:SetScript("OnClick", function(self)
Expand All @@ -8144,7 +8147,7 @@ for _, v in ipairs({ "player", "pet", "target", "targettarget", "party", "raid",
end
end)
tblinsert(CategoriesCheckButtons, { frame = FriendlyBuff, auraType = "buff", reaction = "friendly", categoryType = cat, anchorPos = CategoriesLabels[cat], xPos = 140, yPos = 5 })
local FriendlyDebuff = CreateFrame("CheckButton", O..v.."Friendly"..cat.."Debuff", OptionsPanelFrame.container, "OptionsCheckButtonTemplate")
local FriendlyDebuff = CreateFrame("CheckButton", O..v.."Friendly"..cat.."Debuff", OptionsPanelFrame.container, CheckboxTemplate)
FriendlyDebuff:SetHitRectInsets(0, -36, 0, 0)
_G[O..v.."Friendly"..cat.."DebuffText"]:SetText(L["CatFriendlyDebuff"])
FriendlyDebuff:SetScript("OnClick", function(self)
Expand All @@ -8166,7 +8169,7 @@ for _, v in ipairs({ "player", "pet", "target", "targettarget", "party", "raid",
end)
tblinsert(CategoriesCheckButtons, { frame = FriendlyDebuff, auraType = "debuff", reaction = "friendly", categoryType = cat, anchorPos = CategoriesLabels[cat], xPos = 205, yPos = 5 })
if v == "target" or v == "targettarget" or v == "nameplate" then
local EnemyBuff = CreateFrame("CheckButton", O..v.."Enemy"..cat.."Buff", OptionsPanelFrame.container, "OptionsCheckButtonTemplate")
local EnemyBuff = CreateFrame("CheckButton", O..v.."Enemy"..cat.."Buff", OptionsPanelFrame.container, CheckboxTemplate)
EnemyBuff:SetHitRectInsets(0, -36, 0, 0)
_G[O..v.."Enemy"..cat.."BuffText"]:SetText(L["CatEnemyBuff"])
EnemyBuff:SetScript("OnClick", function(self)
Expand All @@ -8185,7 +8188,7 @@ for _, v in ipairs({ "player", "pet", "target", "targettarget", "party", "raid",
tblinsert(CategoriesCheckButtons, { frame = EnemyBuff, auraType = "buff", reaction = "enemy", categoryType = cat, anchorPos = CategoriesLabels[cat], xPos = 270, yPos = 5 })
end
if v == "target" or v == "targettarget" or v == "nameplate" then
local EnemyDebuff = CreateFrame("CheckButton", O..v.."Enemy"..cat.."Debuff", OptionsPanelFrame.container, "OptionsCheckButtonTemplate")
local EnemyDebuff = CreateFrame("CheckButton", O..v.."Enemy"..cat.."Debuff", OptionsPanelFrame.container, CheckboxTemplate)
EnemyDebuff:SetHitRectInsets(0, -36, 0, 0)
_G[O..v.."Enemy"..cat.."DebuffText"]:SetText(L["CatEnemyDebuff"])
EnemyDebuff:SetScript("OnClick", function(self)
Expand All @@ -8208,7 +8211,7 @@ for _, v in ipairs({ "player", "pet", "target", "targettarget", "party", "raid",
local CategoriesCheckButtonsPlayer2
if (v == "player") then
CategoriesCheckButtonsPlayer2 = { }
local FriendlyInterruptPlayer2 = CreateFrame("CheckButton", O..v.."FriendlyInterruptPlayer2", OptionsPanelFrame.container, "OptionsCheckButtonTemplate")
local FriendlyInterruptPlayer2 = CreateFrame("CheckButton", O..v.."FriendlyInterruptPlayer2", OptionsPanelFrame.container, CheckboxTemplate)
FriendlyInterruptPlayer2:SetHitRectInsets(0, -36, 0, 0)
_G[O..v.."FriendlyInterruptPlayer2Text"]:SetText(L["CatFriendly"].."|cfff28614(Icon2)|r")
FriendlyInterruptPlayer2:SetScript("OnClick", function(self)
Expand All @@ -8220,7 +8223,7 @@ for _, v in ipairs({ "player", "pet", "target", "targettarget", "party", "raid",
end)
tblinsert(CategoriesCheckButtonsPlayer2, { frame = FriendlyInterruptPlayer2, auraType = "interrupt", reaction = "friendly", categoryType = "Interrupt", anchorPos = CategoryEnabledInterruptLabel, xPos = 310, yPos = 5 })
for _, cat in pairs(catListEnChecksButtons) do
local FriendlyBuffPlayer2 = CreateFrame("CheckButton", O..v.."Friendly"..cat.."BuffPlayer2", OptionsPanelFrame.container, "OptionsCheckButtonTemplate")
local FriendlyBuffPlayer2 = CreateFrame("CheckButton", O..v.."Friendly"..cat.."BuffPlayer2", OptionsPanelFrame.container, CheckboxTemplate)
FriendlyBuffPlayer2:SetHitRectInsets(0, -36, 0, 0)
_G[O..v.."Friendly"..cat.."BuffPlayer2Text"]:SetText(L["CatFriendlyBuff"].."|cfff28614(Icon2)|r")
FriendlyBuffPlayer2:SetScript("OnClick", function(self)
Expand All @@ -8231,7 +8234,7 @@ for _, v in ipairs({ "player", "pet", "target", "targettarget", "party", "raid",
end
end)
tblinsert(CategoriesCheckButtonsPlayer2, { frame = FriendlyBuffPlayer2, auraType = "buff", reaction = "friendly", categoryType = cat, anchorPos = CategoriesLabels[cat], xPos = 310, yPos = 5 })
local FriendlyDebuffPlayer2 = CreateFrame("CheckButton", O..v.."Friendly"..cat.."DebuffPlayer2", OptionsPanelFrame.container, "OptionsCheckButtonTemplate")
local FriendlyDebuffPlayer2 = CreateFrame("CheckButton", O..v.."Friendly"..cat.."DebuffPlayer2", OptionsPanelFrame.container, CheckboxTemplate)
FriendlyDebuffPlayer2:SetHitRectInsets(0, -36, 0, 0)
_G[O..v.."Friendly"..cat.."DebuffPlayer2Text"]:SetText(L["CatFriendlyDebuff"].."|cfff28614(Icon2)|r")
FriendlyDebuffPlayer2:SetScript("OnClick", function(self)
Expand All @@ -8247,7 +8250,7 @@ for _, v in ipairs({ "player", "pet", "target", "targettarget", "party", "raid",

local DuplicatePlayerPortrait
if v == "player" then
DuplicatePlayerPortrait = CreateFrame("CheckButton", O..v.."DuplicatePlayerPortrait", OptionsPanelFrame.container, "OptionsCheckButtonTemplate")
DuplicatePlayerPortrait = CreateFrame("CheckButton", O..v.."DuplicatePlayerPortrait", OptionsPanelFrame.container, CheckboxTemplate)
_G[O..v.."DuplicatePlayerPortraitText"]:SetText(L["DuplicatePlayerPortrait"])
function DuplicatePlayerPortrait:Check(value)
LoseControlDB.duplicatePlayerPortrait = self:GetChecked()
Expand Down Expand Up @@ -8396,7 +8399,7 @@ for _, v in ipairs({ "player", "pet", "target", "targettarget", "party", "raid",

local EnabledPartyPlayerIcon
if v == "party" then
EnabledPartyPlayerIcon = CreateFrame("CheckButton", O..v.."EnabledPartyPlayerIcon", OptionsPanelFrame.container, "OptionsCheckButtonTemplate")
EnabledPartyPlayerIcon = CreateFrame("CheckButton", O..v.."EnabledPartyPlayerIcon", OptionsPanelFrame.container, CheckboxTemplate)
_G[O..v.."EnabledPartyPlayerIconText"]:SetText(L["EnabledPartyPlayerIcon"])
function EnabledPartyPlayerIcon:Check(value)
local enabled = self:GetChecked()
Expand Down Expand Up @@ -8601,7 +8604,7 @@ for _, v in ipairs({ "player", "pet", "target", "targettarget", "party", "raid",
if AnchorFrameStrataDropDown then UIDropDownMenu_DisableDropDown(AnchorFrameStrataDropDown) end
end

local Enabled = CreateFrame("CheckButton", O..v.."Enabled", OptionsPanelFrame.container, "OptionsCheckButtonTemplate")
local Enabled = CreateFrame("CheckButton", O..v.."Enabled", OptionsPanelFrame.container, CheckboxTemplate)
_G[O..v.."EnabledText"]:SetText(L["Enabled"])
Enabled:SetScript("OnClick", function(self)
local enabled = self:GetChecked()
Expand Down Expand Up @@ -9023,7 +9026,8 @@ for _, v in ipairs({ "player", "pet", "target", "targettarget", "party", "raid",
UIDropDownMenu_SetWidth(AnchorFrameStrataDropDown, 140)
end

InterfaceOptions_AddCategory(OptionsPanelFrame)
local category, _ = _G.Settings.RegisterCanvasLayoutCategory(OptionsPanelFrame, OptionsPanelFrame.name)
_G.Settings.RegisterAddOnCategory(category)
end

-------------------------------------------------------------------------------
Expand Down Expand Up @@ -9309,7 +9313,6 @@ SlashCmdList[addonName] = function(cmd)
SlashCmd[args[1]](unpack(args))
else
print(addonName, ": Type \"/lc help\" for more options.")
InterfaceOptionsFrame_OpenToCategory(OptionsPanel)
InterfaceOptionsFrame_OpenToCategory(OptionsPanel)
_G.Settings.OpenToCategory(settingsCategory)
end
end