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.cpp8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/game/Spell.cpp b/src/game/Spell.cpp
index 533c2ed8822..4b608a8e1e7 100644
--- a/src/game/Spell.cpp
+++ b/src/game/Spell.cpp
@@ -5071,10 +5071,10 @@ SpellCastResult Spell::CheckCast(bool strict)
(!m_targets.getItemTarget() || !m_targets.getItemTarget()->GetProto()->LockID || m_targets.getItemTarget()->GetOwner() != m_caster))
return SPELL_FAILED_BAD_TARGETS;
- // In BattleGround players can use only flags and banners
- if (m_caster->ToPlayer()->InBattleGround() &&
- !m_caster->ToPlayer()->CanUseBattleGroundObject())
- return SPELL_FAILED_TRY_AGAIN;
+ if (m_spellInfo->Id != 1842 && m_targets.getGOTarget() && m_targets.getGOTarget()->GetGOInfo()->type != GAMEOBJECT_TYPE_TRAP) // disarm trap should not be affected
+ if (m_caster->ToPlayer()->InBattleGround() && // In BattleGround players can use only flags and banners
+ !m_caster->ToPlayer()->CanUseBattleGroundObject())
+ return SPELL_FAILED_TRY_AGAIN;
// get the lock entry
uint32 lockId = 0;