aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorBlaymoira <none@none>2009-03-01 21:51:38 +0100
committerBlaymoira <none@none>2009-03-01 21:51:38 +0100
commit870fa0bdfae658f68ae69a1a2b99aa84ddd964d7 (patch)
treea7818e4be2ef5494afa2f28387f8361b8e53abc8 /src
parent8ef61f3d401ff65a0080ce4d183eec359f75ede9 (diff)
*Replaced wrong calculation of tickcount in swiftmend with consts - by Anubisss
--HG-- branch : trunk
Diffstat (limited to 'src')
-rw-r--r--src/game/SpellEffects.cpp17
1 files changed, 9 insertions, 8 deletions
diff --git a/src/game/SpellEffects.cpp b/src/game/SpellEffects.cpp
index 91c1bec605e..dbdef569a5c 100644
--- a/src/game/SpellEffects.cpp
+++ b/src/game/SpellEffects.cpp
@@ -2420,13 +2420,6 @@ void Spell::SpellDamageHeal(uint32 /*i*/)
sLog.outError("Target(GUID:" I64FMTD ") has aurastate AURA_STATE_SWIFTMEND but no matching aura.", unitTarget->GetGUID());
return;
}
- int idx = 0;
- while(idx < 3)
- {
- if(targetAura->GetSpellProto()->EffectApplyAuraName[idx] == SPELL_AURA_PERIODIC_HEAL)
- break;
- idx++;
- }
int32 tickheal = targetAura->GetModifierValuePerStack();
if(Unit* auraCaster = targetAura->GetCaster())
@@ -2434,7 +2427,15 @@ void Spell::SpellDamageHeal(uint32 /*i*/)
//int32 tickheal = targetAura->GetSpellProto()->EffectBasePoints[idx] + 1;
//It is said that talent bonus should not be included
//int32 tickheal = targetAura->GetModifierValue();
- int32 tickcount = GetSpellDuration(targetAura->GetSpellProto()) / targetAura->GetSpellProto()->EffectAmplitude[idx];
+ int32 tickcount = 0;
+ if(targetAura->GetSpellProto()->SpellFamilyName == SPELLFAMILY_DRUID)
+ {
+ switch(targetAura->GetSpellProto()->SpellFamilyFlags)//TODO: proper spellfamily for 3.0.x
+ {
+ case 0x10: tickcount = 4; break; // Rejuvenation
+ case 0x40: tickcount = 6; break; // Regrowth
+ }
+ }
addhealth += tickheal * tickcount;
unitTarget->RemoveAurasDueToCasterSpell(targetAura->GetId(), targetAura->GetCasterGUID());