diff --git a/Source/Game/Entities/StatSystem.cs b/Source/Game/Entities/StatSystem.cs index e776be716..33b2c0e48 100644 --- a/Source/Game/Entities/StatSystem.cs +++ b/Source/Game/Entities/StatSystem.cs @@ -764,6 +764,9 @@ namespace Game.Entities if (effect.GetAuraType() == AuraType.TriggerSpellOnPowerPct) { int maxPower = GetMaxPower(power); + if (maxPower == 0) + continue; + oldValueCheck = MathFunctions.GetPctOf(oldVal, maxPower); newValueCheck = MathFunctions.GetPctOf(newVal, maxPower); } diff --git a/Source/Game/Spells/Auras/AuraEffect.cs b/Source/Game/Spells/Auras/AuraEffect.cs index ba8bd9d50..01092e054 100644 --- a/Source/Game/Spells/Auras/AuraEffect.cs +++ b/Source/Game/Spells/Auras/AuraEffect.cs @@ -4886,7 +4886,11 @@ namespace Game.Spells int effectAmount = GetAmount(); uint triggerSpell = GetSpellEffectInfo().TriggerSpell; - float powerAmountPct = MathFunctions.GetPctOf(target.GetPower((PowerType)GetMiscValue()), target.GetMaxPower((PowerType)GetMiscValue())); + int maxPower = target.GetMaxPower((PowerType)GetMiscValue()); + if (maxPower == 0) + return; + + float powerAmountPct = MathFunctions.GetPctOf(target.GetPower((PowerType)GetMiscValue()), maxPower); switch ((AuraTriggerOnPowerChangeDirection)GetMiscValueB()) {