diff options
-rw-r--r-- | src/server/game/Entities/Player/Player.cpp | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index 9c63c2f73c8..3470e55b8cd 100644 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -3536,6 +3536,15 @@ void Player::learnSpell(uint32 spell_id, bool dependent) bool learning = addSpell(spell_id,active,true,dependent,false); + // prevent duplicated entires in spell book, also not send if not in world (loading) + if (learning || IsInWorld()) + { + WorldPacket data(SMSG_LEARNED_SPELL, 6); + data << uint32(spell_id); + data << uint16(0); + GetSession()->SendPacket(&data); + } + // learn all disabled higher ranks and required spells (recursive) if (disabled) { @@ -3555,15 +3564,6 @@ void Player::learnSpell(uint32 spell_id, bool dependent) learnSpell(itr2->second, false); } } - - // prevent duplicated entires in spell book, also not send if not in world (loading) - if (!learning || !IsInWorld()) - return; - - WorldPacket data(SMSG_LEARNED_SPELL, 6); - data << uint32(spell_id); - data << uint16(0); - GetSession()->SendPacket(&data); } void Player::removeSpell(uint32 spell_id, bool disabled, bool learn_low_rank) |