From 120f929ad79d6eb5397af332cdd73d320f5079d2 Mon Sep 17 00:00:00 2001 From: kotishe Date: Mon, 15 Aug 2016 17:15:37 +0300 Subject: [PATCH] Fix dual-wield not removing after unlearning talents for Enhancement Shamans. --- src/game/Player.cpp | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/game/Player.cpp b/src/game/Player.cpp index fa53b8494..aa17d0f49 100644 --- a/src/game/Player.cpp +++ b/src/game/Player.cpp @@ -3263,6 +3263,18 @@ void Player::RemoveSpell(uint32 spell_id, bool disabled) for (uint32 i = reqMap.count(spell_id); i > 0; i--, ++itr2) RemoveSpell(itr2->second, disabled); + if (CanDualWield()) + { + SpellEntry const *spellInfo = sSpellStore.LookupEntry(spell_id); + + if (spellInfo) + if (spellInfo->Effect[0] != SPELL_EFFECT_DUAL_WIELD || + spellInfo->Effect[1] != SPELL_EFFECT_DUAL_WIELD || + spellInfo->Effect[2] != SPELL_EFFECT_DUAL_WIELD || + spellInfo->Effect[3] != SPELL_EFFECT_DUAL_WIELD) + SetCanDualWield(false); + } + // removing WorldPacket data(SMSG_REMOVED_SPELL, 4); data << uint16(spell_id);