diff options
-rw-r--r-- | sql/updates/6539_world_spell_proc_event.sql | 2 | ||||
-rw-r--r-- | src/game/Spell.cpp | 2 | ||||
-rw-r--r-- | src/game/Unit.cpp | 3 |
3 files changed, 6 insertions, 1 deletions
diff --git a/sql/updates/6539_world_spell_proc_event.sql b/sql/updates/6539_world_spell_proc_event.sql new file mode 100644 index 00000000000..a1d9d179a8f --- /dev/null +++ b/sql/updates/6539_world_spell_proc_event.sql @@ -0,0 +1,2 @@ +-- Fixed Ruthlessness proc from Envenom +UPDATE spell_proc_event SET spellFamilyMask1 = 8 WHERE entry IN (14156, 14160, 14161);
\ No newline at end of file diff --git a/src/game/Spell.cpp b/src/game/Spell.cpp index e06f4cbfe9f..20c4bd379d9 100644 --- a/src/game/Spell.cpp +++ b/src/game/Spell.cpp @@ -2935,7 +2935,7 @@ void Spell::cast(bool skipCheck) } // Okay, everything is prepared. Now we need to distinguish between immediate and evented delayed spells - if (m_spellInfo->speed > 0.0f && !IsChanneledSpell(m_spellInfo)) + if (m_spellInfo->speed > 0.0f && !IsChanneledSpell(m_spellInfo) || m_spellInfo->Id == 14157) { // Remove used for cast item if need (it can be already NULL after TakeReagents call // in case delayed spell remove item at cast delay start diff --git a/src/game/Unit.cpp b/src/game/Unit.cpp index 935bd136724..74580d45f9b 100644 --- a/src/game/Unit.cpp +++ b/src/game/Unit.cpp @@ -7769,6 +7769,9 @@ bool Unit::HandleProcTriggerSpell(Unit *pVictim, uint32 damage, AuraEffect* trig case 14189: // Seal Fate (Netherblade set) case 14157: // Ruthlessness { + if (!pVictim || pVictim == this) + return false; + // Need add combopoint AFTER finish movie (or they dropped in finish phase) break; } |