mirror of
https://github.com/araxiaonline/TrinityCore.git
synced 2026-06-15 20:52:22 -04:00
Core/Spells: Allow more aura types to use spell_group_stack_rules data.
This commit is contained in:
@@ -4305,11 +4305,16 @@ uint32 Unit::GetDoTsByCaster(uint64 casterGUID) const
|
||||
|
||||
int32 Unit::GetTotalAuraModifier(AuraType auratype) const
|
||||
{
|
||||
std::map<SpellGroup, int32> SameEffectSpellGroup;
|
||||
int32 modifier = 0;
|
||||
|
||||
AuraEffectList const& mTotalAuraList = GetAuraEffectsByType(auratype);
|
||||
for (AuraEffectList::const_iterator i = mTotalAuraList.begin(); i != mTotalAuraList.end(); ++i)
|
||||
modifier += (*i)->GetAmount();
|
||||
if (!sSpellMgr->AddSameEffectStackRuleSpellGroups((*i)->GetSpellInfo(), (*i)->GetAmount(), SameEffectSpellGroup))
|
||||
modifier += (*i)->GetAmount();
|
||||
|
||||
for (std::map<SpellGroup, int32>::const_iterator itr = SameEffectSpellGroup.begin(); itr != SameEffectSpellGroup.end(); ++itr)
|
||||
modifier += itr->second;
|
||||
|
||||
return modifier;
|
||||
}
|
||||
@@ -4353,14 +4358,19 @@ int32 Unit::GetMaxNegativeAuraModifier(AuraType auratype) const
|
||||
|
||||
int32 Unit::GetTotalAuraModifierByMiscMask(AuraType auratype, uint32 misc_mask) const
|
||||
{
|
||||
std::map<SpellGroup, int32> SameEffectSpellGroup;
|
||||
int32 modifier = 0;
|
||||
|
||||
AuraEffectList const& mTotalAuraList = GetAuraEffectsByType(auratype);
|
||||
|
||||
for (AuraEffectList::const_iterator i = mTotalAuraList.begin(); i != mTotalAuraList.end(); ++i)
|
||||
{
|
||||
if ((*i)->GetMiscValue()& misc_mask)
|
||||
modifier += (*i)->GetAmount();
|
||||
}
|
||||
if ((*i)->GetMiscValue() & misc_mask)
|
||||
if (!sSpellMgr->AddSameEffectStackRuleSpellGroups((*i)->GetSpellInfo(), (*i)->GetAmount(), SameEffectSpellGroup))
|
||||
modifier += (*i)->GetAmount();
|
||||
|
||||
for (std::map<SpellGroup, int32>::const_iterator itr = SameEffectSpellGroup.begin(); itr != SameEffectSpellGroup.end(); ++itr)
|
||||
modifier += itr->second;
|
||||
|
||||
return modifier;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user