aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/game/Spell.cpp3
-rw-r--r--src/game/SpellEffects.cpp2
2 files changed, 3 insertions, 2 deletions
diff --git a/src/game/Spell.cpp b/src/game/Spell.cpp
index c54bba6b867..5b60e58b49f 100644
--- a/src/game/Spell.cpp
+++ b/src/game/Spell.cpp
@@ -5071,7 +5071,8 @@ SpellCastResult Spell::CheckCast(bool strict)
(!m_targets.getItemTarget() || !m_targets.getItemTarget()->GetProto()->LockID || m_targets.getItemTarget()->GetOwner() != m_caster))
return SPELL_FAILED_BAD_TARGETS;
- if (m_spellInfo->Id != 1842 && m_targets.getGOTarget() && m_targets.getGOTarget()->GetGOInfo()->type != GAMEOBJECT_TYPE_TRAP) // disarm trap should not be affected
+ if (m_spellInfo->Id != 1842 || m_targets.getGOTarget() &&
+ m_targets.getGOTarget()->GetGOInfo()->type != GAMEOBJECT_TYPE_TRAP)
if (m_caster->ToPlayer()->InBattleGround() && // In BattleGround players can use only flags and banners
!m_caster->ToPlayer()->CanUseBattleGroundObject())
return SPELL_FAILED_TRY_AGAIN;
diff --git a/src/game/SpellEffects.cpp b/src/game/SpellEffects.cpp
index 0c779050db0..81a01592eca 100644
--- a/src/game/SpellEffects.cpp
+++ b/src/game/SpellEffects.cpp
@@ -3398,7 +3398,7 @@ void Spell::EffectOpenLock(uint32 effIndex)
bg->EventPlayerClickedOnFlag(player, gameObjTarget);
return;
}
- }else if (gameObjTarget->GetGOInfo()->type == GAMEOBJECT_TYPE_TRAP && gameObjTarget->GetOwner())
+ }else if (m_spellInfo->Id == 1842 && gameObjTarget->GetGOInfo()->type == GAMEOBJECT_TYPE_TRAP && gameObjTarget->GetOwner())
{
gameObjTarget->SetLootState(GO_JUST_DEACTIVATED);
return;