diff --git a/src/game/SpellMgr.cpp b/src/game/SpellMgr.cpp index b1d4cb649..74cc8f1f8 100644 --- a/src/game/SpellMgr.cpp +++ b/src/game/SpellMgr.cpp @@ -1685,6 +1685,9 @@ bool SpellMgr::IsNoStackSpellDueToSpell(uint32 spellId_1, uint32 spellId_2) cons if ((spellInfo_1->SpellIconID == 1487) && (spellInfo_2->SpellIconID == 1487)) return false; + // Seal of Corruption (caster/target parts stacking allow, other stacking checked by spell specs) + if (spellInfo_1->SpellIconID == 2292 && spellInfo_2->SpellIconID == 2292) + return false; } // Blessing of Sanctuary (multi-family check, some from 16 spell icon spells) diff --git a/src/game/Unit.cpp b/src/game/Unit.cpp index 98c4f9432..cac656672 100644 --- a/src/game/Unit.cpp +++ b/src/game/Unit.cpp @@ -6128,9 +6128,11 @@ bool Unit::HandleDummyAuraProc(Unit *pVictim, uint32 damage, Aura* triggeredByAu if(effIndex != 0) // effect 1,2 used by seal unleashing code return false; - triggered_spell_id = 31803; + // At melee attack or Hammer of the Righteous spell damage considered as melee attack + if ((procFlag & PROC_FLAG_SUCCESSFUL_MELEE_HIT) || (procSpell && procSpell->Id == 53595) ) + triggered_spell_id = 31803; // Holy Vengeance - // Add 5-stack effect + // Add 5-stack effect from Holy Vengeance int8 stacks = 0; AuraList const& auras = target->GetAurasByType(SPELL_AURA_PERIODIC_DAMAGE); for(AuraList::const_iterator itr = auras.begin(); itr!=auras.end(); ++itr) @@ -6228,9 +6230,11 @@ bool Unit::HandleDummyAuraProc(Unit *pVictim, uint32 damage, Aura* triggeredByAu if(effIndex != 0) // effect 1,2 used by seal unleashing code return false; - triggered_spell_id = 53742; + // At melee attack or Hammer of the Righteous spell damage considered as melee attack + if ((procFlag & PROC_FLAG_SUCCESSFUL_MELEE_HIT) || (procSpell && procSpell->Id == 53595)) + triggered_spell_id = 53742; // Blood Corruption - // Add 5-stack effect + // Add 5-stack effect from Blood Corruption int8 stacks = 0; AuraList const& auras = target->GetAurasByType(SPELL_AURA_PERIODIC_DAMAGE); for(AuraList::const_iterator itr = auras.begin(); itr!=auras.end(); ++itr) diff --git a/src/shared/revision_nr.h b/src/shared/revision_nr.h index 9593f2d0e..58dd490d5 100644 --- a/src/shared/revision_nr.h +++ b/src/shared/revision_nr.h @@ -1,4 +1,4 @@ #ifndef __REVISION_NR_H__ #define __REVISION_NR_H__ - #define REVISION_NR "9150" + #define REVISION_NR "9151" #endif // __REVISION_NR_H__