diff options
Diffstat (limited to 'src/game/SpellAuras.cpp')
-rw-r--r-- | src/game/SpellAuras.cpp | 28 |
1 files changed, 1 insertions, 27 deletions
diff --git a/src/game/SpellAuras.cpp b/src/game/SpellAuras.cpp index 31132246e3f..5cecf67d401 100644 --- a/src/game/SpellAuras.cpp +++ b/src/game/SpellAuras.cpp @@ -471,37 +471,11 @@ PersistentAreaAura::~PersistentAreaAura() { } -SingleEnemyTargetAura::SingleEnemyTargetAura(SpellEntry const* spellproto, uint32 eff, int32 *currentBasePoints, Unit *target, -Unit *caster, Item* castItem) : Aura(spellproto, eff, currentBasePoints, target, caster, castItem) -{ - if (caster) - m_casters_target_guid = caster->GetTypeId()==TYPEID_PLAYER ? ((Player*)caster)->GetSelection() : caster->GetUInt64Value(UNIT_FIELD_TARGET); - else - m_casters_target_guid = 0; -} - -SingleEnemyTargetAura::~SingleEnemyTargetAura() -{ -} - -Unit* SingleEnemyTargetAura::GetTriggerTarget() const -{ - return ObjectAccessor::GetUnit(*m_target, m_casters_target_guid); -} - Aura* CreateAura(SpellEntry const* spellproto, uint32 eff, int32 *currentBasePoints, Unit *target, Unit *caster, Item* castItem) { if (IsAreaAuraEffect(spellproto->Effect[eff])) return new AreaAura(spellproto, eff, currentBasePoints, target, caster, castItem); - uint32 triggeredSpellId = spellproto->EffectTriggerSpell[eff]; - - SpellEntry const* triggredSpellInfo = sSpellStore.LookupEntry(triggeredSpellId); - if (triggredSpellInfo) - for (int i = 0; i < 3; ++i) - if (triggredSpellInfo->EffectImplicitTargetA[i] == TARGET_SINGLE_ENEMY) - return new SingleEnemyTargetAura(spellproto, eff, currentBasePoints, target, caster, castItem); - return new Aura(spellproto, eff, currentBasePoints, target, caster, castItem); } @@ -1907,7 +1881,7 @@ void Aura::TriggerSpell() } } // All ok cast by default case - Spell *spell = new Spell(caster, triggredSpellInfo, true, originalCasterGUID ); + Spell *spell = new Spell(m_target, triggredSpellInfo, true, originalCasterGUID ); SpellCastTargets targets; targets.setUnitTarget( target ); |