diff options
Diffstat (limited to 'src/game/Spell.cpp')
-rw-r--r-- | src/game/Spell.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/game/Spell.cpp b/src/game/Spell.cpp index 92c7e7bd02b..cea7d10735c 100644 --- a/src/game/Spell.cpp +++ b/src/game/Spell.cpp @@ -3027,11 +3027,13 @@ void Spell::handle_immediate() int32 duration = GetSpellDuration(m_spellInfo); if (duration) { - // Apply haste mods - m_caster->ModSpellCastTime(m_spellInfo, duration, this); + // First mod_duration then haste - see Missile Barrage // Apply duration mod if (Player* modOwner = m_caster->GetSpellModOwner()) modOwner->ApplySpellMod(m_spellInfo->Id, SPELLMOD_DURATION, duration); + // Apply haste mods + m_caster->ModSpellCastTime(m_spellInfo, duration, this); + m_spellState = SPELL_STATE_CASTING; m_caster->AddInterruptMask(m_spellInfo->ChannelInterruptFlags); SendChannelStart(duration); |