[8161] Partial revert and fix of my prev. commit in Aura::SetStackAmount

* Aura should be refreshed also when stackAmount == m_stackAmount
  this fixing problem that aura not refreshed if you have already full stack
  and cast "stack spell" again on target

Thanks Corfen for problem reporting and testing

Signed-off-by: ApoC <apoc@nymfe.net>
This commit is contained in:
ApoC 2009-07-11 18:11:06 +02:00
parent aed2a9f9b3
commit 45eda48693
2 changed files with 12 additions and 13 deletions

View file

@ -1178,24 +1178,23 @@ void Aura::SendAuraUpdate(bool remove)
void Aura::SetStackAmount(uint8 stackAmount)
{
if (stackAmount == m_stackAmount)
// Nothing changed
return;
Unit *target = GetTarget();
Unit *caster = GetCaster();
if (!target || !caster)
return;
bool refresh = stackAmount > m_stackAmount;
m_stackAmount = stackAmount;
int32 amount = m_stackAmount * caster->CalculateSpellDamage(m_spellProto, m_effIndex, m_currentBasePoints, target);
// Reapply if amount change
if (amount!=m_modifier.m_amount)
bool refresh = stackAmount >= m_stackAmount;
if (stackAmount != m_stackAmount)
{
ApplyModifier(false, true);
m_modifier.m_amount = amount;
ApplyModifier(true, true);
m_stackAmount = stackAmount;
int32 amount = m_stackAmount * caster->CalculateSpellDamage(m_spellProto, m_effIndex, m_currentBasePoints, target);
// Reapply if amount change
if (amount!=m_modifier.m_amount)
{
ApplyModifier(false, true);
m_modifier.m_amount = amount;
ApplyModifier(true, true);
}
}
if (refresh)

View file

@ -1,4 +1,4 @@
#ifndef __REVISION_NR_H__
#define __REVISION_NR_H__
#define REVISION_NR "8160"
#define REVISION_NR "8161"
#endif // __REVISION_NR_H__