mirror of
https://github.com/brues-code/SuperCleveRoidMacros.git
synced 2026-09-16 03:38:00 +00:00
Migrate to ClassicAPI for macro display, auras and timing
Squash of the classicapi_next branch (10 commits). ClassicAPI is now a hard requirement, and the Lua-side reimplementations it supersedes are gone: net -1087 lines across 12 files. Macro display: resolved macro actions are published through C_Macro.SetMacroDisplay, so the client draws macro buttons and the action-bar function overrides this addon used to install are removed. Ownership is per macro -- ClassicAPI keeps the macros we never claim. Auras and timing: ClassicAPI is the source of truth for non-player aura timing via the positional C_UnitAuras.UnitAura, replacing the write-only buff tracking tables and the overflow-slot fallback. Cleanup: the hasPfUI76 flag and the pfUI 7.6 branches it gated, two silently-shadowed code paths, and per-call allocations in the event and publish paths (SPELL_CAST_EVENT merged). Packaging moves to brues-code/packager@vCAPI. Macro syntax: a clause may carry a leading run of [group] blocks sharing one action, Blizzard-style -- groups are OR'd, first pass wins, and [] always passes. The ;-separated form is unchanged and mixes freely. @focus clauses with no focus set now fail quietly instead of printing "Invalid target" on the way past.
This commit is contained in:
+9
-8
@@ -358,14 +358,15 @@ SlashCmdList.RUNMACRO = function(msg)
|
||||
return CleveRoids.ExecuteMacroByName(CleveRoids.Trim(msg))
|
||||
end
|
||||
|
||||
-- Global RunMacro wrapper for user convenience (delegates to namespaced internal function)
|
||||
-- This pattern ensures internal logic uses CleveRoids.ExecuteMacroByName and won't break
|
||||
-- if another addon overwrites the global RunMacro
|
||||
-- NOTE: When SuperMacro is also loaded, Compatibility/SuperMacro.lua redirects this to
|
||||
-- SuperMacro_RunMacro so macros go through RunLine (where CRM commands are intercepted)
|
||||
function RunMacro(name)
|
||||
return CleveRoids.ExecuteMacroByName(name)
|
||||
end
|
||||
-- The global RunMacro is installed by Core.lua, which loads before this file. Do not
|
||||
-- redefine it here: Core's hook accepts a macro index as well as a name (Blizzard's
|
||||
-- RunMacro takes either), delegates to SuperMacro when that is driving execution,
|
||||
-- falls back to the saved Blizzard original when a macro will not resolve, and clears
|
||||
-- the stop/skip flags at the start of a top-level run, which is what lets /stopmacro,
|
||||
-- /skipmacro and /firstaction work across parent/child macro boundaries. A plain
|
||||
-- name-only wrapper here silently replaced all of that.
|
||||
-- When SuperMacro is loaded, Compatibility/SuperMacro.lua redirects the global to
|
||||
-- SuperMacro_RunMacro so macros go through RunLine (where CRM commands are intercepted).
|
||||
|
||||
SLASH_RETARGET1 = "/retarget"
|
||||
SlashCmdList.RETARGET = function(msg)
|
||||
|
||||
Reference in New Issue
Block a user