From 9580103f3b9c535163865f5090f9b178f01e3f34 Mon Sep 17 00:00:00 2001 From: Hondacrx Date: Sat, 9 Nov 2024 23:38:32 -0500 Subject: [PATCH] Core/Players: Fixed nested spell overrides (priest Mind Spike) Port From (https://github.com/TrinityCore/TrinityCore/commit/cdca59ca4daf1edc250a96bd793cd8d4368e7f2e) --- Source/Game/Entities/Unit/Unit.Spells.cs | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/Source/Game/Entities/Unit/Unit.Spells.cs b/Source/Game/Entities/Unit/Unit.Spells.cs index c53a27621..8f5128b6f 100644 --- a/Source/Game/Entities/Unit/Unit.Spells.cs +++ b/Source/Game/Entities/Unit/Unit.Spells.cs @@ -958,9 +958,13 @@ namespace Game.Entities { if (auraEffect.GetSpellInfo().HasAttribute(SpellAttr8.IgnoreSpellcastOverrideCost)) triggerFlag |= TriggerCastFlags.IgnorePowerAndReagentCost; + else + triggerFlag &= ~TriggerCastFlags.IgnorePowerAndReagentCost; if (auraEffect.GetSpellInfo().HasAttribute(SpellAttr11.IgnoreSpellcastOverrideShapeshiftRequirements)) triggerFlag |= TriggerCastFlags.IgnoreShapeshift; + else + triggerFlag &= ~TriggerCastFlags.IgnoreShapeshift; return info; @@ -973,13 +977,16 @@ namespace Game.Entities SpellInfo newInfo = findMatchingAuraEffectIn(AuraType.OverrideActionbarSpells); if (newInfo != null) - return newInfo; + { + triggerFlag &= ~TriggerCastFlags.IgnoreCastTime; + return GetCastSpellInfo(newInfo, triggerFlag); + } newInfo = findMatchingAuraEffectIn(AuraType.OverrideActionbarSpellsTriggered); if (newInfo != null) { triggerFlag |= TriggerCastFlags.IgnoreCastTime; - return newInfo; + return GetCastSpellInfo(newInfo, triggerFlag); } return spellInfo;