Jump to content

[fix][8650] Concentration Aura spam


Auntie Mangos

Recommended Posts

What bug does the patch fix? What features does the patch add?

fixes annoying bug with constant aura adding/removing while in party with paladin

For which repository revision was the patch created?

8583

Is there a thread in the bug report section or at lighthouse? If yes, please add a link to the thread.

http://getmangos.eu/community/viewtopic.php?id=9773

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 fa0cff1..6006088 100644
--- a/src/game/SpellMgr.cpp
+++ b/src/game/SpellMgr.cpp
@@ -1579,6 +1579,10 @@ bool SpellMgr::IsNoStackSpellDueToSpell(uint32 spellId_1, uint32 spellId_2) cons
                // Beacon of Light and Light's Beacon
                if ((spellInfo_1->SpellIconID == 3032) && (spellInfo_2->SpellIconID == 3032))
                    return false;
+
+                // Concentration Aura & Improved Concentration Aura
+                if( (spellId_1 == 19746 && spellId_2 == 63510) || (spellId_1 == 63510 && spellId_2 == 19746) )
+                    return false;
            }

            // Combustion and Fire Protection Aura (multi-family check)

don't see a reason why these two auras can't stack - even if their description is the same they do totally different things

Link to comment
Share on other sites

there is a strange piece of code in IsNoStackSpellDueToSpell (SpellMgr.cpp) that seems to be the cause of this and other problems:

...

what its supposed to do? using spellIconID in that way its wrong imho.

http://getmangos.eu/community/viewtopic.php?id=9232

But attempt fix stuck at foun another problems. This thread not good for disscuss this.

Link to comment
Share on other sites

  • 39 years later...

there is a strange piece of code in IsNoStackSpellDueToSpell (SpellMgr.cpp) that seems to be the cause of this and other problems:

if (spellInfo_1->SpellIconID == spellInfo_2->SpellIconID &&
       spellInfo_1->SpellIconID != 0 && spellInfo_2->SpellIconID != 0)
   {
       bool isModifier = false;
       for (int i = 0; i < 3; ++i)
       {
           if (spellInfo_1->EffectApplyAuraName[i] == SPELL_AURA_ADD_FLAT_MODIFIER ||
               spellInfo_1->EffectApplyAuraName[i] == SPELL_AURA_ADD_PCT_MODIFIER  ||
               spellInfo_2->EffectApplyAuraName[i] == SPELL_AURA_ADD_FLAT_MODIFIER ||
               spellInfo_2->EffectApplyAuraName[i] == SPELL_AURA_ADD_PCT_MODIFIER )
               isModifier = true;
       }

       if (!isModifier)
           return true;
   }

what its supposed to do? using spellIconID in that way its wrong imho.

Link to comment
Share on other sites

  • 2 weeks later...
don't see a reason why these two auras can't stack - even if their description is the same they do totally different things
Like checks is temporary fixes for stacking problem that expected in result fixed in some way as suggested in referenced thread in prev. post. In like case better make checks more clear show original source of problem (in most cases SpellIcon value).

With this change in [8650]. Thank you :)

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • 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