aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
author_manuel_ <manue.l@live.com.ar>2010-05-23 18:06:22 -0300
committer_manuel_ <manue.l@live.com.ar>2010-05-23 18:06:22 -0300
commit83afcd906117e69caa669a9d3df4abfded565b5e (patch)
treed5f0d1f9dcfed4fe0011e66b7e281e95314ffe6b /src
parent37e6aa3634f3fdc70416cb379ab94eb64d40e0bc (diff)
Disarm Trap now can be used in BattleGrounds and Arenas.
--HG-- branch : trunk
Diffstat (limited to 'src')
-rw-r--r--src/game/Spell.cpp8
-rw-r--r--src/game/SpellEffects.cpp3
2 files changed, 6 insertions, 5 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;
diff --git a/src/game/SpellEffects.cpp b/src/game/SpellEffects.cpp
index 205daffb8e3..294d7ee8aa7 100644
--- a/src/game/SpellEffects.cpp
+++ b/src/game/SpellEffects.cpp
@@ -3400,7 +3400,8 @@ void Spell::EffectOpenLock(uint32 effIndex)
}
}else if (gameObjTarget->GetGOInfo()->type == GAMEOBJECT_TYPE_TRAP && gameObjTarget->GetOwner())
{
- gameObjTarget->SetLootState(GO_JUST_DEACTIVATED);
+ gameObjTarget->SetLootState(GO_JUST_DEACTIVATED);
+ return;
}
// TODO: Add script for spell 41920 - Filling, becouse server it freze when use this spell
// handle outdoor pvp object opening, return true if go was registered for handling