aboutsummaryrefslogtreecommitdiff
path: root/src/game/SpellAuras.cpp
diff options
context:
space:
mode:
authormegamage <none@none>2008-12-24 21:08:43 -0600
committermegamage <none@none>2008-12-24 21:08:43 -0600
commit65dbb2fa3874a882a1e1a9c595043abd4eadc11a (patch)
tree1c38bd05ec1bf7ce7d18220cdef0f845ca1b5a5c /src/game/SpellAuras.cpp
parent808d79eb297c37a51f4c396152348e422c06d44f (diff)
parentf481c04eac5514c5446a04c982b4318dda62b2c6 (diff)
Merge.
--HG-- branch : trunk
Diffstat (limited to 'src/game/SpellAuras.cpp')
-rw-r--r--src/game/SpellAuras.cpp18
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())