[8213] Update code for talent 17962.

* Fixed place, basic dependent from 2 auras type at target and damage calculation.
* Avoid double apply spell bonus from original effect and talent self.

Signed-off-by: VladimirMangos <vladimir@getmangos.com>

This is first patch in series for resolve all problem suggested by different authors.

Signed-off-by: VladimirMangos <vladimir@getmangos.com>
This commit is contained in:
Ungaminga 2009-07-20 06:11:16 +04:00 committed by VladimirMangos
parent b047a62259
commit eba34304ea
6 changed files with 29 additions and 19 deletions

View file

@ -2346,22 +2346,6 @@ void Spell::cast(bool skipCheck)
break;
}
// Conflagrate - consumes immolate
if ((m_spellInfo->TargetAuraState == AURA_STATE_IMMOLATE) && m_targets.getUnitTarget())
{
// for caster applied auras only
Unit::AuraList const &mPeriodic = m_targets.getUnitTarget()->GetAurasByType(SPELL_AURA_PERIODIC_DAMAGE);
for(Unit::AuraList::const_iterator i = mPeriodic.begin(); i != mPeriodic.end(); ++i)
{
if( (*i)->GetSpellProto()->SpellFamilyName == SPELLFAMILY_WARLOCK && ((*i)->GetSpellProto()->SpellFamilyFlags & 4) &&
(*i)->GetCasterGUID()==m_caster->GetGUID() )
{
m_targets.getUnitTarget()->RemoveAura((*i)->GetId(), (*i)->GetEffIndex());
break;
}
}
}
// traded items have trade slot instead of guid in m_itemTargetGUID
// set to real guid to be sent later to the client
m_targets.updateTradeSlotItem();