aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/game/Spell.cpp2
-rw-r--r--src/game/SpellAuras.cpp7
-rw-r--r--src/game/Unit.cpp10
3 files changed, 7 insertions, 12 deletions
diff --git a/src/game/Spell.cpp b/src/game/Spell.cpp
index 34f52daa974..294d016e33d 100644
--- a/src/game/Spell.cpp
+++ b/src/game/Spell.cpp
@@ -3381,7 +3381,7 @@ void Spell::TakeRunePower()
}
// you can gain some runic power when use runes
- float rp = src->runePowerGain;;
+ float rp = src->runePowerGain;
rp *= sWorld.getRate(RATE_POWER_RUNICPOWER_INCOME);
plr->ModifyPower(POWER_RUNIC_POWER, (int32)rp);
}
diff --git a/src/game/SpellAuras.cpp b/src/game/SpellAuras.cpp
index efca1bdc600..ff818b7dbc8 100644
--- a/src/game/SpellAuras.cpp
+++ b/src/game/SpellAuras.cpp
@@ -433,7 +433,12 @@ m_updated(false), m_isRemovedOnShapeLost(true), m_in_use(false)
sLog.outDebug("Aura: construct Spellid : %u, Aura : %u Duration : %d Target : %d Damage : %d", m_spellProto->Id, m_spellProto->EffectApplyAuraName[eff], m_maxduration, m_spellProto->EffectImplicitTargetA[eff],damage);
m_effIndex = eff;
- SetModifier(AuraType(m_spellProto->EffectApplyAuraName[eff]), damage, m_spellProto->EffectAmplitude[eff], m_spellProto->EffectMiscValue[eff]);
+ int32 periodicTime = m_spellProto->EffectAmplitude[eff];
+ //apply casting time mods for channeled spells
+ if (caster && IsChanneledSpell(m_spellProto))
+ caster->ModSpellCastTime(m_spellProto, periodicTime);
+
+ SetModifier(AuraType(m_spellProto->EffectApplyAuraName[eff]), damage,periodicTime , m_spellProto->EffectMiscValue[eff]);
// Apply periodic time mod
if(modOwner && m_modifier.periodictime)
diff --git a/src/game/Unit.cpp b/src/game/Unit.cpp
index d91a6bf83e6..303270ee8fe 100644
--- a/src/game/Unit.cpp
+++ b/src/game/Unit.cpp
@@ -8715,16 +8715,11 @@ uint32 Unit::SpellDamageBonus(Unit *pVictim, SpellEntry const *spellProto, uint3
{
// Damage Done from spell damage bonus
int32 CastingTime = !IsChanneledSpell(spellProto) ? GetSpellCastTime(spellProto) : GetSpellDuration(spellProto);
- if (IsChanneledSpell(spellProto))
- ModSpellCastTime(spellProto, CastingTime);
// Damage over Time spells bonus calculation
float DotFactor = 1.0f;
if(damagetype == DOT)
{
int32 DotDuration = GetSpellDuration(spellProto);
- //apply casting time mods for channeled spells
- if (IsChanneledSpell(spellProto))
- ModSpellCastTime(spellProto, DotDuration);
// 200% limit
if(DotDuration > 0)
{
@@ -9211,16 +9206,11 @@ uint32 Unit::SpellHealingBonus(Unit *pVictim, SpellEntry const *spellProto, uint
{
// Damage Done from spell damage bonus
int32 CastingTime = !IsChanneledSpell(spellProto) ? GetSpellCastTime(spellProto) : GetSpellDuration(spellProto);
- if (IsChanneledSpell(spellProto))
- ModSpellCastTime(spellProto, CastingTime);
// Damage over Time spells bonus calculation
float DotFactor = 1.0f;
if(damagetype == DOT)
{
int32 DotDuration = GetSpellDuration(spellProto);
- //apply casting time mods for channeled spells
- if (IsChanneledSpell(spellProto))
- ModSpellCastTime(spellProto, DotDuration);
// 200% limit
if(DotDuration > 0)
{