And I forgot to turn on tabs to spaces. Also fixed...
This commit is contained in:
@@ -696,34 +696,34 @@ void SpellMgr::GetSetOfSpellsInSpellGroup(SpellGroup group_id, std::set<uint32>&
|
||||
|
||||
bool SpellMgr::AddSameEffectStackRuleSpellGroups(SpellInfo const* spellInfo, int32 amount, std::map<SpellGroup, int32>& groups) const
|
||||
{
|
||||
uint32 spellId = spellInfo->GetFirstRankSpell()->Id;
|
||||
SpellSpellGroupMapBounds spellGroup = GetSpellSpellGroupMapBounds(spellId);
|
||||
// Find group with SPELL_GROUP_STACK_RULE_EXCLUSIVE_SAME_EFFECT if it belongs to one
|
||||
for (SpellSpellGroupMap::const_iterator itr = spellGroup.first; itr != spellGroup.second ; ++itr)
|
||||
{
|
||||
SpellGroup group = itr->second;
|
||||
SpellGroupStackMap::const_iterator found = mSpellGroupStack.find(group);
|
||||
uint32 spellId = spellInfo->GetFirstRankSpell()->Id;
|
||||
SpellSpellGroupMapBounds spellGroup = GetSpellSpellGroupMapBounds(spellId);
|
||||
// Find group with SPELL_GROUP_STACK_RULE_EXCLUSIVE_SAME_EFFECT if it belongs to one
|
||||
for (SpellSpellGroupMap::const_iterator itr = spellGroup.first; itr != spellGroup.second ; ++itr)
|
||||
{
|
||||
SpellGroup group = itr->second;
|
||||
SpellGroupStackMap::const_iterator found = mSpellGroupStack.find(group);
|
||||
if (found != mSpellGroupStack.end())
|
||||
{
|
||||
if (found->second == SPELL_GROUP_STACK_RULE_EXCLUSIVE_SAME_EFFECT)
|
||||
{
|
||||
// Put the highest amount in the map
|
||||
if (groups.find(group) == groups.end())
|
||||
groups[group] = amount;
|
||||
else
|
||||
{
|
||||
int32 curr_amount = groups[group];
|
||||
// Take absolute value because this also counts for the highest negative aura
|
||||
if (abs(curr_amount) < abs(amount))
|
||||
groups[group] = amount;
|
||||
}
|
||||
// return because a spell should be in only one SPELL_GROUP_STACK_RULE_EXCLUSIVE_SAME_EFFECT group
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
// Not in a SPELL_GROUP_STACK_RULE_EXCLUSIVE_SAME_EFFECT group, so return false
|
||||
return false;
|
||||
{
|
||||
if (found->second == SPELL_GROUP_STACK_RULE_EXCLUSIVE_SAME_EFFECT)
|
||||
{
|
||||
// Put the highest amount in the map
|
||||
if (groups.find(group) == groups.end())
|
||||
groups[group] = amount;
|
||||
else
|
||||
{
|
||||
int32 curr_amount = groups[group];
|
||||
// Take absolute value because this also counts for the highest negative aura
|
||||
if (abs(curr_amount) < abs(amount))
|
||||
groups[group] = amount;
|
||||
}
|
||||
// return because a spell should be in only one SPELL_GROUP_STACK_RULE_EXCLUSIVE_SAME_EFFECT group
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
// Not in a SPELL_GROUP_STACK_RULE_EXCLUSIVE_SAME_EFFECT group, so return false
|
||||
return false;
|
||||
}
|
||||
|
||||
SpellGroupStackRule SpellMgr::CheckSpellGroupStackRules(SpellInfo const* spellInfo1, SpellInfo const* spellInfo2) const
|
||||
@@ -3148,7 +3148,7 @@ void SpellMgr::LoadDbcDataCorrections()
|
||||
case 51726:
|
||||
spellInfo->AttributesEx3 |= SPELL_ATTR3_STACK_FOR_DIFF_CASTERS;
|
||||
spellInfo->SpellFamilyFlags[2] = 0x10;
|
||||
spellInfo->EffectApplyAuraName[1] = SPELL_AURA_MOD_DAMAGE_PERCENT_TAKEN;
|
||||
spellInfo->EffectApplyAuraName[1] = SPELL_AURA_MOD_DAMAGE_PERCENT_TAKEN;
|
||||
break;
|
||||
case 41913: // Parasitic Shadowfiend Passive
|
||||
spellInfo->EffectApplyAuraName[0] = 4; // proc debuff, and summon infinite fiends
|
||||
|
||||
@@ -322,7 +322,7 @@ typedef UNORDERED_MAP<uint32, SpellBonusEntry> SpellBonusMap;
|
||||
|
||||
enum SpellGroup
|
||||
{
|
||||
SPELL_GROUP_NONE = 0,
|
||||
SPELL_GROUP_NONE = 0,
|
||||
SPELL_GROUP_ELIXIR_BATTLE = 1,
|
||||
SPELL_GROUP_ELIXIR_GUARDIAN = 2,
|
||||
SPELL_GROUP_ELIXIR_UNSTABLE = 3,
|
||||
@@ -345,7 +345,7 @@ enum SpellGroupStackRule
|
||||
SPELL_GROUP_STACK_RULE_DEFAULT = 0,
|
||||
SPELL_GROUP_STACK_RULE_EXCLUSIVE = 1,
|
||||
SPELL_GROUP_STACK_RULE_EXCLUSIVE_FROM_SAME_CASTER = 2,
|
||||
SPELL_GROUP_STACK_RULE_EXCLUSIVE_SAME_EFFECT = 3,
|
||||
SPELL_GROUP_STACK_RULE_EXCLUSIVE_SAME_EFFECT = 3,
|
||||
};
|
||||
#define SPELL_GROUP_STACK_RULE_MAX 4
|
||||
|
||||
@@ -598,7 +598,7 @@ class SpellMgr
|
||||
void GetSetOfSpellsInSpellGroup(SpellGroup group_id, std::set<uint32>& foundSpells, std::set<SpellGroup>& usedGroups) const;
|
||||
|
||||
// Spell Group Stack Rules table
|
||||
bool AddSameEffectStackRuleSpellGroups(SpellInfo const* spellInfo, int32 amount, std::map<SpellGroup, int32>& groups) const;
|
||||
bool AddSameEffectStackRuleSpellGroups(SpellInfo const* spellInfo, int32 amount, std::map<SpellGroup, int32>& groups) const;
|
||||
SpellGroupStackRule CheckSpellGroupStackRules(SpellInfo const* spellInfo1, SpellInfo const* spellInfo2) const;
|
||||
|
||||
// Spell proc event table
|
||||
|
||||
Reference in New Issue
Block a user