Commit Graph

18 Commits

Author SHA1 Message Date
liiora 080c1243b6 feat: add myspellhaste conditional (#4)
* feat: add myspellhaste conditional

* review: fix myspellhaste proxy fallback, document it, register with macrocheck

---------

Co-authored-by: Brues <5278969+brues-code@users.noreply.github.com>
2026-09-10 14:06:27 -05:00
Brues 77c0dba2c4 Alias [mouseuse] to [cursor] via a conditional alias table
Adds CleveRoids.conditionalAliases, applied in ParseMsg so a deprecated name
is rewritten to its current keyword before anything downstream (evaluation,
_groups) sees it. This is the mechanism for renamed modifiers, which -- unlike
predicates such as [stl] -> [stealth] -- have no Keywords function an alias
could simply point at.

[mouseuse] now resolves to [cursor], routing old macros through ClassicAPI's
C_Spell.CastAtCursor / C_Item.UseAtCursor. Drops the post-cast block that cast
normally and then faked a mouse click via CameraOrSelectOrMoveStart/Stop to
place the AoE circle, along with its workaround for that call spuriously
starting auto-attack.

MacroErrorChecker seeds VALID_CONDITIONALS from the alias table, so the old
names stay valid syntax without needing a placeholder ignoreKeywords entry.
2026-09-09 02:18:36 -05:00
Brues 2cf4886b01 Add [mana]/[rage]/[energy] type-specific power conditionals
Read a SPECIFIC power slot (Enum.PowerType) as a percentage via ClassicAPI
UnitPower/UnitPowerMax, rather than the unit's primary power. Adds mana/
mymana, rage/myrage, energy/myenergy (no-prefix = target, @unit-overridable;
my = player), each supporting operators and multi-comparison like [power]/
[mypower]. Works cross-form (druid mana in Cat) and cross-unit -- the
standout being [@target,mana:<15] to catch a caster near OOM. A unit with no
such pool (max <= 0) fails rather than reading 0%. Registered in the macro
error checker (needsArgs + operator hint); VALID_CONDITIONALS auto-populates
from Keywords.
2026-07-27 20:10:20 -05:00
Brues 51b6b26985 Auto-discover registered slash commands in macro checker
The macro syntax checker validated commands against a hardcoded
VALID_COMMANDS table, so any command not on the list (e.g. /dump) was
flagged "Unknown command" even when the client/addon accepted it.

Add CleveRoids.IsRegisteredCommand: scans SlashCmdList and its
SLASH_<KEY>N globals into a cache (rebuilt on PLAYER_ENTERING_WORLD,
lazy-built on first use) so any command registered the addon way is
accepted automatically. Wire it into the validator alongside the
hardcoded table and the user whitelist.

Trim now-redundant hardcoded entries: the third-party addon block
(/aux, /rinse, /cursive, ...) and this addon's own self-registering
commands. Keep only commands NOT in SlashCmdList: Blizzard builtins
(/cast, /target, /run, ...), /focus (pfUI, only present when loaded),
and the chat/social/emote builtins FrameXML handles internally.
2026-06-20 22:11:47 -05:00
Jrc13245 223edb6cfb add conditional rangetimer and rtimer and their noable versions 2026-03-23 16:08:16 -04:00
Jrc13245 37dd0bac94 update for nampower 3_3 and add /cursive to macrochecker whitelist 2026-03-05 23:06:42 -05:00
Jrc13245 ecf2f817fe fix usage of multi-byte utf-8 characters that are unsupported changed to ASCII 2026-02-24 18:00:31 -05:00
Jrc13245 e3cfde0506 add full disable command to macrochecker and temporarily disable swimming conditional ddue to lack of dll support 2026-02-15 10:09:34 -05:00
Jrc13245 dae56dbb16 slashcommand whitelist 2026-02-14 10:38:03 -05:00
Jrc13245 f2bce42acb fix some blizzard commands missed in the macro checker, updates for nampower 2.33 2026-02-11 17:22:08 -05:00
Jrc13245 b0cd1c0657 ingame error checker gui 2026-02-08 21:24:46 -05:00
Jrc13245 f7a4f6e5a2 update 2026-02-07 13:16:25 -05:00
Jrc13245 a7157fb17e fix checking errors on showtooltip lines and some conditionals not needing an argument for some slash commands 2025-11-11 14:13:23 -05:00
Jrc13245 5c9e00e243 update errorchecker to parse all thirty six macros 2025-11-11 10:51:50 -05:00
Jrc13245 246407183e intercept addon errors from string parsing malformed macros 2025-11-11 10:29:35 -05:00
Jrc13245 264633063a fix improper slashcommands 2025-10-29 15:53:29 -04:00
Jrc13245 b075b2cf17 improve checker accuracy 2025-10-29 15:47:59 -04:00
Jrc13245 506b496592 initial macro error checker 2025-10-28 20:36:10 -04:00