fix(Core/Spells): fix PPM proc chance calculation for healing spells (#24761)

Co-authored-by: blinkysc <blinkysc@users.noreply.github.com>
This commit is contained in:
blinkysc
2026-02-19 12:58:17 -06:00
committed by GitHub
parent 42ba48a9a9
commit ab29745d6a
4 changed files with 53 additions and 8 deletions
+5 -3
View File
@@ -79,6 +79,7 @@ public:
* @param chanceModifier Talent/aura modifier to chance
* @param ppmModifier Talent/aura modifier to PPM
* @param hasDamageInfo Whether a DamageInfo is present (enables PPM)
* @param hasHealInfo Whether a HealInfo is present (also enables PPM)
* @return Calculated proc chance
*/
static float SimulateCalcProcChance(
@@ -87,12 +88,13 @@ public:
uint32 weaponSpeed = 2500,
float chanceModifier = 0.0f,
float ppmModifier = 0.0f,
bool hasDamageInfo = true)
bool hasDamageInfo = true,
bool hasHealInfo = false)
{
float chance = procEntry.Chance;
// PPM calculation overrides base chance if PPM > 0 and we have DamageInfo
if (hasDamageInfo && procEntry.ProcsPerMinute > 0.0f)
// PPM calculation overrides base chance if PPM > 0 and we have DamageInfo or HealInfo
if ((hasDamageInfo || hasHealInfo) && procEntry.ProcsPerMinute > 0.0f)
{
chance = CalculatePPMChance(weaponSpeed, procEntry.ProcsPerMinute, ppmModifier);
}