aboutsummaryrefslogtreecommitdiff
path: root/src/game/Spell.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/game/Spell.cpp')
-rw-r--r--src/game/Spell.cpp6
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);