diff options
| -rw-r--r-- | sql/base/world_database.sql | 1 | ||||
| -rw-r--r-- | sql/updates/10392_world_spell_bonus_data.sql | 3 | ||||
| -rwxr-xr-x | src/server/game/Spells/SpellEffects.cpp | 8 | 
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;              }  | 
