Compare commits
	
		
			6 Commits
		
	
	
		
			v2.23-Rele
			...
			v2.25-Rele
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 
						 | 
					6be69bc51c | ||
| 
						 | 
					5f8807a879 | ||
| 
						 | 
					c122e24054 | ||
| 
						 | 
					47bc4d46f4 | ||
| 
						 | 
					cacd83479c | ||
| 
						 | 
					117888cdb0 | 
							
								
								
									
										1
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							@@ -6,5 +6,6 @@ BuffLib
 | 
			
		||||
Ace-Libs
 | 
			
		||||
Images_Raw
 | 
			
		||||
Gladdy_old
 | 
			
		||||
DoNotCommit
 | 
			
		||||
untracked
 | 
			
		||||
Gladdy_TW
 | 
			
		||||
							
								
								
									
										56
									
								
								Gladdy.lua
									
									
									
									
									
								
							
							
						
						
									
										56
									
								
								Gladdy.lua
									
									
									
									
									
								
							@@ -13,7 +13,6 @@ local CreateFrame = CreateFrame
 | 
			
		||||
local DEFAULT_CHAT_FRAME = DEFAULT_CHAT_FRAME
 | 
			
		||||
local IsAddOnLoaded = IsAddOnLoaded
 | 
			
		||||
local GetBattlefieldStatus = GetBattlefieldStatus
 | 
			
		||||
local IsActiveBattlefieldArena = IsActiveBattlefieldArena
 | 
			
		||||
local IsInInstance = IsInInstance
 | 
			
		||||
local GetNumArenaOpponents = GetNumArenaOpponents
 | 
			
		||||
local RELEASE_TYPES = { alpha = "Alpha", beta = "Beta", release = "Release"}
 | 
			
		||||
@@ -27,11 +26,11 @@ local LibStub = LibStub
 | 
			
		||||
 | 
			
		||||
---------------------------
 | 
			
		||||
 | 
			
		||||
local MAJOR, MINOR = "Gladdy", 11
 | 
			
		||||
local MAJOR, MINOR = "Gladdy", 13
 | 
			
		||||
local Gladdy = LibStub:NewLibrary(MAJOR, MINOR)
 | 
			
		||||
local L
 | 
			
		||||
Gladdy.version_major_num = 2
 | 
			
		||||
Gladdy.version_minor_num = 0.23
 | 
			
		||||
Gladdy.version_minor_num = 0.25
 | 
			
		||||
Gladdy.version_num = Gladdy.version_major_num + Gladdy.version_minor_num
 | 
			
		||||
Gladdy.version_releaseType = RELEASE_TYPES.release
 | 
			
		||||
Gladdy.version = PREFIX .. string.format("%.2f", Gladdy.version_num) .. "-" .. Gladdy.version_releaseType
 | 
			
		||||
@@ -433,23 +432,22 @@ end
 | 
			
		||||
function Gladdy:UPDATE_BATTLEFIELD_STATUS(_, index)
 | 
			
		||||
    local status, mapName, instanceID, levelRangeMin, levelRangeMax, teamSize, isRankedArena, suspendedQueue, bool, queueType = GetBattlefieldStatus(index)
 | 
			
		||||
    local instanceType = select(2, IsInInstance())
 | 
			
		||||
    Gladdy:Debug("INFO", "UPDATE_BATTLEFIELD_STATUS", instanceType, status, teamSize)
 | 
			
		||||
    self:Debug("INFO", "UPDATE_BATTLEFIELD_STATUS", instanceType, status, teamSize)
 | 
			
		||||
    if ((instanceType == "arena" or GetNumArenaOpponents() > 0) and status == "active" and teamSize > 0) then
 | 
			
		||||
        self.curBracket = teamSize
 | 
			
		||||
        self:JoinedArena()
 | 
			
		||||
    elseif status == "active" then
 | 
			
		||||
        if self.db.hideBlizzard == "always" then
 | 
			
		||||
            self:BlizzArenaSetAlpha(0)
 | 
			
		||||
        else
 | 
			
		||||
            self:BlizzArenaSetAlpha(1)
 | 
			
		||||
        end
 | 
			
		||||
    end
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
function Gladdy:PLAYER_REGEN_ENABLED()
 | 
			
		||||
    if self.showFrame then
 | 
			
		||||
        self:UpdateFrame()
 | 
			
		||||
        if self.startTest then
 | 
			
		||||
            self:Test()
 | 
			
		||||
            self.startTest = nil
 | 
			
		||||
        end
 | 
			
		||||
        self.frame:Show()
 | 
			
		||||
        self:SendMessage("JOINED_ARENA")
 | 
			
		||||
        self.showFrame = nil
 | 
			
		||||
        self:InitFrames()
 | 
			
		||||
    end
 | 
			
		||||
    if self.hideFrame then
 | 
			
		||||
        self:Reset()
 | 
			
		||||
@@ -481,8 +479,8 @@ function Gladdy:Reset()
 | 
			
		||||
    for unit in pairs(self.buttons) do
 | 
			
		||||
        self:ResetUnit(unit)
 | 
			
		||||
    end
 | 
			
		||||
    if Gladdy.db.hideBlizzard == "never" or Gladdy.db.hideBlizzard == "arena" then
 | 
			
		||||
        Gladdy:BlizzArenaSetAlpha(1)
 | 
			
		||||
    if self.db.hideBlizzard == "never" or self.db.hideBlizzard == "arena" then
 | 
			
		||||
        self:BlizzArenaSetAlpha(1)
 | 
			
		||||
    end
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
@@ -525,6 +523,16 @@ end
 | 
			
		||||
---------------------------
 | 
			
		||||
 | 
			
		||||
function Gladdy:JoinedArena()
 | 
			
		||||
    if InCombatLockdown() then
 | 
			
		||||
        self:Print("Gladdy frames show as soon as you leave combat")
 | 
			
		||||
        self.showFrame = true
 | 
			
		||||
    else
 | 
			
		||||
        self:InitFrames()
 | 
			
		||||
    end
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
function Gladdy:InitFrames()
 | 
			
		||||
    self.showFrame = nil
 | 
			
		||||
    if not self.curBracket then
 | 
			
		||||
        self.curBracket = 2
 | 
			
		||||
    end
 | 
			
		||||
