Commit Graph
201 Commits
Author SHA1 Message Date
Jrc13245 e834df91c3 change all proc windows to 4 seconds 2025-11-27 09:51:41 -05:00
Jrc13245 ff6ec25c06 bleed immunity, fix icons and their tooltips with no available actions, reformat readme 2025-11-27 09:21:41 -05:00
Jrc13245 43cbcbc462 fix enemy blocked attacks triggering revenge 2025-11-26 17:40:58 -05:00
Jrc13245 83d95219f2 usable conditional checking existence of regeant for use 2025-11-26 17:05:37 -05:00
Jrc13245 5e26b776eb fix negated conditionals using multi and fix revenge proc from reactive 2025-11-26 13:32:23 -05:00
Jrc13245 6a4f7a417c fix revenge reactive and majorly improve pfui compatibility for icons and actionbars 2025-11-26 07:48:12 -05:00
Jrc13245 21119c8bd5 fix reactive for overpower and revenge to see as active in any stance. 2025-11-25 16:58:44 -05:00
Jrc13245 139c95ba22 new conditional powertype 2025-11-25 15:10:02 -05:00
Jrc13245 a33f3f21db clarify actual multi and noable multi usage, add AND operator for multi, and fix swintimer to be more intuitive. 2025-11-25 14:23:54 -05:00
Jrc13245 43ef919d79 update readme 2025-11-25 08:20:03 -05:00
Jrc13245 6261785507 memory and cpu usage overhaul 2025-11-25 07:41:04 -05:00
Jrc13245 1ff4da7471 fix nocasting conditional 2025-11-24 22:43:56 -05:00
Jrc13245 9dcc2446b7 new conditional swingtimer and druid set bonus debuff durations and warrior talent debuff durations 2025-11-23 16:16:53 -05:00
Jrc13245 7b4fb6e9d2 prevent rare name index error in languages where there is no upper or lower case 2025-11-20 19:54:42 -05:00
Jrc13245 29dc1504d2 update readme 2025-11-19 18:04:51 -05:00
Jrc13245 f6df0b2b5a fix icon issue and fix carnage talent duration refreshers updating visually for pfui 2025-11-19 17:50:30 -05:00
Jrc13245 274475a312 add carnage talent refreshing rip and rake if using ferocious bite at 5 combo points when debuffs are up 2025-11-18 19:39:07 -05:00
Jrc13245 2353569fc0 fix readme 2025-11-18 17:40:59 -05:00
Jrc13245 1d374ffb31 fix readme 2025-11-18 17:40:41 -05:00
Jrc13245 f59b66a7b6 update rake to use the idol duration change andd addd bash talent duration change 2025-11-18 17:37:38 -05:00
Jrc13245 77be86cf17 improve tracking of combo points and spellcasts across all ways to cast spells 2025-11-18 17:01:43 -05:00
Jrc13245 7fd94e3ed2 Add talent and equipment modifier systems for debuff durations
- Talent modifiers: Taste for Blood, Improved Gouge, Improved Shadow Word: Pain
- Equipment modifiers: Black Morass Idol (Rip -10% duration)
- Layered calculation: (base + combo + talent) × equipment
- Console commands: /cleveroid talents, testtalent, testequip
- Auto-detection via GetTalentInfo() and GetInventoryItemLink()
2025-11-18 15:42:38 -05:00
Jrc13245 21dba94822 Add Judgement of the Crusader debuff durations (ranks 1-6) 2025-11-17 20:45:31 -05:00
Jrc13245andClaude c5a57af024 Fix combo point tracking and queue glow for instant finishers
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-17 20:28:22 -05:00
Torio 2f90199a26 Merge pull request #63 from jrc13245/claude/fix-combo-point-tracking-01GZH7rgqnupQ3MwLRbUCjF5
Remove complex logic from CastSpell/UseAction hooks to fix action bars
2025-11-17 17:15:58 -05:00
Claude bdb78b7fda Remove complex logic from CastSpell/UseAction hooks to fix action bars
The CastSpell and UseAction hooks were doing too much work (tooltip
manipulation, spell name detection, combo point tracking) which was
interfering with WoW's action bar icon updates.

Solution:
Made both hooks minimal pass-throughs that just call and return the
original function. Combo point tracking is now handled entirely by:

1. UpdateComboPoints() - runs continuously via OnUpdate, captures
   combo points as they're generated and stores in lastComboPoints

