diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/game/Spell.cpp | 2 | ||||
-rw-r--r-- | src/game/SpellMgr.cpp | 13 | ||||
-rw-r--r-- | src/game/SpellMgr.h | 1 |
3 files changed, 11 insertions, 5 deletions
diff --git a/src/game/Spell.cpp b/src/game/Spell.cpp index 33467e75ad6..7aeb0159e9d 100644 --- a/src/game/Spell.cpp +++ b/src/game/Spell.cpp @@ -420,6 +420,8 @@ void Spell::FillTargetMap() if(effectTargetType != SPELL_REQUIRE_UNIT) { + if(effectTargetType == SPELL_REQUIRE_CASTER) + AddUnitTarget(m_caster, i); if(effectTargetType == SPELL_REQUIRE_DEST) { if(m_targets.HasDest() && m_spellInfo->speed > 0.0f) diff --git a/src/game/SpellMgr.cpp b/src/game/SpellMgr.cpp index 6f6cb7e8d65..e67030b77f2 100644 --- a/src/game/SpellMgr.cpp +++ b/src/game/SpellMgr.cpp @@ -64,11 +64,6 @@ SpellMgr::SpellMgr() //case SPELL_EFFECT_LEARN_SPELL: // 0 may be 5 pet case SPELL_EFFECT_TRADE_SKILL: // 0 or 1 case SPELL_EFFECT_PROFICIENCY: // 0 - case SPELL_EFFECT_APPLY_AREA_AURA_PARTY: - case SPELL_EFFECT_APPLY_AREA_AURA_FRIEND: - case SPELL_EFFECT_APPLY_AREA_AURA_ENEMY: - case SPELL_EFFECT_APPLY_AREA_AURA_PET: - case SPELL_EFFECT_APPLY_AREA_AURA_OWNER: EffectTargetType[i] = SPELL_REQUIRE_NONE; break; case SPELL_EFFECT_ENCHANT_ITEM: @@ -78,6 +73,14 @@ SpellMgr::SpellMgr() case SPELL_EFFECT_PROSPECTING: EffectTargetType[i] = SPELL_REQUIRE_ITEM; break; + //caster must be pushed otherwise no sound + case SPELL_EFFECT_APPLY_AREA_AURA_PARTY: + case SPELL_EFFECT_APPLY_AREA_AURA_FRIEND: + case SPELL_EFFECT_APPLY_AREA_AURA_ENEMY: + case SPELL_EFFECT_APPLY_AREA_AURA_PET: + case SPELL_EFFECT_APPLY_AREA_AURA_OWNER: + EffectTargetType[i] = SPELL_REQUIRE_CASTER; + break; default: EffectTargetType[i] = SPELL_REQUIRE_UNIT; break; diff --git a/src/game/SpellMgr.h b/src/game/SpellMgr.h index 716760a70c6..ef5e8379341 100644 --- a/src/game/SpellMgr.h +++ b/src/game/SpellMgr.h @@ -239,6 +239,7 @@ enum SpellEffectTargetTypes SPELL_REQUIRE_UNIT, SPELL_REQUIRE_DEST, SPELL_REQUIRE_ITEM, + SPELL_REQUIRE_CASTER, }; enum SpellSelectTargetTypes |