aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMachiavelli <none@none>2010-11-09 11:15:00 +0100
committerMachiavelli <none@none>2010-11-09 11:15:00 +0100
commitddc812163a808e0bf44143586f96cbda21b0f60d (patch)
tree95bac3da667ee5797c204d4cab68ed0ca3025aa5
parent8862663df00b6ea539195d0d6a63dd66908e32c2 (diff)
Core/Spells: Fix Shield of Righteousness damage
Author: Dr.Tenma Fixes issue #4174 --HG-- branch : trunk
-rw-r--r--sql/base/world_database.sql1
-rw-r--r--sql/updates/10392_world_spell_bonus_data.sql3
-rwxr-xr-xsrc/server/game/Spells/SpellEffects.cpp8
3 files changed, 9 insertions, 3 deletions
diff --git a/sql/base/world_database.sql b/sql/base/world_database.sql
index 09c86e55816..5c6865b0ed0 100644
--- a/sql/base/world_database.sql
+++ b/sql/base/world_database.sql
@@ -16981,6 +16981,7 @@ INSERT INTO `spell_bonus_data` (`entry`,`direct_bonus`,`dot_bonus`,`ap_bonus`,`a
(25742, 0.07, -1, 0.039, -1, 'Paladin - Seal of Righteousness Dummy Proc'),
(53719, 0, 0, 0, 0, 'Paladin - Seal of the Martyr Proc Enemy'),
(53718, 0, 0, 0, 0, 'Paladin - Seal of the Martyr Proc Self'),
+(53600, 0, 0, 0, 0 ,'Paladin - Shield of Righteousness'),
(20267, 0, 0, 0, 0, 'Paladin - Judgement of Light Proc'),
(25997, 0, 0, 0, 0, 'Paladin - Eye for an Eye'),
(50256, -1, -1, 0.08, -1, 'Pet Skills - Bear (Swipe)'),
diff --git a/sql/updates/10392_world_spell_bonus_data.sql b/sql/updates/10392_world_spell_bonus_data.sql
new file mode 100644
index 00000000000..3a808bddf13
--- /dev/null
+++ b/sql/updates/10392_world_spell_bonus_data.sql
@@ -0,0 +1,3 @@
+DELETE FROM `spell_bonus_data` WHERE `entry` = 53600;
+INSERT INTO `spell_bonus_data` (`entry`, `direct_bonus`, `dot_bonus`, `ap_bonus`, `ap_dot_bonus`, `comments`) VALUES
+(53600, 0, 0, 0, 0 ,'Paladin - Shield of Righteousness'); \ No newline at end of file
diff --git a/src/server/game/Spells/SpellEffects.cpp b/src/server/game/Spells/SpellEffects.cpp
index 318516513ff..12a8a27c836 100755
--- a/src/server/game/Spells/SpellEffects.cpp
+++ b/src/server/game/Spells/SpellEffects.cpp
@@ -732,13 +732,15 @@ void Spell::SpellDamageSchoolDmg(SpellEffIndex effIndex)
{
// Add main hand dps * effect[2] amount
float average = (m_caster->GetFloatValue(UNIT_FIELD_MINDAMAGE) + m_caster->GetFloatValue(UNIT_FIELD_MAXDAMAGE)) / 2;
- int32 count = m_caster->CalculateSpellDamage(unitTarget, m_spellInfo, 2);
+ int32 count = m_caster->CalculateSpellDamage(unitTarget, m_spellInfo, EFFECT_2);
damage += count * int32(average * IN_MILLISECONDS) / m_caster->GetAttackTime(BASE_ATTACK);
+ break;
}
// Shield of Righteousness
- else if (m_spellInfo->SpellFamilyFlags[1]&0x00100000)
+ if (m_spellInfo->SpellFamilyFlags[EFFECT_1] & 0x100000)
{
- damage += int32(m_caster->GetShieldBlockValue() * 1.3f);
+ damage += m_caster->GetShieldBlockValue() * SpellMgr::CalculateSpellEffectAmount(m_spellInfo, EFFECT_1) / 100;
+ break;
}
break;
}