Исправляет таланты и подобные ауры, понижающие время длительности прерывающих эффектов (например Антимагия)
Автор: я
Код:
diff --git a/src/game/SpellEffects.cpp b/src/game/SpellEffects.cpp
index 9346ad7..e2ff807 100644
--- a/src/game/SpellEffects.cpp
+++ b/src/game/SpellEffects.cpp
@@ -4972,7 +4972,7 @@ void Spell::EffectHealMaxHealth(SpellEffectIndex /*eff_idx*/)
m_healing += heal;
}
-void Spell::EffectInterruptCast(SpellEffectIndex /*eff_idx*/)
+void Spell::EffectInterruptCast(SpellEffectIndex eff_idx)
{
if(!unitTarget)
return;
@@ -4989,7 +4989,7 @@ void Spell::EffectInterruptCast(SpellEffectIndex /*eff_idx*/)
// check if we can interrupt spell
if ((curSpellInfo->InterruptFlags & SPELL_INTERRUPT_FLAG_INTERRUPT) && curSpellInfo->PreventionType == SPELL_PREVENTION_TYPE_SILENCE )
{
- unitTarget->ProhibitSpellSchool(GetSpellSchoolMask(curSpellInfo), GetSpellDuration(m_spellInfo));
+ unitTarget->ProhibitSpellSchool(GetSpellSchoolMask(curSpellInfo), unitTarget->CalculateSpellDuration(m_spellInfo, eff_idx, unitTarget));
unitTarget->InterruptSpell(CurrentSpellTypes(i),false);
}
}