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()
This commit is contained in:
Jrc13245
2025-11-18 15:42:38 -05:00
parent 21dba94822
commit 7fd94e3ed2
3 changed files with 352 additions and 17 deletions
+17 -3
View File
@@ -165,14 +165,28 @@ function CleveRoids.CalculateComboScaledDurationByID(spellID, comboPoints)
if comboPoints < 1 then comboPoints = 1 end -- Minimum 1 combo point
if comboPoints > 5 then comboPoints = 5 end -- Maximum 5 combo points
local baseDuration
-- Check for learned duration first
local learned = CleveRoids.GetLearnedComboDuration(spellID, comboPoints)
if learned then
return learned
baseDuration = learned
else
-- Fall back to formula
baseDuration = data.base + (comboPoints - 1) * data.increment
end
-- Fall back to formula
return data.base + (comboPoints - 1) * data.increment
-- Apply talent modifiers (e.g., Taste for Blood) - additive
if CleveRoids.ApplyTalentModifier then
baseDuration = CleveRoids.ApplyTalentModifier(spellID, baseDuration)
end
-- Apply equipment modifiers (e.g., Black Morass Idol) - multiplicative
if CleveRoids.ApplyEquipmentModifier then
baseDuration = CleveRoids.ApplyEquipmentModifier(spellID, baseDuration)
end
return baseDuration
end
-- Function to track combo points when casting (by spell name)