aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Spells/SpellMgr.cpp
diff options
context:
space:
mode:
authorQAston <none@none>2010-08-26 19:07:55 +0200
committerQAston <none@none>2010-08-26 19:07:55 +0200
commit30d31ca40a8d524d01d6472dff2fb96b53d92507 (patch)
treee245bb6e61f67ec91c2766618e41bb7cbefc31d4 /src/server/game/Spells/SpellMgr.cpp
parent3c027962ba861076932792c0714d3dbbb37c9c14 (diff)
*Fix usage of EffectValueMultiplier in spell code.
*Remove some obsolete code from spell class. *Rename some spellmod and dbc column names to be more accurate. --HG-- branch : trunk
Diffstat (limited to 'src/server/game/Spells/SpellMgr.cpp')
-rw-r--r--src/server/game/Spells/SpellMgr.cpp20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/server/game/Spells/SpellMgr.cpp b/src/server/game/Spells/SpellMgr.cpp
index c45af051af5..01cb2d6d243 100644
--- a/src/server/game/Spells/SpellMgr.cpp
+++ b/src/server/game/Spells/SpellMgr.cpp
@@ -1896,6 +1896,26 @@ int32 SpellMgr::CalculateSpellEffectBaseAmount(int32 value, SpellEntry const * s
return value - 1;
}
+float SpellMgr::CalculateSpellEffectValueMultiplier(SpellEntry const * spellEntry, uint8 effIndex, Unit * caster, Spell const * spell)
+{
+ float multiplier = spellEntry->EffectValueMultiplier[effIndex];
+
+ if (caster)
+ if (Player * modOwner = caster->GetSpellModOwner())
+ modOwner->ApplySpellMod(spellEntry->Id, SPELLMOD_VALUE_MULTIPLIER, multiplier);
+ return multiplier;
+}
+
+float SpellMgr::CalculateSpellEffectDamageMultiplier(SpellEntry const * spellEntry, uint8 effIndex, Unit * caster, Spell const * spell)
+{
+ float multiplier = spellEntry->EffectDamageMultiplier[effIndex];
+
+ if (caster)
+ if (Player * modOwner = caster->GetSpellModOwner())
+ modOwner->ApplySpellMod(spellEntry->Id, SPELLMOD_DAMAGE_MULTIPLIER, multiplier);
+ return multiplier;
+}
+
SpellEntry const* SpellMgr::SelectAuraRankForPlayerLevel(SpellEntry const* spellInfo, uint32 playerLevel) const
{
// ignore passive spells