aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorariel- <ariel-@users.noreply.github.com>2016-11-20 03:48:36 -0300
committerjoschiwald <joschiwald.trinity@gmail.com>2018-01-21 22:27:53 +0100
commit1248a6b1e04189931d2a27797875c8ebb9ad9f3f (patch)
tree0e71b6e684cd2a4df08707ec97b920754fce92dc /src
parentad8d47b137a98e1e9a96692f3cee50d759bd6adc (diff)
Core/Player: fix regression with EquippedItemClass requiring spells
(cherry picked from commit 858d45885b06bd899f69ca9727d54cda150c4398)
Diffstat (limited to 'src')
-rw-r--r--src/server/game/Entities/Player/Player.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp
index c56ebec1a39..4de17ffb8c4 100644
--- a/src/server/game/Entities/Player/Player.cpp
+++ b/src/server/game/Entities/Player/Player.cpp
@@ -3204,6 +3204,15 @@ bool Player::IsNeedCastPassiveSpellAtLearn(SpellInfo const* spellInfo) const
if (spellInfo->HasAttribute(SPELL_ATTR8_MASTERY_SPECIALIZATION))
need_cast &= IsCurrentSpecMasterySpell(spellInfo);
+ // Check EquippedItemClass
+ // passive spells which apply aura and have an item requirement are to be added in Player::ApplyItemDependentAuras
+ if (spellInfo->IsPassive() && spellInfo->EquippedItemClass >= 0)
+ {
+ for (SpellEffectInfo const* effectInfo : spellInfo->GetEffectsForDifficulty(DIFFICULTY_NONE))
+ if (effectInfo && effectInfo->IsAura())
+ return false;
+ }
+
//Check CasterAuraStates
return need_cast && (!spellInfo->CasterAuraState || HasAuraState(AuraStateType(spellInfo->CasterAuraState)));
}