Загрузить файлы в «/»

This commit is contained in:
Ade
2026-10-08 06:06:36 +00:00
commit 4ef87a923c
5 changed files with 189 additions and 0 deletions
+3
View File
@@ -0,0 +1,3 @@
*.zip
.DS_Store
Thumbs.db
+21
View File
@@ -0,0 +1,21 @@
## Interface: 11200
## Title: Ade Alts
## Notes: Alt manager: cooldowns, inventory, bank, gear and professions of all your characters. /ade
## Author: Ade
## Version: 1.0
## SavedVariables: AdeAltsDB, ProfCDTrackerDB
## OptionalDeps: pfUI, SuperWoW, nampower
core.lua
scan.lua
cdwin.lua
ui_base.lua
ui_panel.lua
ui_equip.lua
ui_profs.lua
ui_show.lua
ui_layout.lua
ui_config.lua
sync.lua
minimap.lua
alert.lua
events.lua
+17
View File
@@ -0,0 +1,17 @@
# Changelog
## 1.0
- Equipment tab: three columns (6 / 6 / 5 slots) with icon, quality-coloured item name and tooltip.
- Settings: background colour picker.
- Fixed: hunter *Survival* talent line was shown as the Survival profession.
- Fishing, Skinning and Herbalism no longer ask for a recipe scan.
- Code split into several files (avoids Lua 5.0 local / upvalue limits).
## 0.4
- Professions with skill levels and known recipes, equipped gear, cooldown window opacity.
## 0.3 / 0.2
- Settings window (scale, size, opacity), sorting, gold and level fixes, per-alt inventory and bank.
## 0.1
- Cooldown tracker (Salt Shaker, Transmutes, Mooncloth), minimap button, login popup, cross-account sync.
+67
View File
@@ -0,0 +1,67 @@
-- Ade Alts: alert
local AA = AdeAlts
----------------------------------------------------------------------
-- login alert: small window listing everything that is ready
----------------------------------------------------------------------
local al = CreateFrame("Frame", "AdeAltsAlert", UIParent)
al:SetWidth(300)
al:SetHeight(80)
al:SetPoint("TOP", UIParent, "TOP", 0, -140)
al:SetFrameStrata("DIALOG")
al:SetBackdrop({
bgFile = "Interface\\Tooltips\\UI-Tooltip-Background",
edgeFile = "Interface\\Tooltips\\UI-Tooltip-Border",
tile = true, tileSize = 16, edgeSize = 16,
insets = { left = 4, right = 4, top = 4, bottom = 4 },
})
al:SetBackdropColor(0, 0, 0, 0.92)
al:SetMovable(true)
al:EnableMouse(true)
al:RegisterForDrag("LeftButton")
al:SetScript("OnDragStart", function() this:StartMoving() end)
al:SetScript("OnDragStop", function() this:StopMovingOrSizing() end)
al:Hide()
local altitle = al:CreateFontString(nil, "OVERLAY", "GameFontNormal")
altitle:SetPoint("TOP", al, "TOP", 0, -10)
altitle:SetText("|cff40ff40Cooldowns ready!|r")
local altext = al:CreateFontString(nil, "OVERLAY", "GameFontHighlightSmall")
altext:SetPoint("TOPLEFT", al, "TOPLEFT", 14, -28)
altext:SetWidth(272)
altext:SetJustifyH("LEFT")
local alclose = CreateFrame("Button", nil, al, "UIPanelButtonTemplate")
alclose:SetWidth(80); alclose:SetHeight(22)
alclose:SetPoint("BOTTOM", al, "BOTTOM", 0, 10)
alclose:SetText("Close")
alclose:SetScript("OnClick", function() al:Hide() end)
function AA.ShowReadyAlert(force)
if not AA.db then return end
if AA.db.noAlert and not force then return end
local nowt = time()
local text, lines = "", 0
for _, k in ipairs(AA.SortedChars()) do
local c = AA.db.chars[k]
local ready = {}
for key, exp in pairs(c.cds) do
if exp <= nowt then table.insert(ready, key) end
end
if table.getn(ready) > 0 then
table.sort(ready)
text = text .. "|cff" .. AA.ClassHex(c.class) .. c.name .. "|r: " .. table.concat(ready, ", ") .. "\n"
lines = lines + 1
end
end
if lines == 0 then
if not force then return end
text = "|cff808080Nothing is ready right now.\nOpen a profession window on each character\nto record its cooldowns.|r\n"
lines = 3
end
altext:SetText(text)
al:SetHeight(lines * 14 + 70)
al:Show()
end
+81
View File
@@ -0,0 +1,81 @@
-- Ade Alts: cdwin
local AA = AdeAlts
----------------------------------------------------------------------
-- main window
----------------------------------------------------------------------
AA.f = CreateFrame("Frame", "AdeAltsFrame", UIParent)
AA.f:SetWidth(400)
AA.f:SetHeight(100)
AA.f:SetPoint("CENTER", UIParent, "CENTER", 0, 0)
AA.f:SetFrameStrata("DIALOG")
AA.f:SetBackdrop({
bgFile = "Interface\\Tooltips\\UI-Tooltip-Background",
edgeFile = "Interface\\Tooltips\\UI-Tooltip-Border",
tile = true, tileSize = 16, edgeSize = 16,
insets = { left = 4, right = 4, top = 4, bottom = 4 },
})
AA.f:SetBackdropColor(0, 0, 0, 1)
AA.f:SetMovable(true)
AA.f:EnableMouse(true)
AA.f:RegisterForDrag("LeftButton")
AA.f:SetScript("OnDragStart", function() this:StartMoving() end)
AA.f:SetScript("OnDragStop", function() this:StopMovingOrSizing() end)
AA.f:Hide()
table.insert(UISpecialFrames, "AdeAltsFrame")
local cdTitle = AA.f:CreateFontString(nil, "OVERLAY", "GameFontNormal")
cdTitle:SetPoint("TOPLEFT", AA.f, "TOPLEFT", 12, -10)
cdTitle:SetText("Profession Cooldowns")
local close = CreateFrame("Button", nil, AA.f, "UIPanelCloseButton")
close:SetPoint("TOPRIGHT", AA.f, "TOPRIGHT", -2, -2)
local cdLeft = AA.f:CreateFontString(nil, "OVERLAY", "GameFontHighlightSmall")
cdLeft:SetPoint("TOPLEFT", AA.f, "TOPLEFT", 12, -32)
cdLeft:SetWidth(250)
cdLeft:SetJustifyH("LEFT")
local cdRight = AA.f:CreateFontString(nil, "OVERLAY", "GameFontHighlightSmall")
cdRight:SetPoint("TOPRIGHT", AA.f, "TOPRIGHT", -12, -32)
cdRight:SetWidth(110)
cdRight:SetJustifyH("RIGHT")
AA.RefreshCD = function()
if not AA.db or not AA.f:IsVisible() then return end
local txtL, txtR, lines = "", "", 0
local list = AA.Entries()
for _, e in ipairs(list) do
txtL = txtL .. e.l .. "\n"
txtR = txtR .. e.r .. "\n"
lines = lines + 1
end
if lines == 0 then
txtL = "|cff808080No data yet. Open a profession window on each character.|r"
lines = 1
end
cdLeft:SetText(txtL)
cdRight:SetText(txtR)
local h = 44 + lines * 12
if h > 700 then h = 700 end
AA.f:SetHeight(h)
end
AA.Refresh = function()
AA.RefreshCD()
if AA.RefreshManager then AA.RefreshManager() end
end
AA.f:SetScript("OnUpdate", function()
this.t = (this.t or 0) + arg1
if this.t >= 1 then
this.t = 0
AA.RefreshCD()
end
end)
AA.f:SetScript("OnShow", function() if AA.FileMerge then AA.FileMerge() end AA.RefreshCD() end)
function AA.ToggleWindow()
if AA.f:IsVisible() then AA.f:Hide() else AA.f:Show() end
end