diff options
| author | megamage <none@none> | 2008-12-24 21:08:43 -0600 |
|---|---|---|
| committer | megamage <none@none> | 2008-12-24 21:08:43 -0600 |
| commit | 65dbb2fa3874a882a1e1a9c595043abd4eadc11a (patch) | |
| tree | 1c38bd05ec1bf7ce7d18220cdef0f845ca1b5a5c /src/game/SpellAuras.cpp | |
| parent | 808d79eb297c37a51f4c396152348e422c06d44f (diff) | |
| parent | f481c04eac5514c5446a04c982b4318dda62b2c6 (diff) | |
Merge.
--HG--
branch : trunk
Diffstat (limited to 'src/game/SpellAuras.cpp')
| -rw-r--r-- | src/game/SpellAuras.cpp | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/src/game/SpellAuras.cpp b/src/game/SpellAuras.cpp index 23a649042c8..541613ed2bb 100644 --- a/src/game/SpellAuras.cpp +++ b/src/game/SpellAuras.cpp @@ -353,14 +353,26 @@ m_periodicTimer(0), m_PeriodicEventId(0), m_AuraDRGroup(DIMINISHING_NONE) m_spellProto = spellproto; - m_currentBasePoints = currentBasePoints ? *currentBasePoints : m_spellProto->EffectBasePoints[eff]; + int32 damage; + if(currentBasePoints) + { + damage = *currentBasePoints; + m_currentBasePoints = damage - 1; + } + else + { + m_currentBasePoints = m_spellProto->EffectBasePoints[eff]; + if(caster) + damage = caster->CalculateSpellDamage(m_spellProto, m_effIndex, m_currentBasePoints, target); + else + damage = m_currentBasePoints + 1; + } m_isPassive = IsPassiveSpell(GetId()); m_positive = IsPositiveEffect(GetId(), m_effIndex); m_applyTime = time(NULL); - int32 damage; if(!caster) { m_caster_guid = target->GetGUID(); @@ -371,7 +383,7 @@ m_periodicTimer(0), m_PeriodicEventId(0), m_AuraDRGroup(DIMINISHING_NONE) { m_caster_guid = caster->GetGUID(); - damage = caster->CalculateSpellDamage(m_spellProto,m_effIndex,m_currentBasePoints,target); + //damage = caster->CalculateSpellDamage(m_spellProto,m_effIndex,m_currentBasePoints,target); m_maxduration = caster->CalculateSpellDuration(m_spellProto, m_effIndex, target); if (!damage && castItem && castItem->GetItemSuffixFactor()) |
