What bug does the patch fix? What features does the patch add?
it fixes that the following Spells do not overwrite each other
--Scroll of Intellect, Arcane Intellect and Arcane Brilliance
--Scroll of Stamina, Power Word: Fortitude and Prayer of Fortitude
--Scroll of Spirit, Divine Spirit and Prayer of Spirit
For which repository revision was the patch created?
newest mangos 0.12
Is there a thread in the bug report section or at lighthouse?
many threads
Who has been writing this patch? Please include either forum user names or email addresses.
Me
diff --git a/src/game/SpellMgr.cpp b/src/game/SpellMgr.cpp
index ea7727b..88c1682 100644
--- a/src/game/SpellMgr.cpp
+++ b/src/game/SpellMgr.cpp
@@ -1249,10 +1249,16 @@ bool SpellMgr::IsNoStackSpellDueToSpell(uint32 spellId_1, uint32 spellId_2) cons
break;
}
case SPELLFAMILY_MAGE:
+ {
// Arcane Intellect and Insight
if( spellInfo_2->SpellIconID == 125 && spellInfo_1->Id == 18820 )
return false;
+ //Scroll of Intellect, Arcane Intellect and Arcane Brilliance
+ if(spellInfo_2->SpellIconID == 125 || spellInfo_2->SpellIconID == 1694 &&
+ (spellInfo_1->SpellIconID == 125 && spellInfo_1->SpellVisual == 158 && spellInfo_1->procChance == 101))
+ return true;
break;
+ }
case SPELLFAMILY_WARRIOR:
{
// Scroll of Protection and Defensive Stance (multi-family check)
@@ -1308,12 +1314,32 @@ bool SpellMgr::IsNoStackSpellDueToSpell(uint32 spellId_1, uint32 spellId_2) cons
break;
}
+ case SPELLFAMILY_PRIEST:
+ {
+ //Scroll of Stamina, Power Word: Fortitude and Prayer of Fortitude
+ if(((spellInfo_2->SpellIconID == 685 || spellInfo_2->SpellIconID == 1669) && spellInfo_2->SpellVisual == 278 )
+ && (spellInfo_1->SpellIconID == 312 && spellInfo_1->SpellVisual == 216))
+ return true;
+ //Scroll of Spirit, Divine Spirit and Prayer of Spirit
+ if(((spellInfo_2->SpellIconID == 1879 || spellInfo_2->SpellIconID == 1870) && spellInfo_2->SpellVisual == 193 )
+ && (spellInfo_1->SpellIconID == 208 && spellInfo_1->SpellVisual == 335))
+ return true;
+ break;
+ }
}
// Dragonmaw Illusion, Blood Elf Illusion, Human Illusion, Illidari Agent Illusion, Scarlet Crusade Disguise
if(spellInfo_1->SpellIconID == 1691 && spellInfo_2->SpellIconID == 1691)
return false;
break;
case SPELLFAMILY_MAGE:
+ {
+ if( spellInfo_2->SpellFamilyName == SPELLFAMILY_GENERIC )
+ {
+ //Scroll of Intellect, Arcane Intellect and Arcane Brilliance
+ if (spellInfo_1->SpellIconID == 125 || spellInfo_1->SpellIconID == 1694 &&
+ (spellInfo_2->SpellIconID == 125 && spellInfo_2->SpellVisual == 158 && spellInfo_2->procChance == 101))
+ return true;
+ }
if( spellInfo_2->SpellFamilyName == SPELLFAMILY_MAGE )
{
// Blizzard & Chilled (and some other stacked with blizzard spells
@@ -1339,6 +1365,7 @@ bool SpellMgr::IsNoStackSpellDueToSpell(uint32 spellId_1, uint32 spellId_2) cons
return false;
break;
+ }
case SPELLFAMILY_WARLOCK:
if( spellInfo_2->SpellFamilyName == SPELLFAMILY_WARLOCK )
{
@@ -1395,6 +1422,18 @@ bool SpellMgr::IsNoStackSpellDueToSpell(uint32 spellId_1, uint32 spellId_2) cons
break;
case SPELLFAMILY_PRIEST:
+ {
+ if( spellInfo_2->SpellFamilyName == SPELLFAMILY_GENERIC )
+ {
+ //Scroll of Stamina, Power Word: Fortitude and Prayer of Fortitude
+ if (((spellInfo_1->SpellIconID == 685 || spellInfo_1->SpellIconID == 1669) && spellInfo_1->SpellVisual == 278) &&
+ (spellInfo_2->SpellIconID == 312 && spellInfo_2->SpellVisual == 216))
+ return true;
+ //Scroll of Spirit, Divine Spirit and Prayer of Spirit
+ if (((spellInfo_1->SpellIconID == 1879 || spellInfo_1->SpellIconID == 1870) && spellInfo_1->SpellVisual == 193) &&
+ (spellInfo_2->SpellIconID == 208 && spellInfo_2->SpellVisual == 335))
+ return true;
+ }
if( spellInfo_2->SpellFamilyName == SPELLFAMILY_PRIEST )
{
//Devouring Plague and Shadow Vulnerability
@@ -1408,6 +1447,7 @@ bool SpellMgr::IsNoStackSpellDueToSpell(uint32 spellId_1, uint32 spellId_2) cons
return false;
}
break;
+ }
case SPELLFAMILY_DRUID:
if( spellInfo_2->SpellFamilyName == SPELLFAMILY_DRUID )
{