From 3e184ac8bf2e18bda49a1acbaa714df50bb5ecba Mon Sep 17 00:00:00 2001 From: VladimirMangos Date: Tue, 12 Jan 2010 00:13:21 +0300 Subject: [PATCH] [9148] Revert "[9042] Remove double apply bonuses for spell 635/31935 and ranks" * This reverts commit 2157bc1b2fb064bd6bf0dfa5b4152d13760450c5. * And drop DB bonus data. Thanks to MrLama and pasdVn for reseach problem. --- sql/mangos.sql | 4 +--- sql/updates/9148_01_mangos_spell_bonus_data.sql | 3 +++ sql/updates/Makefile.am | 2 ++ src/game/SpellEffects.cpp | 16 ++++++++++++++++ src/shared/revision_nr.h | 2 +- src/shared/revision_sql.h | 2 +- 6 files changed, 24 insertions(+), 5 deletions(-) create mode 100644 sql/updates/9148_01_mangos_spell_bonus_data.sql diff --git a/sql/mangos.sql b/sql/mangos.sql index 031c73cdd23..0633c4d4497 100644 --- a/sql/mangos.sql +++ b/sql/mangos.sql @@ -24,7 +24,7 @@ CREATE TABLE `db_version` ( `version` varchar(120) default NULL, `creature_ai_version` varchar(120) default NULL, `cache_id` int(10) default '0', - `required_9136_06_mangos_spell_proc_event` bit(1) default NULL + `required_9148_01_mangos_spell_bonus_data` bit(1) default NULL ) ENGINE=MyISAM DEFAULT CHARSET=utf8 ROW_FORMAT=FIXED COMMENT='Used DB version notes'; -- @@ -14119,14 +14119,12 @@ INSERT INTO `spell_bonus_data` VALUES (11366, 1.15, 0.05, 0, 'Mage - Pyroblast'), (2948, 0.4286, 0, 0, 'Mage - Scorch'), /* Paladin */ -(31935, 0.07, 0, 0.07, 'Paladin - Avengers Shiled'), (53742, 0, 0.0156, 0.03, 'Paladin - Blood Corruption'), (26573, 0, 0.04, 0.04, 'Paladin - Consecration'), (879, 0.15, 0, 0.15, 'Paladin - Exorcism'), (25997, 0, 0, 0, 'Paladin - Eye for an Eye'), (19750, 1, 0, 0, 'Paladin - Flash of Light'), (53595, 0, 0, 0, 'Paladin - Hammer of the Righteous'), -(24275, 0.15, 0, 0.15, 'Paladin - Hammer of Wrath'), (635, 1.66, 0, 0, 'Paladin - Holy Light'), (25912, 0.4286, 0, 0, 'Paladin - Holy Shock Triggered Hurt'), (20925, 0.09, 0, 0.056, 'Paladin - Holy Shield'), diff --git a/sql/updates/9148_01_mangos_spell_bonus_data.sql b/sql/updates/9148_01_mangos_spell_bonus_data.sql new file mode 100644 index 00000000000..326a0346664 --- /dev/null +++ b/sql/updates/9148_01_mangos_spell_bonus_data.sql @@ -0,0 +1,3 @@ +ALTER TABLE db_version CHANGE COLUMN required_9136_06_mangos_spell_proc_event required_9148_01_mangos_spell_bonus_data bit; + +DELETE FROM spell_bonus_data WHERE entry IN (31935,24275); diff --git a/sql/updates/Makefile.am b/sql/updates/Makefile.am index 186898fa3d1..83b001d1e87 100644 --- a/sql/updates/Makefile.am +++ b/sql/updates/Makefile.am @@ -235,6 +235,7 @@ pkgdata_DATA = \ 9136_05_mangos_spell_bonus_data.sql \ 9136_06_mangos_spell_proc_event.sql \ 9136_07_characters_characters.sql \ + 9148_01_mangos_spell_bonus_data.sql \ README ## Additional files to include when running 'make dist' @@ -450,4 +451,5 @@ EXTRA_DIST = \ 9136_05_mangos_spell_bonus_data.sql \ 9136_06_mangos_spell_proc_event.sql \ 9136_07_characters_characters.sql \ + 9148_01_mangos_spell_bonus_data.sql \ README diff --git a/src/game/SpellEffects.cpp b/src/game/SpellEffects.cpp index 37e02dd14b3..9b45208df45 100644 --- a/src/game/SpellEffects.cpp +++ b/src/game/SpellEffects.cpp @@ -668,6 +668,22 @@ void Spell::EffectSchoolDMG(uint32 effect_idx) if(stacks) damage += damage * stacks * 10 /100; } + // Avenger's Shield ($m1+0.07*$SPH+0.07*$AP) - ranged sdb for future + else if (m_spellInfo->SpellFamilyFlags & UI64LIT(0x0000000000004000)) + { + float ap = m_caster->GetTotalAttackPowerValue(BASE_ATTACK); + int32 holy = m_caster->SpellBaseDamageBonus(GetSpellSchoolMask(m_spellInfo)) + + m_caster->SpellBaseDamageBonusForVictim(GetSpellSchoolMask(m_spellInfo), unitTarget); + damage += int32(ap * 0.07f) + int32(holy * 7 / 100); + } + // Hammer of Wrath ($m1+0.15*$SPH+0.15*$AP) - ranged type sdb future fix + else if (m_spellInfo->SpellFamilyFlags & UI64LIT(0x0000008000000000)) + { + float ap = m_caster->GetTotalAttackPowerValue(BASE_ATTACK); + int32 holy = m_caster->SpellBaseDamageBonus(GetSpellSchoolMask(m_spellInfo)) + + m_caster->SpellBaseDamageBonusForVictim(GetSpellSchoolMask(m_spellInfo), unitTarget); + damage += int32(ap * 0.15f) + int32(holy * 15 / 100); + } // Hammer of the Righteous else if (m_spellInfo->SpellFamilyFlags & UI64LIT(0x0004000000000000)) { diff --git a/src/shared/revision_nr.h b/src/shared/revision_nr.h index a4c996ae601..fe2c3b0900d 100644 --- a/src/shared/revision_nr.h +++ b/src/shared/revision_nr.h @@ -1,4 +1,4 @@ #ifndef __REVISION_NR_H__ #define __REVISION_NR_H__ - #define REVISION_NR "9147" + #define REVISION_NR "9148" #endif // __REVISION_NR_H__ diff --git a/src/shared/revision_sql.h b/src/shared/revision_sql.h index 82778dd4598..06dbbf62825 100644 --- a/src/shared/revision_sql.h +++ b/src/shared/revision_sql.h @@ -1,6 +1,6 @@ #ifndef __REVISION_SQL_H__ #define __REVISION_SQL_H__ #define REVISION_DB_CHARACTERS "required_9136_07_characters_characters" - #define REVISION_DB_MANGOS "required_9136_06_mangos_spell_proc_event" + #define REVISION_DB_MANGOS "required_9148_01_mangos_spell_bonus_data" #define REVISION_DB_REALMD "required_9010_01_realmd_realmlist" #endif // __REVISION_SQL_H__