2. SPELLCAST_START event - fires for ALL spell casts regardless of
   source (spellbook, action bar, macro, keybind) and calls
   TrackComboPointCast()

3. TrackComboPointCast() - uses GetComboPoints() first, falls back
   to lastComboPoints if points are already consumed

This approach works for all casting methods:
- Spellbook clicks
- Action bar clicks
- Keybinds
- Macros with /cast
- Macros with conditionals

And doesn't interfere with action bar icon updates (GCD, range
coloring, queue glowing, etc).
2025-11-17 22:14:41 +00:00
Torio 1784128d93 Merge pull request #61 from jrc13245/claude/incomplete-description-01GLZb6eAwLZE2wLkf92bZQj
Claude/incomplete description 01 gl zb6e aw lze2w lkf92b z qj
2025-11-17 16:59:17 -05:00
Claude e7f75ea38d Fix action button glow and state checks to use tooltip fallback
Previously, action button state functions (IsCurrentAction, IsActionInRange,
IsUsableAction, ActionHasRange, GetActionCount, IsConsumableAction) only
checked the active action, not the tooltip action. This caused issues when
using #showtooltip without conditionals, or when no conditionals matched:

- No glow on buttons even when the ability was queued/active
- Incorrect range/usability indicators
- Missing item counts for consumables

Now all these functions use the same priority as GetActionTexture and
GetActionCooldown: check the active action first, then fall back to the
tooltip action. This ensures button states match the displayed icon.

Fixes issues with abilities like Cleave and Heroic Strike not showing glow
when queued, and ensures all action button visuals are consistent.
2025-11-17 21:57:54 +00:00
Claude f74de5ef03 Fix showtooltip icon display by parsing conditionals from spell names
When #showtooltip had an argument with conditionals (e.g., #showtooltip [stance:1] Fireball),
the code was trying to find a spell named "[stance:1] Fireball" which doesn't exist.
This resulted in no texture being found for the tooltip action, causing incorrect icons.

Now the code parses the argument first using GetParsedMsg() to extract just the spell name
before creating the tooltip action info. This allows it to properly find the spell in the
spellbook and retrieve its correct texture/icon.
2025-11-17 21:52:00 +00:00
Torio 62a4b4a5e6 Merge pull request #60 from jrc13245/claude/fix-combo-point-tracking-01GZH7rgqnupQ3MwLRbUCjF5
Claude/fix combo point tracking 01 gzh7rgqnup q3 mw l rb u cj f5
2025-11-17 16:44:13 -05:00
Claude 56de67332c Fix action bar icon behavior by properly returning hook values
The CastSpell and UseAction hooks were breaking action bar icon
updates (GCD display, range coloring, queue glowing) because they
weren't returning the values from the original functions.

Issues fixed:
1. Return values: Both hooks now capture and return all return values
   from the original functions, ensuring the game receives the expected
   data for action bar updates

2. Error protection: Wrapped all tracking code in pcall() to prevent
   any errors from breaking the normal spell cast flow

3. Tooltip interference: UseAction now uses a separate hidden tooltip
   (CleveRoidsComboTooltip) instead of manipulating GameTooltip,
   avoiding interference with the main UI tooltip

Changes to CastSpell hook:
- Use pcall for GetSpellName to safely handle errors
- Capture return values: result1, result2, result3
- Wrap tracking code in pcall for error protection
- Return all captured values

Changes to UseAction hook:
- Wrap entire spell name detection in pcall
- Create separate hidden tooltip for combo point spells
- Capture return values from original UseAction
- Wrap tracking code in pcall for error protection
- Return all captured values

This ensures action bar icons work correctly while still tracking
combo points for finisher spells.
2025-11-17 21:42:52 +00:00
Claude 2276daffdd Fix combo point tracking for spellbook and action bar casts
The CastSpell and UseAction hooks were only confirming existing
tracking, not actually creating it. They also called the original
functions before capturing combo points, so the points were already
consumed.

Changes to CastSpell hook (spellbook casts):
- Get spell name BEFORE calling original CastSpell
- Capture combo points to lastComboPoints if spell is combo scaling
- Call original to cast the spell
- Call TrackComboPointCast to track the combo points used
- Confirm the tracking

Changes to UseAction hook (action bar casts):
- Get spell name from action slot BEFORE calling original UseAction
- Fixed tooltip logic (was checking "not GetActionText" incorrectly)
- Capture combo points to lastComboPoints if spell is combo scaling
- Call original to execute the action
- Call TrackComboPointCast to track the combo points used
- Confirm the tracking

