mirror of
https://github.com/Kelsidavis/WoWee.git
synced 2026-03-22 23:30:14 +00:00
feat: implement WoW macro conditional evaluator for /cast
Adds evaluateMacroConditionals() which parses the [cond1,cond2] Spell; [cond3] Spell2; Default syntax and returns the first matching alternative. Supported conditions: - mod:shift/ctrl/alt, nomod — keyboard modifier state - target=player/focus/target, @player/@focus/@target — target override - help / harm (noharm / nohelp) — target faction check - dead / nodead — target health check - exists / noexists — target presence check - combat / nocombat — player combat state - noform / nostance / form:0 — shapeshift/stance state - Unknown conditions are permissive (true) to avoid false negatives. /cast now resolves conditionals before spell lookup and routes castSpell() to the [target=X] override GUID when specified. isHostileFaction() exposed as isHostileFactionPublic() for UI use.
This commit is contained in:
parent
ed3bca3d17
commit
30513d0f06
2 changed files with 186 additions and 2 deletions
|
|
@ -1888,6 +1888,7 @@ public:
|
|||
|
||||
bool isMounted() const { return currentMountDisplayId_ != 0; }
|
||||
bool isHostileAttacker(uint64_t guid) const { return hostileAttackers_.count(guid) > 0; }
|
||||
bool isHostileFactionPublic(uint32_t factionTemplateId) const { return isHostileFaction(factionTemplateId); }
|
||||
float getServerRunSpeed() const { return serverRunSpeed_; }
|
||||
float getServerWalkSpeed() const { return serverWalkSpeed_; }
|
||||
float getServerSwimSpeed() const { return serverSwimSpeed_; }
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue