[7156] More generic periodic aura work

Implement SPELL_AURA_PERIODIC_HEALTH_FUNNEL
Apply SPELL_AURA_PERIODIC_HEALTH_FUNNEL mod to aura periodic time
Add support SPELL_ATTR_EX5_START_PERIODIC_AT_APPLY flag
Apply duration mod to channeling spells
Fix mage 44401 and correct drop its charge

Signed-off-by: DiSlord <dislord@nomail.com>
This commit is contained in:
DiSlord 2009-01-23 22:08:58 +03:00
parent fbe212d359
commit 3f4821acfb
8 changed files with 143 additions and 229 deletions

View file

@ -2263,6 +2263,9 @@ void Spell::handle_immediate()
int32 duration = GetSpellDuration(m_spellInfo);
if (duration)
{
// Apply duration mod
if(Player* modOwner = m_caster->GetSpellModOwner())
modOwner->ApplySpellMod(m_spellInfo->Id, SPELLMOD_DURATION, duration);
m_spellState = SPELL_STATE_CASTING;
SendChannelStart(duration);
}