diff options
| author | Shauren <shauren.trinity@gmail.com> | 2025-01-01 19:37:48 +0100 |
|---|---|---|
| committer | Shauren <shauren.trinity@gmail.com> | 2025-01-01 19:37:48 +0100 |
| commit | 54a83b4b689b7d2bbddb91fc79319dd806da8cc0 (patch) | |
| tree | 3b2e8426454f3fb75f9c5ffcede6a93fc9d4efdc /src/server/game/Spells/SpellEffects.cpp | |
| parent | 13b47c7780ae7f8b6454d38560af697e49648184 (diff) | |
Core/Spells: Don't ignore power costs and reagents for spells triggered by SPELL_EFFECT_TRIGGER_SPELL, SPELL_EFFECT_TRIGGER_MISSILE, SPELL_EFFECT_FORCE_CAST, SPELL_AURA_PERIODIC_TRIGGER_SPELL, SPELL_AURA_PROC_TRIGGER_SPELL and fixed implementation of SPELL_ATTR6_DO_NOT_CONSUME_RESOURCES
Diffstat (limited to 'src/server/game/Spells/SpellEffects.cpp')
| -rw-r--r-- | src/server/game/Spells/SpellEffects.cpp | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/server/game/Spells/SpellEffects.cpp b/src/server/game/Spells/SpellEffects.cpp index bf21eaecc1f..b3bea4b8882 100644 --- a/src/server/game/Spells/SpellEffects.cpp +++ b/src/server/game/Spells/SpellEffects.cpp @@ -708,7 +708,7 @@ void Spell::EffectTriggerSpell() targets.Update(caster); // refresh pointers stored in targets // original caster guid only for GO cast - CastSpellExtraArgs args(TRIGGERED_FULL_MASK); + CastSpellExtraArgs args(TRIGGERED_FULL_MASK & ~(TRIGGERED_IGNORE_POWER_COST | TRIGGERED_IGNORE_REAGENT_COST)); args.SetOriginalCaster(originalCaster); args.OriginalCastId = originalCastId; args.OriginalCastItemLevel = itemLevel; @@ -777,7 +777,7 @@ void Spell::EffectTriggerMissileSpell() targets.SetGOTarget(go); } - CastSpellExtraArgs args(TRIGGERED_FULL_MASK); + CastSpellExtraArgs args(TRIGGERED_FULL_MASK & ~(TRIGGERED_IGNORE_POWER_COST | TRIGGERED_IGNORE_REAGENT_COST)); args.SetOriginalCaster(m_originalCasterGUID); args.SetTriggeringSpell(this); args.SetCustomArg(m_customArg); @@ -851,7 +851,7 @@ void Spell::EffectForceCast() return; } - CastSpellExtraArgs args(TRIGGERED_FULL_MASK); + CastSpellExtraArgs args(TRIGGERED_FULL_MASK & ~(TRIGGERED_IGNORE_POWER_COST | TRIGGERED_IGNORE_REAGENT_COST)); args.SetTriggeringSpell(this); if (effectInfo->Effect == SPELL_EFFECT_FORCE_CAST_WITH_VALUE) for (uint32 i = 0; i < MAX_SPELL_EFFECTS; ++i) |
