Commit Graph
60 Commits
Author SHA1 Message Date
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 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
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
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
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
Claude f99b985395 Ensure icon always falls back to macro icon, never question mark
Updated fallback logic to always use the macro's chosen icon (from the
macro frame) when no action is active. The priority is now:
1. Tooltip texture (from first action if #showtooltip is present)
2. Macro's icon (from macro frame)
3. Never question mark (unless GetMacroInfo fails, which shouldn't happen)

This ensures the icon properly shows the macro's icon when all
conditionals fail, instead of showing a question mark.
2025-11-17 18:10:09 +00:00
Claude 852d3691c2 Fix showtooltip icon fallback to use tooltip texture before question mark
When #showtooltip is used without an explicit spell/item argument and all
conditionals fail, the icon now falls back to the tooltip texture (first
action) instead of immediately showing a question mark. This prevents the
question mark icon from appearing when the macro has valid actions but none
of their conditions are currently met.

Fixes issue where macro icon becomes question mark when no target and
Battle Shout buff is already active.
2025-11-17 00:27:48 +00:00
Claude bb7cd24761 Fix nil comparison error in spell_tracking cleanup loop
BUGFIX: Core.lua:2253 attempt to compare nil with number

The cleanup loop was checking 'if time > cast.expires' but some entries
in spell_tracking (like combo tracking data) don't have an expires field.

Added nil check: 'if cast.expires and time > cast.expires'

This prevents errors when combo tracking data is in spell_tracking without
an expiration time.
2025-11-16 17:39:16 +00:00
Claude 1172e3377b Add learned combo duration system - saves actual durations per CP
Major enhancement: System now learns actual combo finisher durations and
saves them per combo point level (1-5 CP).

**New SavedVariable:**
- CleveRoids_ComboDurations[spellID][comboPoints] = duration
- Persists between sessions
- Uses learned durations before calculated formulas

**ComboPointTracker.lua:**
- Added GetLearnedComboDuration(spellID, cp) - fetch learned duration
- Updated CalculateComboScaledDurationByID to check learned first
- Falls back to formula if not learned yet

**Utility.lua (libdebuff):**
- UNIT_CASTEVENT handler stores combo points in learnCastTimers
- RAW_COMBATLOG fade handler learns combo durations when spells expire
- Stores learned duration keyed by [spellID][comboPoints]
- Debug message shows "Learned combo spell X at Y CP = Zs"

**Core.lua:**
- New command: /cleveroid combolearn - Show all learned combo durations
- Lists each spell with all learned CP levels (1-5)
- Shows which durations have been learned vs not yet

**Benefits:**
- Debuff conditionals like [debuff:Rip<4] now use ACTUAL max duration
- Accounts for talents that modify finisher durations
- Learns different durations per rank
- More accurate than formulas for edge cases

**Example:**
After casting Rip with 5 CP and letting it expire, system learns:
CleveRoids_ComboDurations[1079][5] = 28
Future casts use 28s instead of calculated 12+4*4
2025-11-16 16:49:30 +00:00
Claude 18c11eb8b3 Show all available commands when typing /cleveroid
When typing /cleveroid with no arguments, now displays:
1. Current settings (realtime, refresh, debug)
2. All available commands organized by category:
   - Basic commands (realtime, refresh, learn, forget, debug)
   - Immunity tracking commands
   - Combo point tracking commands

Makes it easier for users to discover all available functionality.
2025-11-16 15:49:55 +00:00
Claude 3d6f03336c Fix combo tracking commands - remove load-time existence checks
The combotrack/comboclear commands were checking if functions existed at
file load time, but ComboPointTracker.lua loads after Core.lua, so the
checks always failed. Removed the checks since by runtime (when the user
executes the command) all files will be loaded and functions will exist.

Fixes "Combo point tracking not available" message.
2025-11-16 15:44:24 +00:00
Claude 4cf8e07a17 Improve combo point duration tracking system
Major enhancements to the combo point finisher tracking system:

**ComboPointTracker.lua:**
- Added spell ID-based tracking (ComboScalingSpellsByID table)
- All Rupture ranks (1943, 8639, 8640, 11273, 11274, 11275): 8s + 2s per CP
- Kidney Shot ranks (408, 8643): Rank 1: 1s + 1s per CP, Rank 2: 2s + 1s per CP
- Druid Rip ranks (1079, 9492, 9493, 9752, 9894, 9896): 12s + 4s per CP (corrected from 10s + 2s)
- New TrackComboPointCastByID() function for UNIT_CASTEVENT integration
- Initialize spell_tracking table to prevent nil errors
- Consistent debug output using CleveRoids.debug flag

**Utility.lua (libdebuff integration):**
- UNIT_CASTEVENT handler now checks combo scaling spells first
- Calls TrackComboPointCastByID() before normal duration lookup
- Learning system skips combo spells (they're dynamically calculated)
- Improved debug messages distinguish combo spells from regular spells

**Core.lua (console commands):**
- Added /cleveroid combotrack - Display recent combo finisher casts
- Added /cleveroid comboclear - Clear combo tracking data
- Updated help text with combo point tracking section

**README.md:**
- New "Combo Point Scaling" section with examples
- Updated settings documentation with new commands
- Added /cleveroid debug to settings list
- Example macros showing combo point-aware debuff conditionals

This system ensures accurate duration tracking for:
- Rogue: Rupture (8-16s), Kidney Shot (1-6s)
- Druid: Rip (12-28s)

All durations are now calculated based on actual combo points used at cast time.
2025-11-16 15:31:38 +00:00
Jrc13245 1610920dda immunity tracking system 2025-11-16 09:46:51 -05:00
Jrc13245 122fc0a908 no longer require abilities on actionbar to get icon 2025-11-13 16:40:37 -05:00
Jrc13245 92562ab1a4 Fix macro icons with syntax not using conditionals and fix imbue conditionals 2025-11-13 15:46:00 -05:00
Jrc13245 c65642a129 fix compatibility with pfui macrotweak 2025-11-12 16:33:54 -05:00
Jrc13245 642e58598a fix item macros icons when swapped 2025-11-12 16:19:08 -05:00
Jrc13245 1427c4481f fix equip errors 2025-11-09 12:48:56 -05:00
Jrc13245 19be3b70d7 fix equipmh and equipoh errors 2025-11-08 17:53:19 -05:00
Jrc13245 c8017c5485 implement UnitXP functions and update nampower and superwow functions 2025-11-08 17:38:35 -05:00
Jrc13245 5b416765da fix more equip errors 2025-10-30 14:08:41 -04:00
Jrc13245 a7e6ee88ad fix equip race conditions 2025-10-29 18:59:59 -04:00
Jrc13245 f5163f7e57 improve target with conditionals functionality 2025-10-29 13:46:42 -04:00
Jrc13245 8be3d7df3a fix some tooltip errors 2025-10-28 19:43:39 -04:00
Jrc13245 18f7828c26 fix non-letter or number characters in item or spell names 2025-10-26 12:48:29 -04:00
Jrc13245 6db708f40b fix castsequence reset functionality 2025-10-25 11:34:36 -04:00
Jrc13245 8542a05170 implement standalone debuff timer system 2025-10-21 22:18:10 -04:00
Jrc13245 80382638cd allow stat conditional to be multi 2025-10-15 16:19:19 -04:00
Jrc13245 4c9c6fff60 new pet conditional 2025-10-08 20:46:03 -04:00
Jrc13245 745ebb0c79 fix use to work with itemid parsing 2025-10-07 08:47:53 -04:00
Jrc13245 35a81eb29b many fixes 2025-10-05 14:24:46 -04:00
Jrc13245 12e61875e2 fix vanish tooltip and timers 2025-10-05 13:32:16 -04:00
Jrc13245 d34ad62fac fix vanish tooltip 2025-10-05 13:15:15 -04:00
Jrc13245 77c420fd59 fix cooldown timers for non pfui users and make trinket slot use usage respect conditionals and fix vanish reagent tooltip 2025-10-05 13:03:05 -04:00
Jrc13245 45c3fadf5c fix some item use macros improperly splitting stacks 2025-09-28 09:17:29 -04:00
yani9o 3127283067 Fix error if using @focus and no pfUI installed.
Now just skips the updated part instead of throwing this error (tested):
Interface\AddOns\SuperCleveRoidMacros\Core.lua:1108: attempt to index global 'pfUI' (a nil value)
2025-09-15 22:32:56 +02:00
Jrc13245 9399f8b67d fix unloading addon when mods arent present 2025-09-10 17:37:39 -04:00
Jrc13245 79e7e3fd9e revert 2025-09-06 19:31:48 -04:00
Jrc13245 f29d20c3e0 revert 2025-09-06 19:31:36 -04:00
Jrc13245 ea267118db revert 2025-09-06 19:31:26 -04:00
Jrc13245 0fbecb558b fix showing icons for macros not using showtooltip 2025-09-06 18:17:15 -04:00
Jrc13245 101b0bc9e1 fix using macro name as spell name when showtooltip spellname exists 2025-09-06 17:06:01 -04:00
Jrc13245 d7f033dac5 can use spell names as macro names 2025-09-06 05:39:29 -04:00
Jrc13245 56067754fe fix non conditional lines using special characters 2025-08-29 20:54:46 -04:00
Jrc13245 f9110bfe55 fix no conditional cancelaura 2025-08-29 18:59:44 -04:00
Jrc13245 2da28c2653 increase supermacro support 2025-08-28 16:19:51 -04:00
Jrc13245 86df1583c4 fix itemid extraction and cost capture for regeants 2025-08-27 21:50:53 -04:00
Jrc13245 cc9198e940 fix multiple castsequence lines with supermacro 2025-08-27 17:06:33 -04:00