mirror of
https://github.com/brues-code/SuperCleveRoidMacros.git
synced 2026-09-16 03:38:00 +00:00
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.
This commit is contained in:
@@ -3268,6 +3268,28 @@ SlashCmdList["CLEVEROID"] = function(msg)
|
||||
return
|
||||
end
|
||||
|
||||
-- combotrack (show combo point tracking info)
|
||||
if cmd == "combotrack" or cmd == "combo" then
|
||||
if CleveRoids.ShowComboTracking then
|
||||
CleveRoids.ShowComboTracking()
|
||||
else
|
||||
CleveRoids.Print("Combo point tracking not available")
|
||||
end
|
||||
return
|
||||
end
|
||||
|
||||
-- comboclear (clear combo tracking data)
|
||||
if cmd == "comboclear" then
|
||||
if CleveRoids.ComboPointTracking then
|
||||
CleveRoids.ComboPointTracking = {}
|
||||
CleveRoids.ComboPointTracking.byID = {}
|
||||
CleveRoids.Print("Combo point tracking data cleared")
|
||||
else
|
||||
CleveRoids.Print("Combo point tracking not available")
|
||||
end
|
||||
return
|
||||
end
|
||||
|
||||
-- Unknown command fallback
|
||||
CleveRoids.Print("Usage:")
|
||||
DEFAULT_CHAT_FRAME:AddMessage("/cleveroid - Show current settings")
|
||||
@@ -3283,6 +3305,9 @@ SlashCmdList["CLEVEROID"] = function(msg)
|
||||
DEFAULT_CHAT_FRAME:AddMessage('/cleveroid addimmune "<NPC>" <school> [buff] - Add immunity')
|
||||
DEFAULT_CHAT_FRAME:AddMessage('/cleveroid removeimmune "<NPC>" <school> - Remove immunity')
|
||||
DEFAULT_CHAT_FRAME:AddMessage('/cleveroid clearimmune [school] - Clear immunity data')
|
||||
DEFAULT_CHAT_FRAME:AddMessage("|cffffaa00Combo Point Tracking:|r")
|
||||
DEFAULT_CHAT_FRAME:AddMessage('/cleveroid combotrack - Show combo point tracking info')
|
||||
DEFAULT_CHAT_FRAME:AddMessage('/cleveroid comboclear - Clear combo tracking data')
|
||||
end
|
||||
|
||||
SLASH_CLEAREQUIPQUEUE1 = "/clearequipqueue"
|
||||
|
||||
Reference in New Issue
Block a user