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/Spell.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/Spell.cpp')
| -rw-r--r-- | src/server/game/Spells/Spell.cpp | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/server/game/Spells/Spell.cpp b/src/server/game/Spells/Spell.cpp index 311e8c136a5..170e5006ee2 100644 --- a/src/server/game/Spells/Spell.cpp +++ b/src/server/game/Spells/Spell.cpp @@ -5548,7 +5548,7 @@ void Spell::TakePower() if (!unitCaster) return; - if (m_CastItem || m_triggeredByAuraSpell) + if (m_CastItem || m_spellInfo->HasAttribute(SPELL_ATTR6_DO_NOT_CONSUME_RESOURCES)) return; //Don't take power if the spell is cast while .cheat power is enabled. @@ -5605,7 +5605,7 @@ void Spell::RefundPower() if (!unitCaster) return; - if (m_CastItem || m_triggeredByAuraSpell) + if (m_CastItem || m_spellInfo->HasAttribute(SPELL_ATTR6_DO_NOT_CONSUME_RESOURCES)) return; //Don't take power if the spell is cast while .cheat power is enabled. @@ -5707,7 +5707,7 @@ void Spell::TakeReagents() return; // do not take reagents for these item casts - if (m_CastItem && m_CastItem->GetTemplate()->HasFlag(ITEM_FLAG_NO_REAGENT_COST)) + if ((m_CastItem && m_CastItem->GetTemplate()->HasFlag(ITEM_FLAG_NO_REAGENT_COST)) || m_spellInfo->HasAttribute(SPELL_ATTR6_DO_NOT_CONSUME_RESOURCES)) return; Player* p_caster = m_caster->ToPlayer(); |
