From e54e280e60986291c1ea3b7581aef99c4ed27f0b Mon Sep 17 00:00:00 2001 From: blinkysc <37940565+blinkysc@users.noreply.github.com> Date: Thu, 19 Feb 2026 14:25:06 -0600 Subject: [PATCH] fix(Core/Spells): fix Lock and Load not proccing from Frost Trap (#24762) Co-authored-by: blinkysc --- .../updates/pending_db_world/rev_1771530276818524334.sql | 2 ++ src/server/game/Spells/Spell.cpp | 6 +++++- 2 files changed, 7 insertions(+), 1 deletion(-) create mode 100644 data/sql/updates/pending_db_world/rev_1771530276818524334.sql diff --git a/data/sql/updates/pending_db_world/rev_1771530276818524334.sql b/data/sql/updates/pending_db_world/rev_1771530276818524334.sql new file mode 100644 index 000000000..92d6a5e9e --- /dev/null +++ b/data/sql/updates/pending_db_world/rev_1771530276818524334.sql @@ -0,0 +1,2 @@ +-- Lock and Load (-56342): fix SpellPhaseMask from HIT (2) to FINISH (4) +UPDATE `spell_proc` SET `SpellPhaseMask` = 4 WHERE `SpellId` = -56342; diff --git a/src/server/game/Spells/Spell.cpp b/src/server/game/Spells/Spell.cpp index 768b00405..856eafe78 100644 --- a/src/server/game/Spells/Spell.cpp +++ b/src/server/game/Spells/Spell.cpp @@ -2242,9 +2242,13 @@ void Spell::prepareDataForTriggerSystem(AuraEffect const* /*triggeredByAura*/) if (m_spellInfo->SpellFamilyName == SPELLFAMILY_HUNTER && (m_spellInfo->SpellFamilyFlags[0] & 0x18 || // Freezing and Frost Trap, Freezing Arrow m_spellInfo->Id == 57879 || m_spellInfo->Id == 45145 || // Snake Trap - done this way to avoid double proc - m_spellInfo->SpellFamilyFlags[2] & 0x00064000)) // Explosive and Immolation Trap + m_spellInfo->SpellFamilyFlags[2] & 0x00024000)) // Explosive and Immolation Trap { m_procAttacker |= PROC_FLAG_DONE_TRAP_ACTIVATION; + + // also fill up other flags (TargetInfo::DoDamageAndTriggers only fills up flag if both are not set) + m_procAttacker |= PROC_FLAG_DONE_SPELL_MAGIC_DMG_CLASS_NEG; + m_procVictim |= PROC_FLAG_TAKEN_SPELL_MAGIC_DMG_CLASS_NEG; } /* Effects which are result of aura proc from triggered spell cannot proc