aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Spells/Spell.cpp
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2025-01-01 19:37:48 +0100
committerShauren <shauren.trinity@gmail.com>2025-01-01 19:37:48 +0100
commit54a83b4b689b7d2bbddb91fc79319dd806da8cc0 (patch)
tree3b2e8426454f3fb75f9c5ffcede6a93fc9d4efdc /src/server/game/Spells/Spell.cpp
parent13b47c7780ae7f8b6454d38560af697e49648184 (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.cpp6
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();