diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/server/game/Entities/Player/Player.cpp | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index a36ac7b266d..533bc3c0bb9 100644 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -26460,7 +26460,7 @@ void Player::SendTalentsInfoData() groupInfo.Talents.push_back({ pair.first, pair.second.Rank }); } - for (uint32 glyph : GetGlyphs(activeGroup)) + for (uint32 glyph : GetGlyphs(i)) groupInfo.GlyphIDs.push_back(glyph); } @@ -27085,7 +27085,12 @@ void Player::ActivateTalentGroup(uint8 talentGroup) ApplyTraitConfig(m_activePlayerData->ActiveCombatTraitConfigID, false); for (uint32 glyphId : GetGlyphs(GetActiveTalentGroup())) + { + if (!glyphId) + continue; + RemoveAurasDueToSpell(sGlyphPropertiesStore.AssertEntry(glyphId)->SpellID); + } SetActiveTalentGroup(talentGroup); SetPrimarySpecialization(0); @@ -27124,7 +27129,12 @@ void Player::ActivateTalentGroup(uint8 talentGroup) SetVisibleItemSlot(i, equippedItem); for (uint32 glyphId : GetGlyphs(talentGroup)) + { + if (!glyphId) + continue; + CastSpell(this, sGlyphPropertiesStore.AssertEntry(glyphId)->SpellID, true); + } Unit::AuraEffectList const& shapeshiftAuras = GetAuraEffectsByType(SPELL_AURA_MOD_SHAPESHIFT); for (AuraEffect* aurEff : shapeshiftAuras) |