From dce33d2b71f4111245442f2a49ae036d3055e332 Mon Sep 17 00:00:00 2001 From: hondacrx Date: Wed, 3 Nov 2021 16:22:28 -0400 Subject: [PATCH] Core/Spells: Include RealPointsPerLevel when determining if aura is negative. Port From (https://github.com/TrinityCore/TrinityCore/commit/c10ea614918ccbb6e0601117fd024a6e8c91a0b2) --- Source/Game/Spells/SpellInfo.cs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Source/Game/Spells/SpellInfo.cs b/Source/Game/Spells/SpellInfo.cs index 15f46a4b7..97af8d095 100644 --- a/Source/Game/Spells/SpellInfo.cs +++ b/Source/Game/Spells/SpellInfo.cs @@ -3282,6 +3282,8 @@ namespace Game.Spells visited.Add(Tuple.Create(spellInfo, effect.EffectIndex)); + //We need scaling level info for some auras that compute bp 0 or positive but should be debuffs + float bpScalePerLevel = effect.RealPointsPerLevel; int bp = effect.CalcValue(); switch (spellInfo.SpellFamilyName) { @@ -3490,7 +3492,7 @@ namespace Game.Spells case AuraType.ModIncreaseHealthPercent: case AuraType.ModTotalStatPercentage: case AuraType.ModIncreaseSwimSpeed: - if (bp < 0) + if (bp < 0 || bpScalePerLevel < 0) //TODO: What if both are 0? Should it be a buff or debuff? return false; break; case AuraType.ModAttackspeed: // some buffs have negative bp, check both target and bp