From 5e2c6e6b861bd1c559bf2579b83bf4893d68bec1 Mon Sep 17 00:00:00 2001 From: VladimirMangos Date: Fri, 11 Dec 2009 15:10:28 +0300 Subject: [PATCH] [8969] Ignore in stacking check pure dummy spells. One more hacks to SpellMgr::IsNoStackSpellDueToSpell This fix for example 53601 with 20911 stacking. --- src/game/SpellMgr.cpp | 9 +++++++++ src/shared/revision_nr.h | 2 +- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/src/game/SpellMgr.cpp b/src/game/SpellMgr.cpp index 15b16d51c..363385e12 100644 --- a/src/game/SpellMgr.cpp +++ b/src/game/SpellMgr.cpp @@ -1722,13 +1722,22 @@ bool SpellMgr::IsNoStackSpellDueToSpell(uint32 spellId_1, uint32 spellId_2) cons if (spellInfo_1->SpellFamilyName != spellInfo_2->SpellFamilyName) return false; + bool dummy_only = true; for (int i = 0; i < 3; ++i) + { if (spellInfo_1->Effect[i] != spellInfo_2->Effect[i] || spellInfo_1->EffectItemType[i] != spellInfo_2->EffectItemType[i] || spellInfo_1->EffectMiscValue[i] != spellInfo_2->EffectMiscValue[i] || spellInfo_1->EffectApplyAuraName[i] != spellInfo_2->EffectApplyAuraName[i]) return false; + // ignore dummy only spells + if(spellInfo_1->Effect[i] && spellInfo_1->Effect[i] != SPELL_EFFECT_DUMMY && spellInfo_1->EffectApplyAuraName[i] != SPELL_AURA_DUMMY) + dummy_only = false; + } + if (dummy_only) + return false; + return true; } diff --git a/src/shared/revision_nr.h b/src/shared/revision_nr.h index 9cf4f2bc5..c6bac02f9 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 "8968" + #define REVISION_NR "8969" #endif // __REVISION_NR_H__