diff options
| author | Shocker <shocker@freakz.ro> | 2013-02-25 05:38:34 +0200 |
|---|---|---|
| committer | Shocker <shocker@freakz.ro> | 2013-02-25 05:38:34 +0200 |
| commit | 20e913efa685695a721e44931b4f939e6bfe7733 (patch) | |
| tree | 7bf99d56f1e6d634ab42b7e520727c58d18d5d4d /src/server/game/Spells/Spell.cpp | |
| parent | 1049d02e5fe3a2c5179196b4e53fd7dd20daf682 (diff) | |
Core/Spells: Implement TRIGGERED_IGNORE_EQUIPPED_ITEM_REQUIREMENT to allow ignoring equipped item requirements on triggered casting
Diffstat (limited to 'src/server/game/Spells/Spell.cpp')
| -rw-r--r-- | src/server/game/Spells/Spell.cpp | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/server/game/Spells/Spell.cpp b/src/server/game/Spells/Spell.cpp index 53bcd6bd077..ae1389c5f11 100644 --- a/src/server/game/Spells/Spell.cpp +++ b/src/server/game/Spells/Spell.cpp @@ -5942,8 +5942,9 @@ SpellCastResult Spell::CheckItems() // if not item target then required item must be equipped else { - if (m_caster->GetTypeId() == TYPEID_PLAYER && !m_caster->ToPlayer()->HasItemFitToSpellRequirements(m_spellInfo)) - return SPELL_FAILED_EQUIPPED_ITEM_CLASS; + if (!(_triggeredCastFlags & TRIGGERED_IGNORE_EQUIPPED_ITEM_REQUIREMENT)) + if (m_caster->GetTypeId() == TYPEID_PLAYER && !m_caster->ToPlayer()->HasItemFitToSpellRequirements(m_spellInfo)) + return SPELL_FAILED_EQUIPPED_ITEM_CLASS; } // check spell focus object @@ -6325,7 +6326,7 @@ SpellCastResult Spell::CheckItems() } // check weapon presence in slots for main/offhand weapons - if (m_spellInfo->EquippedItemClass >=0) + if (!(_triggeredCastFlags & TRIGGERED_IGNORE_EQUIPPED_ITEM_REQUIREMENT) && m_spellInfo->EquippedItemClass >=0) { // main hand weapon required if (m_spellInfo->AttributesEx3 & SPELL_ATTR3_MAIN_HAND) |
