diff options
Diffstat (limited to 'src')
-rwxr-xr-x | src/server/game/Entities/Player/Player.cpp | 2 | ||||
-rwxr-xr-x | src/server/game/Spells/Spell.h | 1 | ||||
-rwxr-xr-x | src/server/game/Spells/SpellEffects.cpp | 11 |
3 files changed, 12 insertions, 2 deletions
diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index 35a43b8ab1a..b3f9b351ad7 100755 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -13911,7 +13911,7 @@ void Player::OnGossipSelect(WorldObject* pSource, uint32 gossipListId, uint32 me break; case GOSSIP_OPTION_UNLEARNTALENTS: PlayerTalkClass->CloseGossip(); - SendTalentWipeConfirm(guid); + pSource->ToCreature()->CastSpell(this, 46331, true); // Trainer: Untrain Talents break; case GOSSIP_OPTION_UNLEARNPETTALENTS: PlayerTalkClass->CloseGossip(); diff --git a/src/server/game/Spells/Spell.h b/src/server/game/Spells/Spell.h index 688a661e055..ff6157f7cd5 100755 --- a/src/server/game/Spells/Spell.h +++ b/src/server/game/Spells/Spell.h @@ -319,6 +319,7 @@ class Spell void EffectDualWield(SpellEffIndex effIndex); void EffectPickPocket(SpellEffIndex effIndex); void EffectAddFarsight(SpellEffIndex effIndex); + void EffectUntrainTalents(SpellEffIndex effIndex); void EffectHealMechanical(SpellEffIndex effIndex); void EffectJump(SpellEffIndex effIndex); void EffectJumpDest(SpellEffIndex effIndex); diff --git a/src/server/game/Spells/SpellEffects.cpp b/src/server/game/Spells/SpellEffects.cpp index 03d9fb17dae..de4c91af9b4 100755 --- a/src/server/game/Spells/SpellEffects.cpp +++ b/src/server/game/Spells/SpellEffects.cpp @@ -137,7 +137,7 @@ pEffect SpellEffects[TOTAL_SPELL_EFFECTS]= &Spell::EffectPull, // 70 SPELL_EFFECT_PULL one spell: Distract Move &Spell::EffectPickPocket, // 71 SPELL_EFFECT_PICKPOCKET &Spell::EffectAddFarsight, // 72 SPELL_EFFECT_ADD_FARSIGHT - &Spell::EffectUnused, // 73 SPELL_EFFECT_UNTRAIN_TALENTS + &Spell::EffectUntrainTalents, // 73 SPELL_EFFECT_UNTRAIN_TALENTS &Spell::EffectApplyGlyph, // 74 SPELL_EFFECT_APPLY_GLYPH &Spell::EffectHealMechanical, // 75 SPELL_EFFECT_HEAL_MECHANICAL one spell: Mechanical Patch Kit &Spell::EffectSummonObjectWild, // 76 SPELL_EFFECT_SUMMON_OBJECT_WILD @@ -3314,6 +3314,15 @@ void Spell::EffectAddFarsight(SpellEffIndex effIndex) //m_caster->ToPlayer()->UpdateVisibilityOf(dynObj); } +void Spell::EffectUntrainTalents(SpellEffIndex effIndex) +{ + if (!unitTarget || m_caster->GetTypeId() == TYPEID_PLAYER) + return; + + if (uint64 guid = m_caster->GetGUID()) // the trainer is the caster + unitTarget->ToPlayer()->SendTalentWipeConfirm(guid); +} + void Spell::EffectTeleUnitsFaceCaster(SpellEffIndex effIndex) { if (!unitTarget) |