diff --git a/src/game/SharedDefines.h b/src/game/SharedDefines.h index d1d792f2b..2a047d913 100644 --- a/src/game/SharedDefines.h +++ b/src/game/SharedDefines.h @@ -623,7 +623,7 @@ enum SpellEffects SPELL_EFFECT_KILL_CREDIT = 90, SPELL_EFFECT_THREAT_ALL = 91, SPELL_EFFECT_ENCHANT_HELD_ITEM = 92, - SPELL_EFFECT_93 = 93, // old SPELL_EFFECT_SUMMON_PHANTASM + SPELL_EFFECT_BREAK_PLAYER_TARGETING = 93, SPELL_EFFECT_SELF_RESURRECT = 94, SPELL_EFFECT_SKINNING = 95, SPELL_EFFECT_CHARGE = 96, diff --git a/src/game/Spell.cpp b/src/game/Spell.cpp index 2f217b615..30e7d3b68 100644 --- a/src/game/Spell.cpp +++ b/src/game/Spell.cpp @@ -2426,6 +2426,7 @@ void Spell::SetTargetMap(SpellEffectIndex effIndex, uint32 targetMode, UnitList& case SPELL_EFFECT_ADD_FARSIGHT: case SPELL_EFFECT_APPLY_GLYPH: case SPELL_EFFECT_STUCK: + case SPELL_EFFECT_BREAK_PLAYER_TARGETING: case SPELL_EFFECT_SUMMON_ALL_TOTEMS: case SPELL_EFFECT_FEED_PET: case SPELL_EFFECT_DESTROY_ALL_TOTEMS: diff --git a/src/game/Spell.h b/src/game/Spell.h index c9f394923..739b32ec2 100644 --- a/src/game/Spell.h +++ b/src/game/Spell.h @@ -332,6 +332,7 @@ class Spell void EffectDispelMechanic(SpellEffectIndex eff_idx); void EffectSummonDeadPet(SpellEffectIndex eff_idx); void EffectSummonAllTotems(SpellEffectIndex eff_idx); + void EffectBreakPlayerTargeting (SpellEffectIndex eff_idx); void EffectDestroyAllTotems(SpellEffectIndex eff_idx); void EffectDurabilityDamage(SpellEffectIndex eff_idx); void EffectSkill(SpellEffectIndex eff_idx); diff --git a/src/game/SpellEffects.cpp b/src/game/SpellEffects.cpp index 2e05a9c18..da4ee5509 100644 --- a/src/game/SpellEffects.cpp +++ b/src/game/SpellEffects.cpp @@ -153,7 +153,7 @@ pEffect SpellEffects[TOTAL_SPELL_EFFECTS]= &Spell::EffectKillCreditPersonal, // 90 SPELL_EFFECT_KILL_CREDIT Kill credit but only for single person &Spell::EffectUnused, // 91 SPELL_EFFECT_THREAT_ALL one spell: zzOLDBrainwash &Spell::EffectEnchantHeldItem, // 92 SPELL_EFFECT_ENCHANT_HELD_ITEM - &Spell::EffectUnused, // 93 SPELL_EFFECT_93 (old SPELL_EFFECT_SUMMON_PHANTASM) + &Spell::EffectBreakPlayerTargeting, // 93 SPELL_EFFECT_BREAK_PLAYER_TARGETING &Spell::EffectSelfResurrect, // 94 SPELL_EFFECT_SELF_RESURRECT &Spell::EffectSkinning, // 95 SPELL_EFFECT_SKINNING &Spell::EffectCharge, // 96 SPELL_EFFECT_CHARGE @@ -7196,6 +7196,16 @@ void Spell::EffectDestroyAllTotems(SpellEffectIndex /*eff_idx*/) m_caster->CastCustomSpell(m_caster, 39104, &mana, NULL, NULL, true); } +void Spell::EffectBreakPlayerTargeting (SpellEffectIndex /* eff_idx */) +{ + if (!unitTarget) + return; + + WorldPacket data(SMSG_CLEAR_TARGET, 8); + data << unitTarget->GetObjectGuid(); + unitTarget->SendMessageToSet(&data, false); +} + void Spell::EffectDurabilityDamage(SpellEffectIndex eff_idx) { if(!unitTarget || unitTarget->GetTypeId() != TYPEID_PLAYER) diff --git a/src/shared/revision_nr.h b/src/shared/revision_nr.h index 86946743a..4aebcc2bd 100644 --- a/src/shared/revision_nr.h +++ b/src/shared/revision_nr.h @@ -1,4 +1,4 @@ #ifndef __REVISION_NR_H__ #define __REVISION_NR_H__ - #define REVISION_NR "9862" + #define REVISION_NR "9863" #endif // __REVISION_NR_H__