From b6add13f9e69048aa2e812a1f9920bbc3a069f26 Mon Sep 17 00:00:00 2001 From: _manuel_ Date: Sun, 23 May 2010 22:17:01 -0300 Subject: [PATCH] Fixed checks for Disarm Trap, thanks to Spp. --HG-- branch : trunk --- src/game/Spell.cpp | 3 ++- src/game/SpellEffects.cpp | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/game/Spell.cpp b/src/game/Spell.cpp index c54bba6b86..5b60e58b49 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 0c779050db..81a01592ec 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;