From f188ff1ce47905d7a81dff987a66b3d72152ae7c Mon Sep 17 00:00:00 2001 From: ariel- Date: Sun, 20 Nov 2016 02:39:14 -0300 Subject: Core/Spell: add EquipedItemClass/EquippedItemSubClass check to passive spell casts - Was adding auras on login that didn't satisfy requirements (like Two-Handed Weapon Specialization) --- src/server/game/Spells/Spell.cpp | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'src') diff --git a/src/server/game/Spells/Spell.cpp b/src/server/game/Spells/Spell.cpp index c082c0a7584..0ad5f2186e6 100644 --- a/src/server/game/Spells/Spell.cpp +++ b/src/server/game/Spells/Spell.cpp @@ -5122,6 +5122,10 @@ SpellCastResult Spell::CheckCast(bool strict, uint32* param1 /*= nullptr*/, uint if (castResult != SPELL_CAST_OK) return castResult; } + // passive spells must check equipped items class (55108 for example) + else if (m_caster->GetTypeId() == TYPEID_PLAYER && !m_spellInfo->HasAttribute(SPELL_ATTR2_IGNORE_ITEM_CHECK) && (!(_triggeredCastFlags & TRIGGERED_IGNORE_EQUIPPED_ITEM_REQUIREMENT))) + if (!m_caster->ToPlayer()->HasItemFitToSpellRequirements(m_spellInfo)) + return SPELL_FAILED_EQUIPPED_ITEM_CLASS; // Triggered spells also have range check /// @todo determine if there is some flag to enable/disable the check -- cgit v1.2.3