Both hooks now capture combo points at the exact moment before the
spell is cast, ensuring they're available in lastComboPoints for
TrackComboPointCast to use as a fallback.

This fixes tracking for:
- Clicking spells from spellbook (CastSpell)
- Clicking spells on action bars (UseAction)
- Keybinding spells on action bars (UseAction)
2025-11-17 21:34:43 +00:00
Torio 9037adbd76 Merge pull request #59 from jrc13245/claude/fix-combo-point-tracking-01GZH7rgqnupQ3MwLRbUCjF5
Fix combo point tracking to use continuous tracking system
2025-11-17 16:30:17 -05:00
Claude 84a781a5fc Fix combo point tracking to use continuous tracking system
Previously, combo point tracking attempted to capture combo points at
cast time in the hooks, but this approach failed because hooks run
after the spell has already consumed the combo points.

The solution is to rely entirely on the existing UpdateComboPoints()
system, which runs continuously via OnUpdate and PLAYER_COMBO_POINTS
events. This system tracks combo points AS THEY ARE GENERATED on the
target, storing them in lastComboPoints before any spell can consume
them.

Changes:
- Removed manual combo point capture logic from all hooks
  (CastSpellByName_Hook, CastSpell_Hook, DoCast, OnSpellcastStart)
- TrackComboPointCast() now relies solely on the continuous tracking
  system, falling back to lastComboPoints when GetComboPoints()
  returns 0 (because points were already consumed)
- UpdateComboPoints() continues to run on every frame, capturing
  combo points as they appear on the target

This ensures that all casts of combo point finisher spells (Rip,
Rupture, Kidney Shot) are tracked correctly with the actual number
of combo points used, regardless of whether they're cast through
conditionals (e.g., /cast [combo:>0]Rip) or directly (e.g., /cast Rip).
2025-11-17 21:28:41 +00:00
Torio 8d20caa6d8 Merge pull request #58 from jrc13245/claude/fix-combo-point-tracking-01GZH7rgqnupQ3MwLRbUCjF5
Fix combo point tracking for all casts regardless of conditionals
2025-11-17 16:20:31 -05:00
Claude 6f968f8539 Fix combo point tracking for all casts regardless of conditionals
Previously, combo point tracking only worked reliably when spells were
cast with conditionals (e.g., /cast [combo:>0]Rip) but not for direct
casts (e.g., /cast Rip). This was because combo points are consumed
immediately when a spell is cast, so by the time the tracking code ran,
GetComboPoints() would return 0.

Changes:
- Updated TrackComboPointCast() to fall back to lastComboPoints when
  GetComboPoints() returns 0, ensuring the correct combo point count
  is used even if the points have already been consumed
- Modified all spell cast hooks (CastSpellByName_Hook, CastSpell_Hook,
  DoCast integration, OnSpellcastStart) to capture the current combo
  points into lastComboPoints BEFORE the spell is cast
- Added debug messages to track when combo points are captured and
  when fallback values are used

This ensures that all casts of combo point finisher spells (Rip,
Rupture, Kidney Shot) are tracked correctly with the actual number
of combo points used, regardless of whether they're cast through
conditionals or directly.
2025-11-17 21:17:58 +00:00
Torio 7fd4671e07 Merge pull request #55 from jrc13245/claude/fix-combo-points-tracking-01GyyUFStiWewydgChXunzKg
Fix combo points tracking for Vanilla WoW
2025-11-17 15:42:47 -05:00
Claude 42188b609b Fix combo points tracking for Vanilla WoW
The GetComboPoints() function was using TBC/WotLK syntax with two
parameters ("player", "target"), which is incorrect for Vanilla WoW 1.12.

In Vanilla WoW, GetComboPoints() takes no parameters and returns the
combo points on the current target.

This fixes the issue where macros were not tracking combo points correctly,
especially for users without pfui or other addon dependencies.

