From 99f86343610f9b109474aff18e43121cfcdf53e1 Mon Sep 17 00:00:00 2001 From: Skjalf <47818697+Nyeriah@users.noreply.github.com> Date: Mon, 4 Oct 2021 10:45:06 -0300 Subject: [PATCH] fix(Core/Spells): basepoints of spell 'Pick Lock' being wrongly added to player's lockpicking skill when evaluating if a lock can be opened (#8072) --- src/server/game/Spells/Spell.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/server/game/Spells/Spell.cpp b/src/server/game/Spells/Spell.cpp index bc5fc8ad9..898cc31cb 100644 --- a/src/server/game/Spells/Spell.cpp +++ b/src/server/game/Spells/Spell.cpp @@ -7832,8 +7832,11 @@ SpellCastResult Spell::CanOpenLock(uint32 effIndex, uint32 lockId, SkillType& sk // skill bonus provided by casting spell (mostly item spells) // add the effect base points modifier from the spell casted (cheat lock / skeleton key etc.) - if (m_spellInfo->Effects[effIndex].TargetA.GetTarget() == TARGET_GAMEOBJECT_ITEM_TARGET || m_spellInfo->Effects[effIndex].TargetB.GetTarget() == TARGET_GAMEOBJECT_ITEM_TARGET) + if ((m_spellInfo->Effects[effIndex].TargetA.GetTarget() == TARGET_GAMEOBJECT_ITEM_TARGET || m_spellInfo->Effects[effIndex].TargetB.GetTarget() == TARGET_GAMEOBJECT_ITEM_TARGET) + && !m_spellInfo->IsAbilityOfSkillType(SKILL_LOCKPICKING)) + { skillValue += m_spellInfo->Effects[effIndex].CalcValue(); + } if (skillValue < reqSkillValue) return SPELL_FAILED_LOW_CASTLEVEL;