diff options
author | QAston <none@none> | 2009-05-03 16:55:09 +0200 |
---|---|---|
committer | QAston <none@none> | 2009-05-03 16:55:09 +0200 |
commit | f9b13b45e09e06ce2400c5e93a97ac2459d7159c (patch) | |
tree | 023080c95306487d6acbc92f2d036e38bbe5b42c /src/game/SpellMgr.cpp | |
parent | b5b5eeb81501e64f3fec867b527306580509a32d (diff) |
*Fix grounding totem.
*Fix runic power regeneration of butchery
*Fix some problems with master of subtlety buff expire.
*Do not allow arcane intellect and brillance to stack.
--HG--
branch : trunk
Diffstat (limited to 'src/game/SpellMgr.cpp')
-rw-r--r-- | src/game/SpellMgr.cpp | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/src/game/SpellMgr.cpp b/src/game/SpellMgr.cpp index 5b8a35cd577..31195f67bca 100644 --- a/src/game/SpellMgr.cpp +++ b/src/game/SpellMgr.cpp @@ -365,6 +365,10 @@ SpellSpecific GetSpellSpecific(uint32 spellId) if (spellInfo->SpellFamilyFlags[0] & 0x12040000) return SPELL_MAGE_ARMOR; + // Arcane brillance and Arcane intelect (normal check fails because of flags difference) + if (spellInfo->SpellFamilyFlags[0] & 0x400) + return SPELL_MAGE_ARCANE_BRILLANCE; + if ((spellInfo->SpellFamilyFlags[0] & 0x1000000) && spellInfo->EffectApplyAuraName[0]==SPELL_AURA_MOD_CONFUSE) return SPELL_MAGE_POLYMORPH; @@ -498,6 +502,7 @@ bool IsSingleFromSpellSpecificPerTarget(uint32 spellSpec1,uint32 spellSpec2) case SPELL_FOOD: case SPELL_CHARM: case SPELL_SCROLL: + case SPELL_MAGE_ARCANE_BRILLANCE: return spellSpec1==spellSpec2; case SPELL_BATTLE_ELIXIR: return spellSpec2==SPELL_BATTLE_ELIXIR @@ -1462,6 +1467,8 @@ bool SpellMgr::IsNoStackSpellDueToSpell(uint32 spellId_1, uint32 spellId_2, bool { if (spellInfo_1->SpellFamilyFlags != spellInfo_2->SpellFamilyFlags) return false; + if (!spellInfo_1->SpellFamilyFlags) + return false; } //use data of highest rank spell(needed for spells which ranks have different effects) @@ -1471,9 +1478,6 @@ bool SpellMgr::IsNoStackSpellDueToSpell(uint32 spellId_1, uint32 spellId_2, bool //if spells have exactly the same effect they cannot stack for(uint32 i = 0; i < 3; ++i) if(spellInfo_1->Effect[i] != spellInfo_2->Effect[i] - // Allow dummy auras stack (needed by 31666 and 58428) - || spellInfo_1->EffectApplyAuraName[i] == SPELL_AURA_DUMMY - || spellInfo_1->EffectApplyAuraName[i] == SPELL_AURA_PERIODIC_DUMMY || spellInfo_1->EffectApplyAuraName[i] != spellInfo_2->EffectApplyAuraName[i] || spellInfo_1->EffectMiscValue[i] != spellInfo_2->EffectMiscValue[i]) // paladin resist aura return false; // need itemtype check? need an example to add that check |