@@ -535,19 +543,21 @@ function Gladdy:JoinedArena()
 | 
			
		||||
        end
 | 
			
		||||
    end
 | 
			
		||||
 | 
			
		||||
    if InCombatLockdown() then
 | 
			
		||||
        Gladdy:Print("Gladdy frames show as soon as you leave combat")
 | 
			
		||||
        self.showFrame = true
 | 
			
		||||
    else
 | 
			
		||||
        self:UpdateFrame()
 | 
			
		||||
        self.frame:Show()
 | 
			
		||||
        self:SendMessage("JOINED_ARENA")
 | 
			
		||||
    self:UpdateFrame()
 | 
			
		||||
    if self.startTest then
 | 
			
		||||
        self:Test()
 | 
			
		||||
        self.startTest = nil
 | 
			
		||||
    end
 | 
			
		||||
    self.frame:Show()
 | 
			
		||||
    self:SendMessage("JOINED_ARENA")
 | 
			
		||||
 | 
			
		||||
    for i=1, self.curBracket do
 | 
			
		||||
        self.buttons["arena" .. i]:SetAlpha(1)
 | 
			
		||||
    end
 | 
			
		||||
    if Gladdy.db.hideBlizzard == "arena" or Gladdy.db.hideBlizzard == "always" then
 | 
			
		||||
        Gladdy:BlizzArenaSetAlpha(0)
 | 
			
		||||
    if self.db.hideBlizzard == "arena" or self.db.hideBlizzard == "always" then
 | 
			
		||||
        self:BlizzArenaSetAlpha(0)
 | 
			
		||||
    else
 | 
			
		||||
        self:BlizzArenaSetAlpha(1)
 | 
			
		||||
    end
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,5 +1,5 @@
 | 
			
		||||
## Title: Gladdy |cFFFF0000 game client not supported|r
 | 
			
		||||
## Version: 2.23-Release
 | 
			
		||||
## Version: 2.25-Release
 | 
			
		||||
## Notes: The most powerful arena AddOn for WoW Classic TBC/WotLK
 | 
			
		||||
## Author: XiconQoo, DnB_Junkee, Knall
 | 
			
		||||
## X-Email: contact me on discord Knall#1751
 | 
			
		||||
 
 | 
			
		||||
@@ -1,6 +1,6 @@
 | 
			
		||||
## Interface: 20504
 | 
			
		||||
## Title: Gladdy - TBC
 | 
			
		||||
## Version: 2.23-Release
 | 
			
		||||
## Version: 2.25-Release
 | 
			
		||||
## Notes: The most powerful arena AddOn for WoW 2.5.4
 | 
			
		||||
## Author: XiconQoo, DnB_Junkee, Knall
 | 
			
		||||
## X-Email: contact me on discord Knall#1751
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
## Interface: 30401
 | 
			
		||||
## Interface: 30402
 | 
			
		||||
## Title: Gladdy - WotLK
 | 
			
		||||
## Version: 2.23-Release
 | 
			
		||||
## Notes: The most powerful arena AddOn for WoW 3.4.0
 | 
			
		||||
## Version: 2.25-Release
 | 
			
		||||
## Notes: The most powerful arena AddOn for WoW 3.4.2
 | 
			
		||||
## Author: XiconQoo, DnB_Junkee, Knall
 | 
			
		||||
## X-Email: contact me on discord Knall#1751
 | 
			
		||||
## X-Curse-Project-ID: 482332
 | 
			
		||||
 
 | 
			
		||||
@@ -1,13 +1,13 @@
 | 
			
		||||
--- AceConfigDialog-3.0 generates AceGUI-3.0 based windows based on option tables.
 | 
			
		||||
-- @class file
 | 
			
		||||
-- @name AceConfigDialog-3.0
 | 
			
		||||
-- @release $Id: AceConfigDialog-3.0.lua 1292 2022-09-29 08:00:11Z nevcairiel $
 | 
			
		||||
-- @release $Id: AceConfigDialog-3.0.lua 1296 2022-11-04 18:50:10Z nevcairiel $
 | 
			
		||||
 | 
			
		||||
local LibStub = LibStub
 | 
			
		||||
local gui = LibStub("AceGUI-3.0")
 | 
			
		||||
local reg = LibStub("AceConfigRegistry-3.0")
 | 
			
		||||
 | 
			
		||||
local MAJOR, MINOR = "AceConfigDialog-3.0", 85
 | 
			
		||||
local MAJOR, MINOR = "AceConfigDialog-3.0", 86
 | 
			
		||||
local AceConfigDialog, oldminor = LibStub:NewLibrary(MAJOR, MINOR)
 | 
			
		||||
 | 
			
		||||
if not AceConfigDialog then return end
 | 
			
		||||
