diff options
author | Subv <s.v.h21@hotmail.com> | 2012-12-24 10:13:15 -0500 |
---|---|---|
committer | Subv <s.v.h21@hotmail.com> | 2012-12-24 10:13:15 -0500 |
commit | 6e7734c31872142c119199e95a50f845644ccf0c (patch) | |
tree | 3d333ff2b9a411c6116ceebf0b9900d536cfacb6 /src | |
parent | 1d45bc0413ee0adb008ae7c74540150dca48eaf0 (diff) |
Core/Spells: Fixed interrupting of some bosses spells
Diffstat (limited to 'src')
-rw-r--r-- | src/server/game/Miscellaneous/SharedDefines.h | 3 | ||||
-rw-r--r-- | src/server/game/Spells/SpellEffects.cpp | 2 |
2 files changed, 3 insertions, 2 deletions
diff --git a/src/server/game/Miscellaneous/SharedDefines.h b/src/server/game/Miscellaneous/SharedDefines.h index 1056de4e760..4571bc2e099 100644 --- a/src/server/game/Miscellaneous/SharedDefines.h +++ b/src/server/game/Miscellaneous/SharedDefines.h @@ -1644,7 +1644,8 @@ enum SpellPreventionType { SPELL_PREVENTION_TYPE_NONE = 0, SPELL_PREVENTION_TYPE_SILENCE = 1, - SPELL_PREVENTION_TYPE_PACIFY = 2 + SPELL_PREVENTION_TYPE_PACIFY = 2, + SPELL_PREVENTION_TYPE_UNK = 3 // Only a few spells have this, but most of the should be interruptable. }; enum GameobjectTypes diff --git a/src/server/game/Spells/SpellEffects.cpp b/src/server/game/Spells/SpellEffects.cpp index 2bb93b03112..18aae01bf1c 100644 --- a/src/server/game/Spells/SpellEffects.cpp +++ b/src/server/game/Spells/SpellEffects.cpp @@ -3288,7 +3288,7 @@ void Spell::EffectInterruptCast(SpellEffIndex effIndex) // check if we can interrupt spell if ((spell->getState() == SPELL_STATE_CASTING || (spell->getState() == SPELL_STATE_PREPARING && spell->GetCastTime() > 0.0f)) - && curSpellInfo->PreventionType == SPELL_PREVENTION_TYPE_SILENCE + && (curSpellInfo->PreventionType == SPELL_PREVENTION_TYPE_SILENCE || curSpellInfo->PreventionType == SPELL_PREVENTION_TYPE_UNK) && ((i == CURRENT_GENERIC_SPELL && curSpellInfo->InterruptFlags & SPELL_INTERRUPT_FLAG_INTERRUPT) || (i == CURRENT_CHANNELED_SPELL && curSpellInfo->ChannelInterruptFlags & CHANNEL_INTERRUPT_FLAG_INTERRUPT))) { |