* Remove some old checks in aura stacking and change default stack rule to true

* Add stacking rules for Mark/Gift of the Wild, Power Word/Prayer of Fortitude, Prayer of/Shadow protection
NOTE: Although highly unlikely, this *might* cause some stacking problems until we properly define rest of the stacking rules in spell_group, so report any stacking issues
* Some missing lads from THANKS file

--HG--
branch : trunk
This commit is contained in:
Shocker
2010-08-24 14:38:00 +03:00
parent eedce26148
commit c728681422
5 changed files with 26 additions and 31 deletions
+1 -28
View File
@@ -3168,34 +3168,7 @@ bool SpellMgr::CanAurasStack(SpellEntry const *spellInfo_1, SpellEntry const *sp
return false;
}
// use icon to check generic spells
if (!spellInfo_1->SpellFamilyName)
{
if (!spellInfo_1->SpellIconID || spellInfo_1->SpellIconID == 1
|| spellInfo_1->SpellIconID != spellInfo_2->SpellIconID)
return true;
}
// use familyflag to check class spells
else
{
if (!spellInfo_1->SpellFamilyFlags
|| spellInfo_1->SpellFamilyFlags != spellInfo_2->SpellFamilyFlags)
return true;
}
//use data of highest rank spell(needed for spells which ranks have different effects)
spellInfo_1 = sSpellStore.LookupEntry(spellId_1);
spellInfo_2 = sSpellStore.LookupEntry(spellId_2);
//if spells do not have the same effect or aura or miscvalue, they will stack
for (uint32 i = 0; i < MAX_SPELL_EFFECTS; ++i)
if (spellInfo_1->Effect[i] != spellInfo_2->Effect[i]
|| spellInfo_1->EffectApplyAuraName[i] != spellInfo_2->EffectApplyAuraName[i]
|| spellInfo_1->EffectMiscValue[i] != spellInfo_2->EffectMiscValue[i]) // paladin resist aura
return true; // need itemtype check? need an example to add that check
// different spells with same effect
return false;
return true;
}
bool CanSpellDispelAura(SpellEntry const * dispelSpell, SpellEntry const * aura)