@@ -147,6 +147,7 @@ local stringIsLiteral = {
 | 
			
		||||
	width = true,
 | 
			
		||||
	image = true,
 | 
			
		||||
	fontSize = true,
 | 
			
		||||
	tooltipHyperlink = true
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
--Is Never a function or method
 | 
			
		||||
@@ -501,6 +502,14 @@ local function OptionOnMouseOver(widget, event)
 | 
			
		||||
	local tooltip = AceConfigDialog.tooltip
 | 
			
		||||
 | 
			
		||||
	tooltip:SetOwner(widget.frame, "ANCHOR_TOPRIGHT")
 | 
			
		||||
 | 
			
		||||
	local tooltipHyperlink = GetOptionsMemberValue("tooltipHyperlink", opt, options, path, appName)
 | 
			
		||||
	if tooltipHyperlink then
 | 
			
		||||
		tooltip:SetHyperlink(tooltipHyperlink)
 | 
			
		||||
		tooltip:Show()
 | 
			
		||||
		return
 | 
			
		||||
	end
 | 
			
		||||
 | 
			
		||||
	local name = GetOptionsMemberValue("name", opt, options, path, appName)
 | 
			
		||||
	local desc = GetOptionsMemberValue("desc", opt, options, path, appName)
 | 
			
		||||
	local usage = GetOptionsMemberValue("usage", opt, options, path, appName)
 | 
			
		||||
 
 | 
			
		||||
@@ -8,10 +8,10 @@
 | 
			
		||||
-- :IterateOptionsTables() (and :GetOptionsTable() if only given one argument) return a function reference that the requesting config handling addon must call with valid "uiType", "uiName".
 | 
			
		||||
-- @class file
 | 
			
		||||
-- @name AceConfigRegistry-3.0
 | 
			
		||||
-- @release $Id: AceConfigRegistry-3.0.lua 1207 2019-06-23 12:08:33Z nevcairiel $
 | 
			
		||||
-- @release $Id: AceConfigRegistry-3.0.lua 1296 2022-11-04 18:50:10Z nevcairiel $
 | 
			
		||||
local CallbackHandler = LibStub("CallbackHandler-1.0")
 | 
			
		||||
 | 
			
		||||
local MAJOR, MINOR = "AceConfigRegistry-3.0", 20
 | 
			
		||||
local MAJOR, MINOR = "AceConfigRegistry-3.0", 21
 | 
			
		||||
local AceConfigRegistry = LibStub:NewLibrary(MAJOR, MINOR)
 | 
			
		||||
 | 
			
		||||
if not AceConfigRegistry then return end
 | 
			
		||||
@@ -83,6 +83,7 @@ local basekeys={
 | 
			
		||||
		dialogHidden=optmethodbool,
 | 
			
		||||
		dropdownHidden=optmethodbool,
 | 
			
		||||
	cmdHidden=optmethodbool,
 | 
			
		||||
	tooltipHyperlink=optstringfunc,
 | 
			
		||||
	icon=optstringnumberfunc,
 | 
			
		||||
	iconCoords=optmethodtable,
 | 
			
		||||
	handler=opttable,
 | 
			
		||||
 
 | 
			
		||||
@@ -40,8 +40,8 @@
 | 
			
		||||
-- end
 | 
			
		||||
-- @class file
 | 
			
		||||
-- @name AceDB-3.0.lua
 | 
			
		||||
-- @release $Id: AceDB-3.0.lua 1284 2022-09-25 09:15:30Z nevcairiel $
 | 
			
		||||
local ACEDB_MAJOR, ACEDB_MINOR = "AceDB-3.0", 27
 | 
			
		||||
-- @release $Id: AceDB-3.0.lua 1306 2023-06-23 14:55:09Z nevcairiel $
 | 
			
		||||
local ACEDB_MAJOR, ACEDB_MINOR = "AceDB-3.0", 28
 | 
			
		||||
local AceDB = LibStub:NewLibrary(ACEDB_MAJOR, ACEDB_MINOR)
 | 
			
		||||
 | 
			
		||||
if not AceDB then return end -- No upgrade needed
 | 
			
		||||
@@ -260,7 +260,7 @@ local factionrealmKey = factionKey .. " - " .. realmKey
 | 
			
		||||
local localeKey = GetLocale():lower()
 | 
			
		||||
 | 
			
		||||
local regionTable = { "US", "KR", "EU", "TW", "CN" }
 | 
			
		||||
local regionKey = regionTable[GetCurrentRegion()]
 | 
			
		||||
local regionKey = regionTable[GetCurrentRegion()] or GetCurrentRegionName() or "TR"
 | 
			
		||||
local factionrealmregionKey = factionrealmKey .. " - " .. regionKey
 | 
			
		||||
 | 
			
		||||
-- Actual database initialization function
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
--- AceDBOptions-3.0 provides a universal AceConfig options screen for managing AceDB-3.0 profiles.
 | 
			
		||||
-- @class file
 | 
			
		||||
-- @name AceDBOptions-3.0
 | 
			
		||||
-- @release $Id: AceDBOptions-3.0.lua 1284 2022-09-25 09:15:30Z nevcairiel $
 | 
			
		||||
-- @release $Id: AceDBOptions-3.0.lua 1304 2023-05-19 19:50:10Z nevcairiel $
 | 
			
		||||
local ACEDBO_MAJOR, ACEDBO_MINOR = "AceDBOptions-3.0", 15
 | 
			
		||||
local AceDBOptions = LibStub:NewLibrary(ACEDBO_MAJOR, ACEDBO_MINOR)
 | 
			
		||||
 | 
			
		||||
@@ -84,25 +84,25 @@ elseif LOCALE == "frFR" then
 | 
			
		||||
	L["reset_desc"] = "Réinitialise le profil actuel au cas où votre configuration est corrompue ou si vous voulez tout simplement faire table rase."
 | 
			
		||||
	L["reset_sub"] = "Réinitialise le profil actuel avec les paramètres par défaut."
 | 
			
		||||
elseif LOCALE == "koKR" then
 | 
			
		||||
	L["choose"] = "저장 중인 프로필"
 | 
			
		||||
	L["choose_desc"] = "입력창에 새로운 이름을 입력하거나 저장 중인 프로필 중 하나를 선택하여 새로운 프로필을 만들 수 있습니다."
 | 
			
		||||
	L["choose"] = "기존 프로필"
 | 
			
		||||
	L["choose_desc"] = "편집 상자에 이름을 입력하여 새로운 프로필을 만들거나 이미 존재하는 프로필 중 하나를 선택할 수 있습니다."
 | 
			
		||||
	L["choose_sub"] = "현재 이용할 수 있는 프로필 중 하나를 선택합니다."
 | 
			
		||||
	L["copy"] = "복사해오기"
 | 
			
		||||
	L["copy_desc"] = "현재 사용 중인 프로필에 선택한 프로필의 설정을 복사합니다."
 | 
			
		||||
	L["copy"] = "복사해 올 프로필"
 | 
			
		||||
	L["copy_desc"] = "기존 프로필의 설정을 현재 활성화된 프로필로 복사합니다."
 | 
			
		||||
	L["current"] = "현재 프로필:"
 | 
			
		||||
	L["default"] = "기본값"
 | 
			
		||||
	L["delete"] = "프로필 삭제"
 | 
			
		||||
	L["delete_confirm"] = "정말로 선택한 프로필을 삭제할까요?"
 | 
			
		||||
	L["delete_desc"] = "저장 공간 절약과 SavedVariables 파일의 정리를 위해 데이터베이스에서 사용하지 않는 프로필을 삭제하세요."
 | 
			
		||||
	L["delete_sub"] = "데이터베이스의 프로필을 삭제합니다."
 | 
			
		||||
	L["intro"] = "활성 데이터베이스 프로필을 변경할 수 있고, 각 캐릭터 별로 다른 설정을 할 수 있습니다."
 | 
			
		||||
	L["delete_confirm"] = "선택한 프로필을 삭제하시겠습니까?"
 | 
			
		||||
	L["delete_desc"] = "데이터베이스에서 기존 프로필과 사용하지 않는 프로필을 삭제하여 공간을 절약하고 SavedVariables 파일을 정리합니다."
 | 
			
		||||
	L["delete_sub"] = "데이터베이스에서 프로필을 삭제합니다."
 | 
			
		||||
	L["intro"] = "활성 데이터베이스 프로필을 변경할 수 있으며, 모든 캐릭터마다 서로 다른 설정을 지정할 수 있습니다."
 | 
			
		||||
	L["new"] = "새로운 프로필"
 | 
			
		||||
	L["new_sub"] = "새로운 프로필을 만듭니다."
 | 
			
		||||
	L["new_sub"] = "비어 있는 프로필을 새로 만듭니다."
 | 
			
		||||
	L["profiles"] = "프로필"
 | 
			
		||||
	L["profiles_sub"] = "프로필 관리"
 | 
			
		||||
	L["reset"] = "프로필 초기화"
 | 
			
		||||
	L["reset_desc"] = "설정이 깨졌거나 처음부터 다시 설정을 원하는 경우, 현재 프로필을 기본값으로 초기화하세요."
 | 
			
		||||
	L["reset_sub"] = "현재 프로필을 기본값으로 초기화합니다"
 | 
			
		||||
	L["reset"] = "프로필 재설정"
 | 
			
		||||
	L["reset_desc"] = "구성이 손상되었거나 처음부터 다시 시작하고 싶은 경우 현재 프로필을 기본값으로 재설정하세요."
 | 
			
		||||
	L["reset_sub"] = "현재 프로필을 기본값으로 재설정합니다"
 | 
			
		||||
elseif LOCALE == "esES" or LOCALE == "esMX" then
 | 
			
		||||
	L["choose"] = "Perfiles existentes"
 | 
			
		||||
	L["choose_desc"] = "Puedes crear un nuevo perfil introduciendo un nombre en el recuadro o puedes seleccionar un perfil de los ya existentes."
 | 
			
		||||
@@ -166,31 +166,31 @@ elseif LOCALE == "zhCN" then
 | 
			
		||||
elseif LOCALE == "ruRU" then
 | 
			
		||||
	L["choose"] = "Существующие профили"
 | 
			
		||||
	L["choose_desc"] = "Вы можете создать новый профиль, введя название в поле ввода, или выбрать один из уже существующих профилей."
 | 
			
		||||
	L["choose_sub"] = "Выбор одиного из уже доступных профилей"
 | 
			
		||||
	L["choose_sub"] = "Выбор одного из уже доступных профилей."
 | 
			
		||||
	L["copy"] = "Скопировать из"
 | 
			
		||||
	L["copy_desc"] = "Скопировать настройки из выбранного профиля в активный."
 | 
			
		||||
	L["copy_desc"] = "Копирование настроек из выбранного профиля в активный."
 | 
			
		||||
	L["current"] = "Текущий профиль:"
 | 
			
		||||
	L["default"] = "По умолчанию"
 | 
			
		||||
	L["delete"] = "Удалить профиль"
 | 
			
		||||
	L["delete_confirm"] = "Вы уверены, что вы хотите удалить выбранный профиль?"
 | 
			
		||||
	L["delete_desc"] = "Удалить существующий и неиспользуемый профиль из БД для сохранения места, и очистить SavedVariables файл."
 | 
			
		||||
	L["delete_sub"] = "Удаление профиля из БД"
 | 
			
		||||
	L["intro"] = "Изменяя активный профиль, вы можете задать различные настройки модификаций для каждого персонажа."
 | 
			
		||||
	L["delete_confirm"] = "Вы уверены, что хотите удалить выбранный профиль?"
 | 
			
		||||
	L["delete_desc"] = "Удаление существующего и неиспользуемого профиля из базы данных для сохранения места, и очистка файла SavedVariables."
 | 
			
		||||
	L["delete_sub"] = "Удаление профиля из базы данных."
 | 
			
		||||
	L["intro"] = "Изменяя активный профиль, Вы можете задать разные настройки для каждого персонажа."
 | 
			
		||||
	L["new"] = "Новый"
 | 
			
		||||
	L["new_sub"] = "Создать новый чистый профиль"
 | 
			
		||||
	L["new_sub"] = "Создание нового чистого профиля."
 | 
			
		||||
	L["profiles"] = "Профили"
 | 
			
		||||
	L["profiles_sub"] = "Управление профилями"
 | 
			
		||||
	L["reset"] = "Сброс профиля"
 | 
			
		||||
	L["reset_desc"] = "Сбросить текущий профиль к стандартным настройкам, если ваша конфигурация испорчена или вы хотите настроить всё заново."
 | 
			
		||||
	L["reset"] = "Сбросить профиль"
 | 
			
		||||
	L["reset_desc"] = "Сброс текущего профиля к стандартным настройкам, если Ваша конфигурация испорчена или Вы хотите настроить все заново."
 | 
			
		||||
	L["reset_sub"] = "Сброс текущего профиля на стандартный"
 | 
			
		||||
elseif LOCALE == "itIT" then
 | 
			
		||||
	L["choose"] = "Profili Esistenti"
 | 
			
		||||
	L["choose_desc"] = "Puoi creare un nuovo profilo digitando il nome della casella di testo, oppure scegliendone uno tra i profili già esistenti."
 | 
			
		||||
	L["choose_sub"] = "Seleziona uno dei profili attualmente disponibili."
 | 
			
		||||
	L["copy"] = "Copia Da"
 | 
			
		||||
	L["copy_desc"] = "Copia le impostazioni da un profilo esistente, nel profilo attivo in questo momento."
 | 
			
		||||
	L["copy_desc"] = "Copia le impostazioni da un profilo esistente nel profilo attivo in questo momento."
 | 
			
		||||
	L["current"] = "Profilo Attivo:"
 | 
			
		||||
	L["default"] = "Standard"
 | 
			
		||||
	L["default"] = "Predefinito"
 | 
			
		||||
	L["delete"] = "Cancella un Profilo"
 | 
			
		||||
	L["delete_confirm"] = "Sei sicuro di voler cancellare il profilo selezionato?"
 | 
			
		||||
	L["delete_desc"] = "Cancella i profili non utilizzati dal database per risparmiare spazio e mantenere puliti i file di configurazione SavedVariables."
 | 
			
		||||
 
 | 
			
		||||
@@ -1,5 +1,5 @@
 | 
			
		||||
--[[ $Id: CallbackHandler-1.0.lua 1284 2022-09-25 09:15:30Z nevcairiel $ ]]
 | 
			
		||||
local MAJOR, MINOR = "CallbackHandler-1.0", 7
 | 
			
		||||
--[[ $Id: CallbackHandler-1.0.lua 1298 2022-12-12 15:10:10Z nevcairiel $ ]]
 | 
			
		||||
local MAJOR, MINOR = "CallbackHandler-1.0", 8
 | 
			
		||||
local CallbackHandler = LibStub:NewLibrary(MAJOR, MINOR)
 | 
			
		||||
 | 
			
		||||
if not CallbackHandler then return end -- No upgrade needed
 | 
			
		||||
@@ -7,21 +7,16 @@ if not CallbackHandler then return end -- No upgrade needed
 | 
			
		||||
local meta = {__index = function(tbl, key) tbl[key] = {} return tbl[key] end}
 | 
			
		||||
 | 
			
		||||
-- Lua APIs
 | 
			
		||||
local error = error
 | 
			
		||||
local securecallfunction, error = securecallfunction, error
 | 
			
		||||
local setmetatable, rawget = setmetatable, rawget
 | 
			
		||||
local next, select, pairs, type, tostring = next, select, pairs, type, tostring
 | 
			
		||||
 | 
			
		||||
local xpcall = xpcall
 | 
			
		||||
 | 
			
		||||
local function errorhandler(err)
 | 
			
		||||
	return geterrorhandler()(err)
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
local function Dispatch(handlers, ...)
 | 
			
		||||
	local index, method = next(handlers)
 | 
			
		||||
	if not method then return end
 | 
			
		||||
	repeat
 | 
			
		||||
		xpcall(method, errorhandler, ...)
 | 
			
		||||
		securecallfunction(method, ...)
 | 
			
		||||
		index, method = next(handlers, index)
 | 
			
		||||
	until not method
 | 
			
		||||
end
 | 
			
		||||
 
 | 
			
		||||
@@ -9,7 +9,7 @@ License: MIT
 | 
			
		||||
 | 
			
		||||
--- DRList-1.0
 | 
			
		||||
-- @module DRList-1.0
 | 
			
		||||
local MAJOR, MINOR = "DRList-1.0", 49 -- Don't forget to change this in Spells.lua aswell!
 | 
			
		||||
local MAJOR, MINOR = "DRList-1.0", 54 -- Don't forget to change this in Spells.lua aswell!
 | 
			
		||||
local Lib = assert(LibStub, MAJOR .. " requires LibStub."):NewLibrary(MAJOR, MINOR)
 | 
			
		||||
if not Lib then return end -- already loaded
 | 
			
		||||
 | 
			
		||||
@@ -30,7 +30,7 @@ L["TAUNTS"] = "Taunts"
 | 
			
		||||
L["FEARS"] = "Fears"
 | 
			
		||||
L["RANDOM_ROOTS"] = "Random roots"
 | 
			
		||||
L["RANDOM_STUNS"] = "Random stuns"
 | 
			
		||||
L["OPENER_STUN"] = "Opener Stuns"
 | 
			
		||||
L["OPENER_STUN"] = "Opener stuns"
 | 
			
		||||
L["HORROR"] = "Horrors"
 | 
			
		||||
L["SCATTERS"] = "Scatters"
 | 
			
		||||
L["SLEEPS"] = GetSpellInfo(1090) or "Sleep"
 | 
			
		||||
@@ -62,8 +62,7 @@ elseif locale == "frFR" then
 | 
			
		||||
    L["STUNS"] = "Etourdissements"
 | 
			
		||||
    L["TAUNTS"] = "Provocations"
 | 
			
		||||
elseif locale == "itIT" then
 | 
			
		||||
    -- Categories
 | 
			
		||||
 | 
			
		||||
    --@localization(locale="itIT", namespace="Categories", format="lua_additive_table", handle-unlocalized="ignore")@
 | 
			
		||||
elseif locale == "koKR" then
 | 
			
		||||
    L["DISORIENTS"] = "방향 감각 상실"
 | 
			
		||||
    L["INCAPACITATES"] = "행동 불가"
 | 
			
		||||
@@ -72,8 +71,7 @@ elseif locale == "koKR" then
 | 
			
		||||
    L["SILENCES"] = "침묵"
 | 
			
		||||
    L["STUNS"] = "기절"
 | 
			
		||||
elseif locale == "ptBR" then
 | 
			
		||||
    -- Categories
 | 
			
		||||
 | 
			
		||||
    --@localization(locale="ptBR", namespace="Categories", format="lua_additive_table", handle-unlocalized="ignore")@
 | 
			
		||||
elseif locale == "ruRU" then
 | 
			
		||||
    L["DISARMS"] = "Разоружение"
 | 
			
		||||
    L["DISORIENTS"] = "Дезориентация"
 | 
			
		||||
@@ -137,24 +135,24 @@ Lib.gameExpansion = ({
 | 
			
		||||
-- How long it takes for a DR to expire, in seconds.
 | 
			
		||||
Lib.resetTimes = {
 | 
			
		||||
    retail = {
 | 
			
		||||
        ["default"] = 18.5, -- 18 sec + 0.5 latency
 | 
			
		||||
        ["npc"] = 23, -- Against mobs it seems to last slightly longer, depending on server load
 | 
			
		||||
        ["default"] = 18.5, -- static 18 sec + 0.5 latency
 | 
			
		||||
        ["npc"] = 21, -- Against mobs it seems to last slightly longer, depending on server load
 | 
			
		||||
        ["knockback"] = 10.5, -- Knockbacks are immediately immune and only DRs for 10s
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    classic = {
 | 
			
		||||
        ["default"] = 20, -- dynamic between 15 and 20s
 | 
			
		||||
        ["npc"] = 23,
 | 
			
		||||
        ["npc"] = 21,
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    tbc = {
 | 
			
		||||
        ["default"] = 20, -- dynamic between 15 and 20s
 | 
			
		||||
        ["npc"] = 23,
 | 
			
		||||
        ["npc"] = 21,
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    wotlk = {
 | 
			
		||||
        ["default"] = 20, -- dynamic between 15 and 20s
 | 
			
		||||
        ["npc"] = 23,
 | 
			
		||||
        ["npc"] = 21,
 | 
			
		||||
    },
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@@ -221,13 +219,12 @@ Lib.categoryNames = {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
-- Categories that have DR against normal mobs.
 | 
			
		||||
-- Note that this is only for normal mobs on retail. Special mobs or pets have DR on all categories,
 | 
			
		||||
-- Note that for retail some special mobs have DR on all categories,
 | 
			
		||||
-- see UnitClassification() and UnitIsQuestBoss().
 | 
			
		||||
Lib.categoriesPvE = {
 | 
			
		||||
    retail = {
 | 
			
		||||
        ["taunt"] = L.TAUNTS, -- Lib.categoryNames.retail.taunt
 | 
			
		||||
        ["taunt"] = L.TAUNTS,
 | 
			
		||||
        ["stun"] = L.STUNS,
 | 
			
		||||
        ["root"] = L.ROOTS,
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    classic = {
 | 
			
		||||
@@ -294,9 +291,9 @@ function Lib:GetCategories()
 | 
			
		||||
    return Lib.categoryNames[Lib.gameExpansion]
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
--- Get table of all categories that DRs in PvE only.
 | 
			
		||||
--- Get table of all categories that DRs in PvE.
 | 
			
		||||
-- Key is unlocalized name used for API functions, value is localized name used for UI.
 | 
			
		||||
-- Note that this is only for normal mobs on retail. Special mobs or pets have DR on all categories,
 | 
			
		||||
-- Note that for retail some special mobs have DR on all categories,
 | 
			
		||||
-- see UnitClassification() and UnitIsQuestBoss().
 | 
			
		||||
-- Tip: you can combine :GetPvECategories() and :IterateSpellsByCategory() to get spellIDs only for PvE aswell.
 | 
			
		||||
-- @treturn table {string=string}
 | 
			
		||||
@@ -339,7 +336,7 @@ function Lib:GetCategoryLocalization(category)
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
--- Check if a category has DR against mobs.
 | 
			
		||||
-- Note that this is only for normal mobs on retail. Special mobs or pets have DR on all categories,
 | 
			
		||||
-- Note that for retail some special mobs have DR on all categories, you need to check for this yourself;
 | 
			
		||||
-- see UnitClassification() and UnitIsQuestBoss().
 | 
			
		||||
-- @tparam string category Unlocalized category name
 | 
			
		||||
-- @treturn bool
 | 
			
		||||
@@ -380,7 +377,6 @@ do
 | 
			
		||||
    --- Iterate through the spells of a given category.
 | 
			
		||||
    -- @tparam string category Unlocalized category name
 | 
			
		||||
    -- @usage for spellID in DRList:IterateSpellsByCategory("root") do print(spellID) end
 | 
			
		||||
    -- @warning Slow function, do not use for frequent combat related stuff unless you cache results.
 | 
			
		||||
    -- @return Iterator function
 | 
			
		||||
    function Lib:IterateSpellsByCategory(category)
 | 
			
		||||
        assert(Lib.categoryNames[Lib.gameExpansion][category], "invalid category")
 | 
			
		||||
@@ -393,6 +389,6 @@ Lib.GetCategoryName = Lib.GetCategoryLocalization
 | 
			
		||||
Lib.IsPVE = Lib.IsPvECategory
 | 
			
		||||
Lib.NextDR = Lib.GetNextDR
 | 
			
		||||
Lib.GetSpellCategory = Lib.GetCategoryBySpellID
 | 
			
		||||
Lib.IterateSpells = Lib.IterateSpellsByCategory
 | 
			
		||||
Lib.RESET_TIME = Lib.resetTimes[Lib.gameExpansion].default
 | 
			
		||||
Lib.pveDR = Lib.categoriesPvE
 | 
			
		||||
Lib.IterateSpells = function(cat) if cat then return Lib.IterateSpellsByCategory(cat) else return next, Lib.spellList end end
 | 
			
		||||
 
 | 
			
		||||
@@ -1,6 +1,10 @@
 | 
			
		||||
## Interface: 100002
 | 
			
		||||
## Interface: 100105
 | 
			
		||||
## Interface-Classic: 11403
 | 
			
		||||
## Interface-BCC: 20504
 | 
			
		||||
## Interface-Wrath: 30402
 | 
			
		||||
## IconTexture: Interface\Icons\Spell_nature_heavypolymorph1
 | 
			
		||||
## Title: Lib: DRList-1.0
 | 
			
		||||
## Version: v1.3.8
 | 
			
		||||
## Version: @project-version@
 | 
			
		||||
## X-Category: Library
 | 
			
		||||
## X-License: MIT
 | 
			
		||||
## X-Curse-Project-ID: 315757
 | 
			
		||||
@@ -11,3 +15,11 @@ libs\LibStub\LibStub.lua
 | 
			
		||||
#@end-no-lib-strip@
 | 
			
		||||
 | 
			
		||||
DRList-1.0.xml
 | 
			
		||||
 | 
			
		||||
#@do-not-package@
 | 
			
		||||
tests\engine.lua
 | 
			
		||||
tests\test-retail.lua
 | 
			
		||||
tests\test-classic.lua
 | 
			
		||||
tests\test-tbc.lua
 | 
			
		||||
tests\test-wotlk.lua
 | 
			
		||||
#@end-do-not-package@
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
local MAJOR, MINOR = "DRList-1.0", 49 -- Don't forget to change this in DRList-1.0.lua aswell!
 | 
			
		||||
local MAJOR, MINOR = "DRList-1.0", 54 -- Don't forget to change this in DRList-1.0.lua aswell!
 | 
			
		||||
local Lib = LibStub(MAJOR)
 | 
			
		||||
if Lib.spellListVersion and Lib.spellListVersion >= MINOR then
 | 
			
		||||
    return
 | 
			
		||||
@@ -17,7 +17,7 @@ if Lib.gameExpansion == "retail" then
 | 
			
		||||
        [1513]    = "disorient",       -- Scare Beast
 | 
			
		||||
        [31661]   = "disorient",       -- Dragon's Breath
 | 
			
		||||
        [198909]  = "disorient",       -- Song of Chi-ji
 | 
			
		||||
        [202274]  = "disorient",       -- Incendiary Brew
 | 
			
		||||
        [202274]  = "disorient",       -- Hot Trub
 | 
			
		||||
        [105421]  = "disorient",       -- Blinding Light
 | 
			
		||||
        [10326]   = "disorient",       -- Turn Evil
 | 
			
		||||
        [205364]  = "disorient",       -- Dominate Mind
 | 
			
		||||
@@ -26,6 +26,7 @@ if Lib.gameExpansion == "retail" then
 | 
			
		||||
        [226943]  = "disorient",       -- Mind Bomb
 | 
			
		||||
        [2094]    = "disorient",       -- Blind
 | 
			
		||||
        [118699]  = "disorient",       -- Fear
 | 
			
		||||
        [130616]  = "disorient",       -- Fear (Horrify)
 | 
			
		||||
        [5484]    = "disorient",       -- Howl of Terror
 | 
			
		||||
        [261589]  = "disorient",       -- Seduction (Grimoire of Sacrifice)
 | 
			
		||||
        [6358]    = "disorient",       -- Seduction (Succubus)
 | 
			
		||||
@@ -85,6 +86,7 @@ if Lib.gameExpansion == "retail" then
 | 
			
		||||
        [47476]   = "silence",         -- Strangulate
 | 
			
		||||
        [204490]  = "silence",         -- Sigil of Silence
 | 
			
		||||
--      [78675]   = "silence",         -- Solar Beam (has no DR)
 | 
			
		||||
        [410065]  = "silence",         -- Reactive Resin
 | 
			
		||||
        [202933]  = "silence",         -- Spider Sting
 | 
			
		||||
        [356727]  = "silence",         -- Spider Venom
 | 
			
		||||
        [354831]  = "silence",         -- Wailing Arrow 1
 | 
			
		||||
@@ -169,6 +171,7 @@ if Lib.gameExpansion == "retail" then
 | 
			
		||||
        [64695]   = "root",            -- Earthgrab (Totem effect)
 | 
			
		||||
--      [356738]  = "root",            -- Earth Unleashed (doesn't seem to DR)
 | 
			
		||||
        [285515]  = "root",            -- Surge of Power
 | 
			
		||||
        [199042]  = "root",            -- Thunderstruck (Protection PvP Talent)
 | 
			
		||||
        --[356356]  = "root",            -- Warbringer TODO: has DR?
 | 
			
		||||
        [39965]   = "root",            -- Frost Grenade (Item)
 | 
			
		||||
        [75148]   = "root",            -- Embersilk Net (Item)
 | 
			
		||||
@@ -176,6 +179,8 @@ if Lib.gameExpansion == "retail" then
 | 
			
		||||
        [268966]  = "root",            -- Hooked Deep Sea Net (Item)
 | 
			
		||||
 | 
			
		||||
        [209749]  = "disarm",          -- Faerie Swarm (Balance Honor Talent)
 | 
			
		||||
        [407032]  = "disarm",          -- Sticky Tar Bomb 1
 | 
			
		||||
        [407031]  = "disarm",          -- Sticky Tar Bomb 2
 | 
			
		||||
        [207777]  = "disarm",          -- Dismantle
 | 
			
		||||
        [233759]  = "disarm",          -- Grapple Weapon
 | 
			
		||||
        [236077]  = "disarm",          -- Disarm
 | 
			
		||||
@@ -528,6 +533,7 @@ elseif Lib.gameExpansion == "wotlk" then
 | 
			
		||||
        [9853]  = "root", -- Entangling Roots (Rank 6)
 | 
			
		||||
        [26989] = "root", -- Entangling Roots (Rank 7)
 | 
			
		||||
        [53308] = "root", -- Entangling Roots (Rank 8)
 | 
			
		||||
        [65857] = "root", -- Entangling Roots (Rank 8) (TODO: Not sure which ID is correct)
 | 
			
		||||
        [19975] = "root", -- Nature's Grasp (Rank 1)
 | 
			
		||||
        [19974] = "root", -- Nature's Grasp (Rank 2)
 | 
			
		||||
        [19973] = "root", -- Nature's Grasp (Rank 3)
 | 
			
		||||
@@ -535,7 +541,8 @@ elseif Lib.gameExpansion == "wotlk" then
 | 
			
		||||
        [19971] = "root", -- Nature's Grasp (Rank 5)
 | 
			
		||||
        [19970] = "root", -- Nature's Grasp (Rank 6)
 | 
			
		||||
        [27010] = "root", -- Nature's Grasp (Rank 7)
 | 
			
		||||
        [53312] = "root", -- Nature's Grasp (Rank 8)
 | 
			
		||||
        [53313] = "root", -- Nature's Grasp (Rank 8)
 | 
			
		||||
        [66070] = "root", -- Nature's Grasp (Rank 8) (TODO: Not sure which ID is correct)
 | 
			
		||||
        [50245] = "root", -- Pin (Rank 1)
 | 
			
		||||
        [53544] = "root", -- Pin (Rank 2)
 | 
			
		||||
        [53545] = "root", -- Pin (Rank 3)
 | 
			
		||||
@@ -549,6 +556,7 @@ elseif Lib.gameExpansion == "wotlk" then
 | 
			
		||||
        [10230] = "root", -- Frost Nova (Rank 4)
 | 
			
		||||
        [27088] = "root", -- Frost Nova (Rank 5)
 | 
			
		||||
        [42917] = "root", -- Frost Nova (Rank 6)
 | 
			
		||||
        [64695] = "root", -- Earthgrab
 | 
			
		||||
        [39965] = "root", -- Frost Grenade (Item)
 | 
			
		||||
        [63685] = "root", -- Freeze (Frost Shock)
 | 
			
		||||
        [55536] = "root", -- Frostweave Net (Item)
 | 
			
		||||
@@ -626,7 +634,6 @@ elseif Lib.gameExpansion == "wotlk" then
 | 
			
		||||
        [27067] = "counterattack",  -- Counterattack 4
 | 
			
		||||
        [48998] = "counterattack",  -- Counterattack 5
 | 
			
		||||
        [48999] = "counterattack",  -- Counterattack 6
 | 
			
		||||
        --Storm, Earth and Fire has no DR
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
elseif Lib.gameExpansion == "classic" then
 | 
			
		||||
 
 | 
			
		||||
@@ -203,13 +203,13 @@ end
 | 
			
		||||
function TotemPlates:NAME_PLATE_UNIT_REMOVED(unitID)
 | 
			
		||||
    local nameplate = C_NamePlate.GetNamePlateForUnit(unitID)
 | 
			
		||||
    self.activeTotemNameplates[unitID] = nil
 | 
			
		||||
    --self:ToggleAddon(nameplate, true)
 | 
			
		||||
    if nameplate.gladdyTotemFrame then
 | 
			
		||||
        nameplate.gladdyTotemFrame:Hide()
 | 
			
		||||
        nameplate.gladdyTotemFrame:SetParent(nil)
 | 
			
		||||
        tinsert(self.totemPlateCache, nameplate.gladdyTotemFrame)
 | 
			
		||||
        nameplate.gladdyTotemFrame = nil
 | 
			
		||||
    end
 | 
			
		||||
    self:ToggleAddon(nameplate, true)
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
---------------------------------------------------
 | 
			
		||||
@@ -373,23 +373,25 @@ function TotemPlates:ToggleAddon(nameplate, show)
 | 
			
		||||
    local addonFrames = { self:GetAddonFrame(nameplate) }
 | 
			
		||||
    if addonFrames and #addonFrames > 0 then
 | 
			
		||||
        if show then
 | 
			
		||||
            for _,v in ipairs(addonFrames) do
 | 
			
		||||
                if nameplate.unitFrame and nameplate.unitFrame.UpdateAllElements then
 | 
			
		||||
            for _, frame in ipairs(addonFrames) do
 | 
			
		||||
                if frame.UpdateAllElements then
 | 
			
		||||
                    Gladdy:Debug("INFO", "TotemPlates:ToggleAddon - NAME_PLATE_UNIT_ADDED - nameplate.unitFrame:UpdateAllElements")
 | 
			
		||||
                    nameplate.unitFrame:UpdateAllElements("NAME_PLATE_UNIT_ADDED")
 | 
			
		||||
                    frame:Show()
 | 
			
		||||
                    frame:UpdateAllElements("NAME_PLATE_UNIT_ADDED")
 | 
			
		||||
                else
 | 
			
		||||
                    Gladdy:Debug("INFO", "TotemPlates:ToggleAddon - NAME_PLATE_UNIT_ADDED - Show")
 | 
			
		||||
                    v:Show()
 | 
			
		||||
                    frame:Show()
 | 
			
		||||
                end
 | 
			
		||||
            end
 | 
			
		||||
        else
 | 
			
		||||
            for _,v in ipairs(addonFrames) do
 | 
			
		||||
                if nameplate.unitFrame and nameplate.unitFrame.UpdateAllElements then
 | 
			
		||||
            for _, frame in ipairs(addonFrames) do
 | 
			
		||||
                if frame.UpdateAllElements then
 | 
			
		||||
                    Gladdy:Debug("INFO", "TotemPlates:ToggleAddon - NAME_PLATE_UNIT_REMOVED - nameplate.unitFrame:UpdateAllElements")
 | 
			
		||||
                    nameplate.unitFrame:UpdateAllElements("NAME_PLATE_UNIT_REMOVED")
 | 
			
		||||
                    frame:UpdateAllElements("NAME_PLATE_UNIT_REMOVED")
 | 
			
		||||
                    frame:Hide()
 | 
			
		||||
                else
 | 
			
		||||
                    Gladdy:Debug("INFO", "TotemPlates:ToggleAddon - NAME_PLATE_UNIT_REMOVED - Hide")
 | 
			
		||||
                    v:Hide()
 | 
			
		||||
                    frame:Hide()
 | 
			
		||||
                end
 | 
			
		||||
            end
 | 
			
		||||
        end
 | 
			
		||||
@@ -402,7 +404,7 @@ function TotemPlates.OnUpdate(self)
 | 
			
		||||
    else
 | 
			
		||||
        self.selectionHighlight:SetAlpha(0)
 | 
			
		||||
    end
 | 
			
		||||
    if (TotemPlates.addon == "Plater" or TotemPlates.addon == "Tukui" or TotemPlates.addon == "ElvUI") and self.parent and self.parent.unitFrame then
 | 
			
		||||
    if (TotemPlates.addon == "Plater" or TotemPlates.addon == "Tukui") and self.parent and self.parent.unitFrame then
 | 
			
		||||
        self.parent.unitFrame:Hide()
 | 
			
		||||
    end
 | 
			
		||||
end
 | 
			
		||||
@@ -454,7 +456,7 @@ function TotemPlates:OnUnitEvent(unitID)
 | 
			
		||||
        nameplate.gladdyTotemFrame.parent = nameplate
 | 
			
		||||
        nameplate.gladdyTotemFrame:Show()
 | 
			
		||||
        TotemPlates:SetTotemAlpha(nameplate.gladdyTotemFrame, unitID)
 | 
			
		||||
        self:ToggleAddon(nameplate)
 | 
			
		||||
        self:ToggleAddon(nameplate, false)
 | 
			
		||||
        self.activeTotemNameplates[unitID] = nameplate
 | 
			
		||||
    elseif totemDataEntry and not Gladdy.db.npTotemColors["totem" .. totemDataEntry.id].enabled and Gladdy.db.npTotemsHideDisabledTotems then
 | 
			
		||||
        if nameplate.gladdyTotemFrame then
 | 
			
		||||
@@ -463,7 +465,7 @@ function TotemPlates:OnUnitEvent(unitID)
 | 
			
		||||
            tinsert(self.totemPlateCache, nameplate.gladdyTotemFrame)
 | 
			
		||||
            nameplate.gladdyTotemFrame = nil
 | 
			
		||||
        end
 | 
			
		||||
        self:ToggleAddon(nameplate)
 | 
			
		||||
        self:ToggleAddon(nameplate, false)
 | 
			
		||||
    else
 | 
			
		||||
        self:ToggleAddon(nameplate, true)
 | 
			
		||||
    end
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										11
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										11
									
								
								README.md
									
									
									
									
									
								
							@@ -4,7 +4,7 @@
 | 
			
		||||
 | 
			
		||||
---
 | 
			
		||||
 | 
			
		||||
## [v2.23-Release Download Here](https://github.com/XiconQoo/Gladdy-TBC/releases/download/v2.23-Release/Gladdy_Classic_v2.23-Release.zip)
 | 
			
		||||
## [v2.25-Release Download Here](https://github.com/XiconQoo/Gladdy-TBC/releases/download/v2.25-Release/Gladdy_Classic_v2.25-Release.zip)
 | 
			
		||||
 | 
			
		||||
###### <a target="_blank" rel="noopener noreferrer" href="https://www.paypal.me/xiconqoo/10"><img src="https://raw.githubusercontent.com/XiconQoo/Gladdy/readme-media/Paypal-Donate.png" height="30" style="margin-top:-30px;position:relative;top:20px;"></a> Please consider donating if you like my work
 | 
			
		||||
 | 
			
		||||
@@ -61,6 +61,7 @@ The goal is to make Gladdy highly configurable in it's appearance. Everything ca
 | 
			
		||||
- [dfherr](https://github.com/dfherr)
 | 
			
		||||
- [miraage](https://github.com/miraage)
 | 
			
		||||
- [veiz](https://github.com/veiz)
 | 
			
		||||
- [Flamanis](https://github.com/Flamanis)
 | 
			
		||||
 | 
			
		||||
Thank you!
 | 
			
		||||
 | 
			
		||||
@@ -80,6 +81,14 @@ Thank you!
 | 
			
		||||
 | 
			
		||||
### Changes
 | 
			
		||||
 | 
			
		||||
### v2.25-Release
 | 
			
		||||
- fix TotemPlates interfering with ElvUI (thanks [Flamanis](https://github.com/Flamanis))
 | 
			
		||||
 | 
			
		||||
### v2.24-Release
 | 
			
		||||
- fix for WotLK v30402 (update libs)
 | 
			
		||||
- update DRList
 | 
			
		||||
- fix taint issue on first load up
 | 
			
		||||
 | 
			
		||||
### v2.23-Release
 | 
			
		||||
- fix for WotLK v30401 (update libs + layers + masks)
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user