Fixes Enhanced character frame

Update nameplate coloring.
Fix world map blips
This commit is contained in:
Andrew6810
2022-10-30 16:41:03 -07:00
parent 944b72c9e4
commit 8ad40722a0
156 changed files with 18356 additions and 1 deletions
+21 -1
View File
@@ -228,8 +228,28 @@ function NP:GetUnitClassByGUID(frame, guid)
end
end
local grenColorToClass = {}
for class, color in pairs(RAID_CLASS_COLORS) do
grenColorToClass[color.g] = class
end
function NP:UnitClass(frame, unitType)
return "DRUID"
if frame._class then
return frame._class
end
if unitType == "FRIENDLY_PLAYER" then
if frame.unit then
local _, class = UnitClass(frame.unit)
if class then
return class
end
else
return NP:GetUnitClassByGUID(frame, frame.guid)
end
elseif unitType == "ENEMY_PLAYER" then
local _, g = frame.oldHealthBar:GetStatusBarColor()
return grenColorToClass[floor(g*100 + 0.5) / 100]
end
end
function NP:UnitDetailedThreatSituation(frame)
File diff suppressed because it is too large Load Diff
+3
View File
@@ -0,0 +1,3 @@
<Ui xmlns="http://www.blizzard.com/wow/ui/">
<Script file="Config.lua"/>
</Ui>
+30
View File
@@ -0,0 +1,30 @@
SLASH_ANALYZE1 = "/analyze"
SlashCmdList.ANALYZE = function(arg)
if arg == "" then
arg = GetMouseFocus()
else
arg = _G[arg]
end
if arg and arg:GetName() then
ChatFrame1:AddMessage("|cffCC0000----------------------------")
ChatFrame1:AddMessage(arg:GetName())
for _, child in ipairs({arg:GetChildren()}) do
if child:GetName() then
ChatFrame1:AddMessage("+="..child:GetName())
end
end
ChatFrame1:AddMessage("|cffCC0000----------------------------")
end
end
SLASH_PROFILE1 = "/profile"
SlashCmdList.PROFILE = function()
local cpuProfiling = GetCVar("scriptProfile") == "1"
if cpuProfiling then
SetCVar("scriptProfile", "0")
else
SetCVar("scriptProfile", "1")
end
ReloadUI()
end
@@ -0,0 +1,3 @@
<Ui xmlns="http://www.blizzard.com/wow/ui/">
<Script file="Analyzer.lua"/>
</Ui>
+207
View File
@@ -0,0 +1,207 @@
local E, L, V, P, G = unpack(ElvUI)
local addon = E:NewModule("ElvUI_Enhanced")
local EP = E.Libs.EP
local addonName = ...
local format = string.format
local function gsPopupShow()
local url = "https://www.wowinterface.com/downloads/getfile.php?id=12245&aid=47105"
E.PopupDialogs["GS_VERSION_INVALID"] = {
text = L["GearScore '3.1.20b - Release' is not for WotLK. Download 3.1.7. Disable this version?"],
button1 = DISABLE,
hideOnEscape = 1,
showAlert = 1,
OnShow = function(self)
self.editBox:SetAutoFocus(false)
self.editBox.width = self.editBox:GetWidth()
self.editBox:SetWidth(220)
self.editBox:SetText(url)
self.editBox:HighlightText()
ChatEdit_FocusActiveWindow()
end,
OnAccept = function()
DisableAddOn("GearScore")
DisableAddOn("BonusScanner")
ReloadUI()
end,
OnHide = function(self)
self.editBox:SetWidth(self.editBox.width or 50)
self.editBox.width = nil
end,
EditBoxOnEnterPressed = function(self)
ChatEdit_FocusActiveWindow()
self:GetParent():Hide()
end,
EditBoxOnEscapePressed = function(self)
ChatEdit_FocusActiveWindow()
self:GetParent():Hide()
end,
EditBoxOnTextChanged = function(self)
if self:GetText() ~= url then
self:SetText(url)
end
self:HighlightText()
self:ClearFocus()
ChatEdit_FocusActiveWindow()
end,
OnEditFocusGained = function(self)
self:HighlightText()
end
}
E:StaticPopup_Show("GS_VERSION_INVALID")
end
function addon:ColorizeSettingName(name)
return format("|cffff8000%s|r", name)
end
function addon:DBConversions()
if E.db.enhanced.general.trainAllButton ~= nil then
E.db.enhanced.general.trainAllSkills = E.db.enhanced.general.trainAllButton
E.db.enhanced.general.trainAllButton = nil
end
if E.private.skins.animations ~= nil then
E.private.enhanced.animatedAchievementBars = E.private.skins.animations
E.private.skins.animations = nil
end
if E.private.enhanced.blizzard and E.private.enhanced.blizzard.deathRecap ~= nil then
E.private.enhanced.deathRecap = E.private.enhanced.blizzard.deathRecap
E.private.enhanced.blizzard.deathRecap = nil
end
if E.private.enhanced.character.model and E.private.enhanced.character.model.enable ~= nil then
E.private.enhanced.character.modelFrames = E.private.enhanced.character.model.enable
E.private.enhanced.character.model.enable = nil
end
if P.unitframe.units.player.portrait.detachFromFrame ~= nil then
E.db.enhanced.unitframe.detachPortrait.player.enable = P.unitframe.units.player.portrait.detachFromFrame
E.db.enhanced.unitframe.detachPortrait.player.width = P.unitframe.units.player.portrait.detachedWidth
E.db.enhanced.unitframe.detachPortrait.player.height = P.unitframe.units.player.portrait.detachedHeight
E.db.enhanced.unitframe.detachPortrait.target.enable = P.unitframe.units.target.portrait.detachFromFrame
E.db.enhanced.unitframe.detachPortrait.target.width = P.unitframe.units.target.portrait.detachedWidth
E.db.enhanced.unitframe.detachPortrait.target.height = P.unitframe.units.target.portrait.detachedHeight
P.unitframe.units.player.portrait.detachFromFrame = nil
P.unitframe.units.player.portrait.detachedWidth = nil
P.unitframe.units.player.portrait.detachedHeight = nil
P.unitframe.units.target.portrait.detachFromFrame = nil
P.unitframe.units.target.portrait.detachedWidth = nil
P.unitframe.units.target.portrait.detachedHeight = nil
end
if E.db.enhanced.nameplates.cacheUnitClass ~= nil then
E.db.enhanced.nameplates.classCache = true
end
if EnhancedDB and EnhancedDB.UnitClass and next(EnhancedDB.UnitClass) then
local classMap = {}
for i, class in ipairs(CLASS_SORT_ORDER) do
classMap[class] = i
end
for name, class in pairs(EnhancedDB.UnitClass) do
if type(class) == "string" then
EnhancedDB.UnitClass[name] = classMap[class]
end
end
EnhancedDB.UnitClass[UNKNOWN] = nil
end
if E.db.general.minimap.buttons then
E.private.enhanced.minimapButtonGrabber = true
E.db.enhanced.minimap.buttonGrabber.buttonSize = E.db.general.minimap.buttons.buttonsize
E.db.enhanced.minimap.buttonGrabber.buttonSpacing = E.db.general.minimap.buttons.buttonspacing
E.db.enhanced.minimap.buttonGrabber.backdrop = E.db.general.minimap.buttons.backdrop
E.db.enhanced.minimap.buttonGrabber.backdropSpacing = E.db.general.minimap.buttons.backdropSpacing
E.db.enhanced.minimap.buttonGrabber.buttonsPerRow = E.db.general.minimap.buttons.buttonsPerRow
E.db.enhanced.minimap.buttonGrabber.alpha = E.db.general.minimap.buttons.alpha
E.db.enhanced.minimap.buttonGrabber.mouseover = E.db.general.minimap.buttons.mouseover
E.db.enhanced.minimap.buttonGrabber.growFrom = E.db.general.minimap.buttons.point
if E.db.general.minimap.buttons.insideMinimap then
E.db.enhanced.minimap.buttonGrabber.insideMinimap.enable = E.db.general.minimap.buttons.insideMinimap.enable
E.db.enhanced.minimap.buttonGrabber.insideMinimap.position = E.db.general.minimap.buttons.insideMinimap.position
E.db.enhanced.minimap.buttonGrabber.insideMinimap.xOffset = E.db.general.minimap.buttons.insideMinimap.xOffset
E.db.enhanced.minimap.buttonGrabber.insideMinimap.yOffset = E.db.general.minimap.buttons.insideMinimap.yOffset
end
E.db.general.minimap.buttons = nil
end
if E.db.fogofwar then
E.db.enhanced.map.fogClear.enable = E.db.fogofwar.enable
if E.db.fogofwar.color then
E.db.enhanced.map.fogClear.color.r = E.db.fogofwar.color.r
E.db.enhanced.map.fogClear.color.g = E.db.fogofwar.color.g
E.db.enhanced.map.fogClear.color.b = E.db.fogofwar.color.b
E.db.enhanced.map.fogClear.color.a = E.db.fogofwar.color.a
end
E.db.fogofwar = nil
end
end
function addon:PrintAddonMerged(mergedAddonName)
local _, _, _, enabled, _, reason = GetAddOnInfo(mergedAddonName)
if reason == "MISSING" then return end
local text = format(L["Addon |cffFFD100%s|r was merged into |cffFFD100ElvUI_Enhanced|r.\nPlease remove it to avoid conflicts."], mergedAddonName)
E:Print(text)
if enabled then
if not E.PopupDialogs.ENHANCED_MERGED_ADDON then
E.PopupDialogs.ENHANCED_MERGED_ADDON = {
button2 = CANCEL,
OnAccept = function()
DisableAddOn(E.PopupDialogs.ENHANCED_MERGED_ADDON.mergedAddonName)
ReloadUI()
end,
whileDead = 1,
hideOnEscape = false
}
end
local popup = E.PopupDialogs.ENHANCED_MERGED_ADDON
popup.text = text
popup.button1 = format("Disable %s", string.gsub(mergedAddonName, "^ElvUI_", ""))
E:StaticPopup_Show("ENHANCED_MERGED_ADDON")
end
end
function addon:Initialize()
EnhancedDB = EnhancedDB or {}
self.version = GetAddOnMetadata("ElvUI_Enhanced", "Version")
self:DBConversions()
EP:RegisterPlugin(addonName, self.GetOptions)
if E.db.general.loginmessage then
print(format(L["ENH_LOGIN_MSG"], E.media.hexvaluecolor, addon.version))
end
if IsAddOnLoaded("GearScore") and IsAddOnLoaded("BonusScanner") then
if GetAddOnMetadata("GearScore", "Version") == "3.1.20b - Release" then
gsPopupShow()
end
end
self:PrintAddonMerged("ElvUI_MinimapButtons")
self:PrintAddonMerged("ElvUI_FogofWar")
end
local function InitializeCallback()
addon:Initialize()
end
E:RegisterModule(addon:GetName(), InitializeCallback)
+18
View File
@@ -0,0 +1,18 @@
## Interface: 30300
## Author: Bunny, Apollyon, Loaal, Crum
## Version: 1.05
## Title: |cff1784d1E|r|cffe5e3e3lvUI|r |cff1784d1E|r|cffe5e3e3nhanced|r
## Notes: Plugin-Enhancements for |cff1784d1E|r|cffe5e3e3lvUI|r.
## SavedVariables: EnhancedDB
## RequiredDeps: ElvUI
## DefaultState: Enabled
## Dependencies: AscensionUI
Developer\Load_Developer.xml
Libraries\Load_Libraries.xml
Locales\Load_Locales.xml
Media\Load_Media.xml
ElvUI_Enhanced.lua
Settings\Load_Settings.xml
Modules\Load_Modules.xml
Config\Load_Config.xml
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,3 @@
<Ui xmlns="http://www.blizzard.com/wow/ui/">
<Script file="LibRangeCheck-2.0\LibRangeCheck-2.0.lua"/>
</Ui>
+11
View File
@@ -0,0 +1,11 @@
<Ui xmlns="http://www.blizzard.com/wow/ui/">
<Script file="enUS.lua"/>
<Script file="deDE.lua"/>
<Script file="esMX.lua"/>
<Script file="frFR.lua"/>
<Script file="koKR.lua"/>
<Script file="ptBR.lua"/>
<Script file="ruRU.lua"/>
<Script file="zhTW.lua"/>
<Script file="zhCN.lua"/>
</Ui>
+237
View File
@@ -0,0 +1,237 @@
local E = unpack(ElvUI); --Import: Engine, Locales, PrivateDB, ProfileDB, GlobalDB
local L = E.Libs.ACL:NewLocale("ElvUI", "deDE")
-- DESC locales
L["ENH_LOGIN_MSG"] = "Sie verwenden |cff1784d1ElvUI|r |cff1784d1Enhanced|r |cffff8000(WotLK)|r Version %s%s|r."
L["DURABILITY_DESC"] = "Passen Sie die Einstellungen für die Haltbarkeit im Charakterfenster an."
L["ITEMLEVEL_DESC"] = "Passen Sie die Einstellungen für die Anzeige von Gegenstandsstufen im Charakterfenster an."
L["WATCHFRAME_DESC"] = "Passen Sie die Einstellungen des Watchframe (Questlog) nach ihren Wünschen an."
-- Incompatibility
L["GearScore '3.1.20b - Release' is not for WotLK. Download 3.1.7. Disable this version?"] = true
-- AddOn List
L["Enable All"] = "Alle aktivieren"
L["Dependencies: "] = "Abhängigkeiten"
L["Disable All"] = "Alle deaktivieren"
L["Load AddOn"] = "Lade AddOn"
L["Requires Reload"] = "Benötigt Reload"
-- Chat
L["Filter DPS meters Spam"] = "Spam von DPS-Metern filtern"
L["Replaces reports from damage meters with a clickable hyperlink to reduce chat spam"] = true
-- Datatext
L["Ammo/Shard Counter"] = true
L["Combat Indicator"] = "Kampfanzeige"
L["Distance"] = "Entfernung"
L["In Combat"] = "Im Kampf"
L["New Mail"] = "Neue Post"
L["No Mail"] = "Keine Post"
L["Out of Combat"] = "Außerhalb des Kampfes"
L["Reincarnation"] = "Wiederbelebung"
L["Target Range"] = "Zielreichweite"
-- Death Recap
L["Death Recap Frame"] = true
L["%s %s"] = true
L["%s by %s"] = "%s durch %s"
L["%s sec before death at %s%% health."] = "%s Sekunden vor Tod bei %s%% Gesundheit."
L["(%d Absorbed)"] = "(%d Absorbiert)"
L["(%d Blocked)"] = "(%d Geblockt)"
L["(%d Overkill)"] = "(%d Über dem Tod)"
L["(%d Resisted)"] = "(%d Widerstanden)"
L["Death Recap unavailable."] = "Todesursache nicht verfügbar."
L["Death Recap"] = "Todesursache"
L["Killing blow at %s%% health."] = "Todesstoß bei %s%% Gesundheit."
L["You died."] = "Du bist gestorben."
-- Decline Duels
L["Auto decline all duels"] = "Auto-Ablehnen von allen Duellen"
L["Decline Duel"] = "Duell ablehnen"
L["Declined duel request from "] = "Duellaufforderung abgelehnt von "
-- Enhanced Character Frame / Paperdoll Backgrounds
L["Character Background"] = true
L["Enhanced Character Frame"] = true
L["Enhanced Model Frames"] = true
L["Inspect Background"] = true
L["Paperdoll Backgrounds"] = true
L["Pet Background"] = true
-- Equipment
L["Damaged Only"] = "Nur Beschädigte"
L["Enable/Disable the display of durability information on the character screen."] = "Anzeige der Haltbarkeit im Charakterfenster."
L["Enable/Disable the display of item levels on the character screen."] = "Anzeige von Gegenstandsstufen im Charakterfenster aktivieren / deaktivieren."
L["Only show durabitlity information for items that are damaged."] = "Nur die Haltbarkeit für beschädigte Ausrüstungsteile anzeigen."
L["Quality Color"] = "Qualitätsfarbe"
-- General
L["Add button to Dressing Room frame with ability to undress model."] = true
L["Add button to Trainer frame with ability to train all available skills in one click."] = true
L["Alt-Click Merchant"] = true
L["Already Known"] = true
L["Animated Achievement Bars"] = true
L["Automatically change your watched faction on the reputation bar to the faction you got reputation points for."] = "Ändere automatisch die beobachtete Fraktion auf der Erfahrungsleiste zu der Fraktion für die Sie grade Rufpunkte erhalten haben."
L["Automatically release body when killed inside a battleground."] = "Gibt automatisch Ihren Geist frei, wenn Sie auf dem Schlachtfeld getötet wurden."
L["Automatically select the quest reward with the highest vendor sell value."] = "Wählt automatisch die Questbelohnung mit dem höchsten Wiederverkaufswert beim Händler"
L["Change color of item icons which already known."] = true
L["Changes the transparency of all the movers."] = "Ändere die Transparenz aller Ankerpukte"
L["Display quest levels at Quest Log."] = "Questlevel im Questlog anzeigen."
L["Hide Zone Text"] = "Zonentext verstecken"
L["Holding Alt key while buying something from vendor will now buy an entire stack."] = true
L["Mover Transparency"] = "Transparenz Ankerpunkte"
L["PvP Autorelease"] = "Automatische Freigabe im PvP"
L["Select Quest Reward"] = "Wähle Questbelohnung"
L["Show Quest Level"] = "Zeige Questlevel"
L["Track Reputation"] = "Ruf beobachten"
L["Train All Button"] = true
L["Undress Button"] = true
L["Undress"] = "Ausziehen"
-- HD Models Portrait Fix
L["Debug"] = true
L["List of models with broken portrait camera. Separete each model name with ';' simbol"] = true
L["Models to fix"] = true
L["Portrait HD Fix"] = true
L["Print to chat model names of units with enabled 3D portraits."] = true
-- Interrupt Tracker
L["Interrupt Tracker"] = true
-- Nameplates
L["Cache Unit Class"] = true
-- Minimap
L["Above Minimap"] = "Oberhalb der Minimap"
L["Combat Hide"] = true
L["FadeIn Delay"] = "Einblendungsverzögerung"
L["Hide minimap while in combat."] = "Ausblenden der Minimap während des Kampfes."
L["Show Location Digits"] = "Koordinaten einblenden"
L["Toggle Location Digits."] = "Koordinaten ein- oder ausblenden."
L["Location Digits"] = "Koordinaten Nachkommastellen"
L["Location Panel"] = "Standort-Panel"
L["Number of digits for map location."] = "Anzahl der Nachkommastellen der Koordinaten."
L["The time to wait before fading the minimap back in after combat hide. (0 = Disabled)"] = "Die Zeit vor dem wieder Einblenden der Minimap nach dem Kampf. (0 = deaktiviert)"
L["Toggle Location Panel."] = "Umschalten des Standort-Panels"
-- Timer Tracker
L["Timer Tracker"] = true
L["Hook DBM"] = true
-- Tooltip
L["Check Player"] = true
L["Colorize the tooltip border based on item quality."] = "Färbe den Tooltip-Rahmen basierend auf der Gegenstandsqualität"
L["Check achievement completion instead of boss kill stats.\nSome servers log incorrect boss kill statistics, this is an alternative way to get player progress."] = true
L["Icecrown Citadel"] = true
L["Item Border Color"] = "Gegenstandsrahmen-Farbe"
L["Progress Info"] = true
L["Ruby Sanctum"] = true
L["Show/Hides an Icon for Achievements on the Tooltip."] = "Icon für Erfolge am Tooltip anzeigen oder ausblenden."
L["Show/Hides an Icon for Items on the Tooltip."] = "Icon für Gegenstände am Tooltip anzeigen oder ausblenden."
L["Show/Hides an Icon for Spells on the Tooltip."] = "Icon für Zauber am Tooltip anzeigen oder ausblenden."
L["Show/Hides an Icon for Spells and Items on the Tooltip."] = "Icon für Zauber oder Gegenstände am Tooltip anzeigen oder ausblenden."
L["Tiers"] = true
L["Tooltip Icon"] = true
L["Trial of the Crusader"] = true
L["Ulduar"] = true
-- Movers
L["Loss Control"] = "Kontrollverlust"
L["Player Portrait"] = "Spieler-Portrait"
L["Target Portrait"] = "Ziel-Portrait"
-- Loss Control
L["CC"] = "CC"
L["Disarm"] = "Entwaffnen"
L["Lose Control"] = true
L["PvE"] = "PvE"
L["Root"] = "Wurzeln"
L["Silence"] = "Stille"
L["Snare"] = "Verlangsamung"
-- Unitframes
L["Class Icons"] = "Klassensymbole"
L["Detached Height"] = "Höhe loslösen"
L["Show class icon for units."] = "Zeige Klassensymbole für Einheiten"
-- WatchFrame
L["City (Resting)"] = "Stadt (erholend)"
L["Collapsed"] = "Eingeklappt"
L["Hidden"] = "Versteckt"
L["Party"] = "Gruppe"
L["PvP"] = "PvP"
L["Raid"] = "Schlachtzug"
--
L["Drag"] = true
L["Left-click on character and drag to rotate."] = true
L["Mouse Wheel Down"] = true
L["Mouse Wheel Up"] = true
L["Reset Position"] = "Position zurücksetzen"
L["Right-click on character and drag to move it within the window."] = true
L["Rotate Left"] = true
L["Rotate Right"] = true
L["Zoom In"] = true
L["Zoom Out"] = true
--
L["Character Stats"] = true
L["Damage Per Second"] = "DPS"
L["Equipment Manager"] = true
L["Hide Character Information"] = true
L["Hide Pet Information"] = true
L["Item Level"] = "Itemlevel"
L["New Set"] = true
L["Resistance"] = true
L["Show Character Information"] = true
L["Show Pet Information"] = true
L["Titles"] = true
L["Total Companions"] = true
L["Total Mounts"] = true
L["ALL"] = "Alle"
L["ALT_KEY"] = "ALT-Taste"
L["%d mails\nShift-Click to remove empty mails."] = true
L["Addon |cffFFD100%s|r was merged into |cffFFD100ElvUI_Enhanced|r.\nPlease remove it to avoid conflicts."] = true
L["Cache Unit Guilds / NPC Titles"] = true
L["Check Achievements"] = true
L["Collected "] = true
L["Collection completed."] = true
L["Collection stopped, inventory is full."] = true
L["Color based on reaction type."] = true
L["Compact mode"] = true
L["Companion Background"] = true
L["Desaturate"] = true
L["Detached Portrait"] = true
L["Dressing Room"] = true
L["Enhanced"] = true
L["Equipment Info"] = true
L["Error Frame"] = true
L["Everywhere"] = true
L["Fog of War"] = true
L["Grow direction"] = true
L["Guild"] = true
L["Inside Minimap"] = true
L["Key Press Animation"] = true
L["Map"] = true
L["Minimap Button Grabber"] = true
L["NPC"] = "NSC"
L["Overlay Color"] = true
L["Reaction Color"] = true
L["Reported by %s"] = true
L["Rotation"] = true
L["Separator"] = true
L["Set the height of Error Frame. Higher frame can show more lines at once."] = true
L["Set the width of Error Frame. Too narrow frame may cause messages to be split in several lines"] = true
L["Show Everywhere"] = true
L["Show on Arena."] = true
L["Show on Battleground."] = true
L["Smooth Animations"] = true
L["Take All"] = true
L["Take All Mail"] = true
L["Take Cash"] = true
L["This addon has been disabled. You should install an updated version."] = true
L["Where to show"] = true
L["seconds"] = true
+237
View File
@@ -0,0 +1,237 @@
local E = unpack(ElvUI); --Import: Engine, Locales, PrivateDB, ProfileDB, GlobalDB
local L = E.Libs.ACL:NewLocale("ElvUI", "enUS", true)
-- DESC locales
L["ENH_LOGIN_MSG"] = "You are using |cff1784d1ElvUI Enhanced|r |cffff8000(WotLK)|r version %s%s|r."
L["DURABILITY_DESC"] = "Adjust the settings for the durability information on the character screen."
L["ITEMLEVEL_DESC"] = "Adjust the settings for the item level information on the character screen."
L["WATCHFRAME_DESC"] = "Adjust the settings for the visibility of the watchframe (questlog) to your personal preference."
-- Incompatibility
L["GearScore '3.1.20b - Release' is not for WotLK. Download 3.1.7. Disable this version?"] = true
-- AddOn List
L["Enable All"] = true
L["Dependencies: "] = true
L["Disable All"] = true
L["Load AddOn"] = true
L["Requires Reload"] = true
-- Chat
L["Filter DPS meters Spam"] = true
L["Replaces reports from damage meters with a clickable hyperlink to reduce chat spam"] = true
-- Datatext
L["Death Recap Frame"] = true
L["Ammo/Shard Counter"] = true
L["Combat Indicator"] = true
L["Distance"] = true
L["In Combat"] = true
L["New Mail"] = true
L["No Mail"] = true
L["Out of Combat"] = true
L["Reincarnation"] = true
L["Target Range"] = true
-- Death Recap
L["%s %s"] = true
L["%s by %s"] = true
L["%s sec before death at %s%% health."] = true
L["(%d Absorbed)"] = true
L["(%d Blocked)"] = true
L["(%d Overkill)"] = true
L["(%d Resisted)"] = true
L["Death Recap unavailable."] = true
L["Death Recap"] = true
L["Killing blow at %s%% health."] = true
L["You died."] = true
-- Decline Duels
L["Auto decline all duels"] = true
L["Decline Duel"] = true
L["Declined duel request from "] = true
-- Enhanced Character Frame / Paperdoll Backgrounds
L["Character Background"] = true
L["Enhanced Character Frame"] = true
L["Inspect Background"] = true
L["Enhanced Model Frames"] = true
L["Paperdoll Backgrounds"] = true
L["Pet Background"] = true
-- Equipment
L["Damaged Only"] = true
L["Enable/Disable the display of durability information on the character screen."] = true
L["Enable/Disable the display of item levels on the character screen."] = true
L["Only show durabitlity information for items that are damaged."] = true
L["Quality Color"] = true
-- General
L["Add button to Dressing Room frame with ability to undress model."] = true
L["Add button to Trainer frame with ability to train all available skills in one click."] = true
L["Alt-Click Merchant"] = true
L["Already Known"] = true
L["Animated Achievement Bars"] = true
L["Automatically change your watched faction on the reputation bar to the faction you got reputation points for."] = true
L["Automatically release body when killed inside a battleground."] = true
L["Automatically select the quest reward with the highest vendor sell value."] = true
L["Change color of item icons which already known."] = true
L["Changes the transparency of all the movers."] = true
L["Display quest levels at Quest Log."] = true
L["Hide Zone Text"] = true
L["Holding Alt key while buying something from vendor will now buy an entire stack."] = true
L["Mover Transparency"] = true
L["PvP Autorelease"] = true
L["Select Quest Reward"] = true
L["Show Quest Level"] = true
L["Track Reputation"] = true
L["Train All Button"] = true
L["Undress Button"] = true
L["Undress"] = true
-- HD Models Portrait Fix
L["Debug"] = true
L["List of models with broken portrait camera. Separete each model name with ';' simbol"] = true
L["Models to fix"] = true
L["Portrait HD Fix"] = true
L["Print to chat model names of units with enabled 3D portraits."] = true
-- Interrupt Tracker
L["Interrupt Tracker"] = true
-- Nameplates
L["Cache Unit Class"] = true
-- Minimap
L["Above Minimap"] = true
L["Combat Hide"] = true
L["FadeIn Delay"] = true
L["Hide minimap while in combat."] = true
L["Show Location Digits"] = true
L["Toggle Location Digits."] = true
L["Location Digits"] = true
L["Location Panel"] = true
L["Number of digits for map location."] = true
L["The time to wait before fading the minimap back in after combat hide. (0 = Disabled)"] = true
L["Toggle Location Panel."] = true
-- Timer Tracker
L["Timer Tracker"] = true
L["Hook DBM"] = true
-- Tooltip
L["Check Player"] = true
L["Check achievement completion instead of boss kill stats.\nSome servers log incorrect boss kill statistics, this is an alternative way to get player progress."] = true
L["Colorize the tooltip border based on item quality."] = true
L["Icecrown Citadel"] = true
L["Item Border Color"] = true
L["Progress Info"] = true
L["Ruby Sanctum"] = true
L["Show/Hides an Icon for Achievements on the Tooltip."] = true
L["Show/Hides an Icon for Items on the Tooltip."] = true
L["Show/Hides an Icon for Spells and Items on the Tooltip."] = true
L["Show/Hides an Icon for Spells on the Tooltip."] = true
L["Tiers"] = true
L["Tooltip Icon"] = true
L["Trial of the Crusader"] = true
L["Ulduar"] = true
-- Movers
L["Loss Control"] = true
L["Player Portrait"] = true
L["Target Portrait"] = true
-- Lose Control
L["CC"] = true
L["Disarm"] = true
L["Lose Control"] = true
L["PvE"] = true
L["Root"] = true
L["Silence"] = true
L["Snare"] = true
-- Unitframes
L["Class Icons"] = true
L["Detached Height"] = true
L["Show class icon for units."] = true
-- WatchFrame
L["Hidden"] = true
L["Collapsed"] = true
L["City (Resting)"] = true
L["PvP"] = true
L["Party"] = true
L["Raid"] = true
--
L["Drag"] = true
L["Left-click on character and drag to rotate."] = true
L["Mouse Wheel Down"] = true
L["Mouse Wheel Up"] = true
L["Reset Position"] = true
L["Right-click on character and drag to move it within the window."] = true
L["Rotate Left"] = true
L["Rotate Right"] = true
L["Zoom In"] = true
L["Zoom Out"] = true
--
L["Character Stats"] = true
L["Damage Per Second"] = "DPS"
L["Equipment Manager"] = true
L["Hide Character Information"] = true
L["Hide Pet Information"] = true
L["Item Level"] = true
L["New Set"] = true
L["Resistance"] = true
L["Show Character Information"] = true
L["Show Pet Information"] = true
L["Titles"] = true
L["Total Companions"] = true
L["Total Mounts"] = true
L["ALL"] = "All"
L["ALT_KEY"] = "ALT key"
L["%d mails\nShift-Click to remove empty mails."] = true
L["Addon |cffFFD100%s|r was merged into |cffFFD100ElvUI_Enhanced|r.\nPlease remove it to avoid conflicts."] = true
L["Cache Unit Guilds / NPC Titles"] = true
L["Check Achievements"] = true
L["Collected "] = true
L["Collection completed."] = true
L["Collection stopped, inventory is full."] = true
L["Color based on reaction type."] = true
L["Compact mode"] = true
L["Companion Background"] = true
L["Desaturate"] = true
L["Detached Portrait"] = true
L["Dressing Room"] = true
L["Enhanced"] = true
L["Equipment Info"] = true
L["Error Frame"] = true
L["Everywhere"] = true
L["Fog of War"] = true
L["Grow direction"] = true
L["Guild"] = true
L["Inside Minimap"] = true
L["Key Press Animation"] = true
L["Map"] = true
L["Minimap Button Grabber"] = true
L["NPC"] = true
L["Overlay Color"] = true
L["Reaction Color"] = true
L["Reported by %s"] = true
L["Rotation"] = true
L["Separator"] = true
L["Set the height of Error Frame. Higher frame can show more lines at once."] = true
L["Set the width of Error Frame. Too narrow frame may cause messages to be split in several lines"] = true
L["Show Everywhere"] = true
L["Show on Arena."] = true
L["Show on Battleground."] = true
L["Smooth Animations"] = true
L["Take All"] = true
L["Take All Mail"] = true
L["Take Cash"] = true
L["This addon has been disabled. You should install an updated version."] = true
L["Where to show"] = true
L["seconds"] = true
+237
View File
@@ -0,0 +1,237 @@
local E = unpack(ElvUI); --Import: Engine, Locales, PrivateDB, ProfileDB, GlobalDB
local L = E.Libs.ACL:NewLocale("ElvUI", "esMX")
-- DESC locales
L["ENH_LOGIN_MSG"] = "You are using |cff1784d1ElvUI Enhanced|r |cffff8000(WotLK)|r version %s%s|r."
L["DURABILITY_DESC"] = "Adjust the settings for the durability information on the character screen."
L["ITEMLEVEL_DESC"] = "Adjust the settings for the item level information on the character screen."
L["WATCHFRAME_DESC"] = "Adjust the settings for the visibility of the watchframe (questlog) to your personal preference."
-- Incompatibility
L["GearScore '3.1.20b - Release' is not for WotLK. Download 3.1.7. Disable this version?"] = true
-- AddOn List
L["Enable All"] = true
L["Dependencies: "] = true
L["Disable All"] = true
L["Load AddOn"] = true
L["Requires Reload"] = true
-- Chat
L["Filter DPS meters Spam"] = true
L["Replaces reports from damage meters with a clickable hyperlink to reduce chat spam"] = true
-- Datatext
L["Ammo/Shard Counter"] = true
L["Combat Indicator"] = true
L["Distance"] = true
L["In Combat"] = true
L["New Mail"] = true
L["No Mail"] = true
L["Out of Combat"] = true
L["Reincarnation"] = true
L["Target Range"] = true
-- Death Recap
L["Death Recap Frame"] = true
L["%s %s"] = true
L["%s by %s"] = true
L["%s sec before death at %s%% health."] = true
L["(%d Absorbed)"] = true
L["(%d Blocked)"] = true
L["(%d Overkill)"] = true
L["(%d Resisted)"] = true
L["Death Recap unavailable."] = true
L["Death Recap"] = true
L["Killing blow at %s%% health."] = true
L["You died."] = true
-- Decline Duels
L["Auto decline all duels"] = true
L["Decline Duel"] = true
L["Declined duel request from "] = "Duelo rechazado de "
-- Enhanced Character Frame / Paperdoll Backgrounds
L["Character Background"] = true
L["Enhanced Character Frame"] = true
L["Enhanced Model Frames"] = true
L["Inspect Background"] = true
L["Paperdoll Backgrounds"] = true
L["Pet Background"] = true
-- Equipment
L["Damaged Only"] = true
L["Enable/Disable the display of durability information on the character screen."] = true
L["Enable/Disable the display of item levels on the character screen."] = true
L["Only show durabitlity information for items that are damaged."] = true
L["Quality Color"] = true
-- General
L["Add button to Dressing Room frame with ability to undress model."] = true
L["Add button to Trainer frame with ability to train all available skills in one click."] = true
L["Alt-Click Merchant"] = true
L["Already Known"] = true
L["Animated Achievement Bars"] = true
L["Automatically change your watched faction on the reputation bar to the faction you got reputation points for."] = true
L["Automatically release body when killed inside a battleground."] = true
L["Automatically select the quest reward with the highest vendor sell value."] = true
L["Change color of item icons which already known."] = true
L["Changes the transparency of all the movers."] = true
L["Display quest levels at Quest Log."] = true
L["Hide Zone Text"] = true
L["Holding Alt key while buying something from vendor will now buy an entire stack."] = true
L["Mover Transparency"] = true
L["PvP Autorelease"] = true
L["Select Quest Reward"] = true
L["Show Quest Level"] = true
L["Track Reputation"] = true
L["Train All Button"] = true
L["Undress Button"] = true
L["Undress"] = true
-- HD Models Portrait Fix
L["Debug"] = true
L["List of models with broken portrait camera. Separete each model name with ';' simbol"] = true
L["Models to fix"] = true
L["Portrait HD Fix"] = true
L["Print to chat model names of units with enabled 3D portraits."] = true
-- Interrupt Tracker
L["Interrupt Tracker"] = true
-- Nameplates
L["Cache Unit Class"] = true
-- Minimap
L["Above Minimap"] = true
L["Combat Hide"] = true
L["FadeIn Delay"] = true
L["Hide minimap while in combat."] = true
L["Show Location Digits"] = true
L["Toggle Location Digits."] = true
L["Location Digits"] = true
L["Location Panel"] = true
L["Number of digits for map location."] = true
L["The time to wait before fading the minimap back in after combat hide. (0 = Disabled)"] = true
L["Toggle Location Panel."] = true
-- Timer Tracker
L["Timer Tracker"] = true
L["Hook DBM"] = true
-- Tooltip
L["Check Player"] = true
L["Check achievement completion instead of boss kill stats.\nSome servers log incorrect boss kill statistics, this is an alternative way to get player progress."] = true
L["Colorize the tooltip border based on item quality."] = true
L["Icecrown Citadel"] = true
L["Item Border Color"] = true
L["Progress Info"] = true
L["Ruby Sanctum"] = true
L["Show/Hides an Icon for Achievements on the Tooltip."] = true
L["Show/Hides an Icon for Items on the Tooltip."] = true
L["Show/Hides an Icon for Spells on the Tooltip."] = true
L["Show/Hides an Icon for Spells and Items on the Tooltip."] = true
L["Tiers"] = true
L["Tooltip Icon"] = true
L["Trial of the Crusader"] = true
L["Ulduar"] = true
-- Movers
L["Loss Control"] = "Pérdida de Control"
L["Player Portrait"] = true
L["Target Portrait"] = true
-- Loss Control
L["CC"] = "CC"
L["Disarm"] = "Desarme"
L["Lose Control"] = true
L["PvE"] = "PvE"
L["Root"] = "Inmovilice"
L["Silence"] = "Silencio"
L["Snare"] = "Trampa"
-- Unitframes
L["Class Icons"] = true
L["Detached Height"] = true
L["Show class icon for units."] = true
-- WatchFrame
L["Hidden"] = true
L["Collapsed"] = true
L["City (Resting)"] = true
L["PvP"] = true
L["Party"] = true
L["Raid"] = true
--
L["Drag"] = true
L["Left-click on character and drag to rotate."] = true
L["Mouse Wheel Down"] = true
L["Mouse Wheel Up"] = true
L["Reset Position"] = "Reestablecer Posición"
L["Right-click on character and drag to move it within the window."] = true
L["Rotate Left"] = true
L["Rotate Right"] = true
L["Zoom In"] = true
L["Zoom Out"] = true
--
L["Character Stats"] = true
L["Damage Per Second"] = "DPS"
L["Equipment Manager"] = true
L["Hide Character Information"] = true
L["Hide Pet Information"] = true
L["Item Level"] = true
L["New Set"] = true
L["Resistance"] = true
L["Show Character Information"] = true
L["Show Pet Information"] = true
L["Titles"] = true
L["Total Companions"] = true
L["Total Mounts"] = true
L["ALL"] = "Todo"
L["ALT_KEY"] = "Alt"
L["%d mails\nShift-Click to remove empty mails."] = true
L["Addon |cffFFD100%s|r was merged into |cffFFD100ElvUI_Enhanced|r.\nPlease remove it to avoid conflicts."] = true
L["Cache Unit Guilds / NPC Titles"] = true
L["Check Achievements"] = true
L["Collected "] = true
L["Collection completed."] = true
L["Collection stopped, inventory is full."] = true
L["Color based on reaction type."] = true
L["Compact mode"] = true
L["Companion Background"] = true
L["Desaturate"] = true
L["Detached Portrait"] = true
L["Dressing Room"] = true
L["Enhanced"] = true
L["Equipment Info"] = true
L["Error Frame"] = true
L["Everywhere"] = true
L["Fog of War"] = true
L["Grow direction"] = true
L["Guild"] = true
L["Inside Minimap"] = true
L["Key Press Animation"] = true
L["Map"] = true
L["Minimap Button Grabber"] = true
L["NPC"] = true
L["Overlay Color"] = true
L["Reaction Color"] = true
L["Reported by %s"] = true
L["Rotation"] = true
L["Separator"] = true
L["Set the height of Error Frame. Higher frame can show more lines at once."] = true
L["Set the width of Error Frame. Too narrow frame may cause messages to be split in several lines"] = true
L["Show Everywhere"] = true
L["Show on Arena."] = true
L["Show on Battleground."] = true
L["Smooth Animations"] = true
L["Take All"] = true
L["Take All Mail"] = true
L["Take Cash"] = true
L["This addon has been disabled. You should install an updated version."] = true
L["Where to show"] = true
L["seconds"] = true
+237
View File
@@ -0,0 +1,237 @@
local E = unpack(ElvUI); --Import: Engine, Locales, PrivateDB, ProfileDB, GlobalDB
local L = E.Libs.ACL:NewLocale("ElvUI", "frFR")
-- DESC locales
L["ENH_LOGIN_MSG"] = "Vous utilisez |cff1784d1ElvUI|r |cff1784d1Enhanced|r |cffff8000(WotLK)|r version %s%s|r."
L["DURABILITY_DESC"] = "Ajustez les réglages pour afficher la durabilité sur l'écran d'infos de personnage."
L["ITEMLEVEL_DESC"] = "Réglez les paramètres pour afficher le niveau d'objet sur l'écran d'infos de personnage."
L["WATCHFRAME_DESC"] = "Adjust the settings for the visibility of the watchframe (questlog) to your personal preference."
-- Incompatibility
L["GearScore '3.1.20b - Release' is not for WotLK. Download 3.1.7. Disable this version?"] = true
-- AddOn List
L["Enable All"] = true
L["Dependencies: "] = true
L["Disable All"] = true
L["Load AddOn"] = true
L["Requires Reload"] = true
-- Chat
L["Filter DPS meters Spam"] = true
L["Replaces reports from damage meters with a clickable hyperlink to reduce chat spam"] = true
-- Datatext
L["Ammo/Shard Counter"] = true
L["Combat Indicator"] = true
L["Distance"] = true
L["In Combat"] = true
L["New Mail"] = true
L["No Mail"] = true
L["Out of Combat"] = true
L["Reincarnation"] = true
L["Target Range"] = true
-- Death Recap
L["Death Recap Frame"] = true
L["%s %s"] = true
L["%s by %s"] = true
L["%s sec before death at %s%% health."] = true
L["(%d Absorbed)"] = true
L["(%d Blocked)"] = true
L["(%d Overkill)"] = true
L["(%d Resisted)"] = true
L["Death Recap unavailable."] = true
L["Death Recap"] = "Récapitulatif lors de la mort"
L["Killing blow at %s%% health."] = true
L["You died."] = true
-- Decline Duels
L["Auto decline all duels"] = true
L["Decline Duel"] = true
L["Declined duel request from "] = "Décliné les invites en duel de "
-- Enhanced Character Frame / Paperdoll Backgrounds
L["Character Background"] = true
L["Enhanced Character Frame"] = true
L["Enhanced Model Frames"] = true
L["Inspect Background"] = true
L["Paperdoll Backgrounds"] = true
L["Pet Background"] = true
-- Equipment
L["Damaged Only"] = "Dégâts seulement"
L["Enable/Disable the display of durability information on the character screen."] = "Activer / Désactiver l'affichage des informations de durabilité sur l'écran d'infos de personnage."
L["Enable/Disable the display of item levels on the character screen."] = "Activer / Désactiver l'affichage des informations du niveau d'objet sur l'écran d'infos de personnage."
L["Only show durabitlity information for items that are damaged."] = "Afficher la durabilité seulement quand l'équipement est endommagé."
L["Quality Color"] = true
-- General
L["Add button to Dressing Room frame with ability to undress model."] = true
L["Add button to Trainer frame with ability to train all available skills in one click."] = true
L["Alt-Click Merchant"] = true
L["Already Known"] = true
L["Animated Achievement Bars"] = true
L["Automatically change your watched faction on the reputation bar to the faction you got reputation points for."] = "Change automatiquement la réputation suivie sur la barre de réputation avec la faction que vous êtes en train de faire."
L["Automatically release body when killed inside a battleground."] = "Libère automatiquement votre corps quand vous êtes tué en Champs de Bataille."
L["Automatically select the quest reward with the highest vendor sell value."] = "Sélectionne automatiquement la récompense de quête qui vaut la plus chère chez le vendeur."
L["Changes the transparency of all the movers."] = "Change la transparence des Ancres"
L["Change color of item icons which already known."] = true
L["Display quest levels at Quest Log."] = true
L["Hide Zone Text"] = true
L["Holding Alt key while buying something from vendor will now buy an entire stack."] = true
L["Mover Transparency"] = "Transparence des Ancres"
L["PvP Autorelease"] = "Libération automatique en PVP"
L["Select Quest Reward"] = "Sélection de la récompense de quête"
L["Show Quest Level"] = true
L["Track Reputation"] = "Suivre la Réputation"
L["Train All Button"] = true
L["Undress Button"] = true
L["Undress"] = "Déshabillé"
-- HD Models Portrait Fix
L["Debug"] = true
L["List of models with broken portrait camera. Separete each model name with ';' simbol"] = true
L["Models to fix"] = true
L["Portrait HD Fix"] = true
L["Print to chat model names of units with enabled 3D portraits."] = true
-- Interrupt Tracker
L["Interrupt Tracker"] = true
-- Nameplates
L["Cache Unit Class"] = true
-- Minimap
L["Above Minimap"] = "Sous la minicarte"
L["Combat Hide"] = true
L["FadeIn Delay"] = "Délais d'estompage"
L["Hide minimap while in combat."] = "Cacher la minicarte quand vous êtes en combat"
L["Show Location Digits"] = true
L["Toggle Location Digits."] = true
L["Location Digits"] = "Chiffres d'emplacement"
L["Location Panel"] = true
L["Number of digits for map location."] = "Nombre de chiffres pour l'emplacement."
L["The time to wait before fading the minimap back in after combat hide. (0 = Disabled)"] = "Le temps à attendre avant que la minicarte s'estompe avec que le combat ait commencé. (0 = désactié)"
L["Toggle Location Panel."] = true
-- Timer Tracker
L["Timer Tracker"] = true
L["Hook DBM"] = true
-- Tooltip
L["Check Player"] = true
L["Check achievement completion instead of boss kill stats.\nSome servers log incorrect boss kill statistics, this is an alternative way to get player progress."] = true
L["Colorize the tooltip border based on item quality."] = true
L["Icecrown Citadel"] = true
L["Item Border Color"] = true
L["Progress Info"] = true
L["Ruby Sanctum"] = true
L["Show/Hides an Icon for Achievements on the Tooltip."] = true
L["Show/Hides an Icon for Items on the Tooltip."] = true
L["Show/Hides an Icon for Spells on the Tooltip."] = true
L["Show/Hides an Icon for Spells and Items on the Tooltip."] = true
L["Tiers"] = true
L["Tooltip Icon"] = true
L["Trial of the Crusader"] = true
L["Ulduar"] = true
-- Movers
L["Loss Control"] = "Perte de contrôle"
L["Player Portrait"] = true
L["Target Portrait"] = true
-- Loss Control
L["CC"] = "CC"
L["Disarm"] = "Désarmement"
L["Lose Control"] = true
L["PvE"] = "PvE"
L["Root"] = "Immobilisation"
L["Silence"] = "Silence"
L["Snare"] = "Ralentissement"
-- Unitframes
L["Class Icons"] = true
L["Detached Height"] = true
L["Show class icon for units."] = true
-- WatchFrame
L["Hidden"] = "Caché"
L["Collapsed"] = "Replié"
L["City (Resting)"] = "Ville (repos)"
L["PvP"] = "PvP"
L["Party"] = "Groupe"
L["Raid"] = "Raid"
--
L["Drag"] = true
L["Left-click on character and drag to rotate."] = true
L["Mouse Wheel Down"] = true
L["Mouse Wheel Up"] = true
L["Reset Position"] = "Réinitialiser la position"
L["Right-click on character and drag to move it within the window."] = true
L["Rotate Left"] = true
L["Rotate Right"] = true
L["Zoom In"] = true
L["Zoom Out"] = true
--
L["Character Stats"] = true
L["Damage Per Second"] = "DPS"
L["Equipment Manager"] = true
L["Hide Character Information"] = true
L["Hide Pet Information"] = true
L["Item Level"] = "Niveau d'objet"
L["New Set"] = true
L["Resistance"] = true
L["Show Character Information"] = true
L["Show Pet Information"] = true
L["Titles"] = true
L["Total Companions"] = true
L["Total Mounts"] = true
L["ALL"] = "Tous"
L["ALT_KEY"] = "Touche ALT"
L["%d mails\nShift-Click to remove empty mails."] = true
L["Addon |cffFFD100%s|r was merged into |cffFFD100ElvUI_Enhanced|r.\nPlease remove it to avoid conflicts."] = true
L["Cache Unit Guilds / NPC Titles"] = true
L["Check Achievements"] = true
L["Collected "] = true
L["Collection completed."] = true
L["Collection stopped, inventory is full."] = true
L["Color based on reaction type."] = true
L["Compact mode"] = true
L["Companion Background"] = true
L["Desaturate"] = true
L["Detached Portrait"] = true
L["Dressing Room"] = true
L["Enhanced"] = true
L["Equipment Info"] = true
L["Error Frame"] = true
L["Everywhere"] = true
L["Fog of War"] = true
L["Grow direction"] = true
L["Guild"] = true
L["Inside Minimap"] = true
L["Key Press Animation"] = true
L["Map"] = true
L["Minimap Button Grabber"] = true
L["NPC"] = true
L["Overlay Color"] = true
L["Reaction Color"] = true
L["Reported by %s"] = true
L["Rotation"] = true
L["Separator"] = true
L["Set the height of Error Frame. Higher frame can show more lines at once."] = true
L["Set the width of Error Frame. Too narrow frame may cause messages to be split in several lines"] = true
L["Show Everywhere"] = true
L["Show on Arena."] = true
L["Show on Battleground."] = true
L["Smooth Animations"] = true
L["Take All"] = true
L["Take All Mail"] = true
L["Take Cash"] = true
L["This addon has been disabled. You should install an updated version."] = true
L["Where to show"] = true
L["seconds"] = true
+237
View File
@@ -0,0 +1,237 @@
local E = unpack(ElvUI); --Import: Engine, Locales, PrivateDB, ProfileDB, GlobalDB
local L = E.Libs.ACL:NewLocale("ElvUI", "koKR")
-- DESC locales
L["ENH_LOGIN_MSG"] = "You are using |cff1784d1ElvUI Enhanced|r |cffff8000(WotLK)|r version %s%s|r."
L["DURABILITY_DESC"] = "Adjust the settings for the durability information on the character screen."
L["ITEMLEVEL_DESC"] = "Adjust the settings for the item level information on the character screen."
L["WATCHFRAME_DESC"] = "Adjust the settings for the visibility of the watchframe (questlog) to your personal preference."
-- Incompatibility
L["GearScore '3.1.20b - Release' is not for WotLK. Download 3.1.7. Disable this version?"] = true
-- AddOn List
L["Enable All"] = true
L["Dependencies: "] = true
L["Disable All"] = true
L["Load AddOn"] = true
L["Requires Reload"] = true
-- Chat
L["Filter DPS meters Spam"] = true
L["Replaces reports from damage meters with a clickable hyperlink to reduce chat spam"] = true
-- Datatext
L["Ammo/Shard Counter"] = true
L["Combat Indicator"] = true
L["Distance"] = true
L["In Combat"] = true
L["New Mail"] = true
L["No Mail"] = true
L["Out of Combat"] = true
L["Reincarnation"] = true
L["Target Range"] = true
-- Death Recap
L["Death Recap Frame"] = true
L["%s %s"] = true
L["%s by %s"] = true
L["%s sec before death at %s%% health."] = true
L["(%d Absorbed)"] = true
L["(%d Blocked)"] = true
L["(%d Overkill)"] = true
L["(%d Resisted)"] = true
L["Death Recap unavailable."] = true
L["Death Recap"] = true
L["Killing blow at %s%% health."] = true
L["You died."] = true
-- Decline Duels
L["Auto decline all duels"] = true
L["Decline Duel"] = true
L["Declined duel request from "] = true
-- Enhanced Character Frame / Paperdoll Backgrounds
L["Character Background"] = true
L["Enhanced Character Frame"] = true
L["Enhanced Model Frames"] = true
L["Inspect Background"] = true
L["Paperdoll Backgrounds"] = true
L["Pet Background"] = true
-- Equipment
L["Damaged Only"] = true
L["Enable/Disable the display of durability information on the character screen."] = true
L["Enable/Disable the display of item levels on the character screen."] = true
L["Only show durabitlity information for items that are damaged."] = true
L["Quality Color"] = true
-- General
L["Add button to Dressing Room frame with ability to undress model."] = true
L["Add button to Trainer frame with ability to train all available skills in one click."] = true
L["Alt-Click Merchant"] = true
L["Already Known"] = true
L["Animated Achievement Bars"] = true
L["Automatically change your watched faction on the reputation bar to the faction you got reputation points for."] = true
L["Automatically release body when killed inside a battleground."] = true
L["Automatically select the quest reward with the highest vendor sell value."] = true
L["Change color of item icons which already known."] = true
L["Changes the transparency of all the movers."] = true
L["Display quest levels at Quest Log."] = true
L["Hide Zone Text"] = true
L["Holding Alt key while buying something from vendor will now buy an entire stack."] = true
L["Mover Transparency"] = true
L["PvP Autorelease"] = true
L["Select Quest Reward"] = true
L["Show Quest Level"] = true
L["Track Reputation"] = true
L["Train All Button"] = true
L["Undress Button"] = true
L["Undress"] = true
-- HD Models Portrait Fix
L["Debug"] = true
L["List of models with broken portrait camera. Separete each model name with ';' simbol"] = true
L["Models to fix"] = true
L["Portrait HD Fix"] = true
L["Print to chat model names of units with enabled 3D portraits."] = true
-- Interrupt Tracker
L["Interrupt Tracker"] = true
-- Nameplates
L["Cache Unit Class"] = true
-- Minimap
L["Above Minimap"] = true
L["Combat Hide"] = true
L["FadeIn Delay"] = true
L["Hide minimap while in combat."] = true
L["Show Location Digits"] = true
L["Toggle Location Digits."] = true
L["Location Digits"] = true
L["Location Panel"] = true
L["Number of digits for map location."] = true
L["The time to wait before fading the minimap back in after combat hide. (0 = Disabled)"] = true
L["Toggle Location Panel."] = true
-- Timer Tracker
L["Timer Tracker"] = true
L["Hook DBM"] = true
-- Tooltip
L["Check Player"] = true
L["Check achievement completion instead of boss kill stats.\nSome servers log incorrect boss kill statistics, this is an alternative way to get player progress."] = true
L["Colorize the tooltip border based on item quality."] = true
L["Icecrown Citadel"] = true
L["Item Border Color"] = true
L["Progress Info"] = true
L["Ruby Sanctum"] = true
L["Show/Hides an Icon for Achievements on the Tooltip."] = true
L["Show/Hides an Icon for Items on the Tooltip."] = true
L["Show/Hides an Icon for Spells on the Tooltip."] = true
L["Show/Hides an Icon for Spells and Items on the Tooltip."] = true
L["Tiers"] = true
L["Tooltip Icon"] = true
L["Trial of the Crusader"] = true
L["Ulduar"] = true
-- Movers
L["Loss Control"] = "제어손실 표시"
L["Player Portrait"] = true
L["Target Portrait"] = true
-- Loss Control
L["CC"] = "군중제어"
L["Disarm"] = "무장 해제"
L["Lose Control"] = true
L["PvE"] = "PvE"
L["Root"] = "뿌리묶기"
L["Silence"] = "침묵"
L["Snare"] = ""
-- Unitframes
L["Class Icons"] = true
L["Detached Height"] = true
L["Show class icon for units."] = true
-- WatchFrame
L["Hidden"] = true
L["Collapsed"] = true
L["City (Resting)"] = true
L["PvP"] = true
L["Party"] = true
L["Raid"] = true
--
L["Drag"] = true
L["Left-click on character and drag to rotate."] = true
L["Mouse Wheel Down"] = true
L["Mouse Wheel Up"] = true
L["Reset Position"] = "위치 초기화"
L["Right-click on character and drag to move it within the window."] = true
L["Rotate Left"] = true
L["Rotate Right"] = true
L["Zoom In"] = true
L["Zoom Out"] = true
--
L["Character Stats"] = true
L["Damage Per Second"] = "DPS"
L["Equipment Manager"] = true
L["Hide Character Information"] = true
L["Hide Pet Information"] = true
L["Item Level"] = "아이템 레벨"
L["New Set"] = true
L["Resistance"] = true
L["Show Character Information"] = true
L["Show Pet Information"] = true
L["Titles"] = true
L["Total Companions"] = true
L["Total Mounts"] = true
L["ALL"] = "전체"
L["ALT_KEY"] = "ALT 키"
L["%d mails\nShift-Click to remove empty mails."] = true
L["Addon |cffFFD100%s|r was merged into |cffFFD100ElvUI_Enhanced|r.\nPlease remove it to avoid conflicts."] = true
L["Cache Unit Guilds / NPC Titles"] = true
L["Check Achievements"] = true
L["Collected "] = true
L["Collection completed."] = true
L["Collection stopped, inventory is full."] = true
L["Color based on reaction type."] = true
L["Compact mode"] = true
L["Companion Background"] = true
L["Desaturate"] = true
L["Detached Portrait"] = true
L["Dressing Room"] = true
L["Enhanced"] = true
L["Equipment Info"] = true
L["Error Frame"] = true
L["Everywhere"] = true
L["Fog of War"] = true
L["Grow direction"] = true
L["Guild"] = true
L["Inside Minimap"] = true
L["Key Press Animation"] = true
L["Map"] = true
L["Minimap Button Grabber"] = true
L["NPC"] = true
L["Overlay Color"] = true
L["Reaction Color"] = true
L["Reported by %s"] = true
L["Rotation"] = true
L["Separator"] = true
L["Set the height of Error Frame. Higher frame can show more lines at once."] = true
L["Set the width of Error Frame. Too narrow frame may cause messages to be split in several lines"] = true
L["Show Everywhere"] = true
L["Show on Arena."] = true
L["Show on Battleground."] = true
L["Smooth Animations"] = true
L["Take All"] = true
L["Take All Mail"] = true
L["Take Cash"] = true
L["This addon has been disabled. You should install an updated version."] = true
L["Where to show"] = true
L["seconds"] = true
+237
View File
@@ -0,0 +1,237 @@
local E = unpack(ElvUI); --Import: Engine, Locales, PrivateDB, ProfileDB, GlobalDB
local L = E.Libs.ACL:NewLocale("ElvUI", "ptBR")
-- DESC locales
L["ENH_LOGIN_MSG"] = "Você está a usar |cff1784d1ElvUI|r |cff1784d1Enhanced|r |cffff8000(WotLK)|r versão %s%s|r."
L["DURABILITY_DESC"] = "Ajuste as opções para a informação de durabilidade no ecrã de informação do personagem."
L["ITEMLEVEL_DESC"] = "Adjust the settings for the item level information on the character screen."
L["WATCHFRAME_DESC"] = "Adjust the settings for the visibility of the watchframe (questlog) to your personal preference."
-- Incompatibility
L["GearScore '3.1.20b - Release' is not for WotLK. Download 3.1.7. Disable this version?"] = true
-- AddOn List
L["Enable All"] = true
L["Dependencies: "] = true
L["Disable All"] = true
L["Load AddOn"] = true
L["Requires Reload"] = true
-- Chat
L["Filter DPS meters Spam"] = true
L["Replaces reports from damage meters with a clickable hyperlink to reduce chat spam"] = true
-- Datatext
L["Ammo/Shard Counter"] = true
L["Combat Indicator"] = true
L["Distance"] = true
L["In Combat"] = true
L["New Mail"] = true
L["No Mail"] = true
L["Out of Combat"] = true
L["Reincarnation"] = true
L["Target Range"] = true
-- Death Recap
L["Death Recap Frame"] = true
L["%s %s"] = true
L["%s by %s"] = true
L["%s sec before death at %s%% health."] = true
L["(%d Absorbed)"] = true
L["(%d Blocked)"] = true
L["(%d Overkill)"] = true
L["(%d Resisted)"] = true
L["Death Recap unavailable."] = true
L["Death Recap"] = true
L["Killing blow at %s%% health."] = true
L["You died."] = true
-- Decline Duels
L["Auto decline all duels"] = true
L["Decline Duel"] = true
L["Declined duel request from "] = true
-- Enhanced Character Frame / Paperdoll Backgrounds
L["Character Background"] = true
L["Enhanced Character Frame"] = true
L["Enhanced Model Frames"] = true
L["Inspect Background"] = true
L["Paperdoll Backgrounds"] = true
L["Pet Background"] = true
-- Equipment
L["Damaged Only"] = "Só Danificados"
L["Enable/Disable the display of durability information on the character screen."] = "Activar/desactivar a informação de durabilidade no ecrã de informação do personagem."
L["Enable/Disable the display of item levels on the character screen."] = true
L["Only show durabitlity information for items that are damaged."] = "Só mostrar informação de durabilidade para itens danificados."
L["Quality Color"] = true
-- General
L["Add button to Dressing Room frame with ability to undress model."] = true
L["Add button to Trainer frame with ability to train all available skills in one click."] = true
L["Alt-Click Merchant"] = true
L["Already Known"] = true
L["Animated Achievement Bars"] = true
L["Automatically change your watched faction on the reputation bar to the faction you got reputation points for."] = "Mudar automaticamente a facção controlada para a facção na qual acabou de ganhar pontos de reputação."
L["Automatically release body when killed inside a battleground."] = "Automaticamente libertar o corpo quando morto num campo de batalha."
L["Automatically select the quest reward with the highest vendor sell value."] = true
L["Change color of item icons which already known."] = true
L["Changes the transparency of all the movers."] = true
L["Display quest levels at Quest Log."] = true
L["Hide Zone Text"] = true
L["Holding Alt key while buying something from vendor will now buy an entire stack."] = true
L["Mover Transparency"] = true
L["PvP Autorelease"] = "Auto-libertar em JxJ"
L["Select Quest Reward"] = true
L["Show Quest Level"] = true
L["Track Reputation"] = "Controlar Reputação"
L["Train All Button"] = true
L["Undress Button"] = true
L["Undress"] = true
-- HD Models Portrait Fix
L["Debug"] = true
L["List of models with broken portrait camera. Separete each model name with ';' simbol"] = true
L["Models to fix"] = true
L["Portrait HD Fix"] = true
L["Print to chat model names of units with enabled 3D portraits."] = true
-- Interrupt Tracker
L["Interrupt Tracker"] = true
-- Nameplates
L["Cache Unit Class"] = true
-- Minimap
L["Above Minimap"] = true
L["Combat Hide"] = true
L["FadeIn Delay"] = true
L["Hide minimap while in combat."] = true
L["Show Location Digits"] = true
L["Toggle Location Digits."] = true
L["Location Digits"] = true
L["Location Panel"] = true
L["Number of digits for map location."] = true
L["The time to wait before fading the minimap back in after combat hide. (0 = Disabled)"] = true
L["Toggle Location Panel."] = true
-- Timer Tracker
L["Timer Tracker"] = true
L["Hook DBM"] = true
-- Tooltip
L["Check Player"] = true
L["Check achievement completion instead of boss kill stats.\nSome servers log incorrect boss kill statistics, this is an alternative way to get player progress."] = true
L["Colorize the tooltip border based on item quality."] = true
L["Icecrown Citadel"] = true
L["Item Border Color"] = true
L["Progress Info"] = true
L["Ruby Sanctum"] = true
L["Show/Hides an Icon for Achievements on the Tooltip."] = true
L["Show/Hides an Icon for Items on the Tooltip."] = true
L["Show/Hides an Icon for Spells on the Tooltip."] = true
L["Show/Hides an Icon for Spells and Items on the Tooltip."] = true
L["Tiers"] = true
L["Tooltip Icon"] = true
L["Trial of the Crusader"] = true
L["Ulduar"] = true
-- Movers
L["Loss Control"] = "Perda de Controle"
L["Player Portrait"] = true
L["Target Portrait"] = true
-- Loss Control
L["CC"] = true
L["Disarm"] = true
L["Lose Control"] = true
L["PvE"] = true
L["Root"] = true
L["Silence"] = true
L["Snare"] = true
-- Unitframes
L["Class Icons"] = true
L["Detached Height"] = true
L["Show class icon for units."] = true
-- WatchFrame
L["Hidden"] = true
L["Collapsed"] = true
L["City (Resting)"] = true
L["PvP"] = true
L["Party"] = true
L["Raid"] = true
--
L["Drag"] = true
L["Left-click on character and drag to rotate."] = true
L["Mouse Wheel Down"] = true
L["Mouse Wheel Up"] = true
L["Reset Position"] = "Redefinir Posição"
L["Right-click on character and drag to move it within the window."] = true
L["Rotate Left"] = true
L["Rotate Right"] = true
L["Zoom In"] = true
L["Zoom Out"] = true
--
L["Character Stats"] = true
L["Damage Per Second"] = "DPS"
L["Equipment Manager"] = true
L["Hide Character Information"] = true
L["Hide Pet Information"] = true
L["Item Level"] = true
L["New Set"] = true
L["Resistance"] = true
L["Show Character Information"] = true
L["Show Pet Information"] = true
L["Titles"] = true
L["Total Companions"] = true
L["Total Mounts"] = true
L["ALL"] = "Tudo"
L["ALT_KEY"] = "Tecla ALT"
L["%d mails\nShift-Click to remove empty mails."] = true
L["Addon |cffFFD100%s|r was merged into |cffFFD100ElvUI_Enhanced|r.\nPlease remove it to avoid conflicts."] = true
L["Cache Unit Guilds / NPC Titles"] = true
L["Check Achievements"] = true
L["Collected "] = true
L["Collection completed."] = true
L["Collection stopped, inventory is full."] = true
L["Color based on reaction type."] = true
L["Compact mode"] = true
L["Companion Background"] = true
L["Desaturate"] = true
L["Detached Portrait"] = true
L["Dressing Room"] = true
L["Enhanced"] = true
L["Equipment Info"] = true
L["Error Frame"] = true
L["Everywhere"] = true
L["Fog of War"] = true
L["Grow direction"] = true
L["Guild"] = true
L["Inside Minimap"] = true
L["Key Press Animation"] = true
L["Map"] = true
L["Minimap Button Grabber"] = true
L["NPC"] = true
L["Overlay Color"] = true
L["Reaction Color"] = true
L["Reported by %s"] = true
L["Rotation"] = true
L["Separator"] = true
L["Set the height of Error Frame. Higher frame can show more lines at once."] = true
L["Set the width of Error Frame. Too narrow frame may cause messages to be split in several lines"] = true
L["Show Everywhere"] = true
L["Show on Arena."] = true
L["Show on Battleground."] = true
L["Smooth Animations"] = true
L["Take All"] = true
L["Take All Mail"] = true
L["Take Cash"] = true
L["This addon has been disabled. You should install an updated version."] = true
L["Where to show"] = true
L["seconds"] = true
+237
View File
@@ -0,0 +1,237 @@
local E = unpack(ElvUI); --Import: Engine, Locales, PrivateDB, ProfileDB, GlobalDB
local L = E.Libs.ACL:NewLocale("ElvUI", "ruRU")
-- DESC locales
L["ENH_LOGIN_MSG"] = "Вы используете |cff1784d1ElvUI|r |cff1784d1Enhanced|r |cffff8000(WotLK)|r версии %s%s|r."
L["DURABILITY_DESC"] = "Настройка параметров информации о прочности предметов в окне персонажа."
L["ITEMLEVEL_DESC"] = "Настройка параметров информации об уровне предмета в окне персонажа."
L["WATCHFRAME_DESC"] = "Настройте отображение списка заданий (квест лог) исходя из ваших личных предпочтений."
-- Incompatibility
L["GearScore '3.1.20b - Release' is not for WotLK. Download 3.1.7. Disable this version?"] = "GearScore '3.1.20b - Release' не для WotLK. Загрузите 3.1.7. Отключить эту версию?"
-- AddOn List
L["Enable All"] = true
L["Dependencies: "] = true
L["Disable All"] = true
L["Load AddOn"] = true
L["Requires Reload"] = true
-- Chat
L["Filter DPS meters Spam"] = true
L["Replaces reports from damage meters with a clickable hyperlink to reduce chat spam"] = true
-- Datatext
L["Ammo/Shard Counter"] = true
L["Combat Indicator"] = true
L["Distance"] = true
L["In Combat"] = true
L["New Mail"] = "Новое письмо"
L["No Mail"] = "Нет писем"
L["Out of Combat"] = true
L["Reincarnation"] = true
L["Target Range"] = true
-- Death Recap
L["Death Recap Frame"] = true
L["%s %s"] = "Урон: %s %s"
L["%s by %s"] = "%s - %s"
L["%s sec before death at %s%% health."] = "%s сек. до смерти при объеме здоровья %s%%"
L["(%d Absorbed)"] = "Поглощено: %d ед. урона."
L["(%d Blocked)"] = "Заблокировано: %d уд. урона."
L["(%d Overkill)"] = "Избыточный урон: %d ед."
L["(%d Resisted)"] = "Сопротивление %d еденицам урона."
L["Death Recap unavailable."] = "Информация о смерти не доступна."
L["Death Recap"] = "Информация о смерти"
L["Killing blow at %s%% health."] = "Объем здоровья при получении смертельного удара: %s%%"
L["You died."] = "Вы умерли."
-- Decline Duels
L["Auto decline all duels"] = "Автоматически отклонять все дуэли."
L["Decline Duel"] = true
L["Declined duel request from "] = "DДуэль отклонена от "
-- Enhanced Character Frame / Paperdoll Backgrounds
L["Character Background"] = true
L["Enhanced Character Frame"] = true
L["Enhanced Model Frames"] = true
L["Inspect Background"] = true
L["Paperdoll Backgrounds"] = true
L["Pet Background"] = true
-- Equipment
L["Damaged Only"] = "Только поврежденные"
L["Enable/Disable the display of durability information on the character screen."] = "Включить/Выключить отображение информации о прочности предметов в окне персонажа."
L["Enable/Disable the display of item levels on the character screen."] = "Включить/Выключить отображение уровня предмета в окне персонажа."
L["Only show durabitlity information for items that are damaged."] = "Показывать уровень прочности только на поврежденных предметах."
L["Quality Color"] = true
-- General
L["Add button to Dressing Room frame with ability to undress model."] = true
L["Add button to Trainer frame with ability to train all available skills in one click."] = true
L["Alt-Click Merchant"] = true
L["Already Known"] = true
L["Animated Achievement Bars"] = true
L["Automatically change your watched faction on the reputation bar to the faction you got reputation points for."] = "Автоматическое изменение фракции на панели репутации на ту, очки репутации которой вы получили."
L["Automatically release body when killed inside a battleground."] = "Автоматически покидать тело после смерти на полях боя."
L["Automatically select the quest reward with the highest vendor sell value."] = true
L["Change color of item icons which already known."] = true
L["Changes the transparency of all the movers."] = "Изменяет прозрачность фиксаторов"
L["Display quest levels at Quest Log."] = true
L["Hide Zone Text"] = true
L["Holding Alt key while buying something from vendor will now buy an entire stack."] = true
L["Mover Transparency"] = "Прозрачность фиксаторов"
L["PvP Autorelease"] = "Автовыход из тела"
L["Select Quest Reward"] = true
L["Show Quest Level"] = true
L["Track Reputation"] = "Отслеживание репутации"
L["Train All Button"] = true
L["Undress Button"] = true
L["Undress"] = "Раздеть"
-- HD Models Portrait Fix
L["Debug"] = true
L["List of models with broken portrait camera. Separete each model name with ';' simbol"] = true
L["Models to fix"] = true
L["Portrait HD Fix"] = true
L["Print to chat model names of units with enabled 3D portraits."] = true
-- Interrupt Tracker
L["Interrupt Tracker"] = true
-- Nameplates
L["Cache Unit Class"] = true
-- Minimap
L["Above Minimap"] = "Над миникартой"
L["Combat Hide"] = true
L["FadeIn Delay"] = "Задержка появления"
L["Hide minimap while in combat."] = "Скрывать миникарту во время боя."
L["Show Location Digits"] = true
L["Toggle Location Digits."] = true
L["Location Digits"] = "Цифры координат"
L["Location Panel"] = true
L["Number of digits for map location."] = "Колличество цифр после запятой в координатах."
L["The time to wait before fading the minimap back in after combat hide. (0 = Disabled)"] = "Время ожидания появления миникарты после выхода из боя. (0 = Выключено)"
L["Toggle Location Panel."] = true
-- Timer Tracker
L["Timer Tracker"] = true
L["Hook DBM"] = true
-- Tooltip
L["Check Player"] = true
L["Check achievement completion instead of boss kill stats.\nSome servers log incorrect boss kill statistics, this is an alternative way to get player progress."] = true
L["Colorize the tooltip border based on item quality."] = "Окрашивать бордюр тултипа в цвет качества предмета"
L["Icecrown Citadel"] = true
L["Item Border Color"] = "Цвет рамки предметов"
L["Progress Info"] = "Прогресс"
L["Ruby Sanctum"] = true
L["Show/Hides an Icon for Achievements on the Tooltip."] = true
L["Show/Hides an Icon for Items on the Tooltip."] = true
L["Show/Hides an Icon for Spells on the Tooltip."] = true
L["Show/Hides an Icon for Spells and Items on the Tooltip."] = true
L["Tiers"] = true
L["Tooltip Icon"] = true
L["Trial of the Crusader"] = true
L["Ulduar"] = true
-- Movers
L["Loss Control"] = "Потери контроля"
L["Player Portrait"] = "Портрет игрока"
L["Target Portrait"] = "Портрет цели"
-- Loss Control
L["CC"] = "Потеря контроля"
L["Disarm"] = "Разоружение"
L["Lose Control"] = "Иконка потери контроля"
L["PvE"] = "Рейдовые"
L["Root"] = "Удержание на месте"
L["Silence"] = "Молчание"
L["Snare"] = "Замедление"
-- Unitframes
L["Class Icons"] = true
L["Detached Height"] = "Высота при откреплении"
L["Show class icon for units."] = "Показывать иконку класса на цели."
-- WatchFrame
L["City (Resting)"] = "Город (отдых)"
L["Collapsed"] = "Развернуть"
L["Hidden"] = "Скрыть"
L["Party"] = "Группа"
L["PvP"] = "PvP"
L["Raid"] = "Рейд"
--
L["Drag"] = "Перетащить"
L["Left-click on character and drag to rotate."] = "Зажмите левую кнопку мыши и тащите курсор, чтобы вращать изображение."
L["Mouse Wheel Down"] = "Прокрутка вниз"
L["Mouse Wheel Up"] = "Прокрутка вверх"
L["Reset Position"] = "Сбросить позицию"
L["Right-click on character and drag to move it within the window."] = "Зажмите правую кнопку мыши и тащите курсор, чтобы переместить персонажа."
L["Rotate Left"] = "Вращение влево"
L["Rotate Right"] = "Вращение вправо"
L["Zoom In"] = "Приблизить"
L["Zoom Out"] = "Отдалить"
--
L["Character Stats"] = "Характеристики"
L["Damage Per Second"] = "Урон в секунду"
L["Equipment Manager"] = "Комплекты экипировки"
L["Hide Character Information"] = "Скрыть информацию о персонаже"
L["Hide Pet Information"] = "Скрыть информацию о питомце"
L["Item Level"] = "Уровень предметов"
L["New Set"] = "Новый комплект"
L["Resistance"] = "Cопротивление"
L["Show Character Information"] = "Показать информацию о персонаже"
L["Show Pet Information"] = "Показать информацию о питомце"
L["Titles"] = "Звания"
L["Total Companions"] = "Всего питомцев"
L["Total Mounts"] = "Всего"
L["ALL"] = "Все"
L["ALT_KEY"] = "ALT"
L["%d mails\nShift-Click to remove empty mails."] = true
L["Addon |cffFFD100%s|r was merged into |cffFFD100ElvUI_Enhanced|r.\nPlease remove it to avoid conflicts."] = true
L["Cache Unit Guilds / NPC Titles"] = true
L["Check Achievements"] = true
L["Collected "] = true
L["Collection completed."] = true
L["Collection stopped, inventory is full."] = true
L["Color based on reaction type."] = true
L["Compact mode"] = true
L["Companion Background"] = true
L["Desaturate"] = true
L["Detached Portrait"] = true
L["Dressing Room"] = true
L["Enhanced"] = true
L["Equipment Info"] = true
L["Error Frame"] = true
L["Everywhere"] = true
L["Fog of War"] = true
L["Grow direction"] = true
L["Guild"] = true
L["Inside Minimap"] = true
L["Key Press Animation"] = true
L["Map"] = true
L["Minimap Button Grabber"] = true
L["NPC"] = "НИП"
L["Overlay Color"] = true
L["Reaction Color"] = true
L["Reported by %s"] = true
L["Rotation"] = true
L["Separator"] = true
L["Set the height of Error Frame. Higher frame can show more lines at once."] = true
L["Set the width of Error Frame. Too narrow frame may cause messages to be split in several lines"] = true
L["Show Everywhere"] = true
L["Show on Arena."] = true
L["Show on Battleground."] = true
L["Smooth Animations"] = true
L["Take All"] = true
L["Take All Mail"] = true
L["Take Cash"] = true
L["This addon has been disabled. You should install an updated version."] = true
L["Where to show"] = true
L["seconds"] = true
+237
View File
@@ -0,0 +1,237 @@
local E = unpack(ElvUI); --Import: Engine, Locales, PrivateDB, ProfileDB, GlobalDB
local L = E.Libs.ACL:NewLocale("ElvUI", "zhCN")
-- DESC locales
L["ENH_LOGIN_MSG"] = "你正在使用 |cff1784d1ElvUI|r |cff1784d1Enhanced|r |cffff8000(WotLK)|r version %s%s|r。"
L["DURABILITY_DESC"] = "调整角色界面中装备耐久度信息的设置。"
L["ITEMLEVEL_DESC"] = "调整角色界面中物品等级信息的设置。"
L["WATCHFRAME_DESC"] = "根据个人喜好调整任务追踪框架的设置。"
L["Enhanced"] = "功能增强"
-- Incompatibility
L["GearScore '3.1.20b - Release' is not for WotLK. Download 3.1.7. Disable this version?"] = "GearScore '3.1.20b - Release'并非是为WotLK设计的,请下载版本3.1.7。要禁用此插件吗?"
-- AddOn List
L["Enable All"] = "全部启用"
L["Dependencies: "] = "依赖性:"
L["Disable All"] = "全部禁用"
L["Load AddOn"] = "加载插件"
L["Requires Reload"] = "需要重载"
-- Chat
L["Filter DPS meters Spam"] = "过滤DPS统计的垃圾讯息"
L["Replaces reports from damage meters with a clickable hyperlink to reduce chat spam"] = "用可点击的超链接替换DPS统计的长篇报告,以减少聊天中的垃圾讯息。"
-- Datatext
L["Ammo/Shard Counter"] = "弹药/碎片 计数"
L["Combat Indicator"] = "战斗指示"
L["Distance"] = "距离"
L["In Combat"] = "战斗中"
L["New Mail"] = "新邮件"
L["No Mail"] = "无邮件"
L["Out of Combat"] = "脱离战斗"
L["Reincarnation"] = "灵魂状态"
L["Target Range"] = "目标距离"
-- Death Recap
L["Death Recap Frame"] = "死亡回顾框架"
L["%s %s"] = true
L["%s by %s"] = "%s 来自于 %s"
L["%s sec before death at %s%% health."] = "死亡前 %s 秒,血量 %s%% 。"
L["(%d Absorbed)"] = "(%d 吸收)"
L["(%d Blocked)"] = "(%d 格挡)"
L["(%d Overkill)"] = "(%d 过量伤害)"
L["(%d Resisted)"] = "(%d 抵抗)"
L["Death Recap unavailable."] = "死因回顾不可用"
L["Death Recap"] = "死因回顾"
L["Killing blow at %s%% health."] = "血量 %s%% 时被一击致命。"
L["You died."] = "你死了。"
-- Decline Duels
L["Auto decline all duels"] = "自动拒绝决斗请求"
L["Decline Duel"] = "拒绝决斗"
L["Declined duel request from "] = "已拒绝决斗请求,发起者"
-- Enhanced Character Frame / Paperdoll Backgrounds
L["Character Background"] = "角色界面背景"
L["Companion Background"] = "小伙伴界面背景"
L["Dressing Room"] = "试衣间"
L["Enhanced Character Frame"] = "增强角色界面框架"
L["Enhanced Model Frames"] = "增强模型框架"
L["Error Frame"] = "错误信息框架"
L["Inspect Background"] = "观察界面背景"
L["Paperdoll Backgrounds"] = "纸娃娃系统背景"
L["Pet Background"] = "宠物界面背景"
L["Smooth Animations"] = "平滑动画"
-- Equipment
L["Damaged Only"] = "仅显示受损"
L["Enable/Disable the display of durability information on the character screen."] = "开启/关闭 角色界面装备耐久度显示。"
L["Enable/Disable the display of item levels on the character screen."] = "开启/关闭 角色界面物品等级显示。"
L["Only show durabitlity information for items that are damaged."] = "只在装备受损时显示耐久度信息。"
L["Quality Color"] = "品质颜色"
-- General
L["Add button to Dressing Room frame with ability to undress model."] = "在试衣间界面添加<裸体>按钮。"
L["Add button to Trainer frame with ability to train all available skills in one click."] = "在训练师界面添加<学习全部>按钮,以便一键学习所有可用技能。"
L["Alt-Click Merchant"] = "Alt-点击快速购买"
L["Already Known"] = "已经学会"
L["Animated Achievement Bars"] = "动成就画条"
L["Automatically change your watched faction on the reputation bar to the faction you got reputation points for."] = "当你获得某个阵营的声望时,自动用声望条追踪此阵营的声望。"
L["Automatically release body when killed inside a battleground."] = "在战场中死亡后自动释放灵魂。"
L["Automatically select the quest reward with the highest vendor sell value."] = "自动选择任务奖励中售价最高的物品。"
L["Change color of item icons which already known."] = "改变已经学会的物品图标颜色。"
L["Changes the transparency of all the movers."] = "改变所有移动框架的透明度。"
L["Display quest levels at Quest Log."] = "在任务日志中显示任务等级。"
L["Hide Zone Text"] = "隐藏区域文字"
L["Holding Alt key while buying something from vendor will now buy an entire stack."] = "按下Alt键可在商人处购买整组物品。"
L["Mover Transparency"] = "移动框架透明度"
L["PvP Autorelease"] = "PVP自动释放灵魂"
L["Select Quest Reward"] = "选择任务奖励"
L["Show Quest Level"] = "显示任务等级"
L["Track Reputation"] = "声望追踪"
L["Train All Button"] = "学习全部按钮"
L["Undress Button"] = "裸体按钮"
L["Undress"] = "裸体"
-- HD Models Portrait Fix
L["Debug"] = true
L["List of models with broken portrait camera. Separete each model name with ';' simbol"] = "头像镜头破损的模型列表。每个模型名称之间使用 ';' 符号分隔。"
L["Models to fix"] = "待修复的模型"
L["Portrait HD Fix"] = "高清头像修复"
L["Print to chat model names of units with enabled 3D portraits."] = "将可用3D头像的单位模型名称发布到聊天框中。"
-- Interrupt Tracker
L["Interrupt Tracker"] = "打断追踪"
L["Everywhere"] = "任何区域"
L["Where to show"] = "何处显示"
-- Nameplates
L["Cache Unit Class"] = "缓存单位职业"
L["Cache Unit Guilds / NPC Titles"] = "缓存单位公会/NPC头衔"
L["Guild"] = "公会"
-- Minimap
L["Above Minimap"] = "小地图之上"
L["Combat Hide"] = "战斗隐藏"
L["FadeIn Delay"] = "淡入延迟"
L["Hide minimap while in combat."] = "战斗中隐藏小地图。"
L["Show Location Digits"] = "显示坐标"
L["Toggle Location Digits."] = "开关坐标"
L["Location Digits"] = "坐标"
L["Location Panel"] = "位置面板"
L["Number of digits for map location."] = "地图位置的数字坐标。"
L["The time to wait before fading the minimap back in after combat hide. (0 = Disabled)"] = "脱离战斗后小地图淡入的等待时间。(0 = 禁用)"
L["Toggle Location Panel."] = "开关位置面板。"
-- Timer Tracker
L["Timer Tracker"] = "计时器"
L["Hook DBM"] = "连接DBM"
-- Tooltip
L["Check Player"] = "检查玩家"
L["Check achievement completion instead of boss kill stats.\nSome servers log incorrect boss kill statistics, this is an alternative way to get player progress."] = true
L["Colorize the tooltip border based on item quality."] = "以物品品质着色鼠标提示边框。"
L["Icecrown Citadel"] = "冰冠堡垒"
L["Item Border Color"] = "物品边框颜色"
L["Progress Info"] = "进度信息"
L["Ruby Sanctum"] = "红玉圣殿"
L["Show/Hides an Icon for Achievements on the Tooltip."] = "在鼠标提示中显示成就图标。"
L["Show/Hides an Icon for Items on the Tooltip."] = "在鼠标提示中显示物品图标。"
L["Show/Hides an Icon for Spells on the Tooltip."] = "在鼠标提示中显示技能图标。"
L["Show/Hides an Icon for Spells and Items on the Tooltip."] = "在鼠标提示中显示技能和物品图标。"
L["Tiers"] = "阶段"
L["Tooltip Icon"] = "鼠标提示图标"
L["Trial of the Crusader"] = "十字军的试炼"
L["Ulduar"] = "奥杜尔"
-- Movers
L["Loss Control"] = "失控图标"
L["Player Portrait"] = "玩家头像"
L["Target Portrait"] = "目标头像"
-- Lose Control
L["CC"] = "控制类技能"
L["Disarm"] = "缴械类技能"
L["Lose Control"] = "失控"
L["PvE"] = "PvE"
L["Root"] = "定身类技能"
L["Silence"] = "沉默类技能"
L["Snare"] = "减速类技能"
-- Unitframes
L["Class Icons"] = "职业图标"
L["Detached Height"] = "分离后的高度"
L["Show class icon for units."] = "显示单位的职业图标。"
-- WatchFrame
L["Hidden"] = "隐藏"
L["Collapsed"] = "折叠"
L["City (Resting)"] = "城市 (休息)"
L["PvP"] = true
L["Party"] = "小队"
L["Raid"] = "团队"
--
L["Drag"] = "拖动"
L["Left-click on character and drag to rotate."] = "左键点击角色并拖动可以旋转模型。"
L["Mouse Wheel Down"] = "鼠标滚轮向下"
L["Mouse Wheel Up"] = "鼠标滚轮向上"
L["Reset Position"] = "重置位置"
L["Right-click on character and drag to move it within the window."] = "右键点击角色并拖动可以在窗口内移动模型。"
L["Rotate Left"] = "向左旋转"
L["Rotate Right"] = "向右旋转"
L["Zoom In"] = "放大"
L["Zoom Out"] = "缩小"
--
L["Character Stats"] = "角色属性"
L["Damage Per Second"] = "DPS"
L["Equipment Manager"] = "装备管理"
L["Hide Character Information"] = "隐藏角色信息"
L["Hide Pet Information"] = "隐藏宠物信息"
L["Item Level"] = "物品等级"
L["New Set"] = "新套装"
L["Resistance"] = "抗性"
L["Show Character Information"] = "显示角色信息"
L["Show Pet Information"] = "显示宠物信息"
L["Titles"] = "头衔"
L["Total Companions"] = "所有小伙伴"
L["Total Mounts"] = "所有坐骑"
L["ALL"] = "全部"
L["ALT_KEY"] = "ALT键"
L["%d mails\nShift-Click to remove empty mails."] = true
L["Addon |cffFFD100%s|r was merged into |cffFFD100ElvUI_Enhanced|r.\nPlease remove it to avoid conflicts."] = true
L["Check Achievements"] = true
L["Collected "] = true
L["Collection completed."] = true
L["Collection stopped, inventory is full."] = true
L["Color based on reaction type."] = true
L["Compact mode"] = true
L["Desaturate"] = true
L["Detached Portrait"] = true
L["Equipment Info"] = true
L["Fog of War"] = true
L["Grow direction"] = true
L["Inside Minimap"] = true
L["Key Press Animation"] = true
L["Map"] = true
L["Minimap Button Grabber"] = true
L["NPC"] = true
L["Overlay Color"] = true
L["Reaction Color"] = true
L["Reported by %s"] = true
L["Rotation"] = true
L["Separator"] = true
L["Set the height of Error Frame. Higher frame can show more lines at once."] = true
L["Set the width of Error Frame. Too narrow frame may cause messages to be split in several lines"] = true
L["Show Everywhere"] = true
L["Show on Arena."] = true
L["Show on Battleground."] = true
L["Take All"] = true
L["Take All Mail"] = true
L["Take Cash"] = true
L["This addon has been disabled. You should install an updated version."] = true
L["seconds"] = true
+237
View File
@@ -0,0 +1,237 @@
local E = unpack(ElvUI); --Import: Engine, Locales, PrivateDB, ProfileDB, GlobalDB
local L = E.Libs.ACL:NewLocale("ElvUI", "zhTW")
-- DESC locales
L["ENH_LOGIN_MSG"] = "您正在使用 |cff1784d1ElvUI|r |cff1784d1Enhanced|r |cffff8000(WotLK)|r version %s%s|r."
L["DURABILITY_DESC"] = "調整設置人物窗口裝備耐久度顯示."
L["ITEMLEVEL_DESC"] = "調整在角色資訊上顯示物品裝等的各種設定."
L["WATCHFRAME_DESC"] = "Adjust the settings for the visibility of the watchframe (questlog) to your personal preference."
-- Incompatibility
L["GearScore '3.1.20b - Release' is not for WotLK. Download 3.1.7. Disable this version?"] = true
-- AddOn List
L["Enable All"] = true
L["Dependencies: "] = true
L["Disable All"] = true
L["Load AddOn"] = true
L["Requires Reload"] = true
-- Chat
L["Filter DPS meters Spam"] = true
L["Replaces reports from damage meters with a clickable hyperlink to reduce chat spam"] = true
-- Datatext
L["Ammo/Shard Counter"] = true
L["Combat Indicator"] = true
L["Distance"] = true
L["In Combat"] = true
L["New Mail"] = true
L["No Mail"] = true
L["Out of Combat"] = true
L["Reincarnation"] = true
L["Target Range"] = true
-- Death Recap
L["Death Recap Frame"] = true
L["%s %s"] = true
L["%s by %s"] = true
L["%s sec before death at %s%% health."] = true
L["(%d Absorbed)"] = true
L["(%d Blocked)"] = true
L["(%d Overkill)"] = true
L["(%d Resisted)"] = true
L["Death Recap unavailable."] = true
L["Death Recap"] = true
L["Killing blow at %s%% health."] = true
L["You died."] = true
-- Decline Duels
L["Auto decline all duels"] = "自動拒絕決鬥請求"
L["Decline Duel"] = true
L["Declined duel request from "] = "已拒絕決鬥請求自"
-- Enhanced Character Frame / Paperdoll Backgrounds
L["Character Background"] = true
L["Enhanced Character Frame"] = true
L["Enhanced Model Frames"] = true
L["Inspect Background"] = true
L["Paperdoll Backgrounds"] = true
L["Pet Background"] = true
-- Equipment
L["Damaged Only"] = "受損顯示"
L["Enable/Disable the display of durability information on the character screen."] = "開啓/關閉 人物窗口裝備耐久度顯示."
L["Enable/Disable the display of item levels on the character screen."] = "在角色資訊上顯示各裝備裝等"
L["Only show durabitlity information for items that are damaged."] = "只在裝備受損時顯示耐久度."
L["Quality Color"] = true
-- General
L["Add button to Dressing Room frame with ability to undress model."] = true
L["Add button to Trainer frame with ability to train all available skills in one click."] = true
L["Alt-Click Merchant"] = true
L["Already Known"] = true
L["Animated Achievement Bars"] = true
L["Automatically change your watched faction on the reputation bar to the faction you got reputation points for."] = "當你獲得某個陣營的聲望時, 將自動追蹤此陣營的聲望至經驗值欄位."
L["Automatically release body when killed inside a battleground."] = "在戰場死亡後自動釋放靈魂."
L["Automatically select the quest reward with the highest vendor sell value."] = "自動選取有最高賣價的任務獎勵物品"
L["Change color of item icons which already known."] = true
L["Changes the transparency of all the movers."] = "改變所有定位器的透明度"
L["Display quest levels at Quest Log."] = true
L["Hide Zone Text"] = true
L["Holding Alt key while buying something from vendor will now buy an entire stack."] = true
L["Mover Transparency"] = "定位器透明度"
L["PvP Autorelease"] = "PVP自動釋放靈魂"
L["Select Quest Reward"] = "自動選取任務獎勵"
L["Show Quest Level"] = true
L["Track Reputation"] = "聲望追蹤"
L["Train All Button"] = true
L["Undress Button"] = true
L["Undress"] = "無裝備"
-- HD Models Portrait Fix
L["Debug"] = true
L["List of models with broken portrait camera. Separete each model name with ';' simbol"] = true
L["Models to fix"] = true
L["Portrait HD Fix"] = true
L["Print to chat model names of units with enabled 3D portraits."] = true
-- Interrupt Tracker
L["Interrupt Tracker"] = true
-- Nameplates
L["Cache Unit Class"] = true
-- Minimap
L["Above Minimap"] = "小地圖之上"
L["Combat Hide"] = true
L["FadeIn Delay"] = "隱藏延遲"
L["Hide minimap while in combat."] = "戰鬥中隱藏小地圖"
L["Show Location Digits"] = true
L["Toggle Location Digits."] = true
L["Location Digits"] = "坐標位數"
L["Location Panel"] = true
L["Number of digits for map location."] = "坐標顯示的小數位數"
L["The time to wait before fading the minimap back in after combat hide. (0 = Disabled)"] = "戰鬥開始後隱藏小地圖前的延遲時間 (0=停用)"
L["Toggle Location Panel."] = true
-- Timer Tracker
L["Timer Tracker"] = true
L["Hook DBM"] = true
-- Tooltip
L["Check Player"] = true
L["Check achievement completion instead of boss kill stats.\nSome servers log incorrect boss kill statistics, this is an alternative way to get player progress."] = true
L["Colorize the tooltip border based on item quality."] = true
L["Icecrown Citadel"] = true
L["Item Border Color"] = true
L["Progress Info"] = true
L["Ruby Sanctum"] = true
L["Show/Hides an Icon for Achievements on the Tooltip."] = true
L["Show/Hides an Icon for Items on the Tooltip."] = true
L["Show/Hides an Icon for Spells on the Tooltip."] = true
L["Show/Hides an Icon for Spells and Items on the Tooltip."] = true
L["Tiers"] = true
L["Tooltip Icon"] = true
L["Trial of the Crusader"] = true
L["Ulduar"] = true
-- Movers
L["Loss Control"] = "失去控制圖示"
L["Player Portrait"] = true
L["Target Portrait"] = true
-- Loss Control
L["CC"] = "控制類技能"
L["Disarm"] = "繳械類技能"
L["Lose Control"] = true
L["PvE"] = "PvE"
L["Root"] = "定身類技能"
L["Silence"] = "沉默類技能"
L["Snare"] = "減速類技能"
-- Unitframes
L["Class Icons"] = true
L["Detached Height"] = true
L["Show class icon for units."] = "顯是職業圖標"
-- WatchFrame
L["City (Resting)"] = "城市 (休息)"
L["Collapsed"] = "收起"
L["Hidden"] = "隱藏"
L["Party"] = "隊伍"
L["PvP"] = true
L["Raid"] = "團隊"
--
L["Drag"] = true
L["Left-click on character and drag to rotate."] = true
L["Mouse Wheel Down"] = true
L["Mouse Wheel Up"] = true
L["Reset Position"] = "重設位置"
L["Right-click on character and drag to move it within the window."] = true
L["Rotate Left"] = true
L["Rotate Right"] = true
L["Zoom In"] = true
L["Zoom Out"] = true
--
L["Character Stats"] = true
L["Damage Per Second"] = "DPS"
L["Equipment Manager"] = true
L["Hide Character Information"] = true
L["Hide Pet Information"] = true
L["Item Level"] = "物品等級"
L["New Set"] = true
L["Resistance"] = true
L["Show Character Information"] = true
L["Show Pet Information"] = true
L["Titles"] = true
L["Total Companions"] = true
L["Total Mounts"] = true
L["ALL"] = "全部"
L["ALT_KEY"] = "ALT鍵"
L["%d mails\nShift-Click to remove empty mails."] = true
L["Addon |cffFFD100%s|r was merged into |cffFFD100ElvUI_Enhanced|r.\nPlease remove it to avoid conflicts."] = true
L["Cache Unit Guilds / NPC Titles"] = true
L["Check Achievements"] = true
L["Collected "] = true
L["Collection completed."] = true
L["Collection stopped, inventory is full."] = true
L["Color based on reaction type."] = true
L["Compact mode"] = true
L["Companion Background"] = true
L["Desaturate"] = true
L["Detached Portrait"] = true
L["Dressing Room"] = true
L["Enhanced"] = true
L["Equipment Info"] = true
L["Error Frame"] = true
L["Everywhere"] = true
L["Fog of War"] = true
L["Grow direction"] = true
L["Guild"] = true
L["Inside Minimap"] = true
L["Key Press Animation"] = true
L["Map"] = true
L["Minimap Button Grabber"] = true
L["NPC"] = true
L["Overlay Color"] = true
L["Reaction Color"] = true
L["Reported by %s"] = true
L["Rotation"] = true
L["Separator"] = true
L["Set the height of Error Frame. Higher frame can show more lines at once."] = true
L["Set the width of Error Frame. Too narrow frame may cause messages to be split in several lines"] = true
L["Show Everywhere"] = true
L["Show on Arena."] = true
L["Show on Battleground."] = true
L["Smooth Animations"] = true
L["Take All"] = true
L["Take All Mail"] = true
L["Take Cash"] = true
L["This addon has been disabled. You should install an updated version."] = true
L["Where to show"] = true
L["seconds"] = true
Binary file not shown.
+3
View File
@@ -0,0 +1,3 @@
<Ui xmlns="http://www.blizzard.com/wow/ui/">
<Script file="SharedMedia.lua"/>
</Ui>
+5
View File
@@ -0,0 +1,5 @@
local E = unpack(ElvUI)
local LSM = E.Libs.LSM
LSM:Register("font", "TukUI Unitframes", [[Interface\Addons\ElvUI_Enhanced\Media\fonts\uf_font.ttf]], LSM.LOCALE_BIT_ruRU + LSM.LOCALE_BIT_western)
LSM:Register("statusbar", "BuiOnePixel", [[Interface\Addons\ElvUI_Enhanced\Media\Textures\BuiOnePixel.tga]])
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,114 @@
local E, L, V, P, G = unpack(ElvUI)
local KPA = E:NewModule("Enhanced_KeyPressAnimation")
local LAB = E.Libs.LAB
local ipairs = ipairs
local tinsert, tremove = table.insert, table.remove
local CreateFrame = CreateFrame
local framePool = {}
local function OnFinished(self)
tinsert(framePool, self.parent)
end
local function CreateAnimationFrame()
local db = E.db.enhanced.actionbar.keyPressAnimation
local frame = CreateFrame("Frame", "Enhanced_KeyPressAnimation"..(#KPA.frames + 1), UIParent)
local texture = frame:CreateTexture()
texture:SetTexture([[Interface\Cooldown\star4]])
texture:SetAlpha(0)
texture:SetAllPoints()
texture:SetBlendMode("ADD")
texture:SetVertexColor(db.color.r, db.color.g, db.color.b)
frame.texture = texture
local animationGroup = texture:CreateAnimationGroup()
animationGroup:SetScript("OnFinished", OnFinished)
animationGroup.parent = frame
frame.animationGroup = animationGroup
local alpha1 = animationGroup:CreateAnimation("Alpha")
alpha1:SetChange(1)
alpha1:SetDuration(0)
alpha1:SetOrder(1)
frame.alpha1 = alpha1
local scale1 = animationGroup:CreateAnimation("Scale")
scale1:SetScale(1.0, 1.0)
scale1:SetDuration(0)
scale1:SetOrder(1)
frame.scale1 = scale1
local scale2 = animationGroup:CreateAnimation("Scale")
scale2:SetScale(db.scale, db.scale)
scale2:SetDuration(0.2)
scale2:SetOrder(2)
frame.scale2 = scale2
local rotation = animationGroup:CreateAnimation("Rotation")
rotation:SetDegrees(db.rotation)
rotation:SetDuration(0.2)
rotation:SetOrder(2)
frame.rotation = rotation
tinsert(KPA.frames, frame)
return frame
end
local function StartAnimation(button)
if not button:IsVisible() or button:GetParent():GetAlpha() == 0 then return end
local frame = KPA:GetFreeAnimationFrame()
local animationGroup = frame.animationGroup
frame:SetFrameStrata(button:GetFrameStrata())
frame:SetFrameLevel(button:GetFrameLevel() + 10)
frame:SetAllPoints(button)
frame.button = button
animationGroup:Play()
end
function KPA:GetFreeAnimationFrame()
return #framePool > 0 and tremove(framePool) or CreateAnimationFrame()
end
function KPA:UpdateSetting()
local db = E.db.enhanced.actionbar.keyPressAnimation
for _, frame in ipairs(self.frames) do
frame.texture:SetVertexColor(db.color.r, db.color.g, db.color.b)
frame.scale2:SetScale(db.scale, db.scale)
frame.rotation:SetDegrees(db.rotation)
end
end
function KPA:Initialize()
if not E.private.enhanced.actionbar.keyPressAnimation then return end
self.frames = {}
for i = 1, 3 do
tinsert(framePool, CreateAnimationFrame())
end
LAB.RegisterCallback(KPA, "OnButtonCreated", function(_, button)
button:HookScript("PreClick", StartAnimation)
end)
for button in pairs(LAB.buttonRegistry) do
button:HookScript("PreClick", StartAnimation)
end
end
local function InitializeCallback()
KPA:Initialize()
end
E:RegisterModule(KPA:GetName(), InitializeCallback)
@@ -0,0 +1,3 @@
<Ui xmlns="http://www.blizzard.com/wow/ui/">
<Script file="KeyPressAnimation.lua"/>
</Ui>
@@ -0,0 +1,426 @@
local E, L, V, P, G = unpack(ElvUI)
local mod = E:GetModule("Enhanced_Blizzard")
local _G = _G
local select = select
local floor = math.floor
local tconcat = table.concat
local CreateFrame = CreateFrame
local DisableAddOn = DisableAddOn
local EnableAddOn = EnableAddOn
local GetAddOnDependencies = GetAddOnDependencies
local GetAddOnInfo = GetAddOnInfo
local GetNumAddOns = GetNumAddOns
local IsAddOnLoadOnDemand = IsAddOnLoadOnDemand
local IsAddOnLoaded = IsAddOnLoaded
local IsShiftKeyDown = IsShiftKeyDown
local LoadAddOn = LoadAddOn
local PlaySound = PlaySound
local function AddonList_HasAnyChanged()
local status = ElvUI_AddonList.startStatus
for i = 1, GetNumAddOns() do
local _, _, _, enabled, _, reason = GetAddOnInfo(i)
if not ((enabled == status[i].enabled and not status[i].lod)
or reason == "DEP_DISABLED"
or status[i].reason == "DEP_DISABLED"
or (enabled and status[i].lod and not IsAddOnLoaded(i))
or (not enabled and status[i].lod and not IsAddOnLoaded(i)))
then
return true
end
end
end
local function AddonList_IsAddOnLoadOnDemand(index)
if IsAddOnLoadOnDemand(index) and not IsAddOnLoaded(index) then
return true
end
end
local function AddonList_IsDepsLoaded(...)
local depsCount = select("#", ...)
if depsCount == 0 then return end
for i = 1, depsCount do
if not IsAddOnLoaded(select(i, ...)) then
return
end
end
return true
end
local function AddonList_SetStatus(entry, load, status, reload)
if load then
entry.LoadButton:Show()
else
entry.LoadButton:Hide()
end
if status then
entry.Status:Show()
else
entry.Status:Hide()
end
if reload then
entry.Reload:Show()
else
entry.Reload:Hide()
end
end
local function AddonList_Update()
local numEntries = GetNumAddOns()
local addonIndex, entry, checkbox, status
for i = 1, 20 do
addonIndex = ElvUI_AddonList.offset + i
entry = _G["ElvUI_AddonListEntry"..i]
if addonIndex > numEntries then
entry:Hide()
else
local name, title, _, enabled, loadable, reason = GetAddOnInfo(addonIndex)
checkbox = _G["ElvUI_AddonListEntry"..i.."Enabled"]
checkbox:SetChecked(enabled)
status = _G["ElvUI_AddonListEntry"..i.."Title"]
if loadable or (enabled and (reason == "DEP_DEMAND_LOADED" or reason == "DEMAND_LOADED")) then
status:SetTextColor(1.0, 0.78, 0.0)
elseif enabled and reason ~= "DEP_DISABLED" then
status:SetTextColor(1.0, 0.1, 0.1)
else
status:SetTextColor(0.5, 0.5, 0.5)
end
if title then
status:SetText(title)
else
status:SetText(name)
end
status = _G["ElvUI_AddonListEntry"..i.."Status"]
if not loadable and reason then
status:SetText(_G["ADDON_"..reason])
else
status:SetText("")
end
if enabled ~= ElvUI_AddonList.startStatus[addonIndex].enabled and reason ~= "DEP_DISABLED" and ElvUI_AddonList.startStatus[addonIndex].reason ~= "DEP_DISABLED" then
if enabled then
if AddonList_IsAddOnLoadOnDemand(addonIndex) then
if AddonList_IsDepsLoaded(GetAddOnDependencies(addonIndex)) then
AddonList_SetStatus(entry, true)
else
AddonList_SetStatus(entry)
end
else
AddonList_SetStatus(entry, nil, nil, true)
end
elseif AddonList_IsAddOnLoadOnDemand(addonIndex) then
AddonList_SetStatus(entry, nil, true)
else
AddonList_SetStatus(entry, nil, nil, true)
end
else
AddonList_SetStatus(entry, nil, true)
end
entry.id = addonIndex
entry:Show()
end
end
FauxScrollFrame_Update(ElvUI_AddonListScrollFrame, numEntries, 20, 16, nil, nil, nil, nil, nil, nil, true)
if AddonList_HasAnyChanged() then
ElvUI_AddonListOkayButton:SetText(L["Reload UI"])
ElvUI_AddonList.shouldReload = true
else
ElvUI_AddonListOkayButton:SetText(OKAY)
ElvUI_AddonList.shouldReload = false
end
end
local function AddonList_Enable(index, enabled)
if enabled then
EnableAddOn(index)
else
DisableAddOn(index)
end
AddonList_Update()
end
local function AddonList_LoadAddOn(index)
if not AddonList_IsAddOnLoadOnDemand(index) then return end
LoadAddOn(index)
if IsAddOnLoaded(index) then
ElvUI_AddonList.startStatus[index].enabled = 1
ElvUI_AddonList.startStatus[index].lod = nil
end
AddonList_Update()
end
local function AddonTooltip_BuildDeps(...)
local depsCount = select("#", ...)
if depsCount == 0 then return end
local deps
if depsCount == 1 then
deps = ...
elseif depsCount > 1 then
deps = tconcat({...}, ", ")
end
return L["Dependencies: "] .. deps
end
local function AddonTooltip_Update(self)
local name, title, notes, _, _, security = GetAddOnInfo(self.id)
if not name then return end
GameTooltip:SetOwner(self)
if security == "BANNED" then
GameTooltip:SetText(L["This addon has been disabled. You should install an updated version."])
else
if title then
GameTooltip:AddLine(title)
else
GameTooltip:AddLine(name)
end
GameTooltip:AddLine(notes, 1.0, 1.0, 1.0)
local dependsStr = AddonTooltip_BuildDeps(GetAddOnDependencies(self.id))
if dependsStr then
GameTooltip:AddLine(AddonTooltip_BuildDeps(GetAddOnDependencies(self.id)))
end
end
GameTooltip:Show()
end
function mod:AddonList()
if IsAddOnLoaded("ACP") then return end
local S = E:GetModule("Skins")
local addonList = CreateFrame("Frame", "ElvUI_AddonList", UIParent)
addonList:SetFrameStrata("HIGH")
addonList:Size(520, 466)
addonList:Point("CENTER", 0, 0)
addonList:SetTemplate("Transparent")
addonList:SetClampedToScreen(true)
addonList:SetMovable(true)
addonList:EnableMouse(true)
addonList:RegisterForDrag("LeftButton")
addonList:Hide()
tinsert(UISpecialFrames, addonList:GetName())
addonList.offset = 0
addonList.startStatus = {}
for i = 1, GetNumAddOns() do
local _, _, _, enabled, _, reason = GetAddOnInfo(i)
addonList.startStatus[i] = {
enabled = enabled,
reason = reason,
lod = IsAddOnLoadOnDemand(i)
}
end
addonList:SetScript("OnDragStart", function(self)
if IsShiftKeyDown() then
self:StartMoving()
end
end)
addonList:SetScript("OnDragStop", function(self)
self:StopMovingOrSizing()
end)
local addonTitle = addonList:CreateFontString("$parentTitle", "BACKGROUND", "GameFontNormal")
addonTitle:Point("TOP", 0, -7)
addonTitle:SetText(ADDONS)
local cancelButton = CreateFrame("Button", "$parentCancelButton", addonList, "UIPanelButtonTemplate")
cancelButton:Size(80, 22)
cancelButton:Point("BOTTOMRIGHT", -8, 8)
cancelButton:SetText(CANCEL)
S:HandleButton(cancelButton)
cancelButton:SetScript("OnClick", function()
ElvUI_AddonList:Hide()
end)
local okayButton = CreateFrame("Button", "$parentOkayButton", addonList, "UIPanelButtonTemplate")
okayButton:Size(80, 22)
okayButton:Point("RIGHT", cancelButton, "LEFT", -7, 0)
okayButton:SetText(OKAY)
S:HandleButton(okayButton)
okayButton:SetScript("OnClick", function()
if ElvUI_AddonList.shouldReload then
ReloadUI()
else
ElvUI_AddonList:Hide()
end
end)
local enableAllButton = CreateFrame("Button", "$parentEnableAllButton", addonList, "UIPanelButtonTemplate")
enableAllButton:Size(120, 22)
enableAllButton:Point("BOTTOMLEFT", 8, 8)
enableAllButton:SetText(L["Enable All"])
S:HandleButton(enableAllButton)
enableAllButton:SetScript("OnClick", function()
EnableAllAddOns()
AddonList_Update()
end)
local disableAllButton = CreateFrame("Button", "$parentDisableAllButton", addonList, "UIPanelButtonTemplate")
disableAllButton:Size(120, 22)
disableAllButton:Point("LEFT", enableAllButton, "RIGHT", 7, 0)
disableAllButton:SetText(L["Disable All"])
S:HandleButton(disableAllButton)
disableAllButton:SetScript("OnClick", function()
DisableAllAddOns()
AddonList_Update()
end)
addonList:SetScript("OnShow", function()
AddonList_Update()
PlaySound("igMainMenuOption")
end)
addonList:SetScript("OnHide", function()
PlaySound("igMainMenuOptionCheckBoxOn")
end)
local scrollFrame = CreateFrame("ScrollFrame", "$parentScrollFrame", addonList, "FauxScrollFrameTemplate")
scrollFrame:SetTemplate("Transparent")
scrollFrame:Point("TOPLEFT", 8, -25)
scrollFrame:Point("BOTTOMRIGHT", -29, 37)
scrollFrame.scrollBar = _G[scrollFrame:GetName().."ScrollBar"]
S:HandleScrollBar(scrollFrame.scrollBar, 5)
scrollFrame.scrollBar:Point("TOPLEFT", scrollFrame, "TOPRIGHT", 4, -18)
scrollFrame.scrollBar:Point("BOTTOMLEFT", scrollFrame, "BOTTOMRIGHT", 4, 18)
scrollFrame:SetScript("OnVerticalScroll", function(self, offset)
self.scrollBar:SetValue(offset)
addonList.offset = floor((offset / 16) + 0.5)
AddonList_Update()
if GameTooltip:IsShown() then
AddonTooltip_Update(GameTooltip:GetOwner())
end
end)
local function Enable_OnClick(self)
AddonList_Enable(self:GetParent().id, self:GetChecked())
PlaySound("igMainMenuOptionCheckBoxOn")
end
local function Load_OnClick(self)
AddonList_LoadAddOn(self:GetParent().id)
end
local addonListEntry = {}
for i = 1, 20 do
addonListEntry[i] = CreateFrame("Button", "ElvUI_AddonListEntry"..i, scrollFrame)
addonListEntry[i]:Size(scrollFrame:GetWidth() - 8, 16)
addonListEntry[i].id = i
if i == 1 then
addonListEntry[i]:Point("TOPLEFT", 4, -4)
else
addonListEntry[i]:Point("TOP", addonListEntry[i - 1], "BOTTOM", 0, -4)
end
local enabled = CreateFrame("CheckButton", "$parentEnabled", addonListEntry[i])
enabled:Size(24, 24)
enabled:Point("LEFT", -4, 0)
S:HandleCheckBox(enabled)
local title = addonListEntry[i]:CreateFontString("$parentTitle", "BACKGROUND", "GameFontNormal")
title:Size(220, 12)
title:Point("LEFT", 22, 0)
title:SetJustifyH("LEFT")
local status = addonListEntry[i]:CreateFontString("$parentStatus", "BACKGROUND", "GameFontNormalSmall")
status:Size(220, 12)
status:Point("RIGHT", -22, 0)
status:SetJustifyH("RIGHT")
addonListEntry[i].Status = status
local reload = addonListEntry[i]:CreateFontString("$parentReload", "BACKGROUND", "GameFontRed")
reload:Size(220, 12)
reload:Point("RIGHT", -22, 0)
reload:SetJustifyH("RIGHT")
reload:SetText(L["Requires Reload"])
addonListEntry[i].Reload = reload
local load = CreateFrame("Button", "$parentLoad", addonListEntry[i], "UIPanelButtonTemplate")
load:Size(100, 22)
load:Point("RIGHT", -21, 0)
load:SetText(L["Load AddOn"])
S:HandleButton(load)
addonListEntry[i].LoadButton = load
addonListEntry[i]:SetScript("OnEnter", AddonTooltip_Update)
addonListEntry[i]:SetScript("OnLeave", GameTooltip_Hide)
enabled:SetScript("OnClick", Enable_OnClick)
load:SetScript("OnClick", Load_OnClick)
end
local buttonAddons = CreateFrame("Button", "ElvUI_AddonListButton", GameMenuFrame, "GameMenuButtonTemplate")
buttonAddons:Point("TOP", GameMenuButtonMacros, "BOTTOM", 0, -1)
buttonAddons:SetText(ADDONS)
S:HandleButton(buttonAddons)
buttonAddons:SetScript("OnClick", function()
HideUIPanel(GameMenuFrame)
ElvUI_AddonList:Show()
end)
self:HookScript(GameMenuButtonRatings, "OnShow", function(self)
buttonAddons:Point("TOP", self, "BOTTOM", 0, -1)
end)
self:HookScript(GameMenuButtonRatings, "OnHide", function(self)
buttonAddons:Point("TOP", GameMenuButtonMacros, "BOTTOM", 0, -1)
end)
GameMenuButtonLogout:SetScript("OnShow", function(self)
self:Point("TOP", buttonAddons, "BOTTOM", 0, -16)
if not StaticPopup_Visible("CAMP") and not StaticPopup_Visible("QUIT") then
self:Enable()
else
self:Disable()
end
end)
if GetLocale() == "koKR" then
if IsMacClient() then
GameMenuFrame:Height(308)
else
GameMenuFrame:Height(282)
end
else
if IsMacClient() then
GameMenuFrame:Height(292)
else
GameMenuFrame:Height(266)
end
end
end
@@ -0,0 +1,114 @@
local E, L, V, P, G = unpack(ElvUI)
local S = E:GetModule("Skins")
local _G = _G
local band = bit.band
local function LoadSkin()
if not E.private.enhanced.animatedAchievementBars then return end
local function AnimationStatusBar(bar, noNumber)
bar.anim = CreateAnimationGroup(bar)
bar.anim.progress = bar.anim:CreateAnimation("Progress")
bar.anim.progress:SetSmoothing("Out")
bar.anim.progress:SetDuration(1.7)
bar.anim.color = bar.anim:CreateAnimation("Color")
bar.anim.color:SetSmoothing("Out")
bar.anim.color:SetColorType("Statusbar")
bar.anim.color:SetDuration(1.7)
bar.anim.color.StartR, bar.anim.color.StartG, bar.anim.color.StartB = 1, 0, 0
if not noNumber then
bar.anim2 = CreateAnimationGroup(_G[bar:GetName() .. "Text"])
bar.anim2.number = bar.anim2:CreateAnimation("Number")
bar.anim2.number:SetDuration(1.7)
end
end
local function PlayAnimationStatusBar(bar, max, value, noNumber)
if bar.anim:IsPlaying() or (bar.anim2 and bar.anim2:IsPlaying()) then
bar.anim:Stop()
if not noNumber then
bar.anim2:Stop()
end
end
bar:SetValue(0)
bar.anim.progress:SetChange(value)
local r, g, b = E:ColorGradient(value / max, 1, 0, 0, 1, 1, 0, 0, 1, 0)
bar.anim.color:Reset()
bar.anim.color:SetChange(r, g, b)
bar.anim:Play()
if not noNumber then
bar.anim2.number:SetPostfix("/" .. max)
bar.anim2.number:SetChange(value)
bar.anim2:Play()
end
end
AnimationStatusBar(AchievementFrameSummaryCategoriesStatusBar)
AnimationStatusBar(AchievementFrameComparisonSummaryPlayerStatusBar)
AnimationStatusBar(AchievementFrameComparisonSummaryFriendStatusBar)
for i = 1, 8 do
local frame = _G["AchievementFrameSummaryCategoriesCategory" .. i]
AnimationStatusBar(frame)
end
hooksecurefunc("AchievementFrameCategory_StatusBarTooltip", function(self)
local index = GameTooltip.shownStatusBars
local name = GameTooltip:GetName() .. "StatusBar" .. index
local statusBar = _G[name]
if not statusBar then return end
if not statusBar.anim then
AnimationStatusBar(statusBar)
end
PlayAnimationStatusBar(statusBar, self.numAchievements, self.numCompleted)
end)
hooksecurefunc("AchievementFrameComparison_UpdateStatusBars", function(id)
local numAchievements, numCompleted = GetCategoryNumAchievements(id)
local statusBar = AchievementFrameComparisonSummaryPlayerStatusBar
PlayAnimationStatusBar(statusBar, numAchievements, numCompleted)
local friendCompleted = GetComparisonCategoryNumAchievements(id)
statusBar = AchievementFrameComparisonSummaryFriendStatusBar
PlayAnimationStatusBar(statusBar, numAchievements, friendCompleted)
end)
hooksecurefunc("AchievementFrameSummaryCategoriesStatusBar_Update", function()
local total, completed = GetNumCompletedAchievements()
PlayAnimationStatusBar(AchievementFrameSummaryCategoriesStatusBar, total, completed)
end)
hooksecurefunc("AchievementFrameSummaryCategory_OnShow", function(self)
local totalAchievements, totalCompleted = AchievementFrame_GetCategoryTotalNumAchievements(self:GetID(), true)
PlayAnimationStatusBar(self, totalAchievements, totalCompleted)
end)
hooksecurefunc("AchievementButton_GetProgressBar", function(index)
local frame = _G["AchievementFrameProgressBar" .. index]
if frame and not frame.anim then
AnimationStatusBar(frame, true)
end
end)
hooksecurefunc("AchievementObjectives_DisplayCriteria", function(objectivesFrame, id)
local numCriteria = GetAchievementNumCriteria(id)
local progressBars = 0
for i = 1, numCriteria do
local _, _, _, quantity, reqQuantity, _, flags = GetAchievementCriteriaInfo(id, i)
if band(flags, ACHIEVEMENT_CRITERIA_PROGRESS_BAR) == ACHIEVEMENT_CRITERIA_PROGRESS_BAR then
progressBars = progressBars + 1
local progressBar = AchievementButton_GetProgressBar(progressBars)
PlayAnimationStatusBar(progressBar, reqQuantity, quantity, true)
end
end
end)
end
S:AddCallbackForAddon("Blizzard_AchievementUI", "Enhanced_AchievementUI", LoadSkin)
@@ -0,0 +1,74 @@
local E, L, V, P, G = unpack(ElvUI)
local S = E:GetModule("Skins")
local function SearchBoxTemplate(frame)
frame:SetTextInsets(16, 20, 0, 0)
frame.Instructions = frame:CreateFontString(nil, "ARTWORK", "GameFontDisableSmall")
frame.Instructions:SetText(SEARCH)
frame.Instructions:SetPoint("TOPLEFT", frame, "TOPLEFT", 16, 0)
frame.Instructions:SetPoint("BOTTOMRIGHT", frame, "BOTTOMRIGHT", -20, 0)
frame.Instructions:SetTextColor(0.35, 0.35, 0.35)
frame.Instructions:SetJustifyH("LEFT")
frame.Instructions:SetJustifyV("MIDDLE")
frame.searchIcon = frame:CreateTexture(nil, "OVERLAY")
frame.searchIcon:SetTexture("Interface\\Common\\UI-Searchbox-Icon")
frame.searchIcon:SetVertexColor(0.6, 0.6, 0.6)
frame.searchIcon:Size(14)
frame.searchIcon:Point("LEFT", 0, -2)
frame.clearButton = CreateFrame("Button", nil, frame)
frame.clearButton:Size(14)
frame.clearButton:Point("RIGHT", -3, 0)
frame.clearButton.texture = frame.clearButton:CreateTexture()
frame.clearButton.texture:SetTexture("Interface\\FriendsFrame\\ClearBroadcastIcon")
frame.clearButton.texture:SetAlpha(0.5)
frame.clearButton.texture:Size(17)
frame.clearButton.texture:Point("CENTER", 0, 0)
frame.clearButton:SetScript("OnEnter", function(self) self.texture:SetAlpha(1.0) end)
frame.clearButton:SetScript("OnLeave", function(self) self.texture:SetAlpha(0.5) end)
frame.clearButton:SetScript("OnMouseDown", function(self) if self:IsEnabled() then self.texture:Point("CENTER", 1, -1) end end)
frame.clearButton:SetScript("OnMouseUp", function(self) self.texture:Point("CENTER") end)
frame.clearButton:SetScript("OnClick", function(self)
local editBox = self:GetParent()
editBox:SetText("")
editBox:ClearFocus()
end)
frame:SetScript("OnShow", nil)
frame:SetScript("OnEditFocusLost", function(self)
if self:GetText() == "" then
self.searchIcon:SetVertexColor(0.6, 0.6, 0.6)
self.clearButton:Hide()
end
end)
frame:SetScript("OnEditFocusGained", function(self)
self.searchIcon:SetVertexColor(1.0, 1.0, 1.0)
self.clearButton:Show()
end)
frame:HookScript("OnTextChanged", function(self)
if not self:HasFocus() and self:GetText() == "" then
self.searchIcon:SetVertexColor(0.6, 0.6, 0.6)
self.clearButton:Hide()
else
self.searchIcon:SetVertexColor(1.0, 1.0, 1.0)
self.clearButton:Show()
end
if self:GetText() == "" then
self.Instructions:Show()
else
self.Instructions:Hide()
end
end)
end
S:AddCallbackForAddon("Blizzard_AuctionUI", "Enhanced_AuctionUI", function()
SearchBoxTemplate(BrowseName)
end)
S:AddCallbackForAddon("Blizzard_TradeSkillUI", "Enhanced_TradeSkillUI", function()
SearchBoxTemplate(TradeSkillFrameEditBox)
end)
@@ -0,0 +1,15 @@
local E, L, V, P, G = unpack(ElvUI)
local mod = E:NewModule("Enhanced_Blizzard", "AceHook-3.0", "AceEvent-3.0")
function mod:Initialize()
self:DeathRecap()
self:AddonList()
self:DressUpFrame()
self:ErrorFrameSize()
end
local function InitializeCallback()
mod:Initialize()
end
E:RegisterModule(mod:GetName(), InitializeCallback)
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,414 @@
<Ui xmlns="http://www.blizzard.com/wow/ui/">
<Frame name="CharacterStatFrameTemplate" virtual="true">
<Size x="187" y="15"/>
<Layers>
<Layer level="ARTWORK">
<FontString name="$parentLabel" justifyH="LEFT" inherits="GameFontNormalSmall" parentKey="Label">
<Size x="122" y="0"/>
<Anchors>
<Anchor point="LEFT">
<Offset x="7" y="0"/>
</Anchor>
</Anchors>
</FontString>
<FontString name="$parentStatText" justifyH="RIGHT" inherits="GameFontHighlightSmall" parentKey="Value">
<Anchors>
<Anchor point="RIGHT">
<Offset x="-3" y="0"/>
</Anchor>
</Anchors>
</FontString>
</Layer>
</Layers>
<Scripts>
<OnEnter>
PaperDollStatTooltip("player")
</OnEnter>
<OnLeave>
GameTooltip:Hide()
</OnLeave>
</Scripts>
</Frame>
<Button name="PlayerTitleButtonTemplate2" virtual="true">
<Size x="169" y="22"/>
<Anchors>
<Anchor point="LEFT">
<Offset x="2" y="0"/>
</Anchor>
</Anchors>
<Layers>
<Layer level="BACKGROUND">
<Texture name="$parentStripe" parentKey="Stripe">
<Anchors>
<Anchor point="TOPLEFT" x="1" y="0"/>
<Anchor point="BOTTOMRIGHT" x="0" y="0"/>
</Anchors>
</Texture>
</Layer>
<Layer level="BORDER">
<Texture name="$parentCheck" file="Interface\Buttons\UI-CheckBox-Check" parentKey="Check">
<Size x="16" y="16"/>
<Anchors>
<Anchor point="LEFT">
<Offset x="8" y="0"/>
</Anchor>
</Anchors>
</Texture>
</Layer>
<Layer level="OVERLAY">
<Texture name="$parentSelectedBar" parentKey="SelectedBar" file="Interface\FriendsFrame\UI-FriendsFrame-HighlightBar" alpha="0.4" alphaMode="ADD" hidden="true"/>
</Layer>
</Layers>
<Scripts>
<OnClick>
PlayerTitleButton_OnClick(self)
</OnClick>
</Scripts>
<ButtonText name="$parentTitleText" inherits="GameFontNormalSmallLeft" justifyH="LEFT" parentKey="text">
<Anchors>
<Anchor point="LEFT" relativeTo="$parentCheck" relativePoint="RIGHT" x="3" y="0"/>
<Anchor point="RIGHT" x="-3" y="0"/>
</Anchors>
</ButtonText>
<HighlightTexture file="Interface\AddOns\ElvUI_Enhanced\media\textures\UI-FriendsFrame-HighlightBar-Blue" alphaMode="ADD"/>
</Button>
<Button name="GearSetButtonTemplate2" virtual="true">
<Size x="169" y="44"/>
<Anchors>
<Anchor point="LEFT" x="2" y="0"/>
</Anchors>
<Layers>
<Layer level="BACKGROUND">
<Texture name="$parentStripe" parentKey="Stripe">
<Anchors>
<Anchor point="TOPLEFT" x="1" y="0"/>
<Anchor point="BOTTOMRIGHT" x="0" y="0"/>
</Anchors>
</Texture>
</Layer>
<Layer level="ARTWORK">
<FontString name="$parentText" inherits="GameFontNormalLeft" parentKey="text">
<Size x="98" y="38"/>
<Anchors>
<Anchor point="LEFT" x="44"/>
</Anchors>
</FontString>
</Layer>
<Layer level="OVERLAY">
<Texture name="$parentHighlightBar" parentKey="HighlightBar" file="Interface\AddOns\ElvUI_Enhanced\media\textures\UI-FriendsFrame-HighlightBar-Blue" alpha="0.4" alphaMode="ADD" hidden="true">
<TexCoords left="0.2" right="0.8" top="0" bottom="1"/>
</Texture>
</Layer>
<Layer level="OVERLAY">
<Texture name="$parentSelectedBar" parentKey="SelectedBar" file="Interface\FriendsFrame\UI-FriendsFrame-HighlightBar" alpha="0.4" alphaMode="ADD" hidden="true">
<TexCoords left="0.2" right="0.8" top="0" bottom="1"/>
</Texture>
</Layer>
</Layers>
<Frames>
<Button name="$parentDeleteButton" parentKey="DeleteButton" hidden="true">
<Size>
<AbsDimension x="14" y="14"/>
</Size>
<Anchors>
<Anchor point="BOTTOMRIGHT" x="-2" y="2"/>
</Anchors>
<Layers>
<Layer level="ARTWORK">
<Texture file="Interface\Buttons\UI-GroupLoot-Pass-Up" alpha="0.5" parentKey="texture"/>
</Layer>
</Layers>
<Scripts>
<OnEnter>
self.texture:SetAlpha(1.0)
GameTooltip:SetOwner(self, "ANCHOR_RIGHT")
GameTooltip:SetText(DELETE)
</OnEnter>
<OnLeave>
self.texture:SetAlpha(0.5)
GameTooltip_Hide()
</OnLeave>
<OnMouseDown>
self.texture:SetPoint("TOPLEFT", 1, -1)
</OnMouseDown>
<OnMouseUp>
self.texture:SetPoint("TOPLEFT", 0, 0)
</OnMouseUp>
<OnClick>
local dialog = StaticPopup_Show("CONFIRM_DELETE_EQUIPMENT_SET", self:GetParent().name)
if dialog then
dialog.data = self:GetParent().name
else
UIErrorsFrame:AddMessage(ERR_CLIENT_LOCKED_OUT, 1.0, 0.1, 0.1, 1.0)
end
</OnClick>
</Scripts>
</Button>
<Button name="$parentEditButton" parentKey="EditButton" hidden="true">
<Size>
<AbsDimension x="16" y="16"/>
</Size>
<Anchors>
<Anchor point="RIGHT" relativeTo="$parentDeleteButton" relativePoint="LEFT" x="-1"/>
</Anchors>
<Layers>
<Layer level="ARTWORK">
<Texture file="Interface\WorldMap\GEAR_64GREY" alpha="0.5" parentKey="texture"/>
</Layer>
</Layers>
<Scripts>
<OnEnter>
self.texture:SetAlpha(1.0)
GameTooltip:SetOwner(self, "ANCHOR_RIGHT")
GameTooltip:SetText(ElvUI[2]["Change Name/Icon"])
</OnEnter>
<OnLeave>
self.texture:SetAlpha(0.5)
GameTooltip_Hide()
</OnLeave>
<OnMouseDown>
self.texture:SetPoint("TOPLEFT", 1, -1)
</OnMouseDown>
<OnMouseUp>
self.texture:SetPoint("TOPLEFT", 0, 0)
</OnMouseUp>
<OnClick>
GearSetButton_OnClick(self:GetParent())
GearManagerDialogPopup:Show()
GearManagerDialogPopup.isEdit = true
GearManagerDialogPopup.origName = self:GetParent().name
RecalculateGearManagerDialogPopup(self:GetParent().name, self:GetParent().icon:GetTexture())
</OnClick>
</Scripts>
</Button>
</Frames>
<Scripts>
<OnLoad>
self:RegisterForDrag("LeftButton")
self:CreateBackdrop("Default")
self.backdrop:SetOutside(self.icon)
self.icon:SetParent(self.backdrop)
</OnLoad>
<OnClick>
if self.name and self.name ~= "" then
PlaySound("igMainMenuOptionCheckBoxOn")
PaperDollEquipmentManagerPane.selectedSetName = self.name
PaperDollFrame_ClearIgnoredSlots()
PaperDollFrame_IgnoreSlotsForSet(self.name)
ElvUI[1]:GetModule('Enhanced_CharacterFrame'):PaperDollEquipmentManagerPane_Update()
GearManagerDialogPopup:Hide()
else
GearManagerDialogPopup:Show()
PaperDollEquipmentManagerPane.selectedSetName = nil
GearManagerDialogPopup.selectedSetName = nil
PaperDollFrame_ClearIgnoredSlots()
ElvUI[1]:GetModule('Enhanced_CharacterFrame'):PaperDollEquipmentManagerPane_Update()
end
StaticPopup_Hide("CONFIRM_SAVE_EQUIPMENT_SET")
StaticPopup_Hide("CONFIRM_OVERWRITE_EQUIPMENT_SET")
</OnClick>
<OnDoubleClick>
local name = self.name
if name and name ~= "" then
PlaySound("igCharacterInfoTab")
EquipmentManager_EquipSet(name)
end
</OnDoubleClick>
<OnEnter>
GearSetButton_OnEnter(self)
</OnEnter>
<OnLeave>
GameTooltip:Hide()
</OnLeave>
<OnDragStart>
if self.name and self.name ~= "" then
PickupEquipmentSetByName(self.name)
end
</OnDragStart>
</Scripts>
<NormalTexture name="$parentIcon" parentKey="icon">
<Size>
<AbsDimension x="36" y="36"/>
</Size>
<Anchors>
<Anchor point="LEFT">
<Offset>
<AbsDimension x="4" y="0"/>
</Offset>
</Anchor>
</Anchors>
<TexCoords left="0.08" right="0.92" top="0.08" bottom="0.92"/>
</NormalTexture>
</Button>
<Button name="MysticEnchantButtonTemplate2" virtual="true">
<Size x="169" y="44"/>
<Anchors>
<Anchor point="LEFT" x="2" y="0"/>
</Anchors>
<Layers>
<Layer level="BACKGROUND">
<Texture name="$parentStripe" parentKey="Stripe">
<Anchors>
<Anchor point="TOPLEFT" x="1" y="0"/>
<Anchor point="BOTTOMRIGHT" x="0" y="0"/>
</Anchors>
</Texture>
</Layer>
<Layer level="ARTWORK">
<FontString name="$parentText" inherits="GameFontNormalLeft" parentKey="text">
<Size x="98" y="38"/>
<Anchors>
<Anchor point="LEFT" x="44"/>
</Anchors>
</FontString>
</Layer>
<Layer level="OVERLAY">
<Texture name="$parentHighlightBar" parentKey="HighlightBar" file="Interface\AddOns\ElvUI_Enhanced\media\textures\UI-FriendsFrame-HighlightBar-Blue" alpha="0.4" alphaMode="ADD" hidden="true">
<TexCoords left="0.2" right="0.8" top="0" bottom="1"/>
</Texture>
</Layer>
</Layers>
<Scripts>
<OnLoad>
self:CreateBackdrop("Default")
self.backdrop:SetOutside(self.icon)
self.icon:SetParent(self.backdrop)
</OnLoad>
<OnEnter>
if self.enchant then
local RE = GetREData(self.enchant)
GameTooltip:SetOwner(self, "ANCHOR_RIGHT")
GameTooltip:SetHyperlink("spell:"..RE.spellID)
GameTooltip:Show()
end
</OnEnter>
<OnLeave>
GameTooltip:Hide()
</OnLeave>
</Scripts>
<NormalTexture name="$parentIcon" parentKey="icon">
<Size>
<AbsDimension x="36" y="36"/>
</Size>
<Anchors>
<Anchor point="LEFT">
<Offset>
<AbsDimension x="4" y="0"/>
</Offset>
</Anchor>
</Anchors>
<TexCoords left="0.08" right="0.92" top="0.08" bottom="0.92"/>
</NormalTexture>
</Button>
<Button name="CompanionButtonTemplate2" virtual="true">
<Size x="169" y="44"/>
<Anchors>
<Anchor point="LEFT" x="2" y="0"/>
</Anchors>
<Layers>
<Layer level="BACKGROUND">
<Texture name="$parentStripe" parentKey="Stripe">
<Anchors>
<Anchor point="TOPLEFT" x="0" y="0"/>
<Anchor point="BOTTOMRIGHT" x="0" y="0"/>
</Anchors>
</Texture>
</Layer>
<Layer level="BORDER">
<Texture name="$parentIcon" parentKey="icon">
<Size x="36" y="36"/>
<Anchors>
<Anchor point="LEFT" x="4" y="0"/>
</Anchors>
<TexCoords left="0.08" right="0.92" top="0.08" bottom="0.92"/>
</Texture>
</Layer>
<Layer level="ARTWORK">
<FontString name="$parentName" parentKey="name" inherits="GameFontNormal" justifyH="LEFT">
<Size x="98" y="38"/>
<Anchors>
<Anchor point="TOPLEFT" relativePoint="TOPRIGHT" relativeTo="$parentIcon" x="5" y="0"/>
</Anchors>
</FontString>
</Layer>
<Layer level="OVERLAY">
<Texture name="$parentHighlightBar" parentKey="HighlightBar" file="Interface\AddOns\ElvUI_Enhanced\media\textures\UI-FriendsFrame-HighlightBar-Blue" alpha="0.4" alphaMode="ADD" hidden="true">
<TexCoords left="0.2" right="0.8" top="0" bottom="1"/>
</Texture>
</Layer>
<Layer level="OVERLAY">
<Texture name="$parentSelectedBar" parentKey="SelectedBar" hidden="true"/>
</Layer>
</Layers>
<Frames>
<Cooldown name="$parentCooldown" inherits="CooldownFrameTemplate"/>
</Frames>
<Scripts>
<OnLoad>
self.Stripe:SetInside()
self.HighlightBar:SetInside()
self.SelectedBar:SetInside()
CompanionButton_OnLoad(self)
self:CreateBackdrop("Default")
self.backdrop:SetOutside(self.icon)
_G[self:GetName() .. "Cooldown"]:SetInside(self.icon)
_G[self:GetName() .. "Cooldown"]:SetParent(self.backdrop)
self.icon:SetParent(self.backdrop)
</OnLoad>
<OnClick>
if IsModifiedClick() then
CompanionButton_OnModifiedClick(self, button)
else
local selected, selectedID
if PetPaperDollFrameCompanionFrame.mode == "CRITTER" then
selected = PetPaperDollFrame_FindCompanionIndex(PetPaperDollFrameCompanionFrame.idCritter)
selectedID = PetPaperDollFrameCompanionFrame.idCritter
elseif PetPaperDollFrameCompanionFrame.mode == "MOUNT" then
selected = PetPaperDollFrame_FindCompanionIndex(PetPaperDollFrameCompanionFrame.idMount)
selectedID = PetPaperDollFrameCompanionFrame.idMount
end
if button ~= "LeftButton" or selectedID == self.creatureID then
local index = self:GetID()
if self.active then
DismissCompanion(PetPaperDollFrameCompanionFrame.mode)
else
CallCompanion(PetPaperDollFrameCompanionFrame.mode, index)
end
else
if PetPaperDollFrameCompanionFrame.mode == "CRITTER" then
PetPaperDollFrameCompanionFrame.idCritter = self.creatureID
PetPaperDollFrame_UpdateCompanionPreview()
elseif PetPaperDollFrameCompanionFrame.mode == "MOUNT" then
PetPaperDollFrameCompanionFrame.idMount = self.creatureID
PetPaperDollFrame_UpdateCompanionPreview()
end
end
ElvUI[1]:GetModule("Enhanced_CharacterFrame"):PetPaperDollCompanionPane_Update()
end
PlaySound("igMainMenuOptionCheckBoxOn")
</OnClick>
<OnDragStart>
PickupCompanion(PetPaperDollFrameCompanionFrame.mode, self:GetID())
</OnDragStart>
<OnReceiveDrag>
PickupCompanion(PetPaperDollFrameCompanionFrame.mode, self:GetID())
</OnReceiveDrag>
<OnEnter>
CompanionButton_OnEnter(self, motion)
self.HighlightBar:Show()
</OnEnter>
<OnLeave>
GameTooltip:Hide()
self.HighlightBar:Hide()
</OnLeave>
</Scripts>
</Button>
</Ui>
@@ -0,0 +1,592 @@
local E, L, V, P, G = unpack(ElvUI)
local mod = E:GetModule("Enhanced_Blizzard")
local _G = _G
local select = select
local tonumber = tonumber
local unpack = unpack
local band = bit.band
local ceil, floor = math.ceil, math.floor
local format, upper, split, sub = string.format, string.upper, string.split, string.sub
local tsort, twipe = table.sort, table.wipe
local CannotBeResurrected = CannotBeResurrected
local CopyTable = CopyTable
local CreateFrame = CreateFrame
local GetReleaseTimeRemaining = GetReleaseTimeRemaining
local GetSpellInfo = GetSpellInfo
local GetSpellLink = GetSpellLink
local HasSoulstone = HasSoulstone
local IsActiveBattlefieldArena = IsActiveBattlefieldArena
local IsFalling = IsFalling
local IsOutOfBounds = IsOutOfBounds
local RepopMe = RepopMe
local UnitHealth = UnitHealth
local UnitHealthMax = UnitHealthMax
local UseSoulstone = UseSoulstone
local ACTION_SWING = ACTION_SWING
local ARENA_SPECTATOR = ARENA_SPECTATOR
local COMBATLOG_FILTER_ME = COMBATLOG_FILTER_ME
local COMBATLOG_UNKNOWN_UNIT = COMBATLOG_UNKNOWN_UNIT
local DEATH_RELEASE_NOTIMER = DEATH_RELEASE_NOTIMER
local DEATH_RELEASE_SPECTATOR = DEATH_RELEASE_SPECTATOR
local DEATH_RELEASE_TIMER = DEATH_RELEASE_TIMER
local MINUTES = MINUTES
local SECONDS = SECONDS
local TEXT_MODE_A_STRING_VALUE_SCHOOL = TEXT_MODE_A_STRING_VALUE_SCHOOL
local lastDeathEvents
local index = 0
local deathList = {}
local eventList = {}
local function AddEvent(timestamp, event, sourceName, spellId, spellName, environmentalType, amount, overkill, school, resisted, blocked, absorbed)
if index > 0 and eventList[index].timestamp + 10 <= timestamp then
index = 0
twipe(eventList)
end
if index < 5 then
index = index + 1
else
index = 1
end
if not eventList[index] then
eventList[index] = {}
else
twipe(eventList[index])
end
eventList[index].timestamp = timestamp
eventList[index].event = event
eventList[index].sourceName = sourceName
eventList[index].spellId = spellId
eventList[index].spellName = spellName
eventList[index].environmentalType = environmentalType
eventList[index].amount = amount
eventList[index].overkill = overkill
eventList[index].school = school
eventList[index].resisted = resisted
eventList[index].blocked = blocked
eventList[index].absorbed = absorbed
eventList[index].currentHP = UnitHealth("player")
eventList[index].maxHP = UnitHealthMax("player")
end
local function HasEvents()
if lastDeathEvents then
return #deathList > 0, #deathList
else
return false, #deathList
end
end
local function EraseEvents()
if index > 0 then
index = 0
twipe(eventList)
end
end
local function AddDeath()
if #eventList > 0 then
local _, deathEvents = HasEvents()
local deathIndex = deathEvents + 1
deathList[deathIndex] = CopyTable(eventList)
EraseEvents()
DEFAULT_CHAT_FRAME:AddMessage("|cff71d5ff|Hdeath:"..deathIndex.."|h["..L["You died."].."]|h|r")
return true
end
end
local function GetDeathEvents(recapID)
if recapID and deathList[recapID] then
local deathEvents = deathList[recapID]
tsort(deathEvents, function(a, b) return a.timestamp > b.timestamp end)
return deathEvents
end
end
local function GetTableInfo(data)
local texture
local nameIsNotSpell = false
local event = data.event
local spellId = data.spellId
local spellName = data.spellName
if event == "SWING_DAMAGE" then
spellId = 6603
spellName = ACTION_SWING
nameIsNotSpell = true
elseif event == "RANGE_DAMAGE" then
nameIsNotSpell = true
-- elseif sub(event, 1, 5) == "SPELL" then
elseif event == "ENVIRONMENTAL_DAMAGE" then
local environmentalType = data.environmentalType
environmentalType = upper(environmentalType)
spellName = _G["ACTION_ENVIRONMENTAL_DAMAGE_"..environmentalType]
nameIsNotSpell = true
if environmentalType == "DROWNING" then
texture = "spell_shadow_demonbreath"
elseif environmentalType == "FALLING" then
texture = "ability_rogue_quickrecovery"
elseif environmentalType == "FIRE" or environmentalType == "LAVA" then
texture = "spell_fire_fire"
elseif environmentalType == "SLIME" then
texture = "inv_misc_slime_01"
elseif environmentalType == "FATIGUE" then
texture = "ability_creature_cursed_05"
else
texture = "ability_creature_cursed_05"
end
texture = "Interface\\Icons\\" .. texture
end
if spellName and nameIsNotSpell then
spellName = format("|Haction:%s|h%s|h", event, spellName)
end
if spellId and not texture then
texture = select(3, GetSpellInfo(spellId))
end
return spellId, spellName, texture
end
local function OpenRecap(recapID)
local self = ElvUI_DeathRecapFrame
if self:IsShown() and self.recapID == recapID then
self:Hide()
return
end
local deathEvents = GetDeathEvents(recapID)
if not deathEvents then return end
self.recapID = recapID
self:Show()
if not deathEvents or #deathEvents <= 0 then
for i = 1, 5 do
self.DeathRecapEntry[i]:Hide()
end
self.Unavailable:Show()
return
end
self.Unavailable:Hide()
local highestDmgIdx, highestDmgAmount = 1, 0
self.DeathTimeStamp = nil
for i = 1, #deathEvents do
local entry = self.DeathRecapEntry[i]
local dmgInfo = entry.DamageInfo
local evtData = deathEvents[i]
local spellId, spellName, texture = GetTableInfo(evtData)
entry:Show()
self.DeathTimeStamp = self.DeathTimeStamp or evtData.timestamp
if evtData.amount then
local amountStr = -evtData.amount
dmgInfo.Amount:SetText(amountStr)
dmgInfo.AmountLarge:SetText(amountStr)
dmgInfo.amount = evtData.amount
dmgInfo.dmgExtraStr = ""
if evtData.overkill and evtData.overkill > 0 then
dmgInfo.dmgExtraStr = format(L["(%d Overkill)"], evtData.overkill)
dmgInfo.amount = evtData.amount - evtData.overkill
end
if evtData.absorbed and evtData.absorbed > 0 then
dmgInfo.dmgExtraStr = dmgInfo.dmgExtraStr.." "..format(L["(%d Absorbed)"], evtData.absorbed)
dmgInfo.amount = evtData.amount - evtData.absorbed
end
if evtData.resisted and evtData.resisted > 0 then
dmgInfo.dmgExtraStr = dmgInfo.dmgExtraStr.." "..format(L["(%d Resisted)"], evtData.resisted)
dmgInfo.amount = evtData.amount - evtData.resisted
end
if evtData.blocked and evtData.blocked > 0 then
dmgInfo.dmgExtraStr = dmgInfo.dmgExtraStr.." "..format(L["(%d Blocked)"], evtData.blocked)
dmgInfo.amount = evtData.amount - evtData.blocked
end
if evtData.amount > highestDmgAmount then
highestDmgIdx = i
highestDmgAmount = evtData.amount
end
dmgInfo.Amount:Show()
dmgInfo.AmountLarge:Hide()
else
dmgInfo.Amount:SetText("")
dmgInfo.AmountLarge:SetText("")
dmgInfo.amount = nil
dmgInfo.dmgExtraStr = nil
end
dmgInfo.timestamp = evtData.timestamp
dmgInfo.hpPercent = floor(evtData.currentHP / evtData.maxHP * 100)
dmgInfo.spellName = spellName
dmgInfo.caster = evtData.sourceName or COMBATLOG_UNKNOWN_UNIT
if evtData.school and evtData.school > 1 then
local colorArray = CombatLog_Color_ColorArrayBySchool(evtData.school)
entry.SpellInfo.FrameIcon:SetBackdropBorderColor(colorArray.r, colorArray.g, colorArray.b)
else
entry.SpellInfo.FrameIcon:SetBackdropBorderColor(unpack(E.media.bordercolor))
end
dmgInfo.school = evtData.school
entry.SpellInfo.Caster:SetText(dmgInfo.caster)
entry.SpellInfo.Name:SetText(spellName)
entry.SpellInfo.Icon:SetTexture(texture)
entry.SpellInfo.spellId = spellId
end
for i = #deathEvents + 1, #self.DeathRecapEntry do
self.DeathRecapEntry[i]:Hide()
end
local entry = self.DeathRecapEntry[highestDmgIdx]
if entry.DamageInfo.amount then
entry.DamageInfo.Amount:Hide()
entry.DamageInfo.AmountLarge:Show()
end
local deathEntry = self.DeathRecapEntry[1]
local tombstoneIcon = deathEntry.tombstone
if entry == deathEntry then
tombstoneIcon:Point("RIGHT", deathEntry.DamageInfo.AmountLarge, "LEFT", -10, 0)
end
end
local function Spell_OnEnter(self)
if self.spellId then
GameTooltip:SetOwner(self, "ANCHOR_RIGHT")
GameTooltip:SetHyperlink(GetSpellLink(self.spellId))
GameTooltip:Show()
end
end
local function Amount_OnEnter(self)
GameTooltip:SetOwner(self, "ANCHOR_LEFT")
GameTooltip:ClearLines()
if self.amount then
local valueStr = self.school and format(TEXT_MODE_A_STRING_VALUE_SCHOOL, self.amount, CombatLog_String_SchoolString(self.school)) or self.amount
GameTooltip:AddLine(format(L["%s %s"], valueStr, self.dmgExtraStr), 1, 0, 0, false)
end
if self.spellName then
if self.caster then
GameTooltip:AddLine(format(L["%s by %s"], self.spellName, self.caster), 1, 1, 1, true)
else
GameTooltip:AddLine(self.spellName, 1, 1, 1, true)
end
end
local seconds = ElvUI_DeathRecapFrame.DeathTimeStamp - self.timestamp
if seconds > 0 then
GameTooltip:AddLine(format(L["%s sec before death at %s%% health."], format("%.1F", seconds), self.hpPercent), 1, 0.824, 0, true)
else
GameTooltip:AddLine(format(L["Killing blow at %s%% health."], self.hpPercent), 1, 0.824, 0, true)
end
GameTooltip:Show()
end
function mod:HideDeathPopup()
E:StaticPopup_Hide("DEATH")
end
function mod:PLAYER_DEAD()
if StaticPopup_FindVisible("DEATH") then
if AddDeath() then
lastDeathEvents = true
else
lastDeathEvents = false
end
StaticPopup_Hide("DEATH")
E:StaticPopup_Show("DEATH", GetReleaseTimeRemaining(), SECONDS)
end
end
function mod:COMBAT_LOG_EVENT_UNFILTERED(_, timestamp, event, _, sourceName, sourceFlags, destGUID, destName, destFlags, ...)
if (band(destFlags, COMBATLOG_FILTER_ME) ~= COMBATLOG_FILTER_ME) or (band(sourceFlags, COMBATLOG_FILTER_ME) == COMBATLOG_FILTER_ME) then return end
if event ~= "ENVIRONMENTAL_DAMAGE"
and event ~= "RANGE_DAMAGE"
and event ~= "SPELL_DAMAGE"
and event ~= "SPELL_EXTRA_ATTACKS"
and event ~= "SPELL_INSTAKILL"
and event ~= "SPELL_PERIODIC_DAMAGE"
and event ~= "SWING_DAMAGE"
then return end
local subVal = sub(event, 1, 5)
local environmentalType, spellId, spellName, amount, overkill, school, resisted, blocked, absorbed
if event == "SWING_DAMAGE" then
amount, overkill, school, resisted, blocked, absorbed = ...
elseif subVal == "SPELL" then
spellId, spellName, _, amount, overkill, school, resisted, blocked, absorbed = ...
elseif event == "ENVIRONMENTAL_DAMAGE" then
environmentalType, amount, overkill, school, resisted, blocked, absorbed = ...
end
if not tonumber(amount) then return end
AddEvent(timestamp, event, sourceName, spellId, spellName, environmentalType, amount, overkill, school, resisted, blocked, absorbed)
end
function mod:SetItemRef(link, ...)
if sub(link, 1, 5) == "death" then
local _, id = split(":", link)
OpenRecap(tonumber(id))
return
else
self.hooks.SetItemRef(link, ...)
end
end
function mod:DeathRecap()
if DeathRecapFrame then return end
if not E.private.enhanced.deathRecap then return end
local S = E:GetModule("Skins")
local frame = CreateFrame("Frame", "ElvUI_DeathRecapFrame", UIParent)
frame:Size(340, 326)
frame:Point("CENTER")
frame:SetTemplate("Transparent")
frame:SetMovable(true)
frame:Hide()
frame:SetScript("OnHide", function(self) self.recapID = nil end)
tinsert(UISpecialFrames, frame:GetName())
frame.Title = frame:CreateFontString("ARTWORK", nil, "GameFontNormal")
frame.Title:Point("TOPLEFT", 12, -9)
frame.Title:SetText(L["Death Recap"])
frame.Unavailable = frame:CreateFontString("ARTWORK", nil, "GameFontNormal")
frame.Unavailable:Point("CENTER")
frame.Unavailable:SetText(L["Death Recap unavailable."])
frame.CloseXButton = CreateFrame("Button", "$parentCloseXButton", frame)
frame.CloseXButton:Size(32, 32)
frame.CloseXButton:Point("TOPRIGHT", 2, 1)
frame.CloseXButton:SetScript("OnClick", function(self) self:GetParent():Hide() end)
S:HandleCloseButton(frame.CloseXButton)
frame.DragButton = CreateFrame("Button", "$parentDragButton", frame)
frame.DragButton:Point("TOPLEFT", 0, 0)
frame.DragButton:Point("BOTTOMRIGHT", frame, "TOPRIGHT", 0, -32)
frame.DragButton:RegisterForDrag("LeftButton")
frame.DragButton:SetScript("OnDragStart", function(self) self:GetParent():StartMoving() end)
frame.DragButton:SetScript("OnDragStop", function(self) self:GetParent():StopMovingOrSizing() end)
frame.DeathRecapEntry = {}
for i = 1, 5 do
local button = CreateFrame("Frame", nil, frame)
button:Size(308, 32)
frame.DeathRecapEntry[i] = button
button.DamageInfo = CreateFrame("Button", nil, button)
button.DamageInfo:Point("TOPLEFT", 0, 0)
button.DamageInfo:Point("BOTTOMRIGHT", button, "BOTTOMLEFT", 80, 0)
button.DamageInfo:SetScript("OnEnter", Amount_OnEnter)
button.DamageInfo:SetScript("OnLeave", GameTooltip_Hide)
button.DamageInfo.Amount = button.DamageInfo:CreateFontString("ARTWORK", nil, "GameFontNormalRight")
button.DamageInfo.Amount:SetJustifyH("RIGHT")
button.DamageInfo.Amount:SetJustifyV("CENTER")
button.DamageInfo.Amount:Size(0, 32)
button.DamageInfo.Amount:Point("TOPRIGHT", 0, 0)
button.DamageInfo.Amount:SetTextColor(0.75, 0.05, 0.05, 1)
button.DamageInfo.AmountLarge = button.DamageInfo:CreateFontString("ARTWORK", nil, "NumberFont_Outline_Large")
button.DamageInfo.AmountLarge:SetJustifyH("RIGHT")
button.DamageInfo.AmountLarge:SetJustifyV("CENTER")
button.DamageInfo.AmountLarge:Size(0, 32)
button.DamageInfo.AmountLarge:Point("TOPRIGHT", 0, 0)
button.DamageInfo.AmountLarge:SetTextColor(1, 0.07, 0.07, 1)
button.SpellInfo = CreateFrame("Button", nil, button)
button.SpellInfo:Point("TOPLEFT", button.DamageInfo, "TOPRIGHT", 16, 0)
button.SpellInfo:Point("BOTTOMRIGHT", 0, 0)
button.SpellInfo:SetScript("OnEnter", Spell_OnEnter)
button.SpellInfo:SetScript("OnLeave", GameTooltip_Hide)
button.SpellInfo.FrameIcon = CreateFrame("Button", nil, button.SpellInfo)
button.SpellInfo.FrameIcon:Size(34, 34)
button.SpellInfo.FrameIcon:Point("LEFT", 0, 0)
button.SpellInfo.FrameIcon:SetTemplate("Default")
button.SpellInfo.Icon = button.SpellInfo:CreateTexture("ARTWORK")
button.SpellInfo.Icon:SetParent(button.SpellInfo.FrameIcon)
button.SpellInfo.Icon:SetTexCoord(unpack(E.TexCoords))
button.SpellInfo.Icon:SetInside()
button.SpellInfo.Name = button.SpellInfo:CreateFontString("ARTWORK", nil, "GameFontNormal")
button.SpellInfo.Name:SetJustifyH("LEFT")
button.SpellInfo.Name:SetJustifyV("BOTTOM")
button.SpellInfo.Name:Point("BOTTOMLEFT", button.SpellInfo.Icon, "RIGHT", 8, 1)
button.SpellInfo.Name:Point("TOPRIGHT", 0, 0)
button.SpellInfo.Caster = button.SpellInfo:CreateFontString("ARTWORK", nil, "SystemFont_Shadow_Small")
button.SpellInfo.Caster:SetJustifyH("LEFT")
button.SpellInfo.Caster:SetJustifyV("TOP")
button.SpellInfo.Caster:Point("TOPLEFT", button.SpellInfo.Icon, "RIGHT", 8, -2)
button.SpellInfo.Caster:Point("BOTTOMRIGHT", 0, 0)
button.SpellInfo.Caster:SetTextColor(0.5, 0.5, 0.5, 1)
if i == 1 then
button:Point("BOTTOMLEFT", 16, 64)
button.tombstone = button:CreateTexture("ARTWORK")
button.tombstone:Size(15, 20)
button.tombstone:Point("RIGHT", button.DamageInfo.Amount, "LEFT", -10, 0)
button.tombstone:SetTexCoord(0.658203125, 0.6875, 0.00390625, 0.08203125)
button.tombstone:SetTexture("Interface\\AddOns\\ElvUI_Enhanced\\media\\textures\\DeathRecap")
else
button:Point("BOTTOM", frame.DeathRecapEntry[i - 1], "TOP", 0, 14)
end
end
frame.CloseButton = CreateFrame("Button", nil, frame, "UIPanelButtonTemplate")
frame.CloseButton:Size(144, 21)
frame.CloseButton:Point("BOTTOM", 0, 15)
frame.CloseButton:SetText(CLOSE)
frame.CloseButton:SetScript("OnClick", function(self) ElvUI_DeathRecapFrame:Hide() end)
S:HandleButton(frame.CloseButton)
self:RegisterEvent("COMBAT_LOG_EVENT_UNFILTERED")
self:RegisterEvent("PLAYER_DEAD")
self:RegisterEvent("PLAYER_ENTERING_WORLD", "HideDeathPopup")
self:RegisterEvent("RESURRECT_REQUEST", "HideDeathPopup")
self:RegisterEvent("PLAYER_ALIVE", "HideDeathPopup")
self:RegisterEvent("RAISED_AS_GHOUL", "HideDeathPopup")
self:RawHook("SetItemRef", true)
E.PopupDialogs["DEATH"] = {
text = DEATH_RELEASE_TIMER,
button1 = DEATH_RELEASE,
button2 = USE_SOULSTONE,
button3 = L["Death Recap"],
OnShow = function(self)
self.timeleft = GetReleaseTimeRemaining()
local text = HasSoulstone()
if text then
self.button2:SetText(text)
end
if IsActiveBattlefieldArena() then
self.text:SetText(DEATH_RELEASE_SPECTATOR)
elseif self.timeleft == -1 then
self.text:SetText(DEATH_RELEASE_NOTIMER)
end
if HasEvents() then
self.button3:Enable()
self.button3:SetScript("OnEnter", S.SetModifiedBackdrop)
self.button3:SetScript("OnLeave", S.SetOriginalBackdrop)
else
self.button3:Disable()
self.button3:SetScript("OnEnter", function(self)
GameTooltip:SetOwner(self, "ANCHOR_BOTTOMRIGHT")
GameTooltip:SetText(L["Death Recap unavailable."])
GameTooltip:Show()
end)
self.button3:SetScript("OnLeave", GameTooltip_Hide)
end
end,
OnHide = function(self)
self.button3:SetScript("OnEnter", nil)
self.button3:SetScript("OnLeave", nil)
ElvUI_DeathRecapFrame:Hide()
end,
OnAccept = function(self)
if IsActiveBattlefieldArena() then
local info = ChatTypeInfo["SYSTEM"]
DEFAULT_CHAT_FRAME:AddMessage(ARENA_SPECTATOR, info.r, info.g, info.b, info.id)
end
RepopMe()
if CannotBeResurrected() then
return 1
end
end,
OnCancel = function(self, data, reason)
if reason == "override" then
StaticPopup_Show("RECOVER_CORPSE")
return
end
if reason == "timeout" then
return
end
if reason == "clicked" then
if HasSoulstone() then
UseSoulstone()
else
RepopMe()
end
if CannotBeResurrected() then
return 1
end
end
end,
OnAlt = function()
local _, recapID = HasEvents()
OpenRecap(recapID)
end,
OnUpdate = function(self, elapsed)
if self.timeleft > 0 then
local text = _G[self:GetName().."Text"]
local timeleft = self.timeleft
if timeleft < 60 then
text:SetFormattedText(DEATH_RELEASE_TIMER, timeleft, SECONDS)
else
text:SetFormattedText(DEATH_RELEASE_TIMER, ceil(timeleft / 60), MINUTES)
end
end
if IsFalling() and not IsOutOfBounds() then
self.button1:Disable()
self.button2:Disable()
return
else
self.button1:Enable()
end
if HasSoulstone() then
self.button2:Enable()
else
self.button2:Disable()
end
end,
DisplayButton2 = HasSoulstone,
timeout = 0,
whileDead = 1,
interruptCinematic = 1,
noCancelOnReuse = 1,
hideOnEscape = false,
noCloseOnAlt = true
}
end

Some files were not shown because too many files have changed in this diff Show More