Загрузить файлы в «/»
This commit is contained in:
@@ -0,0 +1,3 @@
|
||||
*.zip
|
||||
.DS_Store
|
||||
Thumbs.db
|
||||
+21
@@ -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
|
||||
@@ -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.
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user