Fixes combo point tracking for Rupture, Rip, and Kidney Shot spells.
2025-11-17 20:41:34 +00:00
Torio db67bb99f3 Merge pull request #54 from jrc13245/combodurations
Merge pull request #48 from jrc13245/main
2025-11-17 15:20:05 -05:00
Torio b1e61bebb3 Merge pull request #53 from jrc13245/claude/fix-unitdebuff-slot-013gcn92Qs9GE4sgefmXQ5G2
Add lib:UnitBuff and lib:FindPlayerBuff for buff tracking
2025-11-17 15:14:40 -05:00
Claude 60822c9c68 Add lib:UnitBuff and lib:FindPlayerBuff for buff tracking
- Added lib:UnitBuff(unit, index, filterCaster) to query buff data by slot
- Added lib:FindPlayerBuff(unit, spellID) to find player-cast buffs by spell ID
- Both functions return duration, timeleft, and caster information
- Mirrors the debuff tracking API (UnitDebuff/FindPlayerDebuff)
- Enables tracking buff ownership and timeleft for future projects
2025-11-17 20:09:15 +00:00
Torio 0cf4c39c22 Merge pull request #52 from jrc13245/claude/fix-unitdebuff-slot-013gcn92Qs9GE4sgefmXQ5G2
Fix Lua 5.1 compatibility: remove goto statement from ValidateUnitDebuff
2025-11-17 13:36:07 -05:00
Claude 62c39f71cf Fix Lua 5.1 compatibility: remove goto statement from ValidateUnitDebuff
- Replaced goto/label with shouldSkip flag variable
- Lua 5.1 (used in WoW 1.12) doesn't support goto statements
- Functionality remains identical
2025-11-17 18:35:32 +00:00
Torio 1e5239307d Merge pull request #51 from jrc13245/claude/wow-macro-script-01528arN7dwrRwDNpdCVjcwE
Fix all icon fallback paths to use macro icon instead of question mark
2025-11-17 13:33:19 -05:00
Claude e1e8548453 Fix all icon fallback paths to use macro icon instead of question mark
Updated GetActionTexture to fall back to the macro's icon in all code paths:
- When no action is active and no explicit tooltip (line 2444)
- When inventory slot is empty (line 2469)
- Final fallback for all other cases (line 2494)

This ensures the macro icon is always shown instead of the question mark
when no action/spell texture is available. The question mark should only
appear as an absolute last resort if GetMacroInfo fails.
2025-11-17 18:32:40 +00:00
Torio e959ff46e5 Merge pull request #50 from jrc13245/claude/fix-unitdebuff-slot-013gcn92Qs9GE4sgefmXQ5G2
Claude/fix unitdebuff and handling self vs shared debuffs
2025-11-17 13:32:38 -05:00
Claude b8cc607d90 Reorganize debuff durations into personal and shared tables
Changes:
- Split lib.durations into lib.personalDebuffs and lib.sharedDebuffs
- Removed combo-scaling spells (Rupture, Rip, Kidney Shot) from static tables
  since they are handled dynamically by ComboPointTracker
- Added lib:IsPersonalDebuff() helper to distinguish debuff types
- Updated ValidateUnitDebuff to auto-detect personal vs shared debuffs
- Personal debuffs (DoTs, poisons, most CC) now auto-filter to player by default
- Shared debuffs (Sunder, Faerie Fire, Hunter's Mark) remain unfiltered
- Maintained lib.durations for backwards compatibility

This prevents false positives when checking personal debuffs like Rupture
in multi-player scenarios while allowing shared debuffs like Sunder Armor
to work correctly.
2025-11-17 18:28:58 +00:00
Claude a570c41245 Add 'mine' parameter to ValidateUnitDebuff for personal debuff tracking
- ValidateUnitDebuff now supports args.mine to filter player-cast debuffs
- Fixes issue where personal debuffs (Rupture, Rip) from other players
  were incorrectly matched when checking timeleft
- Shared stacking debuffs (Sunder Armor) continue to work as expected
- Uses new lib:UnitDebuff filterCaster parameter internally
2025-11-17 18:20:25 +00:00
Claude 7de3ac4043 Add caster filtering to libdebuff for tracking player-cast debuffs
- Modified lib:UnitDebuff() to accept optional filterCaster parameter
- Added lib:FindPlayerDebuff() to search for player debuffs by spell ID
- Ensures debuffs in buff slots can be properly identified by owner
- Prevents false positives from other players' debuffs with same spell ID
2025-11-17 18:15:07 +00:00
Torio 323e0fc419 Merge pull request #49 from jrc13245/claude/wow-macro-script-01528arN7dwrRwDNpdCVjcwE
Claude/wow macro script 01528ar n7dwr rw d npd c vjcw e
2025-11-17 13:10:53 -05:00