Animations: wire remaining effects + 2-column options panel

- Shared FX toolkit in fx-celebrate.lua: mth_shake tween type, MTH_FX_Flash
  glow helper, MTH_CelebrateRunaway red shaking banner, gold title reset.
- pet.runaway, pet.happiness, pet.loyaltyup, pet.feed
- combat.ammoswap, combat.rangedswap, combat.mmprocs
- ui.zbar, ui.stable, ui.minimapping, ui.optionsclose
- book.model, book.search
- Options > Animations panel now uses a balanced two-column layout.
- CHANGELOG Animations entry expanded (no version bump).
This commit is contained in:
DuvelCorp
2026-09-10 16:38:14 +02:00
parent d2fb04f7c5
commit 66ff1ae711
14 changed files with 343 additions and 11 deletions
+19
View File
@@ -38,6 +38,15 @@ local function MTH_Map_AnimatePin(pin)
MTH_MAP_Sauce:FadeIn(pin, 0.3)
end
-- Ping a minimap pin that just came into range. Only called for genuinely new
-- nodes (see UpdateMinimap), never every tick, to avoid strobing.
local function MTH_Map_PingMinimapPin(pin)
if not MTH_MAP_Sauce or not pin then return end
if type(MTH_FX_IsEnabled) == "function" and not MTH_FX_IsEnabled("ui.minimapping") then return end
if type(pin.SetAlpha) == "function" then pin:SetAlpha(0) end
MTH_MAP_Sauce:FadeIn(pin, 0.35)
end
local MTH_MAP_MINIMAP_ZOOM = {
[0] = { [0] = 300, [1] = 240, [2] = 180, [3] = 120, [4] = 80, [5] = 50 },
[1] = { [0] = 466 + 2/3, [1] = 400, [2] = 333 + 1/3, [3] = 266 + 2/6, [4] = 200, [5] = 133 + 1/3 },
@@ -948,6 +957,7 @@ function MTH_Map:HideMinimapPins()
for i = 1, table.getn(self.minimapPins) do
if self.minimapPins[i] then self.minimapPins[i]:Hide() end
end
self._miniShownSet = nil
end
function MTH_Map:HideAllPins()
@@ -1161,6 +1171,8 @@ function MTH_Map:UpdateMinimap()
local xDraw = Minimap:GetWidth() / xScale / 100
local yDraw = Minimap:GetHeight() / yScale / 100
local shown = 0
local prevShown = self._miniShownSet or {}
local nowShown = {}
for i = 1, table.getn(nodes) do
local node = nodes[i]
@@ -1182,9 +1194,16 @@ function MTH_Map:UpdateMinimap()
pin:ClearAllPoints()
pin:SetPoint("CENTER", Minimap, "CENTER", xPos, -yPos)
pin:Show()
local nodeKey = tostring(node.name or "") .. "@" .. tostring(node.x) .. "," .. tostring(node.y)
nowShown[nodeKey] = true
if not prevShown[nodeKey] then
MTH_Map_PingMinimapPin(pin)
end
end
end
end
self._miniShownSet = nowShown
for i = shown + 1, table.getn(self.minimapPins) do
if self.minimapPins[i] then self.minimapPins[i]:Hide() end