Fixed checks for Disarm Trap, thanks to Spp.

--HG--
branch : trunk
This commit is contained in:
_manuel_
2010-05-23 22:17:01 -03:00
parent 8460168e5f
commit b6add13f9e
2 changed files with 3 additions and 2 deletions
+2 -1
View File
@@ -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;
+1 -1
View File
@@ -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;