[9355] Spell 50464 bonuses dependent from amount HoT types at target, not stack size of this HoTs.

Thanks to LordJZ for research.
This commit is contained in:
VladimirMangos 2010-02-11 01:27:06 +03:00
parent 0f7f7c5ada
commit 6f2bd19b43
2 changed files with 5 additions and 5 deletions

View file

@ -9437,13 +9437,13 @@ uint32 Unit::SpellHealingBonus(Unit *pVictim, SpellEntry const *spellProto, uint
{
int32 stepPercent = (*i)->GetModifier()->m_amount;
int ownHotCount = 0;
int ownHotCount = 0; // counted HoT types amount, not stacks
Unit::AuraList const& RejorRegr = pVictim->GetAurasByType(SPELL_AURA_PERIODIC_HEAL);
for(Unit::AuraList::const_iterator i = RejorRegr.begin(); i != RejorRegr.end(); ++i)
if ((*i)->GetSpellProto()->SpellFamilyName == SPELLFAMILY_DRUID &&
(*i)->GetCasterGUID() == GetGUID())
ownHotCount += (*i)->GetStackAmount();
++ownHotCount;
if (ownHotCount)
TakenTotalMod *= (stepPercent * ownHotCount + 100.0f) / 100.0f;
@ -9539,12 +9539,12 @@ uint32 Unit::SpellHealingBonus(Unit *pVictim, SpellEntry const *spellProto, uint
// Nourish 20% of heal increase if target is affected by Druids HOTs
else if (spellProto->SpellFamilyName == SPELLFAMILY_DRUID && (spellProto->SpellFamilyFlags & UI64LIT(0x0200000000000000)))
{
int ownHotCount = 0;
int ownHotCount = 0; // counted HoT types amount, not stacks
Unit::AuraList const& RejorRegr = pVictim->GetAurasByType(SPELL_AURA_PERIODIC_HEAL);
for(Unit::AuraList::const_iterator i = RejorRegr.begin(); i != RejorRegr.end(); ++i)
if ((*i)->GetSpellProto()->SpellFamilyName == SPELLFAMILY_DRUID &&
(*i)->GetCasterGUID() == GetGUID())
ownHotCount += (*i)->GetStackAmount();
++ownHotCount;
if (ownHotCount)
{