diff options
| author | Shauren <none@none> | 2010-07-21 12:14:23 +0200 |
|---|---|---|
| committer | Shauren <none@none> | 2010-07-21 12:14:23 +0200 |
| commit | 6a539270ec9447b19c9a08d8f4d867cdc9208a0c (patch) | |
| tree | 205a0ba10028f12e90bcc0695ccb6612e2c52317 /src/server/game/Spells/Spell.cpp | |
| parent | 0bda7fd36112c47e073411ba10653d35c052b205 (diff) | |
Added global disable system and moved all disable fields/tables/configs into it
NOTE: instance disables were not converted for new system! if you had some then you need to fix that using new system
--HG--
branch : trunk
Diffstat (limited to 'src/server/game/Spells/Spell.cpp')
| -rw-r--r-- | src/server/game/Spells/Spell.cpp | 30 |
1 files changed, 6 insertions, 24 deletions
diff --git a/src/server/game/Spells/Spell.cpp b/src/server/game/Spells/Spell.cpp index 052c829676b..28248b97c96 100644 --- a/src/server/game/Spells/Spell.cpp +++ b/src/server/game/Spells/Spell.cpp @@ -51,6 +51,7 @@ #include "SpellAuraEffects.h" #include "ScriptMgr.h" #include "ConditionMgr.h" +#include "DisableMgr.h" #define SPELL_CHANNEL_UPDATE_INTERVAL (1 * IN_MILLISECONDS) @@ -2740,31 +2741,12 @@ void Spell::prepare(SpellCastTargets const* targets, AuraEffect const * triggere finish(false); return; } - if (m_caster->GetTypeId() == TYPEID_PLAYER) - { - if (objmgr.IsPlayerSpellDisabled(m_spellInfo->Id)) - { - SendCastResult(SPELL_FAILED_SPELL_UNAVAILABLE); - finish(false); - return; - } - } - else if (m_caster->GetTypeId() == TYPEID_UNIT && m_caster->ToCreature()->isPet()) - { - if (objmgr.IsPetSpellDisabled(m_spellInfo->Id)) - { - SendCastResult(SPELL_FAILED_SPELL_UNAVAILABLE); - finish(false); - return; - } - } - else + + if (sDisableMgr.IsDisabledFor(DISABLE_TYPE_SPELL, m_spellInfo->Id, m_caster)) { - if (objmgr.IsCreatureSpellDisabled(m_spellInfo->Id)) - { - finish(false); - return; - } + SendCastResult(SPELL_FAILED_SPELL_UNAVAILABLE); + finish(false); + return; } if (m_caster->GetTypeId() == TYPEID_PLAYER) |
