aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xsrc/server/game/Entities/Player/Player.cpp2
-rwxr-xr-xsrc/server/game/Spells/Spell.h1
-rwxr-xr-xsrc/server/game/Spells/SpellEffects.cpp11
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)