Index: src/game/Spell.cpp =================================================================== --- src/game/Spell.cpp (revision 4189) +++ src/game/Spell.cpp (working copy) @@ -2151,9 +2151,23 @@ itemTarget = pItemTarget; gameObjTarget = pGOTarget; - damage = uint32(CalculateDamage((uint8)i)*DamageMultiplier); uint8 eff = m_spellInfo->Effect[i]; + // not call unused damage calculation for aura case + // to prevent reset combo points at calculation needed for correct aura damage calculation + // aura calculate it by self + switch(eff) + { + case SPELL_EFFECT_APPLY_AURA: + case SPELL_EFFECT_APPLY_AURA_NEW: + case SPELL_EFFECT_PERSISTENT_AREA_AURA: + damage = 0; + break; + default: + damage = uint32(CalculateDamage((uint8)i)*DamageMultiplier); + break; + } + sLog.outDebug( "Spell: Effect : %u", eff); if(unitTarget && unitTarget->IsImmunedToSpellEffect(eff)) { Index: src/game/SpellAuras.cpp =================================================================== --- src/game/SpellAuras.cpp (revision 4189) +++ src/game/SpellAuras.cpp (working copy) @@ -310,6 +310,7 @@ if( m_duration != maxduration ) { + //FIXME: is this code dead after change way of combo points storing and work uint8 comboPoints=0; if (caster && caster->GetTypeId() == TYPEID_PLAYER) {