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