Jump to content

[Fix]buff-problem with " scrolls of ... "


Recommended Posts

Posted

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 )
            {

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. Privacy Policy Terms of Use